s3-param: Rename loadparm_s3_context -> loadparm_s3_helpers
authorAndrew Bartlett <abartlet@samba.org>
Wed, 27 Jun 2012 13:24:39 +0000 (23:24 +1000)
committerAndrew Bartlett <abartlet@samba.org>
Wed, 27 Jun 2012 15:11:16 +0000 (17:11 +0200)
This helps clarify the role of this structure and wrapper function.

The purpose here is to provide helper functions to the lib/param
loadparm_context that point back at the s3 lp_ functions.  This allows
a struct loadparm_context to be passed to any point in the code, and
always refer to the correct loadparm system.  If this has not been
set, the variables loaded in the lib/param code will be returned.

As requested by Michael Adam.

Andrew Bartlett

Autobuild-User(master): Andrew Bartlett <abartlet@samba.org>
Autobuild-Date(master): Wed Jun 27 17:11:16 CEST 2012 on sn-devel-104

23 files changed:
lib/param/loadparm.c
lib/param/param.h
script/mks3param.pl
source3/auth/auth_generic.c
source3/auth/auth_samba4.c
source3/include/proto.h
source3/lib/dbwrap/dbwrap_ctdb.c
source3/lib/dbwrap/dbwrap_open.c
source3/lib/messages_local.c
source3/lib/server_mutex.c
source3/lib/serverid.c
source3/libads/authdata.c
source3/libsmb/auth_generic.c
source3/modules/vfs_dfs_samba4.c
source3/modules/vfs_posix_eadb.c
source3/param/loadparm_ctx.c
source3/param/pyparam.c
source3/passdb/pdb_samba4.c
source3/rpc_server/netlogon/srv_netlog_nt.c
source3/rpc_server/srv_pipe.c
source3/smbd/notify_internal.c
source3/smbd/server.c
source3/utils/ntlm_auth.c

index 41c8cc62ece86d7d87b95625822dfd6ccf04cef3..1341581139b69cd2b638be4e66bd6bd0742c69cb 100644 (file)
@@ -1362,7 +1362,7 @@ struct loadparm_context {
        bool refuse_free;
        bool global; /* Is this the global context, which may set
                      * global variables such as debug level etc? */
-       const struct loadparm_s3_context *s3_fns;
+       const struct loadparm_s3_helpers *s3_fns;
 };
 
 
@@ -3469,7 +3469,7 @@ struct loadparm_context *loadparm_init_global(bool load_default)
  * Initialise the global parameter structure.
  */
 struct loadparm_context *loadparm_init_s3(TALLOC_CTX *mem_ctx, 
-                                         const struct loadparm_s3_context *s3_fns)
+                                         const struct loadparm_s3_helpers *s3_fns)
 {
        struct loadparm_context *loadparm_context = talloc_zero(mem_ctx, struct loadparm_context);
        if (!loadparm_context) {
index e20a10cd991c39b2cb82333b9cfd96d815983128..18d4b29ea05aeeb1f8d2bc1044079d3946acbe4c 100644 (file)
@@ -20,7 +20,7 @@
 #ifndef _PARAM_H /* _PARAM_H */
 #define _PARAM_H 
 
-struct loadparm_s3_context;
+struct loadparm_s3_helpers;
 
 struct parmlist_entry;
 
index 376f7ae85f8e722fef68344df432af5c2cd63929..5c5eea3ce1c6ffb0520b1266ba3ae7818c5c9e9f 100644 (file)
@@ -83,7 +83,7 @@ sub print_header($$)
        $file->("#ifndef $header_name\n");
        $file->("#define $header_name\n\n");
        $file->("/* This file was automatically generated by mks3param.pl. DO NOT EDIT */\n\n");
-       $file->("struct loadparm_s3_context\n");
+       $file->("struct loadparm_s3_helpers\n");
        $file->("{\n");
        $file->("\tconst char * (*get_parametric)(struct loadparm_service *, const char *type, const char *option);\n");
        $file->("\tstruct parm_struct * (*get_parm_struct)(const char *param_name);\n");
index 9b9e96e89b35f9cbf809bdfb9b74e99e52e23e9f..e941ab9a0e562a6ee3815f75680457ca64bf1fea 100644 (file)
@@ -239,7 +239,7 @@ NTSTATUS auth_generic_prepare(TALLOC_CTX *mem_ctx,
                        return NT_STATUS_NO_MEMORY;
                }
 
-               lp_ctx = loadparm_init_s3(tmp_ctx, loadparm_s3_context());
+               lp_ctx = loadparm_init_s3(tmp_ctx, loadparm_s3_helpers());
                if (lp_ctx == NULL) {
                        DEBUG(10, ("loadparm_init_s3 failed\n"));
                        TALLOC_FREE(tmp_ctx);
index 1bf4227b9ef8dfbee43f5b5ccf7bc85e104f2860..ff73ffb079f74ee415dfe4a81b587276bc2e9414 100644 (file)
@@ -44,7 +44,7 @@ static NTSTATUS check_samba4_security(const struct auth_context *auth_context,
        struct auth4_context *auth4_context;
        struct loadparm_context *lp_ctx;
 
-       lp_ctx = loadparm_init_s3(frame, loadparm_s3_context());
+       lp_ctx = loadparm_init_s3(frame, loadparm_s3_helpers());
        if (lp_ctx == NULL) {
                DEBUG(10, ("loadparm_init_s3 failed\n"));
                talloc_free(frame);
@@ -109,7 +109,7 @@ static NTSTATUS prepare_gensec(TALLOC_CTX *mem_ctx,
        struct cli_credentials *server_credentials;
        struct server_id *server_id;
 
-       lp_ctx = loadparm_init_s3(frame, loadparm_s3_context());
+       lp_ctx = loadparm_init_s3(frame, loadparm_s3_helpers());
        if (lp_ctx == NULL) {
                DEBUG(1, ("loadparm_init_s3 failed\n"));
                TALLOC_FREE(frame);
@@ -192,7 +192,7 @@ static NTSTATUS make_auth4_context_s4(TALLOC_CTX *mem_ctx,
        struct imessaging_context *msg_ctx;
        struct server_id *server_id;
 
-       lp_ctx = loadparm_init_s3(frame, loadparm_s3_context());
+       lp_ctx = loadparm_init_s3(frame, loadparm_s3_helpers());
        if (lp_ctx == NULL) {
                DEBUG(1, ("loadparm_init_s3 failed\n"));
                TALLOC_FREE(frame);
index 69661bb8c567c58e27427d76c28f72156499f489..1fced14d1d351237150fa5978fe9fc920c6194bc 100644 (file)
@@ -1504,7 +1504,7 @@ void _lp_set_server_role(int server_role);
 
 /* The following definitions come from param/loadparm_ctx.c  */
 
-const struct loadparm_s3_context *loadparm_s3_context(void);
+const struct loadparm_s3_helpers *loadparm_s3_helpers(void);
 
 /* The following definitions come from param/loadparm_server_role.c  */
 
index 7bb206bea5092e61842e97eb46b077cc7fef5927..1062cb0bbdbb1a031f80d271dcfcc060f3721013 100644 (file)
@@ -1583,7 +1583,7 @@ struct db_context *db_open_ctdb(TALLOC_CTX *mem_ctx,
                return NULL;
        }
 
-       lp_ctx = loadparm_init_s3(db_path, loadparm_s3_context());
+       lp_ctx = loadparm_init_s3(db_path, loadparm_s3_helpers());
 
        db_ctdb->wtdb = tdb_wrap_open(db_ctdb, db_path, hash_size, tdb_flags,
                                      O_RDWR, 0, lp_ctx);
index e5adab7eaa100be9c7ae9fbb2e9efd3c4cd0a891..515b4bff1d171e2e8da59937d870aea181a45ec1 100644 (file)
@@ -118,7 +118,7 @@ struct db_context *db_open(TALLOC_CTX *mem_ctx,
 #endif
 
        if (result == NULL) {
-               struct loadparm_context *lp_ctx = loadparm_init_s3(mem_ctx, loadparm_s3_context());
+               struct loadparm_context *lp_ctx = loadparm_init_s3(mem_ctx, loadparm_s3_helpers());
                result = dbwrap_local_open(mem_ctx, lp_ctx, name, hash_size,
                                           tdb_flags, open_flags, mode,
                                           lock_order);
index 74b6a13764c03ee83c89a4bcdf847a0626760799..6b63d7292542ed85176656c7a0a8987ad9492c1c 100644 (file)
@@ -104,7 +104,7 @@ NTSTATUS messaging_tdb_init(struct messaging_context *msg_ctx,
                return NT_STATUS_NO_MEMORY;
        }
 
-       lp_ctx = loadparm_init_s3(result, loadparm_s3_context());
+       lp_ctx = loadparm_init_s3(result, loadparm_s3_helpers());
        if (lp_ctx == NULL) {
                DEBUG(0, ("loadparm_init_s3 failed\n"));
                return NT_STATUS_INTERNAL_ERROR;
@@ -158,7 +158,7 @@ bool messaging_tdb_parent_init(TALLOC_CTX *mem_ctx)
        struct tdb_wrap *db;
        struct loadparm_context *lp_ctx;
 
-       lp_ctx = loadparm_init_s3(mem_ctx, loadparm_s3_context());
+       lp_ctx = loadparm_init_s3(mem_ctx, loadparm_s3_helpers());
        if (lp_ctx == NULL) {
                DEBUG(0, ("loadparm_init_s3 failed\n"));
                return false;
index 9430141d1ce4ec9dc5357fb7e65b153641cb89d1..619fbd077f8fd9308f01b38d56522a916cc8915b 100644 (file)
@@ -54,7 +54,7 @@ struct named_mutex *grab_named_mutex(TALLOC_CTX *mem_ctx, const char *name,
                return NULL;
        }
 
-       lp_ctx = loadparm_init_s3(result, loadparm_s3_context());
+       lp_ctx = loadparm_init_s3(result, loadparm_s3_helpers());
        if (lp_ctx == NULL) {
                DEBUG(0, ("loadparm_init_s3 failed\n"));
                talloc_free(result);
index 4e3175662030b314b5e10eacc99884bfd5b4c661..3068d77a84b49626a126bf6f2b0a071207d01763 100644 (file)
@@ -44,7 +44,7 @@ bool serverid_parent_init(TALLOC_CTX *mem_ctx)
        struct tdb_wrap *db;
        struct loadparm_context *lp_ctx;
 
-       lp_ctx = loadparm_init_s3(mem_ctx, loadparm_s3_context());
+       lp_ctx = loadparm_init_s3(mem_ctx, loadparm_s3_helpers());
        if (lp_ctx == NULL) {
                DEBUG(0, ("loadparm_init_s3 failed\n"));
                return false;
index f4ec5b907563ac380382ad2964b5a6d6ed9afdb7..60897bf5fb5de072885e466990f15fa0a6aace36 100644 (file)
@@ -238,7 +238,7 @@ NTSTATUS kerberos_return_pac(TALLOC_CTX *mem_ctx,
        }
        auth_context->generate_session_info_pac = kerberos_fetch_pac;
 
-       lp_ctx = loadparm_init_s3(tmp_ctx, loadparm_s3_context());
+       lp_ctx = loadparm_init_s3(tmp_ctx, loadparm_s3_helpers());
        if (lp_ctx == NULL) {
                status = NT_STATUS_INVALID_SERVER_STATE;
                DEBUG(10, ("loadparm_init_s3 failed\n"));
index f1510d2e90a9c91f96615382398ac8a43023cc4b..ba0a0ce977695b9bfe899e7526324bc7a10b501f 100644 (file)
@@ -62,7 +62,7 @@ NTSTATUS auth_generic_client_prepare(TALLOC_CTX *mem_ctx, struct auth_generic_st
                return NT_STATUS_NO_MEMORY;
        }
 
-       lp_ctx = loadparm_init_s3(ans, loadparm_s3_context());
+       lp_ctx = loadparm_init_s3(ans, loadparm_s3_helpers());
        if (lp_ctx == NULL) {
                DEBUG(10, ("loadparm_init_s3 failed\n"));
                TALLOC_FREE(ans);
index ad6f0411a15c7ebc182f10df17736afbc48ae59d..200c7448895c2b635c27dbfe942964247e1b68fa 100644 (file)
@@ -66,7 +66,7 @@ static int dfs_samba4_connect(struct vfs_handle_struct *handle,
                return -1;
        }
 
-       data->lp_ctx = loadparm_init_s3(data, loadparm_s3_context());
+       data->lp_ctx = loadparm_init_s3(data, loadparm_s3_helpers());
        if (data->lp_ctx == NULL) {
                DEBUG(0, ("loadparm_init_s3 failed\n"));
                SMB_VFS_NEXT_DISCONNECT(handle);
index edc295bff0b24572a01c112ca6a543dd21586376..e1b90ffbc6e3f34bddb2acc78280e0ce7a6cadf4 100644 (file)
@@ -248,7 +248,7 @@ static bool posix_eadb_init(int snum, struct tdb_wrap **p_db)
                return false;
        }
 
-       lp_ctx = loadparm_init_s3(NULL, loadparm_s3_context());
+       lp_ctx = loadparm_init_s3(NULL, loadparm_s3_helpers());
 
        become_root();
        db = tdb_wrap_open(NULL, eadb, 50000,
index 437ce435060399fa8e9f72dac796245537fec9f9..9c78f15879b8c048228142266d3df3c903f7050d 100644 (file)
@@ -60,7 +60,7 @@ static bool lp_load_for_s4_ctx(const char *filename)
  * All of the s4 loadparm functions should be here eventually, once
  * they are implemented in the s3 loadparm, have the same format (enum
  * values in particular) and defaults. */
-static const struct loadparm_s3_context s3_fns = 
+static const struct loadparm_s3_helpers s3_fns =
 {
        .get_parametric = lp_parm_const_string_service,
        .get_parm_struct = lp_get_parameter,
@@ -117,7 +117,7 @@ static const struct loadparm_s3_context s3_fns =
        .passwordserver = lp_passwordserver
 };
 
-const struct loadparm_s3_context *loadparm_s3_context(void)
+const struct loadparm_s3_helpers *loadparm_s3_helpers(void)
 {
        return &s3_fns;
 }
index ff234ac918d4b254a2d6ab1b0d79f0dd0658fe30..ddd17ca4b5f19dc25358f55ace44018f33fe0b5c 100644 (file)
@@ -30,7 +30,7 @@ void initparam(void);
 static PyObject *py_get_context(PyObject *self)
 {
        PyObject *py_loadparm;
-       const struct loadparm_s3_context *s3_context;
+       const struct loadparm_s3_helpers *s3_context;
        const struct loadparm_context *s4_context;
        TALLOC_CTX *mem_ctx;
 
@@ -40,7 +40,7 @@ static PyObject *py_get_context(PyObject *self)
                return NULL;
        }
 
-       s3_context = loadparm_s3_context();
+       s3_context = loadparm_s3_helpers();
 
        s4_context = loadparm_init_s3(mem_ctx, s3_context);
        if (s4_context == NULL) {
index 3c44b72a05545d2d78ea799d946bbb23b4dd6ff1..40827df4efa9f5fdd050de203bed8c1f926895f6 100644 (file)
@@ -2283,7 +2283,7 @@ static NTSTATUS pdb_init_samba4(struct pdb_methods **pdb_method,
                goto nomem;
        }
 
-       state->lp_ctx = loadparm_init_s3(state, loadparm_s3_context());
+       state->lp_ctx = loadparm_init_s3(state, loadparm_s3_helpers());
        if (state->lp_ctx == NULL) {
                DEBUG(0, ("loadparm_init_s3 failed\n"));
                goto nomem;
index f640a2e81f359205b4b5a5385093afbae4549576..1ab1034ae659e2564e16c56f7e6341b948e4df24 100644 (file)
@@ -1001,7 +1001,7 @@ NTSTATUS _netr_ServerAuthenticate3(struct pipes_struct *p,
                goto out;
        }
 
-       lp_ctx = loadparm_init_s3(p->mem_ctx, loadparm_s3_context());
+       lp_ctx = loadparm_init_s3(p->mem_ctx, loadparm_s3_helpers());
        if (lp_ctx == NULL) {
                DEBUG(10, ("loadparm_init_s3 failed\n"));
                status = NT_STATUS_INTERNAL_ERROR;
@@ -1106,7 +1106,7 @@ static NTSTATUS netr_creds_server_step_check(struct pipes_struct *p,
                }
        }
 
-       lp_ctx = loadparm_init_s3(mem_ctx, loadparm_s3_context());
+       lp_ctx = loadparm_init_s3(mem_ctx, loadparm_s3_helpers());
        if (lp_ctx == NULL) {
                DEBUG(0, ("loadparm_init_s3 failed\n"));
                return NT_STATUS_INTERNAL_ERROR;
@@ -1782,7 +1782,7 @@ NTSTATUS _netr_LogonSamLogonEx(struct pipes_struct *p,
                return NT_STATUS_INVALID_PARAMETER;
         }
 
-       lp_ctx = loadparm_init_s3(p->mem_ctx, loadparm_s3_context());
+       lp_ctx = loadparm_init_s3(p->mem_ctx, loadparm_s3_helpers());
        if (lp_ctx == NULL) {
                DEBUG(0, ("loadparm_init_s3 failed\n"));
                return NT_STATUS_INTERNAL_ERROR;
@@ -2335,7 +2335,7 @@ NTSTATUS _netr_GetForestTrustInformation(struct pipes_struct *p,
 
        /* TODO: check server name */
 
-       lp_ctx = loadparm_init_s3(p->mem_ctx, loadparm_s3_context());
+       lp_ctx = loadparm_init_s3(p->mem_ctx, loadparm_s3_helpers());
        if (lp_ctx == NULL) {
                DEBUG(0, ("loadparm_init_s3 failed\n"));
                return NT_STATUS_INTERNAL_ERROR;
@@ -2441,7 +2441,7 @@ NTSTATUS _netr_ServerGetTrustInfo(struct pipes_struct *p,
        DATA_BLOB session_key;
        struct loadparm_context *lp_ctx;
 
-       lp_ctx = loadparm_init_s3(p->mem_ctx, loadparm_s3_context());
+       lp_ctx = loadparm_init_s3(p->mem_ctx, loadparm_s3_helpers());
        if (lp_ctx == NULL) {
                DEBUG(0, ("loadparm_init_s3 failed\n"));
                return NT_STATUS_INTERNAL_ERROR;
index a870ec14fe783c4502a0025883e1a74bb766440a..18356382ed73e419dfee6e24306af626ad05996e 100644 (file)
@@ -447,7 +447,7 @@ static bool pipe_schannel_auth_bind(struct pipes_struct *p,
                return false;
        }
 
-       lp_ctx = loadparm_init_s3(p, loadparm_s3_context());
+       lp_ctx = loadparm_init_s3(p, loadparm_s3_helpers());
        if (!lp_ctx) {
                DEBUG(0,("pipe_schannel_auth_bind: loadparm_init_s3() failed!\n"));
                return false;
index 4fb1b351f3241c67d070fd28404fdf864fd6233d..49d1b06fbfd4f93b738db292a69ab29e6af4a522 100644 (file)
@@ -133,7 +133,7 @@ struct notify_context *notify_init(TALLOC_CTX *mem_ctx,
        notify->msg = msg;
        notify->list = NULL;
 
-       lp_ctx = loadparm_init_s3(notify, loadparm_s3_context());
+       lp_ctx = loadparm_init_s3(notify, loadparm_s3_helpers());
        notify->db_notify = db_open_tdb(
                notify, lp_ctx, lock_path("notify.tdb"),
                0, TDB_CLEAR_IF_FIRST|TDB_INCOMPATIBLE_HASH,
index 661c2fa7a7265dc438b92c22e3bc5d5e8d788978..b4b5ae3d9112b3a23a0327330db42201edd10833 100644 (file)
@@ -1365,7 +1365,7 @@ extern void build_options(bool screen);
        }
 
        if (lp_server_role() == ROLE_DOMAIN_BDC || lp_server_role() == ROLE_DOMAIN_PDC) {
-               struct loadparm_context *lp_ctx = loadparm_init_s3(NULL, loadparm_s3_context());
+               struct loadparm_context *lp_ctx = loadparm_init_s3(NULL, loadparm_s3_helpers());
                if (!open_schannel_session_store(NULL, lp_ctx)) {
                        DEBUG(0,("ERROR: Samba cannot open schannel store for secured NETLOGON operations.\n"));
                        exit(1);
index 0f8e54460bb02140731021f6f16023cf23c78650..5bf2a7be02c63c5ab2a19d23250eab882780e3fd 100644 (file)
@@ -2900,7 +2900,7 @@ enum {
                opt_workstation = "";
        }
 
-       lp_ctx = loadparm_init_s3(NULL, loadparm_s3_context());
+       lp_ctx = loadparm_init_s3(NULL, loadparm_s3_helpers());
        if (lp_ctx == NULL) {
                x_fprintf(x_stderr, "loadparm_init_s3() failed!\n");
                exit(1);