Remove uses of global_loadparm.
authorJelmer Vernooij <jelmer@samba.org>
Mon, 25 Feb 2008 11:51:55 +0000 (12:51 +0100)
committerJelmer Vernooij <jelmer@samba.org>
Mon, 25 Feb 2008 11:51:55 +0000 (12:51 +0100)
source/lib/registry/patchfile.c
source/lib/registry/patchfile.h
source/lib/registry/patchfile_dotreg.c
source/lib/registry/patchfile_preg.c
source/lib/registry/tools/regdiff.c
source/libcli/raw/clisocket.c
source/scripting/ejs/smbcalls_cli.c
source/winbind/wb_pam_auth.c

index 7903bea24600c6f2042977e61904e86b22aa761f..687fd4b91b2c4e9da621616f77845bdb1135b323 100644 (file)
@@ -27,6 +27,7 @@
 
 
 _PUBLIC_ WERROR reg_preg_diff_load(int fd,
+                                  struct smb_iconv_convenience *iconv_convenience, 
                                   const struct reg_diff_callbacks *callbacks,
                                   void *callback_data);
 
@@ -306,7 +307,7 @@ _PUBLIC_ WERROR reg_diff_load(const char *filename,
 #endif
        if (strncmp(hdr, "PReg", 4) == 0) {
                /* Must be a GPO Registry.pol file */
-               return reg_preg_diff_load(fd, callbacks, callback_data);
+               return reg_preg_diff_load(fd, iconv_convenience, callbacks, callback_data);
        } else {
                /* Must be a normal .REG file */
                return reg_dotreg_diff_load(fd, iconv_convenience, callbacks, callback_data);
index 08a977d9cdc65d6b9258c4d5990868bcdbe56273..9289390685296b030e3c4e91cd0e4568711559a6 100644 (file)
@@ -43,6 +43,7 @@ WERROR reg_generate_diff(struct registry_context *ctx1,
                         const struct reg_diff_callbacks *callbacks,
                         void *callback_data);
 WERROR reg_dotreg_diff_save(TALLOC_CTX *ctx, const char *filename,
+                           struct smb_iconv_convenience *iconv_convenience,
                            struct reg_diff_callbacks **callbacks,
                            void **callback_data);
 WERROR reg_generate_diff_key(struct registry_key *oldkey,
index 46ea7c0008bce1f2be05449c0e8968e19317bd6f..6de642ecb810a0667cd012786e50be57bbdf0286 100644 (file)
@@ -101,6 +101,7 @@ static WERROR reg_dotreg_diff_del_all_values(void *callback_data,
  * Save registry diff
  */
 _PUBLIC_ WERROR reg_dotreg_diff_save(TALLOC_CTX *ctx, const char *filename,
+                                    struct smb_iconv_convenience *iconv_convenience,
                                     struct reg_diff_callbacks **callbacks,
                                     void **callback_data)
 {
@@ -109,7 +110,7 @@ _PUBLIC_ WERROR reg_dotreg_diff_save(TALLOC_CTX *ctx, const char *filename,
        data = talloc_zero(ctx, struct dotreg_data);
        *callback_data = data;
 
-       data->iconv_convenience = lp_iconv_convenience(global_loadparm);
+       data->iconv_convenience = iconv_convenience;
 
        if (filename) {
                data->fd = open(filename, O_CREAT, 0755);
index 9cc9a5dec2e69bc2fdabc41c9302ff5fed2e1437..0d39e67450f82baba5b003f9ed0fba50287fa891 100644 (file)
@@ -29,14 +29,14 @@ struct preg_data {
        int fd;
 };
 
-static WERROR preg_read_utf16(int fd, char *c)
+static WERROR preg_read_utf16(struct smb_iconv_convenience *ic, int fd, char *c)
 {
        uint16_t v;
 
        if (read(fd, &v, 2) < 2) {
                return WERR_GENERAL_FAILURE;
        }
-       push_codepoint(lp_iconv_convenience(global_loadparm), c, v);
+       push_codepoint(ic, c, v);
        return WERR_OK;
 }
 
@@ -123,6 +123,7 @@ _PUBLIC_ WERROR reg_preg_diff_save(TALLOC_CTX *ctx, const char *filename,
  * Load diff file
  */
 _PUBLIC_ WERROR reg_preg_diff_load(int fd,
+                                  struct smb_iconv_convenience *iconv_convenience, 
                                   const struct reg_diff_callbacks *callbacks,
                                   void *callback_data)
 {
@@ -162,7 +163,7 @@ _PUBLIC_ WERROR reg_preg_diff_load(int fd,
        while(1) {
                uint32_t value_type, length;
 
-               if (!W_ERROR_IS_OK(preg_read_utf16(fd, buf_ptr))) {
+               if (!W_ERROR_IS_OK(preg_read_utf16(iconv_convenience, fd, buf_ptr))) {
                        break;
                }
                if (*buf_ptr != '[') {
@@ -173,7 +174,7 @@ _PUBLIC_ WERROR reg_preg_diff_load(int fd,
 
                /* Get the path */
                buf_ptr = buf;
-               while (W_ERROR_IS_OK(preg_read_utf16(fd, buf_ptr)) &&
+               while (W_ERROR_IS_OK(preg_read_utf16(iconv_convenience, fd, buf_ptr)) &&
                       *buf_ptr != ';' && buf_ptr-buf < buf_size) {
                        buf_ptr++;
                }
@@ -181,7 +182,7 @@ _PUBLIC_ WERROR reg_preg_diff_load(int fd,
 
                /* Get the name */
                buf_ptr = buf;
-               while (W_ERROR_IS_OK(preg_read_utf16(fd, buf_ptr)) &&
+               while (W_ERROR_IS_OK(preg_read_utf16(iconv_convenience, fd, buf_ptr)) &&
                       *buf_ptr != ';' && buf_ptr-buf < buf_size) {
                        buf_ptr++;
                }
@@ -195,7 +196,7 @@ _PUBLIC_ WERROR reg_preg_diff_load(int fd,
                }
                /* Read past delimiter */
                buf_ptr = buf;
-               if (!(W_ERROR_IS_OK(preg_read_utf16(fd, buf_ptr)) &&
+               if (!(W_ERROR_IS_OK(preg_read_utf16(iconv_convenience, fd, buf_ptr)) &&
                    *buf_ptr == ';') && buf_ptr-buf < buf_size) {
                        DEBUG(0, ("Error in PReg file.\n"));
                        ret = WERR_GENERAL_FAILURE;
@@ -209,7 +210,7 @@ _PUBLIC_ WERROR reg_preg_diff_load(int fd,
                }
                /* Read past delimiter */
                buf_ptr = buf;
-               if (!(W_ERROR_IS_OK(preg_read_utf16(fd, buf_ptr)) &&
+               if (!(W_ERROR_IS_OK(preg_read_utf16(iconv_convenience, fd, buf_ptr)) &&
                    *buf_ptr == ';') && buf_ptr-buf < buf_size) {
                        DEBUG(0, ("Error in PReg file.\n"));
                        ret = WERR_GENERAL_FAILURE;
@@ -227,7 +228,7 @@ _PUBLIC_ WERROR reg_preg_diff_load(int fd,
 
                /* Check if delimiter is in place (whine if it isn't) */
                buf_ptr = buf;
-               if (!(W_ERROR_IS_OK(preg_read_utf16(fd, buf_ptr)) &&
+               if (!(W_ERROR_IS_OK(preg_read_utf16(iconv_convenience, fd, buf_ptr)) &&
                    *buf_ptr == ']') && buf_ptr-buf < buf_size) {
                        DEBUG(0, ("Warning: Missing ']' in PReg file, expected ']', got '%c' 0x%x.\n",
                                *buf_ptr, *buf_ptr));
index 406eaeea3df4f168697c4ce4f83f1bb72c88a1d8..c94380efd2b0be46febaedbb11a81f953df77b32 100644 (file)
@@ -126,7 +126,7 @@ int main(int argc, const char **argv)
 
        poptFreeContext(pc);
 
-       error = reg_dotreg_diff_save(ctx, outputfile, &callbacks,
+       error = reg_dotreg_diff_save(ctx, outputfile, lp_iconv_convenience(cmdline_lp_ctx), &callbacks,
                                     &callback_data);
        if (!W_ERROR_IS_OK(error)) {
                fprintf(stderr, "Problem saving registry diff to '%s': %s\n",
index 8fcb8bb48c7e06692ec4f29247c3e774b2907a68..eaa02e10472782f5dfb59938bcbcac75ea504a3d 100644 (file)
@@ -33,6 +33,7 @@ struct sock_connect_state {
        const char *host_name;
        int num_ports;
        uint16_t *ports;
+       const char *socket_options;
        struct smbcli_socket *result;
 };
 
@@ -80,6 +81,7 @@ struct composite_context *smbcli_sock_connect_send(TALLOC_CTX *mem_ctx,
        for (i=0;ports[i];i++) {
                state->ports[i] = atoi(ports[i]);
        }
+       state->socket_options = lp_socket_options(global_loadparm);
 
        ctx = socket_connect_multi_send(state, host_addr,
                                        state->num_ports, state->ports,
@@ -108,7 +110,7 @@ static void smbcli_sock_connect_recv_conn(struct composite_context *ctx)
        if (!composite_is_ok(state->ctx)) return;
 
        state->ctx->status =
-               socket_set_option(sock, lp_socket_options(global_loadparm), NULL);
+               socket_set_option(sock, state->socket_options, NULL);
        if (!composite_is_ok(state->ctx)) return;
 
 
index 4f2d52b25ccef7649e5a0a816843898a0da702e3..dbb36312da544ba8c5906ecae99645470d997a6f 100644 (file)
@@ -445,7 +445,7 @@ static int ejs_tree_connect(MprVarHandle eid, int argc, char **argv)
        io.in.credentials            = creds;
        io.in.fallback_to_anonymous  = false;
        io.in.workgroup              = lp_workgroup(mprLpCtx());
-       lp_smbcli_options(global_loadparm, &io.in.options);
+       lp_smbcli_options(mprLpCtx(), &io.in.options);
 
        result = smb_composite_connect(&io, mem_ctx, 
                                       lp_resolve_context(mprLpCtx()), 
index 0073e3fdf8ae7bbe1b3e8c3173f11b536df6e997..62744297c64614c681490837e8fe89d1cdb94457 100644 (file)
@@ -143,7 +143,7 @@ static void pam_auth_crap_recv_logon(struct composite_context *ctx)
        if (!composite_is_ok(state->ctx)) return;
 
        ndr_err = ndr_push_struct_blob(
-               &tmp_blob, state, lp_iconv_convenience(global_loadparm), 
+               &tmp_blob, state, lp_iconv_convenience(state->lp_ctx), 
                state->req->out.validation.sam3,
                (ndr_push_flags_fn_t)ndr_push_netr_SamInfo3);
        if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {