no-ripemd,
no-rmd160,
no-scrypt,
- no-sctp,
+ enable-sctp,
no-secure-memory,
no-seed,
no-shared,
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
+ - name: Install Dependencies for sctp option
+ run: |
+ sudo apt-get update
+ sudo apt-get -yq install lksctp-tools libsctp-dev
+ sudo sysctl -w net.sctp.auth_enable=1
+ if: matrix.opt == 'enable-sctp'
- name: config
run: CC=clang ./config --banner=Configured --strict-warnings ${{ matrix.opt }}
- name: config dump
#ifndef OPENSSL_NO_SCTP
/* Store bio_dgram_sctp_rcvinfo struct */
- if (BIO_dgram_is_sctp(SSL_get_rbio(ssl)) &&
- (SSL_get_state(ssl) == TLS_ST_SR_FINISHED
- || SSL_get_state(ssl) == TLS_ST_CR_FINISHED)) {
- BIO_ctrl(SSL_get_rbio(ssl), BIO_CTRL_DGRAM_SCTP_GET_RCVINFO,
+ if (BIO_dgram_is_sctp(s->rbio) &&
+ (ossl_statem_get_state(s) == TLS_ST_SR_FINISHED
+ || ossl_statem_get_state(s) == TLS_ST_CR_FINISHED)) {
+ BIO_ctrl(s->rbio, BIO_CTRL_DGRAM_SCTP_GET_RCVINFO,
sizeof(rdata->recordinfo), &rdata->recordinfo);
}
#endif
#ifndef OPENSSL_NO_SCTP
/* Restore bio_dgram_sctp_rcvinfo struct */
- if (BIO_dgram_is_sctp(SSL_get_rbio(s))) {
- BIO_ctrl(SSL_get_rbio(s), BIO_CTRL_DGRAM_SCTP_SET_RCVINFO,
- sizeof(rdata->recordinfo), &rdata->recordinfo);
+ if (BIO_dgram_is_sctp(s->rbio)) {
+ BIO_ctrl(s->rbio, BIO_CTRL_DGRAM_SCTP_SET_RCVINFO,
+ sizeof(rdata->recordinfo), &rdata->recordinfo);
}
#endif
&& (sc->statem.state == MSG_FLOW_UNINITED);
}
+OSSL_HANDSHAKE_STATE ossl_statem_get_state(SSL_CONNECTION *s)
+{
+ return s != NULL ? s->statem.hand_state : TLS_ST_BEFORE;
+}
+
/*
* Clear the state machine state and reset back to MSG_FLOW_UNINITED
*/
__owur int ossl_statem_accept(SSL *s);
__owur int ossl_statem_connect(SSL *s);
+OSSL_HANDSHAKE_STATE ossl_statem_get_state(SSL_CONNECTION *s);
void ossl_statem_clear(SSL_CONNECTION *s);
void ossl_statem_set_renegotiate(SSL_CONNECTION *s);
void ossl_statem_send_fatal(SSL_CONNECTION *s, int al);
return WORK_ERROR;
}
- BIO_ctrl(SSL_get_wbio(s), BIO_CTRL_DGRAM_SCTP_ADD_AUTH_KEY,
+ BIO_ctrl(s->wbio, BIO_CTRL_DGRAM_SCTP_ADD_AUTH_KEY,
sizeof(sctpauthkey), sctpauthkey);
}
}