diff options
author | rrs <rrs@FreeBSD.org> | 2007-05-02 12:50:13 +0000 |
---|---|---|
committer | rrs <rrs@FreeBSD.org> | 2007-05-02 12:50:13 +0000 |
commit | 803b9be8be0827d6f2fde839f6dcd9225a2609be (patch) | |
tree | 93ea4f957056813b10463b788259dc0304a365e3 /sys/netinet/sctp_peeloff.c | |
parent | 78898ea5a86dc4f5a06f63d1f2c50c2c6497bef9 (diff) | |
download | FreeBSD-src-803b9be8be0827d6f2fde839f6dcd9225a2609be.zip FreeBSD-src-803b9be8be0827d6f2fde839f6dcd9225a2609be.tar.gz |
- Somehow the disable fragment option got lost. We could
set/clear it but would not do it. Now we will.
- Moved to latest socket api for extended sndrcv info struct.
- Moved to support all new levels of fragment interleave (0-2).
- Codenomicon security test updates - length checks and such.
- Bug in stream reset (2 actually).
- setpeerprimary could unlock a null pointer, fixed.
- Added a flag in the pcb so netstat can see if we are listening easier.
Obtained from: (some of the Listen changes from Weongyo Jeong)
Diffstat (limited to 'sys/netinet/sctp_peeloff.c')
-rw-r--r-- | sys/netinet/sctp_peeloff.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/netinet/sctp_peeloff.c b/sys/netinet/sctp_peeloff.c index 81f3924..35696fd 100644 --- a/sys/netinet/sctp_peeloff.c +++ b/sys/netinet/sctp_peeloff.c @@ -99,7 +99,7 @@ sctp_do_peeloff(struct socket *head, struct socket *so, sctp_assoc_t assoc_id) */ sctp_move_pcb_and_assoc(inp, n_inp, stcb); - sctp_pull_off_control_to_new_inp(inp, n_inp, stcb); + sctp_pull_off_control_to_new_inp(inp, n_inp, stcb, M_WAITOK); SCTP_TCB_UNLOCK(stcb); return (0); @@ -196,7 +196,7 @@ sctp_get_peeloff(struct socket *head, sctp_assoc_t assoc_id, int *error) * And now the final hack. We move data in the pending side i.e. * head to the new socket buffer. Let the GRUBBING begin :-0 */ - sctp_pull_off_control_to_new_inp(inp, n_inp, stcb); + sctp_pull_off_control_to_new_inp(inp, n_inp, stcb, M_WAITOK); SCTP_TCB_UNLOCK(stcb); return (newso); |