diff options
author | jesper <jesper@FreeBSD.org> | 2001-02-22 21:23:45 +0000 |
---|---|---|
committer | jesper <jesper@FreeBSD.org> | 2001-02-22 21:23:45 +0000 |
commit | 65fa889a568f28016bc5b0bec0e238ae1ba5f299 (patch) | |
tree | 01d0c2e0ae3ce1757ab23b1a35913eb437998527 /sys/netinet/in_pcb.h | |
parent | c3777b879606a977b736ee62694097a83a1fa76a (diff) | |
download | FreeBSD-src-65fa889a568f28016bc5b0bec0e238ae1ba5f299.zip FreeBSD-src-65fa889a568f28016bc5b0bec0e238ae1ba5f299.tar.gz |
Redo the security update done in rev 1.54 of src/sys/netinet/tcp_subr.c
and 1.84 of src/sys/netinet/udp_usrreq.c
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: jlemon
Inspired by: NetBSD
Diffstat (limited to 'sys/netinet/in_pcb.h')
-rw-r--r-- | sys/netinet/in_pcb.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/sys/netinet/in_pcb.h b/sys/netinet/in_pcb.h index 08b1627..7e4cfbe 100644 --- a/sys/netinet/in_pcb.h +++ b/sys/netinet/in_pcb.h @@ -274,6 +274,7 @@ extern int ipport_hifirstauto; extern int ipport_hilastauto; void in_losing __P((struct inpcb *)); +void in_rtchange __P((struct inpcb *, int)); int in_pcballoc __P((struct socket *, struct inpcbinfo *, struct proc *)); int in_pcbbind __P((struct inpcb *, struct sockaddr *, struct proc *)); int in_pcbconnect __P((struct inpcb *, struct sockaddr *, struct proc *)); @@ -292,6 +293,8 @@ struct inpcb * void in_pcbnotify __P((struct inpcbhead *, struct sockaddr *, u_int, struct in_addr, u_int, int, void (*)(struct inpcb *, int), u_int32_t, int)); +void in_pcbnotifyall __P((struct inpcbhead *, struct sockaddr *, + int, void (*)(struct inpcb *, int))); void in_pcbrehash __P((struct inpcb *)); int in_setpeeraddr __P((struct socket *so, struct sockaddr **nam)); int in_setsockaddr __P((struct socket *so, struct sockaddr **nam)); |