s3:cli_netlogon: add rpccli_{create,setup}_netlogon_creds_with_creds() helper functions
[obnox/samba/samba-obnox.git] / source3 / rpc_client / cli_netlogon.h
index 3096c48d073dbf9935475190cd98b07f8abba1dc..b04f3a2a96588b1153a3b0ebe357761f1edd9bf0 100644 (file)
 
 struct cli_state;
 struct messaging_context;
+struct cli_credentials;
 struct netlogon_creds_cli_context;
+struct dcerpc_binding_handle;
+#include "librpc/rpc/rpc_common.h"
 
 /* The following definitions come from rpc_client/cli_netlogon.c  */
 
-NTSTATUS rpccli_netlogon_setup_creds(struct rpc_pipe_client *cli,
-                                    const char *server_name,
-                                    const char *domain,
-                                    const char *clnt_name,
-                                    const char *machine_account,
-                                    const unsigned char machine_pwd[16],
-                                    enum netr_SchannelType sec_chan_type,
-                                    uint32_t *neg_flags_inout);
 NTSTATUS rpccli_pre_open_netlogon_creds(void);
 NTSTATUS rpccli_create_netlogon_creds(const char *server_computer,
                                      const char *server_netbios_domain,
@@ -45,50 +40,44 @@ NTSTATUS rpccli_create_netlogon_creds(const char *server_computer,
                                      struct messaging_context *msg_ctx,
                                      TALLOC_CTX *mem_ctx,
                                      struct netlogon_creds_cli_context **netlogon_creds);
+NTSTATUS rpccli_create_netlogon_creds_with_creds(struct cli_credentials *creds,
+                                                const char *server_computer,
+                                                struct messaging_context *msg_ctx,
+                                                TALLOC_CTX *mem_ctx,
+                                                struct netlogon_creds_cli_context **netlogon_creds);
 NTSTATUS rpccli_setup_netlogon_creds(struct cli_state *cli,
+                                    enum dcerpc_transport_t transport,
                                     struct netlogon_creds_cli_context *netlogon_creds,
                                     bool force_reauth,
                                     struct samr_Password current_nt_hash,
                                     const struct samr_Password *previous_nt_hash);
-NTSTATUS rpccli_netlogon_sam_logon(struct rpc_pipe_client *cli,
-                                  TALLOC_CTX *mem_ctx,
-                                  uint32 logon_parameters,
-                                  const char *domain,
-                                  const char *username,
-                                  const char *password,
-                                  const char *workstation,
-                                  uint16_t validation_level,
-                                  int logon_type);
-NTSTATUS rpccli_netlogon_sam_network_logon(struct rpc_pipe_client *cli,
-                                          TALLOC_CTX *mem_ctx,
-                                          uint32 logon_parameters,
-                                          const char *server,
-                                          const char *username,
-                                          const char *domain,
-                                          const char *workstation,
-                                          const uint8 chal[8],
-                                          uint16_t validation_level,
-                                          DATA_BLOB lm_response,
-                                          DATA_BLOB nt_response,
-                                          struct netr_SamInfo3 **info3);
-NTSTATUS rpccli_netlogon_sam_network_logon_ex(struct rpc_pipe_client *cli,
-                                             TALLOC_CTX *mem_ctx,
-                                             uint32 logon_parameters,
-                                             const char *server,
-                                             const char *username,
-                                             const char *domain,
-                                             const char *workstation,
-                                             const uint8 chal[8],
-                                             uint16_t validation_level,
-                                             DATA_BLOB lm_response,
-                                             DATA_BLOB nt_response,
-                                             struct netr_SamInfo3 **info3);
-NTSTATUS rpccli_netlogon_set_trust_password(struct rpc_pipe_client *cli,
-                                           TALLOC_CTX *mem_ctx,
-                                           const char *account_name,
-                                           const unsigned char orig_trust_passwd_hash[16],
-                                           const char *new_trust_pwd_cleartext,
-                                           const unsigned char new_trust_passwd_hash[16],
-                                           enum netr_SchannelType sec_channel_type);
+NTSTATUS rpccli_setup_netlogon_creds_with_creds(struct cli_state *cli,
+                                               enum dcerpc_transport_t transport,
+                                               struct netlogon_creds_cli_context *netlogon_creds,
+                                               bool force_reauth,
+                                               struct cli_credentials *creds);
+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,
+                                       enum netr_LogonInfoClass logon_type,
+                                       struct netr_SamInfo3 **info3);
+NTSTATUS rpccli_netlogon_network_logon(struct netlogon_creds_cli_context *creds,
+                                      struct dcerpc_binding_handle *binding_handle,
+                                      TALLOC_CTX *mem_ctx,
+                                      uint32_t logon_parameters,
+                                      const char *username,
+                                      const char *domain,
+                                      const char *workstation,
+                                      const uint8 chal[8],
+                                      DATA_BLOB lm_response,
+                                      DATA_BLOB nt_response,
+                                      uint8_t *authoritative,
+                                      uint32_t *flags,
+                                      struct netr_SamInfo3 **info3);
 
 #endif /* _RPC_CLIENT_CLI_NETLOGON_H_ */