Portable build framework for OpenNTPD
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

59 lines
1.5 KiB

10 years ago
9 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
  1. From fd8a742d7e3f2ff92e812cdccfb3477b948340fc Mon Sep 17 00:00:00 2001
  2. From: Brent Cook <busterb@gmail.com>
  3. Date: Mon, 12 Jan 2015 06:18:31 -0600
  4. Subject: [PATCH 09/13] initialize setproctitle where needed
  5. We need to save a copy of argv and __progname to avoid setproctitle
  6. clobbering them.
  7. ---
  8. src/usr.sbin/ntpd/ntpd.c | 20 ++++++++++++++++++++
  9. 1 file changed, 20 insertions(+)
  10. diff --git a/src/usr.sbin/ntpd/ntpd.c b/src/usr.sbin/ntpd/ntpd.c
  11. index c7935bf..310e808 100644
  12. --- a/src/usr.sbin/ntpd/ntpd.c
  13. +++ b/src/usr.sbin/ntpd/ntpd.c
  14. @@ -112,6 +112,13 @@ usage(void)
  15. #define POLL_MAX 8
  16. #define PFD_PIPE 0
  17. +/* Saves a copy of argv for setproctitle emulation */
  18. +#ifndef HAVE_SETPROCTITLE
  19. +static char **saved_argv;
  20. +#endif
  21. +
  22. +char *get_progname(char *argv0);
  23. +
  24. int
  25. main(int argc, char *argv[])
  26. {
  27. @@ -124,6 +131,8 @@ main(int argc, char *argv[])
  28. struct passwd *pw;
  29. extern char *__progname;
  30. + __progname = get_progname(argv[0]);
  31. +
  32. if (strcmp(__progname, "ntpctl") == 0) {
  33. ctl_main(argc, argv);
  34. /* NOTREACHED */
  35. @@ -135,6 +144,17 @@ main(int argc, char *argv[])
  36. log_init(1); /* log to stderr until daemonized */
  37. +#ifndef HAVE_SETPROCTITLE
  38. + int i;
  39. + /* Prepare for later setproctitle emulation */
  40. + saved_argv = calloc(argc + 1, sizeof(*saved_argv));
  41. + for (i = 0; i < argc; i++)
  42. + saved_argv[i] = strdup(argv[i]);
  43. + saved_argv[i] = NULL;
  44. + compat_init_setproctitle(argc, argv);
  45. + argv = saved_argv;
  46. +#endif
  47. +
  48. while ((ch = getopt(argc, argv, "df:np:sSv")) != -1) {
  49. switch (ch) {
  50. case 'd':
  51. --
  52. 2.4.5