Edit File by line
/home/barbar84/public_h.../wp-conte.../plugins/sujqvwi/ExeBy/smexe_ro.../usr/include/krb5
File: krb5.h
/* This file is generated, please don't edit it directly. */
[0] Fix | Delete
#ifndef KRB5_KRB5_H_INCLUDED
[1] Fix | Delete
#define KRB5_KRB5_H_INCLUDED
[2] Fix | Delete
/* -*- mode: c; c-basic-offset: 4; indent-tabs-mode: nil -*- */
[3] Fix | Delete
/* General definitions for Kerberos version 5. */
[4] Fix | Delete
/*
[5] Fix | Delete
* Copyright 1989, 1990, 1995, 2001, 2003, 2007, 2011 by the Massachusetts
[6] Fix | Delete
* Institute of Technology. All Rights Reserved.
[7] Fix | Delete
*
[8] Fix | Delete
* Export of this software from the United States of America may
[9] Fix | Delete
* require a specific license from the United States Government.
[10] Fix | Delete
* It is the responsibility of any person or organization contemplating
[11] Fix | Delete
* export to obtain such a license before exporting.
[12] Fix | Delete
*
[13] Fix | Delete
* WITHIN THAT CONSTRAINT, permission to use, copy, modify, and
[14] Fix | Delete
* distribute this software and its documentation for any purpose and
[15] Fix | Delete
* without fee is hereby granted, provided that the above copyright
[16] Fix | Delete
* notice appear in all copies and that both that copyright notice and
[17] Fix | Delete
* this permission notice appear in supporting documentation, and that
[18] Fix | Delete
* the name of M.I.T. not be used in advertising or publicity pertaining
[19] Fix | Delete
* to distribution of the software without specific, written prior
[20] Fix | Delete
* permission. Furthermore if you modify this software you must label
[21] Fix | Delete
* your software as modified software and not distribute it in such a
[22] Fix | Delete
* fashion that it might be confused with the original M.I.T. software.
[23] Fix | Delete
* M.I.T. makes no representations about the suitability of
[24] Fix | Delete
* this software for any purpose. It is provided "as is" without express
[25] Fix | Delete
* or implied warranty.
[26] Fix | Delete
*/
[27] Fix | Delete
/*
[28] Fix | Delete
* Copyright (C) 1998 by the FundsXpress, INC.
[29] Fix | Delete
*
[30] Fix | Delete
* All rights reserved.
[31] Fix | Delete
*
[32] Fix | Delete
* Export of this software from the United States of America may require
[33] Fix | Delete
* a specific license from the United States Government. It is the
[34] Fix | Delete
* responsibility of any person or organization contemplating export to
[35] Fix | Delete
* obtain such a license before exporting.
[36] Fix | Delete
*
[37] Fix | Delete
* WITHIN THAT CONSTRAINT, permission to use, copy, modify, and
[38] Fix | Delete
* distribute this software and its documentation for any purpose and
[39] Fix | Delete
* without fee is hereby granted, provided that the above copyright
[40] Fix | Delete
* notice appear in all copies and that both that copyright notice and
[41] Fix | Delete
* this permission notice appear in supporting documentation, and that
[42] Fix | Delete
* the name of FundsXpress. not be used in advertising or publicity pertaining
[43] Fix | Delete
* to distribution of the software without specific, written prior
[44] Fix | Delete
* permission. FundsXpress makes no representations about the suitability of
[45] Fix | Delete
* this software for any purpose. It is provided "as is" without express
[46] Fix | Delete
* or implied warranty.
[47] Fix | Delete
*
[48] Fix | Delete
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
[49] Fix | Delete
* IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
[50] Fix | Delete
* WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
[51] Fix | Delete
*/
[52] Fix | Delete
[53] Fix | Delete
#ifndef KRB5_GENERAL__
[54] Fix | Delete
#define KRB5_GENERAL__
[55] Fix | Delete
[56] Fix | Delete
/** @defgroup KRB5_H krb5 library API
[57] Fix | Delete
* @{
[58] Fix | Delete
*/
[59] Fix | Delete
[60] Fix | Delete
/* By default, do not expose deprecated interfaces. */
[61] Fix | Delete
#ifndef KRB5_DEPRECATED
[62] Fix | Delete
#define KRB5_DEPRECATED 0
[63] Fix | Delete
#endif
[64] Fix | Delete
[65] Fix | Delete
#if defined(__MACH__) && defined(__APPLE__)
[66] Fix | Delete
# include <TargetConditionals.h>
[67] Fix | Delete
# if TARGET_RT_MAC_CFM
[68] Fix | Delete
# error "Use KfM 4.0 SDK headers for CFM compilation."
[69] Fix | Delete
# endif
[70] Fix | Delete
#endif
[71] Fix | Delete
[72] Fix | Delete
#if defined(_MSDOS) || defined(_WIN32)
[73] Fix | Delete
#include <win-mac.h>
[74] Fix | Delete
#endif
[75] Fix | Delete
[76] Fix | Delete
#ifndef KRB5_CONFIG__
[77] Fix | Delete
#ifndef KRB5_CALLCONV
[78] Fix | Delete
#define KRB5_CALLCONV
[79] Fix | Delete
#define KRB5_CALLCONV_C
[80] Fix | Delete
#endif /* !KRB5_CALLCONV */
[81] Fix | Delete
#endif /* !KRB5_CONFIG__ */
[82] Fix | Delete
[83] Fix | Delete
#ifndef KRB5_CALLCONV_WRONG
[84] Fix | Delete
#define KRB5_CALLCONV_WRONG
[85] Fix | Delete
#endif
[86] Fix | Delete
[87] Fix | Delete
#ifndef THREEPARAMOPEN
[88] Fix | Delete
#define THREEPARAMOPEN(x,y,z) open(x,y,z)
[89] Fix | Delete
#endif
[90] Fix | Delete
[91] Fix | Delete
#if KRB5_PRIVATE
[92] Fix | Delete
#ifndef WRITABLEFOPEN
[93] Fix | Delete
#define WRITABLEFOPEN(x,y) fopen(x,y)
[94] Fix | Delete
#endif
[95] Fix | Delete
#endif
[96] Fix | Delete
[97] Fix | Delete
#define KRB5_OLD_CRYPTO
[98] Fix | Delete
[99] Fix | Delete
#include <stdlib.h>
[100] Fix | Delete
#include <limits.h> /* for *_MAX */
[101] Fix | Delete
#include <stdarg.h>
[102] Fix | Delete
#include <stdint.h>
[103] Fix | Delete
[104] Fix | Delete
#ifndef KRB5INT_BEGIN_DECLS
[105] Fix | Delete
#if defined(__cplusplus)
[106] Fix | Delete
#define KRB5INT_BEGIN_DECLS extern "C" {
[107] Fix | Delete
#define KRB5INT_END_DECLS }
[108] Fix | Delete
#else
[109] Fix | Delete
#define KRB5INT_BEGIN_DECLS
[110] Fix | Delete
#define KRB5INT_END_DECLS
[111] Fix | Delete
#endif
[112] Fix | Delete
#endif
[113] Fix | Delete
[114] Fix | Delete
KRB5INT_BEGIN_DECLS
[115] Fix | Delete
[116] Fix | Delete
#if defined(TARGET_OS_MAC) && TARGET_OS_MAC
[117] Fix | Delete
# pragma pack(push,2)
[118] Fix | Delete
#endif
[119] Fix | Delete
[120] Fix | Delete
#if (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) >= 30203
[121] Fix | Delete
# define KRB5_ATTR_DEPRECATED __attribute__((deprecated))
[122] Fix | Delete
#elif defined _WIN32
[123] Fix | Delete
# define KRB5_ATTR_DEPRECATED __declspec(deprecated)
[124] Fix | Delete
#else
[125] Fix | Delete
# define KRB5_ATTR_DEPRECATED
[126] Fix | Delete
#endif
[127] Fix | Delete
[128] Fix | Delete
/* from profile.h */
[129] Fix | Delete
struct _profile_t;
[130] Fix | Delete
/* typedef struct _profile_t *profile_t; */
[131] Fix | Delete
[132] Fix | Delete
/*
[133] Fix | Delete
* begin wordsize.h
[134] Fix | Delete
*/
[135] Fix | Delete
[136] Fix | Delete
/*
[137] Fix | Delete
* Word-size related definition.
[138] Fix | Delete
*/
[139] Fix | Delete
[140] Fix | Delete
typedef uint8_t krb5_octet;
[141] Fix | Delete
typedef int16_t krb5_int16;
[142] Fix | Delete
typedef uint16_t krb5_ui_2;
[143] Fix | Delete
typedef int32_t krb5_int32;
[144] Fix | Delete
typedef uint32_t krb5_ui_4;
[145] Fix | Delete
[146] Fix | Delete
#define VALID_INT_BITS INT_MAX
[147] Fix | Delete
#define VALID_UINT_BITS UINT_MAX
[148] Fix | Delete
[149] Fix | Delete
#define KRB5_INT32_MAX 2147483647
[150] Fix | Delete
/* this strange form is necessary since - is a unary operator, not a sign
[151] Fix | Delete
indicator */
[152] Fix | Delete
#define KRB5_INT32_MIN (-KRB5_INT32_MAX-1)
[153] Fix | Delete
[154] Fix | Delete
#define KRB5_INT16_MAX 65535
[155] Fix | Delete
/* this strange form is necessary since - is a unary operator, not a sign
[156] Fix | Delete
indicator */
[157] Fix | Delete
#define KRB5_INT16_MIN (-KRB5_INT16_MAX-1)
[158] Fix | Delete
[159] Fix | Delete
/*
[160] Fix | Delete
* end wordsize.h
[161] Fix | Delete
*/
[162] Fix | Delete
[163] Fix | Delete
/*
[164] Fix | Delete
* begin "base-defs.h"
[165] Fix | Delete
*/
[166] Fix | Delete
[167] Fix | Delete
/*
[168] Fix | Delete
* Basic definitions for Kerberos V5 library
[169] Fix | Delete
*/
[170] Fix | Delete
[171] Fix | Delete
#ifndef FALSE
[172] Fix | Delete
#define FALSE 0
[173] Fix | Delete
#endif
[174] Fix | Delete
#ifndef TRUE
[175] Fix | Delete
#define TRUE 1
[176] Fix | Delete
#endif
[177] Fix | Delete
[178] Fix | Delete
typedef unsigned int krb5_boolean;
[179] Fix | Delete
typedef unsigned int krb5_msgtype;
[180] Fix | Delete
typedef unsigned int krb5_kvno;
[181] Fix | Delete
[182] Fix | Delete
typedef krb5_int32 krb5_addrtype;
[183] Fix | Delete
typedef krb5_int32 krb5_enctype;
[184] Fix | Delete
typedef krb5_int32 krb5_cksumtype;
[185] Fix | Delete
typedef krb5_int32 krb5_authdatatype;
[186] Fix | Delete
typedef krb5_int32 krb5_keyusage;
[187] Fix | Delete
typedef krb5_int32 krb5_cryptotype;
[188] Fix | Delete
[189] Fix | Delete
typedef krb5_int32 krb5_preauthtype; /* This may change, later on */
[190] Fix | Delete
typedef krb5_int32 krb5_flags;
[191] Fix | Delete
[192] Fix | Delete
/**
[193] Fix | Delete
* Represents a timestamp in seconds since the POSIX epoch. This legacy type
[194] Fix | Delete
* is used frequently in the ABI, but cannot represent timestamps after 2038 as
[195] Fix | Delete
* a positive number. Code which uses this type should cast values of it to
[196] Fix | Delete
* uint32_t so that negative values are treated as timestamps between 2038 and
[197] Fix | Delete
* 2106 on platforms with 64-bit time_t.
[198] Fix | Delete
*/
[199] Fix | Delete
typedef krb5_int32 krb5_timestamp;
[200] Fix | Delete
[201] Fix | Delete
typedef krb5_int32 krb5_deltat;
[202] Fix | Delete
[203] Fix | Delete
/**
[204] Fix | Delete
* Used to convey an operation status. The value 0 indicates success; any
[205] Fix | Delete
* other values are com_err codes. Use krb5_get_error_message() to obtain a
[206] Fix | Delete
* string describing the error.
[207] Fix | Delete
*/
[208] Fix | Delete
typedef krb5_int32 krb5_error_code;
[209] Fix | Delete
[210] Fix | Delete
typedef krb5_error_code krb5_magic;
[211] Fix | Delete
[212] Fix | Delete
typedef struct _krb5_data {
[213] Fix | Delete
krb5_magic magic;
[214] Fix | Delete
unsigned int length;
[215] Fix | Delete
char *data;
[216] Fix | Delete
} krb5_data;
[217] Fix | Delete
[218] Fix | Delete
/* Originally introduced for PKINIT; now unused. Do not use this. */
[219] Fix | Delete
typedef struct _krb5_octet_data {
[220] Fix | Delete
krb5_magic magic;
[221] Fix | Delete
unsigned int length;
[222] Fix | Delete
krb5_octet *data;
[223] Fix | Delete
} krb5_octet_data;
[224] Fix | Delete
[225] Fix | Delete
/* Originally used to recognize AFS and default salts. No longer used. */
[226] Fix | Delete
#define SALT_TYPE_AFS_LENGTH UINT_MAX
[227] Fix | Delete
#define SALT_TYPE_NO_LENGTH UINT_MAX
[228] Fix | Delete
[229] Fix | Delete
typedef void * krb5_pointer;
[230] Fix | Delete
typedef void const * krb5_const_pointer;
[231] Fix | Delete
[232] Fix | Delete
typedef struct krb5_principal_data {
[233] Fix | Delete
krb5_magic magic;
[234] Fix | Delete
krb5_data realm;
[235] Fix | Delete
krb5_data *data; /**< An array of strings */
[236] Fix | Delete
krb5_int32 length;
[237] Fix | Delete
krb5_int32 type;
[238] Fix | Delete
} krb5_principal_data;
[239] Fix | Delete
[240] Fix | Delete
typedef krb5_principal_data * krb5_principal;
[241] Fix | Delete
[242] Fix | Delete
/*
[243] Fix | Delete
* Per V5 spec on definition of principal types
[244] Fix | Delete
*/
[245] Fix | Delete
[246] Fix | Delete
#define KRB5_NT_UNKNOWN 0 /**< Name type not known */
[247] Fix | Delete
#define KRB5_NT_PRINCIPAL 1 /**< Just the name of the principal
[248] Fix | Delete
as in DCE, or for users */
[249] Fix | Delete
#define KRB5_NT_SRV_INST 2 /**< Service and other unique instance (krbtgt) */
[250] Fix | Delete
#define KRB5_NT_SRV_HST 3 /**< Service with host name as instance
[251] Fix | Delete
(telnet, rcommands) */
[252] Fix | Delete
#define KRB5_NT_SRV_XHST 4 /**< Service with host as remaining components */
[253] Fix | Delete
#define KRB5_NT_UID 5 /**< Unique ID */
[254] Fix | Delete
#define KRB5_NT_X500_PRINCIPAL 6 /**< PKINIT */
[255] Fix | Delete
#define KRB5_NT_SMTP_NAME 7 /**< Name in form of SMTP email name */
[256] Fix | Delete
#define KRB5_NT_ENTERPRISE_PRINCIPAL 10 /**< Windows 2000 UPN */
[257] Fix | Delete
#define KRB5_NT_WELLKNOWN 11 /**< Well-known (special) principal */
[258] Fix | Delete
#define KRB5_WELLKNOWN_NAMESTR "WELLKNOWN" /**< First component of
[259] Fix | Delete
NT_WELLKNOWN principals */
[260] Fix | Delete
#define KRB5_NT_MS_PRINCIPAL -128 /**< Windows 2000 UPN and SID */
[261] Fix | Delete
#define KRB5_NT_MS_PRINCIPAL_AND_ID -129 /**< NT 4 style name */
[262] Fix | Delete
#define KRB5_NT_ENT_PRINCIPAL_AND_ID -130 /**< NT 4 style name and SID */
[263] Fix | Delete
[264] Fix | Delete
/** Constant version of krb5_principal_data */
[265] Fix | Delete
typedef const krb5_principal_data *krb5_const_principal;
[266] Fix | Delete
[267] Fix | Delete
#define krb5_princ_realm(context, princ) (&(princ)->realm)
[268] Fix | Delete
#define krb5_princ_set_realm(context, princ,value) ((princ)->realm = *(value))
[269] Fix | Delete
#define krb5_princ_set_realm_length(context, princ,value) (princ)->realm.length = (value)
[270] Fix | Delete
#define krb5_princ_set_realm_data(context, princ,value) (princ)->realm.data = (value)
[271] Fix | Delete
#define krb5_princ_size(context, princ) (princ)->length
[272] Fix | Delete
#define krb5_princ_type(context, princ) (princ)->type
[273] Fix | Delete
#define krb5_princ_name(context, princ) (princ)->data
[274] Fix | Delete
#define krb5_princ_component(context, princ,i) \
[275] Fix | Delete
(((i) < krb5_princ_size(context, princ)) \
[276] Fix | Delete
? (princ)->data + (i) \
[277] Fix | Delete
: NULL)
[278] Fix | Delete
[279] Fix | Delete
/** Constant for realm referrals. */
[280] Fix | Delete
#define KRB5_REFERRAL_REALM ""
[281] Fix | Delete
[282] Fix | Delete
/*
[283] Fix | Delete
* Referral-specific functions.
[284] Fix | Delete
*/
[285] Fix | Delete
[286] Fix | Delete
/**
[287] Fix | Delete
* Check for a match with KRB5_REFERRAL_REALM.
[288] Fix | Delete
*
[289] Fix | Delete
* @param [in] r Realm to check
[290] Fix | Delete
*
[291] Fix | Delete
* @return @c TRUE if @a r is zero-length, @c FALSE otherwise
[292] Fix | Delete
*/
[293] Fix | Delete
krb5_boolean KRB5_CALLCONV
[294] Fix | Delete
krb5_is_referral_realm(const krb5_data *r);
[295] Fix | Delete
[296] Fix | Delete
/**
[297] Fix | Delete
* Return an anonymous realm data.
[298] Fix | Delete
*
[299] Fix | Delete
* This function returns constant storage that must not be freed.
[300] Fix | Delete
*
[301] Fix | Delete
* @sa #KRB5_ANONYMOUS_REALMSTR
[302] Fix | Delete
*/
[303] Fix | Delete
const krb5_data *KRB5_CALLCONV
[304] Fix | Delete
krb5_anonymous_realm(void);
[305] Fix | Delete
[306] Fix | Delete
/**
[307] Fix | Delete
* Build an anonymous principal.
[308] Fix | Delete
*
[309] Fix | Delete
* This function returns constant storage that must not be freed.
[310] Fix | Delete
*
[311] Fix | Delete
* @sa #KRB5_ANONYMOUS_PRINCSTR
[312] Fix | Delete
*/
[313] Fix | Delete
krb5_const_principal KRB5_CALLCONV
[314] Fix | Delete
krb5_anonymous_principal(void);
[315] Fix | Delete
[316] Fix | Delete
#define KRB5_ANONYMOUS_REALMSTR "WELLKNOWN:ANONYMOUS" /**< Anonymous realm */
[317] Fix | Delete
#define KRB5_ANONYMOUS_PRINCSTR "ANONYMOUS" /**< Anonymous principal name */
[318] Fix | Delete
/*
[319] Fix | Delete
* end "base-defs.h"
[320] Fix | Delete
*/
[321] Fix | Delete
[322] Fix | Delete
/*
[323] Fix | Delete
* begin "hostaddr.h"
[324] Fix | Delete
*/
[325] Fix | Delete
[326] Fix | Delete
/** Structure for address */
[327] Fix | Delete
typedef struct _krb5_address {
[328] Fix | Delete
krb5_magic magic;
[329] Fix | Delete
krb5_addrtype addrtype;
[330] Fix | Delete
unsigned int length;
[331] Fix | Delete
krb5_octet *contents;
[332] Fix | Delete
} krb5_address;
[333] Fix | Delete
[334] Fix | Delete
/* per Kerberos v5 protocol spec */
[335] Fix | Delete
#define ADDRTYPE_INET 0x0002
[336] Fix | Delete
#define ADDRTYPE_CHAOS 0x0005
[337] Fix | Delete
#define ADDRTYPE_XNS 0x0006
[338] Fix | Delete
#define ADDRTYPE_ISO 0x0007
[339] Fix | Delete
#define ADDRTYPE_DDP 0x0010
[340] Fix | Delete
#define ADDRTYPE_NETBIOS 0x0014
[341] Fix | Delete
#define ADDRTYPE_INET6 0x0018
[342] Fix | Delete
/* not yet in the spec... */
[343] Fix | Delete
#define ADDRTYPE_ADDRPORT 0x0100
[344] Fix | Delete
#define ADDRTYPE_IPPORT 0x0101
[345] Fix | Delete
[346] Fix | Delete
/* macros to determine if a type is a local type */
[347] Fix | Delete
#define ADDRTYPE_IS_LOCAL(addrtype) (addrtype & 0x8000)
[348] Fix | Delete
[349] Fix | Delete
/*
[350] Fix | Delete
* end "hostaddr.h"
[351] Fix | Delete
*/
[352] Fix | Delete
[353] Fix | Delete
[354] Fix | Delete
struct _krb5_context;
[355] Fix | Delete
typedef struct _krb5_context * krb5_context;
[356] Fix | Delete
[357] Fix | Delete
struct _krb5_auth_context;
[358] Fix | Delete
typedef struct _krb5_auth_context * krb5_auth_context;
[359] Fix | Delete
[360] Fix | Delete
struct _krb5_cryptosystem_entry;
[361] Fix | Delete
[362] Fix | Delete
/*
[363] Fix | Delete
* begin "encryption.h"
[364] Fix | Delete
*/
[365] Fix | Delete
[366] Fix | Delete
/** Exposed contents of a key. */
[367] Fix | Delete
typedef struct _krb5_keyblock {
[368] Fix | Delete
krb5_magic magic;
[369] Fix | Delete
krb5_enctype enctype;
[370] Fix | Delete
unsigned int length;
[371] Fix | Delete
krb5_octet *contents;
[372] Fix | Delete
} krb5_keyblock;
[373] Fix | Delete
[374] Fix | Delete
struct krb5_key_st;
[375] Fix | Delete
/**
[376] Fix | Delete
* Opaque identifier for a key.
[377] Fix | Delete
*
[378] Fix | Delete
* Use with the krb5_k APIs for better performance for repeated operations with
[379] Fix | Delete
* the same key and usage. Key identifiers must not be used simultaneously
[380] Fix | Delete
* within multiple threads, as they may contain mutable internal state and are
[381] Fix | Delete
* not mutex-protected.
[382] Fix | Delete
*/
[383] Fix | Delete
typedef struct krb5_key_st *krb5_key;
[384] Fix | Delete
[385] Fix | Delete
#ifdef KRB5_OLD_CRYPTO
[386] Fix | Delete
typedef struct _krb5_encrypt_block {
[387] Fix | Delete
krb5_magic magic;
[388] Fix | Delete
krb5_enctype crypto_entry; /* to call krb5_encrypt_size, you need
[389] Fix | Delete
this. it was a pointer, but it
[390] Fix | Delete
doesn't have to be. gross. */
[391] Fix | Delete
krb5_keyblock *key;
[392] Fix | Delete
} krb5_encrypt_block;
[393] Fix | Delete
#endif
[394] Fix | Delete
[395] Fix | Delete
typedef struct _krb5_checksum {
[396] Fix | Delete
krb5_magic magic;
[397] Fix | Delete
krb5_cksumtype checksum_type; /* checksum type */
[398] Fix | Delete
unsigned int length;
[399] Fix | Delete
krb5_octet *contents;
[400] Fix | Delete
} krb5_checksum;
[401] Fix | Delete
[402] Fix | Delete
typedef struct _krb5_enc_data {
[403] Fix | Delete
krb5_magic magic;
[404] Fix | Delete
krb5_enctype enctype;
[405] Fix | Delete
krb5_kvno kvno;
[406] Fix | Delete
krb5_data ciphertext;
[407] Fix | Delete
} krb5_enc_data;
[408] Fix | Delete
[409] Fix | Delete
/**
[410] Fix | Delete
* Structure to describe a region of text to be encrypted or decrypted.
[411] Fix | Delete
*
[412] Fix | Delete
* The @a flags member describes the type of the iov.
[413] Fix | Delete
* The @a data member points to the memory that will be manipulated.
[414] Fix | Delete
* All iov APIs take a pointer to the first element of an array of krb5_crypto_iov's
[415] Fix | Delete
* along with the size of that array. Buffer contents are manipulated in-place;
[416] Fix | Delete
* data is overwritten. Callers must allocate the right number of krb5_crypto_iov
[417] Fix | Delete
* structures before calling into an iov API.
[418] Fix | Delete
*/
[419] Fix | Delete
typedef struct _krb5_crypto_iov {
[420] Fix | Delete
krb5_cryptotype flags; /**< @ref KRB5_CRYPTO_TYPE type of the iov */
[421] Fix | Delete
krb5_data data;
[422] Fix | Delete
} krb5_crypto_iov;
[423] Fix | Delete
[424] Fix | Delete
/* per Kerberos v5 protocol spec */
[425] Fix | Delete
#define ENCTYPE_NULL 0x0000
[426] Fix | Delete
#define ENCTYPE_DES_CBC_CRC 0x0001 /**< @deprecated no longer supported */
[427] Fix | Delete
#define ENCTYPE_DES_CBC_MD4 0x0002 /**< @deprecated no longer supported */
[428] Fix | Delete
#define ENCTYPE_DES_CBC_MD5 0x0003 /**< @deprecated no longer supported */
[429] Fix | Delete
#define ENCTYPE_DES_CBC_RAW 0x0004 /**< @deprecated no longer supported */
[430] Fix | Delete
#define ENCTYPE_DES3_CBC_SHA 0x0005 /**< @deprecated no longer supported */
[431] Fix | Delete
#define ENCTYPE_DES3_CBC_RAW 0x0006 /**< @deprecated no longer supported */
[432] Fix | Delete
#define ENCTYPE_DES_HMAC_SHA1 0x0008 /**< @deprecated no longer supported */
[433] Fix | Delete
/* PKINIT */
[434] Fix | Delete
#define ENCTYPE_DSA_SHA1_CMS 0x0009 /**< DSA with SHA1, CMS signature */
[435] Fix | Delete
#define ENCTYPE_MD5_RSA_CMS 0x000a /**< MD5 with RSA, CMS signature */
[436] Fix | Delete
#define ENCTYPE_SHA1_RSA_CMS 0x000b /**< SHA1 with RSA, CMS signature */
[437] Fix | Delete
#define ENCTYPE_RC2_CBC_ENV 0x000c /**< RC2 cbc mode, CMS enveloped data */
[438] Fix | Delete
#define ENCTYPE_RSA_ENV 0x000d /**< RSA encryption, CMS enveloped data */
[439] Fix | Delete
#define ENCTYPE_RSA_ES_OAEP_ENV 0x000e /**< RSA w/OEAP encryption, CMS enveloped data */
[440] Fix | Delete
#define ENCTYPE_DES3_CBC_ENV 0x000f /**< @deprecated no longer supported */
[441] Fix | Delete
[442] Fix | Delete
#define ENCTYPE_DES3_CBC_SHA1 0x0010 /**< @deprecated removed */
[443] Fix | Delete
#define ENCTYPE_AES128_CTS_HMAC_SHA1_96 0x0011 /**< RFC 3962 */
[444] Fix | Delete
#define ENCTYPE_AES256_CTS_HMAC_SHA1_96 0x0012 /**< RFC 3962 */
[445] Fix | Delete
#define ENCTYPE_AES128_CTS_HMAC_SHA256_128 0x0013 /**< RFC 8009 */
[446] Fix | Delete
#define ENCTYPE_AES256_CTS_HMAC_SHA384_192 0x0014 /**< RFC 8009 */
[447] Fix | Delete
#define ENCTYPE_ARCFOUR_HMAC 0x0017 /**< RFC 4757 */
[448] Fix | Delete
#define ENCTYPE_ARCFOUR_HMAC_EXP 0x0018 /**< RFC 4757 */
[449] Fix | Delete
#define ENCTYPE_CAMELLIA128_CTS_CMAC 0x0019 /**< RFC 6803 */
[450] Fix | Delete
#define ENCTYPE_CAMELLIA256_CTS_CMAC 0x001a /**< RFC 6803 */
[451] Fix | Delete
#define ENCTYPE_UNKNOWN 0x01ff
[452] Fix | Delete
[453] Fix | Delete
/*
[454] Fix | Delete
* Historically we used the value 9 for unkeyed SHA-1. RFC 3961 assigns this
[455] Fix | Delete
* value to rsa-md5-des3, which fortunately is unused. For ABI compatibility
[456] Fix | Delete
* we allow either 9 or 14 for SHA-1.
[457] Fix | Delete
*/
[458] Fix | Delete
#define CKSUMTYPE_CRC32 0x0001
[459] Fix | Delete
#define CKSUMTYPE_RSA_MD4 0x0002
[460] Fix | Delete
#define CKSUMTYPE_RSA_MD4_DES 0x0003
[461] Fix | Delete
#define CKSUMTYPE_DESCBC 0x0004
[462] Fix | Delete
/* des-mac-k */
[463] Fix | Delete
/* rsa-md4-des-k */
[464] Fix | Delete
#define CKSUMTYPE_RSA_MD5 0x0007
[465] Fix | Delete
#define CKSUMTYPE_RSA_MD5_DES 0x0008
[466] Fix | Delete
#define CKSUMTYPE_NIST_SHA 0x0009
[467] Fix | Delete
#define CKSUMTYPE_HMAC_SHA1_DES3 0x000c /* @deprecated removed */
[468] Fix | Delete
#define CKSUMTYPE_SHA1 0x000d /**< RFC 3962 */
[469] Fix | Delete
#define CKSUMTYPE_HMAC_SHA1_96_AES128 0x000f /**< RFC 3962. Used with
[470] Fix | Delete
ENCTYPE_AES128_CTS_HMAC_SHA1_96 */
[471] Fix | Delete
#define CKSUMTYPE_HMAC_SHA1_96_AES256 0x0010 /**< RFC 3962. Used with
[472] Fix | Delete
ENCTYPE_AES256_CTS_HMAC_SHA1_96 */
[473] Fix | Delete
#define CKSUMTYPE_HMAC_SHA256_128_AES128 0x0013 /**< RFC 8009 */
[474] Fix | Delete
#define CKSUMTYPE_HMAC_SHA384_192_AES256 0x0014 /**< RFC 8009 */
[475] Fix | Delete
#define CKSUMTYPE_CMAC_CAMELLIA128 0x0011 /**< RFC 6803 */
[476] Fix | Delete
#define CKSUMTYPE_CMAC_CAMELLIA256 0x0012 /**< RFC 6803 */
[477] Fix | Delete
#define CKSUMTYPE_MD5_HMAC_ARCFOUR -137 /* Microsoft netlogon */
[478] Fix | Delete
#define CKSUMTYPE_HMAC_MD5_ARCFOUR -138 /**< RFC 4757 */
[479] Fix | Delete
[480] Fix | Delete
/*
[481] Fix | Delete
* The following are entropy source designations. Whenever
[482] Fix | Delete
* krb5_C_random_add_entropy is called, one of these source ids is passed in.
[483] Fix | Delete
* This allows the library to better estimate bits of entropy in the sample and
[484] Fix | Delete
* to keep track of what sources of entropy have contributed enough entropy.
[485] Fix | Delete
* Sources marked internal MUST NOT be used by applications outside the
[486] Fix | Delete
* Kerberos library
[487] Fix | Delete
*/
[488] Fix | Delete
[489] Fix | Delete
enum {
[490] Fix | Delete
KRB5_C_RANDSOURCE_OLDAPI = 0, /*calls to krb5_C_RANDOM_SEED (INTERNAL)*/
[491] Fix | Delete
KRB5_C_RANDSOURCE_OSRAND = 1, /* /dev/random or equivalent (internal)*/
[492] Fix | Delete
KRB5_C_RANDSOURCE_TRUSTEDPARTY = 2, /* From KDC or other trusted party*/
[493] Fix | Delete
/*
[494] Fix | Delete
* This source should be used carefully; data in this category
[495] Fix | Delete
* should be from a third party trusted to give random bits
[496] Fix | Delete
* For example keys issued by the KDC in the application server.
[497] Fix | Delete
*/
[498] Fix | Delete
KRB5_C_RANDSOURCE_TIMING = 3, /* Timing of operations*/
[499] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function