[4708] in Kerberos

home help back first fref pref prev next nref lref last post

Re: Kerberos getpwnam() equivalent...

daemon@ATHENA.MIT.EDU (Daniel G. Pouzzner)
Wed Mar 1 20:00:16 1995

Date: Wed, 1 Mar 1995 19:47:17 -0500
From: "Daniel G. Pouzzner" <douzzer@prez.brain.ai.mit.edu>
To: kerberos@MIT.EDU


easy:

#include <stdio.h>
#include <krb.h>
int is_krb_user(username)
char *username;
{
  char realm[REALM_SZ];
  int kerrno;
  if (krb_get_lrealm(realm,1) != KSUCCESS)
    return(0);
  if ((kerrno = krb_get_pw_in_tkt (username, "", realm, "krbtgt", realm, 1, "")) == INTK_BADPW)
    return(1);
  else if (kerrno == KDC_PR_UNKNOWN)
    return(0);
  else {
    fprintf(stderr,"kerberos error: %s\n",
	    ((kerrno >= 0) && (kerrno < KRB_MAX_ERRORS)) ?
	    krb_err_txt[kerrno] :
	    "unknown error");
    return(0);
  }
}

in other words, you have to actually request a ticket from the server,
and then throw it out (not a big deal).

-douzzer

home help back first fref pref prev next nref lref last post