mirror of
https://github.com/X11Libre/xserver.git
synced 2026-09-21 20:26:45 +00:00
Allow using libmd instead of libcrypto for SHA1 hashing in render/glyph.c
Builders can force one or the other by passing SHA1_LIB & SHA1_CFLAGS to configure
This commit is contained in:
parent
718652eaf9
commit
b6a0c6d486
3 changed files with 34 additions and 8 deletions
|
|
@ -26,8 +26,12 @@
|
|||
#include <dix-config.h>
|
||||
#endif
|
||||
|
||||
#include <stddef.h> /* buggy openssl/sha.h wants size_t */
|
||||
#include <openssl/sha.h>
|
||||
#ifdef HAVE_SHA1_IN_LIBMD /* Use libmd for SHA1 */
|
||||
# include <sha1.h>
|
||||
#else /* Use OpenSSL's libcrypto */
|
||||
# include <stddef.h> /* buggy openssl/sha.h wants size_t */
|
||||
# include <openssl/sha.h>
|
||||
#endif
|
||||
|
||||
#include "misc.h"
|
||||
#include "scrnintstr.h"
|
||||
|
|
@ -202,6 +206,14 @@ HashGlyph (xGlyphInfo *gi,
|
|||
unsigned long size,
|
||||
unsigned char sha1[20])
|
||||
{
|
||||
#ifdef HAVE_SHA1_IN_LIBMD /* Use libmd for SHA1 */
|
||||
SHA1_CTX ctx;
|
||||
|
||||
SHA1Init (&ctx);
|
||||
SHA1Update (&ctx, gi, sizeof (xGlyphInfo));
|
||||
SHA1Update (&ctx, bits, size);
|
||||
SHA1Final (sha1, &ctx);
|
||||
#else /* Use OpenSSL's libcrypto */
|
||||
SHA_CTX ctx;
|
||||
int success;
|
||||
|
||||
|
|
@ -220,6 +232,7 @@ HashGlyph (xGlyphInfo *gi,
|
|||
success = SHA1_Final (sha1, &ctx);
|
||||
if (! success)
|
||||
return BadAlloc;
|
||||
#endif
|
||||
|
||||
return Success;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue