fixed bugs

This commit is contained in:
aiden 2022-08-02 02:59:54 +01:00
parent 43e2cd39cf
commit 0e29089cb6
No known key found for this signature in database
GPG Key ID: 0D87FF3415416DB1
3 changed files with 11 additions and 6 deletions

View File

@ -142,6 +142,9 @@ bool bdd_go(struct bdd_settings settings) {
SSL_CTX_set_min_proto_version(cl_ssl_ctx, TLS1_3_VERSION);
SSL_CTX_set_max_proto_version(cl_ssl_ctx, TLS1_3_VERSION);
bdd_gv.cl_ssl_ctx = cl_ssl_ctx;
if (!SSL_CTX_set_default_verify_paths(cl_ssl_ctx)) {
goto err;
}
// sigmask
bdd_gv.sigmask = settings.sigmask;

View File

@ -466,6 +466,10 @@ bool bdd_io_prep_ssl(struct bdd_conversation *conversation, bdd_io_id io_id, cha
fputs("programming error: bdd_io_prep_ssl called with an io_id which is in an invalid state\n", stderr);
abort();
}
if (ssl_name == NULL) {
fputs("programming error: ssl_name == NULL\n", stderr);
abort();
}
SSL *ssl = SSL_new(bdd_gv.cl_ssl_ctx);
if (ssl == NULL) {
goto err;
@ -511,10 +515,6 @@ bool bdd_io_prep_ssl(struct bdd_conversation *conversation, bdd_io_id io_id, cha
return true;
err:;
/*io->ssl = 0;
if (io->state == bdd_io_prepd_ssl) {
bdd_io_state(io, bdd_io_obtained);
}*/
if (ssl != NULL) {
SSL_free(ssl);
}

View File

@ -144,7 +144,7 @@ void *bdd_serve(struct bdd_worker_data *worker_data) {
if (!bdd_io_state(io, bdd_io_est)) {
goto conversation_discard;
}
break;
goto remove_event;
}
case (bdd_cont_discard): {
ev->events = bdd_ev_removed_err;
@ -153,11 +153,13 @@ void *bdd_serve(struct bdd_worker_data *worker_data) {
}
break;
}
case (bdd_cont_inprogress): {
goto remove_event;
}
default: {
abort();
}
}
goto remove_event;
} else if (ev->events & bdd_ev_err) {
ev->events &= ~bdd_ev_out;
if (bdd_io_hup(io, false)) {