2 Unix SMB/CIFS implementation.
3 NT Domain Authentication SMB / MSRPC client
4 Copyright (C) Andrew Tridgell 1992-2000
5 Copyright (C) Jeremy Allison 1998.
6 Largely re-written by Jeremy Allison (C) 2005.
7 Copyright (C) Guenther Deschner 2008.
9 This program is free software; you can redistribute it and/or modify
10 it under the terms of the GNU General Public License as published by
11 the Free Software Foundation; either version 3 of the License, or
12 (at your option) any later version.
14 This program is distributed in the hope that it will be useful,
15 but WITHOUT ANY WARRANTY; without even the implied warranty of
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 GNU General Public License for more details.
19 You should have received a copy of the GNU General Public License
20 along with this program. If not, see <http://www.gnu.org/licenses/>.
23 #ifndef _RPC_CLIENT_CLI_NETLOGON_H_
24 #define _RPC_CLIENT_CLI_NETLOGON_H_
27 struct messaging_context;
28 struct netlogon_creds_cli_context;
30 /* The following definitions come from rpc_client/cli_netlogon.c */
32 NTSTATUS rpccli_netlogon_setup_creds(struct rpc_pipe_client *cli,
33 const char *server_name,
35 const char *clnt_name,
36 const char *machine_account,
37 const unsigned char machine_pwd[16],
38 enum netr_SchannelType sec_chan_type,
39 uint32_t *neg_flags_inout);
40 NTSTATUS rpccli_pre_open_netlogon_creds(void);
41 NTSTATUS rpccli_create_netlogon_creds(const char *server_computer,
42 const char *server_netbios_domain,
43 const char *client_account,
44 enum netr_SchannelType sec_chan_type,
45 struct messaging_context *msg_ctx,
47 struct netlogon_creds_cli_context **netlogon_creds);
48 NTSTATUS rpccli_setup_netlogon_creds(struct cli_state *cli,
49 struct netlogon_creds_cli_context *netlogon_creds,
51 struct samr_Password current_nt_hash,
52 const struct samr_Password *previous_nt_hash);
53 NTSTATUS rpccli_netlogon_sam_logon(struct rpc_pipe_client *cli,
55 uint32 logon_parameters,
59 const char *workstation,
60 uint16_t validation_level,
62 NTSTATUS rpccli_netlogon_sam_network_logon(struct rpc_pipe_client *cli,
64 uint32 logon_parameters,
68 const char *workstation,
70 uint16_t validation_level,
71 DATA_BLOB lm_response,
72 DATA_BLOB nt_response,
73 struct netr_SamInfo3 **info3);
74 NTSTATUS rpccli_netlogon_set_trust_password(struct rpc_pipe_client *cli,
76 const char *account_name,
77 const unsigned char orig_trust_passwd_hash[16],
78 const char *new_trust_pwd_cleartext,
79 const unsigned char new_trust_passwd_hash[16],
80 enum netr_SchannelType sec_channel_type);
82 #endif /* _RPC_CLIENT_CLI_NETLOGON_H_ */