util: import sha1 implementation from OpenBSD
At the moment we support 5+ different implementations each with varying amount of bugs - from thread safely problems [1], to outright broken implementation(s) [2] In order to accommodate these we have 150+ lines of configure script and extra two configure toggles. Whist an actual implementation being ~200loc and our current compat wrapping ~250. Let's not forget that different people use different code paths, thus effectively makes it harder to test and debug since the default implementation is automatically detected. To minimise all these lovely experiences, import the "100% Public Domain" OpenBSD sha1 implementation. Clearly document any changes needed to get building correctly, since many/most of those can be upstreamed making future syncs easier. As an added bonus this will avoid all the 'fun' experiences trying to integrate it with the Android and SCons builds. v2: Manually expand __BEGIN_DECLS/__END_DECLS and document (Tapani). Furthermore it seems that some games (or surrounding runtime) static link against OpenSSL resulting in conflicts. For more information see the discussion thread [3] Bugzilla [1]: https://bugs.freedesktop.org/show_bug.cgi?id=94904 Bugzilla [2]: https://bugs.freedesktop.org/show_bug.cgi?id=97967 [3] https://lists.freedesktop.org/archives/mesa-dev/2017-January/140748.html Cc: Mark Janes <mark.a.janes@intel.com> Cc: Vinson Lee <vlee@freedesktop.org> Cc: Tapani Pälli <tapani.palli@intel.com> Cc: Jonathan Gray <jsg@jsg.id.au> Tested-by: Jonathan Gray <jsg@jsg.id.au> Signed-off-by: Emil Velikov <emil.velikov@collabora.com> Acked-by: Tapani Pälli <tapani.palli@intel.com> (v1) Acked-by: Jason Ekstrand <jason@jlekstrand.net> (v1)
Showing
- configure.ac 1 addition, 160 deletionsconfigure.ac
- src/compiler/glsl/tests/cache_test.c 0 additions, 5 deletionssrc/compiler/glsl/tests/cache_test.c
- src/mesa/main/shaderapi.c 0 additions, 6 deletionssrc/mesa/main/shaderapi.c
- src/util/Makefile.am 0 additions, 3 deletionssrc/util/Makefile.am
- src/util/Makefile.sources 2 additions, 0 deletionssrc/util/Makefile.sources
- src/util/SConscript 0 additions, 5 deletionssrc/util/SConscript
- src/util/disk_cache.c 0 additions, 4 deletionssrc/util/disk_cache.c
- src/util/disk_cache.h 0 additions, 42 deletionssrc/util/disk_cache.h
- src/util/mesa-sha1.c 1 addition, 241 deletionssrc/util/mesa-sha1.c
- src/util/sha1/README 59 additions, 0 deletionssrc/util/sha1/README
- src/util/sha1/sha1.c 173 additions, 0 deletionssrc/util/sha1/sha1.c
- src/util/sha1/sha1.h 54 additions, 0 deletionssrc/util/sha1/sha1.h
Loading
Please register or sign in to comment