libsmbconf: Convert smbconf_open() to sbcErr.
authorAndreas Schneider <asn@samba.org>
Fri, 8 Apr 2011 08:28:17 +0000 (10:28 +0200)
committerMichael Adam <obnox@samba.org>
Tue, 10 May 2011 17:13:20 +0000 (19:13 +0200)
Signed-off-by: Michael Adam <obnox@samba.org>
lib/smbconf/smbconf_private.h
lib/smbconf/smbconf_txt.c
source3/lib/smbconf/smbconf_reg.c
source3/lib/smbconf/testsuite.c

index 2b56367f6c77f991c106e8afad93c0bf382fdf8e..26573274ee2df6c9bb4649a3768734eaeba87fc6 100644 (file)
@@ -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);
index f7bae4e31528e0cdb8c4a4c6087457c836216473..1ee855c641324e75bae9b69d082521a814a7b0dc 100644 (file)
@@ -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)
index 09b4682de05ea0d723416ab2c9359d21d9008a98..71b60c86bc1b2f5e3f3430ab7dd1bd6a94be6fb1 100644 (file)
@@ -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;
        }
 
index 5bde5e162156fd8bbc24172ad3f3549d5a4a2545..b52d173768e2386a26e2264f04a432069bf4346b 100644 (file)
@@ -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;