author | Tomas Klacko <tomas.klacko@oracle.com> |
Mon, 18 May 2015 01:59:30 -0700 | |
branch | s11-update |
changeset 4303 | fe962209b82f |
parent 3923 | components/proftpd/patches/19668629.patch@d19fbc6076b9 |
permissions | -rw-r--r-- |
3923
d19fbc6076b9
19668629 proftpd doesn't handle IPV6_TCLASS properly
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff
changeset
|
1 |
http://bugs.proftpd.org/show_bug.cgi?id=4109 |
d19fbc6076b9
19668629 proftpd doesn't handle IPV6_TCLASS properly
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff
changeset
|
2 |
https://github.com/proftpd/proftpd/commit/0b8afb267eb6fd6acf98595a8c2812cd27ac11a0 |
d19fbc6076b9
19668629 proftpd doesn't handle IPV6_TCLASS properly
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff
changeset
|
3 |
|
d19fbc6076b9
19668629 proftpd doesn't handle IPV6_TCLASS properly
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff
changeset
|
4 |
diff --git a/src/inet.c b/src/inet.c |
d19fbc6076b9
19668629 proftpd doesn't handle IPV6_TCLASS properly
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff
changeset
|
5 |
index f5602e0..d0a0631 100644 |
d19fbc6076b9
19668629 proftpd doesn't handle IPV6_TCLASS properly
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff
changeset
|
6 |
--- a/src/inet.c |
d19fbc6076b9
19668629 proftpd doesn't handle IPV6_TCLASS properly
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff
changeset
|
7 |
+++ b/src/inet.c |
d19fbc6076b9
19668629 proftpd doesn't handle IPV6_TCLASS properly
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff
changeset
|
8 |
@@ -770,8 +770,9 @@ int pr_inet_set_proto_opts(pool *p, conn_t *c, int mss, int nodelay, |
d19fbc6076b9
19668629 proftpd doesn't handle IPV6_TCLASS properly
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff
changeset
|
9 |
if (pr_netaddr_use_ipv6()) { |
d19fbc6076b9
19668629 proftpd doesn't handle IPV6_TCLASS properly
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff
changeset
|
10 |
/* Only set TCLASS flags on IPv6 sockets; IPv4 sockets use TOS. */ |
d19fbc6076b9
19668629 proftpd doesn't handle IPV6_TCLASS properly
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff
changeset
|
11 |
if (pr_netaddr_get_family(c->local_addr) == AF_INET6) { |
d19fbc6076b9
19668629 proftpd doesn't handle IPV6_TCLASS properly
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff
changeset
|
12 |
+ int level = ipv6_proto; |
d19fbc6076b9
19668629 proftpd doesn't handle IPV6_TCLASS properly
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff
changeset
|
13 |
if (c->listen_fd != -1) { |
d19fbc6076b9
19668629 proftpd doesn't handle IPV6_TCLASS properly
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff
changeset
|
14 |
- if (setsockopt(c->listen_fd, ip_level, IPV6_TCLASS, (void *) &tos, |
d19fbc6076b9
19668629 proftpd doesn't handle IPV6_TCLASS properly
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff
changeset
|
15 |
+ if (setsockopt(c->listen_fd, level, IPV6_TCLASS, (void *) &tos, |
d19fbc6076b9
19668629 proftpd doesn't handle IPV6_TCLASS properly
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff
changeset
|
16 |
sizeof(tos)) < 0) { |
d19fbc6076b9
19668629 proftpd doesn't handle IPV6_TCLASS properly
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff
changeset
|
17 |
pr_log_pri(PR_LOG_NOTICE, "error setting listen fd IPV6_TCLASS: %s", |
d19fbc6076b9
19668629 proftpd doesn't handle IPV6_TCLASS properly
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff
changeset
|
18 |
strerror(errno)); |