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_99_2-9-gb82c041


From: Nikos Mavrogiannopoulos
Subject: [SCM] GNU gnutls branch, master, updated. gnutls_2_99_2-9-gb82c041
Date: Fri, 27 May 2011 22:13:28 +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=b82c041e8475d30e320d8f86842a538329ddda27

The branch, master has been updated
       via  b82c041e8475d30e320d8f86842a538329ddda27 (commit)
       via  f6656624d81c04ffa193257470d96f681e864fec (commit)
      from  911d1b16482cbe53c0c47db7c08c3c2749731c43 (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 b82c041e8475d30e320d8f86842a538329ddda27
Author: Nikos Mavrogiannopoulos <address@hidden>
Date:   Sat May 28 00:09:20 2011 +0200

    deinitialize PSK key memory.

commit f6656624d81c04ffa193257470d96f681e864fec
Author: Nikos Mavrogiannopoulos <address@hidden>
Date:   Sat May 28 00:00:06 2011 +0200

    explicitly request for client key in server side.

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

Summary of changes:
 lib/auth/dhe_psk.c |   11 +++++++++--
 lib/auth/psk.c     |   28 ++++++++--------------------
 2 files changed, 17 insertions(+), 22 deletions(-)

diff --git a/lib/auth/dhe_psk.c b/lib/auth/dhe_psk.c
index d39b6dc..11df6f2 100644
--- a/lib/auth/dhe_psk.c
+++ b/lib/auth/dhe_psk.c
@@ -282,9 +282,13 @@ proc_psk_client_kx (gnutls_session_t session, opaque * 
data,
   if (ret < 0) 
     return gnutls_assert_val(ret);
 
-  return _gnutls_proc_dh_common_client_kx (session, data, data_size, 
+  ret = _gnutls_proc_dh_common_client_kx (session, data, data_size, 
                                           g, p, &psk_key);
 
+  _gnutls_free_datum(&psk_key);
+  
+  return ret;
+
 }
 
 static int
@@ -344,9 +348,12 @@ proc_ecdhe_psk_client_kx (gnutls_session_t session, opaque 
* data,
   if (ret < 0) 
     return gnutls_assert_val(ret);
 
-  return _gnutls_proc_ecdh_common_client_kx(session, data, data_size, 
+  ret = _gnutls_proc_ecdh_common_client_kx(session, data, data_size, 
     _gnutls_session_ecc_curve_get(session), &psk_key);
 
+  _gnutls_free_datum(&psk_key);
+  
+  return ret;
 }
 
 int
diff --git a/lib/auth/psk.c b/lib/auth/psk.c
index a0d4dc4..79ee464 100644
--- a/lib/auth/psk.c
+++ b/lib/auth/psk.c
@@ -72,24 +72,6 @@ _gnutls_set_psk_session_key (gnutls_session_t session,
   size_t dh_secret_size;
   int ret;
 
-  if (session->security_parameters.entity == GNUTLS_SERVER)
-    {                           /* SERVER side */
-      psk_auth_info_t info;
-
-      info = _gnutls_get_auth_info (session);
-
-      /* find the key of this username
-       */
-      ret = _gnutls_psk_pwd_find_entry (session, info->username, &pwd_psk);
-      if (ret < 0)
-        {
-          gnutls_assert ();
-          return ret;
-        }
-      ppsk = &pwd_psk;
-    }
-
-
   if (dh_secret == NULL)
     dh_secret_size = ppsk->size;
   else
@@ -225,7 +207,7 @@ _gnutls_proc_psk_client_kx (gnutls_session_t session, 
opaque * data,
 {
   ssize_t data_size = _data_size;
   int ret;
-  gnutls_datum_t username;
+  gnutls_datum_t username, psk_key;
   gnutls_psk_server_credentials_t cred;
   psk_auth_info_t info;
 
@@ -267,7 +249,11 @@ _gnutls_proc_psk_client_kx (gnutls_session_t session, 
opaque * data,
   memcpy (info->username, username.data, username.size);
   info->username[username.size] = 0;
 
-  ret = _gnutls_set_psk_session_key (session, NULL, NULL);
+  ret = _gnutls_psk_pwd_find_entry(session, info->username, &psk_key);
+  if (ret < 0) 
+    return gnutls_assert_val(ret);
+
+  ret = _gnutls_set_psk_session_key (session, &psk_key, NULL);
   if (ret < 0)
     {
       gnutls_assert ();
@@ -277,6 +263,8 @@ _gnutls_proc_psk_client_kx (gnutls_session_t session, 
opaque * data,
   ret = 0;
 
 error:
+  _gnutls_free_datum(&psk_key);
+
   return ret;
 }
 


hooks/post-receive
-- 
GNU gnutls



reply via email to

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