[SCM] Samba Shared Repository - branch master updated

Jeremy Allison jra at samba.org
Wed Nov 4 20:18:03 UTC 2020


The branch, master has been updated
       via  3e8ce497f3d libsmb: Remove cli_state->dfs_mountpoint
       via  a7d39ed1433 libsmb: Remove "mntpoint" argument from cli_list_trans() callback
       via  4ebe72b942b libsmb: Remove "mntpoint" argument from cli_list() callback
       via  4cc4938a286 smbclient: Fix recursive "ls" across DFS links
       via  886665644c9 smbclient: Add "mask" to do_list_helper_state
       via  623bc39bb8e smbclient: Introduce struct do_list_helper_state
       via  fd4308640ff smbclient: Wrap a few long lines
       via  f879c833428 smbclient: Move variable declarations closer to their use
       via  95e235172aa torture: Show that recursive ls across dfs is broken
       via  7ea5c1f05d8 libsmb: Fix a signed/unsigned warning
       via  40cec27636b smbd: Align two integer types
       via  af49efcde2e libreplace: Compare a pointer against NULL, not 0
       via  669414efacc libsmb: Fix a typo
       via  0851afdffd1 libsmb: Improve wording of a comment in cli_smb2_list
      from  f9016912098 lookup_name: allow lookup for own realm

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


- Log -----------------------------------------------------------------
commit 3e8ce497f3d28cfafcf593dbc0b38707c813b513
Author: Volker Lendecke <vl at samba.org>
Date:   Sat Oct 31 16:48:31 2020 +0100

    libsmb: Remove cli_state->dfs_mountpoint
    
    Not used anymore
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>
    
    Autobuild-User(master): Jeremy Allison <jra at samba.org>
    Autobuild-Date(master): Wed Nov  4 20:17:47 UTC 2020 on sn-devel-184

commit a7d39ed14334c6a959d68ecd7eb451becf6a35e5
Author: Volker Lendecke <vl at samba.org>
Date:   Fri Oct 30 18:49:52 2020 +0100

    libsmb: Remove "mntpoint" argument from cli_list_trans() callback
    
    This was unused in the callers, also do this for symmetry.
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 4ebe72b942b1404d131047a407b4aac5af0c349d
Author: Volker Lendecke <vl at samba.org>
Date:   Mon Oct 19 10:09:23 2020 +0200

    libsmb: Remove "mntpoint" argument from cli_list() callback
    
    do_list()/do_list_helper() in source3/client/client.c was the only user of this
    argument. And that use was wrong.
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 4cc4938a2866738aaff4dc91550bb7a5ad05d7fb
Author: Volker Lendecke <vl at samba.org>
Date:   Mon Oct 19 09:37:03 2020 +0200

    smbclient: Fix recursive "ls" across DFS links
    
    This is an a bit subtle patch: The main trick is that the previous
    code a DFS-style \\server\share\dir1\dir2 path ended up in the list of
    directories to enumerate. This was then processed by do_list again,
    passing it to cli_resolve_path. However, cli_resolve_path always
    expects non-DFS style paths as input. This patch passes the original,
    non-DFS path to do_list_helper(), so that it ends up without the DFS
    style \\server\share prefix in the directory queue.
    
    From general failure it just fails on the SMB1-based environments,
    like the other smbclient_s3 ones in knownfail.d/smb1-tests
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 886665644c9c5fb0c0f36d79db80d0021b829b6b
Author: Volker Lendecke <vl at samba.org>
Date:   Sun Oct 18 18:39:17 2020 +0200

    smbclient: Add "mask" to do_list_helper_state
    
    To me this is simpler to understand than to rely on the cli_list
    callback which goes through some function call layers. Also, this
    gives more obvious control over what we pass in the next patch.
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 623bc39bb8e54d4f86a524dd281f138a4b703970
Author: Volker Lendecke <vl at samba.org>
Date:   Sun Oct 11 07:41:01 2020 +0200

    smbclient: Introduce struct do_list_helper_state
    
    We'll pass more information to do_list_helper() soon
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit fd4308640ffde8de8fd79491539b01530c24e3c5
Author: Volker Lendecke <vl at samba.org>
Date:   Sun Oct 11 07:35:52 2020 +0200

    smbclient: Wrap a few long lines
    
    Make the next patch simpler
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit f879c83342865dd4c9c2265fb5ccbea343da7815
Author: Volker Lendecke <vl at samba.org>
Date:   Thu Oct 29 21:32:21 2020 +0100

    smbclient: Move variable declarations closer to their use
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 95e235172aa7773d7c9f1135c4181ad2c2519579
Author: Volker Lendecke <vl at samba.org>
Date:   Tue Oct 27 10:12:51 2020 +0100

    torture: Show that recursive ls across dfs is broken
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 7ea5c1f05d834ace9a12e193f237aa89ff2be486
Author: Volker Lendecke <vl at samba.org>
Date:   Mon Oct 26 09:18:57 2020 +0100

    libsmb: Fix a signed/unsigned warning
    
    "num_bytes" is uint32_t, "received" is uint16_t. The multiplication
    seems to implicitly widen "received" to int, leading to a
    signed/unsigned warning. This cast makes that warning go away.
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 40cec27636bb283ebc256d10de5a20e561984f7d
Author: Volker Lendecke <vl at samba.org>
Date:   Wed Oct 21 12:59:29 2020 +0200

    smbd: Align two integer types
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit af49efcde2e69958e94e8e1d82183d5c4ea0cf5d
Author: Volker Lendecke <vl at samba.org>
Date:   Thu Oct 22 11:32:29 2020 +0200

    libreplace: Compare a pointer against NULL, not 0
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 669414efacce6f06b6d1c01a16c981b24c3e165f
Author: Volker Lendecke <vl at samba.org>
Date:   Sat Oct 31 17:32:14 2020 +0100

    libsmb: Fix a typo
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 0851afdffd1591eb71f3aa00158efbcb358ea5ed
Author: Volker Lendecke <vl at samba.org>
Date:   Sun Nov 1 09:58:23 2020 +0100

    libsmb: Improve wording of a comment in cli_smb2_list
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

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

Summary of changes:
 lib/replace/closefrom.c                   |  2 +-
 libgpo/gpo_filesync.c                     |  6 +-
 selftest/knownfail.d/smb1-tests           |  1 +
 source3/client/client.c                   | 99 +++++++++++++++++++------------
 source3/include/client.h                  |  3 -
 source3/libsmb/cli_smb2_fnum.c            | 11 ++--
 source3/libsmb/cli_smb2_fnum.h            |  3 +-
 source3/libsmb/clidfs.c                   | 18 ------
 source3/libsmb/clientgen.c                |  4 --
 source3/libsmb/clilist.c                  | 20 +++----
 source3/libsmb/libsmb_dir.c               |  6 +-
 source3/libsmb/namequery.c                |  2 +-
 source3/libsmb/proto.h                    | 11 ++--
 source3/libsmb/pylibsmb.c                 | 10 ++--
 source3/script/tests/test_smbclient_s3.sh | 38 ++++++++++++
 source3/smbd/notify_inotify.c             |  4 +-
 source3/torture/masktest.c                |  6 +-
 source3/torture/nbio.c                    |  4 +-
 source3/torture/test_hidenewfiles.c       |  3 +-
 source3/torture/test_readdir_timestamp.c  |  1 -
 source3/torture/torture.c                 | 20 +++----
 source3/utils/net_rpc.c                   |  2 +-
 source3/utils/smbcacls.c                  |  2 +-
 23 files changed, 151 insertions(+), 125 deletions(-)


Changeset truncated at 500 lines:

diff --git a/lib/replace/closefrom.c b/lib/replace/closefrom.c
index a61a80f1b0f..bef53e42734 100644
--- a/lib/replace/closefrom.c
+++ b/lib/replace/closefrom.c
@@ -54,7 +54,7 @@ static int closefrom_procfs(int lower)
 	int ret = ENOMEM;
 
 	dirp = opendir("/proc/self/fd");
-	if (dirp == 0) {
+	if (dirp == NULL) {
 		return errno;
 	}
 
diff --git a/libgpo/gpo_filesync.c b/libgpo/gpo_filesync.c
index 3cd94706551..a547f5da77c 100644
--- a/libgpo/gpo_filesync.c
+++ b/libgpo/gpo_filesync.c
@@ -33,8 +33,7 @@ struct sync_context {
 	uint16_t attribute;
 };
 
-static NTSTATUS gpo_sync_func(const char *mnt,
-			  struct file_info *info,
+static NTSTATUS gpo_sync_func(struct file_info *info,
 			  const char *mask,
 			  void *state);
 
@@ -136,8 +135,7 @@ static NTSTATUS gpo_sync_files(struct sync_context *ctx)
  syncronisation call back
 ****************************************************************/
 
-static NTSTATUS gpo_sync_func(const char *mnt,
-			  struct file_info *info,
+static NTSTATUS gpo_sync_func(struct file_info *info,
 			  const char *mask,
 			  void *state)
 {
diff --git a/selftest/knownfail.d/smb1-tests b/selftest/knownfail.d/smb1-tests
index 28e78fa0427..4ba1365b3a4 100644
--- a/selftest/knownfail.d/smb1-tests
+++ b/selftest/knownfail.d/smb1-tests
@@ -30,6 +30,7 @@
 ^samba3.blackbox.smbclient_s3.NT1.(plain|sign).member_creds.rename_dotdot\((ad_member|nt4_member)\)
 ^samba3.blackbox.smbclient_s3.NT1.(plain|sign).member_creds.volume\((ad_member|nt4_member)\)
 ^samba3.blackbox.smbclient_s3.NT1.(plain|sign).member_creds.delete a non empty directory\((ad_member|nt4_member)\)
+^samba3.blackbox.smbclient_s3.NT1.(plain|sign).member_creds.Recursive ls across MS-DFS links\((ad_member|nt4_member)\)
 ^samba3.blackbox.smbclient_s3.*valid.users.nt4.*
 ^samba3.blackbox.smbclient_s3.NT1.*valid.users.*
 ^samba3.unix.whoami machine account.whoami\(ad_member:local\)
diff --git a/source3/client/client.c b/source3/client/client.c
index 392b23f06ea..e2fdacd1251 100644
--- a/source3/client/client.c
+++ b/source3/client/client.c
@@ -585,6 +585,8 @@ static NTSTATUS display_finfo(struct cli_state *cli_state, struct file_info *fin
 			time_to_asc(t));
 		dir_total += finfo->size;
 	} else {
+		struct cli_state *targetcli = NULL;
+		char *targetpath = NULL;
 		char *afname = NULL;
 		uint16_t fnum;
 
@@ -605,9 +607,26 @@ static NTSTATUS display_finfo(struct cli_state *cli_state, struct file_info *fin
 		d_printf( "MODE:%s\n", attrib_string(talloc_tos(), finfo->attr));
 		d_printf( "SIZE:%.0f\n", (double)finfo->size);
 		d_printf( "MTIME:%s", time_to_asc(t));
+
+		status = cli_resolve_path(
+			ctx,
+			"",
+			get_cmdline_auth_info_creds(
+				popt_get_cmdline_auth_info()),
+			cli_state,
+			afname,
+			&targetcli,
+			&targetpath);
+		if (!NT_STATUS_IS_OK(status)) {
+			DBG_WARNING("display_finfo() Failed to resolve "
+				    "%s: %s\n",
+				    afname, nt_errstr(status));
+			return status;
+		}
+
 		status = cli_ntcreate(
-			cli_state,	      /* cli */
-			afname,		      /* fname */
+			targetcli,	      /* cli */
+			targetpath,	      /* fname */
 			0,		      /* CreatFlags */
 			READ_CONTROL_ACCESS,  /* DesiredAccess */
 			0,		      /* FileAttributes */
@@ -623,7 +642,7 @@ static NTSTATUS display_finfo(struct cli_state *cli_state, struct file_info *fin
 				   afname, nt_errstr(status)));
 		} else {
 			struct security_descriptor *sd = NULL;
-			status = cli_query_secdesc(cli_state, fnum,
+			status = cli_query_secdesc(targetcli, fnum,
 						   ctx, &sd);
 			if (!NT_STATUS_IS_OK(status)) {
 				DEBUG( 0, ("display_finfo() failed to "
@@ -723,19 +742,25 @@ static int do_list_queue_empty(void)
  A helper for do_list.
 ****************************************************************************/
 
-static NTSTATUS do_list_helper(const char *mntpoint, struct file_info *f,
-			   const char *mask, void *state)
+struct do_list_helper_state {
+	const char *mask;
+	struct cli_state *cli;
+};
+
+static NTSTATUS do_list_helper(
+	struct file_info *f,
+	const char *_mask,
+	void *private_data)
 {
-	struct cli_state *cli_state = (struct cli_state *)state;
+	struct do_list_helper_state *state = private_data;
 	TALLOC_CTX *ctx = talloc_tos();
 	char *dir = NULL;
 	char *dir_end = NULL;
 	NTSTATUS status = NT_STATUS_OK;
 	char *mask2 = NULL;
-	char *p = NULL;
 
 	/* Work out the directory. */
-	dir = talloc_strdup(ctx, mask);
+	dir = talloc_strdup(ctx, state->mask);
 	if (!dir) {
 		return NT_STATUS_NO_MEMORY;
 	}
@@ -745,14 +770,14 @@ static NTSTATUS do_list_helper(const char *mntpoint, struct file_info *f,
 
 	if (!(f->attr & FILE_ATTRIBUTE_DIRECTORY)) {
 		if (do_this_one(f)) {
-			status = do_list_fn(cli_state, f, dir);
+			status = do_list_fn(state->cli, f, dir);
 		}
 		TALLOC_FREE(dir);
 		return status;
 	}
 
 	if (do_list_dirs && do_this_one(f)) {
-		status = do_list_fn(cli_state, f, dir);
+		status = do_list_fn(state->cli, f, dir);
 		if (!NT_STATUS_IS_OK(status)) {
 			return status;
 		}
@@ -772,23 +797,11 @@ static NTSTATUS do_list_helper(const char *mntpoint, struct file_info *f,
 	}
 
 	mask2 = talloc_asprintf(ctx,
-				"%s%s",
-				mntpoint,
-				mask);
-	if (!mask2) {
-		TALLOC_FREE(dir);
-		return NT_STATUS_NO_MEMORY;
-	}
-	p = strrchr_m(mask2,CLI_DIRSEP_CHAR);
-	if (p) {
-		p[1] = 0;
-	} else {
-		mask2[0] = '\0';
-	}
-	mask2 = talloc_asprintf_append(mask2,
-				       "%s%s*",
-				       f->name,
-				       CLI_DIRSEP_STR);
+				"%s%c%s%c*",
+				dir,
+				CLI_DIRSEP_CHAR,
+				f->name,
+				CLI_DIRSEP_CHAR);
 	if (!mask2) {
 		TALLOC_FREE(dir);
 		return NT_STATUS_NO_MEMORY;
@@ -811,10 +824,9 @@ NTSTATUS do_list(const char *mask,
 			bool rec,
 			bool dirs)
 {
+	struct do_list_helper_state state = { .cli = cli, };
 	static int in_do_list = 0;
 	TALLOC_CTX *ctx = talloc_tos();
-	struct cli_state *targetcli = NULL;
-	char *targetpath = NULL;
 	struct cli_credentials *creds =
 		get_cmdline_auth_info_creds(popt_get_cmdline_auth_info());
 	NTSTATUS ret_status = NT_STATUS_OK;
@@ -835,22 +847,34 @@ NTSTATUS do_list(const char *mask,
 	add_to_do_list_queue(mask);
 
 	while (!do_list_queue_empty()) {
-		const char *head = do_list_queue_head();
+		struct cli_state *targetcli = NULL;
+		char *targetpath = NULL;
+
+		state.mask = do_list_queue_head();
 
 		/* check for dfs */
 
-		status = cli_resolve_path(ctx, "",
-					  creds,
-					  cli, head, &targetcli, &targetpath);
+		status = cli_resolve_path(
+			ctx,
+			"",
+			creds,
+			cli,
+			state.mask,
+			&targetcli,
+			&targetpath);
 		if (!NT_STATUS_IS_OK(status)) {
-			d_printf("do_list: [%s] %s\n", head,
+			d_printf("do_list: [%s] %s\n", state.mask,
 				 nt_errstr(status));
 			remove_do_list_queue_head();
 			continue;
 		}
 
-		status = cli_list(targetcli, targetpath, attribute,
-				  do_list_helper, targetcli);
+		status = cli_list(
+			targetcli,
+			targetpath,
+			attribute,
+			do_list_helper,
+			&state);
 		if (!NT_STATUS_IS_OK(status)) {
 			d_printf("%s listing %s\n",
 				 nt_errstr(status), targetpath);
@@ -5696,8 +5720,7 @@ struct completion_remote {
 	int len;
 };
 
-static NTSTATUS completion_remote_filter(const char *mnt,
-				struct file_info *f,
+static NTSTATUS completion_remote_filter(struct file_info *f,
 				const char *mask,
 				void *state)
 {
diff --git a/source3/include/client.h b/source3/include/client.h
index 19a738900b7..14be20ef1e0 100644
--- a/source3/include/client.h
+++ b/source3/include/client.h
@@ -78,9 +78,6 @@ struct cli_state {
 
 	bool use_oplocks; /* should we use oplocks? */
 
-	/* Where (if anywhere) this is mounted under DFS. */
-	char *dfs_mountpoint;
-
 	struct smbXcli_conn *conn;
 
 	struct {
diff --git a/source3/libsmb/cli_smb2_fnum.c b/source3/libsmb/cli_smb2_fnum.c
index c19fc4d7d39..b64ff087047 100644
--- a/source3/libsmb/cli_smb2_fnum.c
+++ b/source3/libsmb/cli_smb2_fnum.c
@@ -1287,8 +1287,7 @@ static bool windows_parent_dirname(TALLOC_CTX *mem_ctx,
 NTSTATUS cli_smb2_list(struct cli_state *cli,
 		       const char *pathname,
 		       uint32_t attribute,
-		       NTSTATUS (*fn)(const char *mointpoint,
-				      struct file_info *finfo,
+		       NTSTATUS (*fn)(struct file_info *finfo,
 				      const char *mask,
 				      void *private_data),
 		       void *private_data)
@@ -1422,15 +1421,15 @@ NTSTATUS cli_smb2_list(struct cli_state *cli,
 			if (dir_check_ftype(finfo->attr, attribute)) {
 				/*
 				 * Only process if attributes match.
-				 * On SMB1 server does this, so on
-				 * SMB2 we need to emulate in the
-				 * client.
+				 * SMB1 servers do the filtering, so
+				 * with SMB2 we need to emulate it in
+				 * the client.
 				 *
 				 * https://bugzilla.samba.org/show_bug.cgi?id=10260
 				 */
 				processed_file = true;
 
-				status = fn(cli->dfs_mountpoint,
+				status = fn(
 					finfo,
 					pathname,
 					private_data);
diff --git a/source3/libsmb/cli_smb2_fnum.h b/source3/libsmb/cli_smb2_fnum.h
index e24c8cb7279..d47ca43f9dd 100644
--- a/source3/libsmb/cli_smb2_fnum.h
+++ b/source3/libsmb/cli_smb2_fnum.h
@@ -96,8 +96,7 @@ NTSTATUS cli_smb2_unlink_recv(struct tevent_req *req);
 NTSTATUS cli_smb2_list(struct cli_state *cli,
 		       const char *pathname,
 		       uint32_t attribute,
-		       NTSTATUS (*fn)(const char *mointpoint,
-				      struct file_info *finfo,
+		       NTSTATUS (*fn)(struct file_info *finfo,
 				      const char *mask,
 				      void *private_data),
 		       void *private_data);
diff --git a/source3/libsmb/clidfs.c b/source3/libsmb/clidfs.c
index 081de18ac76..26b5499cf73 100644
--- a/source3/libsmb/clidfs.c
+++ b/source3/libsmb/clidfs.c
@@ -262,22 +262,6 @@ static NTSTATUS do_connect(TALLOC_CTX *ctx,
 	return NT_STATUS_OK;
 }
 
-/****************************************************************************
-****************************************************************************/
-
-static void cli_set_mntpoint(struct cli_state *cli, const char *mnt)
-{
-	TALLOC_CTX *frame = talloc_stackframe();
-	char *name = clean_name(frame, mnt);
-	if (!name) {
-		TALLOC_FREE(frame);
-		return;
-	}
-	TALLOC_FREE(cli->dfs_mountpoint);
-	cli->dfs_mountpoint = talloc_strdup(cli, name);
-	TALLOC_FREE(frame);
-}
-
 /********************************************************************
  Add a new connection to the list.
  referring_cli == NULL means a new initial connection.
@@ -1105,8 +1089,6 @@ NTSTATUS cli_resolve_path(TALLOC_CTX *ctx,
 		return NT_STATUS_NOT_FOUND;
 	}
 
-	cli_set_mntpoint(*targetcli, newmount);
-
 	/* Check for another dfs referral, note that we are not
 	   checking for loops here. */
 
diff --git a/source3/libsmb/clientgen.c b/source3/libsmb/clientgen.c
index 4412651f505..7cb89e87a9d 100644
--- a/source3/libsmb/clientgen.c
+++ b/source3/libsmb/clientgen.c
@@ -101,10 +101,6 @@ struct cli_state *cli_state_create(TALLOC_CTX *mem_ctx,
 		goto error;
 	}
 
-	cli->dfs_mountpoint = talloc_strdup(cli, "");
-	if (!cli->dfs_mountpoint) {
-		goto error;
-	}
 	cli->raw_status = NT_STATUS_INTERNAL_ERROR;
 	cli->map_dos_errors = true; /* remove this */
 	cli->timeout = CLIENT_TIMEOUT;
diff --git a/source3/libsmb/clilist.c b/source3/libsmb/clilist.c
index 59404bce7bf..d0abd476d74 100644
--- a/source3/libsmb/clilist.c
+++ b/source3/libsmb/clilist.c
@@ -465,7 +465,7 @@ static void cli_list_old_done(struct tevent_req *subreq)
 		 * I don't think this can wrap. received is
 		 * initialized from a 16-bit value.
 		 */
-		if (num_bytes < (received * DIR_STRUCT_SIZE + 3)) {
+		if (num_bytes < ((uint32_t)received * DIR_STRUCT_SIZE + 3)) {
 			TALLOC_FREE(subreq);
 			tevent_req_nterror(
 				req, NT_STATUS_INVALID_NETWORK_RESPONSE);
@@ -569,7 +569,7 @@ static NTSTATUS cli_list_old_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx,
 
 NTSTATUS cli_list_old(struct cli_state *cli, const char *mask,
 		      uint32_t attribute,
-		      NTSTATUS (*fn)(const char *, struct file_info *,
+		      NTSTATUS (*fn)(struct file_info *,
 				 const char *, void *), void *state)
 {
 	TALLOC_CTX *frame = talloc_stackframe();
@@ -603,7 +603,7 @@ NTSTATUS cli_list_old(struct cli_state *cli, const char *mask,
 	}
 	num_finfo = talloc_array_length(finfo);
 	for (i=0; i<num_finfo; i++) {
-		status = fn(cli->dfs_mountpoint, &finfo[i], mask, state);
+		status = fn(&finfo[i], mask, state);
 		if (!NT_STATUS_IS_OK(status)) {
 			goto fail;
 		}
@@ -922,8 +922,10 @@ static NTSTATUS cli_list_trans_recv(struct tevent_req *req,
 
 NTSTATUS cli_list_trans(struct cli_state *cli, const char *mask,
 			uint32_t attribute, int info_level,
-			NTSTATUS (*fn)(const char *mnt, struct file_info *finfo,
-				   const char *mask, void *private_data),
+			NTSTATUS (*fn)(
+				struct file_info *finfo,
+				const char *mask,
+				void *private_data),
 			void *private_data)
 {
 	TALLOC_CTX *frame = talloc_stackframe();
@@ -957,7 +959,7 @@ NTSTATUS cli_list_trans(struct cli_state *cli, const char *mask,
 	}
 	num_finfo = talloc_array_length(finfo);
 	for (i=0; i<num_finfo; i++) {
-		status = fn(cli->dfs_mountpoint, &finfo[i], mask, private_data);
+		status = fn(&finfo[i], mask, private_data);
 		if (!NT_STATUS_IS_OK(status)) {
 			goto fail;
 		}
@@ -1040,8 +1042,7 @@ NTSTATUS cli_list_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx,
 NTSTATUS cli_list(struct cli_state *cli,
 		  const char *mask,
 		  uint32_t attribute,
-		  NTSTATUS (*fn)(const char *mointpoint,
-				 struct file_info *finfo,
+		  NTSTATUS (*fn)(struct file_info *finfo,
 				 const char *mask,
 				 void *private_data),
 		  void *private_data)
@@ -1089,8 +1090,7 @@ NTSTATUS cli_list(struct cli_state *cli,
 	}
 
 	for (i=0; i<num_finfo; i++) {
-		status = fn(
-			cli->dfs_mountpoint, &finfo[i], mask, private_data);
+		status = fn(&finfo[i], mask, private_data);
 		if (!NT_STATUS_IS_OK(status)) {
 			goto fail;
 		}
diff --git a/source3/libsmb/libsmb_dir.c b/source3/libsmb/libsmb_dir.c
index 4fbfb19b15d..27d0fbd4db5 100644
--- a/source3/libsmb/libsmb_dir.c
+++ b/source3/libsmb/libsmb_dir.c
@@ -333,8 +333,7 @@ list_fn(const char *name,
 }
 
 static NTSTATUS
-dir_list_fn(const char *mnt,
-            struct file_info *finfo,
+dir_list_fn(struct file_info *finfo,
             const char *mask,
             void *state)
 {
@@ -1636,8 +1635,7 @@ SMBC_mkdir_ctx(SMBCCTX *context,
  */
 
 static NTSTATUS
-rmdir_list_fn(const char *mnt,
-              struct file_info *finfo,
+rmdir_list_fn(struct file_info *finfo,
               const char *mask,
               void *state)
 {
diff --git a/source3/libsmb/namequery.c b/source3/libsmb/namequery.c
index cd4a31fd8c9..1e109ecc371 100644
--- a/source3/libsmb/namequery.c
+++ b/source3/libsmb/namequery.c
@@ -2469,7 +2469,7 @@ NTSTATUS dns_lookup_list_async(TALLOC_CTX *ctx,
 		goto fail;
 	}
 
-	/* Hit all the DNS servers with asnyc lookups for all the names. */
+	/* Hit all the DNS servers with async lookups for all the names. */
 	for (i = 0; i < num_dns_names; i++) {
 		DBG_INFO("async DNS lookup A record for %s\n",
 			dns_lookup_names[i]);
diff --git a/source3/libsmb/proto.h b/source3/libsmb/proto.h
index 0e036c5ddc8..8fd3a436fd5 100644
--- a/source3/libsmb/proto.h
+++ b/source3/libsmb/proto.h
@@ -742,12 +742,14 @@ NTSTATUS is_bad_finfo_name(const struct cli_state *cli,
 			const struct file_info *finfo);
 
 NTSTATUS cli_list_old(struct cli_state *cli,const char *Mask,uint32_t attribute,
-		      NTSTATUS (*fn)(const char *, struct file_info *,
+		      NTSTATUS (*fn)(struct file_info *,
 				 const char *, void *), void *state);
 NTSTATUS cli_list_trans(struct cli_state *cli, const char *mask,
 			uint32_t attribute, int info_level,
-			NTSTATUS (*fn)(const char *mnt, struct file_info *finfo,
-				   const char *mask, void *private_data),
+			NTSTATUS (*fn)(
+				struct file_info *finfo,
+				const char *mask,
+				void *private_data),
 			void *private_data);
 struct tevent_req *cli_list_send(TALLOC_CTX *mem_ctx,
 				 struct tevent_context *ev,
@@ -760,8 +762,7 @@ NTSTATUS cli_list_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx,
 NTSTATUS cli_list(struct cli_state *cli,
 		  const char *mask,
 		  uint32_t attribute,
-		  NTSTATUS (*fn)(const char *mointpoint,
-				 struct file_info *finfo,
+		  NTSTATUS (*fn)(struct file_info *finfo,
 				 const char *mask,
 				 void *private_data),
 		  void *private_data);
diff --git a/source3/libsmb/pylibsmb.c b/source3/libsmb/pylibsmb.c
index c7a2d73afcb..7985b842a15 100644
--- a/source3/libsmb/pylibsmb.c
+++ b/source3/libsmb/pylibsmb.c


-- 
Samba Shared Repository



More information about the samba-cvs mailing list