summaryrefslogtreecommitdiffstats
path: root/src/slave
diff options
context:
space:
mode:
authorJohn Carr <jfc@mit.edu>1992-08-21 03:29:21 +0000
committerJohn Carr <jfc@mit.edu>1992-08-21 03:29:21 +0000
commit25660ba3ae371bb1d2bd7fe89351dfe206f5a406 (patch)
treebdf48f2bb812fb253b43a55f2b2b29d3f3231b7c /src/slave
parent1a6dd7e4eb7cebf997d6b910e3d66985c4b0de66 (diff)
downloadkrb5-25660ba3ae371bb1d2bd7fe89351dfe206f5a406.tar.gz
krb5-25660ba3ae371bb1d2bd7fe89351dfe206f5a406.tar.xz
krb5-25660ba3ae371bb1d2bd7fe89351dfe206f5a406.zip
Principal type changes
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@2367 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/slave')
-rw-r--r--src/slave/kpropd.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/slave/kpropd.c b/src/slave/kpropd.c
index 31ec869b5..b878d56e0 100644
--- a/src/slave/kpropd.c
+++ b/src/slave/kpropd.c
@@ -558,6 +558,7 @@ authorized_principal(p)
static char *localrealm = NULL;
char *default_realm;
krb5_error_code retval;
+ krb5_data *tmpdata;
if (!localrealm) {
if (realm)
@@ -574,14 +575,16 @@ authorized_principal(p)
/*
* The other side must be coming from the local realm!
*/
- if (!p[0] || (p[0]->length != strlen(localrealm))
- || memcmp(p[0]->data, localrealm, p[0]->length))
+ tmpdata = krb5_princ_realm(p);
+ if (tmpdata->length != strlen(localrealm)
+ || memcmp(tmpdata->data, localrealm, tmpdata->length))
return(FALSE);
/*
* The client's service must be KPROP_SERVICE_NAME
*/
- if (!p[1] || (p[1]->length != strlen(KPROP_SERVICE_NAME))
- || memcmp(p[1]->data, KPROP_SERVICE_NAME, p[1]->length))
+ tmpdata = krb5_princ_component(p, 0);
+ if (!tmpdata || (tmpdata->length != strlen(KPROP_SERVICE_NAME))
+ || memcmp(tmpdata->data, KPROP_SERVICE_NAME, tmpdata->length))
return(FALSE);
/*
* For now, it can come from any hostname. We this needs to