projects
/
privoxy.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
fa6f0c2
)
create_client_ssl_connection(): Don't keep the certificate lock longer than necessary
author
Lee
<ler762@users.sourceforge.net>
Fri, 4 Aug 2023 22:08:17 +0000
(18:08 -0400)
committer
Lee
<ler762@users.sourceforge.net>
Fri, 4 Aug 2023 22:08:17 +0000
(18:08 -0400)
openssl.c
patch
|
blob
|
history
ssl.c
patch
|
blob
|
history
diff --git
a/openssl.c
b/openssl.c
index
44e21b2
..
2841c12
100644
(file)
--- a/
openssl.c
+++ b/
openssl.c
@@
-790,17
+790,16
@@
extern int create_client_ssl_connection(struct client_state *csp)
* certificate and key inconsistence must be locked.
*/
privoxy_mutex_lock(&certificate_mutex);
* certificate and key inconsistence must be locked.
*/
privoxy_mutex_lock(&certificate_mutex);
-
ret = generate_host_certificate(csp);
ret = generate_host_certificate(csp);
+ privoxy_mutex_unlock(&certificate_mutex);
+
if (ret < 0)
{
log_error(LOG_LEVEL_ERROR,
"generate_host_certificate failed: %d", ret);
if (ret < 0)
{
log_error(LOG_LEVEL_ERROR,
"generate_host_certificate failed: %d", ret);
- privoxy_mutex_unlock(&certificate_mutex);
ret = -1;
goto exit;
}
ret = -1;
goto exit;
}
- privoxy_mutex_unlock(&certificate_mutex);
if (!(ssl_attr->openssl_attr.ctx = SSL_CTX_new(SSLv23_server_method())))
{
if (!(ssl_attr->openssl_attr.ctx = SSL_CTX_new(SSLv23_server_method())))
{
diff --git
a/ssl.c
b/ssl.c
index
afd9af4
..
0df7333
100644
(file)
--- a/
ssl.c
+++ b/
ssl.c
@@
-325,17
+325,16
@@
extern int create_client_ssl_connection(struct client_state *csp)
* certificate and key inconsistence must be locked.
*/
privoxy_mutex_lock(&certificate_mutex);
* certificate and key inconsistence must be locked.
*/
privoxy_mutex_lock(&certificate_mutex);
-
ret = generate_host_certificate(csp);
ret = generate_host_certificate(csp);
+ privoxy_mutex_unlock(&certificate_mutex);
+
if (ret < 0)
{
log_error(LOG_LEVEL_ERROR,
"generate_host_certificate failed: %d", ret);
if (ret < 0)
{
log_error(LOG_LEVEL_ERROR,
"generate_host_certificate failed: %d", ret);
- privoxy_mutex_unlock(&certificate_mutex);
ret = -1;
goto exit;
}
ret = -1;
goto exit;
}
- privoxy_mutex_unlock(&certificate_mutex);
/*
* Seed the RNG
/*
* Seed the RNG