diff options
Diffstat (limited to 'lib/ntlm/heimntlm-protos.h')
-rw-r--r-- | lib/ntlm/heimntlm-protos.h | 459 |
1 files changed, 0 insertions, 459 deletions
diff --git a/lib/ntlm/heimntlm-protos.h b/lib/ntlm/heimntlm-protos.h deleted file mode 100644 index b44dbc312527..000000000000 --- a/lib/ntlm/heimntlm-protos.h +++ /dev/null @@ -1,459 +0,0 @@ -/* This is a generated file */ -#ifndef __heimntlm_protos_h__ -#define __heimntlm_protos_h__ -#ifndef DOXY - -#include <stdarg.h> - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * Generates an NTLMv1 session random with assosited session master key. - * - * @param key the ntlm v1 key - * @param len length of key - * @param session generated session nonce, should be freed with heim_ntlm_free_buf(). - * @param master calculated session master key, should be freed with heim_ntlm_free_buf(). - * - * @return In case of success 0 is return, an errors, a errno in what - * went wrong. - * - * @ingroup ntlm_core - */ - -int -heim_ntlm_build_ntlm1_master ( - void */*key*/, - size_t /*len*/, - struct ntlm_buf */*session*/, - struct ntlm_buf */*master*/); - -/** - * Generates an NTLMv2 session random with associated session master key. - * - * @param key the NTLMv2 key - * @param len length of key - * @param blob the NTLMv2 "blob" - * @param session generated session nonce, should be freed with heim_ntlm_free_buf(). - * @param master calculated session master key, should be freed with heim_ntlm_free_buf(). - * - * @return In case of success 0 is return, an errors, a errno in what - * went wrong. - * - * @ingroup ntlm_core - */ - -int -heim_ntlm_build_ntlm2_master ( - void */*key*/, - size_t /*len*/, - struct ntlm_buf */*blob*/, - struct ntlm_buf */*session*/, - struct ntlm_buf */*master*/); - -/** - * Calculate LMv2 response - * - * @param key the ntlm key - * @param len length of key - * @param username name of the user, as sent in the message, assumed to be in UTF8. - * @param target the name of the target, assumed to be in UTF8. - * @param serverchallenge challenge as sent by the server in the type2 message. - * @param ntlmv2 calculated session key - * @param answer ntlm response answer, should be freed with heim_ntlm_free_buf(). - * - * @return In case of success 0 is return, an errors, a errno in what - * went wrong. - * - * @ingroup ntlm_core - */ - -int -heim_ntlm_calculate_lm2 ( - const void */*key*/, - size_t /*len*/, - const char */*username*/, - const char */*target*/, - const unsigned char serverchallenge[8], - unsigned char ntlmv2[16], - struct ntlm_buf */*answer*/); - -/** - * Calculate NTLMv1 response hash - * - * @param key the ntlm v1 key - * @param len length of key - * @param challenge sent by the server - * @param answer calculated answer, should be freed with heim_ntlm_free_buf(). - * - * @return In case of success 0 is return, an errors, a errno in what - * went wrong. - * - * @ingroup ntlm_core - */ - -int -heim_ntlm_calculate_ntlm1 ( - void */*key*/, - size_t /*len*/, - unsigned char challenge[8], - struct ntlm_buf */*answer*/); - -/** - * Calculate NTLMv2 response - * - * @param key the ntlm key - * @param len length of key - * @param username name of the user, as sent in the message, assumed to be in UTF8. - * @param target the name of the target, assumed to be in UTF8. - * @param serverchallenge challenge as sent by the server in the type2 message. - * @param infotarget infotarget as sent by the server in the type2 message. - * @param ntlmv2 calculated session key - * @param answer ntlm response answer, should be freed with heim_ntlm_free_buf(). - * - * @return In case of success 0 is return, an errors, a errno in what - * went wrong. - * - * @ingroup ntlm_core - */ - -int -heim_ntlm_calculate_ntlm2 ( - const void */*key*/, - size_t /*len*/, - const char */*username*/, - const char */*target*/, - const unsigned char serverchallenge[8], - const struct ntlm_buf */*infotarget*/, - unsigned char ntlmv2[16], - struct ntlm_buf */*answer*/); - -/** - * Third check with empty domain. - */ - -int -heim_ntlm_calculate_ntlm2_sess ( - const unsigned char clnt_nonce[8], - const unsigned char svr_chal[8], - const unsigned char ntlm_hash[16], - struct ntlm_buf */*lm*/, - struct ntlm_buf */*ntlm*/); - -int -heim_ntlm_calculate_ntlm2_sess_hash ( - const unsigned char clnt_nonce[8], - const unsigned char svr_chal[8], - unsigned char verifier[8]); - -/** - * Decodes an NTLM targetinfo message - * - * @param data input data buffer with the encode NTLM targetinfo message - * @param ucs2 if the strings should be encoded with ucs2 (selected by flag in message). - * @param ti the decoded target info, should be freed with heim_ntlm_free_targetinfo(). - * - * @return In case of success 0 is return, an errors, a errno in what - * went wrong. - * - * @ingroup ntlm_core - */ - -int -heim_ntlm_decode_targetinfo ( - const struct ntlm_buf */*data*/, - int /*ucs2*/, - struct ntlm_targetinfo */*ti*/); - -int -heim_ntlm_decode_type1 ( - const struct ntlm_buf */*buf*/, - struct ntlm_type1 */*data*/); - -int -heim_ntlm_decode_type2 ( - const struct ntlm_buf */*buf*/, - struct ntlm_type2 */*type2*/); - -int -heim_ntlm_decode_type3 ( - const struct ntlm_buf */*buf*/, - int /*ucs2*/, - struct ntlm_type3 */*type3*/); - -void -heim_ntlm_derive_ntlm2_sess ( - const unsigned char sessionkey[16], - const unsigned char */*clnt_nonce*/, - size_t /*clnt_nonce_length*/, - const unsigned char svr_chal[8], - unsigned char derivedkey[16]); - -/** - * Encodes a ntlm_targetinfo message. - * - * @param ti the ntlm_targetinfo message to encode. - * @param ucs2 ignored - * @param data is the return buffer with the encoded message, should be - * freed with heim_ntlm_free_buf(). - * - * @return In case of success 0 is return, an errors, a errno in what - * went wrong. - * - * @ingroup ntlm_core - */ - -int -heim_ntlm_encode_targetinfo ( - const struct ntlm_targetinfo */*ti*/, - int /*ucs2*/, - struct ntlm_buf */*data*/); - -/** - * Encodes an ntlm_type1 message. - * - * @param type1 the ntlm_type1 message to encode. - * @param data is the return buffer with the encoded message, should be - * freed with heim_ntlm_free_buf(). - * - * @return In case of success 0 is return, an errors, a errno in what - * went wrong. - * - * @ingroup ntlm_core - */ - -int -heim_ntlm_encode_type1 ( - const struct ntlm_type1 */*type1*/, - struct ntlm_buf */*data*/); - -/** - * Encodes an ntlm_type2 message. - * - * @param type2 the ntlm_type2 message to encode. - * @param data is the return buffer with the encoded message, should be - * freed with heim_ntlm_free_buf(). - * - * @return In case of success 0 is return, an errors, a errno in what - * went wrong. - * - * @ingroup ntlm_core - */ - -int -heim_ntlm_encode_type2 ( - const struct ntlm_type2 */*type2*/, - struct ntlm_buf */*data*/); - -/** - * Encodes an ntlm_type3 message. - * - * @param type3 the ntlm_type3 message to encode. - * @param data is the return buffer with the encoded message, should be - * @param[out] mic_offset offset of message integrity code - * freed with heim_ntlm_free_buf(). - * - * @return In case of success 0 is return, an errors, a errno in what - * went wrong. - * - * @ingroup ntlm_core - */ - -int -heim_ntlm_encode_type3 ( - const struct ntlm_type3 */*type3*/, - struct ntlm_buf */*data*/, - size_t */*mic_offset*/); - -/** - * heim_ntlm_free_buf frees the ntlm buffer - * - * @param p buffer to be freed - * - * @ingroup ntlm_core - */ - -void -heim_ntlm_free_buf (struct ntlm_buf */*p*/); - -/** - * Frees the ntlm_targetinfo message - * - * @param ti targetinfo to be freed - * - * @ingroup ntlm_core - */ - -void -heim_ntlm_free_targetinfo (struct ntlm_targetinfo */*ti*/); - -/** - * Frees the ntlm_type1 message - * - * @param data message to be freed - * - * @ingroup ntlm_core - */ - -void -heim_ntlm_free_type1 (struct ntlm_type1 */*data*/); - -/** - * Frees the ntlm_type2 message - * - * @param data message to be freed - * - * @ingroup ntlm_core - */ - -void -heim_ntlm_free_type2 (struct ntlm_type2 */*data*/); - -/** - * Frees the ntlm_type3 message - * - * @param data message to be freed - * - * @ingroup ntlm_core - */ - -void -heim_ntlm_free_type3 (struct ntlm_type3 */*data*/); - -/** - * Given a key and encrypted session, unwrap the session key - * - * @param baseKey the sessionBaseKey - * @param encryptedSession encrypted session, type3.session field. - * @param session generated session nonce, should be freed with heim_ntlm_free_buf(). - * - * @return In case of success 0 is return, an errors, a errno in what - * went wrong. - * - * @ingroup ntlm_core - */ - -int -heim_ntlm_keyex_unwrap ( - struct ntlm_buf */*baseKey*/, - struct ntlm_buf */*encryptedSession*/, - struct ntlm_buf */*session*/); - -int -heim_ntlm_keyex_wrap ( - struct ntlm_buf */*base_session*/, - struct ntlm_buf */*session*/, - struct ntlm_buf */*encryptedSession*/); - -/** - * Calculate the NTLM key, the password is assumed to be in UTF8. - * - * @param password password to calcute the key for. - * @param key calcuted key, should be freed with heim_ntlm_free_buf(). - * - * @return In case of success 0 is return, an errors, a errno in what - * went wrong. - * - * @ingroup ntlm_core - */ - -int -heim_ntlm_nt_key ( - const char */*password*/, - struct ntlm_buf */*key*/); - -/** - * Generates an NTLMv2 session key. - * - * @param key the ntlm key - * @param len length of key - * @param username name of the user, as sent in the message, assumed to be in UTF8. - * @param target the name of the target, assumed to be in UTF8. - * @param upper_case_target upper case the target, should not be used only for legacy systems - * @param ntlmv2 the ntlmv2 session key - * - * @return 0 on success, or an error code on failure. - * - * @ingroup ntlm_core - */ - -int -heim_ntlm_ntlmv2_key ( - const void */*key*/, - size_t /*len*/, - const char */*username*/, - const char */*target*/, - int /*upper_case_target*/, - unsigned char ntlmv2[16]); - -time_t -heim_ntlm_ts2unixtime (uint64_t /*t*/); - -uint64_t -heim_ntlm_unix2ts_time (time_t /*unix_time*/); - -/** - @defgroup ntlm_core Heimdal NTLM library * - * The NTLM core functions implement the string2key generation - * function, message encode and decode function, and the hash function - * functions. - */ - -size_t -heim_ntlm_unparse_flags ( - uint32_t /*flags*/, - char */*s*/, - size_t /*len*/); - -int -heim_ntlm_v1_base_session ( - void */*key*/, - size_t /*len*/, - struct ntlm_buf */*session*/); - -int -heim_ntlm_v2_base_session ( - void */*key*/, - size_t /*len*/, - struct ntlm_buf */*ntlmResponse*/, - struct ntlm_buf */*session*/); - -/** - * Verify NTLMv2 response. - * - * @param key the ntlm key - * @param len length of key - * @param username name of the user, as sent in the message, assumed to be in UTF8. - * @param target the name of the target, assumed to be in UTF8. - * @param now the time now (0 if the library should pick it up itself) - * @param serverchallenge challenge as sent by the server in the type2 message. - * @param answer ntlm response answer, should be freed with heim_ntlm_free_buf(). - * @param infotarget infotarget as sent by the server in the type2 message. - * @param ntlmv2 calculated session key - * - * @return In case of success 0 is return, an errors, a errno in what - * went wrong. - * - * @ingroup ntlm_core - */ - -int -heim_ntlm_verify_ntlm2 ( - const void */*key*/, - size_t /*len*/, - const char */*username*/, - const char */*target*/, - time_t /*now*/, - const unsigned char serverchallenge[8], - const struct ntlm_buf */*answer*/, - struct ntlm_buf */*infotarget*/, - unsigned char ntlmv2[16]); - -#ifdef __cplusplus -} -#endif - -#endif /* DOXY */ -#endif /* __heimntlm_protos_h__ */ |