Commit Graph

299 Commits

Author SHA1 Message Date
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
Cedric BAIL d2d54ecad6 * ecore: SO_REUSEADDR in all case.
Patch thanks to Raoul Hecky < raoul.hecky at gmail.com >


SVN revision: 56253
2011-01-21 09:45:38 +00:00
Mike Blumenkrantz 989a3f0693 avoid closing stdout (fd0)
SVN revision: 55959
2011-01-06 22:35:31 +00:00
Carsten Haitzler 2f564887ec formatting
SVN revision: 55624
2010-12-18 01:47:29 +00:00
Sebastian Dransfeld df817afd9a only check errno if num < 0
SVN revision: 55611
2010-12-17 12:09:14 +00:00
Mike Blumenkrantz 14751dc4a1 add notes to prevent future breaking of ecore_con_ssl
SVN revision: 55606
2010-12-17 09:02:44 +00:00
Sebastian Dransfeld 3ce611e057 formatting
SVN revision: 55605
2010-12-17 08:48:36 +00:00
Sebastian Dransfeld a8780986e8 don't accept 0 return
SVN revision: 55604
2010-12-17 08:44:53 +00:00
Sebastian Dransfeld 9a6b8adfec only emit ECORE_CON_EVENT_SERVER_DATA when data
SVN revision: 55602
2010-12-17 08:15:52 +00:00
Cedric BAIL ae9917c9f2 * ecore: SPANK ! SPANK ! SPANK !
The value of errno is only know when the result of a syscall
	tell you to look at it. And don't set errno, that's a bad idea !


SVN revision: 55594
2010-12-16 13:16:40 +00:00
Cedric BAIL 8a4ad8c102 * ecore: fix obvious bug. But Ecore_Con with UDP session is
completly broken and no time to fix it.

	Try elixir sample code:
	http://code.google.com/p/freebox-elixir/source/browse/#svn%2Ftrunk%2Fexemples%2Fecore_con_udp



SVN revision: 55593
2010-12-16 13:08:49 +00:00
Carsten Haitzler daafe9ee79 no - dont do http:// - then englebass is right need to do ftp://,
imap:// file:// .... the list never ends. the docs do explicitly say
its a hostname, NOT a url.



SVN revision: 55580
2010-12-16 08:07:10 +00:00
Mike Blumenkrantz 5af9081342 finally fix stupid ssl read bug for long transfers! also added a couple more error checks and reordered things to read a little better
SVN revision: 55577
2010-12-16 07:43:48 +00:00
Mike Blumenkrantz 913852ba34 validate name better, fix super frustrating bug where connections would inexplicably die if prefixed with http[s]://
SVN revision: 55573
2010-12-16 05:13:29 +00:00
Mike McCormack bdf1b4b330 From: Mike McCormack <mj.mccormack@samsung.com>
Subject: [E-devel] [PATCH 1/4] ecore_con: Always close fd after remove
fdh from main loop



SVN revision: 55570
2010-12-16 04:38:37 +00:00
Mike Blumenkrantz ee1d0dbc23 use more explicit error checks
SVN revision: 55498
2010-12-11 16:51:29 +00:00
Mike Blumenkrantz e17077e3f4 avoid writing <= 0 bytes to clients
SVN revision: 55433
2010-12-09 21:04:22 +00:00
Mike Blumenkrantz 4912e6dc4f this error fix is dedicated to Tommy[D] for continuing to prove that the impossible can still be possible on his system
SVN revision: 55432
2010-12-09 21:02:53 +00:00
Mike Blumenkrantz 4440764c78 reorder a little, fix bug where client_del event was never sent if it had send data in its buffer
question to think on: should a deleted client be allowed to finish sending its data or should it be killed immediately?


SVN revision: 55391
2010-12-09 06:43:58 +00:00
Mike Blumenkrantz 3b86fed32f avoid loooooooooooooots of ecore spankies
SVN revision: 55390
2010-12-09 06:16:13 +00:00
Mike Blumenkrantz 55d73aee65 aha! found the leak and eliminated it!
SVN revision: 55176
2010-12-03 06:14:30 +00:00
Mike Blumenkrantz b26182d35b avoid segv
SVN revision: 55118
2010-12-01 10:33:07 +00:00
Mike Blumenkrantz 99fa106e8e null pointer to avoid partial free in rare cases
SVN revision: 55046
2010-11-29 00:13:52 +00:00
Mike Blumenkrantz 24c0ebda74 fix error handling of plaintext connect, print ERR on connect failure
SVN revision: 54624
2010-11-17 09:31:15 +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
Mike Blumenkrantz cc01698872 avoid looping infinitely while freeing servers, and don't log while freeing servers in case ecore_con's log domain has already been unregistered
SVN revision: 54479
2010-11-11 20:34:35 +00:00
Mike Blumenkrantz 3552a91b7d only free clients that aren't waiting on events to free them to prevent a segv
SVN revision: 54478
2010-11-11 20:20:44 +00:00
Mike Blumenkrantz c24c33cb54 fix bug where server disconnect event was not emitted, only set magic to none on clients/servers after final event has been emitted, and only null the data pointer at this point as well
SVN revision: 54476
2010-11-11 19:53:21 +00:00
Mike Blumenkrantz 76bdd30da0 add magic strings for ecore_con
SVN revision: 54240
2010-11-06 17:04:09 +00:00
Mike Blumenkrantz 8a87f08107 delete servers on 0
SVN revision: 54209
2010-11-06 01:57:45 +00:00
Sebastian Dransfeld bc8a34b688 formatting
SVN revision: 54207
2010-11-06 01:22:50 +00:00
Sebastian Dransfeld 46cf959d70 Declaration at beginning of block
SVN revision: 54206
2010-11-06 01:22:40 +00:00
Sebastian Dransfeld 5fc5dcc215 Right fix for alloc
Actually we already checked that num != 0, but lacked num < 0 for one of
the allocs

SVN revision: 54205
2010-11-06 01:22:29 +00:00
Mike Blumenkrantz e289280418 add ecore_con_client_connected_get to avoid people scratching their heads and wondering how the hell they're supposed to know if a client has disconnected
SVN revision: 54204
2010-11-06 00:17:04 +00:00
Mike Blumenkrantz a5489cd5c7 remove erroneous return, add some debug info
SVN revision: 54203
2010-11-05 23:48:15 +00:00
Mike Blumenkrantz 0a32ddcc31 fix some cases where refcount was <0 and so things were not being freed
SVN revision: 54199
2010-11-05 20:55:02 +00:00
Mike Blumenkrantz add4a1d9a4 fix disconnect conditions for non-ssl reads
SVN revision: 54197
2010-11-05 19:46:48 +00:00
Sebastian Dransfeld 589e832cb7 Check whether we actually want to alloc data
SVN revision: 54179
2010-11-05 13:11:52 +00:00
Mike Blumenkrantz 6c1cd431a2 malloc check
SVN revision: 54156
2010-11-04 15:48:17 +00:00
Mike Blumenkrantz 2b0ff1a99f for some reason we weren't setting write on fds when all data had not been sent. this should make ecore_con MUCH snappier
SVN revision: 54155
2010-11-04 15:01:05 +00:00
Mike Blumenkrantz b9fade7530 more refactoring, fix bug that was exposed where a completed ssl read (which returns 0 bytes) causes disconnect
SVN revision: 54134
2010-11-03 19:38:00 +00:00
Mike Blumenkrantz 3ffb7e4c16 use safety macros to check mallocs, remove some dead code, optimize read loops by removing them, refactor a lot of code to not be indented halfway across the screen
SVN revision: 54133
2010-11-03 19:08:31 +00:00
Mike Blumenkrantz ddd151bf37 reformat using ecrustify because uncrustify dicked it up previously
SVN revision: 54128
2010-11-03 17:58:37 +00:00
Mike Blumenkrantz 33c81c1983 add some safety checks so people can see wtf went wrong when sends fail
SVN revision: 54125
2010-11-03 16:11:12 +00:00
Mike Blumenkrantz 01760826bb only free when exists
c/o vtorri


SVN revision: 54075
2010-11-01 11:24:29 +00:00
Mike Blumenkrantz 57cee09e0d eh I guess I'll clean up a little bit on failure too
SVN revision: 54074
2010-11-01 07:11:25 +00:00
Mike Blumenkrantz 025cfe4c67 fix incorrect realloc usage
SVN revision: 54073
2010-11-01 07:10:07 +00:00
Mike Blumenkrantz 446c27ac31 remove dead code
SVN revision: 53973
2010-10-28 18:24:22 +00:00
Mike Blumenkrantz 9daab48ec2 fix some random error cases where events would fire too fast and cause a segv
SVN revision: 53952
2010-10-28 10:59:30 +00:00
Carsten Haitzler 8be0e4590e remove changes in case developer dumber than expected?
:) (aagh was most annoying to find this today).



SVN revision: 53437
2010-10-15 07:42:29 +00:00
Mike Blumenkrantz 1df6a75020 make this more explicit in case compiler is dumber than expected?
SVN revision: 53431
2010-10-14 22:13:40 +00:00
Mike Blumenkrantz e2662d1b7c 2 obscure bugs in one commit:
make cert use more overt and set up fd handler before attempting to use it


SVN revision: 53363
2010-10-13 16:40:52 +00:00
Gustavo Sverzut Barbieri 3a88bc8b71 log domains in lower-case only please.
let's make it a standard so we don't have to look at the code
everytime to figure out the name...



SVN revision: 53172
2010-10-07 22:31:46 +00:00
Carsten Haitzler ac77353cfa lets set num to 0 shall we? :)
SVN revision: 53126
2010-10-06 23:54: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 603831821f some DBG edits, fix case where ssl handshake completes and no more data is sent/received
SVN revision: 52972
2010-10-02 01:32:54 +00:00
Mike Blumenkrantz 7cb095cc24 set fd handler flags properly from gnutls, update dbg info accordingly
reminder: do this for openssl later


SVN revision: 52910
2010-09-29 23:53:00 +00:00
Mike Blumenkrantz c0593c571a add more debug output, and even more with -DPRINT_LOTS_OF_DEBUG
SVN revision: 52891
2010-09-29 14:52:36 +00:00
Mike Blumenkrantz 7af28b08ff reorder some handshake events to hopefully reduce overhead slightly
SVN revision: 52878
2010-09-29 05:08:47 +00:00
Mike Blumenkrantz 75b958531d compile fixes for sun compiler
SVN revision: 52877
2010-09-29 04:06:28 +00:00
Mike Blumenkrantz f5f8a3c45d DBG output
SVN revision: 52875
2010-09-29 03:52:32 +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 a46d1d564c attempt to rehandshake more frequently to avoid unnecessary looping
SVN revision: 52713
2010-09-25 04:22:10 +00:00
Mike Blumenkrantz 0d535058a9 implement ssl rehandshakes
convert bool variable to bool
fix bug where ssl read/write could improperly result in disconnect


SVN revision: 52710
2010-09-25 03:02:10 +00:00
Mike Blumenkrantz da4dcea34f fix events for async handshaking
SVN revision: 52672
2010-09-24 05:57:03 +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
Vincent Torri 3fd0a6fb08 remove whitespaces
SVN revision: 52569
2010-09-22 08:03:38 +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 ad3ecd489a ecore_con_url_destroy -> ecore_con_url_free
also some small function rearranging


SVN revision: 52534
2010-09-21 06:49:07 +00:00
Mike Blumenkrantz fdadea7eca ecore_con_server_connected_get now returns Eina_Bool
SVN revision: 52525
2010-09-21 01:48:46 +00:00
Mike Blumenkrantz e56789f77e This is the Doxygen Police! If you committed any of these lines, accept your public shaming!
SVN revision: 52513
2010-09-20 20:52:15 +00:00
Mike Blumenkrantz 40396f6867 doxy todo--
SVN revision: 52509
2010-09-20 20:12:17 +00:00
Mike Blumenkrantz c578a955ae fix obscure error case where CLIENT_DEL event is not generated after a client ssl pings ecore's server and disconnects immediately after handshake
SVN revision: 52504
2010-09-20 19:32:37 +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 d28a6dd5d6 formatting, switch lost_client to bool
SVN revision: 52501
2010-09-20 18:52:52 +00:00
Mike Blumenkrantz 5775219503 check return of ssl_server_prepare
SVN revision: 52423
2010-09-18 19:29:43 +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 f8d56a023f a loooooooot of outdents and reformatting
SVN revision: 52397
2010-09-18 06:06:05 +00:00
Mike Blumenkrantz 3736856f82 stop the indenting and line wrapping madness!!!!!!!
SVN revision: 52394
2010-09-18 05:30:16 +00:00
Mike Blumenkrantz 8cd87afb04 outdent for readability
SVN revision: 52393
2010-09-18 04:59:11 +00:00
Mike Blumenkrantz 8db37b8518 formatting
SVN revision: 52390
2010-09-18 01:20:25 +00:00
Mike Blumenkrantz 833c0d19a9 doxy clarification
SVN revision: 51694
2010-08-28 10:01:20 +00:00
Nicholas Hughart 7afd0b7173 Add the following functions to Ecore_Con API:
ecore_con_server_name_get
ecore_con_server_port_get



SVN revision: 51670
2010-08-27 05:16:00 +00:00
Lucas De Marchi 5a8a8c9014 Convert (hopefully) all comparisons to NULL
Apply badzero.cocci, badnull.coci and badnull2.cocci

This should convert all cases where there's a comparison to NULL to simpler
forms. This patch applies the following transformations:

code before patch               ||code after patch
===============================================================

return a == NULL;                 return !a;

return a != NULL;                 return !!a;

func(a == NULL);                  func(!a);

func(a != NULL);                  func(!!a);

b = a == NULL;                    b = !a;

b = a != NULL;                    b = !!a;

b = a == NULL ? c : d;            b = !a ? c : d;

b = a != NULL ? c : d;            b = a ? c : d;


other cases:

a == NULL                         !a
a != NULL                         a




SVN revision: 51487
2010-08-21 13:52:25 +00:00
Lucas De Marchi 0a4617ae38 FORMATTING
* Remove vim modelines:
 find . -name '*.[chx]' -exec sed -i '/\/\*$/ {N;N;/ \* vim:ts/d}' \{\} \;
 find . -name '*.[chx]' -exec sed -i '/\/[\*\/] *vim:/d' \{\} \;

* Remove leading blank lines:
 find . -name '*.[cxh]' -exec sed -i '/./,$!d'

If you use vim, use this in your .vimrc:
set ts=8 sw=3 sts=8 expandtab cino=>5n-3f0^-2{2(0W1st0



SVN revision: 50816
2010-08-04 16:57:32 +00:00
Mike Blumenkrantz 5d52fce3f6 rrrrrrrrrrrrrr stupid enum!
SVN revision: 50689
2010-07-30 17:03:34 +00:00
Mike Blumenkrantz 21a7365572 dropping my life to fix previously broken mess so people will stop complaining
SVN revision: 50663
2010-07-29 23:42:32 +00:00
Mike Blumenkrantz fae76ddd77 correctly use & to detect server type instead of ==
SVN revision: 50630
2010-07-29 01:42:43 +00:00
Mike Blumenkrantz c39514b9be reorder functions, redo doxy, make a not so obvious null pointer more obvious for future readers
SVN revision: 50627
2010-07-29 00:27:15 +00:00
Mike Blumenkrantz 920c508d86 these functions return a const char *, so they should actually return a const char *
SVN revision: 50622
2010-07-28 22:32:39 +00:00
Mike Blumenkrantz 1b41ba0fb1 forgot to put some doxy in groups
SVN revision: 50620
2010-07-28 22:23:14 +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
Mike Blumenkrantz f0053045e4 add full ssl certificate support to ecore_con: call ecore_con_ssl_cert_add("/path/to/cert.pem") and then create the server object with the ECORE_CON_LOAD_CERT flag
also may have accidentally ruined the formatting on a couple files and started an hour-long discussion over efl formatting scripts to conceal the fact that I used uncrustify to reformat everything


SVN revision: 50529
2010-07-27 06:30:27 +00:00
Mike Blumenkrantz 021fe34df8 big doxy update
SVN revision: 50526
2010-07-27 01:00:24 +00:00
Mike Blumenkrantz 3e3c256e0d doxy fixes grrrrrrrrrrrrrrrrrrrrrr
SVN revision: 50525
2010-07-27 00:10:40 +00:00
Cedric BAIL 7726478790 * ecore: add ecore_con_lookup for dns request retrieval.
NOTE: ecore_con_info_get is now private has it can't be used outside of Ecore_Con.


SVN revision: 50425
2010-07-22 11:32:55 +00:00
Cedric BAIL fbe9064310 * ecore: Ecore callback really should return Eina_Bool.
SVN revision: 49829
2010-06-24 16:15:56 +00:00
Carsten Haitzler 194fc4c4ac fix cedric b0rk
SVN revision: 49569
2010-06-08 11:31:15 +00:00
Cedric BAIL f3457b3bdf * ecore_con: close connection when other side end it.
SVN revision: 49567
2010-06-08 11:08:43 +00:00