[SCM] Samba Shared Repository - branch master updated

Jeremy Allison jra at samba.org
Wed Jun 14 00:27:02 UTC 2023


The branch, master has been updated
       via  cac38aa3870 vfs: Remove vfs telldir/seekdir functions
       via  e2fbe361bab smbd: Remove the offset argument from ReadDirName()
       via  c37d6be2db8 smbd: Remove unused dptr_SearchDir() and the dir cache
       via  be3232d12e1 smbd: Do the "skip to resume name" in call_trans2findnext()
       via  c5dca6d5b7e smbd: Make dptr_ReadDirName() public
       via  baaa0c66193 smbd: Add dptr_struct->last_name_sent
       via  99799bcdc85 smbd: Remove unused _prev_offset arg from smbd_dirptr_get_entry()
       via  94648811f5f smbd: Remove unused dptr_SeekDir()
       via  91fa49c11cc smbd: Avoid dptr_SeekDir() when overflowing the dir buffer
       via  0b27175764c smbd: Add smbd_dirptr_push_overflow()
       via  91c76f6514b smbd: Simplify dptr_ReadDirName()
       via  d4c669c1cc4 smbd: Avoid a few else branches in smb2_query_directory_next_entry()
       via  adc7fb32d34 smbd: Make get_dir_entry() static in SMB1-only code
       via  abcc7e69ce0 smbd: Slightly simplify smbd_dirptr_lanman2_entry()'s overflow logic
       via  ae4d8ddbeef smbd: Eliminiate some dead code
       via  2b725480dd4 smbd: Use dptr_RewindDir() instead of dptr_SeekDir(.., 0)
       via  2498a48abc7 smbd: Apply some README.Coding to call_trans2findfirst/next()
       via  4935c0b54c9 smbd: Introduce "dir_hnd" helper variable in smbd_dirptr_get_entry()
       via  aa77aa3e883 smbd: Remove unused "poffset" parameter from SearchDir()
       via  c80b34533f2 smbd: Remove unused "poffset" parameter from dptr_SearchDir()
       via  4fce29debac smbd: Remove unused "pst" parameter from dptr_SearchDir()
       via  d9755c7c44d smbd: Modernize a few overlog DEBUG statements
       via  61c923063c3 conf: Fix wrong language in "dos charset" smb.conf.5 entry
       via  3f3df7dd036 testparm: Fix a typo
       via  7e465b8e220 smbd: Use ISDOT() in exact_match()
       via  4ee821ae2b2 vfs: Remove two "== true"
       via  4115a2e478f vfs: Modernize a few DEBUG statements
       via  f5afcddbe45 vfs: Fix a typo
       via  162787cddbf lib: Fix whitespace
      from  e0b1aaea1a3 third_party: Update nss_wrapper to version 1.1.15

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


- Log -----------------------------------------------------------------
commit cac38aa38704c31d20d54e6cd7f53e99685aae72
Author: Volker Lendecke <vl at samba.org>
Date:   Fri Jun 9 17:33:02 2023 +0200

    vfs: Remove vfs telldir/seekdir functions
    
    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 Jun 14 00:26:55 UTC 2023 on atb-devel-224

commit e2fbe361bab52e906886e70cbaf689393d129285
Author: Volker Lendecke <vl at samba.org>
Date:   Sat Jun 10 15:29:35 2023 +0200

    smbd: Remove the offset argument from ReadDirName()
    
    Nobody does anything with this anymore, we just call ReadDirName() in
    sequence or do a RewindDir(). So we don't have to look at offsets as
    given by the file system anymore.
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit c37d6be2db8ee30d632275e7b1c156a8b5d791a7
Author: Volker Lendecke <vl at samba.org>
Date:   Fri Jun 9 16:52:48 2023 +0200

    smbd: Remove unused dptr_SearchDir() and the dir cache
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit be3232d12e1cd7585608d319946fd1bce7af9aba
Author: Volker Lendecke <vl at samba.org>
Date:   Fri Jun 9 16:47:19 2023 +0200

    smbd: Do the "skip to resume name" in call_trans2findnext()
    
    This is SMB1-only logic that can be removed from dir.c
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit c5dca6d5b7e3482aa52117e66fc8e31c0a8896e4
Author: Volker Lendecke <vl at samba.org>
Date:   Fri Jun 9 16:38:32 2023 +0200

    smbd: Make dptr_ReadDirName() public
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit baaa0c66193dd17ec08ba19689f935ff393062dd
Author: Volker Lendecke <vl at samba.org>
Date:   Fri Jun 9 15:22:31 2023 +0200

    smbd: Add dptr_struct->last_name_sent
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 99799bcdc8544e884bdf29347df540cbb313237c
Author: Volker Lendecke <vl at samba.org>
Date:   Fri Jun 9 15:05:07 2023 +0200

    smbd: Remove unused _prev_offset arg from smbd_dirptr_get_entry()
    
    Neither of the two callers looked at the result.
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 94648811f5fe08a7019597eb0445b3c09cdf606f
Author: Volker Lendecke <vl at samba.org>
Date:   Fri Jun 9 14:53:52 2023 +0200

    smbd: Remove unused dptr_SeekDir()
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 91fa49c11cc7098c6b9a6dc008d67e1781721894
Author: Volker Lendecke <vl at samba.org>
Date:   Fri Jun 9 14:52:11 2023 +0200

    smbd: Avoid dptr_SeekDir() when overflowing the dir buffer
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 0b27175764c8b7718f85a455beda84f345243cd6
Author: Volker Lendecke <vl at samba.org>
Date:   Sat May 27 13:20:56 2023 +0200

    smbd: Add smbd_dirptr_push_overflow()
    
    This saves the result of smbd_dirptr_get_entry() for later retrieval
    in case we could not marshall it to the output buffer. Return this
    entry when calling smbd_dirptr_get_entry() again.
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 91c76f6514b02f7f73b28fd4915fefd6a772f7f1
Author: Volker Lendecke <vl at samba.org>
Date:   Tue Jun 13 15:42:19 2023 +0200

    smbd: Simplify dptr_ReadDirName()
    
    While trying to understand the ReadDirName() at the end of
    dptr_ReadDirName() in a code path that was supposed to be just a
    "stat"-style readdir with a non-wcard mask I came to the conclusion
    that this was there to find dptr->wcard with a mangled
    name. get_real_filename_at() already takes care of name mangling, so I
    think I could eliminate a source of confusion by using it.
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit d4c669c1cc47b28ead2b15d8c7d2928518cf876a
Author: Volker Lendecke <vl at samba.org>
Date:   Sat May 27 13:07:08 2023 +0200

    smbd: Avoid a few else branches in smb2_query_directory_next_entry()
    
    There's early returns or gotos anyway
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit adc7fb32d34a01e821540289a6a64d6fc61a4a43
Author: Volker Lendecke <vl at samba.org>
Date:   Tue May 23 09:48:24 2023 +0200

    smbd: Make get_dir_entry() static in SMB1-only code
    
    We need to pass "conn" explicitly because dptr_struct is private to
    dir.c.
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit abcc7e69ce0b62419ac1c8712d9fbef50bbeaf54
Author: Volker Lendecke <vl at samba.org>
Date:   Fri Jun 9 14:44:58 2023 +0200

    smbd: Slightly simplify smbd_dirptr_lanman2_entry()'s overflow logic
    
    No caller does anything with the smb_fname upon overflow, so we might
    as well do an early return.
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit ae4d8ddbeefeedd6ac436a0ab17571fb512e1efd
Author: Volker Lendecke <vl at samba.org>
Date:   Tue Jun 13 15:33:03 2023 +0200

    smbd: Eliminiate some dead code
    
    If I'm not completely blind then there's no way how *pst can be a
    valid stat. We did a SET_STAT_INVALID at the beginning of the
    function, and there's no code path up to this if-statement that can
    make *pst valid again.
    
    Review with "git show -U40".
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 2b725480dd4a4bac34cf36c4323b46a9109559a0
Author: Volker Lendecke <vl at samba.org>
Date:   Tue Jun 13 16:25:55 2023 +0200

    smbd: Use dptr_RewindDir() instead of dptr_SeekDir(.., 0)
    
    This is a more focused call.
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 2498a48abc7754dcb0e647412301f53ad0756155
Author: Volker Lendecke <vl at samba.org>
Date:   Fri Jun 9 09:38:31 2023 +0200

    smbd: Apply some README.Coding to call_trans2findfirst/next()
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 4935c0b54c9fb4234f49d42698efd461969a8f54
Author: Volker Lendecke <vl at samba.org>
Date:   Fri Jun 9 09:59:36 2023 +0200

    smbd: Introduce "dir_hnd" helper variable in smbd_dirptr_get_entry()
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit aa77aa3e8831ab602238cced975ddcbf075eeb91
Author: Volker Lendecke <vl at samba.org>
Date:   Fri Jun 9 09:33:42 2023 +0200

    smbd: Remove unused "poffset" parameter from SearchDir()
    
    The only caller threw the result away.
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit c80b34533f2243e743acf8e7d8ef7ddcc583aa89
Author: Volker Lendecke <vl at samba.org>
Date:   Fri Jun 9 09:33:42 2023 +0200

    smbd: Remove unused "poffset" parameter from dptr_SearchDir()
    
    The only caller threw the result away.
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 4fce29debac291a3b4101a2fd46b77c4ab9a844a
Author: Volker Lendecke <vl at samba.org>
Date:   Fri Jun 9 09:33:42 2023 +0200

    smbd: Remove unused "pst" parameter from dptr_SearchDir()
    
    The only caller threw the result away.
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit d9755c7c44d4671ad1ec2098d990dc76ec7a477a
Author: Volker Lendecke <vl at samba.org>
Date:   Fri Jun 9 12:21:14 2023 +0200

    smbd: Modernize a few overlog DEBUG statements
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 61c923063c308cd37035798b4fa9c093615b0815
Author: Volker Lendecke <vl at samba.org>
Date:   Tue Jun 13 10:04:56 2023 +0200

    conf: Fix wrong language in "dos charset" smb.conf.5 entry
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 3f3df7dd03678ec9e198d6e247aa050624a5c6ed
Author: Volker Lendecke <vl at samba.org>
Date:   Tue Jun 13 10:03:24 2023 +0200

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

commit 7e465b8e22038cbdce5fd7716c867f45345eb7ee
Author: Volker Lendecke <vl at samba.org>
Date:   Sat May 27 11:28:14 2023 +0200

    smbd: Use ISDOT() in exact_match()
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 4ee821ae2b2606f5106b3bfecaa09ceaa87891d2
Author: Volker Lendecke <vl at samba.org>
Date:   Fri May 26 12:39:15 2023 +0200

    vfs: Remove two "== true"
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 4115a2e478fbc44123eb97dd9966b35b50ac69af
Author: Volker Lendecke <vl at samba.org>
Date:   Fri May 26 12:38:25 2023 +0200

    vfs: Modernize a few DEBUG statements
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit f5afcddbe45bd7c59d73fe0a41eef668bc9f80fb
Author: Volker Lendecke <vl at samba.org>
Date:   Fri May 26 12:35:48 2023 +0200

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

commit 162787cddbf0e9076bb989abb690302da46df3c3
Author: Volker Lendecke <vl at samba.org>
Date:   Mon May 15 17:09:41 2023 +0200

    lib: Fix whitespace
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

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

Summary of changes:
 docs-xml/smbdotconf/base/doscharset.xml            |   2 +-
 .../smbdotconf/misc/directorynamecachesize.xml     |  14 -
 examples/VFS/skel_opaque.c                         |  12 -
 examples/VFS/skel_transparent.c                    |  12 -
 source3/include/smbprofile.h                       |   2 -
 source3/include/vfs.h                              |  12 +-
 source3/include/vfs_macros.h                       |  10 -
 source3/lib/errmap_unix.c                          |   8 +-
 source3/modules/The_New_VFS.org                    |   8 +-
 source3/modules/The_New_VFS.txt                    |   4 -
 source3/modules/vfs_ceph.c                         |  17 -
 source3/modules/vfs_ceph_snapshots.c               |   6 +-
 source3/modules/vfs_default.c                      |  18 -
 source3/modules/vfs_dirsort.c                      |  70 ---
 source3/modules/vfs_fruit.c                        |   6 +-
 source3/modules/vfs_full_audit.c                   |  26 -
 source3/modules/vfs_glusterfs.c                    |  21 -
 source3/modules/vfs_media_harmony.c                |  27 -
 source3/modules/vfs_not_implemented.c              |  15 -
 source3/modules/vfs_shadow_copy.c                  |  20 +-
 source3/modules/vfs_shadow_copy2.c                 |  51 +-
 source3/modules/vfs_streams_depot.c                |   3 +-
 source3/modules/vfs_time_audit.c                   |  38 --
 source3/modules/vfs_unityed_media.c                |  19 -
 source3/param/loadparm.c                           |   1 -
 source3/smbd/close.c                               |  10 +-
 source3/smbd/dir.c                                 | 580 +++++----------------
 source3/smbd/filename.c                            |   4 +-
 source3/smbd/globals.h                             |  10 +-
 source3/smbd/msdfs.c                               |   6 +-
 source3/smbd/proto.h                               |  20 +-
 source3/smbd/smb1_reply.c                          | 147 ++++++
 source3/smbd/smb1_trans2.c                         | 107 +++-
 source3/smbd/smb2_query_directory.c                |  16 +-
 source3/smbd/smb2_trans2.c                         |  27 +-
 source3/smbd/vfs.c                                 |  14 -
 source3/torture/cmd_vfs.c                          |   7 -
 source3/torture/vfstest.h                          |   1 -
 source3/utils/testparm.c                           |  18 +-
 39 files changed, 444 insertions(+), 945 deletions(-)
 delete mode 100644 docs-xml/smbdotconf/misc/directorynamecachesize.xml


Changeset truncated at 500 lines:

diff --git a/docs-xml/smbdotconf/base/doscharset.xml b/docs-xml/smbdotconf/base/doscharset.xml
index ebd7586158c..d4b114c0bef 100644
--- a/docs-xml/smbdotconf/base/doscharset.xml
+++ b/docs-xml/smbdotconf/base/doscharset.xml
@@ -6,7 +6,7 @@
 <description>
         <para>DOS SMB clients assume the server has 
 	the same charset as they do. This option specifies which 
-	charset Samba should talk to DOS clients.
+	charset Samba should use to talk to DOS clients.
 	</para>
 
 	<para>The default depends on which charsets you have installed. 
diff --git a/docs-xml/smbdotconf/misc/directorynamecachesize.xml b/docs-xml/smbdotconf/misc/directorynamecachesize.xml
deleted file mode 100644
index 22999a6964e..00000000000
--- a/docs-xml/smbdotconf/misc/directorynamecachesize.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<samba:parameter name="directory name cache size"
-                 context="S"
-                 type="integer"
-                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
-<description>
-	<para>
-	This parameter specifies the size of the directory name cache for SMB1
-	connections. It is not used for SMB2. It will be needed to turn this off
-	for *BSD systems.
-	</para>
-
-</description>
-<value type="default">100</value>
-</samba:parameter>
diff --git a/examples/VFS/skel_opaque.c b/examples/VFS/skel_opaque.c
index 98b090728f2..cbaf9a272a8 100644
--- a/examples/VFS/skel_opaque.c
+++ b/examples/VFS/skel_opaque.c
@@ -163,16 +163,6 @@ static struct dirent *skel_readdir(vfs_handle_struct *handle,
 	return NULL;
 }
 
-static void skel_seekdir(vfs_handle_struct *handle, DIR *dirp, long offset)
-{
-	;
-}
-
-static long skel_telldir(vfs_handle_struct *handle, DIR *dirp)
-{
-	return (long)-1;
-}
-
 static void skel_rewind_dir(vfs_handle_struct *handle, DIR *dirp)
 {
 	;
@@ -993,8 +983,6 @@ static struct vfs_fn_pointers skel_opaque_fns = {
 
 	.fdopendir_fn = skel_fdopendir,
 	.readdir_fn = skel_readdir,
-	.seekdir_fn = skel_seekdir,
-	.telldir_fn = skel_telldir,
 	.rewind_dir_fn = skel_rewind_dir,
 	.mkdirat_fn = skel_mkdirat,
 	.closedir_fn = skel_closedir,
diff --git a/examples/VFS/skel_transparent.c b/examples/VFS/skel_transparent.c
index b152f3596c5..9c08b87f7c7 100644
--- a/examples/VFS/skel_transparent.c
+++ b/examples/VFS/skel_transparent.c
@@ -171,16 +171,6 @@ static struct dirent *skel_readdir(vfs_handle_struct *handle,
 	return SMB_VFS_NEXT_READDIR(handle, dirfsp, dirp, sbuf);
 }
 
-static void skel_seekdir(vfs_handle_struct *handle, DIR *dirp, long offset)
-{
-	SMB_VFS_NEXT_SEEKDIR(handle, dirp, offset);
-}
-
-static long skel_telldir(vfs_handle_struct *handle, DIR *dirp)
-{
-	return SMB_VFS_NEXT_TELLDIR(handle, dirp);
-}
-
 static void skel_rewind_dir(vfs_handle_struct *handle, DIR *dirp)
 {
 	SMB_VFS_NEXT_REWINDDIR(handle, dirp);
@@ -1304,8 +1294,6 @@ static struct vfs_fn_pointers skel_transparent_fns = {
 
 	.fdopendir_fn = skel_fdopendir,
 	.readdir_fn = skel_readdir,
-	.seekdir_fn = skel_seekdir,
-	.telldir_fn = skel_telldir,
 	.rewind_dir_fn = skel_rewind_dir,
 	.mkdirat_fn = skel_mkdirat,
 	.closedir_fn = skel_closedir,
diff --git a/source3/include/smbprofile.h b/source3/include/smbprofile.h
index 7b080e11ee1..62873a5532b 100644
--- a/source3/include/smbprofile.h
+++ b/source3/include/smbprofile.h
@@ -45,8 +45,6 @@ struct tevent_context;
 	SMBPROFILE_STATS_BASIC(syscall_opendir) \
 	SMBPROFILE_STATS_BASIC(syscall_fdopendir) \
 	SMBPROFILE_STATS_BASIC(syscall_readdir) \
-	SMBPROFILE_STATS_BASIC(syscall_seekdir) \
-	SMBPROFILE_STATS_BASIC(syscall_telldir) \
 	SMBPROFILE_STATS_BASIC(syscall_rewinddir) \
 	SMBPROFILE_STATS_BASIC(syscall_mkdirat) \
 	SMBPROFILE_STATS_BASIC(syscall_closedir) \
diff --git a/source3/include/vfs.h b/source3/include/vfs.h
index 31b657addee..eafc432be43 100644
--- a/source3/include/vfs.h
+++ b/source3/include/vfs.h
@@ -378,9 +378,11 @@
  * Change to Version 48 - will ship with 4.18
  * Version 48 - Add cached_dos_attributes to struct stat_ex
  * Version 48 - Add dirfsp to connectpath_fn()
+ * Change to Version 49 - will ship with 4.19
+ * Version 49 - remove seekdir and telldir
  */
 
-#define SMB_VFS_INTERFACE_VERSION 48
+#define SMB_VFS_INTERFACE_VERSION 49
 
 /*
     All intercepted VFS operations must be declared as static functions inside module source
@@ -967,8 +969,6 @@ struct vfs_fn_pointers {
 				     struct files_struct *dirfsp,
 				     DIR *dirp,
 				     SMB_STRUCT_STAT *sbuf);
-	void (*seekdir_fn)(struct vfs_handle_struct *handle, DIR *dirp, long offset);
-	long (*telldir_fn)(struct vfs_handle_struct *handle, DIR *dirp);
 	void (*rewind_dir_fn)(struct vfs_handle_struct *handle, DIR *dirp);
 	int (*mkdirat_fn)(struct vfs_handle_struct *handle,
 			struct files_struct *dirfsp,
@@ -1464,10 +1464,6 @@ struct dirent *smb_vfs_call_readdir(struct vfs_handle_struct *handle,
 				    struct files_struct *dirfsp,
 				    DIR *dirp,
 				    SMB_STRUCT_STAT *sbuf);
-void smb_vfs_call_seekdir(struct vfs_handle_struct *handle,
-			  DIR *dirp, long offset);
-long smb_vfs_call_telldir(struct vfs_handle_struct *handle,
-			  DIR *dirp);
 void smb_vfs_call_rewind_dir(struct vfs_handle_struct *handle,
 			     DIR *dirp);
 int smb_vfs_call_mkdirat(struct vfs_handle_struct *handle,
@@ -1910,8 +1906,6 @@ struct dirent *vfs_not_implemented_readdir(vfs_handle_struct *handle,
 					   struct files_struct *dirfsp,
 					   DIR *dirp,
 					   SMB_STRUCT_STAT *sbuf);
-void vfs_not_implemented_seekdir(vfs_handle_struct *handle, DIR *dirp, long offset);
-long vfs_not_implemented_telldir(vfs_handle_struct *handle, DIR *dirp);
 void vfs_not_implemented_rewind_dir(vfs_handle_struct *handle, DIR *dirp);
 int vfs_not_implemented_mkdirat(vfs_handle_struct *handle,
 		struct files_struct *dirfsp,
diff --git a/source3/include/vfs_macros.h b/source3/include/vfs_macros.h
index f1a59e1d13a..29ce22e98c5 100644
--- a/source3/include/vfs_macros.h
+++ b/source3/include/vfs_macros.h
@@ -116,16 +116,6 @@
 #define SMB_VFS_NEXT_READDIR(handle, dirfsp, dirp, sbuf) \
 	smb_vfs_call_readdir((handle)->next, (dirfsp), (dirp), (sbuf))
 
-#define SMB_VFS_SEEKDIR(conn, dirp, offset) \
-	smb_vfs_call_seekdir((conn)->vfs_handles, (dirp), (offset))
-#define SMB_VFS_NEXT_SEEKDIR(handle, dirp, offset) \
-	smb_vfs_call_seekdir((handle)->next, (dirp), (offset))
-
-#define SMB_VFS_TELLDIR(conn, dirp) \
-	smb_vfs_call_telldir((conn)->vfs_handles, (dirp))
-#define SMB_VFS_NEXT_TELLDIR(handle, dirp) \
-	smb_vfs_call_telldir((handle)->next, (dirp))
-
 #define SMB_VFS_REWINDDIR(conn, dirp) \
 	smb_vfs_call_rewind_dir((conn)->vfs_handles, (dirp))
 #define SMB_VFS_NEXT_REWINDDIR(handle, dirp) \
diff --git a/source3/lib/errmap_unix.c b/source3/lib/errmap_unix.c
index 029efae0f51..209bd255be5 100644
--- a/source3/lib/errmap_unix.c
+++ b/source3/lib/errmap_unix.c
@@ -1,21 +1,21 @@
-/* 
+/*
  *  Unix SMB/CIFS implementation.
  *  map unix to NT errors, an excerpt of libsmb/errormap.c
  *  Copyright (C) Andrew Tridgell 2001
  *  Copyright (C) Andrew Bartlett 2001
  *  Copyright (C) Tim Potter 2000
  *  Copyright (C) Jeremy Allison 2007
- *  
+ *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
  *  the Free Software Foundation; either version 3 of the License, or
  *  (at your option) any later version.
- *  
+ *
  *  This program is distributed in the hope that it will be useful,
  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  *  GNU General Public License for more details.
- *  
+ *
  *  You should have received a copy of the GNU General Public License
  *  along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
diff --git a/source3/modules/The_New_VFS.org b/source3/modules/The_New_VFS.org
index 6309986a519..d18e5ef82ad 100644
--- a/source3/modules/The_New_VFS.org
+++ b/source3/modules/The_New_VFS.org
@@ -260,7 +260,7 @@ whenever VFS access is done in a piecemeal fashion.
 | SMB_VFS_LSTAT()                   | [[Path][Path]]     | Todo   |
 | SMB_VFS_MKDIRAT()                 | [[NsC][NsC]]      | -      |
 | SMB_VFS_MKNODAT()                 | [[NsC][NsC]]      | -      |
-| SMB_VFS_NTIMES()                  | [[Path][Path]]    | -      |
+| SMB_VFS_NTIMES()                  | [[Path][Path]]     | -      |
 | SMB_VFS_OFFLOAD_READ_RECV()       | [[fsp][fsp]]      | -      |
 | SMB_VFS_OFFLOAD_READ_SEND()       | [[fsp][fsp]]      | -      |
 | SMB_VFS_OFFLOAD_WRITE_RECV()      | [[fsp][fsp]]      | -      |
@@ -272,14 +272,13 @@ whenever VFS access is done in a piecemeal fashion.
 | SMB_VFS_PWRITE_SEND()             | [[fsp][fsp]]      | -      |
 | SMB_VFS_READ_DFS_PATHAT()         | [[Symlink][Symlink]]  | -      |
 | SMB_VFS_READDIR()                 | [[fsp][fsp]]      | -      |
-| SMB_VFS_READDIR_ATTR()            | [[Path][Path]]    | -      |
+| SMB_VFS_READDIR_ATTR()            | [[Path][Path]]     | -      |
 | SMB_VFS_READLINKAT()              | [[Symlink][Symlink]]  | -      |
 | SMB_VFS_REALPATH()                | [[P2px][P2px]]     | -      |
 | SMB_VFS_RECVFILE()                | [[fsp][fsp]]      | -      |
 | SMB_VFS_REMOVEXATTR()             | [[Path][Path]]     | -      |
 | SMB_VFS_RENAMEAT()                | [[Path][Path]]     | ----   |
 | SMB_VFS_REWINDDIR()               | [[fsp][fsp]]      | -      |
-| SMB_VFS_SEEKDIR()                 | [[fsp][fsp]]      | -      |
 | SMB_VFS_SENDFILE()                | [[fsp][fsp]]      | -      |
 | SMB_VFS_SET_COMPRESSION()         | [[fsp][fsp]]      | -      |
 | SMB_VFS_SET_DOS_ATTRIBUTES()      | [[Path][Path]]     | -      |
@@ -299,7 +298,6 @@ whenever VFS access is done in a piecemeal fashion.
 | SMB_VFS_SYS_ACL_GET_FD()          | [[xpathref][xpathref]] | -      |
 | SMB_VFS_SYS_ACL_GET_FILE()        | [[Path][Path]]     | -      |
 | SMB_VFS_SYS_ACL_SET_FD()          | [[xpathref][xpathref]] | -      |
-| SMB_VFS_TELLDIR()                 | [[fsp][fsp]]      | -      |
 | SMB_VFS_TRANSLATE_NAME()          | [[P2px][P2px]]     | -      |
 | SMB_VFS_UNLINKAT()                | [[NsC][NsC]]      | -      |
 |-----------------------------------+----------+--------|
@@ -363,11 +361,9 @@ whenever VFS access is done in a piecemeal fashion.
  - SMB_VFS_READDIR()
  - SMB_VFS_RECVFILE()
  - SMB_VFS_REWINDDIR()
- - SMB_VFS_SEEKDIR()
  - SMB_VFS_SENDFILE()
  - SMB_VFS_SET_COMPRESSION()
  - SMB_VFS_STRICT_LOCK_CHECK()
- - SMB_VFS_TELLDIR()
 
  If an fsp is provided by the SMB layer we use that, otherwise we use the
  pathref fsp =smb_fname->fsp= provided by =filename_convert()=.
diff --git a/source3/modules/The_New_VFS.txt b/source3/modules/The_New_VFS.txt
index 7988639d4a4..abda0cbbe9b 100644
--- a/source3/modules/The_New_VFS.txt
+++ b/source3/modules/The_New_VFS.txt
@@ -347,7 +347,6 @@ Table of Contents
    SMB_VFS_REMOVEXATTR()              [Path]      -
    SMB_VFS_RENAMEAT()                 [Path]      -
    SMB_VFS_REWINDDIR()                [fsp]       -
-   SMB_VFS_SEEKDIR()                  [fsp]       -
    SMB_VFS_SENDFILE()                 [fsp]       -
    SMB_VFS_SET_COMPRESSION()          [fsp]       -
    SMB_VFS_SET_DOS_ATTRIBUTES()       [Path]      -
@@ -367,7 +366,6 @@ Table of Contents
    SMB_VFS_SYS_ACL_GET_FD()           [xpathref]  -
    SMB_VFS_SYS_ACL_GET_FILE()         [Path]      -
    SMB_VFS_SYS_ACL_SET_FD()           [xpathref]  -
-   SMB_VFS_TELLDIR()                  [fsp]       -
    SMB_VFS_TRANSLATE_NAME()           [P2px]      -
    SMB_VFS_UNLINKAT()                 [NsC]       -
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
@@ -469,11 +467,9 @@ Table of Contents
   • SMB_VFS_READDIR()
   • SMB_VFS_RECVFILE()
   • SMB_VFS_REWINDDIR()
-  • SMB_VFS_SEEKDIR()
   • SMB_VFS_SENDFILE()
   • SMB_VFS_SET_COMPRESSION()
   • SMB_VFS_STRICT_LOCK_CHECK()
-  • SMB_VFS_TELLDIR()
 
   If an fsp is provided by the SMB layer we use that, otherwise we use the
   pathref fsp `smb_fname->fsp' provided by `filename_convert()'.
diff --git a/source3/modules/vfs_ceph.c b/source3/modules/vfs_ceph.c
index 3978f8f589b..af303ac60b7 100644
--- a/source3/modules/vfs_ceph.c
+++ b/source3/modules/vfs_ceph.c
@@ -467,21 +467,6 @@ static struct dirent *cephwrap_readdir(struct vfs_handle_struct *handle,
 	return result;
 }
 
-static void cephwrap_seekdir(struct vfs_handle_struct *handle, DIR *dirp, long offset)
-{
-	DBG_DEBUG("[CEPH] seekdir(%p, %p, %ld)\n", handle, dirp, offset);
-	ceph_seekdir(handle->data, (struct ceph_dir_result *) dirp, offset);
-}
-
-static long cephwrap_telldir(struct vfs_handle_struct *handle, DIR *dirp)
-{
-	long ret;
-	DBG_DEBUG("[CEPH] telldir(%p, %p)\n", handle, dirp);
-	ret = ceph_telldir(handle->data, (struct ceph_dir_result *) dirp);
-	DBG_DEBUG("[CEPH] telldir(...) = %ld\n", ret);
-	WRAP_RETURN(ret);
-}
-
 static void cephwrap_rewinddir(struct vfs_handle_struct *handle, DIR *dirp)
 {
 	DBG_DEBUG("[CEPH] rewinddir(%p, %p)\n", handle, dirp);
@@ -1725,8 +1710,6 @@ static struct vfs_fn_pointers ceph_fns = {
 
 	.fdopendir_fn = cephwrap_fdopendir,
 	.readdir_fn = cephwrap_readdir,
-	.seekdir_fn = cephwrap_seekdir,
-	.telldir_fn = cephwrap_telldir,
 	.rewind_dir_fn = cephwrap_rewinddir,
 	.mkdirat_fn = cephwrap_mkdirat,
 	.closedir_fn = cephwrap_closedir,
diff --git a/source3/modules/vfs_ceph_snapshots.c b/source3/modules/vfs_ceph_snapshots.c
index c981cebd8a2..c09b1895f88 100644
--- a/source3/modules/vfs_ceph_snapshots.c
+++ b/source3/modules/vfs_ceph_snapshots.c
@@ -221,7 +221,6 @@ static int ceph_snap_enum_snapdir(struct vfs_handle_struct *handle,
 	struct files_struct *dirfsp = NULL;
 	const char *dname = NULL;
 	char *talloced = NULL;
-	long offset = 0;
 	NTSTATUS status;
 	int ret;
 	uint32_t slots;
@@ -265,7 +264,7 @@ static int ceph_snap_enum_snapdir(struct vfs_handle_struct *handle,
 	sc_data->num_volumes = 0;
 	sc_data->labels = NULL;
 
-        while ((dname = ReadDirName(dir_hnd, &offset, NULL, &talloced))
+        while ((dname = ReadDirName(dir_hnd, NULL, &talloced))
 	       != NULL)
 	{
 		if (ISDOT(dname) || ISDOTDOT(dname)) {
@@ -518,7 +517,6 @@ static int ceph_snap_gmt_convert_dir(struct vfs_handle_struct *handle,
 	struct files_struct *dirfsp = NULL;
 	const char *dname = NULL;
 	char *talloced = NULL;
-	long offset = 0;
 	struct smb_filename *snaps_dname = NULL;
 	const char *snapdir = lp_parm_const_string(SNUM(handle->conn),
 						   "ceph", "snapdir",
@@ -589,7 +587,7 @@ static int ceph_snap_gmt_convert_dir(struct vfs_handle_struct *handle,
 		goto err_out;
 	}
 
-        while ((dname = ReadDirName(dir_hnd, &offset, NULL, &talloced))
+        while ((dname = ReadDirName(dir_hnd, NULL, &talloced))
 	       != NULL)
 	{
 		struct smb_filename *smb_fname = NULL;
diff --git a/source3/modules/vfs_default.c b/source3/modules/vfs_default.c
index 89eec1146d7..cbced890597 100644
--- a/source3/modules/vfs_default.c
+++ b/source3/modules/vfs_default.c
@@ -657,22 +657,6 @@ static NTSTATUS vfswrap_freaddir_attr(struct vfs_handle_struct *handle,
 	return NT_STATUS_NOT_SUPPORTED;
 }
 
-static void vfswrap_seekdir(vfs_handle_struct *handle, DIR *dirp, long offset)
-{
-	START_PROFILE(syscall_seekdir);
-	seekdir(dirp, offset);
-	END_PROFILE(syscall_seekdir);
-}
-
-static long vfswrap_telldir(vfs_handle_struct *handle, DIR *dirp)
-{
-	long result;
-	START_PROFILE(syscall_telldir);
-	result = telldir(dirp);
-	END_PROFILE(syscall_telldir);
-	return result;
-}
-
 static void vfswrap_rewinddir(vfs_handle_struct *handle, DIR *dirp)
 {
 	START_PROFILE(syscall_rewinddir);
@@ -4066,8 +4050,6 @@ static struct vfs_fn_pointers vfs_default_fns = {
 	.fdopendir_fn = vfswrap_fdopendir,
 	.readdir_fn = vfswrap_readdir,
 	.freaddir_attr_fn = vfswrap_freaddir_attr,
-	.seekdir_fn = vfswrap_seekdir,
-	.telldir_fn = vfswrap_telldir,
 	.rewind_dir_fn = vfswrap_rewinddir,
 	.mkdirat_fn = vfswrap_mkdirat,
 	.closedir_fn = vfswrap_closedir,
diff --git a/source3/modules/vfs_dirsort.c b/source3/modules/vfs_dirsort.c
index d9cfcadacf8..89637aa38f2 100644
--- a/source3/modules/vfs_dirsort.c
+++ b/source3/modules/vfs_dirsort.c
@@ -218,74 +218,6 @@ static struct dirent *dirsort_readdir(vfs_handle_struct *handle,
 	return &data->directory_list[data->pos++];
 }
 
-static void dirsort_seekdir(vfs_handle_struct *handle, DIR *dirp,
-			    long offset)
-{
-	struct timespec current_mtime;
-	struct dirsort_privates *data = NULL;
-
-	SMB_VFS_HANDLE_GET_DATA(handle, data, struct dirsort_privates, return);
-
-	/* Find the entry holding dirp. */
-	while(data && (data->source_directory != dirp)) {
-		data = data->next;
-	}
-	if (data == NULL) {
-		return;
-	}
-	if (offset >= data->number_of_entries) {
-		return;
-	}
-	data->pos = offset;
-
-	if (get_sorted_dir_mtime(handle, data, &current_mtime) == false) {
-		return;
-	}
-
-	if (timespec_compare(&current_mtime, &data->mtime)) {
-		/* Directory changed. We must re-read the
-		   cache and search for the name that was
-		   previously stored at the offset being
-		   requested, otherwise after the re-sort
-		   we will point to the wrong entry. The
-		   OS/2 incremental delete code relies on
-		   this. */
-		unsigned int i;
-		char *wanted_name = talloc_strdup(handle->conn,
-					data->directory_list[offset].d_name);
-		if (wanted_name == NULL) {
-			return;
-		}
-		SMB_VFS_NEXT_REWINDDIR(handle, data->source_directory);
-		open_and_sort_dir(handle, data);
-		/* Now search for where we were. */
-		data->pos = 0;
-		for (i = 0; i < data->number_of_entries; i++) {
-			if(strcmp(wanted_name, data->directory_list[i].d_name) == 0) {
-				data->pos = i;
-				break;
-			}
-		}
-		TALLOC_FREE(wanted_name);
-	}
-}
-
-static long dirsort_telldir(vfs_handle_struct *handle, DIR *dirp)
-{
-	struct dirsort_privates *data = NULL;
-	SMB_VFS_HANDLE_GET_DATA(handle, data, struct dirsort_privates,
-				return -1);
-
-	/* Find the entry holding dirp. */
-	while(data && (data->source_directory != dirp)) {
-		data = data->next;
-	}
-	if (data == NULL) {
-		return -1;
-	}
-	return data->pos;
-}
-
 static void dirsort_rewinddir(vfs_handle_struct *handle, DIR *dirp)
 {
 	struct dirsort_privates *data = NULL;
@@ -328,8 +260,6 @@ static int dirsort_closedir(vfs_handle_struct *handle, DIR *dirp)
 static struct vfs_fn_pointers vfs_dirsort_fns = {
 	.fdopendir_fn = dirsort_fdopendir,
 	.readdir_fn = dirsort_readdir,
-	.seekdir_fn = dirsort_seekdir,
-	.telldir_fn = dirsort_telldir,
 	.rewind_dir_fn = dirsort_rewinddir,
 	.closedir_fn = dirsort_closedir,
 };
diff --git a/source3/modules/vfs_fruit.c b/source3/modules/vfs_fruit.c
index ce5ae38505e..8be6b4c7791 100644
--- a/source3/modules/vfs_fruit.c
+++ b/source3/modules/vfs_fruit.c
@@ -5188,7 +5188,6 @@ static bool fruit_get_num_bands(vfs_handle_struct *handle,
 	struct smb_Dir *dir_hnd = NULL;
 	const char *dname = NULL;
 	char *talloced = NULL;
-	long offset = 0;
 	size_t nbands;
 	NTSTATUS status;
 
@@ -5225,7 +5224,7 @@ static bool fruit_get_num_bands(vfs_handle_struct *handle,
 
 	nbands = 0;
 
-        while ((dname = ReadDirName(dir_hnd, &offset, NULL, &talloced))
+        while ((dname = ReadDirName(dir_hnd, NULL, &talloced))
 	       != NULL)


-- 
Samba Shared Repository



More information about the samba-cvs mailing list