gnutls-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[SCM] GNU gnutls branch, master, updated. gnutls_2_9_10-322-g1d30370


From: Nikos Mavrogiannopoulos
Subject: [SCM] GNU gnutls branch, master, updated. gnutls_2_9_10-322-g1d30370
Date: Sat, 24 Jul 2010 09:40:47 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU gnutls".

http://git.savannah.gnu.org/cgit/gnutls.git/commit/?id=1d303703e4f4ab16b090d4506c68be5476ecb376

The branch, master has been updated
       via  1d303703e4f4ab16b090d4506c68be5476ecb376 (commit)
      from  63c33ad6ead0045428fbf2135e62ad51441e2b53 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 1d303703e4f4ab16b090d4506c68be5476ecb376
Author: Nikos Mavrogiannopoulos <address@hidden>
Date:   Sat Jul 24 11:28:39 2010 +0200

    Added GNUTLS_PK_DH to differentiate in the generation of parameters with 
PK_DSA
    that requires special treatment.

-----------------------------------------------------------------------

Summary of changes:
 lib/gnutls_algorithms.c         |   49 ++++++++++++++++++++-------------------
 lib/gnutls_algorithms.h         |    2 +-
 lib/includes/gnutls/gnutls.h.in |    4 ++-
 lib/nettle/mpi.c                |    2 +-
 src/prime.c                     |    2 +-
 5 files changed, 31 insertions(+), 28 deletions(-)

diff --git a/lib/gnutls_algorithms.c b/lib/gnutls_algorithms.c
index 6bb8f70..2c50690 100644
--- a/lib/gnutls_algorithms.c
+++ b/lib/gnutls_algorithms.c
@@ -2180,7 +2180,7 @@ gnutls_pk_algorithm_get_name (gnutls_pk_algorithm_t 
algorithm)
   const gnutls_pk_entry *p;
 
   for (p = pk_algorithms; p->name != NULL; p++)
-    if (p->id && p->id == algorithm)
+    if (p->id == algorithm)
       {
        ret = p->name;
        break;
@@ -2205,6 +2205,10 @@ gnutls_pk_list (void)
   static const gnutls_pk_algorithm_t supported_pks[] = {
     GNUTLS_PK_RSA,
     GNUTLS_PK_DSA,
+    /* GNUTLS_PK_DH is not returned because it is not
+     * a real public key algorithm. I.e. cannot be used
+     * as a public key algorithm of a certificate.
+     */
     0
   };
 
@@ -2227,12 +2231,17 @@ gnutls_pk_list (void)
 gnutls_pk_algorithm_t
 gnutls_pk_get_id (const char *name)
 {
-  if (strcasecmp (name, "RSA") == 0)
-    return GNUTLS_PK_RSA;
-  else if (strcasecmp (name, "DSA") == 0)
-    return GNUTLS_PK_DSA;
+  gnutls_pk_algorithm_t ret = GNUTLS_PK_UNKNOWN;
+  const gnutls_pk_entry *p;
 
-  return GNUTLS_PK_UNKNOWN;
+  for (p = pk_algorithms; p->name != NULL; p++)
+    if (name && strcmp (p->name, name) == 0)
+      {
+       ret = p->id;
+       break;
+      }
+
+  return ret;
 }
 
 /**
@@ -2249,25 +2258,17 @@ gnutls_pk_get_id (const char *name)
 const char *
 gnutls_pk_get_name (gnutls_pk_algorithm_t algorithm)
 {
-  const char *p;
-
-  switch (algorithm)
-    {
-    case GNUTLS_PK_RSA:
-      p = "RSA";
-      break;
-
-    case GNUTLS_PK_DSA:
-      p = "DSA";
-      break;
+  const char *ret = "Unknown";
+  const gnutls_pk_entry *p;
 
-    default:
-    case GNUTLS_PK_UNKNOWN:
-      p = "PK_UNKNOWN";
-      break;
-    }
+  for (p = pk_algorithms; p->name != NULL; p++)
+    if (algorithm == p->id)
+      {
+       ret = p->name;
+       break;
+      }
 
-  return p;
+  return ret;
 }
 
 gnutls_pk_algorithm_t
@@ -2336,7 +2337,7 @@ unsigned int ret = 0;
 /* Returns the corresponding size for subgroup bits (q),
  * given the group bits (p).
  */
-unsigned int gnutls_pk_bits_to_subgroup_bits (unsigned int pk_bits)
+unsigned int _gnutls_pk_bits_to_subgroup_bits (unsigned int pk_bits)
 {
 unsigned int ret = 0;
 
diff --git a/lib/gnutls_algorithms.h b/lib/gnutls_algorithms.h
index ae17f6d..0e84a12 100644
--- a/lib/gnutls_algorithms.h
+++ b/lib/gnutls_algorithms.h
@@ -125,6 +125,6 @@ int _gnutls_cipher_priority (gnutls_session_t session,
 int _gnutls_kx_priority (gnutls_session_t session,
                         gnutls_kx_algorithm_t algorithm);
 
-unsigned int gnutls_pk_bits_to_subgroup_bits (unsigned int pk_bits);
+unsigned int _gnutls_pk_bits_to_subgroup_bits (unsigned int pk_bits);
 
 #endif
diff --git a/lib/includes/gnutls/gnutls.h.in b/lib/includes/gnutls/gnutls.h.in
index 6bed294..174bfe4 100644
--- a/lib/includes/gnutls/gnutls.h.in
+++ b/lib/includes/gnutls/gnutls.h.in
@@ -551,6 +551,7 @@ extern "C"
    * @GNUTLS_PK_UNKNOWN: Unknown public-key algorithm.
    * @GNUTLS_PK_RSA: RSA public-key algorithm.
    * @GNUTLS_PK_DSA: DSA public-key algorithm.
+   * @GNUTLS_PK_DH: Diffie-Hellman algorithm. Used to generate parameters.
    *
    * Enumeration of different public-key algorithms.
    */
@@ -558,7 +559,8 @@ extern "C"
   {
     GNUTLS_PK_UNKNOWN = 0,
     GNUTLS_PK_RSA = 1,
-    GNUTLS_PK_DSA = 2
+    GNUTLS_PK_DSA = 2,
+    GNUTLS_PK_DH = 3
   } gnutls_pk_algorithm_t;
 
   const char *gnutls_pk_algorithm_get_name (gnutls_pk_algorithm_t algorithm);
diff --git a/lib/nettle/mpi.c b/lib/nettle/mpi.c
index 865104c..9819e47 100644
--- a/lib/nettle/mpi.c
+++ b/lib/nettle/mpi.c
@@ -396,7 +396,7 @@ inline static int gen_group (mpz_t *prime, mpz_t* 
generator, unsigned int nbits)
        /* security level enforcement. 
         * Values for q are selected according to ECRYPT II recommendations.
         */
-       q_bytes = gnutls_pk_bits_to_subgroup_bits (nbits);
+       q_bytes = _gnutls_pk_bits_to_subgroup_bits (nbits);
        q_bytes/=8;
        
        if (q_bytes == 0) {
diff --git a/src/prime.c b/src/prime.c
index 2d2107d..d845110 100644
--- a/src/prime.c
+++ b/src/prime.c
@@ -48,7 +48,7 @@ generate_prime (int how)
   int ret;
   gnutls_dh_params_t dh_params;
   gnutls_datum_t p, g;
-  int bits = get_bits(GNUTLS_PK_DSA);
+  int bits = get_bits(GNUTLS_PK_DH);
 
   gnutls_dh_params_init (&dh_params);
 


hooks/post-receive
-- 
GNU gnutls



reply via email to

[Prev in Thread] Current Thread [Next in Thread]