Summary: This fixes especially the execution of edje_cc on Windows
Test Plan: execution of edje_cc
Reviewers: cedric, raster
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7834
Summary:
further optimize the eet_shutdown case of closing files and avoid
endlessly looping over empty nodes
Depends on D5950
Reviewers: cedric
Reviewed By: cedric
Differential Revision: https://phab.enlightenment.org/D5951
no need to free mempool memory when the mempool is about to be freed,
and eet_clearcache duplicates existing shutdown functionality
Differential Revision: https://phab.enlightenment.org/D5950
Summary:
Unsigned interger should not be compared to less than zero.
@fix
Test Plan: Na
Reviewers: cedric
Subscribers: jpeg
Differential Revision: https://phab.enlightenment.org/D5264
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
Currentely, if eet_read_cipher()'s cipher_key param is exist but file
not ciphered, function always read and return successful result.
But, this behavior can not check data integrity.
e.g.
1. App create config file using eet with encryption key.
2. Attacker replace config to malicious config (not encryted).
3. App can not notice if eet_read_cipher() read that successfully.
@fix
Test Plan:
$eet -e test.cfg my_config test.src 1
$eet -d test.cfg my_config decode_res.txt my_encrytion_key
(Currentely decode success, but should be failed)
Reviewers: woohyun, raster
Subscribers: id213sin, akanad, cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D4563
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
if there is an identity signaure at the end, ONLY check it if it looks
like a real one (correct magic number, cert and sig size fields are
sane etc.). this means eet opens dont fail for files that may have
trailing garbage or padding that is not an eet identity signature.
this forces data when written to be aligned to 8 bytes. this makes
mapping keys directly far better as from now on you can assume all
data is aligned to 8 bytes allowing you, if you want, to use eet files
as caches for raw binary data you mmap directly and just use (not
portable though).
@feat
this api makes it far more obvious as to how to verify an eet file via
the eet identify mechanisms that use x509 certificates to sign files.
this is consistent with the api used to generate the key for sigining
thus you can use the same certificate file to compare against for
identify.
@feature
even if not necessary in this particular case,
do as in eet_mmap() and eet_open(),
lock the cache before altering Eet_File struct.
fix CID 1039366 1039367 1039368 1039369
While we are likely will keep the embedded copy for a while to avoid a really
new dependency we allow now to use the external liblz4. You need at least
revision r120 and a package that ships the pc file for it.
Personally I would like to get rid of it rather sooner than later due to the
security implications and a bunch of code we ship but have no idea about.
Reality is that it will need some time until this new lib is actually
packaged and shipped with releases for a a majority of people.
This patch was co-worked with Doug Newgard <scimmia22@outlook.com>
This reverts commit f8b0322704.
this breaks efreets icon cache. i have been noticing this since
yesterday across all my machines once i update just efl. i tracked it
down to this commit.
I do think that it was a left over from previous file format. Removing
this memcpy should make Enlightenment startup faster and should reduce
by 500KB the memory it use.
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.
When you open a theme, it is very likely that most of the data in it will be needed
at some point, that's why it is a good idea to tell it in advance to the kernel so
it could load them if it has some spare ressource.
We can't just blindly turn EINA_FILE_WILLNEED on any file or a wrong eet file would
be loaded in memory when we don't need it. So we shall keep the sequential load until
we are sure that the file is correct and then explicitely tell the kernel that the
rest of the data should be loaded in ram.
- Instead of just returning NULL, use the existing goto on_error to
handle the unlock and return NULL.
NB: Fixes Coverity CID1039383
Signed-off-by: Chris Michael <cp.michael@samsung.com>