summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJun-ichiro itojun Hagino <itojun@cvs.openbsd.org>2001-08-13 13:23:16 +0000
committerJun-ichiro itojun Hagino <itojun@cvs.openbsd.org>2001-08-13 13:23:16 +0000
commit7558101cf54e3ecde54fbd01f31fa636c4fbf2ab (patch)
tree26cc2a8c7cb65debc46a6f8434be27774c6a8a5f
parent80dd80170dd11e7144c1689ea9f17c6a0e1a40e9 (diff)
need to use IPV6_IPSEC_POLICY for IPv6 bypass policy setting. from the
country of humppa.
-rw-r--r--sbin/isakmpd/sysdep/netbsd/sysdep.c15
1 files changed, 10 insertions, 5 deletions
diff --git a/sbin/isakmpd/sysdep/netbsd/sysdep.c b/sbin/isakmpd/sysdep/netbsd/sysdep.c
index 34a785c0a14..87e6c47b3c0 100644
--- a/sbin/isakmpd/sysdep/netbsd/sysdep.c
+++ b/sbin/isakmpd/sysdep/netbsd/sysdep.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: sysdep.c,v 1.9 2001/08/12 12:03:02 heko Exp $ */
+/* $OpenBSD: sysdep.c,v 1.10 2001/08/13 13:23:15 itojun Exp $ */
/*
* Copyright (c) 1998, 1999 Niklas Hallqvist. All rights reserved.
@@ -124,6 +124,8 @@ sysdep_cleartext (int fd, int af)
char *policy[] = { "in bypass", "out bypass", NULL };
char **p;
int ipp;
+ int opt;
+ char *msgstr;
if (app_none)
return 0;
@@ -132,9 +134,13 @@ sysdep_cleartext (int fd, int af)
{
case AF_INET:
ipp = IPPROTO_IP;
+ opt = IP_IPSEC_POLICY;
+ msgstr = "";
break;
case AF_INET6:
ipp = IPPROTO_IPV6;
+ opt = IPV6_IPSEC_POLICY;
+ msgstr = "V6";
break;
default:
log_print ("sysdep_cleartext: unsupported protocol family %d", af);
@@ -155,12 +161,11 @@ sysdep_cleartext (int fd, int af)
return -1;
}
- if (setsockopt(fd, ipp, IP_IPSEC_POLICY, buf,
- ipsec_get_policylen(buf)) < 0)
+ if (setsockopt(fd, ipp, opt, buf, ipsec_get_policylen(buf)) < 0)
{
log_error ("sysdep_cleartext: "
- "setsockopt (%d, IPPROTO_IP, IP_IPSEC_POLICY, ...) failed",
- fd);
+ "setsockopt (%d, IPPROTO_IP%s, IP%s_IPSEC_POLICY, ...) "
+ "failed", fd, msgstr, msgstr);
return -1;
}
free(buf);