Author: tuexen
Date: Fri May 17 22:26:05 2013
New Revision: 250756
URL: http://svnweb.freebsd.org/changeset/base/250756

Log:
  Set errno to ETIMEDOUT if an SCTP association times out during
  setup.
  
  MFC after: 1 week

Modified:
  head/sys/netinet/sctputil.c

Modified: head/sys/netinet/sctputil.c
==============================================================================
--- head/sys/netinet/sctputil.c Fri May 17 22:18:27 2013        (r250755)
+++ head/sys/netinet/sctputil.c Fri May 17 22:26:05 2013        (r250756)
@@ -2688,8 +2688,14 @@ set_error:
                                stcb->sctp_socket->so_error = ECONNRESET;
                        }
                } else {
-                       SCTP_LTRACE_ERR_RET(NULL, stcb, NULL, 
SCTP_FROM_SCTPUTIL, ECONNABORTED);
-                       stcb->sctp_socket->so_error = ECONNABORTED;
+                       if ((SCTP_GET_STATE(&stcb->asoc) == 
SCTP_STATE_COOKIE_WAIT) ||
+                           (SCTP_GET_STATE(&stcb->asoc) == 
SCTP_STATE_COOKIE_ECHOED)) {
+                               SCTP_LTRACE_ERR_RET(NULL, stcb, NULL, 
SCTP_FROM_SCTPUTIL, ETIMEDOUT);
+                               stcb->sctp_socket->so_error = ETIMEDOUT;
+                       } else {
+                               SCTP_LTRACE_ERR_RET(NULL, stcb, NULL, 
SCTP_FROM_SCTPUTIL, ECONNABORTED);
+                               stcb->sctp_socket->so_error = ECONNABORTED;
+                       }
                }
        }
        /* Wake ANY sleepers */
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to