From 131d0d944a81a5b9c213c8ab5b2bedb99848d52c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Niels=20M=C3=B6ller?= <nisse@lysator.liu.se>
Date: Mon, 18 Mar 2002 18:11:03 +0100
Subject: [PATCH] (rsa_generate_keypair): Output a newline after a non-empty
 line of 'e':s (bad e was chosen, try again).

Rev: src/nettle/rsa-keygen.c:1.2
---
 rsa-keygen.c | 35 +++++++++++++++++++++--------------
 1 file changed, 21 insertions(+), 14 deletions(-)

diff --git a/rsa-keygen.c b/rsa-keygen.c
index 2d2cc922..4305c0a8 100644
--- a/rsa-keygen.c
+++ b/rsa-keygen.c
@@ -303,21 +303,28 @@ rsa_generate_keypair(struct rsa_public_key *pub,
   
   /* If we didn't have a given e, generate one now. */
   if (e_size)
-    for (;;)
-      {
-	bignum_random_size(pub->e, e_size,
-			   random_ctx, random);
+    {
+      int retried = 0;
+      for (;;)
+	{
+	  bignum_random_size(pub->e, e_size,
+			     random_ctx, random);
 	
-	/* Make sure it's odd and that the most significant bit is
-	 * set */
-	mpz_setbit(pub->e, 0);
-	mpz_setbit(pub->e, e_size - 1);
-
-	/* Needs gmp-3, or inverse might be negative. */
-	if (mpz_invert(key->d, pub->e, phi))
-	  break;
-	else if (progress) progress(progress_ctx, 'e');
-      }
+	  /* Make sure it's odd and that the most significant bit is
+	   * set */
+	  mpz_setbit(pub->e, 0);
+	  mpz_setbit(pub->e, e_size - 1);
+
+	  /* Needs gmp-3, or inverse might be negative. */
+	  if (mpz_invert(key->d, pub->e, phi))
+	    break;
+
+	  if (progress) progress(progress_ctx, 'e');
+	  retried = 1;
+	}
+      if (retried && progress)
+	progress(progress_ctx, '\n');	
+    }
   else
     {
       /* Must always succeed, as we already that e
-- 
GitLab