[Top][All Lists]
[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;
}
- CVS shishi/lib, (continued)
- CVS shishi/lib, shishi-commit, 2004/09/17
- CVS shishi/lib, shishi-commit, 2004/09/17
- CVS shishi/lib, shishi-commit, 2004/09/17
- CVS shishi/lib, shishi-commit, 2004/09/17
- CVS shishi/lib, shishi-commit, 2004/09/17
- CVS shishi/lib, shishi-commit, 2004/09/17
- CVS shishi/lib, shishi-commit, 2004/09/17
- CVS shishi/lib, shishi-commit, 2004/09/17
- CVS shishi/lib, shishi-commit, 2004/09/17
- CVS shishi/lib, shishi-commit, 2004/09/17
- CVS shishi/lib,
shishi-commit <=
- CVS shishi/lib, shishi-commit, 2004/09/17
- CVS shishi/lib, shishi-commit, 2004/09/17
- CVS shishi/lib, shishi-commit, 2004/09/17
- CVS shishi/lib, shishi-commit, 2004/09/17
- CVS shishi/lib, shishi-commit, 2004/09/17
- CVS shishi/lib, shishi-commit, 2004/09/17
- CVS shishi/lib, shishi-commit, 2004/09/17
- CVS shishi/lib, shishi-commit, 2004/09/17
- CVS shishi/lib, shishi-commit, 2004/09/17
- CVS shishi/lib, shishi-commit, 2004/09/17