]> andersk Git - openssh.git/blobdiff - misc.c
- (dtucker) [defines.h] define PRIu64 for platforms that don't have it.
[openssh.git] / misc.c
diff --git a/misc.c b/misc.c
index 21db00a137533402b68544f1f20e549cf6be01e1..b260d89fe94fa4cd82a4f62cadbf6118f75ad3cf 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,15 @@ socket_rdomain(int domain, int type, int protocol, int rdomain)
 
        if (rdomain == -1)
                return (sock);
-       
+
        switch (domain) {
+#ifdef IPPROTO_IPV6
        case AF_INET6:
                ipproto = IPPROTO_IPV6;
                /* FALLTHROUGH */
+#endif
        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 +180,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 +277,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.053925 seconds and 4 git commands to generate.