Commit Graph

17 Commits

Author SHA1 Message Date
Carsten Haitzler d1f1af054f emile/ecore-con - remove gnutls support since openssl3 is out
openssl3 should now solve licensing issues with openssl. there is no
good reason to keep gnutls support anymore especially since there just
isn't anyoen who wants to maintain that extra ifdef'd code (and that
code has some gotchas that don't match the full features of openssl
too). so this removed "code cruft" to maintain, complexity and
maintenance work as well as build complexity.
2022-08-12 09:33:17 +01:00
Carsten Haitzler 43b41f2383 emile - disable warnings when they are wrong ifor new buffers
emile in these 2 cases allocates an empty uninitilised buffer that
will then be filled - gcc thinks we're passing uninit data to a func -
which is right but intended as it is later filled. disable this
warning for these segments of code.
2021-05-26 03:43:31 +01:00
Carsten Haitzler d6005e9df8 emile - dont check return of alloca as it is not defined to fail 2021-05-26 03:43:31 +01:00
Hermet Park 820aca03ea emil: resolve possible memory leak.
Submitted-By-Off: JongMin Lee <jm105.lee@samsung.com>
2018-04-05 15:01:44 +09:00
Hosang Kim 6f9df2bb3d emile: don't use APIs deprecated in openssl-1.1
Summary:
When openssl-1.1.0 is built with `--api=1.1 disable-deprecated`, use of
deprecated APIs leads to build failures.

X-Gentoo-Bug: 606628
X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=606628

Subscribers: cedric, jpeg

Tags: #efl

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-02-07 14:17:47 -08:00
Gustavo Sverzut Barbieri d8caade348 emile: API break, rename sha1 to hmac_sha1, introduce real sha1.
emile_binbuf_sha1() was actually doing HMAC version using the given
key. This doesn't work when all you need is just the SHA1 of the input
data.

Then rename emile_binbuf_sha1() to emile_binbuf_hmac_sha1() and
introduce a new version without key/keylen.

This API was marked as BETA and no real users in the codebase, then it
shouldn't cause us problems.
2016-08-30 00:35:17 -03:00
Cedric BAIL f875f759ca emile: fix coding style with ecrustify. 2015-03-17 09:58:21 +01:00
Cedric BAIL 5412be48e1 emile: remove use of deprecated eina binbuf function. 2015-03-17 09:58:21 +01:00
Cedric BAIL df20c9ff8e emile: implement emile_cipher_module_get in a useful way. 2015-03-17 09:58:20 +01:00
Cedric BAIL 8fd9770d95 emile: reduce code duplication between gnutls and openssl backend.
Add a visible emile_binbuf_sha1 implementation and deduplicate
emile_pbkdf2_sha1 (but does not explicitely expose it).
2015-03-17 09:58:19 +01:00
Cedric BAIL a089d8cd7b emile: Add SSL support. 2015-03-17 09:58:18 +01:00
Cedric BAIL e649992bff emile: make the initialization part of backend cipher file to. 2015-03-17 09:58:18 +01:00
Cedric BAIL c3a1859e59 emile: make it cross platform. 2015-03-17 09:58:18 +01:00
Cedric BAIL 32c5f691c8 emile: make cipher initialization optional. 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
Cedric BAIL 2d342c2814 emile: move GNUTLS and OpenSSL initialization logic from Eet to Emile. 2015-03-17 09:58:17 +01:00
Cedric BAIL 0b04186a7f emile: initial introduction of Emile.
The intent of Emile is to be the common layer for serialisation, compression
and ciphering. It will expose the library we currently use internally to an
easier use from the outside (like gcrypt and lz4). It should improve portability.
Instead of pushing JSON, XML and what's not to Eina, I do think that they will
fit better in Emile.

As for the naming of Emile, you will need to be French and say :
"Un quoi ?" "Un serializer !"

Regarding why it is put there in the stack. Right now there is two users of
compression (eet and terminology), two users of cipher library (eet and ecore_con)
and a few handful of user for serialization (eina, eet, efreet, ecore_con, ...).
So the choice was quite simple, it needed to be below Eet. Now it could have been
on top of Eo or integrated into Eina.

One of the use case I am thinking of, is to compress Eo object when a canvas get
hidden/minized. For that it require Eo to use that library and it can't be a higher
level object. And with current implementation of Eo it is perfectly possible to
implement such idea. So not at Eo level.

As for Eina, I am starting to think it is getting to much things in its namespace.
I do believe that infact Eina_Simple_XML and Eina_File should after all have landed
in their own library. That's why I am putting the current logic in a new library.
It is going to expand, I want it to provide an few SAX like parser for JSON,
Eet_Data and protobuf with also an API like Eet_Data to directly feed those value
into a C structure without using a DOM at all. It would also be the right place
to experiment and benchmark for a new Eet_Data format that could be more efficient
to use.

So at the end, and due to how I see things going and being used, I do think it
is better of in its own library.
2015-03-17 09:58:17 +01:00