3
@@ -413,6 +413,11 @@ and IPv6 traffic will go to server on
4
If you have only one server on
6
only IPv6 traffic will be routed to the server.
10
+parameter can be used for obsolete servers which require to receive IPv4
11
+connections mapped in an IPv6 socket. Its usage is discouraged.
17
@@ -826,10 +826,14 @@ doconfig(void)
22
strncpy(protoname, sep->se_proto,
24
- if (isdigit(protoname[strlen(protoname) - 1]))
25
- protoname[strlen(protoname) - 1] = '\0';
26
+ for (p = protoname; *p; p++)
31
sp = getservbyname(sep->se_service,
34
@@ -1023,6 +1027,16 @@ setup(struct servtab *sep)
35
sep->se_service, sep->se_proto);
38
+ if (strncmp(sep->se_proto, "tcp6", 4) == 0) {
39
+ if (setsockopt(sep->se_fd, IPPROTO_IPV6, IPV6_V6ONLY, &on,
41
+ syslog(LOG_ERR, "setsockopt (IPV6_V6ONLY): %m");
42
+ } else if (strncmp(sep->se_proto, "tcp46", 5) == 0) {
44
+ if (setsockopt(sep->se_fd, IPPROTO_IPV6, IPV6_V6ONLY, &off,
46
+ syslog(LOG_ERR, "setsockopt (IPV6_V6ONLY): %m");
48
#define turnon(fd, opt) \
49
setsockopt(fd, SOL_SOCKET, opt, &on, sizeof (on))
50
if (strncmp(sep->se_proto, "tcp", 3) == 0 && (options & SO_DEBUG) &&