Mercurial > dovecot > original-hg > dovecot-1.2
changeset 7278:27b7b6c34961 HEAD
Fixed proxy_maybe handling.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Thu, 21 Feb 2008 15:57:48 +0200 |
parents | e0debdcd2e10 |
children | ef13dd179331 |
files | src/auth/auth-request.c |
diffstat | 1 files changed, 11 insertions(+), 7 deletions(-) [+] |
line wrap: on
line diff
--- a/src/auth/auth-request.c Thu Feb 21 15:40:13 2008 +0200 +++ b/src/auth/auth-request.c Thu Feb 21 15:57:48 2008 +0200 @@ -985,7 +985,6 @@ ourself */ request->proxy = TRUE; request->proxy_maybe = TRUE; - name = "proxy"; value = NULL; } @@ -1261,17 +1260,22 @@ if (!success) { /* drop all proxy fields */ + } else if (!request->proxy_maybe) { + /* proxying */ + request->no_login = TRUE; + return; + } else if (!auth_request_proxy_is_self(request)) { + /* proxy destination isn't ourself - proxy */ + auth_stream_reply_remove(request->extra_fields, "proxy_maybe"); + auth_stream_reply_add(request->extra_fields, "proxy", NULL); + request->no_login = TRUE; + return; } else { - if (!request->proxy_maybe || - !auth_request_proxy_is_self(request)) { - request->no_login = TRUE; - return; - } - /* proxying to ourself - log in without proxying by dropping all the proxying fields. */ } auth_stream_reply_remove(request->extra_fields, "proxy"); + auth_stream_reply_remove(request->extra_fields, "proxy_maybe"); auth_stream_reply_remove(request->extra_fields, "host"); auth_stream_reply_remove(request->extra_fields, "port"); auth_stream_reply_remove(request->extra_fields, "destuser");