📄 krb_cache.c
字号:
/* * $Source: /usr/src/kerberosIV/kdb/RCS/krb_cache.c,v $ * $Author: jon $ * * Copyright 1988 by the Massachusetts Institute of Technology. * * For copying and distribution information, please see the file * <mit-copyright.h>. * * This is where a cache would be implemented, if it were necessary. */#ifndef lintstatic char rcsid_krb_cache_c[] ="$Header: /usr/src/kerberosIV/kdb/RCS/krb_cache.c,v 4.5 1989/01/24 18:12:34 jon Exp $";#endif lint#include <mit-copyright.h>#include <stdio.h>#include <sys/types.h>#include <netinet/in.h>#include <sys/uio.h>#include <sys/time.h>#include <sys/resource.h>#include <strings.h>#include <des.h>#include <krb.h>#include <krb_db.h>extern char *strncpy();#ifdef DEBUGextern int debug;extern long kerb_debug;#endifstatic init = 0;/* * initialization routine for cache */intkerb_cache_init(){ init = 1; return (0);}/* * look up a principal in the cache returns number of principals found */intkerb_cache_get_principal(serv, inst, principal, max) char *serv; /* could have wild card */ char *inst; /* could have wild card */ Principal *principal; unsigned int max; /* max number of name structs to return */{ int found = 0; u_long i; if (!init) kerb_cache_init();#ifdef DEBUG if (kerb_debug & 2) fprintf(stderr, "cache_get_principal for %s %s max = %d\n", serv, inst, max);#endif DEBUG #ifdef DEBUG if (kerb_debug & 2) { if (found) { fprintf(stderr, "cache get %s %s found %s %s sid = %d\n", serv, inst, principal->name, principal->instance); } else { fprintf(stderr, "cache %s %s not found\n", serv, inst); } }#endif return (found);}/* * insert/replace a principal in the cache returns number of principals * inserted */intkerb_cache_put_principal(principal, max) Principal *principal; unsigned int max; /* max number of principal structs to * insert */{ int found = 0; u_long i; int count = 0; if (!init) kerb_cache_init();#ifdef DEBUG if (kerb_debug & 2) { fprintf(stderr, "kerb_cache_put_principal max = %d", max); }#endif for (i = 0; i < max; i++) {#ifdef DEBUG if (kerb_debug & 2) fprintf(stderr, "\n %s %s", principal->name, principal->instance);#endif /* DO IT */ count++; principal++; } return count;}/* * look up a dba in the cache returns number of dbas found */intkerb_cache_get_dba(serv, inst, dba, max) char *serv; /* could have wild card */ char *inst; /* could have wild card */ Dba *dba; unsigned int max; /* max number of name structs to return */{ int found = 0; u_long i; if (!init) kerb_cache_init();#ifdef DEBUG if (kerb_debug & 2) fprintf(stderr, "cache_get_dba for %s %s max = %d\n", serv, inst, max);#endif#ifdef DEBUG if (kerb_debug & 2) { if (found) { fprintf(stderr, "cache get %s %s found %s %s sid = %d\n", serv, inst, dba->name, dba->instance); } else { fprintf(stderr, "cache %s %s not found\n", serv, inst); } }#endif return (found);}/* * insert/replace a dba in the cache returns number of dbas inserted */intkerb_cache_put_dba(dba, max) Dba *dba; unsigned int max; /* max number of dba structs to insert */{ int found = 0; u_long i; int count = 0; if (!init) kerb_cache_init();#ifdef DEBUG if (kerb_debug & 2) { fprintf(stderr, "kerb_cache_put_dba max = %d", max); }#endif for (i = 0; i < max; i++) {#ifdef DEBUG if (kerb_debug & 2) fprintf(stderr, "\n %s %s", dba->name, dba->instance);#endif /* DO IT */ count++; dba++; } return count;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -