- disable IPv6 operation if DAD fails for some EUI-64 link-local addresses.
- export get_hw_ifid() (and rename it) as a subroutine for this process.
Revision Changes Path
1.30 +5 -6 src/sys/netinet6/in6_ifattach.c
1.6 +1 -0 src/sys/netinet6/in6_ifattach.h
1.36 +39 -2 src/sys/netinet6/nd6_nbr.c
- pmcstat(8) 32-bit executables handling problem on FreeBSD/amd64[1],
- boot-time panic on some PowerMac G4 systems[2], and
- incompatible change of LC_* in 6.0-RELEASE and misc/compat5x.
Submitted by: jkoshy[1], grehan[2]
than 8 entries in the 0xe821 map. This includes things like ACPI
exclusion zones, memory segments and recoverable memory segments after
the kernel has booted.
one worried too much even though we actually validate the parameters.
This code also is more compatible with other *BSDs, which do copyin
within setsockopt().
- most of the kernel code will not care about the actual encoding of
scope zone IDs and won't touch "s6_addr16[1]" directly.
- similarly, most of the kernel code will not care about link-local
scoped addresses as a special case.
- scope boundary check will be stricter. For example, the current
*BSD code allows a packet with src=::1 and dst=(some global IPv6
address) to be sent outside of the node, if the application do:
s = socket(AF_INET6);
bind(s, "::1");
sendto(s, some_global_IPv6_addr);
This is clearly wrong, since ::1 is only meaningful within a single
node, but the current implementation of the *BSD kernel cannot
reject this attempt.
sys/net/if_gif.c: 1.53
sys/net/if_spppsubr.c: 1.120
sys/netinet/icmp6.h: 1.19
sys/netinet/ip_carp.c: 1.28,1.29
sys/netinet/ip_fw2.c: 1.107
sys/netinet/tcp_subr.c: 1.230,1.231,1.235
sys/netinet/tcp_usrreq.c: 1.125
sys/netinet6/ah_core.c: 1.26
sys/netinet6/icmp6.c: 1.63,1.64
sys/netinet6/in6.c: 1.52
sys/netinet6/in6.h: 1.38
sys/netinet6/in6_cksum.c: 1.11
sys/netinet6/in6_ifattach.c: 1.27
sys/netinet6/in6_pcb.c: 1.63
sys/netinet6/in6_proto.c: 1.33
sys/netinet6/in6_src.c: 1.31,1.32
sys/netinet6/in6_var.h: 1.22
sys/netinet6/ip6_forward.c: 1.29
sys/netinet6/ip6_input.c: 1.83
sys/netinet6/ip6_mroute.c: 1.30
sys/netinet6/ip6_output.c: 1.95
sys/netinet6/ip6_var.h: 1.33
sys/netinet6/ipsec.c: 1.43
sys/netinet6/mld6.c: 1.21
sys/netinet6/nd6.c: 1.50
sys/netinet6/nd6_nbr.c: 1.30
sys/netinet6/nd6_rtr.c: 1.27
sys/netinet6/raw_ip6.c: 1.54
sys/netinet6/route6.c: 1.12
sys/netinet6/scope6.c: 1.13,1.14,1.15
sys/netinet6/scope6_var.h: 1.5
sys/netinet6/udp6_output.c: 1.23
sys/netinet6/udp6_usrreq.c: 1.55
sys/netkey/key.c: 1.72,1.73
in6p_outputopts at the entrance of the functions. this trick was
necessary when we passed an in6 pcb to in6_embedscope(), within which
the in6p_outputopts member was used, but we do not use this kind of
interface any more.
sys/netinet6/raw_ip6.c: 1.52
sys/netinet6/udp6_output.c: 1.21
| Fix parsing of mdmfs(8) option "-w <user>:<group>" in case <user> or
| <group> is a numeric user/group ID instead of a user/group name (as
| explicitly intended to be allowed by both the manual page and the
| implementation).
|
| Before this fix, mdmfs(8) aborted:
|
| | # mdmfs -s 32m -w 0:0 md /var/tmp/foo
| | Assertion failed: (mip->mi_have_uid), function extract_ugid, file /usr/src/sbin/mdmfs/mdmfs.c, line 555.
| | Abort trap (core dumped)
|
| The "mi_have_[ug]id" fields were only set in case a name lookup was
| successful. Instead they also have to be set in case the string to
| integer conversion was successful.
|
| Additionally, as a result of this fix, two assertions at the end of
| the function are now always true and hence can be just be removed. It
| is guarrantied that both the UID and the GID are set when the function
| returns regularily, else it would have been already bailed out with
| usage()/exit(3) or errx(3) before.
|
| Spotted by: Christoph Schug <chris@schug.net>
- First fill in structure with valid values, and only then attach it
to the global list.
- In in_addprefix() compare not only route addresses, but their masks,
too. This fixes problem when connected prefixes overlap.