Commit Graph

458 Commits

Author SHA1 Message Date
Jean-Philippe Andre 28c917836c efl: Cleanup some code (return values)
This removes some useless code in various places, where the
switch from eo_do() to standard function call was not properly
refactored.

This changes:

type ret = 0;
ret = my_eo_function();
return ret;

To:

return my_eo_function();
2016-08-05 10:32:30 +09:00
Carsten Haitzler 879d93377b efl runtime dynamic lib loading - make errors consistent and useful
so drop trying to appease the openbsd packages and stick to "upstream
so major versions" and let users fix their systems with symlinks. also
report what we are looking for so they have a chance to symlink to
make efl happy.

at some point we should make a single simple runtime lib linker
subsystem in efl so all these errors are reported in the same way,
input libray names are listed in a simple consistent way etc. etc.

for now we have 3 locations in efl that do this and they are roughly
similar. we can unify it later.
2016-08-02 11:23:34 +09:00
Al Poole 8e7253996e ecore_con: fix lookup of libcurl on OpenBSD.
@fix T4130

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2016-07-18 11:22:28 -07:00
Tom Hacohen 6202cc7485 Adjust the code according to the eo event stop changes.
This was changed in the previous commit.
2016-06-20 18:02:00 +01:00
Stefan Schmidt e187f38dd9 ecore_con: switch from EO to BETA API
This is not ready yet and still considered beta.
2016-06-14 16:01:37 +02:00
Carsten Haitzler 865b10d739 ecore-con - dont complain about socket setup issues when api handles it
ecore-con api returns failure cases and ecore-con shouldt go spamming
stderr with this as it's inteded to be handled at the api level, so
slience!
2016-06-13 18:12:33 +09:00
Daniel Kolesa b1946ca5d6 eolian: utilize the new void_ptr builtin across eo files
This lets me narrow down the remaining cases of pointers across the EFL.
The void pointers will later need to be reevaluated on per-case basis and
replaced appropriately where possible/feasible.
2016-06-02 13:00:26 +01:00
Tom Hacohen a6a2338962 Revert "Eo: Remove eo_del() and make eo_unref() the replacement."
This reverts commit 546ff7bbba.

It seems that eo_del() is useful and removing it was creating bugs.
The issue is that the way we defined parents in eo, both the parent and
the programmer share a reference to the object. When we eo_unref() that
reference as the programmer, eo has no way to know it's this specific
reference we are freeing, and not a general one, so in some
circumstances, for example:
eo_ref(child);
eo_unref(child); // trying to delete here
eo_unref(container); // container is deleted here
eo_unref(child); // child already has 0 refs before this point.

We would have an issue with references and objects being freed too soon
and in general, issue with the references.

Having eo_del() solves that, because this one explicitly unparents if
there is a parent, meaning the reference ownership is explicitly taken
by the programmer.

eo_del() is essentially a convenience function around "check if has
parent, and if so unparent, otherwise, unref". Which should be used when
you want to delete an object although it has a parent, and is equivalent
to eo_unref() when it doesn't have one.
2016-06-01 13:33:21 +01:00
Mike Blumenkrantz b7dc576ec8 ecore-con: print win32 svr->path on pipe creation failure
ref T3758
2016-05-31 14:03:48 -04:00
Daniel Kolesa 6fc482aa9b eolian: utilize the new builtin string type across eo files 2016-05-31 16:05:43 +01:00
Carsten Haitzler 1eba9d9de0 ecore-con - simplify down to a single libc resolver
Summary:
this removes the cares/ares based resolver and the compiled-in dns.c
resolver, modified the getaddrinfo based resolver to use threads not
forking (almost halving its size) and now makes that the only resolver
we have. getaddrinfo handles ipv6 and ipv4 (according to docs). this
simplifies code paths, drops code size of the efl tree by about 11k
lines of code, makes it easier to test and more robust to future
changes with ip resolving as it now just relies on libc. we won't have
coverity complaints on dns.c imported code anymore to fix and don't
have tokeep up with bugfixes/security from the upstream imported code.
this means we use a single resolver on all platforms (windows, mac,
linux) as opposed to before where cares was used for windows, and
dns.c on linux/mac. oh and the forking original was broken since our
move to eo too. so it couldnt even compile if enabled, letalone work.

so fix bug with missing /etc/resolv.conf that dns.c couldn't cope
with, fix testability, fix maintainability and reduce efl codebase size.

this fixes T3668

@fix
@improve

Subscribers: cedric, seoz, jpeg

Maniphest Tasks: T3668

Differential Revision: https://phab.enlightenment.org/D3971
2016-05-24 09:20:49 +09:00
Daniel Kolesa e984e5a11a eolian: remove pointers from complex and class types
Complex types (i.e. list, array, hash, accessor etc.) now do not require
pointers with them anymore (the pointer is implied) and the same goes for
class handles. Eolian now explicitly disallows creating pointers to these
as well. This is the first part of the work to remove pointers from Eolian
completely, with the goal of simplifying the DSL (higher level) and therefore
making it easier for bindings (as well as easier API usage).

@feature
2016-05-23 15:58:33 +01:00
Cedric Bail 75a53ece10 eo: for consistency use object like all our API. 2016-05-18 08:18:04 -07:00
Tom Hacohen 546ff7bbba Eo: Remove eo_del() and make eo_unref() the replacement.
We used to have eo_del() as the mirrored action to eo_add(). No longer,
now you just always eo_unref() to delete an object. This change makes it
so the reference of the parent is shared with the reference the
programmer has. So eo_parent_set(obj, NULL) can free an object, and so
does eo_unref() (even if there is a parent).

This means Eo no longer complains if you have a parent during deletion.
2016-05-17 16:23:23 +01:00
Tom Hacohen 96c4c88070 Efl: Remove "legacy_prefix: null;" as it's now the default. 2016-05-12 17:27:35 +01:00
Daniel Kolesa 7e94eb22b4 eolian: mark pure virtual funcs outside of implements
This is a better syntax and should've been like this in the first place.
2016-05-12 16:15:24 +01:00
Tom Hacohen c5ea7962e9 Eet: Fix namespacing to use . and not _. 2016-05-12 12:20:34 +01:00
Tom Hacohen 7c96c972bd Ecore con: Fix namespacing to use . and not _. 2016-05-12 12:20:34 +01:00
Tom Hacohen 70b5f3875e Efl network: Remove the no longer needed .Base hack. 2016-05-11 13:00:57 +01:00
Stefan Schmidt 204a252abe docs: efl_network: class descriptions for connector and URL 2016-04-26 14:01:17 +02:00
Stefan Schmidt 727f58524a docs: efl_network: enhance the EO classes for client and server 2016-04-26 14:01:17 +02:00
Stefan Schmidt 9897cf495b docs: efl_network: enhance documentation in base class
Fix some of the existing documentation and add some for events and the class.
2016-04-26 14:01:17 +02:00
Tom Hacohen f14305024e Eo event: rename Eo_Event->event_info to Eo_Event->info.
The previous naming was redundant and too long.
2016-04-12 15:23:55 +01:00
Stefan Schmidt dadfe4ffb9 docs: add descriptions for ecore_con_eet_{client,server} EO classes 2016-04-11 16:52:43 +02:00
Stefan Schmidt c0afe61dd0 docs: add description to ecore_con_eet_base class 2016-04-11 16:52:43 +02:00
Daniel Zaoui 49f0f09661 Ecore_Con: protect access to internal data 2016-04-10 15:15:08 +03:00
Tom Hacohen 8706d03b43 Change the EFL according to the renaming of the eo_add() current object. 2016-03-15 15:25:54 +00:00
Tom Hacohen f24210caac Revert "Automatic migration to the new eo_add syntax."
This reverts commit 4f949a2757.
2016-03-11 12:29:03 +00:00
Tom Hacohen 4f949a2757 Automatic migration to the new eo_add syntax. 2016-03-09 16:09:14 +00:00
Tom Hacohen 23a6b12183 Fix migration script mistakes and compilation warnings.
Mostly unused vars following the removal of eo_do_ret().
However, there are some cases where the migration script got some things
wrong, and I had to manually fix them.
2016-03-03 09:58:08 +00:00
Tom Hacohen f21ade6123 Automatic migration to Eo4.
I just ran my script (email to follow) to migrate all of the EFL
automatically. This commit is *only* the automatic conversion, so it can
be easily reverted and re-run.
2016-03-03 09:58:08 +00:00
Tom Hacohen e71e6561ee Eo callbacks: Migrate all of the EFL to the new event cb signatures. 2016-02-29 11:33:27 +00:00
Srivardhan Hebbar 865624dab0 ecore_con: changing from Ecore.Con.Base to Efl.Network.Base.
Summary: Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>

Reviewers: cedric

Subscribers: jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-02-18 11:25:21 -08:00
Srivardhan Hebbar 8a18b0749d ecore_con: fix compilation issues on Windows
Summary:
I do not have a windows setup. So tested by building with option --with-windows-version and it built successfully. Let me know if there are more
issues.

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

Reviewers: jpeg, vtorri, cedric

Reviewed By: cedric

Maniphest Tasks: T3192

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-02-17 14:09:55 -08:00
Tom Hacohen 65367180bf Ecore con eet: Fix Eolian warnings.
This includes either migrating types to eolian, fixing namespace or
importing extra types.
2016-02-17 09:39:53 +00:00
Tom Hacohen de2d282309 Ecore con base: Fix Eolian warnings.
This includes either migrating types to eolian, fixing namespace or
importing extra types.
2016-02-16 10:02:10 +00:00
Srivardhan Hebbar b1e1186b8e ecore_con: change Ecore.Con.Client to Efl.Network.Client.
Summary: Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>

Reviewers: cedric

Subscribers: jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-02-12 21:25:55 +01:00
Tom Hacohen 3dd4b218da Ecore con dns: Fix eo file warnings. 2016-02-12 14:29:27 +00:00
Tom Hacohen d4bd7d7033 Ecore con local: properly clean up fd on error.
This wasn't done correctly in the previous commit. First of all, the
order of cleanup was wrong, the cleanup area should only be called if
failures occurred after the fd allocation, not before. Also, fd should
be reinitialised to -1 once we close the socket.
2016-02-05 11:48:36 +00:00
Awadhesh Singh f05577c3ae Ecore con: Close server socket fd on failure.
Summary:
Socket fd must be closed to avoid file discripter leak.
Programs can usually only open a limited number of file descriptors,
so if this happens a lot, it may turn into a problem.

@fix

Reviewers: raster, Hermet, wonsik, spacegrapher, cedric, jpeg, tasn

Reviewed By: tasn

Subscribers: cedric, alok25, yashu21985, singh.amitesh

Differential Revision: https://phab.enlightenment.org/D3660
2016-02-05 11:44:41 +00:00
Srivardhan Hebbar fca9ff1322 ecore_con: changing Ecore.Con.Server to Efl.Network.Server.
Summary: Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>

Reviewers: cedric

Subscribers: jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-02-05 08:10:52 +01:00
Jean-Philippe Andre 22324f21b3 EFL: Mark EOLIAN functions as static when possible
This affects mostly evas filters.
2016-01-13 15:34:20 +09:00
Jean Guyomarc'h 2ecd11e221 ecore_con: fix compiling on OS X
IPV6_ADD_MEMBERSHIP does not exist on OS X, and seems to be obsolete,
according to my glibc's bits/in.h.
IPV6_JOIN_GROUP, however, exists on both.

@fix
2016-01-07 12:03:04 +01:00
Srivardhan Hebbar dc56052150 ecore_con: from ecore_con_connector to efl_network_connector.
Summary:
Changed ecore_con_connector.eo to efl_network_connector.eo as part of
migrating to efl_network.

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

Reviewers: cedric, jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-01-04 12:35:41 -08:00
Cedric BAIL 1a9e42d124 ecore_con: fix typo preventing IPv6 multicast to work.
Thanks Vincent Torri for spotting it.
2015-12-28 14:01:15 -08:00
Felipe Magno de Almeida a3db1dddd3 efl-js: JavaScript Eolian binding
To configure efl sources with bindings to use in nodejs add ––with-js=nodejs in configure flags to generate node files

$ configure --with-js=nodejs

and compile normally with:

$ make
$ make install

To use, you have to require efl:

efl = require('efl')

The bindings is divided in two parts: generated and manually
written. The generation uses the Eolian library for parsing Eo files
and generate C++ code that is compiled against V8 interpreter library
to create a efl.node file that can be required in a node.js instance.

@feature
2015-12-23 23:59:40 -02:00
Tom Hacohen f44d786fa1 Ecore con socks: Add missing break statement to switch.
This looks like an obvious case of missing break. If it wasn't a missing
break, there should have been at least a comment. Looking at the code it
looks like a break is needed. Also, I suspect this code path is never
really tested, and that's why we never hit it.

Tests are not failing either way.

CID1039379
2015-12-08 11:05:19 +00:00
Vincent Torri 3b44645363 efl: add binary mode to f(re)open() calls
This allows better compatibility with Windows

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-12-05 21:04:36 +01:00
Chidambar Zinnoury 4983ac6d36 ecore con: Fix UDP sockets.
The client structure holds a file descriptor, which is not initialized (which means 0) in case of UDP as there is no client-specific socket.

 However, we check for the file descriptor being positive before closing it in the client destructor, which means that we actually end up closing the 0 file descriptor.

 That means that things were going crazy with real strange things happening afterwards…
2015-11-20 17:46:38 +01:00
Srivardhan Hebbar 4f24deac44 ecore_con: Moving dns.c and dns.h to static_libs.
Summary:
Took the license file from https://github.com/wahern/dns
The dns.c and dns.h are taken from here.

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

Reviewers: cedric

Differential Revision: https://phab.enlightenment.org/D3314
2015-11-10 14:10:02 -08:00
Vincent Torri 2712260d75 ecore_con: fix warning on Windows
The macro ERROR is already defined on Windows, renaming it to ERROR_SSL.

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-11-09 10:26:39 -08:00
Cedric BAIL ae5e2c8284 emile/ecore_con: drop SSLv3 support due to security issue.
SSLv3 has been compromised a year ago by what is known as POODLE
(https://en.wikipedia.org/wiki/POODLE). Every major browser have now
dropped support for SSLv3 and distribution are starting to do so also.
It is a good timing for us to do so, especially as it breaks build on
some distribution.
2015-11-02 14:22:42 -08:00
Vincent Torri 506092beda ecore_con: remove debug
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-10-12 17:21:59 -07:00
Vincent Torri 1057a45493 Ecore_Con: make sure to create named pipe with a unique name
Named pipes created with CreateNamedPipe() must have a unique name,
so append the process Id to the name

@fix

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-10-12 17:21:59 -07:00
Tom Hacohen 681328feb5 Ecore con: Prevent possible use of uninitialised buffer on the stack.
I'm not actually sure if it's a false, because finding the possible
options is hard. Just to be safe, it's better to set buf to "" in the
else case. I'm doing this instead of initialising the variable so the
compiler/static analyser will be able to warn us if there are other code
paths that should probably set buf, but don't.

CID 1316016

@fix
2015-10-04 16:31:43 +01:00
Tom Hacohen fa2ecb3af6 Ecore Con: Fix possible timing attacks.
Gist of it: we check, and then there's a window between our check and
the mkdir. We don't really need it anyway, because we just want to mkdir
and if it exists, just go on and do nothing.

CID 1039559
CID 1039558

@fix
2015-10-04 16:16:07 +01:00
Amitesh Singh 5139f1b404 ecore_con: fix typo in documentation 2015-09-28 22:07:26 +05:30
Srivardhan Hebbar 49716a9cf0 ecore_con: replacing strncat with strncpy.
Summary:
strcat will look for the null-terminator, interpret that as the end of the string, and append the new text there, overwriting the null-terminator in the process, and writing a new null-terminator at the end of the concatenation. buf is uninitialized, so it might start with NULL, or it might not have NULL anywhere within it. So this might produce undefined behaviour. So replaced with strncpy.
Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>

Reviewers: cedric

Subscribers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-09-23 14:04:28 -07:00
ChunEon Park 64bc179f63 ecore_con: remove dead code.
there won't reach with !wp because if wp is null,
the iteration will jump to next iteration.
2015-09-21 19:26:15 +09:00
Carsten Haitzler 7eba161414 ecore-con-url- split out the curl dleopener and resolver and headers
this splits out out "manual" dlopen (eina_module_load) of curl into
its own .c file and special header out of ecore_con_url.c to tidy up
that code a bit and isolate our curl magic loading/handling
2015-09-03 12:22:01 +09:00
Srivardhan Hebbar 3dd917be92 ecore_con: update documentation.
Summary: Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-08-07 17:08:42 +02:00
Cedric BAIL 94d9981d8c ecore_con_eet: fix dereferencing of object during callback that crashed some tests case. 2015-07-28 03:05:37 +02:00
Daniel Kolesa 18502b8429 efl: fix doc references across the tree to validate right 2015-07-08 15:13:26 +01:00
Vincent Torri 74cbbd204c Ecore Con: Fix ecore_con_local hangs on Windows.
Since the move to eo, ecore_con_local hangs on Windows, hence edje_cc can
not compile edc files (e.g.).
Problem was a loop that was used to finish some threads which is now endless.

For now, comment out that loop

@fix
2015-07-07 12:05:34 +01:00
Vincent Torri fe4e464fb6 Ecore_Con: decrease log level in ecore_con_local_win32 2015-07-07 12:05:34 +01:00
Srivardhan Hebbar c0731cdd51 ecore_con: convert doc of ecore_con_eet.eo
Summary:
converted docs of ecore_con_eet.eo to the new style.

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

Reviewers: cedric, tasn

Subscribers: yashu21985, cedric

Differential Revision: https://phab.enlightenment.org/D2795
2015-07-06 10:20:28 +01:00
Vincent Torri 2f677eddef Ecore_Con_Ares: fix undefined variable warning 2015-07-03 16:23:05 +01:00
Srivardhan Hebbar 947edc8471 ecore_con: eoify ecore_con_eet functions.
Summary:
Depends on D2602
Made all functions eo.

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-06-29 14:56:23 +02:00
Carsten Haitzler 6483dc3ce9 ecore con - fix object data referencing for deleted objects
if the object has been deleted already, scope data is null. handle it
correctly. this fixes a segv in the new efreetd when it starts and
there is an existing efreet running thus owning the socket fails.

@fix
2015-06-25 13:18:22 +09:00
Carsten Haitzler b68853fd7d ecore con dns - a failed dns lookup is not an err log event
spewing out errors for a failed dns lookup is not somehting to ERR out
in logs all the time. it is at best a debug log. the caller handles
the failed connect itself.

@fix
2015-06-25 13:17:04 +09:00
Srivardhan Hebbar 12257053a0 ecore_con: eoifying ecore_con_eet.
Summary:
This is still work in progress. I've added new file for temporary
purpose. Idea is to first eoify everything then change its namespace properly.

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

Reviewers: cedric

Subscribers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-06-22 18:55:57 +02:00
Daniel Kolesa 5541f8ead1 ecore_con: convert docs 2015-06-19 15:44:22 +01:00
Daniel Kolesa 69b9f0044b ecore_con_base: converted docs 2015-06-19 15:18:38 +01:00
Daniel Kolesa 27237976ad eo: move all event doc comments to new syntax 2015-06-11 17:09:02 +01:00
Daniel Kolesa 786f848f67 evas,ecore_con: more struct/enum doc updates 2015-06-11 16:51:43 +01:00
Cedric BAIL 69e44c24e3 ecore_con: fix error handling case.
Since the move to Eo, in case of error we do not need to cleanup anything when
finalize finish. The kill function was arranged to do so, but it was still emiting
an event exposing the invalid Eo object. Looking closely at the code, that should
have not happened, as there was no symetrical ADD event and the function would do
nothing else. So removing it. This prevent any potential SEGV from a function that
would catch the DEL event.

@fix
2015-06-03 17:14:12 +02:00
Srivardhan Hebbar 9dcb827d12 ecore_con: add eo_event handler to efl_networ_url.
Summary: Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>

Reviewers: cedric

Subscribers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-05-29 18:22:09 +02:00
Daniel Kolesa 9214fa3db9 eolian: disallow cyclic dependencies between .eo files
Eo files will now fail to compile if a cycle is detected.

This required some temporary changes in existing eo files
(we had 2 cycles) for which I added a FIXME (they do not
affect C generation).

@feature
2015-05-22 15:03:38 +01:00
Tom Hacohen 92fb2917cb Eo: Remove eo_error_set() and clean up finalizer()
This is another cleanup in perparation for the Eo stable release.
This is no longer needed thanks to the proper error reporting with
eo_constructor()'s new return value.

The finalizer change cleans it up a bit so it catches more cases/issues.
This also means that the finalizer cleans up the object in all cases,
and not only some.

@feature.
2015-05-20 16:25:38 +01:00
Tom Hacohen 7c769163d9 Ecore con url: Fix wrong object destruction.
Because we defer the deletion of this object until we get all the
responses from the network, we must manually free it. A better solution
would possibly be to just free the requests upon object deletion instead
of deferring the deletion.

@fix
2015-05-20 16:10:50 +01:00
Tom Hacohen 29d11200c6 Ecore con url: correctly destruct the object. 2015-05-20 16:10:50 +01:00
Tom Hacohen 6efbfe227a Eo: Add a return value to eo_constructor().
From now on, constructors should return a value, usually the object
being worked on, or NULL (if the constructor failed). This can also
be used for implementing singletons, by just always returning the same
object from the constructor.

This is one of the final steps towards stabilizing Eo.

@feature
2015-05-20 13:03:24 +01:00
Daniel Kolesa 058a9c9d88 eolian: new syntax for params/values/keys
Instead of "@in type name;" we now use "@in name: type;". This change
is done because of consistency with the rest of Eolian; pretty much
every other part of Eolian syntax uses the latter form.

This is a big breaking change in the .eo format, so please update your
.eo files accordingly and compile Elementary together with the EFL.

@feature
2015-05-18 16:14:31 +01:00
Srivardhan Hebbar 183cef932e ecore_con: changed Ecore_Con_Url to Efl_Network_Url.
Summary: This is just the beginning. I tried for one class to check.
Tell me if this is fine, I'll change in other classes also. The goal
is to simplify and make our API clearer to understand to new comers.

Reviewers: cedric

Subscribers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-05-18 11:36:16 +02:00
Cedric BAIL 94eaaf889b ecore_con: use portable environment lookup. 2015-05-14 18:41:48 +02:00
Cedric BAIL 9c571f01f7 ecore_con: it doesn't make sense to get port on local protocol. 2015-05-14 18:41:48 +02:00
Vincent Torri ebaa04c318 ecore_con: add missing declarations on Windows.
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-05-14 18:41:48 +02:00
Daniel Kolesa ed58165b50 eolian: butts 2015-05-12 16:25:52 +01:00
Daniel Kolesa 8c51033d49 eolian: fix doc comments across the tree 2015-05-11 15:38:03 +01:00
Daniel Kolesa ed0988a22d eolian: change all EFL .eo files to use new syntax for properties 2015-05-07 16:36:58 +01:00
Cedric BAIL ce5ccfb5be ecore: remove the need to order the header correctly for Windows. 2015-05-07 09:53:10 +02:00
Srivardhan Hebbar 5af99bdc7a ecore_con: fix double free issue in ecore_con_eet.
Summary:
While creating ecore_con_eet_server, if client is not set to false, then while deleting, it is checking for client and it is by default not false. So set it.
ecore_con_reply object is being deleted twice. So removed code to delete the reply object as it would be deleted after the callback.

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

Reviewers: cedric

Subscribers: cedric

Maniphest Tasks: T2372

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-04-28 14:14:07 +02:00
Thiep Ha 663bdcaf07 ecore_con: fix typos and improve document consistence.
Summary:
This patch fixes typos and uses primitive verb in brief section
to improve document consistence for ecore_con.

Reviewers: Hermet, cedric

Reviewed By: cedric

Subscribers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-04-25 19:35:27 +02:00
Raoul Hecky a01b243405 ecore-con: try to load libcurl.so.5 before .so.4
Curl is using a strange soname bumping where soname version is changed by configure when it detects some differences with off_t.
Explanations here: http://curl.haxx.se/dev/readme-curl_off_t.html

As we are not using curl_off_t in our code, we can simply load libcurl.so.5 if present.
2015-04-24 09:23:34 +02:00
Srivardhan Hebbar 05881ea61a ecore_con: fix dns lookup crash issue.
Summary:
When executed ecore_con_lookup_example function, we were getting a crash. This is the fix for the crash. I analysed it in the valgrind and found the error. Valgrind reported invalid free at this place.
svr->name is getting freed in _ecore_con_server_eo_base_destructor function and svr is getting freed in ecore_con_shutdown function.
Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>

Reviewers: cedric

Subscribers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-04-22 15:10:19 +02:00
Jean-Philippe Andre a812df7311 Ecore_Con: Fix clang warnings 2015-04-21 20:11:02 +09:00
Srivardhan Hebbar 709037a95d ecore_con: fix stack overflow in ecore_con_url_timer issue.
Summary:
last_ms is not needed at all. If curl_multi_timeout returns non zero, then its error, if it returns zero, then its fine. If ms is zero, then call curl_multi_perform immediately.

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

Reviewers: cedric

Subscribers: cedric

Maniphest Tasks: T2200

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-04-10 12:05:05 +02:00
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
Savio Sena 5bc2efcf87 ecore-con: Fixed header to allow compilation in C++.
Summary: C++ takes the second typedef as redefinition and yields errors.

Reviewers: zmike, tasn

Reviewed By: tasn

Subscribers: larry, cedric, felipealmeida

Differential Revision: https://phab.enlightenment.org/D1455
2014-09-18 07:07:53 +01:00
Daniel Kolesa 7786b96359 eolian: builtin complex types
From now on, there are 5 builtin complex types, particularly accessor, array,
iterator, hash and list. All other types are simple - they can't have a complex
part. Also, the <> now binds to the type itself, not the pointer. More builtin
complex types will be added as needed.
2014-09-08 14:53:13 +01:00
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