#include "includes.h"
#include "../libcli/auth/libcli_auth.h"
#include "../librpc/gen_ndr/cli_netlogon.h"
+#include "rpc_client/cli_netlogon.h"
+#include "rpc_client/init_netlogon.h"
/****************************************************************************
Wrapper function that uses the auth and auth2 calls to set up a NETLOGON
struct samr_Password password;
bool retried = false;
fstring mach_acct;
+ uint32_t neg_flags = *neg_flags_inout;
if (!ndr_syntax_id_equal(&cli->abstract_syntax,
&ndr_table_netlogon.syntax_id)) {
&srv_chal_recv,
&password,
&clnt_chal_send,
- *neg_flags_inout);
+ neg_flags);
if (!cli->dc) {
return NT_STATUS_NO_MEMORY;
cli->dc->computer_name,
&clnt_chal_send, /* input. */
&srv_chal_recv, /* output. */
- neg_flags_inout);
+ &neg_flags);
/* we might be talking to NT4, so let's downgrade in that case and retry
* with the returned neg_flags - gd */
"chain established.\n",
cli->desthost ));
+ cli->dc->negotiate_flags = neg_flags;
+ *neg_flags_inout = neg_flags;
+
return NT_STATUS_OK;
}
uint8_t authoritative;
int validation_level = 3;
fstring clnt_name_slash;
- uint8 zeros[16];
ZERO_STRUCT(ret_creds);
- ZERO_STRUCT(zeros);
logon = TALLOC_ZERO_P(mem_ctx, union netr_LogonLevel);
if (!logon) {
int validation_level = 3;
const char *workstation_name_slash;
const char *server_name_slash;
- uint8 zeros[16];
struct netr_Authenticator clnt_creds;
struct netr_Authenticator ret_creds;
union netr_LogonLevel *logon = NULL;
*info3 = NULL;
- ZERO_STRUCT(zeros);
ZERO_STRUCT(ret_creds);
ZERO_STRUCT(lm);
int validation_level = 3;
const char *workstation_name_slash;
const char *server_name_slash;
- uint8 zeros[16];
union netr_LogonLevel *logon = NULL;
struct netr_NetworkInfo *network_info;
uint8_t authoritative;
*info3 = NULL;
- ZERO_STRUCT(zeros);
-
ZERO_STRUCT(lm);
ZERO_STRUCT(nt);