return ECORE_CON_DISCONNECTED;
}
-/* returns 1 on success, 0 on failure */
-static Ecore_Con_State svr_try_connect(Ecore_Con_Server *svr)
-{
- if (!(svr->type & ECORE_CON_SSL))
- return svr_try_connect_plain(svr);
-
- switch (ecore_con_ssl_server_try(svr))
- {
- case ECORE_CON_CONNECTED:
- return svr_try_connect_plain(svr);
-
- case ECORE_CON_DISCONNECTED:
- _ecore_con_server_kill(svr);
- return ECORE_CON_DISCONNECTED;
-
- default:
- return ECORE_CON_INPROGRESS;
- }
-}
-
static char *
_ecore_con_pretty_ip(struct sockaddr *client_addr, socklen_t size)
{
int inbuf_num = 0;
int tries;
- if (svr->connecting && (svr_try_connect(svr) != ECORE_CON_CONNECTED))
+ /* only possible with non-ssl connections */
+ if (svr->connecting && (svr_try_connect_plain(svr) != ECORE_CON_CONNECTED))
return;
for (tries = 0; tries < 16; tries++)
else if (want_read)
_ecore_con_cl_read(svr);
else if (want_write)
- {
- if (svr->connecting && (!svr_try_connect(svr)))
+ { /* only possible with non-ssl connections */
+ if (svr->connecting && (!svr_try_connect_plain(svr)))
return ECORE_CALLBACK_RENEW;
_ecore_con_server_flush(svr);
Ecore_Con_Ssl_Error ecore_con_ssl_server_prepare(Ecore_Con_Server *svr, int ssl_type);
Ecore_Con_Ssl_Error ecore_con_ssl_server_init(Ecore_Con_Server *svr);
Ecore_Con_Ssl_Error ecore_con_ssl_server_shutdown(Ecore_Con_Server *svr);
-Ecore_Con_State ecore_con_ssl_server_try(Ecore_Con_Server *svr);
int ecore_con_ssl_server_read(Ecore_Con_Server *svr,
unsigned char *buf,
int size);
int size);
Ecore_Con_Ssl_Error ecore_con_ssl_client_init(Ecore_Con_Client *svr);
Ecore_Con_Ssl_Error ecore_con_ssl_client_shutdown(Ecore_Con_Client *svr);
-Ecore_Con_State ecore_con_ssl_client_try(Ecore_Con_Client *svr);
int ecore_con_ssl_client_read(Ecore_Con_Client *svr,
unsigned char *buf,
int size);
static Ecore_Con_Ssl_Error
SSL_SUFFIX(_ecore_con_ssl_server_shutdown) (Ecore_Con_Server *
svr);
-static Ecore_Con_State
- SSL_SUFFIX(_ecore_con_ssl_server_try) (Ecore_Con_Server * svr);
static int
SSL_SUFFIX(_ecore_con_ssl_server_read) (Ecore_Con_Server * svr,
unsigned char *buf, int size);
return SSL_SUFFIX(_ecore_con_ssl_server_shutdown) (svr);
}
-Ecore_Con_State
-ecore_con_ssl_server_try(Ecore_Con_Server *svr)
-{
- return SSL_SUFFIX(_ecore_con_ssl_server_try) (svr);
-}
-
int
ecore_con_ssl_server_read(Ecore_Con_Server *svr, unsigned char *buf, int size)
{
return ECORE_CON_SSL_ERROR_NONE;
}
-/* this is a stub function, the handshake is done in _init_gnutls */
-static Ecore_Con_State
-_ecore_con_ssl_server_try_gnutls(Ecore_Con_Server *svr __UNUSED__)
-{
- return ECORE_CON_CONNECTED;
-}
static int
_ecore_con_ssl_server_read_gnutls(Ecore_Con_Server *svr, unsigned char *buf,
return ECORE_CON_SSL_ERROR_NONE;
}
-/* Tries to connect an Ecore_Con_Server to an SSL host.
- * Returns 1 on success, -1 on fatal errors and 0 if the caller
- * should try again later.
- */
-static Ecore_Con_State
-_ecore_con_ssl_server_try_openssl(Ecore_Con_Server *svr)
-{
- int res, flag = 0;
-
- if ((res = SSL_connect(svr->ssl)) == 1)
- return ECORE_CON_CONNECTED;
-
- svr->ssl_err = SSL_get_error(svr->ssl, res);
-
- switch (svr->ssl_err)
- {
- case SSL_ERROR_NONE:
- return ECORE_CON_CONNECTED;
-
- case SSL_ERROR_WANT_READ:
- flag = ECORE_FD_READ;
- break;
-
- case SSL_ERROR_WANT_WRITE:
- flag = ECORE_FD_WRITE;
- break;
-
- default:
- return ECORE_CON_DISCONNECTED;
- }
-
- if (svr->fd_handler && flag)
- ecore_main_fd_handler_active_set(svr->fd_handler,
- flag);
-
- return ECORE_CON_INPROGRESS;
-}
-
static int
_ecore_con_ssl_server_read_openssl(Ecore_Con_Server *svr, unsigned char *buf,
int size)
return ECORE_CON_SSL_ERROR_NOT_SUPPORTED;
}
-/* Tries to connect an Ecore_Con_Server to an SSL host.
- * Returns 1 on success, -1 on fatal errors and 0 if the caller
- * should try again later.
- */
-static Ecore_Con_State
-_ecore_con_ssl_server_try_none(Ecore_Con_Server *svr __UNUSED__)
-{
- return ECORE_CON_DISCONNECTED;
-}
-
static int
_ecore_con_ssl_server_read_none(Ecore_Con_Server *svr __UNUSED__, unsigned char *buf __UNUSED__,
int size __UNUSED__)