diff options
author | gdt <gdt> | 2007-04-20 18:04:15 +0000 |
---|---|---|
committer | gdt <gdt> | 2007-04-20 18:04:15 +0000 |
commit | a67537e1b05ca0efad369562f11c8e4cdc221cdc (patch) | |
tree | a97f415136f0179e0c699f02ad6f01a614c1a1a1 /mail/mail-notification/patches | |
parent | 66dc906a7aa68a007218cf14d51ee32cfda0c073 (diff) | |
download | pkgsrc-a67537e1b05ca0efad369562f11c8e4cdc221cdc.tar.gz |
Add patch from maintainer to add global lock around SSL
initialization. Resolves SMP crash, but it seems really openssl
should be compiled with thread spport.
Diffstat (limited to 'mail/mail-notification/patches')
-rw-r--r-- | mail/mail-notification/patches/patch-aa | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/mail/mail-notification/patches/patch-aa b/mail/mail-notification/patches/patch-aa new file mode 100644 index 00000000000..cfa478ac847 --- /dev/null +++ b/mail/mail-notification/patches/patch-aa @@ -0,0 +1,24 @@ +--- src/mn-client-session.c.orig Wed Jan 17 15:07:49 2007 ++++ src/mn-client-session.c Fri Apr 20 19:05:51 2007 +@@ -369,6 +369,8 @@ + { + SSL_CTX *ctx; + GError *err = NULL; ++ static GStaticMutex ssl_lock = G_STATIC_MUTEX_INIT; ++ int status; + + g_return_val_if_fail(session != NULL, FALSE); + g_return_val_if_fail(session->ssl == NULL, FALSE); +@@ -394,7 +396,11 @@ + return FALSE; + } + +- if (SSL_connect(session->ssl) != 1) ++ g_static_mutex_lock(&ssl_lock); ++ status = SSL_connect(session->ssl); ++ g_static_mutex_unlock(&ssl_lock); ++ ++ if (status != 1) + { + mn_client_session_set_error(session, MN_CLIENT_SESSION_ERROR_OTHER, _("unable to perform the SSL/TLS handshake: %s"), mn_ssl_get_error()); + return FALSE; |