public inbox for libc-alpha@sourceware.org
 help / color / mirror / Atom feed
* Tweaking the program name for <err.h> functions
@ 2024-03-07 22:24 Alejandro Colomar
  2024-03-08  0:30 ` Guillem Jover
  0 siblings, 1 reply; 44+ messages in thread
From: Alejandro Colomar @ 2024-03-07 22:24 UTC (permalink / raw)
  To: libc-alpha, libbsd
  Cc: Serge E. Hallyn, Skyler Ferrante (RIT Student),
	Iker Pedrosa, Christian Brauner, shadow

[-- 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 --]

^ permalink raw reply	[flat|nested] 44+ messages in thread

end of thread, other threads:[~2024-03-13  8:28 UTC | newest]

Thread overview: 44+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-03-07 22:24 Tweaking the program name for <err.h> functions Alejandro Colomar
2024-03-08  0:30 ` 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

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).