Marcelo and I took a look at this...

o_init.c in openssl has following constructor, introduced for fips.
void __attribute__ ((constructor)) OPENSSL_init_library(void)

OPENSSL_init_library() when OPENSSL_FIPS is defined, calls
RAND_init_fips() which eventually calls RAND_poll() which calls
time(NULL). This can get called before libfaketime has initialized. Thus
the core dump.

We noticed following commit in libfaketime that takes care of the constructor 
situation,  
https://github.com/wolfcw/libfaketime/commit/0bde083556e243e87bddaaf94e68f2ef85dad769
This commit will allow libfaketime to call its init routine if it has not yet 
been called.
This commit is not in the current version of libfaketime in xenial.

I compiled libfaketime in github and tried my testcase and it worked.
I used the testcase that was referenced above at 
https://github.com/wolfcw/libfaketime/issues/93

So we need above commit for libfaketime.


** Bug watch added: github.com/wolfcw/libfaketime/issues #93
   https://github.com/wolfcw/libfaketime/issues/93

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1613658

Title:
  OPENSSL_init_library () crash in conjunction with faketime

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/openssl/+bug/1613658/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to