# HG changeset patch # User Timo Sirainen # Date 1379659591 -10800 # Node ID b135d723acf31a9ab6f2e1923ad5612eb16d8f73 # Parent 3da7f0dad08f05ad5ba09ab09aff85ab27b20102 director: Don't assert-crash if PASS lookup fails. 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);