login-proxy.h revision 2ef0e8ee48c9683f7bd6698798efa3328e4322d1
a6ab8f00351265e35b79f3a22b1f5a4978ae5c35Timo Sirainen /* Use SSL/TLS enabled */
a6ab8f00351265e35b79f3a22b1f5a4978ae5c35Timo Sirainen /* Don't do SSL handshake immediately after connected */
a6ab8f00351265e35b79f3a22b1f5a4978ae5c35Timo Sirainen /* Don't require that the received certificate is valid */
acc039dfc0b0f4588cf2feec04727b61e1c672a1Timo Sirainen unsigned int port;
a6ab8f00351265e35b79f3a22b1f5a4978ae5c35Timo Sirainen/* Called when new input comes from proxy. */
acc039dfc0b0f4588cf2feec04727b61e1c672a1Timo Sirainentypedef void proxy_callback_t(struct client *client);
acc039dfc0b0f4588cf2feec04727b61e1c672a1Timo Sirainen/* Create a proxy to given host. Returns NULL if failed. Given callback is
ca44a6ba994aaa3231a20ef6e046dfd97a8dcd2dTimo Sirainen called when new input is available from proxy. */
f50ea0370137dd93d9953d91ea73486ca0784de9Timo Sirainen/* Free the proxy. This should be called if authentication fails. */
c664d0da658c8d3200d88ea3c4cd580afd33fa73Timo Sirainenvoid login_proxy_free(struct login_proxy **proxy);
c664d0da658c8d3200d88ea3c4cd580afd33fa73Timo Sirainen/* Return TRUE if host/port/destuser combination points to same as current
c664d0da658c8d3200d88ea3c4cd580afd33fa73Timo Sirainen connection. */
c664d0da658c8d3200d88ea3c4cd580afd33fa73Timo Sirainenbool login_proxy_is_ourself(const struct client *client, const char *host,
52ffa11d672a9bd150ae3e758a19f1cc4f01471bTimo Sirainen/* Detach proxy from client. This is done after the authentication is
a6ab8f00351265e35b79f3a22b1f5a4978ae5c35Timo Sirainen successful and all that is left is the dummy proxying. */
a6ab8f00351265e35b79f3a22b1f5a4978ae5c35Timo Sirainenvoid login_proxy_detach(struct login_proxy *proxy);
c664d0da658c8d3200d88ea3c4cd580afd33fa73Timo Sirainen/* STARTTLS command was issued. */
a6ab8f00351265e35b79f3a22b1f5a4978ae5c35Timo Sirainenint login_proxy_starttls(struct login_proxy *proxy);
void login_proxy_kill_idle(void);
void login_proxy_init(void);
void login_proxy_deinit(void);