Commit Graph

509 Commits

Author SHA1 Message Date
Stefan Schmidt fdc8e455e4 ecore_con: Make sure host_server is not NUL before dereferencing
This was intended to get fixed in f53683f76a

CID 1232731
2014-09-04 10:57:19 +02:00
Tom Hacohen 0c9a1d8a99 Ecore con: Add Connector class (the connecting variant of server).
This change also consists of cleaning up the server class and adding a
constructor and a finalizer to it.
2014-09-01 12:35:22 +01:00
Tom Hacohen 056c54ebc9 Ecore con server: Fix destructor to call super correctly. 2014-09-01 11:12:17 +01:00
Tom Hacohen a58c1b6c97 Ecore con url: Migrate to eo. 2014-09-01 11:12:17 +01:00
Mike Blumenkrantz 7b0db79c2d revert all recent ecore-con related eo changes. completely broken.
please test things before committing.

reverts all changes since and including f6156c9a62
2014-08-30 08:12:54 -04:00
Tom Hacohen 0f9627c363 Ecore con: Fix constructing (the whole object was broken).
We were constructing some things too late which caused url setting to not
work at all.
2014-08-29 11:41:51 +01:00
Daniel Kolesa 3e5da03f7d eolian: update virtual to the new syntax (as per wiki) 2014-08-29 11:40:29 +01:00
Tom Hacohen 607901fb0e Ecore con server: Fix destructor to call super correctly. 2014-08-29 10:26:23 +01:00
Tom Hacohen 61cd629a59 Ecore con: Limit some functions to only be called from inside eo_add(). 2014-08-29 10:26:23 +01:00
Tom Hacohen bba7ac87f1 Ecore con: Add Connector class (the connecting variant of server).
This change also consists of cleaning up the server class and adding a
constructor and a finalizer to it.
2014-08-28 14:31:17 +01:00
Tom Hacohen bdb60f017f Ecore con: Update migration TODO. 2014-08-28 12:00:31 +01:00
Tom Hacohen f6156c9a62 Ecore con url: Migrate to eo. 2014-08-28 11:52:38 +01:00
Tom Hacohen 2a144e5717 Ecore con: Fix to the correct parameter type.
Can finally be done because the eolian cycle bug was fixed.
2014-08-28 10:26:17 +01:00
Tom Hacohen 18895e2489 Ecore con: Fix some ecore con runtime issues on windows. 2014-08-27 16:25:27 +01:00
Tom Hacohen 98281cc523 Ecore con: Fix compilation on windows. 2014-08-27 16:19:25 +01:00
Carsten Haitzler 1383f025d3 ecore-con - fix typo in error handling for ssl client init
fixes CID 1232730
2014-08-27 17:18:22 +09:00
Carsten Haitzler f53683f76a ecore-con - fix explicit null dereference
fix CID 1232731
2014-08-27 17:16:17 +09:00
Carsten Haitzler 9de5c8131d ecore-con - fix explicit null ptr deref
fix CID 1232729
2014-08-27 17:14:30 +09:00
Carsten Haitzler 8762004bf1 ecore-con - check return of mkdir
fix CID 1039699
2014-08-27 16:28:46 +09:00
Carsten Haitzler cbf5e0ef1d ecore-con - check return of ecore con ssl init
check return of ssl init for server connection

fixes CID 1039700
2014-08-27 16:25:51 +09:00
Carsten Haitzler f5b975174f ecore-con - use return valude of sendto.
fixes CID 1232726
2014-08-27 14:49:47 +09:00
Tom Hacohen 00b3996ee1 Ecore con: Fix compilation on windows.
Hopefully. I don't have a winodws box to test it on. Go Jenkins go.
2014-08-26 14:53:23 +01:00
Tom Hacohen 540581f629 Ecore con: Hopefully fix for windows. 2014-08-26 11:11:20 +01:00
Marcel Hollerbach 8749504b5c ecore_con: pass the correct pointer as data in the callback.
Summary:
The pass of the wrong pointer caused a wrong scope get call cause the the
passed pointer was not a valid eo pointer.

Test Plan: Run enlightenment entrance, it wont crash anymore

Reviewers: tasn

Subscribers: cedric, Sachiel

Differential Revision: https://phab.enlightenment.org/D1352
2014-08-23 16:39:14 +09:00
Tom Hacohen 974e3afabc Ecore con: Rename to Ecore.Con.Base for the C++ bindings. 2014-08-22 17:37:56 +01:00
Tom Hacohen 9a8a416325 Ecore con server: Add support for some eo events. 2014-08-22 17:37:56 +01:00
Tom Hacohen d72f809fb8 Ecore con server: Migrate to eo. 2014-08-22 17:37:56 +01:00
Tom Hacohen 718a942bde Ecore con client: Add support for some eo events. 2014-08-22 17:11:54 +01:00
Tom Hacohen d9b5f192d4 Ecore con client: Migrate to eo. 2014-08-22 17:11:54 +01:00
Tom Hacohen 218e76fd30 Ecore con: Start migration to eo. 2014-08-22 17:00:49 +01:00
Carsten Haitzler c0ca1bcf44 ecore-con - fix possible leak due to other fix
this fixes potential leak due to
ff652084e0 fixing a valgrind access
issue. make sure the server is in the list before handling error
conditions in case a callback sets delete_me (should never though).
2014-08-13 08:44:44 +09:00
Carsten Haitzler ff652084e0 fix valgrind report on ecore con server connect failure
this should fix T1508 - my testing seems to indicate so. test suite
succeeds, some manual tests of mine work. so is ay this is a good fix
that could fix critical segvs in apps using ecore-con - eg like
weather module in e
2014-08-11 20:49:42 +09:00
Mike Blumenkrantz 9c5d565d2b call ecore_init() for ecore_con_url_init()
ecore functions are used by this api, so ecore must be initialized
2014-07-28 09:48:18 -04:00
Cedric BAIL 29226ee49d ecore_con: just a reminder to look at later. 2014-06-27 13:41:20 +02:00
Carsten Haitzler 4b24b386db fix duplicate function call names in ecore and ecore_con that can clash
this fixes T1341. also it removes the pointless return value from
these two functions as the return is never used. also the ifdef in
ecore_main.c seemed wrong as it wasd using fcntl not execvp but the
ifdef was for execvp. this just never was discovered, so it's slid
under the hood for a long time.
2014-06-16 15:57:05 +09:00
Raoul Hecky 06a343afda Fix curl dynamic loading on windows
With win-builds.org curl dll name is libcurl-4.dll. Try to load this
correct filename first
2014-06-03 18:09:14 +02:00
Guillaume Friloux 08a70a113f Fix warning with undefined ntohl(). 2014-05-30 14:15:27 +02:00
Jean-Philippe Andre f4a0c8054f Win64: Fix a bunch of warnings
Fix invalid casts.
Use printf("%z") where appropriate.
Fix unused variables warnings.

Thanks vtorri for the patch.

@fix
2014-05-29 20:02:16 +09:00
Carsten Haitzler 7c00bd5123 fix ecore_con_url using 100% cpu and just let fd handler do work
this fixes T1251 - @fix
2014-05-15 15:48:18 +09:00
Stefan Schmidt 9f7c9f9536 ecore_con: Force unsigned to unsigned comparison
num was changed to size_t which makes it unsigned while count is a normal
(signed) int. Comparing them does not always work as expected but in this
case we already checked if count is < 0 before and would have returned if
that would be true. Thus we can safely cast count to unsigned here as it
will be greater 0 anyway.
2014-04-11 11:50:47 +02:00
Stefan Schmidt b53a68d4c6 ecore_con: Remove superfluous >= 0 check for unsigned
Since num was changed from (signed) int to (unsigned)  size_t in
16d7b981eb this check no longer
makes sense as it will always be true.
2014-04-11 11:26:18 +02:00
Carsten Haitzler 16d7b981eb ecore-con - deal with internal buffer growing over 2g in size
@fix this fixes a corner case where you may buffer 2g or more of data
in ecore-con buffers. this leads to a stall. @fix
2014-04-04 19:36:50 +09:00
Chris Michael 24ac2e278d Fix doxy typo
Signed-off-by: Chris Michael <devilhorns@comcast.net>
2014-01-19 12:06:05 +00:00
ChunEon Park 84cd13bf96 efl/ecore_con - compare same types. 2014-01-18 18:50:51 +09:00
Cedric BAIL 313cd699f2 ecore_con: fix build on windows by matching the #if around the if statement. 2014-01-09 14:30:43 +09:00
Carsten Haitzler e8c13118eb fix mingw build for setuid fix/checks 2014-01-08 22:06:41 +09:00
Carsten Haitzler b95ef3801f setuid safeness - ensure if an app that is setuid doesn't do bad things
this makes efl ignore certain env vars for thnigs and entirely removes
user modules (that no one ever used) etc. etc. to ensure that *IF* an
app is setuid, there isn't a priv escalation path that is easy.
2014-01-08 19:46:23 +09:00
Nicolas Aguirre 503e7a5b03 ecore_con - Fix binary buffer when using ECORE_CON_REMOTE_UDP.
ERR<7807>: lib/eina/eina_binbuf_template_c.x:95 eina_binbuf_append_length() *** Eina Magic Check Failed !!!
This fix a problem where eina_binbuf was used without
calling eina_binbuf_new when ECORE_CON_REMOTE_UDP is used.
2014-01-03 18:57:56 +01:00
Daniel Juyung Seo 76d8532b54 efl: Unified eina critical manro to CRI.
Being annoyed by different types of eina critical macros - CRI, CRIT,
 CRITICAL -, I concluded to unify them to one. Discussed on IRC and
 finally, CRI was chosen to meet the consistency with other macros -
 ERR, WRN, INF, DBG - in terms of the number of characters.
If there is any missing bits, please let me know.
2013-12-26 12:27:13 +09:00
discomfitor dd666a6ffd bugfix: free the entire ecore_con dns struct on info clear to prevent crashes later on 2013-12-20 22:16:59 -05:00
discomfitor 2a143393f9 split ecore_con_dns free functions into one that removes from list and one that does the freeing 2013-12-20 22:16:29 -05:00
discomfitor 0808259eff Revert "workaround for a weird ecore-con crash"
This reverts commit c751a220d6.
2013-12-20 22:04:58 -05:00
discomfitor c751a220d6 workaround for a weird ecore-con crash
kuri ping in case I don't get to this soon it needs to be fixed somewhere else
2013-12-20 21:36:58 -05:00
discomfitor 41fe698fc2 reformat ecore_con so I can read it... 2013-12-20 00:08:43 -05:00
Carsten Haitzler 8cdef1831c ecore-con - fix possible unterminated buffers
this should fix CID 1039725 and CID 1039724
2013-12-13 21:26:05 +09:00
Carsten Haitzler 675309d9d9 ecore_con - dns.c - re-fix coverty double-free. coverity was and is right.
fixes CID 1039909 again (it's back after rebase). it is an actual bug.
2013-12-13 09:41:23 +09:00
discomfitor 5a549c8e97 rebase dns.c from upstream 2013-12-12 09:29:02 -05:00
Carsten Haitzler 1c267deb8f ecore-con - dns.c - fix double free
this fixes CID 1039909
2013-12-11 19:32:54 +09:00
Cedric Bail 8e7921dffa ecore_con: remove unecessary code. 2013-11-28 16:36:21 +09:00
Cedric Bail 1e70d703b3 ecore_con: fix unitialized use of buffer from strncpy.
Fix CID 1039725.
2013-11-27 14:30:03 +09:00
Cedric Bail d0837ee5f5 ecore_con: fix non initialized use of buf with strncpy.
This fix CID 1039723.
2013-11-27 14:27:00 +09:00
Chris Michael 164269a2da Malloc cannot accept a negative number so check 'num' parameter before
calling malloc.

Fixes Coverity CID1039352

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-11-18 11:50:42 +00:00
Carsten Haitzler 85a86e77f7 ecore_con - socks support - warning that shows invalid size calc
zmike - i think this was the problem. gcc warning caught it. size was
2013-11-09 10:11:12 +09:00
Guillaume Friloux 838c3bed85 Fixes a bug where when you try to connect to a server using an
inexistant DNS, or having a DNS resolution error, there isnt any event
generated for the application to know.

This is not a complete fix has you need to fix a timeout value for it to
happen, but still, it makes it possible to work around it.

More work is needed on this.
2013-11-06 14:32:11 +01:00
Carsten Haitzler 8ed6324a31 ecore-con - followup commit to curl dynamic load - support win and osx names 2013-10-11 08:13:35 +09:00
Carsten Haitzler 2c1c6b9335 ecore-con: make curl support entirely runtime loaded via eina_module
this makes curl support a pure runtime-only thing. libcurl is loaded by
eina_module (dlopen/dlsym) when curl is actually first needed (when a
url connection/object is created). this means that ecore-con has no
link or compile dependencies on curl, only runtime, AND this saves
memory (due to curl inits using apparently a chunk of private pages).
so this saves memory and moves the dependency to runtime (though still
consider libcurl a dependency of efl - but like a binary executed,
it's at runtime).
2013-10-10 22:31:18 +09:00
Chris Michael cc1a2d4b6b _ecore_con_dns_free already frees the timer and whole dns structure,
so setting dns->timer = NULL here b0rks.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-08-05 13:52:06 +01:00
Chris Michael 0f925220e1 Fix potential double-free of so->answer.
NB: dns_so_submit calls dns_so_reset twice (once at start, once at end
on error). As so_reset will free so->answer the first time through,
add validity check of so->answer for the second iteration.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-08-05 13:48:23 +01:00
Chris Michael d9f8e6b525 Do not call _ecore_con_client_flush with a NULL client.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-08-05 12:39:19 +01:00
Guillaume Friloux 6aab5a9690 This patch is a port of commit 4b885b9b24de9e188c861422d7d2738b49359d22.
It fixes ecore_con_server_timeout_set().
2013-07-17 16:20:45 +02:00
Carsten Haitzler cc400c5c7f fix clang sizeof complaint 2013-07-16 20:45:24 +09:00
Sebastian Dransfeld 336f6ec328 efl: formatting 2013-06-20 13:28:18 +02:00
Sebastian Dransfeld 068f1ddc62 efl: formatting 2013-06-20 13:08:36 +02:00
Daniel Willmann 16cbbb202f ecore_con: Server start time was not initialized correctly
ecore_con_event_server_add() is never called (at least not in the
standard TCP connection case, so initialize svr->start_time in
ecore_con_server_add(). This shouldn't regress any other behaviour as
this is done at the very beginning and any later change to start_time
will still happen.

Signed-off-by: Daniel Willmann <d.willmann@samsung.com>
2013-05-24 16:18:02 +01:00
Guillaume Friloux 7b88439346 cl->start_time isnt initialized, so ecore_con_client_uptime_get() just doesnt work. This patch fixes it. Bug found by asdfuser. 2013-05-24 15:14:09 +01:00
Guillaume Friloux 359c17be56 I missed a timer_reset for the case we did set a server timeout and no client timeout. Thanks again Cravix for the awesome reports. 2013-05-24 15:14:09 +01:00
Guillaume Friloux 996c98f36a Fixes another bug found by Cravix (IRC) where even if data is going over the socket, we still timeout the connection if ecore_con_client_timeout_set and ecore_con_server_timeout_set are used! This is even a worst bug than the previous one. This patch should also be applied and tested on 1.8. Thx Cravix! 2013-05-24 11:33:06 +01:00
Guillaume Friloux 0a293dd981 Fix a bug introduced on 2011-12-10 05:42:32 (GMT) and nobody ever noticed because there isnt enough people that cares about ecore_con (and the lower level libs in general). Big thanks to Cravix (IRC) for finding this issue! 2013-05-24 11:33:06 +01:00
Cedric BAIL 2063e4353d efl: integrate eina_log_timing. 2013-03-27 21:43:45 +09:00
Cedric Bail d4172f555a ecore_con: fix warnings when curl is not available. 2013-03-17 10:34:40 +09:00
Cedric Bail 1959898724 ecore_con: improve portability. 2013-03-16 15:40:26 +09:00
Mike Blumenkrantz 4ab02d7f6b fix writes/flushes with servers for ecore-con 2013-03-14 11:48:05 +00:00
Mike Blumenkrantz bbc7a0bf3e clean up gnutls session init for ecore-con in 1.8 2013-03-11 04:57:12 +00:00
Cedric Bail 8d5e33077e efl: use HAVE_FCNTL around call to fcntl. 2013-03-10 23:10:27 +09:00
Cedric Bail 9176271492 ecore_con: add systemd socket activation.
Be careful, systemd socket activation require you to always order
server socket creation in the same order as defined in the unit file.
This means ecore_con_server_add should always been in the same order
for those of them using systemd socket activation.
2013-03-10 16:00:32 +09:00
Henrique Dante de Almeida ca8fc827a3 efl: Fixes to support compiling with CFLAGS=-Werror
This allows compiling with gcc 4.7.2 without errors (using the
default configuration).
2013-02-26 10:55:04 -03:00
Guillaume Friloux 8acf1ebdf2 Improving ecore_con_server_flush to avoid a faceplant over the OOM
Killer when sending big files. I will explain more in a mail comming 
after this commit.


SVN revision: 83766
2013-02-08 08:35:27 +00:00
Guillaume Friloux a3f013ad2f Fixing a mem leak by adding a call to dns_ai_close which will save us
800 bytes per ecore_con_server_connect() call.


SVN revision: 83517
2013-01-31 14:04:54 +00:00
Mike Blumenkrantz 10a10310e8 rebase dns.c against upstream
SVN revision: 83058
2013-01-22 08:01:13 +00:00
Lucas De Marchi 06ff74834f efl: remove checks for socket.h, net/*, arpa/*
SVN revision: 82585
2013-01-10 20:26:02 +00:00
Lucas De Marchi 3e4eb4437e efl: remove check for errno.h
SVN revision: 82581
2013-01-10 20:25:44 +00:00
Carsten Haitzler ee00e0fd5b ok- enable again.. but i think they should be DBG(). :)
SVN revision: 82163
2013-01-04 08:45:31 +00:00
Gustavo Sverzut Barbieri 0a2d116119 efl: eina_alloca.h to simplify alloca() usage.
having to replicate 18 lines per file just to access alloca() is
insane. Let's do that in Eina.h and avoid that crap :-/



SVN revision: 82082
2013-01-03 15:10:34 +00:00
Mike McCormack cf2f4d3e29 SVN revision: 82013
Signed-off-by: Mike McCormack <mikem@atratus.org>

SVN revision: 82044
2013-01-03 07:34:37 +00:00
Carsten Haitzler 90bc1aa27c fix ecore-con client double-free case
SVN revision: 82042
2013-01-03 06:56:42 +00:00
Mike McCormack 81cf390f17 efl: Fix shadow warnings
Signed-off-by: Mike McCormack <mikem@atratus.org>

SVN revision: 82013
2013-01-02 20:36:40 +00:00
Mike McCormack 8d1f3f7851 efl: Fix initializer overwritten warnings
Signed-off-by: Mike McCormack <mikem@atratus.org>

SVN revision: 82012
2013-01-02 20:36:36 +00:00
Carsten Haitzler 69c0e8a09c misplaced ERR-- - maybe DBG?
SVN revision: 81945
2013-01-01 08:12:09 +00:00
Gustavo Sverzut Barbieri 66ebe6a3f8 efl: remove checks for EINA_HAVE_THREADS
SVN revision: 81937
2012-12-31 17:31:17 +00:00
Carsten Haitzler 717f0823e0 small change - use xdg runtime dir if available instead of home. nicer
in xdg worlds. still falls back tho.



SVN revision: 81858
2012-12-29 03:39:20 +00:00
Gustavo Sverzut Barbieri f29be8f793 efl/ecore_con: fix doxygen hierarchy.
SVN revision: 81834
2012-12-28 19:48:12 +00:00
Carsten Haitzler 4cd65475d4 this is small but critical - failure to connect isnt something to
ERR() log about... it's simply a matter of the other end not being
there... it can be a perfectly normal condition.



SVN revision: 81734
2012-12-27 08:16:05 +00:00
Mike Blumenkrantz b2de05f49a all efl object deletion functions now take NULL without crashing or erroring
SVN revision: 81667
2012-12-24 09:35:56 +00:00
Jonas M. Gastal e3ae81e65f efl: Created Ecore group and added existing Ecore groups to it.
SVN revision: 81293
2012-12-18 18:38:44 +00:00
Carsten Haitzler 05066801d3 lets have fcntl.h in eh?
SVN revision: 80521
2012-12-08 14:07:24 +00:00
Cedric BAIL 88ba56d9d5 efl: don't leak fd on exec.
SVN revision: 80434
2012-12-07 11:01:41 +00:00
Gustavo Sverzut Barbieri 48120ec0c8 efl: both eet and ecore_con now share --with-crypto and defines.
* rename USE_GNUTLS and USE_OPENSSL to HAVE_GNUTLS and HAVE_OPENSSL
   in ecore_con, to match other modules such as Eet.

 * define requirements_pc_crypto, requirements_pc_deps_crypto and
   requirements_libs_crypto so modules can use that.

 * move to a common check section.



SVN revision: 80288
2012-12-06 00:11:14 +00:00
Vincent Torri 5afa16903d ecore: backport #79766 and #79769
SVN revision: 80013
2012-12-03 07:14:13 +00:00
Vincent Torri 7d6010b12c merge: add escape ecore, fix several bugs
SVN revision: 79995
2012-12-02 22:35:45 +00:00