2011-06-10 17:07:16 +04:00
/*
Unix SMB / CIFS implementation .
NT Domain Authentication SMB / MSRPC client
Copyright ( C ) Andrew Tridgell 1992 - 2000
Copyright ( C ) Jeremy Allison 1998.
Largely re - written by Jeremy Allison ( C ) 2005.
Copyright ( C ) Guenther Deschner 2008.
This program is free software ; you can redistribute it and / or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation ; either version 3 of the License , or
( at your option ) any later version .
This program is distributed in the hope that it will be useful ,
but WITHOUT ANY WARRANTY ; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the
GNU General Public License for more details .
You should have received a copy of the GNU General Public License
along with this program . If not , see < http : //www.gnu.org/licenses/>.
*/
# ifndef _RPC_CLIENT_CLI_NETLOGON_H_
# define _RPC_CLIENT_CLI_NETLOGON_H_
2013-08-07 13:27:25 +04:00
struct cli_state ;
struct messaging_context ;
2014-12-17 11:40:49 +03:00
struct cli_credentials ;
2013-08-07 13:27:25 +04:00
struct netlogon_creds_cli_context ;
2013-08-27 16:36:24 +04:00
struct dcerpc_binding_handle ;
2014-09-05 08:59:00 +04:00
# include "librpc/rpc/rpc_common.h"
2013-08-07 13:27:25 +04:00
2010-05-18 20:26:03 +04:00
/* The following definitions come from rpc_client/cli_netlogon.c */
2013-12-17 23:05:56 +04:00
NTSTATUS rpccli_pre_open_netlogon_creds ( void ) ;
2017-09-06 18:23:47 +03:00
NTSTATUS rpccli_create_netlogon_creds_ctx (
struct cli_credentials * creds ,
const char * server_computer ,
struct messaging_context * msg_ctx ,
TALLOC_CTX * mem_ctx ,
2017-09-05 17:17:58 +03:00
struct netlogon_creds_cli_context * * creds_ctx ) ;
2017-09-17 17:31:28 +03:00
NTSTATUS rpccli_setup_netlogon_creds_locked (
struct cli_state * cli ,
enum dcerpc_transport_t transport ,
struct netlogon_creds_cli_context * creds_ctx ,
bool force_reauth ,
2017-09-18 23:17:01 +03:00
struct cli_credentials * cli_creds ,
uint32_t * negotiate_flags ) ;
2017-09-06 18:31:38 +03:00
NTSTATUS rpccli_setup_netlogon_creds (
struct cli_state * cli ,
enum dcerpc_transport_t transport ,
2017-09-05 17:17:58 +03:00
struct netlogon_creds_cli_context * creds_ctx ,
2017-09-06 18:31:38 +03:00
bool force_reauth ,
struct cli_credentials * cli_creds ) ;
2017-09-18 23:26:03 +03:00
NTSTATUS rpccli_connect_netlogon (
struct cli_state * cli ,
enum dcerpc_transport_t transport ,
struct netlogon_creds_cli_context * creds_ctx ,
bool force_reauth ,
struct cli_credentials * trust_creds ,
struct rpc_pipe_client * * _rpccli ) ;
2017-12-01 09:58:07 +03:00
NTSTATUS rpccli_netlogon_password_logon (
struct netlogon_creds_cli_context * creds ,
struct dcerpc_binding_handle * binding_handle ,
TALLOC_CTX * mem_ctx ,
uint32_t logon_parameters ,
const char * domain ,
const char * username ,
const char * password ,
const char * workstation ,
2019-02-01 03:49:49 +03:00
const uint64_t logon_id ,
2017-12-01 09:58:07 +03:00
enum netr_LogonInfoClass logon_type ,
uint8_t * authoritative ,
uint32_t * flags ,
2017-12-01 01:35:40 +03:00
uint16_t * _validation_level ,
union netr_Validation * * _validation ) ;
2017-12-01 09:58:07 +03:00
NTSTATUS rpccli_netlogon_network_logon (
2017-12-01 01:35:40 +03:00
struct netlogon_creds_cli_context * creds_ctx ,
2017-12-01 09:58:07 +03:00
struct dcerpc_binding_handle * binding_handle ,
TALLOC_CTX * mem_ctx ,
uint32_t logon_parameters ,
const char * username ,
const char * domain ,
const char * workstation ,
2019-02-01 03:49:49 +03:00
const uint64_t logon_id ,
2017-12-01 09:58:07 +03:00
const uint8_t chal [ 8 ] ,
DATA_BLOB lm_response ,
DATA_BLOB nt_response ,
2018-01-15 14:00:19 +03:00
enum netr_LogonInfoClass logon_type ,
2017-12-01 09:58:07 +03:00
uint8_t * authoritative ,
uint32_t * flags ,
2017-12-01 01:35:40 +03:00
uint16_t * _validation_level ,
union netr_Validation * * _validation ) ;
2018-02-09 18:15:18 +03:00
NTSTATUS rpccli_netlogon_interactive_logon (
struct netlogon_creds_cli_context * creds_ctx ,
struct dcerpc_binding_handle * binding_handle ,
TALLOC_CTX * mem_ctx ,
uint32_t logon_parameters ,
const char * username ,
const char * domain ,
const char * workstation ,
2019-02-01 03:49:49 +03:00
const uint64_t logon_id ,
2018-02-09 18:15:18 +03:00
DATA_BLOB lm_hash ,
DATA_BLOB nt_hash ,
enum netr_LogonInfoClass logon_type ,
uint8_t * authoritative ,
uint32_t * flags ,
uint16_t * _validation_level ,
union netr_Validation * * _validation ) ;
2010-05-18 20:26:03 +04:00
2011-06-10 17:07:16 +04:00
# endif /* _RPC_CLIENT_CLI_NETLOGON_H_ */