1
0
mirror of https://github.com/samba-team/samba.git synced 2025-02-02 09:47:23 +03:00

net_vampire: use bool for last_query information in samsync.

Guenther
(This used to be commit fa1976e23a33bd3fab17c3f6ab5573ee1fdf9e31)
This commit is contained in:
Günther Deschner 2008-06-27 00:46:38 +02:00
parent 8b52e2bc63
commit 92df9ae393
6 changed files with 26 additions and 19 deletions

View File

@ -336,7 +336,8 @@ NTSTATUS libnet_samsync(enum netr_SamDatabaseID database_id,
/* Process results */
callback_status = ctx->delta_fn(mem_ctx, database_id,
delta_enum_array, result, ctx);
delta_enum_array,
NT_STATUS_IS_OK(result), ctx);
if (!NT_STATUS_IS_OK(callback_status)) {
result = callback_status;
goto out;

View File

@ -30,7 +30,7 @@ struct samsync_context;
typedef NTSTATUS (*samsync_delta_fn_t)(TALLOC_CTX *,
enum netr_SamDatabaseID,
struct netr_DELTA_ENUM_ARRAY *,
NTSTATUS,
bool,
struct samsync_context *);
struct samsync_context {
@ -54,20 +54,20 @@ struct samsync_context {
NTSTATUS fetch_sam_entries_ldif(TALLOC_CTX *mem_ctx,
enum netr_SamDatabaseID database_id,
struct netr_DELTA_ENUM_ARRAY *r,
NTSTATUS result,
bool last_query,
struct samsync_context *ctx);
NTSTATUS fetch_sam_entries(TALLOC_CTX *mem_ctx,
enum netr_SamDatabaseID database_id,
struct netr_DELTA_ENUM_ARRAY *r,
NTSTATUS status,
bool last_query,
struct samsync_context *ctx);
NTSTATUS display_sam_entries(TALLOC_CTX *mem_ctx,
enum netr_SamDatabaseID database_id,
struct netr_DELTA_ENUM_ARRAY *r,
NTSTATUS status,
bool last_query,
struct samsync_context *ctx);
NTSTATUS fetch_sam_entries_keytab(TALLOC_CTX *mem_ctx,
enum netr_SamDatabaseID database_id,
struct netr_DELTA_ENUM_ARRAY *r,
NTSTATUS status,
bool last_query,
struct samsync_context *ctx);

View File

@ -164,7 +164,7 @@ static void display_rename_alias(uint32_t rid, struct netr_DELTA_RENAME *r)
static NTSTATUS display_sam_entry(TALLOC_CTX *mem_ctx,
enum netr_SamDatabaseID database_id,
struct netr_DELTA_ENUM *r,
NTSTATUS status,
bool last_query,
struct samsync_context *ctx)
{
union netr_DELTA_UNION u = r->delta_union;
@ -289,13 +289,14 @@ static NTSTATUS display_sam_entry(TALLOC_CTX *mem_ctx,
NTSTATUS display_sam_entries(TALLOC_CTX *mem_ctx,
enum netr_SamDatabaseID database_id,
struct netr_DELTA_ENUM_ARRAY *r,
NTSTATUS status,
bool last_query,
struct samsync_context *ctx)
{
int i;
for (i = 0; i < r->num_deltas; i++) {
display_sam_entry(mem_ctx, database_id, &r->delta_enum[i], status, ctx);
display_sam_entry(mem_ctx, database_id, &r->delta_enum[i],
last_query, ctx);
}
return NT_STATUS_OK;

View File

@ -75,7 +75,7 @@ static NTSTATUS fetch_sam_entry_keytab(TALLOC_CTX *mem_ctx,
enum netr_SamDatabaseID database_id,
uint32_t rid,
struct netr_DELTA_USER *r,
NTSTATUS status,
bool last_query,
struct libnet_keytab_context *ctx)
{
uchar nt_passwd[16];
@ -111,7 +111,7 @@ static NTSTATUS fetch_sam_entry_keytab(TALLOC_CTX *mem_ctx,
NTSTATUS fetch_sam_entries_keytab(TALLOC_CTX *mem_ctx,
enum netr_SamDatabaseID database_id,
struct netr_DELTA_ENUM_ARRAY *r,
NTSTATUS result,
bool last_query,
struct samsync_context *ctx)
{
NTSTATUS status = NT_STATUS_OK;
@ -143,7 +143,7 @@ NTSTATUS fetch_sam_entries_keytab(TALLOC_CTX *mem_ctx,
status = fetch_sam_entry_keytab(mem_ctx, database_id,
r->delta_enum[i].delta_id_union.rid,
r->delta_enum[i].delta_union.user,
result,
last_query,
keytab_ctx);
if (!NT_STATUS_IS_OK(status)) {
goto out;
@ -159,10 +159,15 @@ NTSTATUS fetch_sam_entries_keytab(TALLOC_CTX *mem_ctx,
goto out;
}
ctx->result_message = talloc_asprintf(mem_ctx,
"vampired %d accounts to keytab %s",
keytab_ctx->count,
keytab_ctx->keytab_name);
if (last_query) {
ctx->result_message = talloc_asprintf(mem_ctx,
"Vampired %d accounts to keytab %s",
keytab_ctx->count,
keytab_ctx->keytab_name);
TALLOC_FREE(keytab_ctx);
}
return NT_STATUS_OK;
out:
TALLOC_FREE(keytab_ctx);

View File

@ -1158,7 +1158,7 @@ static NTSTATUS ldif_realloc_maps(TALLOC_CTX *mem_ctx,
NTSTATUS fetch_sam_entries_ldif(TALLOC_CTX *mem_ctx,
enum netr_SamDatabaseID database_id,
struct netr_DELTA_ENUM_ARRAY *r,
NTSTATUS result,
bool last_query,
struct samsync_context *ctx)
{
NTSTATUS status;
@ -1193,7 +1193,7 @@ NTSTATUS fetch_sam_entries_ldif(TALLOC_CTX *mem_ctx,
}
/* This was the last query */
if (NT_STATUS_IS_OK(result)) {
if (last_query) {
ldif_write_output(database_id, ldif_ctx);
if (ldif_ctx->ldif_file != stdout) {
ctx->result_message = talloc_asprintf(mem_ctx,

View File

@ -776,7 +776,7 @@ static NTSTATUS fetch_sam_entry(TALLOC_CTX *mem_ctx,
NTSTATUS fetch_sam_entries(TALLOC_CTX *mem_ctx,
enum netr_SamDatabaseID database_id,
struct netr_DELTA_ENUM_ARRAY *r,
NTSTATUS status,
bool last_query,
struct samsync_context *ctx)
{
int i;