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.

53 lines
1.7 KiB

10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
  1. From b670f88c2b3aebb8b338aa855193ddd8c06d6319 Mon Sep 17 00:00:00 2001
  2. From: Brent Cook <busterb@gmail.com>
  3. Date: Tue, 30 Dec 2014 09:02:50 -0600
  4. Subject: [PATCH 04/11] conditionally fill in sin_len/sin6_len if they exist
  5. ---
  6. src/usr.sbin/ntpd/config.c | 8 ++++++++
  7. 1 file changed, 8 insertions(+)
  8. diff --git a/src/usr.sbin/ntpd/config.c b/src/usr.sbin/ntpd/config.c
  9. index 45f2d87..b3d198e 100644
  10. --- a/src/usr.sbin/ntpd/config.c
  11. +++ b/src/usr.sbin/ntpd/config.c
  12. @@ -71,7 +71,9 @@ host_v4(const char *s)
  13. if ((h = calloc(1, sizeof(struct ntp_addr))) == NULL)
  14. fatal(NULL);
  15. sa_in = (struct sockaddr_in *)&h->ss;
  16. +#ifdef HAVE_STRUCT_SOCKADDR_IN_SIN_LEN
  17. sa_in->sin_len = sizeof(struct sockaddr_in);
  18. +#endif
  19. sa_in->sin_family = AF_INET;
  20. sa_in->sin_addr.s_addr = ina.s_addr;
  21. @@ -93,7 +95,9 @@ host_v6(const char *s)
  22. if ((h = calloc(1, sizeof(struct ntp_addr))) == NULL)
  23. fatal(NULL);
  24. sa_in6 = (struct sockaddr_in6 *)&h->ss;
  25. +#ifdef SIN6_LEN
  26. sa_in6->sin6_len = sizeof(struct sockaddr_in6);
  27. +#endif
  28. sa_in6->sin6_family = AF_INET6;
  29. memcpy(&sa_in6->sin6_addr,
  30. &((struct sockaddr_in6 *)res->ai_addr)->sin6_addr,
  31. @@ -155,12 +159,16 @@ host_dns(const char *s, struct ntp_addr **hn)
  32. h->ss.ss_family = res->ai_family;
  33. if (res->ai_family == AF_INET) {
  34. sa_in = (struct sockaddr_in *)&h->ss;
  35. +#ifdef HAVE_STRUCT_SOCKADDR_IN_SIN_LEN
  36. sa_in->sin_len = sizeof(struct sockaddr_in);
  37. +#endif
  38. sa_in->sin_addr.s_addr = ((struct sockaddr_in *)
  39. res->ai_addr)->sin_addr.s_addr;
  40. } else {
  41. sa_in6 = (struct sockaddr_in6 *)&h->ss;
  42. +#ifdef SIN6_LEN
  43. sa_in6->sin6_len = sizeof(struct sockaddr_in6);
  44. +#endif
  45. memcpy(&sa_in6->sin6_addr, &((struct sockaddr_in6 *)
  46. res->ai_addr)->sin6_addr, sizeof(struct in6_addr));
  47. }
  48. --
  49. 1.9.1