struct auth_master_connection *auth_conn;
struct auth_user_info info;
pool_t pool;
- const char *auth_socket_path, *proxy_host, *const *fields;
+ const char *auth_socket_path, *proxy_host, *proxy_hostip, *const *fields;
unsigned int i;
in_port_t proxy_port;
bool proxying;
/* user not found from passdb. it could be in userdb though,
so just continue with the default host */
} else {
- proxy_host = NULL; proxying = FALSE;
+ proxy_host = NULL; proxy_hostip = NULL; proxying = FALSE;
proxy_port = ctx->set->doveadm_port;
for (i = 0; fields[i] != NULL; i++) {
if (strncmp(fields[i], "proxy", 5) == 0 &&
proxying = TRUE;
else if (strncmp(fields[i], "host=", 5) == 0)
proxy_host = fields[i]+5;
+ else if (strncmp(fields[i], "hostip=", 7) == 0)
+ proxy_hostip = fields[i]+7;
else if (strncmp(fields[i], "user=", 5) == 0)
*user_r = t_strdup(fields[i]+5);
else if (strncmp(fields[i], "destuser=", 9) == 0)
proxy_port = 0;
}
}
+ if (proxy_hostip != NULL)
+ proxy_host = proxy_hostip;
if (!proxying)
ret = 0;
else if (proxy_host == NULL) {