Author: jelmer Date: 2007-12-13 22:46:23 +0000 (Thu, 13 Dec 2007) New Revision: 26431
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=26431 Log: Require ndr_push creators to specify a iconv_convenience context. Modified: branches/SAMBA_4_0/ branches/SAMBA_4_0/source/cluster/cluster.c branches/SAMBA_4_0/source/cluster/cluster.h branches/SAMBA_4_0/source/cluster/cluster_private.h branches/SAMBA_4_0/source/cluster/ctdb/ctdb_cluster.c branches/SAMBA_4_0/source/cluster/local.c branches/SAMBA_4_0/source/lib/messaging/messaging.c branches/SAMBA_4_0/source/libcli/raw/rawacl.c branches/SAMBA_4_0/source/librpc/ndr/ndr.c branches/SAMBA_4_0/source/librpc/ndr/ndr_compression.c branches/SAMBA_4_0/source/librpc/ndr/ndr_spoolss_buf.c branches/SAMBA_4_0/source/librpc/rpc/dcerpc.c branches/SAMBA_4_0/source/librpc/rpc/dcerpc_util.c branches/SAMBA_4_0/source/librpc/tools/ndrdump.c branches/SAMBA_4_0/source/ntvfs/common/notify.c branches/SAMBA_4_0/source/ntvfs/common/opendb_tdb.c branches/SAMBA_4_0/source/ntvfs/ipc/ipc_rap.c branches/SAMBA_4_0/source/rpc_server/dcerpc_server.c branches/SAMBA_4_0/source/rpc_server/dcesrv_auth.c branches/SAMBA_4_0/source/torture/rap/rap.c Changeset: Property changes on: branches/SAMBA_4_0 ___________________________________________________________________ Name: bzr:revision-info ...skipped... Name: bzr:revision-id:v3-trunk0 ...skipped... Modified: branches/SAMBA_4_0/source/cluster/cluster.c =================================================================== --- branches/SAMBA_4_0/source/cluster/cluster.c 2007-12-13 22:46:17 UTC (rev 26430) +++ branches/SAMBA_4_0/source/cluster/cluster.c 2007-12-13 22:46:23 UTC (rev 26431) @@ -69,10 +69,10 @@ /* open a temporary tdb in a cluster friendly manner */ -struct tdb_wrap *cluster_tdb_tmp_open(TALLOC_CTX *mem_ctx, const char *dbname, int flags) +struct tdb_wrap *cluster_tdb_tmp_open(TALLOC_CTX *mem_ctx, struct loadparm_context *lp_ctx, const char *dbname, int flags) { cluster_init(); - return ops->cluster_tdb_tmp_open(ops, mem_ctx, dbname, flags); + return ops->cluster_tdb_tmp_open(ops, mem_ctx, lp_ctx, dbname, flags); } Modified: branches/SAMBA_4_0/source/cluster/cluster.h =================================================================== --- branches/SAMBA_4_0/source/cluster/cluster.h 2007-12-13 22:46:17 UTC (rev 26430) +++ branches/SAMBA_4_0/source/cluster/cluster.h 2007-12-13 22:46:23 UTC (rev 26431) @@ -38,7 +38,7 @@ /* prototypes */ struct server_id cluster_id(uint32_t id); const char *cluster_id_string(TALLOC_CTX *mem_ctx, struct server_id id); -struct tdb_wrap *cluster_tdb_tmp_open(TALLOC_CTX *mem_ctx, const char *dbname, int flags); +struct tdb_wrap *cluster_tdb_tmp_open(TALLOC_CTX *mem_ctx, struct loadparm_context *lp_ctx, const char *dbname, int flags); void *cluster_backend_handle(void); NTSTATUS cluster_message_init(struct messaging_context *msg, struct server_id server, Modified: branches/SAMBA_4_0/source/cluster/cluster_private.h =================================================================== --- branches/SAMBA_4_0/source/cluster/cluster_private.h 2007-12-13 22:46:17 UTC (rev 26430) +++ branches/SAMBA_4_0/source/cluster/cluster_private.h 2007-12-13 22:46:23 UTC (rev 26431) @@ -27,7 +27,9 @@ const char *(*cluster_id_string)(struct cluster_ops *ops, TALLOC_CTX *, struct server_id ); struct tdb_wrap *(*cluster_tdb_tmp_open)(struct cluster_ops *, - TALLOC_CTX *, const char *, int); + TALLOC_CTX *, + struct loadparm_context *, + const char *, int); void *(*backend_handle)(struct cluster_ops *); NTSTATUS (*message_init)(struct cluster_ops *ops, struct messaging_context *msg, struct server_id server, Modified: branches/SAMBA_4_0/source/cluster/ctdb/ctdb_cluster.c =================================================================== --- branches/SAMBA_4_0/source/cluster/ctdb/ctdb_cluster.c 2007-12-13 22:46:17 UTC (rev 26430) +++ branches/SAMBA_4_0/source/cluster/ctdb/ctdb_cluster.c 2007-12-13 22:46:23 UTC (rev 26431) @@ -80,6 +80,7 @@ */ static struct tdb_wrap *ctdb_tdb_tmp_open(struct cluster_ops *ops, TALLOC_CTX *mem_ctx, + struct loadparm_context *lp_ctx, const char *dbname, int flags) { const char *dir = lp_parm_string(global_loadparm, NULL, "ctdb", "shared data"); Modified: branches/SAMBA_4_0/source/cluster/local.c =================================================================== --- branches/SAMBA_4_0/source/cluster/local.c 2007-12-13 22:46:17 UTC (rev 26430) +++ branches/SAMBA_4_0/source/cluster/local.c 2007-12-13 22:46:23 UTC (rev 26431) @@ -56,9 +56,10 @@ */ static struct tdb_wrap *local_tdb_tmp_open(struct cluster_ops *ops, TALLOC_CTX *mem_ctx, + struct loadparm_context *lp_ctx, const char *dbname, int flags) { - char *path = smbd_tmp_path(mem_ctx, global_loadparm, dbname); + char *path = smbd_tmp_path(mem_ctx, lp_ctx, dbname); struct tdb_wrap *w; w = tdb_wrap_open(mem_ctx, path, 0, flags, O_RDWR|O_CREAT, 0600); Modified: branches/SAMBA_4_0/source/lib/messaging/messaging.c =================================================================== --- branches/SAMBA_4_0/source/lib/messaging/messaging.c 2007-12-13 22:46:17 UTC (rev 26430) +++ branches/SAMBA_4_0/source/lib/messaging/messaging.c 2007-12-13 22:46:23 UTC (rev 26431) @@ -698,7 +698,7 @@ m->header.status = status; /* setup the reply */ - push = ndr_push_init_ctx(m->ndr); + push = ndr_push_init_ctx(m->ndr, lp_iconv_convenience(global_loadparm)); if (push == NULL) { status = NT_STATUS_NO_MEMORY; goto failed; @@ -890,7 +890,7 @@ header.status = NT_STATUS_OK; /* construct the irpc packet */ - ndr = ndr_push_init_ctx(irpc); + ndr = ndr_push_init_ctx(irpc, lp_iconv_convenience(global_loadparm)); if (ndr == NULL) goto failed; ndr_err = ndr_push_irpc_header(ndr, NDR_SCALARS|NDR_BUFFERS, &header); Modified: branches/SAMBA_4_0/source/libcli/raw/rawacl.c =================================================================== --- branches/SAMBA_4_0/source/libcli/raw/rawacl.c 2007-12-13 22:46:17 UTC (rev 26430) +++ branches/SAMBA_4_0/source/libcli/raw/rawacl.c 2007-12-13 22:46:23 UTC (rev 26431) @@ -21,6 +21,7 @@ #include "includes.h" #include "libcli/raw/libcliraw.h" #include "librpc/gen_ndr/ndr_security.h" +#include "param/param.h" /**************************************************************************** fetch file ACL (async send) @@ -134,7 +135,7 @@ nt.in.params.data = params; nt.in.params.length = 8; - ndr = ndr_push_init_ctx(NULL); + ndr = ndr_push_init_ctx(NULL, lp_iconv_convenience(global_loadparm)); if (!ndr) return NULL; ndr_err = ndr_push_security_descriptor(ndr, NDR_SCALARS|NDR_BUFFERS, io->set_secdesc.in.sd); Modified: branches/SAMBA_4_0/source/librpc/ndr/ndr.c =================================================================== --- branches/SAMBA_4_0/source/librpc/ndr/ndr.c 2007-12-13 22:46:17 UTC (rev 26430) +++ branches/SAMBA_4_0/source/librpc/ndr/ndr.c 2007-12-13 22:46:23 UTC (rev 26431) @@ -101,7 +101,7 @@ } /* create a ndr_push structure, ready for some marshalling */ -_PUBLIC_ struct ndr_push *ndr_push_init_ctx(TALLOC_CTX *mem_ctx) +_PUBLIC_ struct ndr_push *ndr_push_init_ctx(TALLOC_CTX *mem_ctx, struct smb_iconv_convenience *iconv_convenience) { struct ndr_push *ndr; @@ -116,7 +116,7 @@ if (!ndr->data) { return NULL; } - ndr->iconv_convenience = talloc_reference(ndr, lp_iconv_convenience(global_loadparm)); + ndr->iconv_convenience = talloc_reference(ndr, iconv_convenience); return ndr; } @@ -471,7 +471,7 @@ { struct ndr_push *subndr; - subndr = ndr_push_init_ctx(ndr); + subndr = ndr_push_init_ctx(ndr, ndr->iconv_convenience); NDR_ERR_HAVE_NO_MEMORY(subndr); subndr->flags = ndr->flags; @@ -759,7 +759,7 @@ ndr_push_flags_fn_t fn) { struct ndr_push *ndr; - ndr = ndr_push_init_ctx(mem_ctx); + ndr = ndr_push_init_ctx(mem_ctx, lp_iconv_convenience(global_loadparm)); NDR_ERR_HAVE_NO_MEMORY(ndr); NDR_CHECK(fn(ndr, NDR_SCALARS|NDR_BUFFERS, p)); @@ -778,7 +778,7 @@ uint32_t level, ndr_push_flags_fn_t fn) { struct ndr_push *ndr; - ndr = ndr_push_init_ctx(mem_ctx); + ndr = ndr_push_init_ctx(mem_ctx, lp_iconv_convenience(global_loadparm)); NDR_ERR_HAVE_NO_MEMORY(ndr); NDR_CHECK(ndr_push_set_switch_value(ndr, p, level)); @@ -803,7 +803,7 @@ /* avoid recursion */ if (flags & LIBNDR_FLAG_NO_NDR_SIZE) return 0; - ndr = ndr_push_init_ctx(NULL); + ndr = ndr_push_init_ctx(NULL, lp_iconv_convenience(global_loadparm)); if (!ndr) return 0; ndr->flags |= flags | LIBNDR_FLAG_NO_NDR_SIZE; status = push(ndr, NDR_SCALARS|NDR_BUFFERS, discard_const(p)); @@ -828,7 +828,7 @@ /* avoid recursion */ if (flags & LIBNDR_FLAG_NO_NDR_SIZE) return 0; - ndr = ndr_push_init_ctx(NULL); + ndr = ndr_push_init_ctx(NULL, lp_iconv_convenience(global_loadparm)); if (!ndr) return 0; ndr->flags |= flags | LIBNDR_FLAG_NO_NDR_SIZE; Modified: branches/SAMBA_4_0/source/librpc/ndr/ndr_compression.c =================================================================== --- branches/SAMBA_4_0/source/librpc/ndr/ndr_compression.c 2007-12-13 22:46:17 UTC (rev 26430) +++ branches/SAMBA_4_0/source/librpc/ndr/ndr_compression.c 2007-12-13 22:46:23 UTC (rev 26431) @@ -86,7 +86,7 @@ struct decomp_state *decomp_state; bool last = false; - ndrpush = ndr_push_init_ctx(subndr); + ndrpush = ndr_push_init_ctx(subndr, subndr->iconv_convenience); NDR_ERR_HAVE_NO_MEMORY(ndrpush); decomp_state = ZIPdecomp_state(subndr); @@ -197,7 +197,7 @@ DATA_BLOB uncompressed; bool last = false; - ndrpush = ndr_push_init_ctx(subndr); + ndrpush = ndr_push_init_ctx(subndr, subndr->iconv_convenience); NDR_ERR_HAVE_NO_MEMORY(ndrpush); while (!last) { @@ -264,7 +264,7 @@ { struct ndr_push *comndr; - comndr = ndr_push_init_ctx(subndr); + comndr = ndr_push_init_ctx(subndr, subndr->iconv_convenience); NDR_ERR_HAVE_NO_MEMORY(comndr); comndr->flags = subndr->flags; Modified: branches/SAMBA_4_0/source/librpc/ndr/ndr_spoolss_buf.c =================================================================== --- branches/SAMBA_4_0/source/librpc/ndr/ndr_spoolss_buf.c 2007-12-13 22:46:17 UTC (rev 26430) +++ branches/SAMBA_4_0/source/librpc/ndr/ndr_spoolss_buf.c 2007-12-13 22:46:23 UTC (rev 26431) @@ -23,6 +23,7 @@ #include "includes.h" #include "librpc/gen_ndr/ndr_spoolss.h" +#include "param/param.h" #define NDR_SPOOLSS_PUSH_ENUM_IN(fn) do { \ if (!r->in.buffer && r->in.offered != 0) {\ @@ -55,7 +56,7 @@ }\ if (r->in.buffer) {\ DATA_BLOB _data_blob_info;\ - _ndr_info = ndr_push_init_ctx(ndr);\ + _ndr_info = ndr_push_init_ctx(ndr, ndr->iconv_convenience);\ NDR_ERR_HAVE_NO_MEMORY(_ndr_info);\ _ndr_info->flags= ndr->flags;\ if (r->out.info) {\ @@ -164,7 +165,7 @@ #define NDR_SPOOLSS_SIZE_ENUM(fn) do { \ struct __##fn __r;\ DATA_BLOB _data_blob_info;\ - struct ndr_push *_ndr_info = ndr_push_init_ctx(mem_ctx);\ + struct ndr_push *_ndr_info = ndr_push_init_ctx(mem_ctx, lp_iconv_convenience(global_loadparm));\ if (!_ndr_info) return 0;\ _ndr_info->flags|=0;\ __r.in.level = level;\ @@ -414,7 +415,7 @@ _r.out.result = r->out.result; { struct __spoolss_GetPrinterData __r; - _ndr_info = ndr_push_init_ctx(ndr); + _ndr_info = ndr_push_init_ctx(ndr, ndr->iconv_convenience); NDR_ERR_HAVE_NO_MEMORY(_ndr_info); _ndr_info->flags= ndr->flags; __r.in.type = r->out.type; @@ -494,7 +495,7 @@ struct __spoolss_SetPrinterData __r; DATA_BLOB _data_blob_data; - _ndr_data = ndr_push_init_ctx(ndr); + _ndr_data = ndr_push_init_ctx(ndr, ndr->iconv_convenience); NDR_ERR_HAVE_NO_MEMORY(_ndr_data); _ndr_data->flags= ndr->flags; Modified: branches/SAMBA_4_0/source/librpc/rpc/dcerpc.c =================================================================== --- branches/SAMBA_4_0/source/librpc/rpc/dcerpc.c 2007-12-13 22:46:17 UTC (rev 26430) +++ branches/SAMBA_4_0/source/librpc/rpc/dcerpc.c 2007-12-13 22:46:23 UTC (rev 26431) @@ -350,7 +350,7 @@ return ncacn_push_auth(blob, mem_ctx, pkt, c->security_state.auth_info); } - ndr = ndr_push_init_ctx(mem_ctx); + ndr = ndr_push_init_ctx(mem_ctx, lp_iconv_convenience(global_loadparm)); if (!ndr) { return NT_STATUS_NO_MEMORY; } @@ -1194,7 +1194,7 @@ return ndr_map_error2ntstatus(ndr_err); } - push = ndr_push_init_ctx(mem_ctx); + push = ndr_push_init_ctx(mem_ctx, lp_iconv_convenience(global_loadparm)); if (!push) { return NT_STATUS_NO_MEMORY; } @@ -1252,7 +1252,7 @@ } memcpy(st, struct_ptr, struct_size); - push = ndr_push_init_ctx(mem_ctx); + push = ndr_push_init_ctx(mem_ctx, lp_iconv_convenience(global_loadparm)); if (!push) { return NT_STATUS_NO_MEMORY; } @@ -1283,7 +1283,7 @@ return ndr_map_error2ntstatus(ndr_err); } - push = ndr_push_init_ctx(mem_ctx); + push = ndr_push_init_ctx(mem_ctx, lp_iconv_convenience(global_loadparm)); if (!push) { return NT_STATUS_NO_MEMORY; } @@ -1354,7 +1354,7 @@ call = &table->calls[opnum]; /* setup for a ndr_push_* call */ - push = ndr_push_init_ctx(mem_ctx); + push = ndr_push_init_ctx(mem_ctx, lp_iconv_convenience(global_loadparm)); if (!push) { return NULL; } Modified: branches/SAMBA_4_0/source/librpc/rpc/dcerpc_util.c =================================================================== --- branches/SAMBA_4_0/source/librpc/rpc/dcerpc_util.c 2007-12-13 22:46:17 UTC (rev 26430) +++ branches/SAMBA_4_0/source/librpc/rpc/dcerpc_util.c 2007-12-13 22:46:23 UTC (rev 26431) @@ -56,7 +56,7 @@ struct ndr_push *ndr; enum ndr_err_code ndr_err; - ndr = ndr_push_init_ctx(mem_ctx); + ndr = ndr_push_init_ctx(mem_ctx, lp_iconv_convenience(global_loadparm)); if (!ndr) { return NT_STATUS_NO_MEMORY; } @@ -466,7 +466,7 @@ static DATA_BLOB dcerpc_floor_pack_lhs_data(TALLOC_CTX *mem_ctx, const struct ndr_syntax_id *syntax) { - struct ndr_push *ndr = ndr_push_init_ctx(mem_ctx); + struct ndr_push *ndr = ndr_push_init_ctx(mem_ctx, lp_iconv_convenience(global_loadparm)); ndr->flags |= LIBNDR_FLAG_NOALIGN; Modified: branches/SAMBA_4_0/source/librpc/tools/ndrdump.c =================================================================== --- branches/SAMBA_4_0/source/librpc/tools/ndrdump.c 2007-12-13 22:46:17 UTC (rev 26430) +++ branches/SAMBA_4_0/source/librpc/tools/ndrdump.c 2007-12-13 22:46:23 UTC (rev 26431) @@ -25,6 +25,7 @@ #include "system/locale.h" #include "librpc/ndr/libndr.h" #include "librpc/ndr/ndr_table.h" +#include "param/param.h" #endif static const struct ndr_interface_call *find_function( @@ -379,7 +380,7 @@ uint8_t byte_a, byte_b; bool differ; - ndr_v_push = ndr_push_init_ctx(mem_ctx); + ndr_v_push = ndr_push_init_ctx(mem_ctx, lp_iconv_convenience(cmdline_lp_ctx)); ndr_err = f->ndr_push(ndr_v_push, flags, st); status = ndr_map_error2ntstatus(ndr_err); Modified: branches/SAMBA_4_0/source/ntvfs/common/notify.c =================================================================== --- branches/SAMBA_4_0/source/ntvfs/common/notify.c 2007-12-13 22:46:17 UTC (rev 26430) +++ branches/SAMBA_4_0/source/ntvfs/common/notify.c 2007-12-13 22:46:23 UTC (rev 26431) @@ -35,6 +35,7 @@ #include "ntvfs/common/ntvfs_common.h" #include "ntvfs/sysdep/sys_notify.h" #include "cluster/cluster.h" +#include "param/param.h" struct notify_context { struct tdb_wrap *w; @@ -95,7 +96,7 @@ return NULL; } - notify->w = cluster_tdb_tmp_open(notify, "notify.tdb", TDB_SEQNUM); + notify->w = cluster_tdb_tmp_open(notify, global_loadparm, "notify.tdb", TDB_SEQNUM); if (notify->w == NULL) { talloc_free(notify); return NULL; Modified: branches/SAMBA_4_0/source/ntvfs/common/opendb_tdb.c =================================================================== --- branches/SAMBA_4_0/source/ntvfs/common/opendb_tdb.c 2007-12-13 22:46:17 UTC (rev 26430) +++ branches/SAMBA_4_0/source/ntvfs/common/opendb_tdb.c 2007-12-13 22:46:23 UTC (rev 26431) @@ -79,7 +79,7 @@ return NULL; } - odb->w = cluster_tdb_tmp_open(odb, "openfiles.tdb", TDB_DEFAULT); + odb->w = cluster_tdb_tmp_open(odb, ntvfs_ctx->lp_ctx, "openfiles.tdb", TDB_DEFAULT); if (odb->w == NULL) { talloc_free(odb); return NULL; Modified: branches/SAMBA_4_0/source/ntvfs/ipc/ipc_rap.c =================================================================== --- branches/SAMBA_4_0/source/ntvfs/ipc/ipc_rap.c 2007-12-13 22:46:17 UTC (rev 26430) +++ branches/SAMBA_4_0/source/ntvfs/ipc/ipc_rap.c 2007-12-13 22:46:23 UTC (rev 26431) @@ -23,6 +23,7 @@ #include "libcli/rap/rap.h" #include "ntvfs/ipc/proto.h" #include "librpc/ndr/libndr.h" +#include "param/param.h" #define NDR_RETURN(call) do { \ enum ndr_err_code _ndr_err; \ @@ -444,8 +445,8 @@ NDR_RETURN(ndr_pull_string(call->ndr_pull_param, NDR_SCALARS, &call->datadesc)); - call->ndr_push_param = ndr_push_init_ctx(call); - call->ndr_push_data = ndr_push_init_ctx(call); + call->ndr_push_param = ndr_push_init_ctx(call, lp_iconv_convenience(global_loadparm)); + call->ndr_push_data = ndr_push_init_ctx(call, lp_iconv_convenience(global_loadparm)); if ((call->ndr_push_param == NULL) || (call->ndr_push_data == NULL)) return NT_STATUS_NO_MEMORY; @@ -470,8 +471,8 @@ result_param = ndr_push_blob(call->ndr_push_param); result_data = ndr_push_blob(call->ndr_push_data); - final_param = ndr_push_init_ctx(call); - final_data = ndr_push_init_ctx(call); + final_param = ndr_push_init_ctx(call, lp_iconv_convenience(global_loadparm)); + final_data = ndr_push_init_ctx(call, lp_iconv_convenience(global_loadparm)); if ((final_param == NULL) || (final_data == NULL)) return NT_STATUS_NO_MEMORY; Modified: branches/SAMBA_4_0/source/rpc_server/dcerpc_server.c =================================================================== --- branches/SAMBA_4_0/source/rpc_server/dcerpc_server.c 2007-12-13 22:46:17 UTC (rev 26430) +++ branches/SAMBA_4_0/source/rpc_server/dcerpc_server.c 2007-12-13 22:46:23 UTC (rev 26431) @@ -884,7 +884,7 @@ } /* form the reply NDR */ - push = ndr_push_init_ctx(call); + push = ndr_push_init_ctx(call, lp_iconv_convenience(global_loadparm)); NT_STATUS_HAVE_NO_MEMORY(push); /* carry over the pointer count to the reply in case we are Modified: branches/SAMBA_4_0/source/rpc_server/dcesrv_auth.c =================================================================== --- branches/SAMBA_4_0/source/rpc_server/dcesrv_auth.c 2007-12-13 22:46:17 UTC (rev 26430) +++ branches/SAMBA_4_0/source/rpc_server/dcesrv_auth.c 2007-12-13 22:46:23 UTC (rev 26431) @@ -406,7 +406,7 @@ return NT_STATUS_IS_OK(status); } - ndr = ndr_push_init_ctx(call); + ndr = ndr_push_init_ctx(call, lp_iconv_convenience(global_loadparm)); if (!ndr) { return false; } Modified: branches/SAMBA_4_0/source/torture/rap/rap.c =================================================================== --- branches/SAMBA_4_0/source/torture/rap/rap.c 2007-12-13 22:46:17 UTC (rev 26430) +++ branches/SAMBA_4_0/source/torture/rap/rap.c 2007-12-13 22:46:23 UTC (rev 26431) @@ -87,10 +87,10 @@ call->paramdesc = NULL; call->datadesc = NULL; - call->ndr_push_param = ndr_push_init_ctx(mem_ctx); + call->ndr_push_param = ndr_push_init_ctx(mem_ctx, lp_iconv_convenience(global_loadparm)); call->ndr_push_param->flags = RAPNDR_FLAGS; - call->ndr_push_data = ndr_push_init_ctx(mem_ctx); + call->ndr_push_data = ndr_push_init_ctx(mem_ctx, lp_iconv_convenience(global_loadparm)); call->ndr_push_data->flags = RAPNDR_FLAGS; return call; @@ -195,7 +195,7 @@ struct ndr_push *params; struct smb_trans2 trans; - params = ndr_push_init_ctx(call); + params = ndr_push_init_ctx(call, lp_iconv_convenience(global_loadparm)); if (params == NULL) return NT_STATUS_NO_MEMORY;
