Commit 990d1889 authored by Jon Grimm's avatar Jon Grimm Committed by Jon Grimm

Update statetable for prm ABORT and prm SHUTDOWN in the closed state (this...

Update statetable for prm ABORT and prm SHUTDOWN in the closed state (this should turn into an error just like we do in prm SEND).
parent 5d326e99
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
* *
* This file is part of the SCTP kernel reference Implementation * This file is part of the SCTP kernel reference Implementation
* *
* $Header: /cvsroot/lksctp/lksctp/sctp_cvs/net/sctp/sctp_sm_statetable.c,v 1.20 2002/08/21 18:34:04 jgrimm Exp $ * $Header: /cvsroot/lksctp/lksctp/sctp_cvs/net/sctp/sctp_sm_statetable.c,v 1.21 2002/08/22 02:25:33 jgrimm Exp $
* *
* These are the state tables for the SCTP state machine. * These are the state tables for the SCTP state machine.
* *
...@@ -45,7 +45,7 @@ ...@@ -45,7 +45,7 @@
* Any bugs reported given to us we will try to fix... any fixes shared will * Any bugs reported given to us we will try to fix... any fixes shared will
* be incorporated into the next SCTP release. * be incorporated into the next SCTP release.
*/ */
static char *cvs_id __attribute__ ((unused)) = "$Id: sctp_sm_statetable.c,v 1.20 2002/08/21 18:34:04 jgrimm Exp $"; static char *cvs_id __attribute__ ((unused)) = "$Id: sctp_sm_statetable.c,v 1.21 2002/08/22 02:25:33 jgrimm Exp $";
#include <linux/skbuff.h> #include <linux/skbuff.h>
#include <net/sctp/sctp.h> #include <net/sctp/sctp.h>
...@@ -685,7 +685,7 @@ chunk_event_table_asconf_ack[SCTP_STATE_NUM_STATES] = { ...@@ -685,7 +685,7 @@ chunk_event_table_asconf_ack[SCTP_STATE_NUM_STATES] = {
{fn: sctp_sf_bug, name: "sctp_sf_bug"}, \ {fn: sctp_sf_bug, name: "sctp_sf_bug"}, \
\ \
/* SCTP_STATE_CLOSED */ \ /* SCTP_STATE_CLOSED */ \
{fn: sctp_sf_not_impl, name: "sctp_sf_not_impl"}, \ {fn: sctp_sf_error_closed, name: "sctp_sf_error_closed"}, \
\ \
/* SCTP_STATE_COOKIE_WAIT */ \ /* SCTP_STATE_COOKIE_WAIT */ \
{fn: sctp_sf_cookie_wait_prm_shutdown, \ {fn: sctp_sf_cookie_wait_prm_shutdown, \
...@@ -718,7 +718,7 @@ chunk_event_table_asconf_ack[SCTP_STATE_NUM_STATES] = { ...@@ -718,7 +718,7 @@ chunk_event_table_asconf_ack[SCTP_STATE_NUM_STATES] = {
{fn: sctp_sf_bug, name: "sctp_sf_bug"}, \ {fn: sctp_sf_bug, name: "sctp_sf_bug"}, \
\ \
/* SCTP_STATE_CLOSED */ \ /* SCTP_STATE_CLOSED */ \
{fn: sctp_sf_not_impl, name: "sctp_sf_not_impl"}, \ {fn: sctp_sf_error_closed, name: "sctp_sf_error_closed"}, \
\ \
/* SCTP_STATE_COOKIE_WAIT */ \ /* SCTP_STATE_COOKIE_WAIT */ \
{fn: sctp_sf_cookie_wait_prm_abort, \ {fn: sctp_sf_cookie_wait_prm_abort, \
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
* *
* This file is part of the SCTP kernel reference Implementation * This file is part of the SCTP kernel reference Implementation
* *
* $Header: /cvsroot/lksctp/lksctp/sctp_cvs/net/sctp/sctp_socket.c,v 1.63 2002/08/21 18:34:04 jgrimm Exp $ * $Header: /cvsroot/lksctp/lksctp/sctp_cvs/net/sctp/sctp_socket.c,v 1.64 2002/08/21 23:06:28 jgrimm Exp $
* *
* These functions interface with the sockets layer to implement the * These functions interface with the sockets layer to implement the
* SCTP Extensions for the Sockets API. * SCTP Extensions for the Sockets API.
...@@ -53,7 +53,7 @@ ...@@ -53,7 +53,7 @@
* Any bugs reported given to us we will try to fix... any fixes shared will * Any bugs reported given to us we will try to fix... any fixes shared will
* be incorporated into the next SCTP release. * be incorporated into the next SCTP release.
*/ */
static char *cvs_id __attribute__ ((unused)) = "$Id: sctp_socket.c,v 1.63 2002/08/21 18:34:04 jgrimm Exp $"; static char *cvs_id __attribute__ ((unused)) = "$Id: sctp_socket.c,v 1.64 2002/08/21 23:06:28 jgrimm Exp $";
#include <linux/config.h> #include <linux/config.h>
#include <linux/types.h> #include <linux/types.h>
...@@ -837,9 +837,8 @@ sctp_sendmsg(struct sock *sk, struct msghdr *msg, int size) ...@@ -837,9 +837,8 @@ sctp_sendmsg(struct sock *sk, struct msghdr *msg, int size)
SCTP_DEBUG_PRINTK("msg_len: %d, sinfo_flags: 0x%x\n", SCTP_DEBUG_PRINTK("msg_len: %d, sinfo_flags: 0x%x\n",
msg_len, sinfo_flags); msg_len, sinfo_flags);
/* FIXME: Support MSG_ABORT. */ /* If MSG_EOF|MSG_ABORT is set, no data can be sent. Disallow
/* If MSG_EOF|MSG_ABORT is set, no data can be sent. Disallow sending 0-length * sending 0-length messages when MSG_EOF|MSG_ABORT is not set.
* messages when MSG_EOF|MSG_ABORT is not set.
*/ */
if (((sinfo_flags & (MSG_EOF|MSG_ABORT)) && (msg_len > 0)) if (((sinfo_flags & (MSG_EOF|MSG_ABORT)) && (msg_len > 0))
|| (!(sinfo_flags & (MSG_EOF|MSG_ABORT)) && (msg_len == 0))) { || (!(sinfo_flags & (MSG_EOF|MSG_ABORT)) && (msg_len == 0))) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment