[SCM] Samba Shared Repository - branch master updated

Volker Lendecke vlendec at samba.org
Thu Aug 5 05:57:53 MDT 2010


The branch, master has been updated
       via  1cbe8b8... s3: Remove some pointless wrapper functions
       via  6cb5a0d... s3: Remove some pointless wrapper functions
       via  0a224bc... s3: Save the received trans2 from the inbuf in cli_trans
      from  a13b96f... s3: Fix a crash in masktest

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 1cbe8b85ae155896e8a4ef39f4b129b2f1e6b1d8
Author: Volker Lendecke <vl at samba.org>
Date:   Thu Aug 5 13:11:14 2010 +0200

    s3: Remove some pointless wrapper functions

commit 6cb5a0d097e52577e956d3527b753c1bcf124d9d
Author: Volker Lendecke <vl at samba.org>
Date:   Thu Aug 5 13:06:11 2010 +0200

    s3: Remove some pointless wrapper functions

commit 0a224bc77b9bb59c72b9d79d9e8637837ffd878c
Author: Volker Lendecke <vl at samba.org>
Date:   Thu Aug 5 12:48:52 2010 +0200

    s3: Save the received trans2 from the inbuf in cli_trans

-----------------------------------------------------------------------

Summary of changes:
 source3/include/proto.h               |    9 ++-----
 source3/lib/time.c                    |   37 +--------------------------------
 source3/libsmb/cliconnect.c           |    4 +-
 source3/libsmb/clifile.c              |   32 ++++++++++++++++------------
 source3/libsmb/clifsinfo.c            |    9 ++++---
 source3/libsmb/clilist.c              |   20 +++++++++++------
 source3/libsmb/cliprint.c             |    3 +-
 source3/libsmb/clirap.c               |   13 ++++++-----
 source3/libsmb/clisecdesc.c           |    1 +
 source3/libsmb/clitrans.c             |   11 +++++++++-
 source3/rpc_client/rpc_transport_np.c |    3 +-
 11 files changed, 64 insertions(+), 78 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/include/proto.h b/source3/include/proto.h
index 2e081aa..dbc2d40 100644
--- a/source3/include/proto.h
+++ b/source3/include/proto.h
@@ -1088,6 +1088,7 @@ void round_timespec(enum timestamp_set_resolution res, struct timespec *ts);
 void put_long_date_timespec(enum timestamp_set_resolution res, char *p, struct timespec ts);
 void put_long_date(char *p, time_t t);
 void dos_filetime_timespec(struct timespec *tsp);
+time_t make_unix_date(const void *date_ptr, int zone_offset);
 time_t make_unix_date2(const void *date_ptr, int zone_offset);
 time_t make_unix_date3(const void *date_ptr, int zone_offset);
 time_t srv_make_unix_date(const void *date_ptr);
@@ -1104,12 +1105,6 @@ int timespec_compare(const struct timespec *ts1, const struct timespec *ts2);
 void round_timespec_to_sec(struct timespec *ts);
 void round_timespec_to_usec(struct timespec *ts);
 struct timespec interpret_long_date(const char *p);
-void cli_put_dos_date(struct cli_state *cli, char *buf, int offset, time_t unixdate);
-void cli_put_dos_date2(struct cli_state *cli, char *buf, int offset, time_t unixdate);
-void cli_put_dos_date3(struct cli_state *cli, char *buf, int offset, time_t unixdate);
-time_t cli_make_unix_date(struct cli_state *cli, const void *date_ptr);
-time_t cli_make_unix_date2(struct cli_state *cli, const void *date_ptr);
-time_t cli_make_unix_date3(struct cli_state *cli, const void *date_ptr);
 void TimeInit(void);
 void get_process_uptime(struct timeval *ret_time);
 void get_startup_time(struct timeval *ret_time);
@@ -2687,6 +2682,7 @@ struct tevent_req *cli_trans_send(
 	uint8_t *param, uint32_t num_param, uint32_t max_param,
 	uint8_t *data, uint32_t num_data, uint32_t max_data);
 NTSTATUS cli_trans_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx,
+			uint16_t *recv_flags2,
 			uint16_t **setup, uint8_t min_setup,
 			uint8_t *num_setup,
 			uint8_t **param, uint32_t min_param,
@@ -2700,6 +2696,7 @@ NTSTATUS cli_trans(TALLOC_CTX *mem_ctx, struct cli_state *cli,
 		   uint16_t *setup, uint8_t num_setup, uint8_t max_setup,
 		   uint8_t *param, uint32_t num_param, uint32_t max_param,
 		   uint8_t *data, uint32_t num_data, uint32_t max_data,
+		   uint16_t *recv_flags2,
 		   uint16_t **rsetup, uint8_t min_rsetup, uint8_t *num_rsetup,
 		   uint8_t **rparam, uint32_t min_rparam, uint32_t *num_rparam,
 		   uint8_t **rdata, uint32_t min_rdata, uint32_t *num_rdata);
diff --git a/source3/lib/time.c b/source3/lib/time.c
index 3a43a5b..71d6587 100644
--- a/source3/lib/time.c
+++ b/source3/lib/time.c
@@ -259,7 +259,7 @@ void dos_filetime_timespec(struct timespec *tsp)
  localtime).
 ********************************************************************/
 
-static time_t make_unix_date(const void *date_ptr, int zone_offset)
+time_t make_unix_date(const void *date_ptr, int zone_offset)
 {
 	uint32_t dos_date=0;
 	struct tm t;
@@ -433,41 +433,6 @@ struct timespec interpret_long_date(const char *p)
 	return nt_time_to_unix_timespec(&nt);
 }
 
-/***************************************************************************
- Client versions of the above functions.
-***************************************************************************/
-
-void cli_put_dos_date(struct cli_state *cli, char *buf, int offset, time_t unixdate)
-{
-	push_dos_date((uint8_t *)buf, offset, unixdate, cli->serverzone);
-}
-
-void cli_put_dos_date2(struct cli_state *cli, char *buf, int offset, time_t unixdate)
-{
-	push_dos_date2((uint8_t *)buf, offset, unixdate, cli->serverzone);
-}
-
-void cli_put_dos_date3(struct cli_state *cli, char *buf, int offset, time_t unixdate)
-{
-	push_dos_date3((uint8_t *)buf, offset, unixdate, cli->serverzone);
-}
-
-time_t cli_make_unix_date(struct cli_state *cli, const void *date_ptr)
-{
-	return make_unix_date(date_ptr, cli->serverzone);
-}
-
-time_t cli_make_unix_date2(struct cli_state *cli, const void *date_ptr)
-{
-	return make_unix_date2(date_ptr, cli->serverzone);
-}
-
-time_t cli_make_unix_date3(struct cli_state *cli, const void *date_ptr)
-{
-	return make_unix_date3(date_ptr, cli->serverzone);
-}
-
-
 /*******************************************************************
  Re-read the smb serverzone value.
 ******************************************************************/
diff --git a/source3/libsmb/cliconnect.c b/source3/libsmb/cliconnect.c
index 9d84585..54e6a5d 100644
--- a/source3/libsmb/cliconnect.c
+++ b/source3/libsmb/cliconnect.c
@@ -2146,8 +2146,8 @@ static void cli_negprot_done(struct tevent_req *subreq)
 		cli->serverzone = SVALS(vwv + 10, 0);
 		cli->serverzone *= 60;
 		/* this time is converted to GMT by make_unix_date */
-		cli->servertime = cli_make_unix_date(
-			cli, (char *)(vwv + 8));
+		cli->servertime = make_unix_date(
+			(char *)(vwv + 8), cli->serverzone);
 		cli->readbraw_supported = ((SVAL(vwv + 5, 0) & 0x1) != 0);
 		cli->writebraw_supported = ((SVAL(vwv + 5, 0) & 0x2) != 0);
 		cli->secblob = data_blob(bytes, num_bytes);
diff --git a/source3/libsmb/clifile.c b/source3/libsmb/clifile.c
index 6b8230b..2067b79 100644
--- a/source3/libsmb/clifile.c
+++ b/source3/libsmb/clifile.c
@@ -119,7 +119,7 @@ struct link_state {
 
 static void cli_posix_link_internal_done(struct tevent_req *subreq)
 {
-	NTSTATUS status = cli_trans_recv(subreq, NULL, NULL, 0, NULL,
+	NTSTATUS status = cli_trans_recv(subreq, NULL, NULL, NULL, 0, NULL,
 					 NULL, 0, NULL, NULL, 0, NULL);
 	tevent_req_simple_finish_ntstatus(subreq, status);
 }
@@ -836,7 +836,7 @@ struct ch_state {
 
 static void cli_posix_chown_chmod_internal_done(struct tevent_req *subreq)
 {
-	NTSTATUS status = cli_trans_recv(subreq, NULL, NULL, 0, NULL,
+	NTSTATUS status = cli_trans_recv(subreq, NULL, NULL, NULL, 0, NULL,
 					 NULL, 0, NULL, NULL, 0, NULL);
 	tevent_req_simple_finish_ntstatus(subreq, status);
 }
@@ -1734,7 +1734,7 @@ struct doc_state {
 
 static void cli_nt_delete_on_close_done(struct tevent_req *subreq)
 {
-	NTSTATUS status = cli_trans_recv(subreq, NULL, NULL, 0, NULL,
+	NTSTATUS status = cli_trans_recv(subreq, NULL, NULL, NULL, 0, NULL,
 					 NULL, 0, NULL, NULL, 0, NULL);
 	tevent_req_simple_finish_ntstatus(subreq, status);
 }
@@ -2344,7 +2344,7 @@ struct ftrunc_state {
 
 static void cli_ftruncate_done(struct tevent_req *subreq)
 {
-	NTSTATUS status = cli_trans_recv(subreq, NULL, NULL, 0, NULL,
+	NTSTATUS status = cli_trans_recv(subreq, NULL, NULL, NULL, 0, NULL,
 					 NULL, 0, NULL, NULL, 0, NULL);
 	tevent_req_simple_finish_ntstatus(subreq, status);
 }
@@ -2869,7 +2869,7 @@ struct posix_lock_state {
 
 static void cli_posix_unlock_internal_done(struct tevent_req *subreq)
 {
-	NTSTATUS status = cli_trans_recv(subreq, NULL, NULL, 0, NULL,
+	NTSTATUS status = cli_trans_recv(subreq, NULL, NULL, NULL, 0, NULL,
 					 NULL, 0, NULL, NULL, 0, NULL);
 	tevent_req_simple_finish_ntstatus(subreq, status);
 }
@@ -3441,9 +3441,12 @@ struct tevent_req *cli_setattrE_send(TALLOC_CTX *mem_ctx,
 	}
 
 	SSVAL(state->vwv+0, 0, fnum);
-	cli_put_dos_date2(cli, (char *)&state->vwv[1], 0, change_time);
-	cli_put_dos_date2(cli, (char *)&state->vwv[3], 0, access_time);
-	cli_put_dos_date2(cli, (char *)&state->vwv[5], 0, write_time);
+	push_dos_date2((uint8_t *)&state->vwv[1], 0, change_time,
+		       cli->serverzone);
+	push_dos_date2((uint8_t *)&state->vwv[3], 0, access_time,
+		       cli->serverzone);
+	push_dos_date2((uint8_t *)&state->vwv[5], 0, write_time,
+		       cli->serverzone);
 
 	subreq = cli_smb_send(state, ev, cli, SMBsetattrE, additional_flags,
 			      7, state->vwv, 0, NULL);
@@ -3554,7 +3557,7 @@ struct tevent_req *cli_setatr_send(TALLOC_CTX *mem_ctx,
 	}
 
 	SSVAL(state->vwv+0, 0, attr);
-	cli_put_dos_date3(cli, (char *)&state->vwv[1], 0, mtime);
+	push_dos_date3((uint8_t *)&state->vwv[1], 0, mtime, cli->serverzone);
 
 	bytes = talloc_array(state, uint8_t, 1);
 	if (tevent_req_nomem(bytes, req)) {
@@ -4517,8 +4520,8 @@ static void cli_posix_open_internal_done(struct tevent_req *subreq)
 	uint8_t *data;
 	uint32_t num_data;
 
-	status = cli_trans_recv(subreq, state, NULL, 0, NULL, NULL, 0, NULL,
-				&data, 12, &num_data);
+	status = cli_trans_recv(subreq, state, NULL, NULL, 0, NULL,
+				NULL, 0, NULL, &data, 12, &num_data);
 	TALLOC_FREE(subreq);
 	if (!NT_STATUS_IS_OK(status)) {
 		tevent_req_nterror(req, status);
@@ -4753,7 +4756,7 @@ struct unlink_state {
 
 static void cli_posix_unlink_internal_done(struct tevent_req *subreq)
 {
-	NTSTATUS status = cli_trans_recv(subreq, NULL, NULL, 0, NULL,
+	NTSTATUS status = cli_trans_recv(subreq, NULL, NULL, NULL, 0, NULL,
 					 NULL, 0, NULL, NULL, 0, NULL);
 	tevent_req_simple_finish_ntstatus(subreq, status);
 }
@@ -5020,7 +5023,7 @@ static void cli_notify_done(struct tevent_req *subreq)
 	uint8_t *params;
 	uint32_t i, ofs, num_params;
 
-	status = cli_trans_recv(subreq, talloc_tos(), NULL, 0, NULL,
+	status = cli_trans_recv(subreq, talloc_tos(), NULL, NULL, 0, NULL,
 				&params, 0, &num_params, NULL, 0, NULL);
 	TALLOC_FREE(subreq);
 	if (!NT_STATUS_IS_OK(status)) {
@@ -5170,7 +5173,8 @@ static void cli_qpathinfo_done(struct tevent_req *subreq)
 		req, struct cli_qpathinfo_state);
 	NTSTATUS status;
 
-	status = cli_trans_recv(subreq, state, NULL, 0, NULL, NULL, 0, NULL,
+	status = cli_trans_recv(subreq, state, NULL, NULL, 0, NULL,
+				NULL, 0, NULL,
 				&state->rdata, state->min_rdata,
 				&state->num_rdata);
 	if (!NT_STATUS_IS_OK(status)) {
diff --git a/source3/libsmb/clifsinfo.c b/source3/libsmb/clifsinfo.c
index 9e4d9fa..6cbf710 100644
--- a/source3/libsmb/clifsinfo.c
+++ b/source3/libsmb/clifsinfo.c
@@ -74,8 +74,8 @@ static void cli_unix_extensions_version_done(struct tevent_req *subreq)
 	uint32_t num_data;
 	NTSTATUS status;
 
-	status = cli_trans_recv(subreq, state, NULL, 0, NULL, NULL, 0, NULL,
-				&data, 12, &num_data);
+	status = cli_trans_recv(subreq, state, NULL, NULL, 0, NULL,
+				NULL, 0, NULL, &data, 12, &num_data);
 	TALLOC_FREE(subreq);
 	if (!NT_STATUS_IS_OK(status)) {
 		tevent_req_nterror(req, status);
@@ -214,7 +214,7 @@ static void cli_set_unix_extensions_capabilities_done(
 	struct cli_set_unix_extensions_capabilities_state *state = tevent_req_data(
 		req, struct cli_set_unix_extensions_capabilities_state);
 
-	NTSTATUS status = cli_trans_recv(subreq, NULL, NULL, 0, NULL,
+	NTSTATUS status = cli_trans_recv(subreq, NULL, NULL, NULL, 0, NULL,
 					 NULL, 0, NULL, NULL, 0, NULL);
 	if (NT_STATUS_IS_OK(status)) {
 		state->cli->requested_posix_capabilities = IVAL(state->data, 4);
@@ -304,7 +304,7 @@ static void cli_get_fs_attr_info_done(struct tevent_req *subreq)
 	uint32_t num_data;
 	NTSTATUS status;
 
-	status = cli_trans_recv(subreq, talloc_tos(), NULL, 0, NULL,
+	status = cli_trans_recv(subreq, talloc_tos(), NULL, NULL, 0, NULL,
 				NULL, 0, NULL, &data, 12, &num_data);
 	TALLOC_FREE(subreq);
 	if (!NT_STATUS_IS_OK(status)) {
@@ -376,6 +376,7 @@ NTSTATUS cli_get_fs_volume_info(struct cli_state *cli, fstring volume_name,
 			   setup, 1, 0,
 			   param, 2, 0,
 			   NULL, 0, 560,
+			   NULL,
 			   NULL, 0, NULL,
 			   NULL, 0, NULL,
 			   &rdata, 10, &rdata_count);
diff --git a/source3/libsmb/clilist.c b/source3/libsmb/clilist.c
index a8e3bd5..56de119 100644
--- a/source3/libsmb/clilist.c
+++ b/source3/libsmb/clilist.c
@@ -70,9 +70,12 @@ static size_t interpret_long_filename(TALLOC_CTX *ctx,
 			if (pdata_end - base < 27) {
 				return pdata_end - base;
 			}
-			finfo->ctime_ts = convert_time_t_to_timespec(cli_make_unix_date2(cli, p+4));
-			finfo->atime_ts = convert_time_t_to_timespec(cli_make_unix_date2(cli, p+8));
-			finfo->mtime_ts = convert_time_t_to_timespec(cli_make_unix_date2(cli, p+12));
+			finfo->ctime_ts = convert_time_t_to_timespec(
+				make_unix_date2(p+4, cli->serverzone));
+			finfo->atime_ts = convert_time_t_to_timespec(
+				make_unix_date2(p+8, cli->serverzone));
+			finfo->mtime_ts = convert_time_t_to_timespec(
+				make_unix_date2(p+12, cli->serverzone));
 			finfo->size = IVAL(p,16);
 			finfo->mode = CVAL(p,24);
 			len = CVAL(p, 26);
@@ -115,9 +118,12 @@ static size_t interpret_long_filename(TALLOC_CTX *ctx,
 			if (pdata_end - base < 31) {
 				return pdata_end - base;
 			}
-			finfo->ctime_ts = convert_time_t_to_timespec(cli_make_unix_date2(cli, p+4));
-			finfo->atime_ts = convert_time_t_to_timespec(cli_make_unix_date2(cli, p+8));
-			finfo->mtime_ts = convert_time_t_to_timespec(cli_make_unix_date2(cli, p+12));
+			finfo->ctime_ts = convert_time_t_to_timespec(
+				make_unix_date2(p+4, cli->serverzone));
+			finfo->atime_ts = convert_time_t_to_timespec(
+				make_unix_date2(p+8, cli->serverzone));
+			finfo->mtime_ts = convert_time_t_to_timespec(
+				make_unix_date2(p+12, cli->serverzone));
 			finfo->size = IVAL(p,16);
 			finfo->mode = CVAL(p,24);
 			len = CVAL(p, 30);
@@ -510,7 +516,7 @@ static bool interpret_short_filename(TALLOC_CTX *ctx,
 	finfo->mode = CVAL(p,21);
 
 	/* this date is converted to GMT by make_unix_date */
-	finfo->ctime_ts.tv_sec = cli_make_unix_date(cli, p+22);
+	finfo->ctime_ts.tv_sec = make_unix_date(p+22, cli->serverzone);
 	finfo->ctime_ts.tv_nsec = 0;
 	finfo->mtime_ts.tv_sec = finfo->atime_ts.tv_sec = finfo->ctime_ts.tv_sec;
 	finfo->mtime_ts.tv_nsec = finfo->atime_ts.tv_nsec = 0;
diff --git a/source3/libsmb/cliprint.c b/source3/libsmb/cliprint.c
index 723ae02..89e80d2 100644
--- a/source3/libsmb/cliprint.c
+++ b/source3/libsmb/cliprint.c
@@ -98,7 +98,8 @@ int cli_print_queue(struct cli_state *cli,
 				fstrcpy(job.user,
 					fix_char_ptr(SVAL(p,4), converter,
 						     rdata, rdrcnt));
-				job.t = cli_make_unix_date3(cli, p + 12);
+				job.t = make_unix_date3(
+					p + 12, cli->serverzone);
 				job.size = IVAL(p,16);
 				fstrcpy(job.name,fix_char_ptr(SVAL(p,24),
 							      converter,
diff --git a/source3/libsmb/clirap.c b/source3/libsmb/clirap.c
index df37894..a1b911c 100644
--- a/source3/libsmb/clirap.c
+++ b/source3/libsmb/clirap.c
@@ -590,26 +590,26 @@ NTSTATUS cli_qpathinfo1_recv(struct tevent_req *req,
 		req, struct cli_qpathinfo1_state);
 	NTSTATUS status;
 
-	time_t (*date_fn)(struct cli_state *, const void *);
+	time_t (*date_fn)(const void *buf, int serverzone);
 
 	if (tevent_req_is_nterror(req, &status)) {
 		return status;
 	}
 
 	if (state->cli->win95) {
-		date_fn = cli_make_unix_date;
+		date_fn = make_unix_date;
 	} else {
-		date_fn = cli_make_unix_date2;
+		date_fn = make_unix_date2;
 	}
 
 	if (change_time) {
-		*change_time = date_fn(state->cli, state->data+0);
+		*change_time = date_fn(state->data+0, state->cli->serverzone);
 	}
 	if (access_time) {
-		*access_time = date_fn(state->cli, state->data+4);
+		*access_time = date_fn(state->data+4, state->cli->serverzone);
 	}
 	if (write_time) {
-		*write_time = date_fn(state->cli, state->data+8);
+		*write_time = date_fn(state->data+8, state->cli->serverzone);
 	}
 	if (size) {
 		*size = IVAL(state->data, 12);
@@ -1171,6 +1171,7 @@ bool cli_qfileinfo(struct cli_state *cli, uint16_t fnum,
 			   &setup, 1, 0,          /* setup, length, max */
 			   param, 4, 2,   /* param, length, max */
 			   NULL, 0, MIN(cli->max_xmit, 0xffff), /* data, length, max */
+			   NULL,				/* recv_flags2 */
 			   NULL, 0, NULL, /* rsetup, length */
 			   NULL, 0, NULL,	/* rparam, length */
 			   &rdata, 68, &data_len);
diff --git a/source3/libsmb/clisecdesc.c b/source3/libsmb/clisecdesc.c
index 1fc3da0..6e7beef 100644
--- a/source3/libsmb/clisecdesc.c
+++ b/source3/libsmb/clisecdesc.c
@@ -40,6 +40,7 @@ struct security_descriptor *cli_query_secdesc(struct cli_state *cli, uint16_t fn
 			   NULL, 0, 0, /* setup, length, max */
 			   param, 8, 4, /* param, length, max */
 			   NULL, 0, 0x10000, /* data, length, max */
+			   NULL,	     /* recv_flags2 */
 			   NULL, 0, NULL, /* rsetup, length */
 			   NULL, 0, NULL,
 			   &rdata, 0, &rdata_count);
diff --git a/source3/libsmb/clitrans.c b/source3/libsmb/clitrans.c
index 56580e6..dd0873d 100644
--- a/source3/libsmb/clitrans.c
+++ b/source3/libsmb/clitrans.c
@@ -720,6 +720,7 @@ struct cli_trans_state {
 	uint16_t *rsetup;
 	struct trans_recvblob rparam;
 	struct trans_recvblob rdata;
+	uint16_t recv_flags2;
 
 	TALLOC_CTX *secondary_request_ctx;
 
@@ -1191,6 +1192,7 @@ static void cli_trans_done(struct tevent_req *subreq)
 
 	if ((state->rparam.total == state->rparam.received)
 	    && (state->rdata.total == state->rdata.received)) {
+		state->recv_flags2 = SVAL(inbuf, smb_flg2);
 		TALLOC_FREE(subreq);
 		cli_state_seqnum_remove(state->cli, state->mid);
 		tevent_req_done(req);
@@ -1212,6 +1214,7 @@ static void cli_trans_done(struct tevent_req *subreq)
 }
 
 NTSTATUS cli_trans_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx,
+			uint16_t *recv_flags2,
 			uint16_t **setup, uint8_t min_setup,
 			uint8_t *num_setup,
 			uint8_t **param, uint32_t min_param,
@@ -1233,6 +1236,10 @@ NTSTATUS cli_trans_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx,
 		return NT_STATUS_INVALID_NETWORK_RESPONSE;
 	}
 
+	if (recv_flags2 != NULL) {
+		*recv_flags2 = state->recv_flags2;
+	}
+
 	if (setup != NULL) {
 		*setup = talloc_move(mem_ctx, &state->rsetup);
 		*num_setup = state->num_rsetup;
@@ -1264,6 +1271,7 @@ NTSTATUS cli_trans(TALLOC_CTX *mem_ctx, struct cli_state *cli,
 		   uint16_t *setup, uint8_t num_setup, uint8_t max_setup,
 		   uint8_t *param, uint32_t num_param, uint32_t max_param,
 		   uint8_t *data, uint32_t num_data, uint32_t max_data,
+		   uint16_t *recv_flags2,
 		   uint16_t **rsetup, uint8_t min_rsetup, uint8_t *num_rsetup,
 		   uint8_t **rparam, uint32_t min_rparam, uint32_t *num_rparam,
 		   uint8_t **rdata, uint32_t min_rdata, uint32_t *num_rdata)
@@ -1302,7 +1310,8 @@ NTSTATUS cli_trans(TALLOC_CTX *mem_ctx, struct cli_state *cli,
 		goto fail;
 	}
 
-	status = cli_trans_recv(req, mem_ctx, rsetup, min_rsetup, num_rsetup,
+	status = cli_trans_recv(req, mem_ctx, recv_flags2,
+				rsetup, min_rsetup, num_rsetup,
 				rparam, min_rparam, num_rparam,
 				rdata, min_rdata, num_rdata);
  fail:
diff --git a/source3/rpc_client/rpc_transport_np.c b/source3/rpc_client/rpc_transport_np.c
index e00c1f3..9d803aa 100644
--- a/source3/rpc_client/rpc_transport_np.c
+++ b/source3/rpc_client/rpc_transport_np.c
@@ -329,7 +329,8 @@ static void rpc_np_trans_done(struct tevent_req *subreq)
 		req, struct rpc_np_trans_state);
 	NTSTATUS status;
 
-	status = cli_trans_recv(subreq, state, NULL, 0, NULL, NULL, 0, NULL,
+	status = cli_trans_recv(subreq, state, NULL, NULL, 0, NULL,
+				NULL, 0, NULL,
 				&state->rdata, 0, &state->rdata_len);
 	TALLOC_FREE(subreq);
 	if (NT_STATUS_EQUAL(status, NT_STATUS_BUFFER_TOO_SMALL)) {


-- 
Samba Shared Repository


More information about the samba-cvs mailing list