summaryrefslogtreecommitdiffstats
path: root/src/lib/krb5/os
diff options
context:
space:
mode:
authorKeith Vetter <keithv@fusion.com>1995-03-22 22:35:49 +0000
committerKeith Vetter <keithv@fusion.com>1995-03-22 22:35:49 +0000
commitb92f61e5c47d5b4b2d8cd3e65f5dfdcc334624e6 (patch)
treee690599e0f1b48f4482a975676c1c6c84fdb2acb /src/lib/krb5/os
parent15ddec639305cfb75fdbc738814a5307ca815b4f (diff)
downloadkrb5-b92f61e5c47d5b4b2d8cd3e65f5dfdcc334624e6.tar.gz
krb5-b92f61e5c47d5b4b2d8cd3e65f5dfdcc334624e6.tar.xz
krb5-b92f61e5c47d5b4b2d8cd3e65f5dfdcc334624e6.zip
Added prototypes to ccache change notification
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@5198 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/lib/krb5/os')
-rw-r--r--src/lib/krb5/os/ChangeLog4
-rw-r--r--src/lib/krb5/os/an_to_ln.c31
-rw-r--r--src/lib/krb5/os/kuserok.c25
3 files changed, 52 insertions, 8 deletions
diff --git a/src/lib/krb5/os/ChangeLog b/src/lib/krb5/os/ChangeLog
index 3ac19f425..d6a791e5f 100644
--- a/src/lib/krb5/os/ChangeLog
+++ b/src/lib/krb5/os/ChangeLog
@@ -1,3 +1,7 @@
+Wed Mar 22 13:30:35 1995 Keith Vetter (keithv@fusion.com)
+
+ * an_to_ln.c, kuserok.c: last two os routines ported to the PC.
+
Fri Mar 17 19:56:39 1995 John Gilmore (gnu at toad.com)
* Makefile.in (LDFLAGS): Eliminate, duplicates config/pre.in.
diff --git a/src/lib/krb5/os/an_to_ln.c b/src/lib/krb5/os/an_to_ln.c
index da065b9dd..01e3d415c 100644
--- a/src/lib/krb5/os/an_to_ln.c
+++ b/src/lib/krb5/os/an_to_ln.c
@@ -25,11 +25,16 @@
*/
#include "k5-int.h"
-#ifndef _MSDOS /* Not yet for Windows */
+
#ifndef min
#define min(a,b) ((a) > (b) ? (b) : (a))
#endif /* min */
+int krb5_lname_username_fallback = 1;
+extern char *krb5_lname_file;
+
+#ifndef _MSDOS
+
static krb5_error_code dbm_an_to_ln();
static krb5_error_code username_an_to_ln();
@@ -45,10 +50,6 @@ static krb5_error_code username_an_to_ln();
returns system errors, NOT_ENOUGH_SPACE
*/
-int krb5_lname_username_fallback = 1;
-
-extern char *krb5_lname_file;
-
krb5_error_code
krb5_aname_to_localname(context, aname, lnsize, lname)
krb5_context context;
@@ -115,6 +116,7 @@ dbm_an_to_ln(context, aname, lnsize, lname)
(void) dbm_close(db);
return retval;
}
+#endif /* _MSDOS */
/*
* Implementation: This version checks the realm to see if it is the local
@@ -137,7 +139,7 @@ username_an_to_ln(context, aname, lnsize, lname)
if (retval = krb5_get_default_realm(context, &def_realm)) {
return(retval);
}
- if ((realm_length != strlen(def_realm)) ||
+ if (((size_t) realm_length != strlen(def_realm)) ||
(memcmp(def_realm, krb5_princ_realm(context, aname)->data, realm_length))) {
free(def_realm);
return KRB5_LNAME_NOTRANS;
@@ -168,4 +170,19 @@ username_an_to_ln(context, aname, lnsize, lname)
}
return retval;
}
-#endif
+
+#ifdef _MSDOS
+
+krb5_error_code INTERFACE
+krb5_aname_to_localname(context, aname, lnsize, lname)
+ krb5_context context;
+ krb5_const_principal aname;
+ const int lnsize;
+ char *lname;
+{
+ if (krb5_lname_username_fallback)
+ return username_an_to_ln(context, aname, lnsize, lname);
+ return KRB5_LNAME_CANTOPEN;
+}
+
+#endif /* _MSDOS */
diff --git a/src/lib/krb5/os/kuserok.c b/src/lib/krb5/os/kuserok.c
index cefb3ce9a..5a25e53a0 100644
--- a/src/lib/krb5/os/kuserok.c
+++ b/src/lib/krb5/os/kuserok.c
@@ -136,4 +136,27 @@ krb5_kuserok(context, principal, luser)
fclose(fp);
return(isok);
}
-#endif
+
+#else /* _MSDOS */
+
+/*
+ * If the given Kerberos name "server" translates to the same name as "luser"
+ * (using * krb5_aname_to_lname()), returns TRUE.
+ */
+krb5_boolean INTERFACE
+krb5_kuserok(context, principal, luser)
+ krb5_context context;
+ krb5_principal principal;
+ const char *luser;
+{
+ char kuser[50];
+
+ if (! krb5_aname_to_localname(context, principal, sizeof(kuser), kuser))
+ return FALSE;
+
+ if (strcmp(kuser, luser) == 0)
+ return TRUE;
+
+ return FALSE;
+}
+#endif /* _MSDOS */