-/* $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.
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,
close(sock);
return (-1);
}
+#endif
break;
default:
debug("socket %d af %d does not support rdomain %d",
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)
{