shishi-commit
[Top][All Lists]
Advanced

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

CVS shishi/lib


From: shishi-commit
Subject: CVS shishi/lib
Date: Thu, 23 Mar 2006 11:37:42 +0100

Update of /home/jas/self/public-cvs/shishi/lib
In directory latte:/home/jas/self/src/shishi/lib

Modified Files:
        principal.c key.c 
Log Message:
Fix.


--- /home/jas/self/public-cvs/shishi/lib/principal.c    2006/03/23 10:33:53     
1.44
+++ /home/jas/self/public-cvs/shishi/lib/principal.c    2006/03/23 10:37:34     
1.45
@@ -442,7 +442,6 @@
 {
   char *principal;
   char *realm;
-  char *salt;
   int rc;
 
   rc = shishi_parse_name (handle, name, &principal, &realm);
--- /home/jas/self/public-cvs/shishi/lib/key.c  2006/03/22 16:35:04     1.32
+++ /home/jas/self/public-cvs/shishi/lib/key.c  2006/03/23 10:37:34     1.33
@@ -472,38 +472,31 @@
                      const char *parameter, Shishi_key ** outkey)
 {
   int rc;
-  char *principal;
-  char *realm;
-  size_t saltlen;
   char *salt;
 
-  rc = shishi_parse_name (handle, name, &principal, &realm);
+  rc = shishi_derive_default_salt (handle, name, &salt);
   if (rc != SHISHI_OK)
     return rc;
 
-  if (!principal || !realm)
-    {
-      if (principal)
-       free (principal);
-      if (realm)
-       free (realm);
-      return SHISHI_INVALID_PRINCIPAL_NAME;
-    }
-
-  saltlen = asprintf (&salt, "%s%s", realm, principal);
-
   rc = shishi_key_from_string (handle, type, password, passwordlen,
-                              salt, saltlen, parameter, outkey);
-
+                              salt, strlen (salt), parameter, outkey);
   if (rc == SHISHI_OK)
     {
+      char *principal;
+      char *realm;
+
+      rc = shishi_parse_name (handle, name, &principal, &realm);
+      if (rc != SHISHI_OK)
+       return rc;
+
       shishi_key_principal_set (*outkey, principal);
       shishi_key_realm_set (*outkey, realm);
+
+      free (realm);
+      free (principal);
     }
 
   free (salt);
-  free (realm);
-  free (principal);
 
   return rc;
 }





reply via email to

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