diff options
Diffstat (limited to 'c/src/exec/libnetworking')
-rw-r--r-- | c/src/exec/libnetworking/ChangeLog | 6 | ||||
-rw-r--r-- | c/src/exec/libnetworking/net/radix.c | 5 |
2 files changed, 10 insertions, 1 deletions
diff --git a/c/src/exec/libnetworking/ChangeLog b/c/src/exec/libnetworking/ChangeLog index a0a3ae1c5a..57af52c6d8 100644 --- a/c/src/exec/libnetworking/ChangeLog +++ b/c/src/exec/libnetworking/ChangeLog @@ -1,3 +1,9 @@ +2002-02-27 Eric Norum <eric.norum@usask.ca> + + * net/radix.c: Properly handle fetching the default route when there + is no route. This was a bug in the original FreeBSD code and this + fix is from an updated version of their code. + 2001-02-01 Mike Siers <mikes@poliac.com> * pppd/rtemspppd.c (rtems_pppd_disconnect): Modified to avoid bringing diff --git a/c/src/exec/libnetworking/net/radix.c b/c/src/exec/libnetworking/net/radix.c index bc1b7ee1d1..d7419ccca4 100644 --- a/c/src/exec/libnetworking/net/radix.c +++ b/c/src/exec/libnetworking/net/radix.c @@ -264,8 +264,11 @@ rn_match(v_arg, head) /* * This extra grot is in case we are explicitly asked * to look up the default. Ugh! + * + * Never return the root node itself, it seems to cause a + * lot of confusion. */ - if ((t->rn_flags & RNF_ROOT) && t->rn_dupedkey) + if (t->rn_flags & RNF_ROOT) t = t->rn_dupedkey; return t; on1: |