forked from enlightenment/efl
add ECORE_{CON,IPC}_NO_PROXY flag to disable proxying on specified connections
SVN revision: 71681
This commit is contained in:
parent
9dc6c51fa0
commit
f472e919e2
|
@ -702,3 +702,7 @@
|
||||||
2012-05-30 Leif Middelschulte (T_UNIX)
|
2012-05-30 Leif Middelschulte (T_UNIX)
|
||||||
|
|
||||||
* Add ECORE_X_RANDR_OUTPUT_POLICY_ASK
|
* Add ECORE_X_RANDR_OUTPUT_POLICY_ASK
|
||||||
|
|
||||||
|
2012-06-04 Mike Blumenkrantz
|
||||||
|
|
||||||
|
* ECORE_{CON,IPC}_NO_PROXY now available for disabling proxying on certain connections
|
||||||
|
|
|
@ -8,6 +8,10 @@ Additions:
|
||||||
- Add transparency support on Windows (GDI engine only)
|
- Add transparency support on Windows (GDI engine only)
|
||||||
* ecore_x:
|
* ecore_x:
|
||||||
- Add Ecore_X_Error_Code enumeration
|
- Add Ecore_X_Error_Code enumeration
|
||||||
|
* ecore_x:
|
||||||
|
- ECORE_X_RANDR_OUTPUT_POLICY_ASK
|
||||||
|
* ecore_con:
|
||||||
|
- ECORE_{CON,IPC}_NO_PROXY now available for disabling proxying on certain connections
|
||||||
|
|
||||||
Fixes:
|
Fixes:
|
||||||
* ecore
|
* ecore
|
||||||
|
@ -18,10 +22,6 @@ Fixes:
|
||||||
- Force cancel of all running Ecore_Thread on shutdown.
|
- Force cancel of all running Ecore_Thread on shutdown.
|
||||||
- Make Ecore_Thread work reliably when called without a running main loop.
|
- Make Ecore_Thread work reliably when called without a running main loop.
|
||||||
|
|
||||||
Additions:
|
|
||||||
|
|
||||||
* ecore_x:
|
|
||||||
- ECORE_X_RANDR_OUTPUT_POLICY_ASK
|
|
||||||
|
|
||||||
Ecore 1.2.0
|
Ecore 1.2.0
|
||||||
|
|
||||||
|
|
|
@ -653,7 +653,12 @@ typedef enum _Ecore_Con_Type
|
||||||
/** Use both TLS and SSL3 */
|
/** Use both TLS and SSL3 */
|
||||||
ECORE_CON_USE_MIXED = ECORE_CON_USE_SSL3 | ECORE_CON_USE_TLS,
|
ECORE_CON_USE_MIXED = ECORE_CON_USE_SSL3 | ECORE_CON_USE_TLS,
|
||||||
/** Attempt to use the loaded certificate */
|
/** Attempt to use the loaded certificate */
|
||||||
ECORE_CON_LOAD_CERT = (1 << 7)
|
ECORE_CON_LOAD_CERT = (1 << 7),
|
||||||
|
/** Disable all types of proxy on the server
|
||||||
|
* @note Only functional for clients
|
||||||
|
* @since 1.2
|
||||||
|
*/
|
||||||
|
ECORE_CON_NO_PROXY = (1 << 8)
|
||||||
} Ecore_Con_Type;
|
} Ecore_Con_Type;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -448,13 +448,14 @@ ecore_con_server_connect(Ecore_Con_Type compl_type,
|
||||||
svr->data = (void *)data;
|
svr->data = (void *)data;
|
||||||
svr->created = EINA_FALSE;
|
svr->created = EINA_FALSE;
|
||||||
svr->use_cert = (compl_type & ECORE_CON_SSL & ECORE_CON_LOAD_CERT) == ECORE_CON_LOAD_CERT;
|
svr->use_cert = (compl_type & ECORE_CON_SSL & ECORE_CON_LOAD_CERT) == ECORE_CON_LOAD_CERT;
|
||||||
|
svr->disable_proxy = (compl_type & ECORE_CON_SSL & ECORE_CON_NO_PROXY) == ECORE_CON_NO_PROXY;
|
||||||
svr->reject_excess_clients = EINA_FALSE;
|
svr->reject_excess_clients = EINA_FALSE;
|
||||||
svr->clients = NULL;
|
svr->clients = NULL;
|
||||||
svr->client_limit = -1;
|
svr->client_limit = -1;
|
||||||
|
|
||||||
type = compl_type & ECORE_CON_TYPE;
|
type = compl_type & ECORE_CON_TYPE;
|
||||||
|
|
||||||
if (type > ECORE_CON_LOCAL_ABSTRACT)
|
if ((!svr->disable_proxy) && (type > ECORE_CON_LOCAL_ABSTRACT))
|
||||||
{
|
{
|
||||||
/* never use proxies on local connections */
|
/* never use proxies on local connections */
|
||||||
if (_ecore_con_proxy_once)
|
if (_ecore_con_proxy_once)
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
#define ECORE_MAGIC_CON_URL 0x77074255
|
#define ECORE_MAGIC_CON_URL 0x77074255
|
||||||
|
|
||||||
#define ECORE_CON_TYPE 0x0f
|
#define ECORE_CON_TYPE 0x0f
|
||||||
#define ECORE_CON_SSL 0xf0
|
#define ECORE_CON_SSL 0xf00
|
||||||
|
|
||||||
#if USE_GNUTLS
|
#if USE_GNUTLS
|
||||||
# include <gnutls/gnutls.h>
|
# include <gnutls/gnutls.h>
|
||||||
|
@ -179,6 +179,7 @@ struct _Ecore_Con_Server
|
||||||
Eina_Bool connecting : 1; /* @c EINA_FALSE if just initialized or connected */
|
Eina_Bool connecting : 1; /* @c EINA_FALSE if just initialized or connected */
|
||||||
Eina_Bool handshaking : 1; /* @c EINA_TRUE if server is ssl handshaking */
|
Eina_Bool handshaking : 1; /* @c EINA_TRUE if server is ssl handshaking */
|
||||||
Eina_Bool upgrade : 1; /* STARTTLS queued */
|
Eina_Bool upgrade : 1; /* STARTTLS queued */
|
||||||
|
Eina_Bool disable_proxy : 1; /* proxy should never be used with this connection */
|
||||||
Eina_Bool ssl_prepared : 1;
|
Eina_Bool ssl_prepared : 1;
|
||||||
Eina_Bool use_cert : 1; /* @c EINA_TRUE if using certificate auth */
|
Eina_Bool use_cert : 1; /* @c EINA_TRUE if using certificate auth */
|
||||||
Ecore_Con_Ssl_State ssl_state; /* current state of ssl handshake on the server */
|
Ecore_Con_Ssl_State ssl_state; /* current state of ssl handshake on the server */
|
||||||
|
|
|
@ -222,7 +222,8 @@ typedef enum _Ecore_Ipc_Type
|
||||||
ECORE_IPC_LOCAL_USER,
|
ECORE_IPC_LOCAL_USER,
|
||||||
ECORE_IPC_LOCAL_SYSTEM,
|
ECORE_IPC_LOCAL_SYSTEM,
|
||||||
ECORE_IPC_REMOTE_SYSTEM,
|
ECORE_IPC_REMOTE_SYSTEM,
|
||||||
ECORE_IPC_USE_SSL = 16
|
ECORE_IPC_USE_SSL = (1 << 4),
|
||||||
|
ECORE_IPC_NO_PROXY = (1 << 5)
|
||||||
} Ecore_Ipc_Type;
|
} Ecore_Ipc_Type;
|
||||||
|
|
||||||
typedef struct _Ecore_Ipc_Event_Client_Add Ecore_Ipc_Event_Client_Add;
|
typedef struct _Ecore_Ipc_Event_Client_Add Ecore_Ipc_Event_Client_Add;
|
||||||
|
|
|
@ -412,12 +412,16 @@ ecore_ipc_server_connect(Ecore_Ipc_Type compl_type, char *name, int port, const
|
||||||
Ecore_Ipc_Server *svr;
|
Ecore_Ipc_Server *svr;
|
||||||
Ecore_Ipc_Type type;
|
Ecore_Ipc_Type type;
|
||||||
Ecore_Con_Type extra = 0;
|
Ecore_Con_Type extra = 0;
|
||||||
|
int features;
|
||||||
|
|
||||||
svr = calloc(1, sizeof(Ecore_Ipc_Server));
|
svr = calloc(1, sizeof(Ecore_Ipc_Server));
|
||||||
if (!svr) return NULL;
|
if (!svr) return NULL;
|
||||||
type = compl_type;
|
type = compl_type & ECORE_IPC_TYPE;
|
||||||
type &= ~ECORE_IPC_USE_SSL;
|
features = compl_type & ECORE_IPC_SSL;
|
||||||
if (compl_type & ECORE_IPC_USE_SSL) extra = ECORE_CON_USE_SSL;
|
if ((features & ECORE_IPC_USE_SSL) == ECORE_IPC_USE_SSL)
|
||||||
|
extra |= ECORE_CON_USE_SSL;
|
||||||
|
if ((features & ECORE_IPC_NO_PROXY) == ECORE_IPC_NO_PROXY)
|
||||||
|
extra |= ECORE_CON_NO_PROXY;
|
||||||
switch (type)
|
switch (type)
|
||||||
{
|
{
|
||||||
case ECORE_IPC_LOCAL_USER:
|
case ECORE_IPC_LOCAL_USER:
|
||||||
|
|
|
@ -38,7 +38,8 @@ extern int _ecore_ipc_log_dom;
|
||||||
#define ECORE_MAGIC_IPC_CLIENT 0x78875665
|
#define ECORE_MAGIC_IPC_CLIENT 0x78875665
|
||||||
|
|
||||||
typedef struct _Ecore_Ipc_Msg_Head Ecore_Ipc_Msg_Head;
|
typedef struct _Ecore_Ipc_Msg_Head Ecore_Ipc_Msg_Head;
|
||||||
|
#define ECORE_IPC_TYPE 0x0f
|
||||||
|
#define ECORE_IPC_SSL 0xf0
|
||||||
|
|
||||||
#if defined (_MSC_VER) || (defined (__SUNPRO_C) && __SUNPRO_C < 0x5100)
|
#if defined (_MSC_VER) || (defined (__SUNPRO_C) && __SUNPRO_C < 0x5100)
|
||||||
# pragma pack(1)
|
# pragma pack(1)
|
||||||
|
|
Loading…
Reference in New Issue