1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-11 05:18:09 +03:00

r18984: Removing ads_gpo_get_sysvol_gpt_version() which was just doing stupid

things.

Guenther
This commit is contained in:
Günther Deschner 2006-09-28 23:13:15 +00:00 committed by Gerald (Jerry) Carter
parent 2c21ee684c
commit a597ef83c4
2 changed files with 2 additions and 93 deletions

View File

@ -50,97 +50,6 @@ static BOOL do_parameter(const char *parameter, const char *value)
return True;
}
NTSTATUS ads_gpo_get_sysvol_gpt_version(ADS_STRUCT *ads,
TALLOC_CTX *mem_ctx,
const char *filesyspath,
uint32 *sysvol_version)
{
NTSTATUS status;
const char *path;
struct cli_state *cli;
int fnum;
fstring tok;
static int io_bufsize = 64512;
int read_size = io_bufsize;
char *data = NULL;
off_t start = 0;
off_t nread = 0;
int handle = 0;
const char *local_file;
*sysvol_version = 0;
next_token(&filesyspath, tok, "\\", sizeof(tok));
next_token(&filesyspath, tok, "\\", sizeof(tok));
path = talloc_asprintf(mem_ctx, "\\%s\\gpt.ini", filesyspath);
if (path == NULL) {
return NT_STATUS_NO_MEMORY;
}
local_file = talloc_asprintf(mem_ctx, "%s/%s", lock_path("gpo_cache"), "gpt.ini");
if (local_file == NULL) {
return NT_STATUS_NO_MEMORY;
}
/* FIXME: walk down the dfs tree instead */
status = cli_full_connection(&cli, global_myname(),
ads->config.ldap_server_name,
NULL, 0,
"SYSVOL", "A:",
ads->auth.user_name, NULL, ads->auth.password,
CLI_FULL_CONNECTION_USE_KERBEROS,
Undefined, NULL);
if (!NT_STATUS_IS_OK(status)) {
return status;
}
fnum = cli_open(cli, path, O_RDONLY, DENY_NONE);
if (fnum == -1) {
return NT_STATUS_NO_SUCH_FILE;
}
data = (char *)SMB_MALLOC(read_size);
if (data == NULL) {
return NT_STATUS_NO_MEMORY;
}
handle = sys_open(local_file, O_WRONLY|O_CREAT|O_TRUNC, 0644);
if (handle == -1) {
return NT_STATUS_NO_SUCH_FILE;
}
while (1) {
int n = cli_read(cli, fnum, data, nread + start, read_size);
if (n <= 0)
break;
if (write(handle, data, n) != n) {
break;
}
nread += n;
}
cli_close(cli, fnum);
if (!pm_process(local_file, do_section, do_parameter)) {
return NT_STATUS_INVALID_PARAMETER;
}
*sysvol_version = version;
SAFE_FREE(data);
cli_shutdown(cli);
return NT_STATUS_OK;
}
/*
perfectly parseable with pm_process() :))

View File

@ -424,14 +424,14 @@ static int net_ads_gpo_get_gpo(int argc, const char **argv)
}
dump_gpo(mem_ctx, &gpo);
#if 0
status = ADS_ERROR_NT(ads_gpo_get_sysvol_gpt_version(ads, mem_ctx, gpo.file_sys_path, &sysvol_gpt_version));
if (!ADS_ERR_OK(status)) {
goto out;
}
printf("sysvol GPT version: %d\n", sysvol_gpt_version);
#endif
out:
talloc_destroy(mem_ctx);
ads_destroy(&ads);