dovecot-2.2: director: Don't assert-crash if PASS lookup fails.
dovecot at dovecot.org
dovecot at dovecot.org
Fri Sep 20 09:46:48 EEST 2013
details: http://hg.dovecot.org/dovecot-2.2/rev/b135d723acf3
changeset: 16785:b135d723acf3
user: Timo Sirainen <tss at iki.fi>
date: Fri Sep 20 09:46:31 2013 +0300
description:
director: Don't assert-crash if PASS lookup fails.
diffstat:
src/director/login-connection.c | 11 ++++++++---
1 files changed, 8 insertions(+), 3 deletions(-)
diffs (31 lines):
diff -r 3da7f0dad08f -r b135d723acf3 src/director/login-connection.c
--- a/src/director/login-connection.c Fri Sep 20 04:27:29 2013 +0300
+++ b/src/director/login-connection.c Fri Sep 20 09:46:31 2013 +0300
@@ -77,7 +77,7 @@
{
struct login_host_request *request = context;
struct director *dir = request->conn->dir;
- const char *line;
+ const char *line, *line_params;
unsigned int secs;
if (ip != NULL) {
@@ -85,11 +85,16 @@
line = t_strdup_printf("%s\thost=%s\tproxy_refresh=%u",
request->line, net_ip2addr(ip), secs);
} else {
- i_assert(strncmp(request->line, "OK\t", 3) == 0);
+ if (strncmp(request->line, "OK\t", 3) == 0)
+ line_params = request->line + 3;
+ else if (strncmp(request->line, "PASS\t", 5) == 0)
+ line_params = request->line + 5;
+ else
+ i_panic("BUG: Unexpected line: %s", request->line);
i_error("director: User %s host lookup failed: %s",
request->username, errormsg);
- line = t_strconcat("FAIL\t", t_strcut(request->line + 3, '\t'),
+ line = t_strconcat("FAIL\t", t_strcut(line_params, '\t'),
"\ttemp", NULL);
}
login_connection_send_line(request->conn, line);
More information about the dovecot-cvs
mailing list