summaryrefslogtreecommitdiffstats
path: root/sys/netinet/sctp_input.c
diff options
context:
space:
mode:
authorrrs <rrs@FreeBSD.org>2006-11-05 13:25:18 +0000
committerrrs <rrs@FreeBSD.org>2006-11-05 13:25:18 +0000
commit20dc61d3a46238522e738dd8dde26965d5ce46dd (patch)
tree0917b677ec5366916adb9fc52ff977feb016deb1 /sys/netinet/sctp_input.c
parent21ab4f8a250dc1903e52406d7a88f2bc912fb733 (diff)
downloadFreeBSD-src-20dc61d3a46238522e738dd8dde26965d5ce46dd.zip
FreeBSD-src-20dc61d3a46238522e738dd8dde26965d5ce46dd.tar.gz
Tons of fixes to get all the 64bit issues removed.
This also moves two 16 bit int's to become 32 bit values so we do not have to use atomic_add_16. Most of the changes are %p, casts and other various nasty's that were in the orignal code base. With this commit my machine will now do a build universe.. however I as yet have not tested on a 64bit machine .. it may not work :-(
Diffstat (limited to 'sys/netinet/sctp_input.c')
-rw-r--r--sys/netinet/sctp_input.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/sys/netinet/sctp_input.c b/sys/netinet/sctp_input.c
index 755d53e..1545e8c 100644
--- a/sys/netinet/sctp_input.c
+++ b/sys/netinet/sctp_input.c
@@ -587,6 +587,7 @@ sctp_handle_shutdown(struct sctp_shutdown_chunk *cp,
}
stcb->asoc.control_pdapi = NULL;
SCTP_INP_READ_UNLOCK(stcb->sctp_ep);
+ sctp_sorwakeup(stcb->sctp_ep, stcb->sctp_socket);
}
/* goto SHUTDOWN_RECEIVED state to block new requests */
if (stcb->sctp_socket) {
@@ -677,6 +678,7 @@ sctp_handle_shutdown_ack(struct sctp_shutdown_ack_chunk *cp,
}
stcb->asoc.control_pdapi = NULL;
SCTP_INP_READ_UNLOCK(stcb->sctp_ep);
+ sctp_sorwakeup(stcb->sctp_ep, stcb->sctp_socket);
}
/* are the queues empty? */
if (!TAILQ_EMPTY(&asoc->send_queue) ||
@@ -4314,8 +4316,8 @@ sctp_common_input_processing(struct mbuf **mm, int iphlen, int offset,
#ifdef SCTP_DEBUG
if (sctp_debug_on & SCTP_DEBUG_INPUT1) {
- printf("Ok, Common input processing called, m:%x iphlen:%d offset:%d\n",
- (uint32_t) m, iphlen, offset);
+ printf("Ok, Common input processing called, m:%p iphlen:%d offset:%d\n",
+ m, iphlen, offset);
}
#endif /* SCTP_DEBUG */
@@ -4624,8 +4626,8 @@ sctp_input(m, off)
if (calc_check != check) {
#ifdef SCTP_DEBUG
if (sctp_debug_on & SCTP_DEBUG_INPUT1) {
- printf("Bad CSUM on SCTP packet calc_check:%x check:%x m:%x mlen:%d iphlen:%d\n",
- calc_check, check, (uint32_t) m, mlen, iphlen);
+ printf("Bad CSUM on SCTP packet calc_check:%x check:%x m:%p mlen:%d iphlen:%d\n",
+ calc_check, check, m, mlen, iphlen);
}
#endif
@@ -4700,7 +4702,7 @@ sctp_skip_csum_4:
* idea, so I will leave it in place.
*/
- if (ipsec4_in_reject_so(m, inp->ip_inp.inp.inp_socket)) {
+ if (inp && ipsec4_in_reject(m, &inp->ip_inp.inp)) {
ipsecstat.in_polvio++;
SCTP_STAT_INCR(sctps_hdrops);
goto bad;
OpenPOWER on IntegriCloud