mirror of
https://github.com/samba-team/samba.git
synced 2025-12-05 12:23:50 +03:00
r16945: Sync trunk -> 3.0 for 3.0.24 code. Still need
to do the upper layer directories but this is what everyone is waiting for.... Jeremy.
This commit is contained in:
committed by
Gerald (Jerry) Carter
parent
f131bf8f16
commit
9dafb7f48c
@@ -1284,43 +1284,43 @@ done:
|
||||
BOOL fetch_domain_sid( char *domain, char *remote_machine, DOM_SID *psid)
|
||||
{
|
||||
extern pstring global_myname;
|
||||
struct cli_state cli;
|
||||
struct cli_state *cli;
|
||||
NTSTATUS result;
|
||||
POLICY_HND lsa_pol;
|
||||
BOOL ret = False;
|
||||
|
||||
ZERO_STRUCT(cli);
|
||||
if(cli_initialise(&cli) == False) {
|
||||
if((cli = cli_initialise()) == NULL) {
|
||||
DEBUG(0,("fetch_domain_sid: unable to initialize client connection.\n"));
|
||||
return False;
|
||||
}
|
||||
|
||||
if(!resolve_name( remote_machine, &cli.dest_ip, 0x20)) {
|
||||
if(!resolve_name( remote_machine, &cli->dest_ip, 0x20)) {
|
||||
DEBUG(0,("fetch_domain_sid: Can't resolve address for %s\n", remote_machine));
|
||||
goto done;
|
||||
}
|
||||
|
||||
if (!cli_connect(&cli, remote_machine, &cli.dest_ip)) {
|
||||
if (!cli_connect(cli, remote_machine, &cli->dest_ip)) {
|
||||
DEBUG(0,("fetch_domain_sid: unable to connect to SMB server on \
|
||||
machine %s. Error was : %s.\n", remote_machine, cli_errstr(&cli) ));
|
||||
machine %s. Error was : %s.\n", remote_machine, cli_errstr(cli) ));
|
||||
goto done;
|
||||
}
|
||||
|
||||
if (!attempt_netbios_session_request(&cli, global_myname, remote_machine, &cli.dest_ip)) {
|
||||
if (!attempt_netbios_session_request(cli, global_myname, remote_machine, &cli->dest_ip)) {
|
||||
DEBUG(0,("fetch_domain_sid: machine %s rejected the NetBIOS session request.\n",
|
||||
remote_machine));
|
||||
goto done;
|
||||
}
|
||||
|
||||
cli.protocol = PROTOCOL_NT1;
|
||||
cli->protocol = PROTOCOL_NT1;
|
||||
|
||||
if (!cli_negprot(&cli)) {
|
||||
if (!cli_negprot(cli)) {
|
||||
DEBUG(0,("fetch_domain_sid: machine %s rejected the negotiate protocol. \
|
||||
Error was : %s.\n", remote_machine, cli_errstr(&cli) ));
|
||||
Error was : %s.\n", remote_machine, cli_errstr(cli) ));
|
||||
goto done;
|
||||
}
|
||||
|
||||
if (cli.protocol != PROTOCOL_NT1) {
|
||||
if (cli->protocol != PROTOCOL_NT1) {
|
||||
DEBUG(0,("fetch_domain_sid: machine %s didn't negotiate NT protocol.\n",
|
||||
remote_machine));
|
||||
goto done;
|
||||
@@ -1330,39 +1330,39 @@ Error was : %s.\n", remote_machine, cli_errstr(&cli) ));
|
||||
* Do an anonymous session setup.
|
||||
*/
|
||||
|
||||
if (!cli_session_setup(&cli, "", "", 0, "", 0, "")) {
|
||||
if (!cli_session_setup(cli, "", "", 0, "", 0, "")) {
|
||||
DEBUG(0,("fetch_domain_sid: machine %s rejected the session setup. \
|
||||
Error was : %s.\n", remote_machine, cli_errstr(&cli) ));
|
||||
Error was : %s.\n", remote_machine, cli_errstr(cli) ));
|
||||
goto done;
|
||||
}
|
||||
|
||||
if (!(cli.sec_mode & NEGOTIATE_SECURITY_USER_LEVEL)) {
|
||||
if (!(cli->sec_mode & NEGOTIATE_SECURITY_USER_LEVEL)) {
|
||||
DEBUG(0,("fetch_domain_sid: machine %s isn't in user level security mode\n",
|
||||
remote_machine));
|
||||
goto done;
|
||||
}
|
||||
|
||||
if (!cli_send_tconX(&cli, "IPC$", "IPC", "", 1)) {
|
||||
if (!cli_send_tconX(cli, "IPC$", "IPC", "", 1)) {
|
||||
DEBUG(0,("fetch_domain_sid: machine %s rejected the tconX on the IPC$ share. \
|
||||
Error was : %s.\n", remote_machine, cli_errstr(&cli) ));
|
||||
Error was : %s.\n", remote_machine, cli_errstr(cli) ));
|
||||
goto done;
|
||||
}
|
||||
|
||||
/* Fetch domain sid */
|
||||
|
||||
if (!cli_nt_session_open(&cli, PI_LSARPC)) {
|
||||
if (!cli_nt_session_open(cli, PI_LSARPC)) {
|
||||
DEBUG(0, ("fetch_domain_sid: Error connecting to SAM pipe\n"));
|
||||
goto done;
|
||||
}
|
||||
|
||||
result = cli_lsa_open_policy(&cli, cli.mem_ctx, True, SEC_RIGHTS_QUERY_VALUE, &lsa_pol);
|
||||
result = cli_lsa_open_policy(cli, cli->mem_ctx, True, SEC_RIGHTS_QUERY_VALUE, &lsa_pol);
|
||||
if (!NT_STATUS_IS_OK(result)) {
|
||||
DEBUG(0, ("fetch_domain_sid: Error opening lsa policy handle. %s\n",
|
||||
nt_errstr(result) ));
|
||||
goto done;
|
||||
}
|
||||
|
||||
result = cli_lsa_query_info_policy(&cli, cli.mem_ctx, &lsa_pol, 5, domain, psid);
|
||||
result = cli_lsa_query_info_policy(cli, cli->mem_ctx, &lsa_pol, 5, domain, psid);
|
||||
if (!NT_STATUS_IS_OK(result)) {
|
||||
DEBUG(0, ("fetch_domain_sid: Error querying lsa policy handle. %s\n",
|
||||
nt_errstr(result) ));
|
||||
@@ -1373,7 +1373,7 @@ Error was : %s.\n", remote_machine, cli_errstr(&cli) ));
|
||||
|
||||
done:
|
||||
|
||||
cli_shutdown(&cli);
|
||||
cli_shutdown(cli);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user