diff options
author | Ondrej Zajicek <santiago@crfreenet.org> | 2008-11-05 21:39:04 +0100 |
---|---|---|
committer | Ondrej Zajicek <santiago@crfreenet.org> | 2008-11-05 21:39:04 +0100 |
commit | 1389f3699fc643dac6fd4d2f19fb59da3624a2fa (patch) | |
tree | f623daeb3bfcf8dc6c9a6b670e93bab6efa34b25 | |
parent | baa9ef18c62612bd91a8362ef20427046105c113 (diff) | |
download | bird-1389f3699fc643dac6fd4d2f19fb59da3624a2fa.tar bird-1389f3699fc643dac6fd4d2f19fb59da3624a2fa.zip |
Fixes bugs in IPv6 code caused by recent commits.
-rw-r--r-- | proto/bgp/packets.c | 2 | ||||
-rw-r--r-- | sysdep/unix/io.c | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/proto/bgp/packets.c b/proto/bgp/packets.c index 84e6ffd..00cdf03 100644 --- a/proto/bgp/packets.c +++ b/proto/bgp/packets.c @@ -700,7 +700,7 @@ bgp_do_rx_update(struct bgp_conn *conn, /* Create fake NEXT_HOP attribute */ if (len < 1 || (*x != 16 && *x != 32) || len < *x + 2) goto bad; - bgp_attach_attr_ip(&a0->eattrs, bgp_linpool, BA_NEXT_HOP, x[1]); + memcpy(bgp_attach_attr_wa(&a0->eattrs, bgp_linpool, BA_NEXT_HOP, 16), x+1, 16); len -= *x + 2; x += *x + 1; diff --git a/sysdep/unix/io.c b/sysdep/unix/io.c index e67ed80..ddb3c4d 100644 --- a/sysdep/unix/io.c +++ b/sysdep/unix/io.c @@ -616,7 +616,7 @@ sk_set_ttl_int(sock *s) int one = 1; #ifdef IPV6 if (s->type != SK_UDP_MC && s->type != SK_IP_MC && - setsockopt(fd, SOL_IPV6, IPV6_UNICAST_HOPS, &s->ttl, sizeof(s->ttl)) < 0) + setsockopt(s->fd, SOL_IPV6, IPV6_UNICAST_HOPS, &s->ttl, sizeof(s->ttl)) < 0) return "IPV6_UNICAST_HOPS"; #else if (setsockopt(s->fd, SOL_IP, IP_TTL, &s->ttl, sizeof(s->ttl)) < 0) |