aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/libraries/ecore/src/lib/ecore_con/ecore_con.c
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--libraries/ecore/src/lib/ecore_con/ecore_con.c23
1 files changed, 13 insertions, 10 deletions
diff --git a/libraries/ecore/src/lib/ecore_con/ecore_con.c b/libraries/ecore/src/lib/ecore_con/ecore_con.c
index de291b3..fe83478 100644
--- a/libraries/ecore/src/lib/ecore_con/ecore_con.c
+++ b/libraries/ecore/src/lib/ecore_con/ecore_con.c
@@ -110,7 +110,10 @@ _ecore_con_client_kill(Ecore_Con_Client *cl)
110 if (cl->delete_me) 110 if (cl->delete_me)
111 DBG("Multi kill request for client %p", cl); 111 DBG("Multi kill request for client %p", cl);
112 else 112 else
113 ecore_con_event_client_del(cl); 113 {
114 ecore_con_event_client_del(cl);
115 if (cl->buf) return;
116 }
114 INF("Lost client %s", (cl->ip) ? cl->ip : ""); 117 INF("Lost client %s", (cl->ip) ? cl->ip : "");
115 if (cl->fd_handler) 118 if (cl->fd_handler)
116 ecore_main_fd_handler_del(cl->fd_handler); 119 ecore_main_fd_handler_del(cl->fd_handler);
@@ -461,7 +464,7 @@ ecore_con_server_connect(Ecore_Con_Type compl_type,
461 (!ecore_con_lookup(svr->name, (Ecore_Con_Dns_Cb)ecore_con_socks_dns_cb, svr))) 464 (!ecore_con_lookup(svr->name, (Ecore_Con_Dns_Cb)ecore_con_socks_dns_cb, svr)))
462 goto error; 465 goto error;
463 if (svr->ecs->lookup) 466 if (svr->ecs->lookup)
464 svr->ecs_state = ECORE_CON_SOCKS_STATE_RESOLVED; 467 svr->ecs_state = ECORE_CON_PROXY_STATE_RESOLVED;
465 } 468 }
466 } 469 }
467 if (ecore_con_ssl_server_prepare(svr, compl_type & ECORE_CON_SSL)) 470 if (ecore_con_ssl_server_prepare(svr, compl_type & ECORE_CON_SSL))
@@ -1031,7 +1034,7 @@ ecore_con_event_server_del(Ecore_Con_Server *svr)
1031 e->server = svr; 1034 e->server = svr;
1032 if (svr->ecs) 1035 if (svr->ecs)
1033 { 1036 {
1034 svr->ecs_state = svr->ecs->lookup ? ECORE_CON_SOCKS_STATE_RESOLVED : ECORE_CON_SOCKS_STATE_DONE; 1037 svr->ecs_state = svr->ecs->lookup ? ECORE_CON_PROXY_STATE_RESOLVED : ECORE_CON_PROXY_STATE_DONE;
1035 eina_stringshare_replace(&svr->proxyip, NULL); 1038 eina_stringshare_replace(&svr->proxyip, NULL);
1036 svr->proxyport = 0; 1039 svr->proxyport = 0;
1037 } 1040 }
@@ -1320,7 +1323,7 @@ _ecore_con_client_free(Ecore_Con_Client *cl)
1320 if (cl->event_count) return; 1323 if (cl->event_count) return;
1321 ECORE_MAGIC_SET(cl, ECORE_MAGIC_NONE); 1324 ECORE_MAGIC_SET(cl, ECORE_MAGIC_NONE);
1322 1325
1323 free(cl->buf); 1326 if (cl->buf) eina_binbuf_free(cl->buf);
1324 1327
1325 if (cl->host_server->type & ECORE_CON_SSL) 1328 if (cl->host_server->type & ECORE_CON_SSL)
1326 ecore_con_ssl_client_shutdown(cl); 1329 ecore_con_ssl_client_shutdown(cl);
@@ -1736,7 +1739,7 @@ svr_try_connect_plain(Ecore_Con_Server *svr)
1736 if (so_err) 1739 if (so_err)
1737 { 1740 {
1738 /* we lost our server! */ 1741 /* we lost our server! */
1739 ecore_con_event_server_error(svr, strerror(errno)); 1742 ecore_con_event_server_error(svr, strerror(so_err));
1740 ERR("Connection lost: %s", strerror(so_err)); 1743 ERR("Connection lost: %s", strerror(so_err));
1741 _ecore_con_server_kill(svr); 1744 _ecore_con_server_kill(svr);
1742 return ECORE_CON_DISCONNECTED; 1745 return ECORE_CON_DISCONNECTED;
@@ -1971,9 +1974,9 @@ _ecore_con_cl_handler(void *data,
1971 ecore_con_event_server_add(svr); 1974 ecore_con_event_server_add(svr);
1972 return ECORE_CALLBACK_RENEW; 1975 return ECORE_CALLBACK_RENEW;
1973 } 1976 }
1974 if (svr->ecs && svr->ecs_state && (svr->ecs_state < ECORE_CON_SOCKS_STATE_READ) && (!svr->ecs_buf)) 1977 if (svr->ecs && svr->ecs_state && (svr->ecs_state < ECORE_CON_PROXY_STATE_READ) && (!svr->ecs_buf))
1975 { 1978 {
1976 if (svr->ecs_state < ECORE_CON_SOCKS_STATE_INIT) 1979 if (svr->ecs_state < ECORE_CON_PROXY_STATE_INIT)
1977 { 1980 {
1978 INF("PROXY STATE++"); 1981 INF("PROXY STATE++");
1979 svr->ecs_state++; 1982 svr->ecs_state++;
@@ -2271,7 +2274,7 @@ _ecore_con_server_flush(Ecore_Con_Server *svr)
2271static void 2274static void
2272_ecore_con_client_flush(Ecore_Con_Client *cl) 2275_ecore_con_client_flush(Ecore_Con_Client *cl)
2273{ 2276{
2274 int num, count = 0; 2277 int num = 0, count = 0;
2275 2278
2276#ifdef _WIN32 2279#ifdef _WIN32
2277 if (ecore_con_local_win32_client_flush(cl)) 2280 if (ecore_con_local_win32_client_flush(cl))
@@ -2314,7 +2317,7 @@ _ecore_con_client_flush(Ecore_Con_Client *cl)
2314 } 2317 }
2315 2318
2316 if (count) ecore_con_event_client_write(cl, count); 2319 if (count) ecore_con_event_client_write(cl, count);
2317 cl->buf_offset += count; 2320 cl->buf_offset += count, num -= count;
2318 if (cl->buf_offset >= eina_binbuf_length_get(cl->buf)) 2321 if (cl->buf_offset >= eina_binbuf_length_get(cl->buf))
2319 { 2322 {
2320 cl->buf_offset = 0; 2323 cl->buf_offset = 0;
@@ -2332,7 +2335,7 @@ _ecore_con_client_flush(Ecore_Con_Client *cl)
2332 if (cl->fd_handler) 2335 if (cl->fd_handler)
2333 ecore_main_fd_handler_active_set(cl->fd_handler, ECORE_FD_READ); 2336 ecore_main_fd_handler_active_set(cl->fd_handler, ECORE_FD_READ);
2334 } 2337 }
2335 else if ((count < num) && cl->fd_handler) 2338 else if (cl->fd_handler && (num >= 0))
2336 ecore_main_fd_handler_active_set(cl->fd_handler, ECORE_FD_WRITE); 2339 ecore_main_fd_handler_active_set(cl->fd_handler, ECORE_FD_WRITE);
2337} 2340}
2338 2341