dovecot-2.2: *-login: Previous SSL fixes were still broken with ...
dovecot at dovecot.org
dovecot at dovecot.org
Sun May 20 03:26:30 EEST 2012
details: http://hg.dovecot.org/dovecot-2.2/rev/339b1337aab0
changeset: 14393:339b1337aab0
user: Timo Sirainen <tss at iki.fi>
date: Tue Mar 27 00:12:39 2012 +0300
description:
*-login: Previous SSL fixes were still broken with service_count=1.
diffstat:
src/login-common/client-common.c | 2 --
src/login-common/ssl-proxy-openssl.c | 8 +++-----
src/login-common/ssl-proxy.c | 4 ----
src/login-common/ssl-proxy.h | 1 -
4 files changed, 3 insertions(+), 12 deletions(-)
diffs (65 lines):
diff -r 94286d055872 -r 339b1337aab0 src/login-common/client-common.c
--- a/src/login-common/client-common.c Mon Mar 26 20:46:55 2012 +0300
+++ b/src/login-common/client-common.c Tue Mar 27 00:12:39 2012 +0300
@@ -180,8 +180,6 @@
i_free_and_null(client->proxy_password);
}
- if (client->ssl_proxy != NULL)
- ssl_proxy_unset_client(client->ssl_proxy);
if (client->login_proxy != NULL)
login_proxy_free(&client->login_proxy);
client->v.destroy(client);
diff -r 94286d055872 -r 339b1337aab0 src/login-common/ssl-proxy-openssl.c
--- a/src/login-common/ssl-proxy-openssl.c Mon Mar 26 20:46:55 2012 +0300
+++ b/src/login-common/ssl-proxy-openssl.c Tue Mar 27 00:12:39 2012 +0300
@@ -659,14 +659,10 @@
{
i_assert(proxy->client == NULL);
+ client_ref(client);
proxy->client = client;
}
-void ssl_proxy_unset_client(struct ssl_proxy *proxy)
-{
- proxy->client = NULL;
-}
-
bool ssl_proxy_has_valid_client_cert(const struct ssl_proxy *proxy)
{
return proxy->cert_received && !proxy->cert_broken;
@@ -800,6 +796,8 @@
(void)net_disconnect(proxy->fd_ssl);
(void)net_disconnect(proxy->fd_plain);
+ if (proxy->client != NULL)
+ client_unref(&proxy->client);
ssl_proxy_unref(proxy);
}
diff -r 94286d055872 -r 339b1337aab0 src/login-common/ssl-proxy.c
--- a/src/login-common/ssl-proxy.c Mon Mar 26 20:46:55 2012 +0300
+++ b/src/login-common/ssl-proxy.c Tue Mar 27 00:12:39 2012 +0300
@@ -38,10 +38,6 @@
{
}
-void ssl_proxy_unset_client(struct ssl_proxy *proxy ATTR_UNUSED)
-{
-}
-
bool ssl_proxy_has_valid_client_cert(const struct ssl_proxy *proxy ATTR_UNUSED)
{
return FALSE;
diff -r 94286d055872 -r 339b1337aab0 src/login-common/ssl-proxy.h
--- a/src/login-common/ssl-proxy.h Mon Mar 26 20:46:55 2012 +0300
+++ b/src/login-common/ssl-proxy.h Tue Mar 27 00:12:39 2012 +0300
@@ -22,7 +22,6 @@
struct ssl_proxy **proxy_r);
void ssl_proxy_start(struct ssl_proxy *proxy);
void ssl_proxy_set_client(struct ssl_proxy *proxy, struct client *client);
-void ssl_proxy_unset_client(struct ssl_proxy *proxy);
bool ssl_proxy_has_valid_client_cert(const struct ssl_proxy *proxy) ATTR_PURE;
bool ssl_proxy_has_broken_client_cert(struct ssl_proxy *proxy);
int ssl_proxy_cert_match_name(struct ssl_proxy *proxy, const char *verify_name);
More information about the dovecot-cvs
mailing list