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.4 KiB

  1. --- server.orig 2014-12-28 12:16:48.203243490 -0600
  2. +++ server.c 2014-12-28 12:18:07.907245217 -0600
  3. @@ -39,7 +39,10 @@
  4. u_int8_t *a6;
  5. size_t sa6len = sizeof(struct in6_addr);
  6. u_int new_cnt = 0;
  7. - int tos = IPTOS_LOWDELAY, rdomain, fd;
  8. + int tos = IPTOS_LOWDELAY;
  9. +#ifdef SO_RTABLE
  10. + int rdomain, fd;
  11. +#endif
  12. TAILQ_FOREACH(lap, &lconf->listen_addrs, entry) {
  13. switch (lap->sa.ss_family) {
  14. @@ -59,6 +62,7 @@
  15. strlcpy(ifr.ifr_name, ifap->ifa_name,
  16. sizeof(ifr.ifr_name));
  17. +#ifdef SO_RTABLE
  18. fd = socket(AF_INET, SOCK_DGRAM, 0);
  19. if (ioctl(fd, SIOCGIFRDOMAIN,
  20. (caddr_t)&ifr) == -1)
  21. @@ -69,6 +73,7 @@
  22. if (lap->rtable != -1 && rdomain != lap->rtable)
  23. continue;
  24. +#endif
  25. if (sa->sa_family == AF_INET &&
  26. ((struct sockaddr_in *)sa)->sin_addr.s_addr ==
  27. @@ -87,7 +92,9 @@
  28. fatal("setup_listeners calloc");
  29. memcpy(&la->sa, sa, SA_LEN(sa));
  30. +#ifdef SO_RTABLE
  31. la->rtable = rdomain;
  32. +#endif
  33. TAILQ_INSERT_TAIL(&lconf->listen_addrs, la, entry);
  34. }
  35. @@ -132,10 +139,12 @@
  36. IPPROTO_IP, IP_TOS, &tos, sizeof(tos)) == -1)
  37. log_warn("setsockopt IPTOS_LOWDELAY");
  38. +#ifdef SO_RTABLE
  39. if (la->rtable != -1 &&
  40. setsockopt(la->fd, SOL_SOCKET, SO_RTABLE, &la->rtable,
  41. sizeof(la->rtable)) == -1)
  42. fatal("setup_listeners setsockopt SO_RTABLE");
  43. +#endif
  44. if (bind(la->fd, (struct sockaddr *)&la->sa,
  45. SA_LEN((struct sockaddr *)&la->sa)) == -1) {