]> andersk Git - openssh.git/blobdiff - misc.c
- (dtucker] [misc.c] Shrink the area covered by USE_ROUTINGDOMAIN more
[openssh.git] / misc.c
diff --git a/misc.c b/misc.c
index 21db00a137533402b68544f1f20e549cf6be01e1..f62f8efc6d55769d219eada8b30b44d991a5fb03 100644 (file)
--- a/misc.c
+++ b/misc.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: misc.c,v 1.73 2009/11/20 03:24:07 djm Exp $ */
+/* $OpenBSD: misc.c,v 1.74 2009/12/25 19:40:21 stevesk Exp $ */
 /*
  * Copyright (c) 2000 Markus Friedl.  All rights reserved.
  * Copyright (c) 2005,2006 Damien Miller.  All rights reserved.
@@ -162,12 +162,13 @@ socket_rdomain(int domain, int type, int protocol, int rdomain)
 
        if (rdomain == -1)
                return (sock);
-       
+
        switch (domain) {
        case AF_INET6:
                ipproto = IPPROTO_IPV6;
                /* FALLTHROUGH */
        case AF_INET:
+#ifdef USE_ROUTINGDOMAIN
                debug2("socket %d af %d setting rdomain %d",
                    sock, domain, rdomain);
                if (setsockopt(sock, ipproto, SO_RDOMAIN, &rdomain,
@@ -177,6 +178,7 @@ socket_rdomain(int domain, int type, int protocol, int rdomain)
                        close(sock);
                        return (-1);
                }
+#endif
                break;
        default:
                debug("socket %d af %d does not support rdomain %d",
@@ -273,6 +275,20 @@ a2port(const char *s)
        return (int)port;
 }
 
+#ifdef USE_ROUTINGDOMAIN
+int
+a2rdomain(const char *s)
+{
+       long long rdomain;
+       const char *errstr;
+
+       rdomain = strtonum(s, 0, RT_TABLEID_MAX, &errstr);
+       if (errstr != NULL)
+               return -1;
+       return (int)rdomain;
+}
+#endif
+
 int
 a2tun(const char *s, int *remote)
 {
This page took 0.143754 seconds and 4 git commands to generate.