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
9 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/12] 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