⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 277332 in webkit


Ignore:
Timestamp:
May 11, 2021, 11:01:25 AM (5 years ago)
Author:
youenn@apple.com
Message:

Improve usrsctp restart handling
https://bugs.webkit.org/show_bug.cgi?id=225638
<rdar://77582953>

Reviewed by Alex Christensen.

  • Source/third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_input.c:

(sctp_process_cookie_existing):

Location:
trunk/Source/ThirdParty/libwebrtc
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/ThirdParty/libwebrtc/ChangeLog

    r277176 r277332  
     12021-05-11  Youenn Fablet  <youenn@apple.com>
     2
     3        Improve usrsctp restart handling
     4        https://bugs.webkit.org/show_bug.cgi?id=225638
     5        <rdar://77582953>
     6
     7        Reviewed by Alex Christensen.
     8
     9        * Source/third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_input.c:
     10        (sctp_process_cookie_existing):
     11
    1122021-05-07  Alex Christensen  <achristensen@webkit.org>
    213
  • trunk/Source/ThirdParty/libwebrtc/Source/third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_input.c

    r272216 r277332  
    20062006                if (how_indx < sizeof(asoc->cookie_how))
    20072007                        asoc->cookie_how[how_indx] = 12;
    2008                 sctp_timer_stop(SCTP_TIMER_TYPE_INIT, inp, stcb, net,
    2009                                 SCTP_FROM_SCTP_INPUT + SCTP_LOC_16);
    2010                 sctp_timer_stop(SCTP_TIMER_TYPE_HEARTBEAT, inp, stcb, net,
    2011                                 SCTP_FROM_SCTP_INPUT + SCTP_LOC_17);
    2012 
     2008                sctp_stop_association_timers(stcb, false);
    20132009                /* notify upper layer */
    20142010                *notification = SCTP_NOTIFY_ASSOC_RESTART;
     
    20432039                asoc->advanced_peer_ack_point = asoc->last_acked_seq;
    20442040                asoc->send_sack = 1;
     2041                asoc->data_pkts_seen = 0;
     2042                asoc->last_data_chunk_from = NULL;
     2043                asoc->last_control_chunk_from = NULL;
     2044                asoc->last_net_cmt_send_started = NULL;
    20452045                if (asoc->mapping_array) {
    20462046                        memset(asoc->mapping_array, 0,
     
    21072107                        SCTP_DECR_CHK_COUNT();
    21082108                }
     2109                asoc->ctrl_queue_cnt = 0;
     2110                asoc->str_reset = NULL;
     2111                asoc->stream_reset_outstanding = 0;
    21092112                TAILQ_FOREACH_SAFE(chk, &asoc->asconf_send_queue, sctp_next, nchk) {
    21102113                        TAILQ_REMOVE(&asoc->asconf_send_queue, chk, sctp_next);
     
    21772180                }
    21782181                /* respond with a COOKIE-ACK */
    2179                 sctp_stop_all_cookie_timers(stcb);
    2180                 sctp_toss_old_cookies(stcb, asoc);
    21812182                sctp_send_cookie_ack(stcb);
    21822183                if (how_indx < sizeof(asoc->cookie_how))
    21832184                        asoc->cookie_how[how_indx] = 15;
    2184 
     2185                if (sctp_is_feature_on(inp, SCTP_PCB_FLAGS_AUTOCLOSE) &&
     2186                    (asoc->sctp_autoclose_ticks > 0)) {
     2187                        sctp_timer_start(SCTP_TIMER_TYPE_AUTOCLOSE, inp, stcb, NULL);
     2188                }
    21852189                return (stcb);
    21862190        }
Note: See TracChangeset for help on using the changeset viewer.