Allow importing of web.de generated p12 files
authorWerner Koch <wk@gnupg.org>
Mon, 23 Oct 2006 10:52:23 +0000 (10:52 +0000)
committerWerner Koch <wk@gnupg.org>
Mon, 23 Oct 2006 10:52:23 +0000 (10:52 +0000)
agent/ChangeLog
agent/Makefile.am
agent/minip12.c

index 9a4a07f..84ee1a7 100644 (file)
@@ -1,3 +1,12 @@
+2006-10-23  Werner Koch  <wk@g10code.com>
+
+       * minip12.c (parse_bag_encrypted_data, parse_bag_data): Allow for
+       a salt of 20 bytes.
+
+2006-10-20  Werner Koch  <wk@g10code.com>
+
+       * Makefile.am (t_common_ldadd): Use GPG_ERROR_LIBS instead -o just -l
+
 2006-10-19  Werner Koch  <wk@g10code.com>
 
        * findkey.c (unprotect): Use it to avoid unnecessary calls to
index b925439..d8c5617 100644 (file)
@@ -83,7 +83,7 @@ $(PROGRAMS): $(common_libs) $(commonpth_libs) $(pwquery_libs)
 TESTS = t-protect
 
 t_common_ldadd = $(common_libs) \
-                 $(LIBGCRYPT_LIBS) -lgpg-error $(LIBINTL)
+                 $(LIBGCRYPT_LIBS) $(GPG_ERROR_LIBS) $(LIBINTL)
 
 t_protect_SOURCES = t-protect.c protect.c 
 t_protect_LDADD = $(t_common_ldadd)
index 5361708..2da1180 100644 (file)
@@ -497,7 +497,7 @@ parse_bag_encrypted_data (const unsigned char *buffer, size_t length,
   const unsigned char *p_start = buffer;
   size_t n = length;
   const char *where;
-  char salt[16];
+  char salt[20];
   size_t saltlen;
   unsigned int iter;
   unsigned char *plain = NULL;
@@ -575,7 +575,7 @@ parse_bag_encrypted_data (const unsigned char *buffer, size_t length,
   if (parse_tag (&p, &n, &ti))
     goto bailout;
   if (ti.class || ti.tag != TAG_OCTET_STRING
-      || ti.length < 8 || ti.length > 16 )
+      || ti.length < 8 || ti.length > 20 )
     goto bailout;
   saltlen = ti.length;
   memcpy (salt, p, saltlen);
@@ -909,7 +909,7 @@ parse_bag_data (const unsigned char *buffer, size_t length, int startoffset,
   const unsigned char *p_start = buffer;
   size_t n = length;
   const char *where;
-  char salt[16];
+  char salt[20];
   size_t saltlen;
   unsigned int iter;
   int len;
@@ -997,7 +997,7 @@ parse_bag_data (const unsigned char *buffer, size_t length, int startoffset,
   if (parse_tag (&p, &n, &ti))
     goto bailout;
   if (ti.class || ti.tag != TAG_OCTET_STRING
-      || ti.length < 8 || ti.length > 16)
+      || ti.length < 8 || ti.length > 20)
     goto bailout;
   saltlen = ti.length;
   memcpy (salt, p, saltlen);