[SCM] Samba Shared Repository - branch v3-6-test updated
Michael Adam
obnox at samba.org
Wed May 11 04:10:04 MDT 2011
The branch, v3-6-test has been updated
via e71f9a4 libsmbconf: Define a doxygen group for libsmbconf.
via 1e8282f libsmbconf: Document smbconf_transaction_cancel().
via 4e381dc libsmbconf: Document smbconf_transaction_commit().
via addb4d3 libsmbconf: Document smbconf_transaction_start().
via 4a06f0f libsmbconf: Document smbconf_delete_global_includes().
via d5adb46d libsmbconf: Document smbconf_delete_includes().
via 91feef2 libsmbconf: Document smbconf_set_global_includes().
via fcee6a6 libsmbconf: Document smbconf_set_includes().
via 3591652 libsmbconf: Document smbconf_get_global_includes().
via bc8a5df libsmbconf: Document smbconf_get_includes().
via 799cfd9 libsmbconf: Document smbconf_delete_global_parameter().
via b35b30b libsmbconf: Document smbconf_delete_parameter().
via 247ad89 libsmbconf: Document smbconf_get_global_parameter().
via 53aa10a libsmbconf: Document smbconf_get_parameter().
via 24af63e libsmbconf: Document smbconf_set_global_parameter().
via 9adfc49 libsmbconf: Document smbconf_set_parameter().
via dc8464b libsmbconf: Document smbconf_delete_share().
via adc8fef libsmbconf: Document smbconf_get_share().
via bc30d4b libsmbconf: Document smbconf_create_share().
via 315bda5 libsmbconf: Document smbconf_share_exists().
via 32bafa5 libsmbconf: Document smbconf_get_share_names().
via 8692501 libsmbconf: Document smbconf_get_config().
via 256fd66 libsmbconf: Document smbconf_drop().
via 1b97a85 libsmbconf: Document smbconf_changed().
via 62030ee libsmbconf: Document smbconf_shutdown().
via e4c38b0 libsmbconf: Document smbconf_is_writeable().
via 15d285a libsmbconf: Document smbconf_backend_requires_messaging().
via a6c5502 s3-waf: Create a public libsmconf.
via 3987455 s3-waf: Create a registry private library.
via 1ff0545 libsmbconf: Convert smbconf_get_config() to sbcErr.
via ea45d9d libsmbconf: Convert smbconf_transaction_*() to sbcErr.
via 3d8e524 libsmbconf: Convert smbconf_delete_includes() to sbcErr.
via 3fcc6ac libsmbconf: Convert smbconf_set_includes() to sbcErr.
via 8aa9d9a libsmbconf: Convert smbconf_get_includes() to sbcErr.
via 48a7ab6 libsmbconf: Convert smbconf_delete_parameter() to sbcErr.
via d3ced52 libsmbconf: Convert smbconf_get_parameter() to sbcErr.
via 6eae520 libsmbconf: Convert smbconf_set_parameter() to sbcErr.
via 9eb03a5 libsmbconf: Convert smbconf_delete_share() to sbcErr.
via 347e52d libsmbconf: Convert smbconf_get_share() to sbcErr.
via 5d9bbcb libsmbconf: Convert smbconf_create_share() to smbErr.
via feee765 libsmbconf: Convert smbconf_get_share_names() to sbcErr.
via 1ed47a5 libsmbconf: Convert smbconf_drop() to sbcErr.
via a686e99 libsmbconf: Convert smbconf_open() to sbcErr.
via eda9ff5 libsmbconf: Convert smbconf_init() to sbcErr.
via 74152f4 libsmbconf: Added a sbcErrorString() function.
via 193a07a libsmbconf: Introduce a sbcErrType.
from 44a454f s3-printing: make cups_pull_comment_location() work again.
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-6-test
- Log -----------------------------------------------------------------
commit e71f9a431b5ad506ab15b616597624d8833e5ff4
Author: Andreas Schneider <asn at samba.org>
Date: Thu Apr 14 11:59:57 2011 +0200
libsmbconf: Define a doxygen group for libsmbconf.
Signed-off-by: Michael Adam <obnox at samba.org>
commit 1e8282f45b6e8633c2e25b6484fdb1ce3dfb053a
Author: Andreas Schneider <asn at samba.org>
Date: Thu Apr 14 11:54:11 2011 +0200
libsmbconf: Document smbconf_transaction_cancel().
Signed-off-by: Michael Adam <obnox at samba.org>
commit 4e381dc571207df44d8024e7bab83ab116011bea
Author: Andreas Schneider <asn at samba.org>
Date: Thu Apr 14 11:53:25 2011 +0200
libsmbconf: Document smbconf_transaction_commit().
Signed-off-by: Michael Adam <obnox at samba.org>
commit addb4d3e2305d6ce72d4ccaef7063080acfcbcb0
Author: Andreas Schneider <asn at samba.org>
Date: Thu Apr 14 11:52:30 2011 +0200
libsmbconf: Document smbconf_transaction_start().
Signed-off-by: Michael Adam <obnox at samba.org>
commit 4a06f0f5651be52f8b000c4968fb2d7617178ba2
Author: Andreas Schneider <asn at samba.org>
Date: Thu Apr 14 11:50:05 2011 +0200
libsmbconf: Document smbconf_delete_global_includes().
Signed-off-by: Michael Adam <obnox at samba.org>
commit d5adb46d31a2d0c832d139a6e5f9c7bf2a81b12c
Author: Andreas Schneider <asn at samba.org>
Date: Thu Apr 14 11:49:24 2011 +0200
libsmbconf: Document smbconf_delete_includes().
Signed-off-by: Michael Adam <obnox at samba.org>
commit 91feef25fda403130beba39d4554cf4873c85ba5
Author: Andreas Schneider <asn at samba.org>
Date: Thu Apr 14 11:48:15 2011 +0200
libsmbconf: Document smbconf_set_global_includes().
Signed-off-by: Michael Adam <obnox at samba.org>
commit fcee6a60428974dfef97ca701de5495d465dd1c1
Author: Andreas Schneider <asn at samba.org>
Date: Thu Apr 14 11:47:41 2011 +0200
libsmbconf: Document smbconf_set_includes().
Signed-off-by: Michael Adam <obnox at samba.org>
commit 3591652d34512b5f583a922f31372ace86674c7e
Author: Andreas Schneider <asn at samba.org>
Date: Thu Apr 14 11:45:14 2011 +0200
libsmbconf: Document smbconf_get_global_includes().
Signed-off-by: Michael Adam <obnox at samba.org>
commit bc8a5dfba86dd222c6d96cd7b9a31b49475ce46b
Author: Andreas Schneider <asn at samba.org>
Date: Thu Apr 14 11:44:22 2011 +0200
libsmbconf: Document smbconf_get_includes().
Signed-off-by: Michael Adam <obnox at samba.org>
commit 799cfd951a796ed75bd75f980bb26dc35b65f29f
Author: Andreas Schneider <asn at samba.org>
Date: Thu Apr 14 11:38:31 2011 +0200
libsmbconf: Document smbconf_delete_global_parameter().
Signed-off-by: Michael Adam <obnox at samba.org>
commit b35b30b3e3162e9895ba6f9e7719d4e0d1ebb4ea
Author: Andreas Schneider <asn at samba.org>
Date: Thu Apr 14 11:37:59 2011 +0200
libsmbconf: Document smbconf_delete_parameter().
Signed-off-by: Michael Adam <obnox at samba.org>
commit 247ad89ee50fd2205cc02eb2f7d8902c1b75a7ad
Author: Andreas Schneider <asn at samba.org>
Date: Thu Apr 14 11:36:36 2011 +0200
libsmbconf: Document smbconf_get_global_parameter().
Signed-off-by: Michael Adam <obnox at samba.org>
commit 53aa10a277262efd48489fb8eab49b5b4fdb2e39
Author: Andreas Schneider <asn at samba.org>
Date: Thu Apr 14 11:35:11 2011 +0200
libsmbconf: Document smbconf_get_parameter().
Signed-off-by: Michael Adam <obnox at samba.org>
commit 24af63e25f11fde79b1675f0d3c6e3b10fc69a04
Author: Andreas Schneider <asn at samba.org>
Date: Thu Apr 14 11:32:06 2011 +0200
libsmbconf: Document smbconf_set_global_parameter().
Signed-off-by: Michael Adam <obnox at samba.org>
commit 9adfc49801340fb9bb3a1d558387502e232efa2e
Author: Andreas Schneider <asn at samba.org>
Date: Thu Apr 14 11:31:17 2011 +0200
libsmbconf: Document smbconf_set_parameter().
Signed-off-by: Michael Adam <obnox at samba.org>
commit dc8464b73ce65744b7d57b3fd9db4a0d537fcb8b
Author: Andreas Schneider <asn at samba.org>
Date: Thu Apr 14 11:28:00 2011 +0200
libsmbconf: Document smbconf_delete_share().
Signed-off-by: Michael Adam <obnox at samba.org>
commit adc8fef73400095e387061b7ccff81059b117326
Author: Andreas Schneider <asn at samba.org>
Date: Thu Apr 14 11:27:03 2011 +0200
libsmbconf: Document smbconf_get_share().
Signed-off-by: Michael Adam <obnox at samba.org>
commit bc30d4bd6b5dba59f284015f7d3e885e4c450db6
Author: Andreas Schneider <asn at samba.org>
Date: Thu Apr 14 11:25:07 2011 +0200
libsmbconf: Document smbconf_create_share().
Signed-off-by: Michael Adam <obnox at samba.org>
commit 315bda5d483fcb18a242236837dedb56ad289b48
Author: Andreas Schneider <asn at samba.org>
Date: Thu Apr 14 11:23:56 2011 +0200
libsmbconf: Document smbconf_share_exists().
Signed-off-by: Michael Adam <obnox at samba.org>
commit 32bafa560b4b76e9f01e1e82fd18168ba4266081
Author: Andreas Schneider <asn at samba.org>
Date: Thu Apr 14 11:22:25 2011 +0200
libsmbconf: Document smbconf_get_share_names().
Signed-off-by: Michael Adam <obnox at samba.org>
commit 8692501da1bc3823282730588546238fb795df6b
Author: Andreas Schneider <asn at samba.org>
Date: Thu Apr 14 11:19:36 2011 +0200
libsmbconf: Document smbconf_get_config().
Signed-off-by: Michael Adam <obnox at samba.org>
commit 256fd665747bdb499381e6146a4a0f06f82fd8e2
Author: Andreas Schneider <asn at samba.org>
Date: Thu Apr 14 11:13:49 2011 +0200
libsmbconf: Document smbconf_drop().
Signed-off-by: Michael Adam <obnox at samba.org>
commit 1b97a85d0e077e57bc16ffc3c72c03d92474de41
Author: Andreas Schneider <asn at samba.org>
Date: Thu Apr 14 11:12:27 2011 +0200
libsmbconf: Document smbconf_changed().
Signed-off-by: Michael Adam <obnox at samba.org>
commit 62030ee6a7f076220fef0ef290a3c463c9cd9c46
Author: Andreas Schneider <asn at samba.org>
Date: Thu Apr 14 11:05:09 2011 +0200
libsmbconf: Document smbconf_shutdown().
Signed-off-by: Michael Adam <obnox at samba.org>
commit e4c38b088e0e873f2f6fac7cc0fe741161f3460a
Author: Andreas Schneider <asn at samba.org>
Date: Thu Apr 14 11:04:15 2011 +0200
libsmbconf: Document smbconf_is_writeable().
Signed-off-by: Michael Adam <obnox at samba.org>
commit 15d285af2d933a55cf1ac3a4f878691938a825e5
Author: Andreas Schneider <asn at samba.org>
Date: Thu Apr 14 11:02:49 2011 +0200
libsmbconf: Document smbconf_backend_requires_messaging().
Signed-off-by: Michael Adam <obnox at samba.org>
commit a6c550259f392b694abbdc645b609b392086710a
Author: Andreas Schneider <asn at samba.org>
Date: Tue Apr 12 11:02:07 2011 +0200
s3-waf: Create a public libsmconf.
Signed-off-by: Michael Adam <obnox at samba.org>
commit 39874559f6aa066c53f3354006640de2cf6da2e9
Author: Andreas Schneider <asn at samba.org>
Date: Tue Apr 12 10:59:20 2011 +0200
s3-waf: Create a registry private library.
Signed-off-by: Michael Adam <obnox at samba.org>
commit 1ff05452834487fd6243810550bc1cfd129fc49e
Author: Andreas Schneider <asn at samba.org>
Date: Mon Apr 11 17:43:10 2011 +0200
libsmbconf: Convert smbconf_get_config() to sbcErr.
Signed-off-by: Michael Adam <obnox at samba.org>
commit ea45d9def1ff704f766694a1059c15fc0301f0c0
Author: Andreas Schneider <asn at samba.org>
Date: Mon Apr 11 17:24:13 2011 +0200
libsmbconf: Convert smbconf_transaction_*() to sbcErr.
Signed-off-by: Michael Adam <obnox at samba.org>
commit 3d8e524e317a46c77d568df99601f545d4dead34
Author: Andreas Schneider <asn at samba.org>
Date: Mon Apr 11 16:01:22 2011 +0200
libsmbconf: Convert smbconf_delete_includes() to sbcErr.
Signed-off-by: Michael Adam <obnox at samba.org>
commit 3fcc6ac19a30ae67f8062669a16811768c2c0abd
Author: Andreas Schneider <asn at samba.org>
Date: Mon Apr 11 15:14:52 2011 +0200
libsmbconf: Convert smbconf_set_includes() to sbcErr.
Signed-off-by: Michael Adam <obnox at samba.org>
commit 8aa9d9ad67c2c14a5139b4d55427a048972f789e
Author: Andreas Schneider <asn at samba.org>
Date: Mon Apr 11 14:52:52 2011 +0200
libsmbconf: Convert smbconf_get_includes() to sbcErr.
Signed-off-by: Michael Adam <obnox at samba.org>
commit 48a7ab68261d8cb4d2efa03e141cdff28deb6905
Author: Andreas Schneider <asn at samba.org>
Date: Mon Apr 11 14:20:32 2011 +0200
libsmbconf: Convert smbconf_delete_parameter() to sbcErr.
Signed-off-by: Michael Adam <obnox at samba.org>
commit d3ced52e92d47e766bc1e43ef1a02ec435e2a7f5
Author: Andreas Schneider <asn at samba.org>
Date: Mon Apr 11 13:50:53 2011 +0200
libsmbconf: Convert smbconf_get_parameter() to sbcErr.
Signed-off-by: Michael Adam <obnox at samba.org>
commit 6eae520879c0a99e6ed7eef005b359e8a3411665
Author: Andreas Schneider <asn at samba.org>
Date: Mon Apr 11 13:23:26 2011 +0200
libsmbconf: Convert smbconf_set_parameter() to sbcErr.
Signed-off-by: Michael Adam <obnox at samba.org>
commit 9eb03a5a0a95020e1a374167ce4425b1010ea9c7
Author: Andreas Schneider <asn at samba.org>
Date: Mon Apr 11 11:39:03 2011 +0200
libsmbconf: Convert smbconf_delete_share() to sbcErr.
Signed-off-by: Michael Adam <obnox at samba.org>
commit 347e52d94f366ae9d0d4d57b39d127b0ad2ea24e
Author: Andreas Schneider <asn at samba.org>
Date: Fri Apr 8 17:20:35 2011 +0200
libsmbconf: Convert smbconf_get_share() to sbcErr.
Signed-off-by: Michael Adam <obnox at samba.org>
commit 5d9bbcb724a01325f9bdd469dabbb707d25480bc
Author: Andreas Schneider <asn at samba.org>
Date: Fri Apr 8 15:48:01 2011 +0200
libsmbconf: Convert smbconf_create_share() to smbErr.
Signed-off-by: Michael Adam <obnox at samba.org>
commit feee7659cbd019f3dd1bf7bf7b4c2d9f82dd6b50
Author: Andreas Schneider <asn at samba.org>
Date: Fri Apr 8 14:19:15 2011 +0200
libsmbconf: Convert smbconf_get_share_names() to sbcErr.
Signed-off-by: Michael Adam <obnox at samba.org>
commit 1ed47a5889a84deb6422b3ed9c7fd5928d171827
Author: Andreas Schneider <asn at samba.org>
Date: Fri Apr 8 10:40:02 2011 +0200
libsmbconf: Convert smbconf_drop() to sbcErr.
Signed-off-by: Michael Adam <obnox at samba.org>
commit a686e99bf57fa09df10ce863f918850f74308150
Author: Andreas Schneider <asn at samba.org>
Date: Fri Apr 8 10:28:17 2011 +0200
libsmbconf: Convert smbconf_open() to sbcErr.
Signed-off-by: Michael Adam <obnox at samba.org>
commit eda9ff5cf4396f12e9d68a01538592823defb743
Author: Andreas Schneider <asn at samba.org>
Date: Thu Apr 7 17:19:03 2011 +0200
libsmbconf: Convert smbconf_init() to sbcErr.
Signed-off-by: Michael Adam <obnox at samba.org>
commit 74152f42264b507b9e8b5bd6a208331730b9bbec
Author: Andreas Schneider <asn at samba.org>
Date: Thu Apr 7 15:27:52 2011 +0200
libsmbconf: Added a sbcErrorString() function.
Signed-off-by: Michael Adam <obnox at samba.org>
(cherry picked from commit b34e1768b762ae46e4fe761d9691ed09d285c9a9)
commit 193a07af54184a257ada9401613e1de2e62d60d1
Author: Andreas Schneider <asn at samba.org>
Date: Thu Apr 7 15:27:26 2011 +0200
libsmbconf: Introduce a sbcErrType.
Signed-off-by: Michael Adam <obnox at samba.org>
-----------------------------------------------------------------------
Summary of changes:
lib/smbconf/smbconf.c | 186 ++++++++++------
lib/smbconf/smbconf.h | 438 +++++++++++++++++++++++++++++++++---
lib/smbconf/smbconf_private.h | 36 ++--
lib/smbconf/smbconf_txt.c | 205 +++++++++---------
lib/smbconf/smbconf_txt.h | 2 +-
lib/smbconf/smbconf_util.c | 26 +-
source3/lib/netapi/serverinfo.c | 18 ++-
source3/lib/smbconf/smbconf_init.c | 20 +-
source3/lib/smbconf/smbconf_init.h | 2 +-
source3/lib/smbconf/smbconf_reg.c | 397 +++++++++++++++++++-------------
source3/lib/smbconf/smbconf_reg.h | 2 +-
source3/lib/smbconf/testsuite.c | 70 +++---
source3/libnet/libnet_join.c | 73 +++++--
source3/param/loadparm.c | 20 +-
source3/utils/net_conf.c | 285 ++++++++++++------------
source3/wscript_build | 28 ++-
16 files changed, 1179 insertions(+), 629 deletions(-)
Changeset truncated at 500 lines:
diff --git a/lib/smbconf/smbconf.c b/lib/smbconf/smbconf.c
index 80fe9aa..e0441ed 100644
--- a/lib/smbconf/smbconf.c
+++ b/lib/smbconf/smbconf.c
@@ -27,12 +27,13 @@
*
**********************************************************************/
-static WERROR smbconf_global_check(struct smbconf_ctx *ctx)
+static sbcErr smbconf_global_check(struct smbconf_ctx *ctx)
{
if (!smbconf_share_exists(ctx, GLOBAL_NAME)) {
return smbconf_create_share(ctx, GLOBAL_NAME);
}
- return WERR_OK;
+
+ return SBC_ERR_OK;
}
@@ -42,6 +43,41 @@ static WERROR smbconf_global_check(struct smbconf_ctx *ctx)
*
**********************************************************************/
+const char *sbcErrorString(sbcErr error)
+{
+ switch (error) {
+ case SBC_ERR_OK:
+ return "SBC_ERR_OK";
+ case SBC_ERR_NOT_IMPLEMENTED:
+ return "SBC_ERR_NOT_IMPLEMENTED";
+ case SBC_ERR_NOT_SUPPORTED:
+ return "SBC_ERR_NOT_SUPPORTED";
+ case SBC_ERR_UNKNOWN_FAILURE:
+ return "SBC_ERR_UNKNOWN_FAILURE";
+ case SBC_ERR_NOMEM:
+ return "SBC_ERR_NOMEM";
+ case SBC_ERR_INVALID_PARAM:
+ return "SBC_ERR_INVALID_PARAM";
+ case SBC_ERR_BADFILE:
+ return "SBC_ERR_BADFILE";
+ case SBC_ERR_NO_SUCH_SERVICE:
+ return "SBC_ERR_NO_SUCH_SERVICE";
+ case SBC_ERR_IO_FAILURE:
+ return "SBC_ERR_IO_FAILURE";
+ case SBC_ERR_CAN_NOT_COMPLETE:
+ return "SBC_ERR_CAN_NOT_COMPLETE";
+ case SBC_ERR_NO_MORE_ITEMS:
+ return "SBC_ERR_NO_MORE_ITEMS";
+ case SBC_ERR_FILE_EXISTS:
+ return "SBC_ERR_FILE_EXISTS";
+ case SBC_ERR_ACCESS_DENIED:
+ return "SBC_ERR_ACCESS_DENIED";
+ }
+
+ return "unknown sbcErr value";
+}
+
+
/**
* Tell whether the backend requires messaging to be set up
* for the backend to work correctly.
@@ -91,7 +127,7 @@ bool smbconf_changed(struct smbconf_ctx *ctx, struct smbconf_csn *csn,
/**
* Drop the whole configuration (restarting empty).
*/
-WERROR smbconf_drop(struct smbconf_ctx *ctx)
+sbcErr smbconf_drop(struct smbconf_ctx *ctx)
{
return ctx->ops->drop(ctx);
}
@@ -105,12 +141,12 @@ WERROR smbconf_drop(struct smbconf_ctx *ctx)
* param_names : list of lists of parameter names for each share
* param_values : list of lists of parameter values for each share
*/
-WERROR smbconf_get_config(struct smbconf_ctx *ctx,
+sbcErr smbconf_get_config(struct smbconf_ctx *ctx,
TALLOC_CTX *mem_ctx,
uint32_t *num_shares,
struct smbconf_service ***services)
{
- WERROR werr = WERR_OK;
+ sbcErr err;
TALLOC_CTX *tmp_ctx = NULL;
uint32_t tmp_num_shares;
char **tmp_share_names;
@@ -118,36 +154,35 @@ WERROR smbconf_get_config(struct smbconf_ctx *ctx,
uint32_t count;
if ((num_shares == NULL) || (services == NULL)) {
- werr = WERR_INVALID_PARAM;
+ err = SBC_ERR_INVALID_PARAM;
goto done;
}
tmp_ctx = talloc_stackframe();
- werr = smbconf_get_share_names(ctx, tmp_ctx, &tmp_num_shares,
- &tmp_share_names);
- if (!W_ERROR_IS_OK(werr)) {
+ err = smbconf_get_share_names(ctx, tmp_ctx, &tmp_num_shares,
+ &tmp_share_names);
+ if (!SBC_ERROR_IS_OK(err)) {
goto done;
}
tmp_services = talloc_array(tmp_ctx, struct smbconf_service *,
tmp_num_shares);
-
if (tmp_services == NULL) {
- werr = WERR_NOMEM;
+ err = SBC_ERR_NOMEM;
goto done;
}
for (count = 0; count < tmp_num_shares; count++) {
- werr = smbconf_get_share(ctx, tmp_services,
- tmp_share_names[count],
- &tmp_services[count]);
- if (!W_ERROR_IS_OK(werr)) {
+ err = smbconf_get_share(ctx, tmp_services,
+ tmp_share_names[count],
+ &tmp_services[count]);
+ if (!SBC_ERROR_IS_OK(err)) {
goto done;
}
}
- werr = WERR_OK;
+ err = SBC_ERR_OK;
*num_shares = tmp_num_shares;
if (tmp_num_shares > 0) {
@@ -158,13 +193,13 @@ WERROR smbconf_get_config(struct smbconf_ctx *ctx,
done:
talloc_free(tmp_ctx);
- return werr;
+ return err;
}
/**
* get the list of share names defined in the configuration.
*/
-WERROR smbconf_get_share_names(struct smbconf_ctx *ctx,
+sbcErr smbconf_get_share_names(struct smbconf_ctx *ctx,
TALLOC_CTX *mem_ctx,
uint32_t *num_shares,
char ***share_names)
@@ -185,11 +220,11 @@ bool smbconf_share_exists(struct smbconf_ctx *ctx,
/**
* Add a service if it does not already exist.
*/
-WERROR smbconf_create_share(struct smbconf_ctx *ctx,
+sbcErr smbconf_create_share(struct smbconf_ctx *ctx,
const char *servicename)
{
if ((servicename != NULL) && smbconf_share_exists(ctx, servicename)) {
- return WERR_FILE_EXISTS;
+ return SBC_ERR_FILE_EXISTS;
}
return ctx->ops->create_share(ctx, servicename);
@@ -198,7 +233,7 @@ WERROR smbconf_create_share(struct smbconf_ctx *ctx,
/**
* get a definition of a share (service) from configuration.
*/
-WERROR smbconf_get_share(struct smbconf_ctx *ctx,
+sbcErr smbconf_get_share(struct smbconf_ctx *ctx,
TALLOC_CTX *mem_ctx,
const char *servicename,
struct smbconf_service **service)
@@ -209,10 +244,10 @@ WERROR smbconf_get_share(struct smbconf_ctx *ctx,
/**
* delete a service from configuration
*/
-WERROR smbconf_delete_share(struct smbconf_ctx *ctx, const char *servicename)
+sbcErr smbconf_delete_share(struct smbconf_ctx *ctx, const char *servicename)
{
if (!smbconf_share_exists(ctx, servicename)) {
- return WERR_NO_SUCH_SERVICE;
+ return SBC_ERR_NO_SUCH_SERVICE;
}
return ctx->ops->delete_share(ctx, servicename);
@@ -221,7 +256,7 @@ WERROR smbconf_delete_share(struct smbconf_ctx *ctx, const char *servicename)
/**
* set a configuration parameter to the value provided.
*/
-WERROR smbconf_set_parameter(struct smbconf_ctx *ctx,
+sbcErr smbconf_set_parameter(struct smbconf_ctx *ctx,
const char *service,
const char *param,
const char *valstr)
@@ -235,30 +270,31 @@ WERROR smbconf_set_parameter(struct smbconf_ctx *ctx,
*
* This also creates [global] when it does not exist.
*/
-WERROR smbconf_set_global_parameter(struct smbconf_ctx *ctx,
+sbcErr smbconf_set_global_parameter(struct smbconf_ctx *ctx,
const char *param, const char *val)
{
- WERROR werr;
+ sbcErr err;
- werr = smbconf_global_check(ctx);
- if (W_ERROR_IS_OK(werr)) {
- werr = smbconf_set_parameter(ctx, GLOBAL_NAME, param, val);
+ err = smbconf_global_check(ctx);
+ if (!SBC_ERROR_IS_OK(err)) {
+ return err;
}
+ err = smbconf_set_parameter(ctx, GLOBAL_NAME, param, val);
- return werr;
+ return err;
}
/**
* get the value of a configuration parameter as a string
*/
-WERROR smbconf_get_parameter(struct smbconf_ctx *ctx,
+sbcErr smbconf_get_parameter(struct smbconf_ctx *ctx,
TALLOC_CTX *mem_ctx,
const char *service,
const char *param,
char **valstr)
{
if (valstr == NULL) {
- return WERR_INVALID_PARAM;
+ return SBC_ERR_INVALID_PARAM;
}
return ctx->ops->get_parameter(ctx, mem_ctx, service, param, valstr);
@@ -269,26 +305,28 @@ WERROR smbconf_get_parameter(struct smbconf_ctx *ctx,
*
* Create [global] if it does not exist.
*/
-WERROR smbconf_get_global_parameter(struct smbconf_ctx *ctx,
+sbcErr smbconf_get_global_parameter(struct smbconf_ctx *ctx,
TALLOC_CTX *mem_ctx,
const char *param,
char **valstr)
{
- WERROR werr;
+ sbcErr err;
- werr = smbconf_global_check(ctx);
- if (W_ERROR_IS_OK(werr)) {
- werr = smbconf_get_parameter(ctx, mem_ctx, GLOBAL_NAME, param,
- valstr);
+ err = smbconf_global_check(ctx);
+ if (!SBC_ERROR_IS_OK(err)) {
+ return err;
}
- return werr;
+ err = smbconf_get_parameter(ctx, mem_ctx, GLOBAL_NAME, param,
+ valstr);
+
+ return err;
}
/**
* delete a parameter from configuration
*/
-WERROR smbconf_delete_parameter(struct smbconf_ctx *ctx,
+sbcErr smbconf_delete_parameter(struct smbconf_ctx *ctx,
const char *service, const char *param)
{
return ctx->ops->delete_parameter(ctx, service, param);
@@ -299,20 +337,21 @@ WERROR smbconf_delete_parameter(struct smbconf_ctx *ctx,
*
* Create [global] if it does not exist.
*/
-WERROR smbconf_delete_global_parameter(struct smbconf_ctx *ctx,
+sbcErr smbconf_delete_global_parameter(struct smbconf_ctx *ctx,
const char *param)
{
- WERROR werr;
+ sbcErr err;
- werr = smbconf_global_check(ctx);
- if (W_ERROR_IS_OK(werr)) {
- werr = smbconf_delete_parameter(ctx, GLOBAL_NAME, param);
+ err = smbconf_global_check(ctx);
+ if (!SBC_ERROR_IS_OK(err)) {
+ return err;
}
+ err = smbconf_delete_parameter(ctx, GLOBAL_NAME, param);
- return werr;
+ return err;
}
-WERROR smbconf_get_includes(struct smbconf_ctx *ctx,
+sbcErr smbconf_get_includes(struct smbconf_ctx *ctx,
TALLOC_CTX *mem_ctx,
const char *service,
uint32_t *num_includes, char ***includes)
@@ -321,72 +360,75 @@ WERROR smbconf_get_includes(struct smbconf_ctx *ctx,
includes);
}
-WERROR smbconf_get_global_includes(struct smbconf_ctx *ctx,
+sbcErr smbconf_get_global_includes(struct smbconf_ctx *ctx,
TALLOC_CTX *mem_ctx,
uint32_t *num_includes, char ***includes)
{
- WERROR werr;
+ sbcErr err;
- werr = smbconf_global_check(ctx);
- if (W_ERROR_IS_OK(werr)) {
- werr = smbconf_get_includes(ctx, mem_ctx, GLOBAL_NAME,
- num_includes, includes);
+ err = smbconf_global_check(ctx);
+ if (!SBC_ERROR_IS_OK(err)) {
+ return err;
}
+ err = smbconf_get_includes(ctx, mem_ctx, GLOBAL_NAME,
+ num_includes, includes);
- return werr;
+ return err;
}
-WERROR smbconf_set_includes(struct smbconf_ctx *ctx,
+sbcErr smbconf_set_includes(struct smbconf_ctx *ctx,
const char *service,
uint32_t num_includes, const char **includes)
{
return ctx->ops->set_includes(ctx, service, num_includes, includes);
}
-WERROR smbconf_set_global_includes(struct smbconf_ctx *ctx,
+sbcErr smbconf_set_global_includes(struct smbconf_ctx *ctx,
uint32_t num_includes,
const char **includes)
{
- WERROR werr;
+ sbcErr err;
- werr = smbconf_global_check(ctx);
- if (W_ERROR_IS_OK(werr)) {
- werr = smbconf_set_includes(ctx, GLOBAL_NAME,
- num_includes, includes);
+ err = smbconf_global_check(ctx);
+ if (!SBC_ERROR_IS_OK(err)) {
+ return err;
}
+ err = smbconf_set_includes(ctx, GLOBAL_NAME,
+ num_includes, includes);
- return werr;
+ return err;
}
-WERROR smbconf_delete_includes(struct smbconf_ctx *ctx, const char *service)
+sbcErr smbconf_delete_includes(struct smbconf_ctx *ctx, const char *service)
{
return ctx->ops->delete_includes(ctx, service);
}
-WERROR smbconf_delete_global_includes(struct smbconf_ctx *ctx)
+sbcErr smbconf_delete_global_includes(struct smbconf_ctx *ctx)
{
- WERROR werr;
+ sbcErr err;
- werr = smbconf_global_check(ctx);
- if (W_ERROR_IS_OK(werr)) {
- werr = smbconf_delete_includes(ctx, GLOBAL_NAME);
+ err = smbconf_global_check(ctx);
+ if (!SBC_ERROR_IS_OK(err)) {
+ return err;
}
+ err = smbconf_delete_includes(ctx, GLOBAL_NAME);
- return werr;
+ return err;
}
-WERROR smbconf_transaction_start(struct smbconf_ctx *ctx)
+sbcErr smbconf_transaction_start(struct smbconf_ctx *ctx)
{
return ctx->ops->transaction_start(ctx);
}
-WERROR smbconf_transaction_commit(struct smbconf_ctx *ctx)
+sbcErr smbconf_transaction_commit(struct smbconf_ctx *ctx)
{
return ctx->ops->transaction_commit(ctx);
}
-WERROR smbconf_transaction_cancel(struct smbconf_ctx *ctx)
+sbcErr smbconf_transaction_cancel(struct smbconf_ctx *ctx)
{
return ctx->ops->transaction_cancel(ctx);
}
diff --git a/lib/smbconf/smbconf.h b/lib/smbconf/smbconf.h
index 517302a..7f62b06 100644
--- a/lib/smbconf/smbconf.h
+++ b/lib/smbconf/smbconf.h
@@ -20,6 +20,39 @@
#ifndef __LIBSMBCONF_H__
#define __LIBSMBCONF_H__
+/**
+ * @defgroup libsmbconf The smbconf API
+ *
+ * libsmbconf is a library to read or, based on the backend, modify the Samba
+ * configuration.
+ *
+ * @{
+ */
+
+/**
+ * @brief Status codes returned from smbconf functions
+ */
+enum _sbcErrType {
+ SBC_ERR_OK = 0, /**< Successful completion **/
+ SBC_ERR_NOT_IMPLEMENTED, /**< Function not implemented **/
+ SBC_ERR_NOT_SUPPORTED, /**< Function not supported **/
+ SBC_ERR_UNKNOWN_FAILURE, /**< General failure **/
+ SBC_ERR_NOMEM, /**< Memory allocation error **/
+ SBC_ERR_INVALID_PARAM, /**< An Invalid parameter was supplied **/
+ SBC_ERR_BADFILE, /**< A bad file was supplied **/
+ SBC_ERR_NO_SUCH_SERVICE, /**< There is no such service provided **/
+ SBC_ERR_IO_FAILURE, /**< There was an IO error **/
+ SBC_ERR_CAN_NOT_COMPLETE,/**< Can not complete action **/
+ SBC_ERR_NO_MORE_ITEMS, /**< No more items left **/
+ SBC_ERR_FILE_EXISTS, /**< File already exists **/
+ SBC_ERR_ACCESS_DENIED, /**< Access has been denied **/
+};
+
+typedef enum _sbcErrType sbcErr;
+
+#define SBC_ERROR_IS_OK(x) ((x) == SBC_ERR_OK)
+#define SBC_ERROR_EQUAL(x,y) ((x) == (y))
+
struct smbconf_ctx;
/* the change sequence number */
@@ -27,75 +60,428 @@ struct smbconf_csn {
uint64_t csn;
};
+/** Information about a service */
struct smbconf_service {
- char *name;
- uint32_t num_params;
- char **param_names;
- char **param_values;
+ char *name; /**< The name of the share */
+ uint32_t num_params; /**< List of length num_shares of parameter counts for each share */
+ char **param_names; /**< List of lists of parameter names for each share */
+ char **param_values; /**< List of lists of parameter values for each share */
};
/*
- * the smbconf API functions
+ * The smbconf API functions
+ */
+
+/**
+ * @brief Translate an error value into a string
+ *
+ * @param error
+ *
+ * @return a pointer to a static string
+ **/
+const char *sbcErrorString(sbcErr error);
+
+/**
+ * @brief Check if the backend requires messaging to be set up.
+ *
+ * Tell whether the backend requires messaging to be set up
+ * for the backend to work correctly.
+ *
+ * @param[in] ctx The smbconf context to check.
+ *
+ * @return True if needed, false if not.
*/
bool smbconf_backend_requires_messaging(struct smbconf_ctx *ctx);
+
+/**
+ * @brief Tell whether the source is writeable.
+ *
+ * @param[in] ctx The smbconf context to check.
+ *
+ * @return True if it is writeable, false if not.
+ */
bool smbconf_is_writeable(struct smbconf_ctx *ctx);
+
+/**
+ * @brief Close the configuration.
+ *
+ * @param[in] ctx The smbconf context to close.
--
Samba Shared Repository
More information about the samba-cvs
mailing list