Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 24 Feb 2001 10:36:03 -0800 (PST)
From:      Jesper Skriver <jesper@FreeBSD.org>
To:        cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/sys/netinet in_pcb.c in_pcb.h tcp_subr.c udp_usrreq.c
Message-ID:  <200102241836.f1OIa3i61056@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
jesper      2001/02/24 10:36:02 PST

  Modified files:        (Branch: RELENG_4)
    sys/netinet          in_pcb.c in_pcb.h tcp_subr.c udp_usrreq.c 
  Log:
  MFC:
  
  src/sys/netinet/in_pcb.c     rev 1.78
  src/sys/netinet/in_pcb.h     rev 1.36
  src/sys/netinet/tcp_subr.c   rev 1.91
  src/sys/netinet/udp_usrreq.c rev 1.86
  
  Without this a attacker sending ICMP messages, where the attached
  IP header (+ 8 bytes) has the address and port numbers == 0, would
  have the ICMP message applied to all sessions.
  
  The changes broken down:
  
    - remove 0 as a wildcard for addresses and port numbers in
      src/sys/netinet/in_pcb.c:in_pcbnotify()
    - add src/sys/netinet/in_pcb.c:in_pcbnotifyall() used to notify
      all sessions with the specific remote address.
    - change
      - src/sys/netinet/udp_usrreq.c:udp_ctlinput()
      - src/sys/netinet/tcp_subr.c:tcp_ctlinput()
      to use in_pcbnotifyall() to notify multiple sessions, instead of
      using in_pcbnotify() with 0 as src address and as port numbers.
    - remove check for src port == 0 in
      - src/sys/netinet/tcp_subr.c:tcp_ctlinput()
      - src/sys/netinet/udp_usrreq.c:udp_ctlinput()
      as they are no longer needed.
    - move handling of redirects and host dead from in_pcbnotify() to
      udp_ctlinput() and tcp_ctlinput(), so they will call
      in_pcbnotifyall() to notify all sessions with the specific
      remote address.
  
  Approved by:    kris
  Inspired by:    NetBSD
  
  Revision  Changes    Path
  1.59.2.6  +43 -22    src/sys/netinet/in_pcb.c
  1.32.2.1  +4 -1      src/sys/netinet/in_pcb.h
  1.73.2.7  +15 -4     src/sys/netinet/tcp_subr.c
  1.64.2.6  +17 -5     src/sys/netinet/udp_usrreq.c


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message




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