(void)login_proxy_connect(proxy);
}
+void login_proxy_get_redirect_path(struct login_proxy *proxy, string_t *str)
+{
+ const struct login_proxy_redirect *redirect;
+
+ str_printfa(str, "%s:%u", net_ip2addr(&proxy->ip), proxy->port);
+ if (!array_is_created(&proxy->redirect_path))
+ return;
+ array_foreach(&proxy->redirect_path, redirect) {
+ str_printfa(str, ",%s:%u",
+ net_ip2addr(&redirect->ip), redirect->port);
+ }
+}
+
struct istream *login_proxy_get_istream(struct login_proxy *proxy)
{
return proxy->server_input;
/* Free the proxy. This should be called if authentication fails. */
void login_proxy_free(struct login_proxy **proxy);
+/* Append to str host:ip[,host2:ip[,...]] path of redirects followed so far. */
+void login_proxy_get_redirect_path(struct login_proxy *proxy, string_t *str);
/* Finish redirection to ip:port from a redirect callback. */
void login_proxy_redirect_finish(struct login_proxy *proxy,
const struct ip_addr *ip, in_port_t port);