diff options
author | Ken Raeburn <raeburn@mit.edu> | 2006-03-11 22:23:28 +0000 |
---|---|---|
committer | Ken Raeburn <raeburn@mit.edu> | 2006-03-11 22:23:28 +0000 |
commit | cee79e98488ba138d1ebadb7488df7da54be627b (patch) | |
tree | fd329cef103b8a0f5bddccc360f15cb6ca8c9d41 /src/include/adm.h | |
parent | 6b3217ad6ab98d4365f32d45948717e212684678 (diff) | |
download | krb5-cee79e98488ba138d1ebadb7488df7da54be627b.tar.gz krb5-cee79e98488ba138d1ebadb7488df7da54be627b.tar.xz krb5-cee79e98488ba138d1ebadb7488df7da54be627b.zip |
Instead of arbitrary division of headers into include and include/krb5, with
include directives sometimes using krb5/foo.h and sometimes using foo.h, and
-I options always given for both directories in both source and build trees,
push include/krb5/* up a level and drop the krb5 directory (except, for the
moment, the change log).
Updated #include directives, -I options, and dependencies accordingly, and
deleted one or two bits of old, unused code that was noticed in the process.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@17730 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/include/adm.h')
-rw-r--r-- | src/include/adm.h | 217 |
1 files changed, 217 insertions, 0 deletions
diff --git a/src/include/adm.h b/src/include/adm.h new file mode 100644 index 000000000..86798a830 --- /dev/null +++ b/src/include/adm.h @@ -0,0 +1,217 @@ +/* + * include/krb5/adm.h + * + * Copyright 1995,2001 by the Massachusetts Institute of Technology. + * All Rights Reserved. + * + * Export of this software from the United States of America may + * require a specific license from the United States Government. + * It is the responsibility of any person or organization contemplating + * export to obtain such a license before exporting. + * + * WITHIN THAT CONSTRAINT, permission to use, copy, modify, and + * distribute this software and its documentation for any purpose and + * without fee is hereby granted, provided that the above copyright + * notice appear in all copies and that both that copyright notice and + * this permission notice appear in supporting documentation, and that + * the name of M.I.T. not be used in advertising or publicity pertaining + * to distribution of the software without specific, written prior + * permission. Furthermore if you modify this software you must label + * your software as modified software and not distribute it in such a + * fashion that it might be confused with the original M.I.T. software. + * M.I.T. makes no representations about the suitability of + * this software for any purpose. It is provided "as is" without express + * or implied warranty. + * + */ +#ifndef KRB5_ADM_H__ +#define KRB5_ADM_H__ + +/* + * Kerberos V5 Change Password service name + */ +#define KRB5_ADM_SERVICE_NAME "kpasswd" +#define KRB5_ADM_DEFAULT_PORT 464 + +#define KRB5_ADM_SERVICE_INSTANCE "changepw" + +/* + * Maximum password length. + */ +#define KRB5_ADM_MAX_PASSWORD_LEN 512 + +/* + * Protocol command strings. + */ +#define KRB5_ADM_QUIT_CMD "QUIT" +#define KRB5_ADM_CHECKPW_CMD "CHECKPW" +#define KRB5_ADM_CHANGEPW_CMD "CHANGEPW" +#define KRB5_ADM_MOTD_CMD "MOTD" +#define KRB5_ADM_MIME_CMD "MIME" +#define KRB5_ADM_LANGUAGE_CMD "LANGUAGE" + +#define KRB5_ADM_ADD_PRINC_CMD "ADD-PRINCIPAL" +#define KRB5_ADM_DEL_PRINC_CMD "DELETE-PRINCIPAL" +#define KRB5_ADM_REN_PRINC_CMD "RENAME-PRINCIPAL" +#define KRB5_ADM_MOD_PRINC_CMD "MODIFY-PRINCIPAL" +#define KRB5_ADM_INQ_PRINC_CMD "INQUIRE-PRINCIPAL" +#define KRB5_ADM_EXT_KEY_CMD "EXTRACT-KEY" + +/* + * Protocol command strings for the current version of the admin + * server. (Chris had removed them in the version he was working + * with.) + * + * XXX I'm adding them back so the tree works. We need to take care + * of this eventually. + */ +#define KRB5_ADM_CHG_OPW_CMD "OTHER-CHANGEPW" +#define KRB5_ADM_CHG_ORPW_CMD "OTHER-RANDOM-CHANGEPW" +#define KRB5_ADM_ADD_KEY_CMD "ADD-KEY" +#define KRB5_ADM_DEL_KEY_CMD "DELETE-KEY" + +/* + * Reply status values. + */ +#define KRB5_ADM_SUCCESS 0 +#define KRB5_ADM_CMD_UNKNOWN 1 +#define KRB5_ADM_PW_UNACCEPT 2 +#define KRB5_ADM_BAD_PW 3 +#define KRB5_ADM_NOT_IN_TKT 4 +#define KRB5_ADM_CANT_CHANGE 5 +#define KRB5_ADM_LANG_NOT_SUPPORTED 6 + +#define KRB5_ADM_P_ALREADY_EXISTS 64 +#define KRB5_ADM_P_DOES_NOT_EXIST 65 +#define KRB5_ADM_NOT_AUTHORIZED 66 +#define KRB5_ADM_BAD_OPTION 67 +#define KRB5_ADM_VALUE_REQUIRED 68 +#define KRB5_ADM_SYSTEM_ERROR 69 +#define KRB5_ADM_KEY_DOES_NOT_EXIST 70 +#define KRB5_ADM_KEY_ALREADY_EXISTS 71 + +/* + * Principal flag keywords. + */ +/* Settable only */ +#define KRB5_ADM_KW_PASSWORD "PASSWORD" +#define KRB5_ADM_KW_APASSWORD "APASSWORD" +#define KRB5_ADM_KW_RANDOMKEY "RANDOMKEY" +#define KRB5_ADM_KW_ARANDOMKEY "ARANDOMKEY" +#define KRB5_ADM_KW_SETFLAGS "SETFLAGS" +#define KRB5_ADM_KW_UNSETFLAGS "UNSETFLAGS" +/* Settable and retrievable */ +#define KRB5_ADM_KW_MAXLIFE "MAXLIFE" +#define KRB5_ADM_KW_MAXRENEWLIFE "MAXRENEWLIFE" +#define KRB5_ADM_KW_EXPIRATION "EXPIRATION" +#define KRB5_ADM_KW_PWEXPIRATION "PWEXPIRATION" +#define KRB5_ADM_KW_FLAGS "FLAGS" +#define KRB5_ADM_KW_AUXDATA "AUXDATA" +#define KRB5_ADM_KW_EXTRADATA "EXTRADATA" +/* Retrievable only */ +#define KRB5_ADM_KW_LASTPWCHANGE "LASTPWCHANGE" +#define KRB5_ADM_KW_LASTSUCCESS "LASTSUCCESS" +#define KRB5_ADM_KW_LASTFAILED "LASTFAILED" +#define KRB5_ADM_KW_FAILCOUNT "FAILCOUNT" +#define KRB5_ADM_KW_KEYDATA "KEYDATA" + +/* Valid mask */ +#define KRB5_ADM_M_PASSWORD 0x00000001 +#define KRB5_ADM_M_MAXLIFE 0x00000002 +#define KRB5_ADM_M_MAXRENEWLIFE 0x00000004 +#define KRB5_ADM_M_EXPIRATION 0x00000008 +#define KRB5_ADM_M_PWEXPIRATION 0x00000010 +#define KRB5_ADM_M_RANDOMKEY 0x00000020 +#define KRB5_ADM_M_FLAGS 0x00000040 +#define KRB5_ADM_M_LASTPWCHANGE 0x00000080 +#define KRB5_ADM_M_LASTSUCCESS 0x00000100 +#define KRB5_ADM_M_LASTFAILED 0x00000200 +#define KRB5_ADM_M_FAILCOUNT 0x00000400 +#define KRB5_ADM_M_AUXDATA 0x00000800 +#define KRB5_ADM_M_KEYDATA 0x00001000 +#define KRB5_ADM_M_APASSWORD 0x00002000 +#define KRB5_ADM_M_ARANDOMKEY 0x00004000 +#define KRB5_ADM_M_UNUSED_15 0x00008000 +#define KRB5_ADM_M_UNUSED_16 0x00010000 +#define KRB5_ADM_M_UNUSED_17 0x00020000 +#define KRB5_ADM_M_UNUSED_18 0x00040000 +#define KRB5_ADM_M_UNUSED_19 0x00080000 +#define KRB5_ADM_M_UNUSED_20 0x00100000 +#define KRB5_ADM_M_UNUSED_21 0x00200000 +#define KRB5_ADM_M_UNUSED_22 0x00400000 +#define KRB5_ADM_M_UNUSED_23 0x00800000 +#define KRB5_ADM_M_UNUSED_24 0x01000000 +#define KRB5_ADM_M_UNUSED_25 0x02000000 +#define KRB5_ADM_M_UNUSED_26 0x04000000 +#define KRB5_ADM_M_UNUSED_27 0x08000000 +#define KRB5_ADM_M_UNUSED_28 0x10000000 +#define KRB5_ADM_M_UNUSED_29 0x20000000 +#define KRB5_ADM_M_GET 0x40000000 +#define KRB5_ADM_M_SET 0x80000000 + +#define KRB5_ADM_M_EXTRADATA 0x00000000 /* Hack to get */ + /* libkadm to compile */ + +#define KRB5_ADM_M_SET_VALID (KRB5_ADM_M_SET + \ + KRB5_ADM_M_PASSWORD + \ + KRB5_ADM_M_APASSWORD + \ + KRB5_ADM_M_MAXLIFE + \ + KRB5_ADM_M_MAXRENEWLIFE+ \ + KRB5_ADM_M_EXPIRATION + \ + KRB5_ADM_M_PWEXPIRATION+ \ + KRB5_ADM_M_RANDOMKEY + \ + KRB5_ADM_M_ARANDOMKEY + \ + KRB5_ADM_M_FLAGS + \ + KRB5_ADM_M_AUXDATA) +#define KRB5_ADM_M_GET_VALID (KRB5_ADM_M_GET + \ + KRB5_ADM_M_MAXLIFE + \ + KRB5_ADM_M_MAXRENEWLIFE+ \ + KRB5_ADM_M_EXPIRATION + \ + KRB5_ADM_M_PWEXPIRATION+ \ + KRB5_ADM_M_FLAGS + \ + KRB5_ADM_M_LASTPWCHANGE+ \ + KRB5_ADM_M_LASTSUCCESS + \ + KRB5_ADM_M_LASTFAILED + \ + KRB5_ADM_M_FAILCOUNT + \ + KRB5_ADM_M_AUXDATA + \ + KRB5_ADM_M_KEYDATA) + +/* + * Keytab reply components. + */ +#define KRB5_ADM_KT_PRINCIPAL 0 +#define KRB5_ADM_KT_TIMESTAMP 1 +#define KRB5_ADM_KT_VNO 2 +#define KRB5_ADM_KT_KEY_ENCTYPE 3 +#define KRB5_ADM_KT_KEY_KEY 4 +#define KRB5_ADM_KT_NCOMPS 5 + +/* + * Data structure returned by krb5_read_realm_params() + */ +typedef struct __krb5_realm_params { + char * realm_profile; + char * realm_dbname; + char * realm_mkey_name; + char * realm_stash_file; + char * realm_kdc_ports; + char * realm_kdc_tcp_ports; + char * realm_acl_file; + krb5_int32 realm_kadmind_port; + krb5_enctype realm_enctype; + krb5_deltat realm_max_life; + krb5_deltat realm_max_rlife; + krb5_timestamp realm_expiration; + krb5_flags realm_flags; + krb5_key_salt_tuple *realm_keysalts; + unsigned int realm_reject_bad_transit:1; + unsigned int realm_kadmind_port_valid:1; + unsigned int realm_enctype_valid:1; + unsigned int realm_max_life_valid:1; + unsigned int realm_max_rlife_valid:1; + unsigned int realm_expiration_valid:1; + unsigned int realm_flags_valid:1; + unsigned int realm_reject_bad_transit_valid:1; + krb5_int32 realm_num_keysalts; +} krb5_realm_params; +#endif /* KRB5_ADM_H__ */ |