Release 2.1.21
[gnupg.git] / tools / no-libgcrypt.c
index b534273..8739968 100644 (file)
@@ -1,21 +1,14 @@
 /* no-libgcrypt.c - Replacement functions for libgcrypt.
  *     Copyright (C) 2003 Free Software Foundation, Inc.
  *
- * This file is part of GnuPG.
+ * This file is free software; as a special exception the author gives
+ * unlimited permission to copy and/or distribute it, with or without
+ * modifications, as long as this notice is preserved.
  *
- * GnuPG is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * GnuPG is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+ * This file is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY, to the extent permitted by law; without even
+ * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE.
  */
 
 #include <config.h>
 #include <errno.h>
 
 #include "../common/util.h"
-#include "i18n.h"
+#include "../common/i18n.h"
 
 
 /* Replace libgcrypt's malloc functions which are used by
-   ../jnlib/libjnlib.a .  ../common/util.h defines macros to map them
+   ../common/libcommon.a .  ../common/util.h defines macros to map them
    to xmalloc etc. */
 static void
-out_of_core (void)
+out_of_memory (void)
 {
   log_fatal (_("error allocating enough memory: %s\n"), strerror (errno));
 }
 
 
 void *
+gcry_malloc (size_t n)
+{
+  return malloc (n);
+}
+
+void *
+gcry_malloc_secure (size_t n)
+{
+  return malloc (n);
+}
+
+void *
 gcry_xmalloc (size_t n)
 {
   void *p = malloc (n);
   if (!p)
-    out_of_core ();
+    out_of_memory ();
   return p;
 }
 
+char *
+gcry_strdup (const char *string)
+{
+  char *p = malloc (strlen (string)+1);
+  if (p)
+    strcpy (p, string);
+  return p;
+}
+
+
+void *
+gcry_realloc (void *a, size_t n)
+{
+  return realloc (a, n);
+}
+
 void *
 gcry_xrealloc (void *a, size_t n)
 {
   void *p = realloc (a, n);
   if (!p)
-    out_of_core ();
+    out_of_memory ();
   return p;
 }
 
+
+
+void *
+gcry_calloc (size_t n, size_t m)
+{
+  return calloc (n, m);
+}
+
 void *
 gcry_xcalloc (size_t n, size_t m)
 {
   void *p = calloc (n, m);
   if (!p)
-    out_of_core ();
+    out_of_memory ();
   return p;
 }
 
+
 char *
 gcry_xstrdup (const char *string)
 {
   void *p = malloc (strlen (string)+1);
   if (!p)
-    out_of_core ();
+    out_of_memory ();
   strcpy( p, string );
   return p;
 }
@@ -81,3 +111,52 @@ gcry_free (void *a)
   if (a)
     free (a);
 }
+
+
+/* We need this dummy because exechelp.c uses gcry_control to
+   terminate the secure memeory.  */
+gcry_error_t
+gcry_control (enum gcry_ctl_cmds cmd, ...)
+{
+  (void)cmd;
+  return 0;
+}
+
+void
+gcry_set_outofcore_handler (gcry_handler_no_mem_t h, void *opaque)
+{
+  (void)h;
+  (void)opaque;
+}
+
+void
+gcry_set_fatalerror_handler (gcry_handler_error_t fnc, void *opaque)
+{
+  (void)fnc;
+  (void)opaque;
+}
+
+void
+gcry_set_log_handler (gcry_handler_log_t f, void *opaque)
+{
+  (void)f;
+  (void)opaque;
+}
+
+
+void
+gcry_create_nonce (void *buffer, size_t length)
+{
+  (void)buffer;
+  (void)length;
+
+  log_fatal ("unexpected call to gcry_create_nonce\n");
+}
+
+
+const char *
+gcry_cipher_algo_name (int algo)
+{
+  (void)algo;
+  return "?";
+}