View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0000052||LDMud 3.3||Compilation, Installation||public||2004-04-19 00:09||2018-01-29 22:57|
|Fixed in Version||3.3.719|
|Summary||0000052: Use crypto functions from ssl libs when available.|
|Description||If the ssl-libs are available, use their implementation of sha1() and md5() instead of compiling our own. This of course requires checking for the existence of those libs, and wrapping those functions into my-xxx files.|
|Tags||No tags attached.|
||the addition of hash() resolves this bug (more or less, I would to let the old-style md5() and sha1() raise errors sometime)|
It would be much nicer to call hash() by md5() and sha1(), if available, than to deprecate them. In fact, I prefer the latter in mudlibs, because I don't have to check with __EFUN_DEFINED__() or use an sefun.
If we want to deprecate md5() and sha1(), I suggest to make OpenSSL a requirement for the driver.
I like the new hash() function, because the development of cryptographic algorithms will continue (NIST is currently searching for the next hash function, which is to be named SHA-3) and I don't like adding new efuns for each new algorithm.
What I don't like is the dependancy on OpenSSL (due to its license conditions). So I propose to always have a hash() and a hash_crypt() efun (the latter should be similar to md5_crypt), that uses OpenSSL or GCrypt (when using GNUTLS) or the internal md5 and sha1 routines.
I fully concur that hash() is nice. I am just not the opinion that the bug is solved and we should just obsolete md5() and sha1().
If we actually move the functionality of md5() and sha1() as fall-back into hash() so that it is always available independent of OpenSSL, it is fine for me.
||Since r2542 hash() is always available and uses OpenSSL, libgcrypt (used by GnuTLS) or the internal md5() and sha1() implementations. I marked md5() and sha1() as obsoleted by hash().|
|2006-05-07 07:05||fippo||Note Added: 0000506|
|2008-12-15 13:45||zesstra||Note Added: 0000825|
|2008-12-26 10:02||Gnomi||Note Added: 0000829|
|2008-12-26 18:31||Gnomi||Status||new => assigned|
|2008-12-26 18:31||Gnomi||Assigned To||=> Gnomi|
|2008-12-29 05:44||zesstra||Note Added: 0000834|
|2009-04-12 13:30||Gnomi||Note Added: 0001019|
|2009-04-12 13:30||Gnomi||Status||assigned => resolved|
|2009-04-12 13:30||Gnomi||Fixed in Version||=> 3.3.719|
|2009-04-12 13:30||Gnomi||Resolution||open => fixed|
|2010-11-16 10:42||Gnomi||Source_changeset_attached||=> ldmud.git master 2d12e0f1|
|2018-01-29 19:59||Gnomi||Source_changeset_attached||=> ldmud.git master 2d12e0f1|
|2018-01-29 22:57||Gnomi||Source_changeset_attached||=> ldmud.git master 2d12e0f1|