Author: tuexen
Date: Sun Jul  7 16:55:57 2013
New Revision: 252973
URL: http://svnweb.freebsd.org/changeset/base/252973

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

Modified:
  stable/9/sys/netinet/sctputil.c
Directory Properties:
  stable/9/sys/   (props changed)

Modified: stable/9/sys/netinet/sctputil.c
==============================================================================
--- stable/9/sys/netinet/sctputil.c     Sun Jul  7 16:53:44 2013        
(r252972)
+++ stable/9/sys/netinet/sctputil.c     Sun Jul  7 16:55:57 2013        
(r252973)
@@ -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 */
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-stable-9
To unsubscribe, send any mail to "[email protected]"

Reply via email to