Commit Graph

94 Commits

Author SHA1 Message Date
Sebastian Dransfeld f438ce3bcb ecore_con_socks: split version check from cast
SVN revision: 77622
2012-10-09 08:27:55 +00:00
Mike Blumenkrantz eee42b60d9 revert ecore-con refcounting stuff, fix the problem in ipc (hopefully)
wfm


SVN revision: 71738
2012-06-06 09:49:24 +00:00
Mike Blumenkrantz fd3b513079 unbreak my last commit
SVN revision: 71682
2012-06-04 09:16:19 +00:00
Mike Blumenkrantz f472e919e2 add ECORE_{CON,IPC}_NO_PROXY flag to disable proxying on specified connections
SVN revision: 71681
2012-06-04 09:03:04 +00:00
Carsten Haitzler dcf4d1401e and no more segv's in ecore-con and ecore-ipc. see changelog.
SVN revision: 71400
2012-05-24 07:49:30 +00:00
Jérôme Pinot 7d464af0a1 From: Jérôme Pinot <ngc891@gmail.com>
Subject: [E-devel] [patch] ecore doxygen doc (2)
Date: Thu, 12 Apr 2012 12:46:04 +0900

Hi,

This is a big patch. It fixes:
- undef #EINA_{TRUE,FALSE} links
- @c for NULL and EINA_{TRUE,FALSE}
- some formatting/spello
- several missing return types


SVN revision: 70117
2012-04-12 03:51:36 +00:00
Mike Blumenkrantz 894bfaeed7 check return code on CURLINFO_RESPONSE_CODE and add helper function for it
SVN revision: 69008
2012-03-07 17:06:33 +00:00
Mike Blumenkrantz 127c3b81da somewhat fix deferred freeing of curl objects
SVN revision: 68258
2012-02-22 10:10:22 +00:00
Mike Blumenkrantz fb766c1119 revert last commit, maybe I'll re-commit it in 10 years when curl 7.21.7 is more common
SVN revision: 68144
2012-02-20 07:37:53 +00:00
Mike Blumenkrantz 1552f5b548 yet another complete rewrite of ecore-con-url, fixes bugs I've been experiencing recently
does not fix curl+c-ares though :(


SVN revision: 68143
2012-02-20 07:11:23 +00:00
Mike Blumenkrantz a8e95378d8 fix current url implementation to not crash ANY TIME YOU FREE THE OBJECT DURING AN EVENT
seriously how did this go unnoticed for so many years?????


SVN revision: 68132
2012-02-19 23:16:50 +00:00
Mike Blumenkrantz 89276be842 finally finish implementing SOCKS5 proxies in ecore-con.
SOCKS5 is different from SOCKS4 in that it supports password authentication mechanisms (GSSAPI is still on the todo) and IPV6, neither of which are possible with SOCKS4

NOTE THAT THE CMDLINE SYNTAX FOR AUTOSOCKSING HAS CHANGED!
 *   ECORE_CON_SOCKS_V4=[user@]server-port:lookup
 *   ECORE_CON_SOCKS_V5=[user@]server-port:lookup

also note that I did not implement autosocksing with password. it's just not safe.


SVN revision: 67959
2012-02-15 05:53:50 +00:00
Mike Blumenkrantz 1f35fa8b95 use client_kill instead of directly eventing
SVN revision: 67322
2012-01-19 08:02:41 +00:00
Carsten Haitzler b92c19a84d Fix massive post data probile in ecore-con that would cause
post data to be corrupted (as it was never copied into the
ecore con url struct) or could cause crashes if the memory
pointed to became invalid.
                


SVN revision: 66619
2011-12-29 08:55:11 +00:00
Mike Blumenkrantz 3258503e8a curl patch from bluezery to use ECORE_CON_SOCKS_V4 env variable and also add socks proxying api
SVN revision: 66462
2011-12-22 08:06:51 +00:00
Mike Blumenkrantz 178ac4be78 remove 'dead' member from client/server structs: this now serves no purpose
SVN revision: 66437
2011-12-21 10:02:30 +00:00
Bluezery 16a9961f58 From: Bluezery <ohpowel@gmail.com>
Subject: Re: [E-devel] [Patch][ecore_con_url] Add proxy & timeout set
API

There existed two problems when using ecore_con_url. We cannot set
proxy and set timeout.
So, I added two APIs for solving these problems.
Proxy can be set by setting libcurl option.
Timeout also can be set but It need to add handler for Linux alarm
signal. (Please refer:
http://curl.haxx.se/libcurl/c/curl_easy_setopt.html#CURLOPTTIMEOUT)
So I implemented it by using ecore timer.




SVN revision: 66414
2011-12-21 06:18:25 +00:00
Mike Blumenkrantz 083d3466a1 revert 66063 + related commits: my dreams of zero-copy ecore-con transfers were shattered by the inconsistency of linux socket operations. way to go kernel developers.
SVN revision: 66078
2011-12-10 07:34:45 +00:00
Mike Blumenkrantz ff57b89995 add windows error events for new code, condense some connect handlers
SVN revision: 66065
2011-12-10 05:09:47 +00:00
Mike Blumenkrantz 0b109fb5c2 optimize read mechanics for remote servers using ioctl to determine number of bytes available for reading.
in general, this should provide an improvement which scales with the amount of data being transferred:
* small transfers will incur a small amount of overhead from potentially unneeded memory as I try to account for a bug in FIONREAD which returns a number that is smaller than the actual number of bytes available for read on a socket
* large transfers will no longer require any copies of the data

on systems which do not provide the FIONREAD ioctl(), old functionality will be used
this should work on windows, though I (obviously) can't test it myself

thus ends the longest commit message I have ever written


SVN revision: 66063
2011-12-09 22:35:12 +00:00
Mike Blumenkrantz b40fa86b4a +ecore_con_ssl_server_verify_name_set/get
SVN revision: 66002
2011-12-08 01:14:55 +00:00
Mike Blumenkrantz 0099b08234 introducinggggggggggggggg <drum roll>:
ECORE-CON-SOCKS! SOCKS ON!!!!

now ecore_con supports socks (v4 and v4a only, so no ipv6) connections natively for making remote connections
for those of you who want their apps to start proxying immediately, just update and export this handy environment variable:
ECORE_CON_SOCKS_V4=[user@]PROXY_IP_ADDRESS:PROXY_PORT[:1] <--use :1 here to enable dns lookups on the proxy


SVN revision: 65934
2011-12-06 03:32:16 +00:00
Mike Blumenkrantz 39467c29b6 giant patch refactoring ecore-con-url from bluezery <opowel@gmail.com>
will it blend?!


SVN revision: 65888
2011-12-05 06:08:46 +00:00
Mike Blumenkrantz 6ec1250a4d redo ecore-con shutdown to fix crashes if people are stupid and call ecore_con_shutdown() while servers exist and main loop is still running
SVN revision: 65036
2011-11-11 02:44:16 +00:00
Cedric BAIL 05d8a9cf3c ecore: improve ecore_con speed by using mempool.
SVN revision: 64814
2011-11-06 12:26:00 +00:00
Mike Blumenkrantz 48bb4c6252 url of ecore-con-url is now stringshared
SVN revision: 61607
2011-07-23 03:17:57 +00:00
Mike Blumenkrantz 9d235b3fc7 switch over all buffers to use binbufs
SVN revision: 61423
2011-07-16 13:07:39 +00:00
Mike Blumenkrantz 58d3ee0924 unify more event handling, fix a little formatting
SVN revision: 61025
2011-07-05 00:06:27 +00:00
Mike Blumenkrantz 3bde9147fb apparently SSL_set_verify with SSL_VERIFY_PEER is NOT sufficient for validating a certificate as its man page implies. good thing the correct way is properly docu...right. openssl. riiiiiiiiiggghhht.
+ecore_con_ssl_server_verify_basic for checking a cert against its hostname



SVN revision: 60673
2011-06-25 08:39:07 +00:00
Mike Blumenkrantz d932f0b0c5 ecore_con_server_timeout_g/set now apply to client-type servers
CAN'T SLEEP
MUST HACK


SVN revision: 60445
2011-06-17 11:16:50 +00:00
Mike Blumenkrantz 64731e1dc9 +ecore_con_ssl_server_upgrade
+ecore_con_ssl_client_upgrade
+ECORE_CON_EVENT_SERVER_UPGRADE
+ECORE_CON_EVENT_CLIENT_UPGRADE
new functions for upgrading an existing plaintext connection to SSL/TLS, as seen in STARTTLS and my nightmares


SVN revision: 60359
2011-06-15 18:58:34 +00:00
Vincent Torri 3e9bc8fddd Ecore: ecore_con : make ecore_con work on Windows
The ecore_con module needed a port of the local connections
with named pipes. The other connections (TCP, UDP) are using
BSD sockets, which are also used on Windows.

No abstract sockets on Windows.

NB: Should I backport that commit to 1.0 ?

SVN revision: 59385
2011-05-14 17:52:30 +00:00
Mike Blumenkrantz daafddb571 implement full event-driven error messaging api for all non-curl ecore_con
docs are in the header, happy birthday cedric


SVN revision: 56894
2011-02-10 08:49:23 +00:00
Carsten Haitzler dca85251b0 dns async lookup fix - if u del svr before dns lookup done
SVN revision: 56254
2011-01-21 10:01:04 +00:00
Mike Blumenkrantz 2747a8a86b optimization pass #1: 5% server speed increase
only get client ip addr when ecore_con_client_ip_get() is called, always stringshare ip addresses


SVN revision: 54612
2010-11-16 21:32:50 +00:00
Cedric BAIL 515f06978b * ecore: time to cleanup ecore_con_url time.
Patch by Patch by Raphael Kubo da Costa <kubo@profusion.mobi>

	As discussed on the development mailing list, we should accept a
	double instead of a time_t for consistency with the rest of the API.
	Some apidox has been added too, and as a result
	ECORE_CON_URL_TIME_LASTMOD has been removed, since it does not make
	much sense (it is an HTTP response header).


SVN revision: 53572
2010-10-18 16:39:12 +00:00
Cedric BAIL 7100d4ac62 * ecore: remove now useless structure.
Patch by Raphael Kubo da Costa <kubo@profusion.mobi>


SVN revision: 53570
2010-10-18 13:49:06 +00:00
Mike Blumenkrantz abad9a5eb3 clear out the _try series of functions because they're useless
SVN revision: 52985
2010-10-02 21:13:56 +00:00
Mike Blumenkrantz b64b0b3ac9 first part of ssl rerererewrite: split functions, move stuff out of prepare(), and add verification for gnutls clients
SVN revision: 52837
2010-09-28 03:16:08 +00:00
Mike Blumenkrantz da50c7b57d add session ticket support for gnutls, also add extremely detailed handshake error messages
SVN revision: 52675
2010-09-24 06:54:49 +00:00
Mike Blumenkrantz 60b4269b5f yet another ecore_con overhaul!
*internal function rename
*******finally fix ssl handshaking to be non-blocking


SVN revision: 52665
2010-09-24 04:15:42 +00:00
Mike Blumenkrantz f617346761 finally. fix. openssl. again.
SVN revision: 52613
2010-09-23 00:16:42 +00:00
Mike Blumenkrantz 74d035df0b prefer stronger anonymous client encryption
also some progress on openssl that does nothing except make servers take forever to start


SVN revision: 52606
2010-09-22 22:06:49 +00:00
Mike Blumenkrantz fb977d72c4 implement functions to time out client connections to our server
*set/get default idle timeout of clients*
+ecore_con_server_timeout_set
+ecore_con_server_timeout_get
*set/get idle timeout of a client*
+ecore_con_client_timeout_set
+ecore_con_client_timeout_get

*get connection uptime of a client/server*
+ecore_con_client_uptime_get
+ecore_con_server_uptime_get

*fix giant ssl server memory leak*


SVN revision: 52564
2010-09-22 04:48:09 +00:00
Mike Blumenkrantz 38188213cf !@#$ it, just going to rewrite the whole damn thing:
*fix gnutls client/server implementations to use correct ciphers and free memory properly
*prevent lots of segvs

this message brought to you by gnu dicks


SVN revision: 52559
2010-09-22 00:10:10 +00:00
Mike Blumenkrantz 137da6826d add cl->client_count member to prevent segv when counting a list that is actually null but hasn't been nulled
SVN revision: 52503
2010-09-20 19:31:11 +00:00
Mike Blumenkrantz d1db6f1cf4 gnutls cleanup: only create diffie hellman bits on server init instead of for each client
overhead/blocking--
speed++


SVN revision: 52468
2010-09-19 19:25:47 +00:00
Mike Blumenkrantz 4239d5d67f giant cleanups/rewrites which are unnoticeable to users:
*client->server renamed client->host_server to clarify ambiguity
*ecore_con_ssl_client_prepare.* killed off because it was useless and wrong
*openssl generates only one SSL_CTX per server now instead of a new one for each client, which is broken/unnecessary/wasteful
**as a result, certificate loading is now only done once
**additionally this will save a very large amount of memory and avoid unnecessary/broken refcounting
*ecore_con_ssl_server_prepare.* rewritten to actually be useful instead of just a lazy way to null pointers
**all SSL_CTX code now goes here^
*some formatting fixes
*internal function renames


SVN revision: 52422
2010-09-18 19:26:05 +00:00
Mike Blumenkrantz f62bcf1ff1 switch private struct members from char bitfields to Eina_Bool bitfields
no noticeable difference


SVN revision: 52399
2010-09-18 06:30:13 +00:00
Mike Blumenkrantz 0bbca7c75d fix cert support, split functions for client/server
note: crl checking and cert verification do not currently function


SVN revision: 50603
2010-07-28 18:25:46 +00:00