From 9082c7cee8805281d18bd9f2f0afed4260ee95a8 Mon Sep 17 00:00:00 2001 From: Andreas Schneider Date: Fri, 8 Apr 2011 10:28:17 +0200 Subject: [PATCH] libsmbconf: Convert smbconf_open() to sbcErr. Signed-off-by: Michael Adam --- lib/smbconf/smbconf_private.h | 2 +- lib/smbconf/smbconf_txt.c | 11 ++--------- source3/lib/smbconf/smbconf_reg.c | 26 ++++++++++++++++---------- source3/lib/smbconf/testsuite.c | 2 -- 4 files changed, 19 insertions(+), 22 deletions(-) diff --git a/lib/smbconf/smbconf_private.h b/lib/smbconf/smbconf_private.h index 2b56367f6c7..26573274ee2 100644 --- a/lib/smbconf/smbconf_private.h +++ b/lib/smbconf/smbconf_private.h @@ -31,7 +31,7 @@ struct smbconf_ops { int (*shutdown)(struct smbconf_ctx *ctx); bool (*requires_messaging)(struct smbconf_ctx *ctx); bool (*is_writeable)(struct smbconf_ctx *ctx); - WERROR (*open_conf)(struct smbconf_ctx *ctx); + sbcErr (*open_conf)(struct smbconf_ctx *ctx); int (*close_conf)(struct smbconf_ctx *ctx); void (*get_csn)(struct smbconf_ctx *ctx, struct smbconf_csn *csn, const char *service, const char *param); diff --git a/lib/smbconf/smbconf_txt.c b/lib/smbconf/smbconf_txt.c index f7bae4e3152..1ee855c6413 100644 --- a/lib/smbconf/smbconf_txt.c +++ b/lib/smbconf/smbconf_txt.c @@ -256,16 +256,9 @@ static bool smbconf_txt_is_writeable(struct smbconf_ctx *ctx) return false; } -static WERROR smbconf_txt_open(struct smbconf_ctx *ctx) +static sbcErr smbconf_txt_open(struct smbconf_ctx *ctx) { - sbcErr err; - - err = smbconf_txt_load_file(ctx); - if (!SBC_ERROR_IS_OK(err)) { - return WERR_GENERAL_FAILURE; - } - - return WERR_OK; + return smbconf_txt_load_file(ctx); } static int smbconf_txt_close(struct smbconf_ctx *ctx) diff --git a/source3/lib/smbconf/smbconf_reg.c b/source3/lib/smbconf/smbconf_reg.c index 09b4682de05..71b60c86bc1 100644 --- a/source3/lib/smbconf/smbconf_reg.c +++ b/source3/lib/smbconf/smbconf_reg.c @@ -569,9 +569,10 @@ done: /** * initialize the registry smbconf backend */ -static WERROR smbconf_reg_init(struct smbconf_ctx *ctx, const char *path) +static sbcErr smbconf_reg_init(struct smbconf_ctx *ctx, const char *path) { WERROR werr = WERR_OK; + sbcErr err; struct security_token *token; if (path == NULL) { @@ -588,17 +589,19 @@ static WERROR smbconf_reg_init(struct smbconf_ctx *ctx, const char *path) werr = ntstatus_to_werror(registry_create_admin_token(ctx, &token)); if (!W_ERROR_IS_OK(werr)) { DEBUG(1, ("Error creating admin token\n")); + err = SBC_ERR_UNKNOWN_FAILURE; goto done; } rpd(ctx)->open = false; werr = registry_init_smbconf(path); if (!W_ERROR_IS_OK(werr)) { + err = SBC_ERR_BADFILE; goto done; } - werr = ctx->ops->open_conf(ctx); - if (!W_ERROR_IS_OK(werr)) { + err = ctx->ops->open_conf(ctx); + if (!SBC_ERROR_IS_OK(err)) { DEBUG(1, ("Error opening the registry.\n")); goto done; } @@ -607,11 +610,12 @@ static WERROR smbconf_reg_init(struct smbconf_ctx *ctx, const char *path) KEY_ENUMERATE_SUB_KEYS | REG_KEY_WRITE, token, &rpd(ctx)->base_key); if (!W_ERROR_IS_OK(werr)) { + err = SBC_ERR_UNKNOWN_FAILURE; goto done; } done: - return werr; + return err; } static int smbconf_reg_shutdown(struct smbconf_ctx *ctx) @@ -640,19 +644,21 @@ static bool smbconf_reg_is_writeable(struct smbconf_ctx *ctx) return true; } -static WERROR smbconf_reg_open(struct smbconf_ctx *ctx) +static sbcErr smbconf_reg_open(struct smbconf_ctx *ctx) { WERROR werr; if (rpd(ctx)->open) { - return WERR_OK; + return SBC_ERR_OK; } werr = regdb_open(); - if (W_ERROR_IS_OK(werr)) { - rpd(ctx)->open = true; + if (!W_ERROR_IS_OK(werr)) { + return SBC_ERR_BADFILE; } - return werr; + + rpd(ctx)->open = true; + return SBC_ERR_OK; } static int smbconf_reg_close(struct smbconf_ctx *ctx) @@ -682,7 +688,7 @@ static void smbconf_reg_get_csn(struct smbconf_ctx *ctx, return; } - if (!W_ERROR_IS_OK(ctx->ops->open_conf(ctx))) { + if (!SBC_ERROR_IS_OK(ctx->ops->open_conf(ctx))) { return; } diff --git a/source3/lib/smbconf/testsuite.c b/source3/lib/smbconf/testsuite.c index 5bde5e16215..b52d173768e 100644 --- a/source3/lib/smbconf/testsuite.c +++ b/source3/lib/smbconf/testsuite.c @@ -203,7 +203,6 @@ static bool create_conf_file(const char *filename) static bool torture_smbconf_txt(void) { - WERROR werr; sbcErr err; bool ret = true; const char *filename = "/tmp/smb.conf.smbconf_testsuite"; @@ -246,7 +245,6 @@ done: static bool torture_smbconf_reg(void) { - WERROR werr; sbcErr err; bool ret = true; struct smbconf_ctx *conf_ctx = NULL;