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: Fri, 17 Sep 2004 14:54:54 +0200

Update of /home/cvs/shishi/lib
In directory dopio:/tmp/cvs-serv21932

Modified Files:
        shishi.h.in encticketpart.c authorize.c 
Log Message:
(shishi_encticketpart_cnamerealm_get):
(shishi_encticketpart_cname_get): Remove.
(shishi_encticketpart_clientrealm): Add.


--- /home/cvs/shishi/lib/shishi.h.in    2004/09/17 12:38:12     1.246
+++ /home/cvs/shishi/lib/shishi.h.in    2004/09/17 12:54:53     1.247
@@ -1967,17 +1967,13 @@
 extern int shishi_encticketpart_client (Shishi * handle,
                                        Shishi_asn1 encticketpart,
                                        char **client, size_t * clientlen);
-extern int shishi_encticketpart_cname_get (Shishi * handle,
-                                          Shishi_asn1 encticketpart,
-                                          char *cname, size_t * cnamelen);
+extern int shishi_encticketpart_clientrealm (Shishi * handle,
+                                            Shishi_asn1 encticketpart,
+                                            char **client, size_t *clientlen);
 extern int shishi_encticketpart_cname_set (Shishi * handle,
                                           Shishi_asn1 encticketpart,
                                           Shishi_name_type name_type,
                                           const char *principal);
-extern int shishi_encticketpart_cnamerealm_get (Shishi * handle,
-                                               Shishi_asn1 encticketpart,
-                                               char *cnamerealm,
-                                               size_t * cnamerealmlen);
 extern int shishi_encticketpart_print (Shishi * handle, FILE * fh,
                                       Shishi_asn1 encticketpart);
 extern int shishi_encticketpart_flags_set (Shishi * handle,
--- /home/cvs/shishi/lib/encticketpart.c        2004/09/10 10:00:00     1.32
+++ /home/cvs/shishi/lib/encticketpart.c        2004/09/17 12:54:53     1.33
@@ -396,23 +396,30 @@
                                client, clientlen);
 }
 
+/**
+ * shishi_encticketpart_clientrealm:
+ * @handle: Shishi library handle create by shishi_init().
+ * @encticketpart: EncTicketPart variable to get client name and realm from.
+ * @client: pointer to newly allocated zero terminated string containing
+ *   principal name and realm.  May be %NULL (to only populate @clientlen).
+ * @clientlen: pointer to length of @client on output, excluding terminating
+ *   zero.  May be %NULL (to only populate @client).
+ *
+ * Convert cname and realm fields from EncTicketPart to printable
+ * principal name format.  The string is allocate by this function,
+ * and it is the responsibility of the caller to deallocate it.  Note
+ * that the output length @clientlen does not include the terminating
+ * zero.
+ *
+ * Return value: Returns SHISHI_OK iff successful.
+ **/
 int
-shishi_encticketpart_cname_get (Shishi * handle,
-                               Shishi_asn1 encticketpart,
-                               char *cname, size_t * cnamelen)
+shishi_encticketpart_clientrealm (Shishi * handle,
+                                 Shishi_asn1 encticketpart,
+                                 char **client, size_t *clientlen)
 {
-  return shishi_principal_name_get (handle, encticketpart,
-                                   "cname", cname, cnamelen);
-}
-
-int
-shishi_encticketpart_cnamerealm_get (Shishi * handle,
-                                    Shishi_asn1 encticketpart,
-                                    char *cnamerealm, size_t * cnamerealmlen)
-{
-  return shishi_principal_name_realm_get (handle, encticketpart,
-                                         "cname",
-                                         encticketpart,
-                                         "crealm",
-                                         cnamerealm, cnamerealmlen);
+  return shishi_principal_name_realm (handle,
+                                     encticketpart, "cname",
+                                     encticketpart, "crealm",
+                                     client, clientlen);
 }
--- /home/cvs/shishi/lib/authorize.c    2004/08/01 17:31:23     1.6
+++ /home/cvs/shishi/lib/authorize.c    2004/09/17 12:54:53     1.7
@@ -145,14 +145,12 @@
 int
 shishi_authorized_p (Shishi * handle, Shishi_tkt * tkt, const char *authzname)
 {
-  char cname[BUFSIZ];          /* XXX */
-  size_t cnamelen = sizeof (cname);
+  char *client;
   int rc;
   int i;
 
-  rc = shishi_encticketpart_cname_get (handle,
-                                      shishi_tkt_encticketpart (tkt),
-                                      cname, &cnamelen);
+  rc = shishi_encticketpart_client (handle, shishi_tkt_encticketpart (tkt),
+                                   &client, NULL);
   if (rc != SHISHI_OK)
     return 0;
 
@@ -161,12 +159,12 @@
       switch (handle->authorizationtypes[i])
        {
        case SHISHI_AUTHORIZATION_BASIC:
-         if (shishi_authorize_strcmp (handle, cname, authzname))
+         if (shishi_authorize_strcmp (handle, client, authzname))
            return 1;
          break;
 
        case SHISHI_AUTHORIZATION_K5LOGIN:
-         if (shishi_authorize_k5login (handle, cname, authzname))
+         if (shishi_authorize_k5login (handle, client, authzname))
            return 1;
          break;
        }





reply via email to

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