gugus

OpenBSD relayd without_INET6 patch

Apr 2nd, 2012
123
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.79 KB | None | 0 0
  1. --- usr.sbin/relayd/check_icmp.c.orig   Tue Mar 20 17:52:56 2012
  2. +++ usr.sbin/relayd/check_icmp.c        Mon Apr  2 13:54:30 2012
  3. @@ -67,10 +67,17 @@
  4.  void
  5.  icmp_init(struct relayd *env)
  6.  {
  7. +       int mib[2];
  8. +       size_t len;
  9.         icmp_setup(env, &env->sc_icmp_send, AF_INET);
  10.         icmp_setup(env, &env->sc_icmp_recv, AF_INET);
  11. -       icmp_setup(env, &env->sc_icmp6_send, AF_INET6);
  12. -       icmp_setup(env, &env->sc_icmp6_recv, AF_INET6);
  13. +       /* setup INET6 only if net.inet6 exist */
  14. +       mib[0] = CTL_NET;
  15. +       mib[1] = AF_INET6;
  16. +       if (sysctl(mib, 2, NULL, &len, NULL, 0) != -1) {
  17. +               icmp_setup(env, &env->sc_icmp6_send, AF_INET6);
  18. +               icmp_setup(env, &env->sc_icmp6_recv, AF_INET6);
  19. +       }
  20.         env->sc_id = getpid() & 0xffff;
  21.  }
Advertisement
Add Comment
Please, Sign In to add comment