Linux-Event
view release on metacpan or search on metacpan
xstls/TLS.xs view on Meta::CPAN
tls->shutdown_timeout = (double)shutdown_timeout;
tls->ctx = SSL_CTX_new(TLS_server_method());
if (!tls->ctx) {
free(tls);
croak("SSL_CTX_new server failed");
}
SSL_CTX_set_min_proto_version(tls->ctx, TLS1_2_VERSION);
if (SSL_CTX_use_certificate_chain_file(tls->ctx, cert_file) != 1
|| SSL_CTX_use_PrivateKey_file(tls->ctx, key_file,
SSL_FILETYPE_PEM) != 1
|| SSL_CTX_check_private_key(tls->ctx) != 1) {
let_set_error(tls, "failed to load TLS server identity");
snprintf(construction_error, sizeof(construction_error), "%s", tls->error);
SSL_CTX_free(tls->ctx);
free(tls);
croak("%s", construction_error);
}
alpn = (const unsigned char *)SvPVbyte(alpn_sv, alpn_len);
let_copy_alpn(tls, alpn, alpn_len);
if (tls->alpn_len)
SSL_CTX_set_alpn_select_cb(tls->ctx, let_server_alpn_select, tls);
xstls/TLS.xs view on Meta::CPAN
tls->shutdown_timeout = (double)shutdown_timeout;
tls->ctx = SSL_CTX_new(TLS_server_method());
if (!tls->ctx) {
free(tls);
croak("SSL_CTX_new prepared server failed");
}
SSL_CTX_set_min_proto_version(tls->ctx, TLS1_2_VERSION);
if (SSL_CTX_use_certificate_chain_file(tls->ctx, cert_file) != 1
|| SSL_CTX_use_PrivateKey_file(tls->ctx, key_file,
SSL_FILETYPE_PEM) != 1
|| SSL_CTX_check_private_key(tls->ctx) != 1) {
let_set_error(tls, "failed to load prepared TLS server identity");
snprintf(construction_error, sizeof(construction_error), "%s", tls->error);
SSL_CTX_free(tls->ctx);
free(tls);
croak("%s", construction_error);
}
alpn = (const unsigned char *)SvPVbyte(alpn_sv, alpn_len);
config = let_server_config_new(alpn, alpn_len);
if (!config) {
SSL_CTX_free(tls->ctx);
( run in 1.005 second using v1.01-cache-2.11-cpan-8dfa8b56332 )