Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 28 Sep 1997 13:04:51 +1000 (EST)
From:      Ada T Lim <ada@not-enough.bandwidth.org>
To:        FreeBSD-gnats-submit@FreeBSD.ORG
Subject:   kern/4642: Treatment of unknown IP options breaks rfc2113
Message-ID:  <199709280304.NAA02872@polya.blah.org>
Resent-Message-ID: <199709280310.UAA01863@hub.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         4642
>Category:       kern
>Synopsis:       Treatment of unknown IP options breaks rfc2113
>Confidential:   yes
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          open
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sat Sep 27 20:10:00 PDT 1997
>Last-Modified:
>Originator:     Ada Lim
>Organization:
>Release:        FreeBSD 2.2-STABLE i386
>Environment:
>Description:
RFC 2113 (Router Alert Option) states:

2.2  Semantics

   Hosts shall ignore this option.  Routers that do not recognize this
   option shall ignore it.  Routers that recognize this option shall

ip_input.c:
[check options]
                        default:
                                goto bad;
.
.
.

bad:
        ip->ip_len -= IP_VHL_HL(ip->ip_vhl) << 2;   /* XXX icmp_error adds in hd
r length */
        icmp_error(m, type, code, 0, 0);
        ipstat.ips_badoptions++;
        return (1);

This also breaks the handling of any new, experimental IP options as they
occur.  

What would be preferable is to just allow default to fall-through and silently
ignore any unknown options.
>How-To-Repeat:
>Fix:

Remove the goto bad; :)

>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199709280304.NAA02872>