Re: Remove some unnecessary setproctitle(3) format strings
Right. This is called "idiomatic programming". Sometimes it looks a bit idiotic (haha), but as the years go by, we've learned that stylistic reminders that a rarely used function's parameter is a variadic format string, helps us avoid introduction of new mistakes during future development. Stuart Henderson wrote: > These programs seem OK as-is, they are following the advice in > https://man.openbsd.org/setproctitle.3#CAVEATS > > On 2022/09/26 18:06, Josiah Frentsos wrote: > > Index: sbin/dhcpleased/engine.c > > === > > RCS file: /cvs/src/sbin/dhcpleased/engine.c,v > > retrieving revision 1.38 > > diff -u -p -r1.38 engine.c > > --- sbin/dhcpleased/engine.c5 May 2022 14:44:59 - 1.38 > > +++ sbin/dhcpleased/engine.c26 Sep 2022 21:43:28 - > > @@ -197,7 +197,7 @@ engine(int debug, int verbose) > > if (unveil(NULL, NULL) == -1) > > fatal("unveil"); > > > > - setproctitle("%s", "engine"); > > + setproctitle("engine"); > > log_procinit("engine"); > > > > if (setgroups(1, &pw->pw_gid) || > > Index: sbin/dhcpleased/frontend.c > > === > > RCS file: /cvs/src/sbin/dhcpleased/frontend.c,v > > retrieving revision 1.30 > > diff -u -p -r1.30 frontend.c > > --- sbin/dhcpleased/frontend.c 14 Jul 2022 15:23:09 - 1.30 > > +++ sbin/dhcpleased/frontend.c 26 Sep 2022 21:43:29 - > > @@ -151,7 +151,7 @@ frontend(int debug, int verbose) > > if (unveil(NULL, NULL) == -1) > > fatal("unveil"); > > > > - setproctitle("%s", "frontend"); > > + setproctitle("frontend"); > > log_procinit("frontend"); > > > > if ((ioctlsock = socket(AF_INET, SOCK_DGRAM | SOCK_CLOEXEC, 0)) == -1) > > Index: sbin/slaacd/engine.c > > === > > RCS file: /cvs/src/sbin/slaacd/engine.c,v > > retrieving revision 1.84 > > diff -u -p -r1.84 engine.c > > --- sbin/slaacd/engine.c26 Aug 2022 00:02:08 - 1.84 > > +++ sbin/slaacd/engine.c26 Sep 2022 21:43:29 - > > @@ -372,7 +372,7 @@ engine(int debug, int verbose) > > if (unveil(NULL, NULL) == -1) > > fatal("unveil"); > > > > - setproctitle("%s", "engine"); > > + setproctitle("engine"); > > log_procinit("engine"); > > > > if (setgroups(1, &pw->pw_gid) || > > Index: sbin/slaacd/frontend.c > > === > > RCS file: /cvs/src/sbin/slaacd/frontend.c,v > > retrieving revision 1.64 > > diff -u -p -r1.64 frontend.c > > --- sbin/slaacd/frontend.c 12 Jul 2022 16:54:59 - 1.64 > > +++ sbin/slaacd/frontend.c 26 Sep 2022 21:43:29 - > > @@ -153,7 +153,7 @@ frontend(int debug, int verbose) > > if (unveil(NULL, NULL) == -1) > > fatal("unveil"); > > > > - setproctitle("%s", "frontend"); > > + setproctitle("frontend"); > > log_procinit("frontend"); > > > > if ((ioctlsock = socket(AF_INET6, SOCK_DGRAM | SOCK_CLOEXEC, 0)) == -1) > > Index: sbin/unwind/frontend.c > > === > > RCS file: /cvs/src/sbin/unwind/frontend.c,v > > retrieving revision 1.73 > > diff -u -p -r1.73 frontend.c > > --- sbin/unwind/frontend.c 13 Mar 2022 15:14:01 - 1.73 > > +++ sbin/unwind/frontend.c 26 Sep 2022 21:43:30 - > > @@ -207,7 +207,7 @@ frontend(int debug, int verbose) > > if (chdir("/") == -1) > > fatal("chdir(\"/\")"); > > > > - setproctitle("%s", "frontend"); > > + setproctitle("frontend"); > > log_procinit("frontend"); > > > > if (setgroups(1, &pw->pw_gid) || > > Index: sbin/unwind/resolver.c > > === > > RCS file: /cvs/src/sbin/unwind/resolver.c,v > > retrieving revision 1.155 > > diff -u -p -r1.155 resolver.c > > --- sbin/unwind/resolver.c 12 Mar 2022 14:35:29 - 1.155 > > +++ sbin/unwind/resolver.c 26 Sep 2022 21:43:30 - > > @@ -368,7 +368,7 @@ resolver(int debug, int verbose) > > if ((pw = getpwnam(UNWIND_USER)) == NULL) > > fatal("getpwnam"); > > > > - setproctitle("%s", "resolver"); > > + setproctitle("resolver"); > > log_procinit("resolver"); > > > > if (setgroups(1, &pw->pw_gid) || > > Index: usr.bin/ssh/sshd.c > > === > > RCS file: /cvs/src/usr.bin/ssh/sshd.c,v > > retrieving revision 1.591 > > diff -u -p -r1.591 sshd.c > > --- usr.bin/ssh/sshd.c 17 Sep 2022 10:34:29 - 1.591 > > +++ usr.bin/ssh/sshd.c 26 Sep 2022 21:43:34 - > > @@ -492,7 +492,7 @@ privsep_preauth(struct ssh *ssh) > > set_log_handler(mm_log_handler, pmonitor); > > > > privsep_preauth_child(); > > - setproctitle("%s", "[net]"); > > + setproctitle("[net]"); > > if (box
Re: Remove some unnecessary setproctitle(3) format strings
On Tue, 2022-09-27 at 11:23 +0200, Florian Obser wrote: > On 2022-09-27 09:26 +02, Martijn van Duren wrote: > > The caveats section talks about "user-supplied data". These string are > > constant and don't contain any '%'. Most other daemons in base use the > > setproctitle("title"); format as well. > > It's not that clear cut, snmpd(8), a daemon you might be familiar with, > uses > setproctitle("%s", p->p_title); > > while p->p_title is not user supplied ;) True, but proc.c doesn't know how p_title is filled :-) > > The diff is probably not wrong (I only glanced at it), but I don't think > it solves a problem. It then comes down to style and I prefer things the > way they are. I only made the remark in regards to the caveat argument. If it's personal preference, that's a good enough reason for me to keep it as is. Especially for daemons that I don't work on. I addressed the argument, not the conclusion. > > > > > On Tue, 2022-09-27 at 08:07 +0100, Stuart Henderson wrote: > > > These programs seem OK as-is, they are following the advice in > > > https://man.openbsd.org/setproctitle.3#CAVEATS >
Re: Remove some unnecessary setproctitle(3) format strings
On 2022-09-27 09:26 +02, Martijn van Duren wrote: > The caveats section talks about "user-supplied data". These string are > constant and don't contain any '%'. Most other daemons in base use the > setproctitle("title"); format as well. It's not that clear cut, snmpd(8), a daemon you might be familiar with, uses setproctitle("%s", p->p_title); while p->p_title is not user supplied ;) The diff is probably not wrong (I only glanced at it), but I don't think it solves a problem. It then comes down to style and I prefer things the way they are. > > On Tue, 2022-09-27 at 08:07 +0100, Stuart Henderson wrote: >> These programs seem OK as-is, they are following the advice in >> https://man.openbsd.org/setproctitle.3#CAVEATS -- I'm not entirely sure you are real.
Re: Remove some unnecessary setproctitle(3) format strings
The caveats section talks about "user-supplied data". These string are constant and don't contain any '%'. Most other daemons in base use the setproctitle("title"); format as well. On Tue, 2022-09-27 at 08:07 +0100, Stuart Henderson wrote: > These programs seem OK as-is, they are following the advice in > https://man.openbsd.org/setproctitle.3#CAVEATS > > On 2022/09/26 18:06, Josiah Frentsos wrote: > > Index: sbin/dhcpleased/engine.c > > === > > RCS file: /cvs/src/sbin/dhcpleased/engine.c,v > > retrieving revision 1.38 > > diff -u -p -r1.38 engine.c > > --- sbin/dhcpleased/engine.c5 May 2022 14:44:59 - 1.38 > > +++ sbin/dhcpleased/engine.c26 Sep 2022 21:43:28 - > > @@ -197,7 +197,7 @@ engine(int debug, int verbose) > > if (unveil(NULL, NULL) == -1) > > fatal("unveil"); > > > > - setproctitle("%s", "engine"); > > + setproctitle("engine"); > > log_procinit("engine"); > > > > if (setgroups(1, &pw->pw_gid) || > > Index: sbin/dhcpleased/frontend.c > > === > > RCS file: /cvs/src/sbin/dhcpleased/frontend.c,v > > retrieving revision 1.30 > > diff -u -p -r1.30 frontend.c > > --- sbin/dhcpleased/frontend.c 14 Jul 2022 15:23:09 - 1.30 > > +++ sbin/dhcpleased/frontend.c 26 Sep 2022 21:43:29 - > > @@ -151,7 +151,7 @@ frontend(int debug, int verbose) > > if (unveil(NULL, NULL) == -1) > > fatal("unveil"); > > > > - setproctitle("%s", "frontend"); > > + setproctitle("frontend"); > > log_procinit("frontend"); > > > > if ((ioctlsock = socket(AF_INET, SOCK_DGRAM | SOCK_CLOEXEC, 0)) == -1) > > Index: sbin/slaacd/engine.c > > === > > RCS file: /cvs/src/sbin/slaacd/engine.c,v > > retrieving revision 1.84 > > diff -u -p -r1.84 engine.c > > --- sbin/slaacd/engine.c26 Aug 2022 00:02:08 - 1.84 > > +++ sbin/slaacd/engine.c26 Sep 2022 21:43:29 - > > @@ -372,7 +372,7 @@ engine(int debug, int verbose) > > if (unveil(NULL, NULL) == -1) > > fatal("unveil"); > > > > - setproctitle("%s", "engine"); > > + setproctitle("engine"); > > log_procinit("engine"); > > > > if (setgroups(1, &pw->pw_gid) || > > Index: sbin/slaacd/frontend.c > > === > > RCS file: /cvs/src/sbin/slaacd/frontend.c,v > > retrieving revision 1.64 > > diff -u -p -r1.64 frontend.c > > --- sbin/slaacd/frontend.c 12 Jul 2022 16:54:59 - 1.64 > > +++ sbin/slaacd/frontend.c 26 Sep 2022 21:43:29 - > > @@ -153,7 +153,7 @@ frontend(int debug, int verbose) > > if (unveil(NULL, NULL) == -1) > > fatal("unveil"); > > > > - setproctitle("%s", "frontend"); > > + setproctitle("frontend"); > > log_procinit("frontend"); > > > > if ((ioctlsock = socket(AF_INET6, SOCK_DGRAM | SOCK_CLOEXEC, 0)) == -1) > > Index: sbin/unwind/frontend.c > > === > > RCS file: /cvs/src/sbin/unwind/frontend.c,v > > retrieving revision 1.73 > > diff -u -p -r1.73 frontend.c > > --- sbin/unwind/frontend.c 13 Mar 2022 15:14:01 - 1.73 > > +++ sbin/unwind/frontend.c 26 Sep 2022 21:43:30 - > > @@ -207,7 +207,7 @@ frontend(int debug, int verbose) > > if (chdir("/") == -1) > > fatal("chdir(\"/\")"); > > > > - setproctitle("%s", "frontend"); > > + setproctitle("frontend"); > > log_procinit("frontend"); > > > > if (setgroups(1, &pw->pw_gid) || > > Index: sbin/unwind/resolver.c > > === > > RCS file: /cvs/src/sbin/unwind/resolver.c,v > > retrieving revision 1.155 > > diff -u -p -r1.155 resolver.c > > --- sbin/unwind/resolver.c 12 Mar 2022 14:35:29 - 1.155 > > +++ sbin/unwind/resolver.c 26 Sep 2022 21:43:30 - > > @@ -368,7 +368,7 @@ resolver(int debug, int verbose) > > if ((pw = getpwnam(UNWIND_USER)) == NULL) > > fatal("getpwnam"); > > > > - setproctitle("%s", "resolver"); > > + setproctitle("resolver"); > > log_procinit("resolver"); > > > > if (setgroups(1, &pw->pw_gid) || > > Index: usr.bin/ssh/sshd.c > > === > > RCS file: /cvs/src/usr.bin/ssh/sshd.c,v > > retrieving revision 1.591 > > diff -u -p -r1.591 sshd.c > > --- usr.bin/ssh/sshd.c 17 Sep 2022 10:34:29 - 1.591 > > +++ usr.bin/ssh/sshd.c 26 Sep 2022 21:43:34 - > > @@ -492,7 +492,7 @@ privsep_preauth(struct ssh *ssh) > > set_log_handler(mm_log_handler, pmonitor); > > > > privsep_preauth_child(); > > - setproctitle("%s", "[net]"); > > + setproctitle("[net]"); > > if (box != NULL) > > ssh_sandbox_child(box); > > > > @@ -1627,7 +
Re: Remove some unnecessary setproctitle(3) format strings
These programs seem OK as-is, they are following the advice in https://man.openbsd.org/setproctitle.3#CAVEATS On 2022/09/26 18:06, Josiah Frentsos wrote: > Index: sbin/dhcpleased/engine.c > === > RCS file: /cvs/src/sbin/dhcpleased/engine.c,v > retrieving revision 1.38 > diff -u -p -r1.38 engine.c > --- sbin/dhcpleased/engine.c 5 May 2022 14:44:59 - 1.38 > +++ sbin/dhcpleased/engine.c 26 Sep 2022 21:43:28 - > @@ -197,7 +197,7 @@ engine(int debug, int verbose) > if (unveil(NULL, NULL) == -1) > fatal("unveil"); > > - setproctitle("%s", "engine"); > + setproctitle("engine"); > log_procinit("engine"); > > if (setgroups(1, &pw->pw_gid) || > Index: sbin/dhcpleased/frontend.c > === > RCS file: /cvs/src/sbin/dhcpleased/frontend.c,v > retrieving revision 1.30 > diff -u -p -r1.30 frontend.c > --- sbin/dhcpleased/frontend.c14 Jul 2022 15:23:09 - 1.30 > +++ sbin/dhcpleased/frontend.c26 Sep 2022 21:43:29 - > @@ -151,7 +151,7 @@ frontend(int debug, int verbose) > if (unveil(NULL, NULL) == -1) > fatal("unveil"); > > - setproctitle("%s", "frontend"); > + setproctitle("frontend"); > log_procinit("frontend"); > > if ((ioctlsock = socket(AF_INET, SOCK_DGRAM | SOCK_CLOEXEC, 0)) == -1) > Index: sbin/slaacd/engine.c > === > RCS file: /cvs/src/sbin/slaacd/engine.c,v > retrieving revision 1.84 > diff -u -p -r1.84 engine.c > --- sbin/slaacd/engine.c 26 Aug 2022 00:02:08 - 1.84 > +++ sbin/slaacd/engine.c 26 Sep 2022 21:43:29 - > @@ -372,7 +372,7 @@ engine(int debug, int verbose) > if (unveil(NULL, NULL) == -1) > fatal("unveil"); > > - setproctitle("%s", "engine"); > + setproctitle("engine"); > log_procinit("engine"); > > if (setgroups(1, &pw->pw_gid) || > Index: sbin/slaacd/frontend.c > === > RCS file: /cvs/src/sbin/slaacd/frontend.c,v > retrieving revision 1.64 > diff -u -p -r1.64 frontend.c > --- sbin/slaacd/frontend.c12 Jul 2022 16:54:59 - 1.64 > +++ sbin/slaacd/frontend.c26 Sep 2022 21:43:29 - > @@ -153,7 +153,7 @@ frontend(int debug, int verbose) > if (unveil(NULL, NULL) == -1) > fatal("unveil"); > > - setproctitle("%s", "frontend"); > + setproctitle("frontend"); > log_procinit("frontend"); > > if ((ioctlsock = socket(AF_INET6, SOCK_DGRAM | SOCK_CLOEXEC, 0)) == -1) > Index: sbin/unwind/frontend.c > === > RCS file: /cvs/src/sbin/unwind/frontend.c,v > retrieving revision 1.73 > diff -u -p -r1.73 frontend.c > --- sbin/unwind/frontend.c13 Mar 2022 15:14:01 - 1.73 > +++ sbin/unwind/frontend.c26 Sep 2022 21:43:30 - > @@ -207,7 +207,7 @@ frontend(int debug, int verbose) > if (chdir("/") == -1) > fatal("chdir(\"/\")"); > > - setproctitle("%s", "frontend"); > + setproctitle("frontend"); > log_procinit("frontend"); > > if (setgroups(1, &pw->pw_gid) || > Index: sbin/unwind/resolver.c > === > RCS file: /cvs/src/sbin/unwind/resolver.c,v > retrieving revision 1.155 > diff -u -p -r1.155 resolver.c > --- sbin/unwind/resolver.c12 Mar 2022 14:35:29 - 1.155 > +++ sbin/unwind/resolver.c26 Sep 2022 21:43:30 - > @@ -368,7 +368,7 @@ resolver(int debug, int verbose) > if ((pw = getpwnam(UNWIND_USER)) == NULL) > fatal("getpwnam"); > > - setproctitle("%s", "resolver"); > + setproctitle("resolver"); > log_procinit("resolver"); > > if (setgroups(1, &pw->pw_gid) || > Index: usr.bin/ssh/sshd.c > === > RCS file: /cvs/src/usr.bin/ssh/sshd.c,v > retrieving revision 1.591 > diff -u -p -r1.591 sshd.c > --- usr.bin/ssh/sshd.c17 Sep 2022 10:34:29 - 1.591 > +++ usr.bin/ssh/sshd.c26 Sep 2022 21:43:34 - > @@ -492,7 +492,7 @@ privsep_preauth(struct ssh *ssh) > set_log_handler(mm_log_handler, pmonitor); > > privsep_preauth_child(); > - setproctitle("%s", "[net]"); > + setproctitle("[net]"); > if (box != NULL) > ssh_sandbox_child(box); > > @@ -1627,7 +1627,7 @@ main(int ac, char **av) > if ((cfg = sshbuf_new()) == NULL) > fatal_f("sshbuf_new failed"); > if (rexeced_flag) { > - setproctitle("%s", "[rexeced]"); > + setproctitle("[rexeced]"); > recv_rexec_state(REEXEC_CONFIG_PASS_FD, cfg); > if (!debug_flag) { > startup_pipe = d
Remove some unnecessary setproctitle(3) format strings
Index: sbin/dhcpleased/engine.c === RCS file: /cvs/src/sbin/dhcpleased/engine.c,v retrieving revision 1.38 diff -u -p -r1.38 engine.c --- sbin/dhcpleased/engine.c5 May 2022 14:44:59 - 1.38 +++ sbin/dhcpleased/engine.c26 Sep 2022 21:43:28 - @@ -197,7 +197,7 @@ engine(int debug, int verbose) if (unveil(NULL, NULL) == -1) fatal("unveil"); - setproctitle("%s", "engine"); + setproctitle("engine"); log_procinit("engine"); if (setgroups(1, &pw->pw_gid) || Index: sbin/dhcpleased/frontend.c === RCS file: /cvs/src/sbin/dhcpleased/frontend.c,v retrieving revision 1.30 diff -u -p -r1.30 frontend.c --- sbin/dhcpleased/frontend.c 14 Jul 2022 15:23:09 - 1.30 +++ sbin/dhcpleased/frontend.c 26 Sep 2022 21:43:29 - @@ -151,7 +151,7 @@ frontend(int debug, int verbose) if (unveil(NULL, NULL) == -1) fatal("unveil"); - setproctitle("%s", "frontend"); + setproctitle("frontend"); log_procinit("frontend"); if ((ioctlsock = socket(AF_INET, SOCK_DGRAM | SOCK_CLOEXEC, 0)) == -1) Index: sbin/slaacd/engine.c === RCS file: /cvs/src/sbin/slaacd/engine.c,v retrieving revision 1.84 diff -u -p -r1.84 engine.c --- sbin/slaacd/engine.c26 Aug 2022 00:02:08 - 1.84 +++ sbin/slaacd/engine.c26 Sep 2022 21:43:29 - @@ -372,7 +372,7 @@ engine(int debug, int verbose) if (unveil(NULL, NULL) == -1) fatal("unveil"); - setproctitle("%s", "engine"); + setproctitle("engine"); log_procinit("engine"); if (setgroups(1, &pw->pw_gid) || Index: sbin/slaacd/frontend.c === RCS file: /cvs/src/sbin/slaacd/frontend.c,v retrieving revision 1.64 diff -u -p -r1.64 frontend.c --- sbin/slaacd/frontend.c 12 Jul 2022 16:54:59 - 1.64 +++ sbin/slaacd/frontend.c 26 Sep 2022 21:43:29 - @@ -153,7 +153,7 @@ frontend(int debug, int verbose) if (unveil(NULL, NULL) == -1) fatal("unveil"); - setproctitle("%s", "frontend"); + setproctitle("frontend"); log_procinit("frontend"); if ((ioctlsock = socket(AF_INET6, SOCK_DGRAM | SOCK_CLOEXEC, 0)) == -1) Index: sbin/unwind/frontend.c === RCS file: /cvs/src/sbin/unwind/frontend.c,v retrieving revision 1.73 diff -u -p -r1.73 frontend.c --- sbin/unwind/frontend.c 13 Mar 2022 15:14:01 - 1.73 +++ sbin/unwind/frontend.c 26 Sep 2022 21:43:30 - @@ -207,7 +207,7 @@ frontend(int debug, int verbose) if (chdir("/") == -1) fatal("chdir(\"/\")"); - setproctitle("%s", "frontend"); + setproctitle("frontend"); log_procinit("frontend"); if (setgroups(1, &pw->pw_gid) || Index: sbin/unwind/resolver.c === RCS file: /cvs/src/sbin/unwind/resolver.c,v retrieving revision 1.155 diff -u -p -r1.155 resolver.c --- sbin/unwind/resolver.c 12 Mar 2022 14:35:29 - 1.155 +++ sbin/unwind/resolver.c 26 Sep 2022 21:43:30 - @@ -368,7 +368,7 @@ resolver(int debug, int verbose) if ((pw = getpwnam(UNWIND_USER)) == NULL) fatal("getpwnam"); - setproctitle("%s", "resolver"); + setproctitle("resolver"); log_procinit("resolver"); if (setgroups(1, &pw->pw_gid) || Index: usr.bin/ssh/sshd.c === RCS file: /cvs/src/usr.bin/ssh/sshd.c,v retrieving revision 1.591 diff -u -p -r1.591 sshd.c --- usr.bin/ssh/sshd.c 17 Sep 2022 10:34:29 - 1.591 +++ usr.bin/ssh/sshd.c 26 Sep 2022 21:43:34 - @@ -492,7 +492,7 @@ privsep_preauth(struct ssh *ssh) set_log_handler(mm_log_handler, pmonitor); privsep_preauth_child(); - setproctitle("%s", "[net]"); + setproctitle("[net]"); if (box != NULL) ssh_sandbox_child(box); @@ -1627,7 +1627,7 @@ main(int ac, char **av) if ((cfg = sshbuf_new()) == NULL) fatal_f("sshbuf_new failed"); if (rexeced_flag) { - setproctitle("%s", "[rexeced]"); + setproctitle("[rexeced]"); recv_rexec_state(REEXEC_CONFIG_PASS_FD, cfg); if (!debug_flag) { startup_pipe = dup(REEXEC_STARTUP_PIPE_FD); @@ -1955,7 +1955,7 @@ main(int ac, char **av) } /* This is the child processing a new connection. */ - setproctitle("%s", "[accepted]"); + setproctitle("[accepted]"); /* * Create a new session and process group since the 4.4