File libgcrypt-1.6.1-drbg-reseeding.patch of Package libgcrypt

diff -Nurp libgcrypt-1.6.1-orig/random/drbg.c libgcrypt-1.6.1/random/drbg.c
--- libgcrypt-1.6.1-orig/random/drbg.c	2015-04-21 22:07:31.698506000 +0200
+++ libgcrypt-1.6.1/random/drbg.c	2015-04-23 23:49:39.628025000 +0200
@@ -2099,6 +2099,14 @@ gcry_drbg_cavs_test (struct gcry_drbg_te
   if (ret)
     goto outbuf;
 
+  if (test->entropyreseed) 
+    {
+      gcry_drbg_string_fill (&testentropy, test->entropyreseed, test->entropyreseed_len);
+      gcry_drbg_string_fill (&addtl, test->addtl_reseed, test->addtl_reseed_len);
+      if (gcry_drbg_reseed (drbg, &addtl))
+        goto outbuf;
+    }
+
   gcry_drbg_string_fill (&addtl, test->addtla, test->addtllen);
   if (test->entpra)
     {
diff -Nurp libgcrypt-1.6.1-orig/random/random.h libgcrypt-1.6.1/random/random.h
--- libgcrypt-1.6.1-orig/random/random.h	2015-04-21 22:07:31.657559000 +0200
+++ libgcrypt-1.6.1/random/random.h	2015-04-21 22:09:42.710034000 +0200
@@ -72,6 +72,10 @@ struct gcry_drbg_test_vector
   size_t perslen;
   unsigned char *expected;
   size_t expectedlen;
+  unsigned char *entropyreseed;
+  size_t entropyreseed_len;
+  unsigned char *addtl_reseed;
+  size_t addtl_reseed_len;
 };
 
 gpg_err_code_t gcry_drbg_cavs_test (struct gcry_drbg_test_vector *test,
openSUSE Build Service is sponsored by