rc_base.c revision 7c478bd95313f5f23a4c958a745db2134aa03244
/*
* Copyright 2004 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
#pragma ident "%Z%%M% %I% %E% SMI"
/*
*
* This file of the Kerberos V5 software is derived from public-domain code
* contributed by Daniel J. Bernstein, <brnstnd@acf10.nyu.edu>.
*/
/*
* Base "glue" functions for the replay cache.
*/
#ifdef SEMAPHORE
#include <semaphore.h>
#endif
#include "rc_base.h"
#include "rc_common.h"
#include "rc_mem.h"
#include "rc_file.h"
struct krb5_rc_typelist
{
struct krb5_rc_typelist *next;
};
static struct krb5_rc_typelist krb5_rc_typelist_dfl =
{ &krb5_rc_file_ops, &rc_mem_type };
#ifdef SEMAPHORE
#endif
/*ARGSUSED*/
{
struct krb5_rc_typelist *t;
#ifdef SEMAPHORE
down(&ex_typelist);
#endif
;
#ifdef SEMAPHORE
up(&ex_typelist);
#endif
if (t)
return KRB5_RC_TYPE_EXISTS;
return KRB5_RC_MALLOC;
#ifdef SEMAPHORE
down(&ex_typelist);
#endif
typehead = t;
#ifdef SEMAPHORE
up(&ex_typelist);
#endif
return 0;
}
/*ARGSUSED*/
{
}
/*ARGSUSED*/
char * krb5_rc_default_name(context)
{
char *s;
if ((s = getenv("KRB5RCNAME")))
return s;
else
return (char *) 0;
}
{
struct krb5_rc_typelist *tlist;
int pfxlen;
if (!cp)
if (krb5_rc_dfl_ops) {
} else
return (KRB5_RC_BADNAME);
if (!pfx)
return (ENOMEM);
}
}
return (KRB5_RC_TYPE_NOTFOUND);
}
{
return KRB5_RC_MALLOC;
if (retval)
return retval;
}
char *string_name;
{
char *type;
char *residual;
return KRB5_RC_PARSE;
return KRB5_RC_MALLOC;
return KRB5_RC_MALLOC;
}
if (retval)
return retval;
}