|
Packit |
fd8b60 |
#ifndef _LEASHDLL_H_
|
|
Packit |
fd8b60 |
#define _LEASHDLL_H_
|
|
Packit |
fd8b60 |
|
|
Packit |
fd8b60 |
#include <com_err.h>
|
|
Packit |
fd8b60 |
#ifdef __cplusplus
|
|
Packit |
fd8b60 |
extern "C" {
|
|
Packit |
fd8b60 |
#endif
|
|
Packit |
fd8b60 |
|
|
Packit |
fd8b60 |
/* Internal Stuff */
|
|
Packit |
fd8b60 |
|
|
Packit |
fd8b60 |
#include <windows.h>
|
|
Packit |
fd8b60 |
#define SECURITY_WIN32
|
|
Packit |
fd8b60 |
#include <security.h>
|
|
Packit |
fd8b60 |
|
|
Packit |
fd8b60 |
/* _WIN32_WINNT must be 0x0501 or greater to pull in definition of
|
|
Packit |
fd8b60 |
* all required LSA data types when the Vista SDK NtSecAPI.h is used.
|
|
Packit |
fd8b60 |
*/
|
|
Packit |
fd8b60 |
#ifndef _WIN32_WINNT
|
|
Packit |
fd8b60 |
#define _WIN32_WINNT 0x0501
|
|
Packit |
fd8b60 |
#else
|
|
Packit |
fd8b60 |
#if _WIN32_WINNT < 0x0501
|
|
Packit |
fd8b60 |
#undef _WIN32_WINNT
|
|
Packit |
fd8b60 |
#define _WIN32_WINNT 0x0501
|
|
Packit |
fd8b60 |
#endif
|
|
Packit |
fd8b60 |
#endif
|
|
Packit |
fd8b60 |
#include <ntsecapi.h>
|
|
Packit |
fd8b60 |
|
|
Packit |
fd8b60 |
#include <krb5.h>
|
|
Packit |
fd8b60 |
|
|
Packit |
fd8b60 |
extern HINSTANCE hKrb5;
|
|
Packit |
fd8b60 |
extern HINSTANCE hProfile;
|
|
Packit |
fd8b60 |
|
|
Packit |
fd8b60 |
#define TIMEHOST "TIMEHOST"
|
|
Packit |
fd8b60 |
|
|
Packit |
fd8b60 |
#define LEASH_DEBUG_CLASS_GENERIC 0
|
|
Packit |
fd8b60 |
|
|
Packit |
fd8b60 |
#define LEASH_PRIORITY_LOW 0
|
|
Packit |
fd8b60 |
#define LEASH_PRIORITY_HIGH 1
|
|
Packit |
fd8b60 |
|
|
Packit |
fd8b60 |
///////////////////////////////////////////////////////////////////////////////
|
|
Packit |
fd8b60 |
|
|
Packit |
fd8b60 |
#ifdef _WIN64
|
|
Packit |
fd8b60 |
#define LEASH_DLL "leashw64.dll"
|
|
Packit |
fd8b60 |
#define KRBCC32_DLL "krbcc64.dll"
|
|
Packit |
fd8b60 |
#else
|
|
Packit |
fd8b60 |
#define LEASH_DLL "leashw32.dll"
|
|
Packit |
fd8b60 |
#define KRBCC32_DLL "krbcc32.dll"
|
|
Packit |
fd8b60 |
#endif
|
|
Packit |
fd8b60 |
#define SERVICE_DLL "advapi32.dll"
|
|
Packit |
fd8b60 |
#define SECUR32_DLL "secur32.dll"
|
|
Packit |
fd8b60 |
|
|
Packit |
fd8b60 |
//////////////////////////////////////////////////////////////////////////////
|
|
Packit |
fd8b60 |
|
|
Packit |
fd8b60 |
#include <loadfuncs-com_err.h>
|
|
Packit |
fd8b60 |
#include <loadfuncs-krb5.h>
|
|
Packit |
fd8b60 |
#include <loadfuncs-profile.h>
|
|
Packit |
fd8b60 |
#include <loadfuncs-lsa.h>
|
|
Packit |
fd8b60 |
|
|
Packit |
fd8b60 |
#include <errno.h>
|
|
Packit |
fd8b60 |
|
|
Packit |
fd8b60 |
// service definitions
|
|
Packit |
fd8b60 |
typedef SC_HANDLE (WINAPI *FP_OpenSCManagerA)(char *, char *, DWORD);
|
|
Packit |
fd8b60 |
typedef SC_HANDLE (WINAPI *FP_OpenServiceA)(SC_HANDLE, char *, DWORD);
|
|
Packit |
fd8b60 |
typedef BOOL (WINAPI *FP_QueryServiceStatus)(SC_HANDLE, LPSERVICE_STATUS);
|
|
Packit |
fd8b60 |
typedef BOOL (WINAPI *FP_CloseServiceHandle)(SC_HANDLE);
|
|
Packit |
fd8b60 |
|
|
Packit |
fd8b60 |
//////////////////////////////////////////////////////////////////////////////
|
|
Packit |
fd8b60 |
|
|
Packit |
fd8b60 |
// krb5 functions
|
|
Packit |
fd8b60 |
extern DECL_FUNC_PTR(krb5_change_password);
|
|
Packit |
fd8b60 |
extern DECL_FUNC_PTR(krb5_get_init_creds_opt_alloc);
|
|
Packit |
fd8b60 |
extern DECL_FUNC_PTR(krb5_get_init_creds_opt_free);
|
|
Packit |
fd8b60 |
extern DECL_FUNC_PTR(krb5_get_init_creds_opt_init);
|
|
Packit |
fd8b60 |
extern DECL_FUNC_PTR(krb5_get_init_creds_opt_set_tkt_life);
|
|
Packit |
fd8b60 |
extern DECL_FUNC_PTR(krb5_get_init_creds_opt_set_renew_life);
|
|
Packit |
fd8b60 |
extern DECL_FUNC_PTR(krb5_get_init_creds_opt_set_forwardable);
|
|
Packit |
fd8b60 |
extern DECL_FUNC_PTR(krb5_get_init_creds_opt_set_proxiable);
|
|
Packit |
fd8b60 |
extern DECL_FUNC_PTR(krb5_get_init_creds_opt_set_renew_life);
|
|
Packit |
fd8b60 |
extern DECL_FUNC_PTR(krb5_get_init_creds_opt_set_address_list);
|
|
Packit |
fd8b60 |
extern DECL_FUNC_PTR(krb5_get_init_creds_opt_set_out_ccache);
|
|
Packit |
fd8b60 |
extern DECL_FUNC_PTR(krb5_get_init_creds_password);
|
|
Packit |
fd8b60 |
extern DECL_FUNC_PTR(krb5_build_principal_ext);
|
|
Packit |
fd8b60 |
extern DECL_FUNC_PTR(krb5_cc_get_name);
|
|
Packit |
fd8b60 |
extern DECL_FUNC_PTR(krb5_cc_resolve);
|
|
Packit |
fd8b60 |
extern DECL_FUNC_PTR(krb5_cc_default);
|
|
Packit |
fd8b60 |
extern DECL_FUNC_PTR(krb5_cc_default_name);
|
|
Packit |
fd8b60 |
extern DECL_FUNC_PTR(krb5_cc_set_default_name);
|
|
Packit |
fd8b60 |
extern DECL_FUNC_PTR(krb5_cc_initialize);
|
|
Packit |
fd8b60 |
extern DECL_FUNC_PTR(krb5_cc_destroy);
|
|
Packit |
fd8b60 |
extern DECL_FUNC_PTR(krb5_cc_close);
|
|
Packit |
fd8b60 |
extern DECL_FUNC_PTR(krb5_cc_copy_creds);
|
|
Packit |
fd8b60 |
extern DECL_FUNC_PTR(krb5_cc_store_cred);
|
|
Packit |
fd8b60 |
// extern DECL_FUNC_PTR(krb5_cc_retrieve_cred);
|
|
Packit |
fd8b60 |
extern DECL_FUNC_PTR(krb5_cc_get_principal);
|
|
Packit |
fd8b60 |
extern DECL_FUNC_PTR(krb5_cc_start_seq_get);
|
|
Packit |
fd8b60 |
extern DECL_FUNC_PTR(krb5_cc_next_cred);
|
|
Packit |
fd8b60 |
extern DECL_FUNC_PTR(krb5_cc_end_seq_get);
|
|
Packit |
fd8b60 |
// extern DECL_FUNC_PTR(krb5_cc_remove_cred);
|
|
Packit |
fd8b60 |
extern DECL_FUNC_PTR(krb5_cc_set_flags);
|
|
Packit |
fd8b60 |
// extern DECL_FUNC_PTR(krb5_cc_get_type);
|
|
Packit |
fd8b60 |
extern DECL_FUNC_PTR(krb5_cc_get_full_name);
|
|
Packit |
fd8b60 |
extern DECL_FUNC_PTR(krb5_free_context);
|
|
Packit |
fd8b60 |
extern DECL_FUNC_PTR(krb5_free_cred_contents);
|
|
Packit |
fd8b60 |
extern DECL_FUNC_PTR(krb5_free_principal);
|
|
Packit |
fd8b60 |
extern DECL_FUNC_PTR(krb5_free_string);
|
|
Packit |
fd8b60 |
extern DECL_FUNC_PTR(krb5_get_in_tkt_with_password);
|
|
Packit |
fd8b60 |
extern DECL_FUNC_PTR(krb5_init_context);
|
|
Packit |
fd8b60 |
extern DECL_FUNC_PTR(krb5_parse_name);
|
|
Packit |
fd8b60 |
extern DECL_FUNC_PTR(krb5_timeofday);
|
|
Packit |
fd8b60 |
extern DECL_FUNC_PTR(krb5_timestamp_to_sfstring);
|
|
Packit |
fd8b60 |
extern DECL_FUNC_PTR(krb5_unparse_name);
|
|
Packit |
fd8b60 |
extern DECL_FUNC_PTR(krb5_get_credentials);
|
|
Packit |
fd8b60 |
extern DECL_FUNC_PTR(krb5_mk_req);
|
|
Packit |
fd8b60 |
extern DECL_FUNC_PTR(krb5_sname_to_principal);
|
|
Packit |
fd8b60 |
extern DECL_FUNC_PTR(krb5_get_credentials_renew);
|
|
Packit |
fd8b60 |
extern DECL_FUNC_PTR(krb5_free_data);
|
|
Packit |
fd8b60 |
extern DECL_FUNC_PTR(krb5_free_data_contents);
|
|
Packit |
fd8b60 |
// extern DECL_FUNC_PTR(krb5_get_realm_domain);
|
|
Packit |
fd8b60 |
extern DECL_FUNC_PTR(krb5_free_unparsed_name);
|
|
Packit |
fd8b60 |
extern DECL_FUNC_PTR(krb5_os_localaddr);
|
|
Packit |
fd8b60 |
extern DECL_FUNC_PTR(krb5_copy_keyblock_contents);
|
|
Packit |
fd8b60 |
extern DECL_FUNC_PTR(krb5_copy_data);
|
|
Packit |
fd8b60 |
extern DECL_FUNC_PTR(krb5_free_creds);
|
|
Packit |
fd8b60 |
extern DECL_FUNC_PTR(krb5_build_principal);
|
|
Packit |
fd8b60 |
extern DECL_FUNC_PTR(krb5_get_renewed_creds);
|
|
Packit |
fd8b60 |
extern DECL_FUNC_PTR(krb5_free_addresses);
|
|
Packit |
fd8b60 |
extern DECL_FUNC_PTR(krb5_get_default_config_files);
|
|
Packit |
fd8b60 |
extern DECL_FUNC_PTR(krb5_free_config_files);
|
|
Packit |
fd8b60 |
extern DECL_FUNC_PTR(krb5_get_default_realm);
|
|
Packit |
fd8b60 |
extern DECL_FUNC_PTR(krb5_free_ticket);
|
|
Packit |
fd8b60 |
extern DECL_FUNC_PTR(krb5_decode_ticket);
|
|
Packit |
fd8b60 |
extern DECL_FUNC_PTR(krb5_get_host_realm);
|
|
Packit |
fd8b60 |
extern DECL_FUNC_PTR(krb5_free_host_realm);
|
|
Packit |
fd8b60 |
extern DECL_FUNC_PTR(krb5_c_random_make_octets);
|
|
Packit |
fd8b60 |
extern DECL_FUNC_PTR(krb5_free_default_realm);
|
|
Packit |
fd8b60 |
extern DECL_FUNC_PTR(krb5_principal_compare);
|
|
Packit |
fd8b60 |
extern DECL_FUNC_PTR(krb5_string_to_deltat);
|
|
Packit |
fd8b60 |
extern DECL_FUNC_PTR(krb5_is_config_principal);
|
|
Packit |
fd8b60 |
extern DECL_FUNC_PTR(krb5_cccol_cursor_new);
|
|
Packit |
fd8b60 |
extern DECL_FUNC_PTR(krb5_cccol_cursor_next);
|
|
Packit |
fd8b60 |
extern DECL_FUNC_PTR(krb5_cccol_cursor_free);
|
|
Packit |
fd8b60 |
extern DECL_FUNC_PTR(krb5_cc_cache_match);
|
|
Packit |
fd8b60 |
extern DECL_FUNC_PTR(krb5_cc_get_type);
|
|
Packit |
fd8b60 |
extern DECL_FUNC_PTR(krb5_cc_new_unique);
|
|
Packit |
fd8b60 |
extern DECL_FUNC_PTR(krb5_cc_support_switch);
|
|
Packit |
fd8b60 |
extern DECL_FUNC_PTR(krb5_cc_switch);
|
|
Packit |
fd8b60 |
extern DECL_FUNC_PTR(krb5int_cc_user_set_default_name);
|
|
Packit |
fd8b60 |
|
|
Packit |
fd8b60 |
// ComErr functions
|
|
Packit |
fd8b60 |
extern DECL_FUNC_PTR(com_err);
|
|
Packit |
fd8b60 |
extern DECL_FUNC_PTR(error_message);
|
|
Packit |
fd8b60 |
|
|
Packit |
fd8b60 |
// Profile functions
|
|
Packit |
fd8b60 |
extern DECL_FUNC_PTR(profile_init);
|
|
Packit |
fd8b60 |
extern DECL_FUNC_PTR(profile_release);
|
|
Packit |
fd8b60 |
extern DECL_FUNC_PTR(profile_get_subsection_names);
|
|
Packit |
fd8b60 |
extern DECL_FUNC_PTR(profile_free_list);
|
|
Packit |
fd8b60 |
extern DECL_FUNC_PTR(profile_get_string);
|
|
Packit |
fd8b60 |
extern DECL_FUNC_PTR(profile_release_string);
|
|
Packit |
fd8b60 |
extern DECL_FUNC_PTR(profile_get_integer);
|
|
Packit |
fd8b60 |
|
|
Packit |
fd8b60 |
// Service functions
|
|
Packit |
fd8b60 |
|
|
Packit |
fd8b60 |
extern DECL_FUNC_PTR(OpenSCManagerA);
|
|
Packit |
fd8b60 |
extern DECL_FUNC_PTR(OpenServiceA);
|
|
Packit |
fd8b60 |
extern DECL_FUNC_PTR(QueryServiceStatus);
|
|
Packit |
fd8b60 |
extern DECL_FUNC_PTR(CloseServiceHandle);
|
|
Packit |
fd8b60 |
extern DECL_FUNC_PTR(LsaNtStatusToWinError);
|
|
Packit |
fd8b60 |
|
|
Packit |
fd8b60 |
// LSA Functions
|
|
Packit |
fd8b60 |
|
|
Packit |
fd8b60 |
extern DECL_FUNC_PTR(LsaConnectUntrusted);
|
|
Packit |
fd8b60 |
extern DECL_FUNC_PTR(LsaLookupAuthenticationPackage);
|
|
Packit |
fd8b60 |
extern DECL_FUNC_PTR(LsaCallAuthenticationPackage);
|
|
Packit |
fd8b60 |
extern DECL_FUNC_PTR(LsaFreeReturnBuffer);
|
|
Packit |
fd8b60 |
extern DECL_FUNC_PTR(LsaGetLogonSessionData);
|
|
Packit |
fd8b60 |
|
|
Packit |
fd8b60 |
#ifdef __cplusplus
|
|
Packit |
fd8b60 |
}
|
|
Packit |
fd8b60 |
#endif
|
|
Packit |
fd8b60 |
|
|
Packit |
fd8b60 |
#endif /* _LEASHDLL_H_ */
|