gsasl-commit
[Top][All Lists]
Advanced

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

[SCM] GNU gsasl branch, master, updated. gsasl-1-2-100-g79a1534


From: Simon Josefsson
Subject: [SCM] GNU gsasl branch, master, updated. gsasl-1-2-100-g79a1534
Date: Wed, 07 Oct 2009 13:07:53 +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 gsasl".

http://git.savannah.gnu.org/cgit/gsasl.git/commit/?id=79a1534fbf3f0aa0a7f99d26a5c92bbe2a58e867

The branch, master has been updated
       via  79a1534fbf3f0aa0a7f99d26a5c92bbe2a58e867 (commit)
      from  30b5fc721305dac42fce6832e33a27d0502eb35a (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 79a1534fbf3f0aa0a7f99d26a5c92bbe2a58e867
Author: Simon Josefsson <address@hidden>
Date:   Wed Oct 7 15:07:48 2009 +0200

    SCRAM: Normalize password using SASLprep.

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

Summary of changes:
 lib/scram/client.c |   15 ++++++++++++---
 lib/scram/server.c |   15 ++++++++++++---
 2 files changed, 24 insertions(+), 6 deletions(-)

diff --git a/lib/scram/client.c b/lib/scram/client.c
index 19dd849..869d83f 100644
--- a/lib/scram/client.c
+++ b/lib/scram/client.c
@@ -241,17 +241,26 @@ _gsasl_scram_sha1_client_step (Gsasl_session * sctx,
              Gc_rc err;
              char *salt;
              size_t saltlen;
+             char *preppasswd;
+
+             rc = gsasl_saslprep (p, 0, &preppasswd, NULL);
+             if (rc != GSASL_OK)
+               return rc;
 
              rc = gsasl_base64_from (state->sf.salt, strlen (state->sf.salt),
                                      &salt, &saltlen);
              if (rc != 0)
-               return rc;
+               {
+                 gsasl_free (preppasswd);
+                 return rc;
+               }
 
              /* SaltedPassword := Hi(password, salt) */
-             err = gc_pbkdf2_sha1 (p, strlen (p),
+             err = gc_pbkdf2_sha1 (preppasswd, strlen (preppasswd),
                                    salt, saltlen,
                                    state->sf.iter, saltedpassword, 20);
-             free (salt);
+             gsasl_free (preppasswd);
+             gsasl_free (salt);
              if (err != GC_OK)
                return GSASL_MALLOC_ERROR;
            }
diff --git a/lib/scram/server.c b/lib/scram/server.c
index e162429..8b7a2c1 100644
--- a/lib/scram/server.c
+++ b/lib/scram/server.c
@@ -241,17 +241,26 @@ _gsasl_scram_sha1_server_step (Gsasl_session * sctx,
              size_t saltlen;
              char saltedpassword[20];
              char *clientkey;
+             char *preppasswd;
+
+             rc = gsasl_saslprep (p, 0, &preppasswd, NULL);
+             if (rc != GSASL_OK)
+               return rc;
 
              rc = gsasl_base64_from (state->sf.salt, strlen (state->sf.salt),
                                      &salt, &saltlen);
              if (rc != 0)
-               return rc;
+               {
+                 gsasl_free (preppasswd);
+                 return rc;
+               }
 
              /* SaltedPassword := Hi(password, salt) */
-             err = gc_pbkdf2_sha1 (p, strlen (p),
+             err = gc_pbkdf2_sha1 (preppasswd, strlen (preppasswd),
                                    salt, saltlen,
                                    state->sf.iter, saltedpassword, 20);
-             free (salt);
+             gsasl_free (preppasswd);
+             gsasl_free (salt);
              if (err != GC_OK)
                return GSASL_MALLOC_ERROR;
 


hooks/post-receive
-- 
GNU gsasl




reply via email to

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