proxy->event,
t_strdup_printf("proxy(%s,%s): ",
proxy->client->virtual_user,
- net_ipport2str(&proxy->ip, proxy->port)));
+ login_proxy_get_hostport(proxy)));
}
static void proxy_reconnect_timeout(struct login_proxy *proxy)
(void)login_proxy_connect(proxy);
}
+const char *login_proxy_get_hostport(const struct login_proxy *proxy)
+{
+ struct ip_addr ip;
+ /* if we are connecting to ip address return that. */
+ if (net_addr2ip(proxy->host, &ip) == 0 &&
+ net_ip_compare(&proxy->ip, &ip))
+ return net_ipport2str(&proxy->ip, proxy->port);
+ /* it's hostname, or hostip is also used */
+ return t_strdup_printf("%s[%s]:%u", proxy->host,
+ net_ip2addr(&proxy->ip), proxy->port);
+}
+
static bool proxy_try_reconnect(struct login_proxy *proxy)
{
long long since_started_msecs, left_msecs;
struct istream *login_proxy_get_istream(struct login_proxy *proxy);
struct ostream *login_proxy_get_ostream(struct login_proxy *proxy);
+/* Returns "ip:port" or "host[ip]:port" */
+const char *login_proxy_get_hostport(const struct login_proxy *proxy);
+
void login_proxy_append_success_log_info(struct login_proxy *proxy,
string_t *str);
struct event *login_proxy_get_event(struct login_proxy *proxy);