Commit Graph

562 Commits

Author SHA1 Message Date
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
Mike Blumenkrantz 54baacb790 added some more possibly useless safety checks to ecore_con_ares
SVN revision: 56892
2011-02-10 07:50:20 +00:00
Davide Andreoli ecf4379680 ok, sorry, there was a reason: shutting up gcc warnings. spank myself :P
SVN revision: 56612
2011-01-31 18:57:13 +00:00
Davide Andreoli 080b978c88 :/ setting a const char * param to NULL ?? and after the return ?? :O
random spank

SVN revision: 56611
2011-01-31 18:48:50 +00:00
Carsten Haitzler 51c7fa56c0 re-enable progress callbacks.
SVN revision: 56339
2011-01-28 02:46:27 +00:00
Carsten Haitzler a450497a08 ecore_con_url_get needs no args.
SVN revision: 56338
2011-01-28 02:24:24 +00:00
Mike Blumenkrantz 17930e3b31 fix segv
SVN revision: 56314
2011-01-27 03:23:05 +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
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 88a8651acb I think someone meant to set it like this originally but was confused by the double negative.
ecore_con_url no longer shows progress bars


SVN revision: 56239
2011-01-20 09:27:19 +00:00
Carsten Haitzler 9f51fd635d warning--
SVN revision: 56185
2011-01-16 08:10:50 +00:00
Mike Blumenkrantz 13c0840cd2 avoid passing NULL to memcpy
SVN revision: 56083
2011-01-14 02:35:59 +00:00
Mike Blumenkrantz dac94cd03a if alloca fails you're screwed anyway, so not much point checking for it
SVN revision: 56082
2011-01-14 02:32:45 +00:00
Mike Blumenkrantz 3ed55a28d8 null variables at start
SVN revision: 56031
2011-01-11 00:51:23 +00:00
Mike Blumenkrantz 86daaaaa3d handle ares timeout more gracefully
SVN revision: 56025
2011-01-10 14:41:34 +00:00
Mike Blumenkrantz 989a3f0693 avoid closing stdout (fd0)
SVN revision: 55959
2011-01-06 22:35:31 +00:00
Mike Blumenkrantz 828dce5677 complete rewrite of c-ares fd handling: fixes an instance of ticket #637 and also integrates with main loop much more nicely
SVN revision: 55958
2011-01-06 22:32:25 +00:00
Eduardo de Barros Lima adff898079 Add basic cookie support to Ecore_Con_Url.
This commit adds some simple wrapper functions for libcurl
cookie-related code to Ecore_Con_Url.

It is now possible to enable the cookie engine, clear cookies and
dump/load them from files.

Cookies in both HTTP header-style and cookie-jar are supported.

Patch by Raphael Kubo da Costa <kubo@profusion.mobi>



SVN revision: 55934
2011-01-06 16:10:38 +00:00
Carsten Haitzler b60120b26b ok rafael/rui - i've deprecated send and made a get and post call that
will explicitly do a get or a post. send is still there (deprecated)
and it just does what it did before - it guesses effectively. please
comment. :)



SVN revision: 55926
2011-01-06 06:33:25 +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 d19ff43b6e if data is NULL for curl... make postfieldsize 0.
SVN revision: 55583
2010-12-16 08:35:29 +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 c9b693655c From: Mike McCormack <mj.mccormack@samsung.com>
Subject: [E-devel] [PATCH 3/4] ecore_con: Always close fd after remove
fdh from main loop



SVN revision: 55571
2010-12-16 04:39:38 +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
Rui Seabra 5315577722 http auth was implemented way back in r48715 (one less item in FIXMEs).
SVN revision: 55557
2010-12-14 22:30:53 +00:00
Mike Blumenkrantz ee1d0dbc23 use more explicit error checks
SVN revision: 55498
2010-12-11 16:51:29 +00:00
Mike Blumenkrantz 9b17481f53 handle ARES_ECONNREFUSED
SVN revision: 55473
2010-12-11 00:25:46 +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 0c1efd9afd handle ARES_ENODATA more gracefully
SVN revision: 55371
2010-12-08 14:00:37 +00:00
Mike Blumenkrantz d15d81161f avoid magic fail on already-freed handler
SVN revision: 55280
2010-12-05 07:30:17 +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 88ca4717d1 formatting cleanups
SVN revision: 55109
2010-12-01 04:42:29 +00:00
Mike Blumenkrantz 1d759c88d1 only enable extensive ssl logging with compile define set to avoid massive slowdown
SVN revision: 55106
2010-12-01 03:19:28 +00:00
Carsten Haitzler 5c3b45bf65 so... why.. do.. we .. not init.. all? :) how do we expect https and
friends to work... if we dont want them initted :)



SVN revision: 55079
2010-11-30 09:39:23 +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 fd44ecf46c fix annoying printfs that should be ERRs
SVN revision: 55043
2010-11-28 21:51:07 +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 8edaf11298 clean up unused warnings
SVN revision: 54618
2010-11-17 06:41:41 +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 f334d907ae robustify ssl handshaking by catching extremely rare cases when the session has been deleted between handshake calls usually caused by thousands of concurrent sessions. yes, I'm benchmarking.
SVN revision: 54269
2010-11-07 05:36:40 +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 ecd54f41fe because SUCCESS is not an error.
SVN revision: 54078
2010-11-01 20:46:39 +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 e4439fb0c6 add a sweet DBG logging function for gnutls because logging info rules
SVN revision: 53980
2010-10-29 04:31:16 +00:00
Mike Blumenkrantz c469c5bddf comment out all psk code since I haven't implemented it yet, fix gnutls servers (how the hell did it break?????)
SVN revision: 53979
2010-10-28 23:51:08 +00:00
Mike Blumenkrantz 4ca9db7909 a little bit of reformatting, be explicit with dhp allocation, and add server verification for client certs (apparently I was off my cut and paste game that day)
SVN revision: 53974
2010-10-28 18:25:35 +00:00
Mike Blumenkrantz 446c27ac31 remove dead code
SVN revision: 53973
2010-10-28 18:24:22 +00:00
Eduardo de Barros Lima 454f896043 Ecore: Decide whether library will be built or not in upper level
As requested by vtorri. :D



SVN revision: 53967
2010-10-28 16:37:41 +00:00
Mike Blumenkrantz a09f61a9f8 remove unnecessary ifdef
SVN revision: 53965
2010-10-28 16:07:47 +00:00
Mike Blumenkrantz b40a8e7efe wnen I said gnutls on my last commit, I really meant openssl. but when I say gnutls on this commit, I mean gnutls. really.
SVN revision: 53961
2010-10-28 14:48:25 +00:00
Mike Blumenkrantz 9e5e01219c add more gnutls info for dhp generation so you can tell if it ever stops
SVN revision: 53959
2010-10-28 14:07:47 +00:00
Mike Blumenkrantz 3638b837cc only set openssl verify when needed to avoid some handshake errors
SVN revision: 53955
2010-10-28 13:15:36 +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
Mike Blumenkrantz de31d29f65 hmmm actually this is probably the better way to fix it with maximum laziness
SVN revision: 53937
2010-10-27 20:52:36 +00:00
Mike Blumenkrantz d9d3d63f42 fix potential crash when someone specifies a weird/nonexistent ssl type
SVN revision: 53936
2010-10-27 20:51:09 +00:00
Sebastian Dransfeld 34cecc6810 We always require gnutls >= 2.10
SVN revision: 53911
2010-10-27 07:09:16 +00:00
Raphael Kubo da Costa a07b93ab49 From: Raphael Kubo da Costa <kubo@profusion.mobi>
This signature change follows libcurl's behaviour more closely:
CURLOPT_POSTFIELDSIZE expects a long, and a value of -1 means that
content length calculation is forwarded to libcurl, which performs a
strlen() on CURLOPT_POSTFIELD.



SVN revision: 53845
2010-10-25 02:53:06 +00:00
Sebastian Dransfeld 38f1292466 Check for gnutls >= 2.6
SVN revision: 53578
2010-10-18 18:28:11 +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
Cedric BAIL 313e855af5 * ecore: proper protection of newer constant.
SVN revision: 53567
2010-10-18 13:11:25 +00:00
Cedric BAIL 680fa431b3 * ecore: remove ecore_con_url_http_post_send as it expose CURL
API and is not useful to someone.


SVN revision: 53566
2010-10-18 12:52:46 +00:00
Mike Blumenkrantz 38c32c19a0 add info when generating dh params so people will know wtf is going on when their app hangs for an hour on startup
SVN revision: 53473
2010-10-15 21:31:25 +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 513bdc7da1 stop trying to use ssl for local connections
SVN revision: 53409
2010-10-14 16:19:17 +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