unofficial mirror of libc-alpha@sourceware.org
 help / color / mirror / Atom feed
From: Alejandro Colomar <alx@kernel.org>
To: libc-alpha@sourceware.org, libbsd@lists.freedesktop.org
Cc: "Serge E. Hallyn" <serge@hallyn.com>,
	"Skyler Ferrante (RIT Student)" <sjf5462@rit.edu>,
	Iker Pedrosa <ipedrosa@redhat.com>,
	Christian Brauner <christian@brauner.io>,
	shadow <~hallyn/shadow@lists.sr.ht>
Subject: Tweaking the program name for <err.h> functions
Date: Thu, 7 Mar 2024 23:24:32 +0100	[thread overview]
Message-ID: <Zeo-oJOyN9YQXVb1@debian> (raw)

[-- Attachment #1: Type: text/plain, Size: 1406 bytes --]

Hi,

I'm interested in knowing if the <err.h> functions have a supported way
of tweaking the prefix they print.

GNU's similar <error.h> functions support changing

	extern char *program_invocation_name;

for that, as per the error(3) manual page:

     The  program  name  printed by error() is the value of the global
     variable   program_invocation_name(3).    program_invocation_name
     initially  has  the same value as main()’s argv[0].  The value of
     this variable can be modified to change the output of error().


I have experimented with err(3), and it seems you can tweak it by
modifying 'program_invocation_short_name', but I'd like to know if
that's supported and/or portable.  I guess that since the pointer is a
GNU extension, while the functions come from the BSDs, that's not
portable, and thus not supported.

Maybe it would be interesting to get the BSDs to support these pointers?

The rationale is that the user controls argv[0], which might be
problematic in some cases --think of setuid programs-- where a user
could write arbitrary text to fd 2, which might be opened as a
privileged file.

In such programs, you likely want to hardcode that prefix, with
something like

	program_invocation_short_name = "su";

Have a lovely day!
Alex

-- 
<https://www.alejandro-colomar.es/>
Looking for a remote C programming job at the moment.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

             reply	other threads:[~2024-03-07 22:25 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-03-07 22:24 Alejandro Colomar [this message]
2024-03-08  0:30 ` Tweaking the program name for <err.h> functions Guillem Jover
2024-03-08  0:47   ` enh
2024-03-08  0:52   ` Alejandro Colomar
2024-03-09 15:02     ` [musl] " Rich Felker
2024-03-09 15:49       ` Alejandro Colomar
2024-03-09 18:35         ` Andreas Schwab
2024-03-09 18:46           ` Alejandro Colomar
2024-03-09 19:18             ` [musl] " Markus Wichmann
2024-03-09 19:25             ` Rich Felker
2024-03-09 21:44         ` Thorsten Glaser
2024-03-10  6:01         ` NRK
2024-03-10 13:17           ` Alejandro Colomar
2024-03-10 14:01             ` NRK
2024-03-10 19:39               ` Rich Felker
2024-03-10 22:25                 ` Alejandro Colomar
2024-03-10 23:22                 ` Thorsten Glaser
2024-03-10 23:44                   ` Rich Felker
2024-03-11  0:19                     ` Thorsten Glaser
2024-03-11  0:46                       ` Alejandro Colomar
2024-03-11 14:46                         ` Skyler Ferrante (RIT Student)
2024-03-11 15:09                           ` Andreas Schwab
2024-03-11 15:30                             ` Skyler Ferrante (RIT Student)
2024-03-11 18:23                               ` Florian Weimer
2024-03-11 18:48                                 ` Skyler Ferrante (RIT Student)
2024-03-11 19:05                                   ` enh
2024-03-11 19:44                                     ` Rich Felker
2024-03-11 20:35                                       ` enh
2024-03-11 19:47                               ` Rich Felker
2024-03-11 20:08                                 ` Skyler Ferrante (RIT Student)
2024-03-11 20:39                                   ` enh
2024-03-11 21:21                                 ` Laurent Bercot
2024-03-11 22:05                                 ` Thorsten Glaser
2024-03-12  0:18                                 ` Gabriel Ravier
2024-03-12  0:43                                   ` Rich Felker
2024-03-12  3:23                                     ` Gabriel Ravier
2024-03-12 14:44                                       ` Rich Felker
2024-03-12 13:54                                   ` Florian Weimer
2024-03-12 14:21                                     ` Zack Weinberg
2024-03-12 14:31                                       ` Florian Weimer
2024-03-12 14:42                                         ` Rich Felker
2024-03-12 19:25                                           ` Zack Weinberg
2024-03-12 21:19                                             ` Rich Felker
2024-03-13  8:28                                             ` Florian Weimer

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/libc/involved.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Zeo-oJOyN9YQXVb1@debian \
    --to=alx@kernel.org \
    --cc=christian@brauner.io \
    --cc=ipedrosa@redhat.com \
    --cc=libbsd@lists.freedesktop.org \
    --cc=libc-alpha@sourceware.org \
    --cc=serge@hallyn.com \
    --cc=sjf5462@rit.edu \
    --cc=~hallyn/shadow@lists.sr.ht \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).