Stephen Hemminger
e802af9cab
IPv6: Generic TTL Security Mechanism (final version)
...
This patch adds IPv6 support for RFC5082 Generalized TTL Security Mechanism.
Not to users of mapped address; the IPV6 and IPV4 socket options are seperate.
The server does have to deal with both IPv4 and IPv6 socket options
and the client has to handle the different for each family.
On client:
int ttl = 255;
getaddrinfo(argv[1], argv[2], &hint, &result);
for (rp = result; rp != NULL; rp = rp->ai_next) {
s = socket(rp->ai_family, rp->ai_socktype, rp->ai_protocol);
if (s < 0) continue;
if (rp->ai_family == AF_INET) {
setsockopt(s, IPPROTO_IP, IP_TTL, &ttl, sizeof(ttl));
} else if (rp->ai_family == AF_INET6) {
setsockopt(s, IPPROTO_IPV6, IPV6_UNICAST_HOPS,
&ttl, sizeof(ttl)))
}
if (connect(s, rp->ai_addr, rp->ai_addrlen) == 0) {
...
On server:
int minttl = 255 - maxhops;
getaddrinfo(NULL, port, &hints, &result);
for (rp = result; rp != NULL; rp = rp->ai_next) {
s = socket(rp->ai_family, rp->ai_socktype, rp->ai_protocol);
if (s < 0) continue;
if (rp->ai_family == AF_INET6)
setsockopt(s, IPPROTO_IPV6, IPV6_MINHOPCOUNT,
&minttl, sizeof(minttl));
setsockopt(s, IPPROTO_IP, IP_MINTTL, &minttl, sizeof(minttl));
if (bind(s, rp->ai_addr, rp->ai_addrlen) == 0)
break
...
Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2010-04-22 15:24:53 -07:00
..
9p
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs
2010-04-05 13:42:54 -07:00
802
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
2010-04-11 14:53:53 -07:00
8021q
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
2010-04-11 14:53:53 -07:00
appletalk
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
2010-04-11 14:53:53 -07:00
atm
net: sk_sleep() helper
2010-04-20 16:37:13 -07:00
ax25
net: sk_sleep() helper
2010-04-20 16:37:13 -07:00
bluetooth
net: sk_sleep() helper
2010-04-20 16:37:13 -07:00
bridge
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
2010-04-21 01:14:25 -07:00
caif
net: sk_sleep() helper
2010-04-20 16:37:13 -07:00
can
can: avoids a false warning
2010-04-13 03:03:14 -07:00
core
net: Orphan and de-dst skbs earlier in xmit path.
2010-04-22 01:02:07 -07:00
dcb
include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h
2010-03-30 22:02:32 +09:00
dccp
net: sk_sleep() helper
2010-04-20 16:37:13 -07:00
decnet
net: sk_sleep() helper
2010-04-20 16:37:13 -07:00
dsa
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
2010-04-11 14:53:53 -07:00
econet
include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h
2010-03-30 22:02:32 +09:00
ethernet
ethernet: print protocol in host byte order
2010-04-21 22:57:19 -07:00
ieee802154
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
2010-04-06 08:34:06 -07:00
ipv4
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
2010-04-21 01:14:25 -07:00
ipv6
IPv6: Generic TTL Security Mechanism (final version)
2010-04-22 15:24:53 -07:00
ipx
include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h
2010-03-30 22:02:32 +09:00
irda
net: sk_sleep() helper
2010-04-20 16:37:13 -07:00
iucv
net: sk_sleep() helper
2010-04-20 16:37:13 -07:00
key
include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h
2010-03-30 22:02:32 +09:00
l2tp
net: replace ipfragok with skb->local_df
2010-04-15 23:36:37 -07:00
lapb
include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h
2010-03-30 22:02:32 +09:00
llc
net: sk_sleep() helper
2010-04-20 16:37:13 -07:00
mac80211
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
2010-04-21 01:14:25 -07:00
netfilter
net: sk_sleep() helper
2010-04-20 16:37:13 -07:00
netlabel
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
2010-04-06 08:34:06 -07:00
netlink
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
2010-04-11 14:53:53 -07:00
netrom
net: sk_sleep() helper
2010-04-20 16:37:13 -07:00
packet
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
2010-04-21 01:14:25 -07:00
phonet
include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h
2010-03-30 22:02:32 +09:00
rds
net: sk_sleep() helper
2010-04-20 16:37:13 -07:00
rfkill
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
2010-04-11 14:53:53 -07:00
rose
net: sk_sleep() helper
2010-04-20 16:37:13 -07:00
rxrpc
net: sk_sleep() helper
2010-04-20 16:37:13 -07:00
sched
net: Fix various endianness glitches
2010-04-20 19:06:52 -07:00
sctp
net: sk_sleep() helper
2010-04-20 16:37:13 -07:00
sunrpc
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
2010-04-21 01:14:25 -07:00
tipc
net: sk_sleep() helper
2010-04-20 16:37:13 -07:00
unix
net: sk_sleep() helper
2010-04-20 16:37:13 -07:00
wanrouter
wimax
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
2010-04-11 14:53:53 -07:00
wireless
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem
2010-04-15 16:21:34 -04:00
x25
net: sk_sleep() helper
2010-04-20 16:37:13 -07:00
xfrm
net: Fix various endianness glitches
2010-04-20 19:06:52 -07:00
compat.c
include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h
2010-03-30 22:02:32 +09:00
Kconfig
l2tp: Split pppol2tp patch into separate l2tp and ppp parts
2010-04-03 14:56:02 -07:00
Makefile
l2tp: Split pppol2tp patch into separate l2tp and ppp parts
2010-04-03 14:56:02 -07:00
nonet.c
socket.c
fasync: RCU and fine grained locking
2010-04-21 16:19:29 -07:00
sysctl_net.c
net: spread __net_init, __net_exit
2010-01-17 19:16:02 -08:00
TUNABLE