Commit Graph

161 Commits

Author SHA1 Message Date
Srivardhan Hebbar 3a64b0ccd3 ecore_con: fix ftp upload function to follow documentation.
Summary:
While creating a Ecore_con_url object, the url is given in this format "ftp://ftp.example.com". While uploading a file, this function was prefixing "ftp://" to this url which resulted in DNS failure, and upload fail. So corrected the issue.

Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2221

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-03-27 18:41:05 +01:00
Nicolas Aguirre 242e108e37 ecore_con: do not try to load /etc/resolv.conf when on windows.
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-03-26 17:46:17 +01:00
Srivardhan Hebbar 9c03e3e728 ecore_con: clean up, refactor and unpdate documentation.
Summary:
1. Have refactored code in ecore_con_local.c
2. Changed env variable from "TMP" to "TMPDIR".
3. Added check for negetive port number when type is ECORE_CON_LOCAL_USER.
4. Added check to check TMPDIR before assuming /tmp as temp directory.
5. Updated documentation in Ecore_Con.h explaining about local socket and port number.

Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2194

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-03-23 19:44:27 +01:00
Srivardhan Hebbar b1f74c615a ecore_con: fix ECORE_CON_LOCAL_SYSTEM use with negative port number.
Summary:
The socket can be created even with negative port number, but in that case the port
is ignored so that you can connect to non Ecore_Con based IPC. This patch remove
that test to make the client and server match.

@fix

Bug: While creating ECORE_CON_LOCAL_SYSTEM server and client pair, when the socket
name was "test_socket" and port number "-8" (Any negative number). Then while creating
listening socket, the code would go to line no 291 and socket is created in tmp by
".ecore_servicetest_socket|-8". When the same is passed to bind then the code would
go to line 118 and the socket it would try to bind would be ".ecore_servicetest_socket" !!
So the bind would fail.

Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2186

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-03-18 15:37:09 +01:00
Cedric BAIL b301fffe2f ecore_con: fix build with -DISCOMFITOR and OpenSSL. 2015-03-17 09:58:21 +01:00
Cedric BAIL 9b51888104 ecore_con: remove deprecated use of Eina_Binbuf functions. 2015-03-17 09:58:21 +01:00
Cedric BAIL dfe39b3d54 ecore_con: unbreak GNUTLS support. 2015-03-17 09:58:20 +01:00
Cedric BAIL a089d8cd7b emile: Add SSL support. 2015-03-17 09:58:18 +01:00
Cedric BAIL 2913e8c64e ecore_con: initialize emile cipher support on demand. 2015-03-17 09:58:17 +01:00
Cedric BAIL cc88832353 ecore_con: depend on emile for initializing crypto library. 2015-03-17 09:58:17 +01:00
Srivardhan Hebbar 034bcbace5 ecore_con: move Socks API documentation to Ecore_Con.h
Summary:

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2138

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-03-13 09:33:29 +01:00
Cedric BAIL 54fa8c7e42 ecore_con: fix rebase issue.
Catched by Coverity CID 1287124.
2015-03-07 15:53:40 +01:00
Srivardhan Hebbar 9b1cdff941 ecore_con: Not returning error if port is less than zero for local sockets.
Summary:
If the socket is local, then there is no need to through error if the port is less than 0 (i.e., negetive). The behavior is same in _ecore_con_connector_eo_base_finalize funtion. So applied the same here. There is code in ecore_con_local.c to handle if port is less than zero for local sockets.
In _ecore_con_connector_eo_base_finalize function, I've added a space just so that it shows difference in phabricator and  would be easy for you to review.

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2089
2015-03-06 20:19:21 +01:00
Srivardhan Hebbar 6721800e7b ecore_con: calling ecore_con_local_init/shutdown from ecore_con_init/shutdown.
Summary:
ecore_con_local doesn't currently require any initialization, but it might need
that on some platform and not having the init make the source code non obvious.
This is just a patch to improve future maintenability.

Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>

Reviewers: cedric

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2098

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-03-06 20:19:21 +01:00
Tom Hacohen 648ad2591c Fix code to conform to recent Eo changes. 2015-02-23 17:16:02 +00:00
Srivardhan Hebbar deef299476 ecore_con: move documentation of ssl functions from ecore_con_ssl.c to Ecore_Con.h
Summary: Moved documentation of ssl functions from ecore_con_ssl.c to Ecore_Con.h.

Reviewers: cedric

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1994

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-02-20 12:22:12 +01:00
Boris Faure 3a7b9a86cf ecore_con_url: add ecore_con_url_head()
Just like ecore_con_url_get() or ecore_con_url_post() but to a HTTP HEAD.

@feature
2015-02-19 22:52:50 +01:00
Boris Faure b64c770046 ecore_con_url: use an enum instead of multiple defines 2015-02-19 22:52:50 +01:00
Srivardhan Hebbar 3da02b4600 ecore_con: updatet documentation about Ecore_Con events.
Summary: Ordered events into server side events, client side events and update the text.

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1976

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-02-16 11:57:38 +01:00
Guillaume Friloux 797c921f10 ecore_con: EAGAIN is replaced by WSAEWOULDBLOCK on Windows. 2015-02-11 17:03:39 +01:00
Guillaume Friloux d0dabf8613 ecore: improve network events handling on Windows. 2015-02-11 17:03:39 +01:00
Guillaume Friloux 83917a8c64 ecore_con: do not load /etc/hosts on Windows. 2015-02-11 17:03:38 +01:00
Guillaume Friloux 211d54dc8e ecore_con: make disconnects work on Windows. 2015-02-11 17:03:38 +01:00
Guillaume Friloux 388f8fbcaa ecore_con: fix use of FormatMessage for error reporting on windows.
@fix
2015-02-11 17:03:38 +01:00
Guillaume Friloux d6f08ba032 ecore_con: silent warning with send() usage. 2015-02-11 17:03:38 +01:00
Guillaume Friloux c77c0107a2 ecore_con: use send() instead of write() for portability. 2015-02-11 17:03:37 +01:00
Guillaume Friloux 8873bfeb2b ecore_con: use recv() instead of read for better portability. 2015-02-11 17:03:37 +01:00
Guillaume Friloux e57c1d396e ecore_con: fix _ecore_con_server_flush on Windows.
@fix
2015-02-11 17:03:37 +01:00
Nicolas Aguirre 7d4f95171c ecore_con: Fix checks from socket() and accept() under windows.
import from Guillaume Friloux ecore's fork : ab2d406a37
2015-02-11 17:03:37 +01:00
Guillaume Friloux f26977a175 ecore_con: use SOCKET and not int for socket descriptors on win32 2015-02-11 17:03:37 +01:00
Guillaume Friloux 0e8e4b2728 ecore_con: use ioctlsocket() when building for windows.
fcntl() doesnt work under windows.

References :
- http://msdn.microsoft.com/en-us/library/windows/desktop/ms738573%28v=vs.85%29.aspx
- http://msdn.microsoft.com/en-us/library/windows/desktop/ms740096%28v=vs.85%29.aspx

imported from Guillaume Friloux ecore fork : 66da77d491
2015-02-11 17:03:37 +01:00
Srivardhan Hebbar a2d40968df Ecore_con: fix initialisation clean up and avoid memory leak.
Summary: When ecore_init failed or when failed to initialize ecore_con_log_domain, then evil_shutdown was not called. So cleaned up code and added the fix.

@fix

Reviewers: cedric

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1921

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-02-05 11:27:00 +01:00
Srivardhan Hebbar 6fedf6819a Ecore_con: preventing _init_con_ssl_init_count to go below zero.
Summary: _init_con_ssl_init_count should not go below zero. This can occur if a developer mistakenly calls ssl shutdown before calling ssl init. So adding the check to prevent this.

Reviewers: cedric

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1925

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-02-04 14:09:38 +01:00
zmike f55c756c17 curl usage better accounts for timeouts
curl is dumb. it needs to poll its own fd for data, it gets confused with its own timeouts, and sometimes it forgets that it's supposed to be doing anything.

this fixes:

* connection timeout processing
* connection data processing order

also curl_multi_timeout calls are now done from a single function to handle all of this stupidness in one place

maybe backport after more testing...
2015-01-02 23:21:55 -05:00
Cedric BAIL a68ded6ab6 ecore_con: SSL error function is waiting for Eo object not their private data. 2014-12-30 11:19:56 +01:00
Cedric BAIL aa69cd89a6 ecore_con: the timer callback is waiting for the Eo object not its private data.
This @fix T1962 .
2014-12-30 11:19:38 +01:00
Nibha Sharma ce311db030 ecore: removed switch case 0 condition
Summary: It is removed because it was a deadcode case zero is never reached and executed.

Reviewers: singh.amitesh, seoz, raster

Reviewed By: raster

Subscribers: raster, cedric

Differential Revision: https://phab.enlightenment.org/D1432
2014-12-16 19:59:40 +09:00
Amitesh Singh d8b6271fdc ecore_con: Added NULL check in dns_so_reset() for dns_socket object.
Summary: @fix

Reviewers: zmike, tasn, seoz, raster

Subscribers: cedric, seoz

Differential Revision: https://phab.enlightenment.org/D1411
2014-12-16 19:56:33 +09:00
Mike Blumenkrantz 08e1f2f4f3 ecore-con now prints error messages when local socket creation fails 2014-12-05 13:20:13 -05:00
Andreas Metzler ecfcb59c44 ecore con: Fix GnuTLS build error.
By making the respective changes on the GnuTLS side for upstream commits
d9b5f192d4 and
d72f809fb8
which only take care of OpenSSL.

@fix
2014-12-03 12:11:05 +00:00
Daniel Kolesa b598aefa67 ecore_con: move Ecore_Con_Dns_Cb back to C
We'll be removing function pointer support from Eolian, instead
replacing any callback we can with events (arbitrary callbacks are
very difficult to support in bindings). As we'll be handling all
callbacks at once, we'll do this one at that point as well.
2014-11-27 17:13:20 +00:00
Carsten Haitzler 731bf3c34e ecore-con - silence bsd source wanrings for dns.c
silence this annoying warning we've had for a while:

In file included from /usr/include/stdint.h:25:0,
                 from
/usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.2/include/stdint.h:9,
                 from lib/ecore_con/dns.c:45:
                 /usr/include/features.h:148:3: warning: #warning
"_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE"
[-Wcpp]
 # warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use
_DEFAULT_SOURCE"
2014-11-25 17:03:53 +09:00
Carsten Haitzler b97778a1c2 ecore-con - url. fix curl init check to not access NULL _c context
this fixes T1738 (or should)
2014-11-07 08:45:18 +09:00
Srivardhan Hebbar be5b00cfd1 ecore_con: Added test case to check if _ecore_con_init_count goes below zero.
Summary:
_ecore_con_init_count should not go below zero. I've added a test case to test this and also the code to fix this.

Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>

Reviewers: devilhorns

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1603
2014-10-29 08:24:53 -04:00
Pierre Le Magourou 6a9cfbcfef ecore: update the doxygen groups to compile forgotten parts of the API.
Some parts of the API documentation where not compiled at all by doxygen
because of missing '@{' and '@}' tags. This commit adds the missing tags
in Ecore_Getopt.h, Ecore_Con_Eet.h, and Ecore_IMF.h headers.
2014-10-20 18:17:26 +02:00
Pierre Le Magourou 55623537ea ecore_con: update missing Ecore_Con_Eet.h API documentation. 2014-10-20 18:17:26 +02:00
Pierre Le Magourou 8fdf3241b5 ecore_con: update missing Ecore_con.h API documentation. 2014-10-20 18:17:26 +02:00
Guillaume Friloux 101c13d582 ecore_con: Fix connect() handling
If connect() returns 0, we must send the ECORE_CON_EVENT_SERVER_ADD event
because it wont be given by select(). select() will ONLY notice it if connect
returns -1 with errno set to EINPROGRESS.

This bug is reproductible with 100% chance using ecore_con_telnet_client example
from https://github.com/gfriloux/examples if you connect to 127.0.0.1 instead of
of an external network ip, under FreeBSD (and likely any BSD).

Seems very rare to trigger it under GNU/Linux as it seems that connect()
doesnt want to return 0 when having non blocking sockets (or is too slow),
but it seems i was having this bug too on production servers, without being
ever able to reproduce it.
2014-10-08 15:34:48 -04:00
Cedric BAIL 93b865767f ecore_con: check that we have an actual server data before using it. 2014-10-07 16:28:52 +02:00
Marcel Hollerbach f5e24c3bcf ecore_con: Fix error goto, scope data should not be freed
Summary:
If the function jumpes to the error, the scope data is freed, this is
wrong, just the object should be destroyed, so not free, just eo_unref
the object. Cause the object is just added above the object ref count
should get 0 and obj will get removed

Test Plan: Use the ecore_con_server_client_limit_set function and set the max count to 1, at the connect of a second client the server will fail at this free.

Reviewers: tasn

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1459
2014-09-19 02:16:37 +01:00