svn commit: samba r26431 - in branches/SAMBA_4_0: . source/cluster source/cluster/ctdb source/lib/messaging source/libcli/raw source/librpc/ndr source/librpc/rpc source/librpc/tools source/ntvfs/common source/ntvfs/ipc source/rpc_server source/torture/rap

jelmer at samba.org jelmer at samba.org
Thu Dec 13 22:46:24 GMT 2007


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;



More information about the samba-cvs mailing list