⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 kadm.h

📁 早期freebsd实现
💻 H
字号:
/* * $Source: /usr/src/kerberosIV/include/RCS/kadm.h,v $ * $Author: kfall $ * $Header: /usr/src/kerberosIV/include/RCS/kadm.h,v 4.3 90/06/25 20:49:12 kfall Exp $ * * Copyright 1988 by the Massachusetts Institute of Technology. * * For copying and distribution information, please see the file * <mit-copyright.h>. * * Definitions for Kerberos administration server & client */#ifndef KADM_DEFS#define KADM_DEFS#ifdef	ATHENA#include <mit-copyright.h>#endif/* * kadm.h * Header file for the fourth attempt at an admin server * Doug Church, December 28, 1989, MIT Project Athena *//* for those broken Unixes without this defined... should be in sys/param.h */#ifndef MAXHOSTNAMELEN#define MAXHOSTNAMELEN 64#endif#include <sys/types.h>#include <netinet/in.h>#ifdef	ATHENA#include <krb.h>#include <des.h>#endif/* The global structures for the client and server */typedef struct {  struct sockaddr_in admin_addr;  struct sockaddr_in my_addr;  int my_addr_len;  int admin_fd;			/* file descriptor for link to admin server */  char sname[ANAME_SZ];		/* the service name */  char sinst[INST_SZ];		/* the services instance */  char krbrlm[REALM_SZ];} Kadm_Client;typedef struct {		/* status of the server, i.e the parameters */   int inter;			/* Space for command line flags */   char *sysfile;		/* filename of server */} admin_params;			/* Well... it's the admin's parameters *//* Largest password length to be supported */#define MAX_KPW_LEN	128/* Largest packet the admin server will ever allow itself to return */#define KADM_RET_MAX 2048/* That's right, versions are 8 byte strings */#define KADM_VERSTR	"KADM0.0A"#define KADM_ULOSE	"KYOULOSE"	/* sent back when server can't					   decrypt client's msg */#define KADM_VERSIZE strlen(KADM_VERSTR)/* the lookups for the server instances */#define PWSERV_NAME  "changepw"#define KADM_SNAME   "kerberos_master"#define KADM_SINST   "kerberos"/* Attributes fields constants and macros */#define ALLOC        2#define RESERVED     3#define DEALLOC      4#define DEACTIVATED  5#define ACTIVE       6/* Kadm_vals structure for passing db fields into the server routines */#define FLDSZ        4typedef struct {    u_char         fields[FLDSZ];     /* The active fields in this struct */    char           name[ANAME_SZ];    char           instance[INST_SZ];    unsigned long  key_low;    unsigned long  key_high;    unsigned long  exp_date;    unsigned short attributes;    unsigned char  max_life;} Kadm_vals;                    /* The basic values structure in Kadm *//* Kadm_vals structure for passing db fields into the server routines */#define FLDSZ        4/* Need to define fields types here */#define KADM_NAME       31#define KADM_INST       30#define KADM_EXPDATE    29#define KADM_ATTR       28#define KADM_MAXLIFE    27#define KADM_DESKEY     26/* To set a field entry f in a fields structure d */#define SET_FIELD(f,d)  (d[3-(f/8)]|=(1<<(f%8)))/* To set a field entry f in a fields structure d */#define CLEAR_FIELD(f,d)  (d[3-(f/8)]&=(~(1<<(f%8))))/* Is field f in fields structure d */#define IS_FIELD(f,d)   (d[3-(f/8)]&(1<<(f%8)))/* Various return codes */#define KADM_SUCCESS    0#define WILDCARD_STR "*"enum acl_types {ADDACL,GETACL,MODACL};/* Various opcodes for the admin server's functions */#define CHANGE_PW    2#define ADD_ENT      3#define MOD_ENT      4#define GET_ENT      5extern long kdb_get_master_key();	/* XXX should be in krb_db.h */extern long kdb_verify_master_key();	/* XXX ditto */extern long krb_mk_priv(), krb_rd_priv(); /* XXX should be in krb.h */extern void krb_set_tkt_string();	/* XXX ditto */extern unsigned long quad_cksum();	/* XXX should be in des.h *//* XXX This doesn't belong here!!! */char *malloc(), *realloc();#ifdef POSIXtypedef void sigtype;#elsetypedef int sigtype;#endif#endif KADM_DEFS

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -