/* gc-gnulib.c --- Common gnulib internal crypto interface functions
- * Copyright (C) 2002, 2003, 2004, 2005, 2006 Simon Josefsson
+ * Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007 Simon Josefsson
*
* This file is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published
#include <string.h>
/* For randomize. */
-#ifdef GC_USE_RANDOM
+#ifdef GNULIB_GC_RANDOM
# include <unistd.h>
# include <sys/types.h>
# include <sys/stat.h>
#endif
/* Hashes. */
-#ifdef GC_USE_MD2
+#ifdef GNULIB_GC_MD2
# include "md2.h"
#endif
-#ifdef GC_USE_MD4
+#ifdef GNULIB_GC_MD4
# include "md4.h"
#endif
-#ifdef GC_USE_MD5
+#ifdef GNULIB_GC_MD5
# include "md5.h"
#endif
-#ifdef GC_USE_SHA1
+#ifdef GNULIB_GC_SHA1
# include "sha1.h"
#endif
-#if defined(GC_USE_HMAC_MD5) || defined(GC_USE_HMAC_SHA1)
+#if defined(GNULIB_GC_HMAC_MD5) || defined(GNULIB_GC_HMAC_SHA1)
# include "hmac.h"
#endif
/* Ciphers. */
-#ifdef GC_USE_ARCFOUR
+#ifdef GNULIB_GC_ARCFOUR
# include "arcfour.h"
#endif
-#ifdef GC_USE_ARCTWO
+#ifdef GNULIB_GC_ARCTWO
# include "arctwo.h"
#endif
-#ifdef GC_USE_DES
+#ifdef GNULIB_GC_DES
# include "des.h"
#endif
-#ifdef GC_USE_RIJNDAEL
+#ifdef GNULIB_GC_RIJNDAEL
# include "rijndael-api-fst.h"
#endif
return;
}
-#ifdef GC_USE_RANDOM
+#ifdef GNULIB_GC_RANDOM
/* Randomness. */
typedef struct _gc_cipher_ctx {
Gc_cipher alg;
Gc_cipher_mode mode;
-#ifdef GC_USE_ARCTWO
+#ifdef GNULIB_GC_ARCTWO
arctwo_context arctwoContext;
char arctwoIV[ARCTWO_BLOCK_SIZE];
#endif
-#ifdef GC_USE_ARCFOUR
+#ifdef GNULIB_GC_ARCFOUR
arcfour_context arcfourContext;
#endif
-#ifdef GC_USE_DES
+#ifdef GNULIB_GC_DES
des_ctx desContext;
#endif
-#ifdef GC_USE_RIJNDAEL
+#ifdef GNULIB_GC_RIJNDAEL
rijndaelKeyInstance aesEncKey;
rijndaelKeyInstance aesDecKey;
rijndaelCipherInstance aesContext;
switch (alg)
{
-#ifdef GC_USE_ARCTWO
+#ifdef GNULIB_GC_ARCTWO
case GC_ARCTWO40:
switch (mode)
{
break;
#endif
-#ifdef GC_USE_ARCFOUR
+#ifdef GNULIB_GC_ARCFOUR
case GC_ARCFOUR128:
case GC_ARCFOUR40:
switch (mode)
break;
#endif
-#ifdef GC_USE_DES
+#ifdef GNULIB_GC_DES
case GC_DES:
switch (mode)
{
break;
#endif
-#ifdef GC_USE_RIJNDAEL
+#ifdef GNULIB_GC_RIJNDAEL
case GC_AES128:
case GC_AES192:
case GC_AES256:
switch (ctx->alg)
{
-#ifdef GC_USE_ARCTWO
+#ifdef GNULIB_GC_ARCTWO
case GC_ARCTWO40:
arctwo_setkey (&ctx->arctwoContext, keylen, key);
break;
#endif
-#ifdef GC_USE_ARCFOUR
+#ifdef GNULIB_GC_ARCFOUR
case GC_ARCFOUR128:
case GC_ARCFOUR40:
arcfour_setkey (&ctx->arcfourContext, key, keylen);
break;
#endif
-#ifdef GC_USE_DES
+#ifdef GNULIB_GC_DES
case GC_DES:
if (keylen != 8)
return GC_INVALID_CIPHER;
break;
#endif
-#ifdef GC_USE_RIJNDAEL
+#ifdef GNULIB_GC_RIJNDAEL
case GC_AES128:
case GC_AES192:
case GC_AES256:
switch (ctx->alg)
{
-#ifdef GC_USE_ARCTWO
+#ifdef GNULIB_GC_ARCTWO
case GC_ARCTWO40:
if (ivlen != ARCTWO_BLOCK_SIZE)
return GC_INVALID_CIPHER;
break;
#endif
-#ifdef GC_USE_RIJNDAEL
+#ifdef GNULIB_GC_RIJNDAEL
case GC_AES128:
case GC_AES192:
case GC_AES256:
switch (ctx->alg)
{
-#ifdef GC_USE_ARCTWO
+#ifdef GNULIB_GC_ARCTWO
case GC_ARCTWO40:
switch (ctx->mode)
{
break;
#endif
-#ifdef GC_USE_ARCFOUR
+#ifdef GNULIB_GC_ARCFOUR
case GC_ARCFOUR128:
case GC_ARCFOUR40:
arcfour_stream (&ctx->arcfourContext, data, data, len);
break;
#endif
-#ifdef GC_USE_DES
+#ifdef GNULIB_GC_DES
case GC_DES:
for (; len >= 8; len -= 8, data += 8)
des_ecb_encrypt (&ctx->desContext, data, data);
break;
#endif
-#ifdef GC_USE_RIJNDAEL
+#ifdef GNULIB_GC_RIJNDAEL
case GC_AES128:
case GC_AES192:
case GC_AES256:
switch (ctx->alg)
{
-#ifdef GC_USE_ARCTWO
+#ifdef GNULIB_GC_ARCTWO
case GC_ARCTWO40:
switch (ctx->mode)
{
break;
#endif
-#ifdef GC_USE_ARCFOUR
+#ifdef GNULIB_GC_ARCFOUR
case GC_ARCFOUR128:
case GC_ARCFOUR40:
arcfour_stream (&ctx->arcfourContext, data, data, len);
break;
#endif
-#ifdef GC_USE_DES
+#ifdef GNULIB_GC_DES
case GC_DES:
for (; len >= 8; len -= 8, data += 8)
des_ecb_decrypt (&ctx->desContext, data, data);
break;
#endif
-#ifdef GC_USE_RIJNDAEL
+#ifdef GNULIB_GC_RIJNDAEL
case GC_AES128:
case GC_AES192:
case GC_AES256:
Gc_hash alg;
Gc_hash_mode mode;
char hash[MAX_DIGEST_SIZE];
-#ifdef GC_USE_MD2
+#ifdef GNULIB_GC_MD2
struct md2_ctx md2Context;
#endif
-#ifdef GC_USE_MD4
+#ifdef GNULIB_GC_MD4
struct md4_ctx md4Context;
#endif
-#ifdef GC_USE_MD5
+#ifdef GNULIB_GC_MD5
struct md5_ctx md5Context;
#endif
-#ifdef GC_USE_SHA1
+#ifdef GNULIB_GC_SHA1
struct sha1_ctx sha1Context;
#endif
} _gc_hash_ctx;
switch (hash)
{
-#ifdef GC_USE_MD2
+#ifdef GNULIB_GC_MD2
case GC_MD2:
md2_init_ctx (&ctx->md2Context);
break;
#endif
-#ifdef GC_USE_MD4
+#ifdef GNULIB_GC_MD4
case GC_MD4:
md4_init_ctx (&ctx->md4Context);
break;
#endif
-#ifdef GC_USE_MD5
+#ifdef GNULIB_GC_MD5
case GC_MD5:
md5_init_ctx (&ctx->md5Context);
break;
#endif
-#ifdef GC_USE_SHA1
+#ifdef GNULIB_GC_SHA1
case GC_SHA1:
sha1_init_ctx (&ctx->sha1Context);
break;
switch (ctx->alg)
{
-#ifdef GC_USE_MD2
+#ifdef GNULIB_GC_MD2
case GC_MD2:
md2_process_bytes (data, len, &ctx->md2Context);
break;
#endif
-#ifdef GC_USE_MD4
+#ifdef GNULIB_GC_MD4
case GC_MD4:
md4_process_bytes (data, len, &ctx->md4Context);
break;
#endif
-#ifdef GC_USE_MD5
+#ifdef GNULIB_GC_MD5
case GC_MD5:
md5_process_bytes (data, len, &ctx->md5Context);
break;
#endif
-#ifdef GC_USE_SHA1
+#ifdef GNULIB_GC_SHA1
case GC_SHA1:
sha1_process_bytes (data, len, &ctx->sha1Context);
break;
switch (ctx->alg)
{
-#ifdef GC_USE_MD2
+#ifdef GNULIB_GC_MD2
case GC_MD2:
md2_finish_ctx (&ctx->md2Context, ctx->hash);
ret = ctx->hash;
break;
#endif
-#ifdef GC_USE_MD4
+#ifdef GNULIB_GC_MD4
case GC_MD4:
md4_finish_ctx (&ctx->md4Context, ctx->hash);
ret = ctx->hash;
break;
#endif
-#ifdef GC_USE_MD5
+#ifdef GNULIB_GC_MD5
case GC_MD5:
md5_finish_ctx (&ctx->md5Context, ctx->hash);
ret = ctx->hash;
break;
#endif
-#ifdef GC_USE_SHA1
+#ifdef GNULIB_GC_SHA1
case GC_SHA1:
sha1_finish_ctx (&ctx->sha1Context, ctx->hash);
ret = ctx->hash;
{
switch (hash)
{
-#ifdef GC_USE_MD2
+#ifdef GNULIB_GC_MD2
case GC_MD2:
md2_buffer (in, inlen, resbuf);
break;
#endif
-#ifdef GC_USE_MD4
+#ifdef GNULIB_GC_MD4
case GC_MD4:
md4_buffer (in, inlen, resbuf);
break;
#endif
-#ifdef GC_USE_MD5
+#ifdef GNULIB_GC_MD5
case GC_MD5:
md5_buffer (in, inlen, resbuf);
break;
#endif
-#ifdef GC_USE_SHA1
+#ifdef GNULIB_GC_SHA1
case GC_SHA1:
sha1_buffer (in, inlen, resbuf);
break;
return GC_OK;
}
-#ifdef GC_USE_MD2
+#ifdef GNULIB_GC_MD2
Gc_rc
gc_md2 (const void *in, size_t inlen, void *resbuf)
{
}
#endif
-#ifdef GC_USE_MD4
+#ifdef GNULIB_GC_MD4
Gc_rc
gc_md4 (const void *in, size_t inlen, void *resbuf)
{
}
#endif
-#ifdef GC_USE_MD5
+#ifdef GNULIB_GC_MD5
Gc_rc
gc_md5 (const void *in, size_t inlen, void *resbuf)
{
}
#endif
-#ifdef GC_USE_SHA1
+#ifdef GNULIB_GC_SHA1
Gc_rc
gc_sha1 (const void *in, size_t inlen, void *resbuf)
{
}
#endif
-#ifdef GC_USE_HMAC_MD5
+#ifdef GNULIB_GC_HMAC_MD5
Gc_rc
gc_hmac_md5 (const void *key, size_t keylen,
const void *in, size_t inlen, char *resbuf)
}
#endif
-#ifdef GC_USE_HMAC_SHA1
+#ifdef GNULIB_GC_HMAC_SHA1
Gc_rc
gc_hmac_sha1 (const void *key, size_t keylen,
const void *in, size_t inlen, char *resbuf)
/* gc-libgcrypt.c --- Crypto wrappers around Libgcrypt for GC.
- * Copyright (C) 2002, 2003, 2004, 2005, 2006 Simon Josefsson
+ * Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007 Simon Josefsson
*
* This file is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published
/* Get libgcrypt API. */
#include <gcrypt.h>
-#ifdef GC_USE_MD2
+#ifdef GNULIB_GC_MD2
# include "md2.h"
#endif
return;
}
-#ifdef GC_USE_RANDOM
+#ifdef GNULIB_GC_RANDOM
/* Randomness. */
Gc_hash alg;
Gc_hash_mode mode;
gcry_md_hd_t gch;
-#ifdef GC_USE_MD2
+#ifdef GNULIB_GC_MD2
char hash[GC_MD2_DIGEST_SIZE];
struct md2_ctx md2Context;
#endif
gc_hash_hmac_setkey (gc_hash_handle handle, size_t len, const char *key)
{
_gc_hash_ctx *ctx = handle;
-#ifdef GC_USE_MD2
+#ifdef GNULIB_GC_MD2
if (ctx->alg != GC_MD2)
#endif
gcry_md_setkey (ctx->gch, key, len);
{
_gc_hash_ctx *ctx = handle;
-#ifdef GC_USE_MD2
+#ifdef GNULIB_GC_MD2
if (ctx->alg == GC_MD2)
md2_process_bytes (data, len, &ctx->md2Context);
else
_gc_hash_ctx *ctx = handle;
const char *digest;
-#ifdef GC_USE_MD2
+#ifdef GNULIB_GC_MD2
if (ctx->alg == GC_MD2)
{
md2_finish_ctx (&ctx->md2Context, ctx->hash);
{
_gc_hash_ctx *ctx = handle;
-#ifdef GC_USE_MD2
+#ifdef GNULIB_GC_MD2
if (ctx->alg != GC_MD2)
#endif
gcry_md_close (ctx->gch);
switch (hash)
{
-#ifdef GC_USE_MD2
+#ifdef GNULIB_GC_MD2
case GC_MD2:
md2_buffer (in, inlen, resbuf);
return GC_OK;
break;
#endif
-#ifdef GC_USE_MD4
+#ifdef GNULIB_GC_MD4
case GC_MD4:
gcryalg = GCRY_MD_MD4;
break;
#endif
-#ifdef GC_USE_MD5
+#ifdef GNULIB_GC_MD5
case GC_MD5:
gcryalg = GCRY_MD_MD5;
break;
#endif
-#ifdef GC_USE_SHA1
+#ifdef GNULIB_GC_SHA1
case GC_SHA1:
gcryalg = GCRY_MD_SHA1;
break;
#endif
-#ifdef GC_USE_RMD160
+#ifdef GNULIB_GC_RMD160
case GC_RMD160:
gcryalg = GCRY_MD_RMD160;
break;
/* One-call interface. */
-#ifdef GC_USE_MD2
+#ifdef GNULIB_GC_MD2
Gc_rc
gc_md2 (const void *in, size_t inlen, void *resbuf)
{
}
#endif
-#ifdef GC_USE_MD4
+#ifdef GNULIB_GC_MD4
Gc_rc
gc_md4 (const void *in, size_t inlen, void *resbuf)
{
}
#endif
-#ifdef GC_USE_MD5
+#ifdef GNULIB_GC_MD5
Gc_rc
gc_md5 (const void *in, size_t inlen, void *resbuf)
{
}
#endif
-#ifdef GC_USE_SHA1
+#ifdef GNULIB_GC_SHA1
Gc_rc
gc_sha1 (const void *in, size_t inlen, void *resbuf)
{
}
#endif
-#ifdef GC_USE_HMAC_MD5
+#ifdef GNULIB_GC_HMAC_MD5
Gc_rc
gc_hmac_md5 (const void *key, size_t keylen,
const void *in, size_t inlen, char *resbuf)
}
#endif
-#ifdef GC_USE_HMAC_SHA1
+#ifdef GNULIB_GC_HMAC_SHA1
Gc_rc
gc_hmac_sha1 (const void *key, size_t keylen,
const void *in, size_t inlen, char *resbuf)
-# gc-arcfour.m4 serial 1
-dnl Copyright (C) 2005 Free Software Foundation, Inc.
+# gc-arcfour.m4 serial 2
+dnl Copyright (C) 2005, 2007 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
AC_DEFUN([gl_GC_ARCFOUR],
[
AC_REQUIRE([gl_GC])
- AC_DEFINE(GC_USE_ARCFOUR, 1,
- [Define if you want to support ARCFOUR through GC.])
if test "$ac_cv_libgcrypt" != yes; then
gl_ARCFOUR
fi
-# gc-arctwo.m4 serial 1
-dnl Copyright (C) 2005 Free Software Foundation, Inc.
+# gc-arctwo.m4 serial 2
+dnl Copyright (C) 2005, 2007 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
AC_DEFUN([gl_GC_ARCTWO],
[
AC_REQUIRE([gl_GC])
- AC_DEFINE(GC_USE_ARCTWO, 1,
- [Define if you want to support ARCTWO through GC.])
if test "$ac_cv_libgcrypt" != yes; then
gl_ARCTWO
fi
-# gc-des.m4 serial 1
-dnl Copyright (C) 2005 Free Software Foundation, Inc.
+# gc-des.m4 serial 2
+dnl Copyright (C) 2005, 2007 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
AC_DEFUN([gl_GC_DES],
[
AC_REQUIRE([gl_GC])
- AC_DEFINE(GC_USE_DES, 1, [Define if you want to support DES through GC.])
if test "$ac_cv_libgcrypt" != yes; then
gl_DES
fi
-# gc-hmac-md5.m4 serial 1
-dnl Copyright (C) 2005 Free Software Foundation, Inc.
+# gc-hmac-md5.m4 serial 2
+dnl Copyright (C) 2005, 2007 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
AC_DEFUN([gl_GC_HMAC_MD5],
[
AC_REQUIRE([gl_GC])
- AC_DEFINE(GC_USE_HMAC_MD5, 1,
- [Define if you want to support HMAC-MD5 through GC.])
if test "$ac_cv_libgcrypt" != yes; then
gl_MD5
gl_HMAC_MD5
-# gc-hmac-sha1.m4 serial 1
-dnl Copyright (C) 2005 Free Software Foundation, Inc.
+# gc-hmac-sha1.m4 serial 2
+dnl Copyright (C) 2005, 2007 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
AC_DEFUN([gl_GC_HMAC_SHA1],
[
AC_REQUIRE([gl_GC])
- AC_DEFINE(GC_USE_HMAC_SHA1, 1,
- [Define if you want to support HMAC-SHA1 through GC.])
if test "$ac_cv_libgcrypt" != yes; then
gl_SHA1
gl_HMAC_SHA1
-# gc-md2.m4 serial 1
-dnl Copyright (C) 2005 Free Software Foundation, Inc.
+# gc-md2.m4 serial 2
+dnl Copyright (C) 2005, 2007 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
AC_DEFUN([gl_GC_MD2],
[
- AC_DEFINE(GC_USE_MD2, 1, [Define if you want to support MD2 through GC.])
])
-# gc-md4.m4 serial 1
-dnl Copyright (C) 2005 Free Software Foundation, Inc.
+# gc-md4.m4 serial 2
+dnl Copyright (C) 2005, 2007 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
AC_DEFUN([gl_GC_MD4],
[
AC_REQUIRE([gl_GC])
- AC_DEFINE(GC_USE_MD4, 1, [Define if you want to support MD4 through GC.])
if test "$ac_cv_libgcrypt" != yes; then
gl_MD4
fi
-# gc-md5.m4 serial 1
-dnl Copyright (C) 2005 Free Software Foundation, Inc.
+# gc-md5.m4 serial 2
+dnl Copyright (C) 2005, 2007 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
AC_DEFUN([gl_GC_MD5],
[
AC_REQUIRE([gl_GC])
- AC_DEFINE(GC_USE_MD5, 1, [Define if you want to support MD5 through GC.])
if test "$ac_cv_libgcrypt" != yes; then
gl_MD5
fi
-# gc-random.m4 serial 1
-dnl Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+# gc-random.m4 serial 2
+dnl Copyright (C) 2005-2007 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
[defined to the name of the pseudo random device])
AC_DEFINE_UNQUOTED(NAME_OF_NONCE_DEVICE, "$NAME_OF_NONCE_DEVICE",
[defined to the name of the unpredictable nonce device])
-
- AC_DEFINE(GC_USE_RANDOM, 1, [Define if you want to support RNG through GC.])
])
-# gc-rijndael.m4 serial 1
-dnl Copyright (C) 2005 Free Software Foundation, Inc.
+# gc-rijndael.m4 serial 2
+dnl Copyright (C) 2005, 2007 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
AC_DEFUN([gl_GC_RIJNDAEL],
[
AC_REQUIRE([gl_GC])
- AC_DEFINE(GC_USE_RIJNDAEL, 1,
- [Define if you want to support RIJNDAEL through GC.])
if test "$ac_cv_libgcrypt" != yes; then
gl_RIJNDAEL
fi
-# gc-sha1.m4 serial 1
-dnl Copyright (C) 2005 Free Software Foundation, Inc.
+# gc-sha1.m4 serial 2
+dnl Copyright (C) 2005, 2007 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
AC_DEFUN([gl_GC_SHA1],
[
AC_REQUIRE([gl_GC])
- AC_DEFINE(GC_USE_SHA1, 1,
- [Define if you want to support SHA-1 through GC.])
if test "$ac_cv_libgcrypt" != yes; then
gl_SHA1
fi
configure.ac:
gl_GC_ARCFOUR
+gl_MODULE_INDICATOR([gc-arcfour])
Makefile.am:
configure.ac:
gl_GC_ARCTWO
+gl_MODULE_INDICATOR([gc-arctwo])
Makefile.am:
configure.ac:
gl_GC_DES
+gl_MODULE_INDICATOR([gc-des])
Makefile.am:
configure.ac:
gl_GC_HMAC_MD5
+gl_MODULE_INDICATOR([gc-hmac-md5])
Makefile.am:
configure.ac:
gl_GC_HMAC_SHA1
+gl_MODULE_INDICATOR([gc-hmac-sha1])
Makefile.am:
configure.ac:
gl_GC_MD2
+gl_MODULE_INDICATOR([gc-md2])
Makefile.am:
configure.ac:
gl_GC_MD4
+gl_MODULE_INDICATOR([gc-md4])
Makefile.am:
configure.ac:
gl_GC_MD5
+gl_MODULE_INDICATOR([gc-md5])
Makefile.am:
lib_SOURCES += md5.h
configure.ac:
gl_GC_RANDOM
+gl_MODULE_INDICATOR([gc-random])
Makefile.am:
configure.ac:
gl_GC_RIJNDAEL
+gl_MODULE_INDICATOR([gc-rijndael])
Makefile.am:
configure.ac:
gl_GC_SHA1
+gl_MODULE_INDICATOR([gc-sha1])
Makefile.am: