From 86766b522018973e1c5e37b45e8b5b01dbcbd202 Mon Sep 17 00:00:00 2001 From: Michael Adam Date: Thu, 15 May 2008 02:15:20 +0200 Subject: loadparm: add a function process_registry_shares() This loads the shares defined in registry into the services array. Michael (This used to be commit b3a90b72517c2e25d972796908aec4d2b85a030e) --- source3/param/loadparm.c | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) (limited to 'source3/param/loadparm.c') diff --git a/source3/param/loadparm.c b/source3/param/loadparm.c index 5774b22795..9eee1691a8 100644 --- a/source3/param/loadparm.c +++ b/source3/param/loadparm.c @@ -6568,6 +6568,43 @@ done: return ret; } +static bool process_registry_shares(void) +{ + WERROR werr; + uint32_t count; + struct smbconf_service **service = NULL; + uint32_t num_shares = 0; + TALLOC_CTX *mem_ctx = talloc_stackframe(); + struct smbconf_ctx *conf_ctx = lp_smbconf_ctx(); + bool ret = false; + + if (conf_ctx == NULL) { + goto done; + } + + werr = smbconf_get_config(conf_ctx, mem_ctx, &num_shares, &service); + if (!W_ERROR_IS_OK(werr)) { + goto done; + } + + for (count = 0; count < num_shares; count++) { + if (strequal(service[count]->name, GLOBAL_NAME)) { + continue; + } + ret = process_registry_service(service[count]); + if (!ret) { + goto done; + } + } + + /* store the csn */ + smbconf_changed(conf_ctx, &conf_last_csn, NULL, NULL); + +done: + TALLOC_FREE(mem_ctx); + return ret; +} + static struct file_lists { struct file_lists *next; char *name; -- cgit