[SCM] Samba Shared Repository - branch master updated

Jeremy Allison jra at samba.org
Tue May 5 20:56:04 UTC 2020


The branch, master has been updated
       via  8d22b9edff7 Revert "smbd: fullpath based on fsp->fsp_name may contain an @GMT token"
       via  35be625b09f s3: torture: Add samba3.blackbox.NT1.shadow_copy_torture.
       via  9881c3f9ab5 s4: torture: Add an SMB1-specific open root of share with @GMT-path test - base.smb1-twrp-openroot
       via  c3377b4c02d s3: torture: Add call to smbtorture smb2.twrp.openroot
       via  2b8ea977096 s4: torture: Add smb2.twrp.openroot test.
       via  2992891e278 s3: smbd: Move the initialization of the filename and the call to canonicalize_snapshot_path() *before* zero-length string checks.
       via  8019b3d0af2 smbd: Update description of canonicalize_snapshot_path().
       via  773b98c11e1 vfs_snapper: remove @GMT token stripping from snapper_gmt_strip_snapshot()
       via  2dd21e650ce vfs_ceph_snapshots: remove @GMT token stripping from ceph_snap_gmt_strip_snapshot()
       via  3a52e3f0f83 vfs_ceph_snapshots: fix return value of ceph_snap_gmt_strip_snapshot()
       via  55877f958a9 smbd: remove processing of @GMT tokens from the SMB2 server
       via  f689f3cb228 smbd: pass ucf_flags to canonicalize_snapshot_path()
       via  6e364c54538 smbd: strip @GMT token in canonicalize_snapshot_path()
       via  28763125cff smbd: pass translated_path as const to stat_cache_add()
       via  1130c64f494 smbd: realign stat_cache_add() args in unix_convert()
       via  6e8ffcff46a smbd: realigning a complex if expression in unix_convert()
       via  8632f7eaba6 vfs_ceph_snapshots: use struct smb_filename.twrp instead of @GMT string token
       via  1eb0cb078d1 vfs_ceph_snapshots: pass struct smb_filename to ceph_snap_gmt_strip_snapshot()
       via  a2e800d8356 vfs_snapper: use struct smb_filename.twrp instead of @GMT string token
       via  6cefa15bf1e vfs_snapper: pass struct smb_filename to snapper_gmt_strip_snapshot()
       via  3515ab6c3da vfs_shadow_copy2: use struct smb_filename.twrp instead of @GMT string token
       via  9fb491797e2 vfs_shadow_copy2: use smb_fname->twrp in shadow_copy2_strip_snapshot_internal()
       via  40e7750b4d3 vfs_shadow_copy2: pass orig_name as struct smb_filename to shadow_copy2_strip_snapshot()
       via  89eb4c0225e smbd: set twrp in target_fname in target_fname()
       via  c289f58b8ca vfs_fruit: set twrp in smb_fname in fruit_fstat_meta_stream()
       via  872b0919e12 vfs_default: set twrp in smb_fname in vfswrap_get_dos_attributes_getxattr_done()
       via  671319bcb49 smbd: realign target_fname initialisation in process_symlink_open()
       via  31b5a369f7a smbd: set twrp in vfs_stat_smb_basename()
       via  d912999394f smbd: move a DEBUG in unix_convert()
       via  386574f2c98 smbd: initialize twrp in smb_fname in smbd_dirptr_get_entry()
       via  d66de7d5683 smbd: realign smb_fname member initialisation in smbd_dirptr_get_entry()
       via  3073586fd8a smbd: set twrp in dptr_ReadDirName()
       via  e9a6552da34 smbd: realign smb_fname_base initialisation in dptr_ReadDirName()
       via  64a3a31861d smbd: fullpath based on fsp->fsp_name may contain an @GMT token
       via  f109be3cacb vfs_default: use cp_smb_filename_nostream() in vfswrap_streaminfo()
       via  b6b0c3d1ec6 smbd: print twrp in smb_fname_str_dbg()
       via  26ca22fa146 smbd: vfs: convert link_contents arg of SMB_VFS_SYMLINKAT() to struct smb_filename
       via  7fca428cfb9 smbd: call canonicalize_snapshot_path() on link target paths from client
       via  96921b6f5be smbd: make canonicalize_snapshot_path() public
       via  f9c67060809 smbd: convert SMB_VFS_GET_REAL_FILENAME() arg path to be a struct smb_filename
       via  0c61b2658b0 s3/vfs: change VFS interface comment to be a single multi-line comment
       via  af1af901e7c vfs_glusterfs: realign vfs_gluster_get_real_filename() args
       via  9b78da9e322 smbd: realign smb_vfs_call_get_real_filename() args
       via  82daff3efd1 smbd: pass struct smb_filename to get_real_filename()
       via  09b841aa1ca smbd: realign args of get_real_filename() and friends
       via  1e5164afafc smbd: pass twrp as NTTIME to filename_convert() and all the way down to canonicalize_snapshot_path()
       via  8a8fe887f54 smbd: let canonicalize_snapshot_path() fill in struct smb_filename.twrp
       via  f8bb2f59e12 smbd: move time_t twrp to @GMT string token conversion to canonicalize_snapshot_path()
       via  69458cc22a5 smbd: refactor canonicalize_snapshot_path()
       via  b74653f2cdc smbd: add twrp arg to synthetic_smb_fname()
       via  ab3152bf227 net: vfs: realign synthetic_smb_fname() args in net_vfs_get_ntacl()
       via  8bf629a0f33 smbd: realign synthetic_smb_fname() args in vfs_GetWd()
       via  ed27194363b smbd: realign synthetic_smb_fname() args in smbd_dirptr_lanman2_entry()
       via  730f6d597e0 smbd: realign synthetic_smb_fname() args in open_np_file()
       via  15f438dd22d smbd: realign synthetic_smb_fname() args in msg_file_was_renamed()
       via  b102ab4f41f smbd: realign synthetic_smb_fname() args in file_new()
       via  b9af0ecb3a5 s3/rpc_server: fss: realign synthetic_smb_fname() args in snap_path_exists()
       via  917b8a47ec9 s3/printing: realign synthetic_smb_fname() args in print_spool_open()
       via  7cca2c1528a s3/printing: realign synthetic_smb_fname() args in driver_unlink_internals()
       via  4381def0b7d vfs_xattr_tdb: realign synthetic_smb_fname() args in xattr_tdb_get_file_id()
       via  bdaa6cae823 vfs_virusfilter: realign synthetic_smb_fname() args in infected_file_action_quarantine()
       via  e78acc76e87 vfs_virusfilter: realign synthetic_smb_fname() args in quarantine_create_dir()
       via  64f4981b7d9 vfs_gpfs: realign synthetic_smb_fname() args in gpfsacl_emu_chmod()
       via  b09881207a2 vfs_glusterfs: realign synthetic_smb_fname() args in vfs_gluster_realpath()
       via  f7bf27cbf40 vfs_fruit: realign synthetic_smb_fname() args in fruit_get_bandsize()
       via  2a658c54611 vfs_fruit: realign synthetic_smb_fname() args in delete_invalid_meta_stream()
       via  f2b9f246059 vfs_fruit: realign synthetic_smb_fname() args in vfswrap_realpath()
       via  f1ed7687daa vfs_fruit: realign synthetic_smb_fname() args in vfswrap_realpath()
       via  2f10c390fb5 vfs_default: realign synthetic_smb_fname() args in vfswrap_realpath()
       via  f0a4d8c785b vfs_default: realign synthetic_smb_fname() args in vfswrap_fs_capabilities()
       via  3892c5b0d5f vfs_ceph_snapshots: realign synthetic_smb_fname() args in ceph_snap_gmt_convert_dir()
       via  edf2cde0702 vfs_ceph_snapshots: realign synthetic_smb_fname() args in ceph_snap_fill_label()
       via  b6452b4a71b vfs_catia: realign synthetic_smb_fname() args in catia_readdir_attr()
       via  0692c3e9db7 s3/lib: realign synthetic_smb_fname() args in synthetic_smb_fname_split()
       via  3f15b66f873 smbd: realign synthetic_smb_fname() args in check_reduced_name_with_privilege()
       via  7c10d078ebc smbd: realign args calling synthetic_smb_fname() in change_dir_owner_to_parent()
       via  abc16fafd9d vfs_vxfs: pass name as struct smb_filename to vxfs_compare()
       via  fdbb90a8e10 vfs_vxfs: realign vxfs_compare() args to one per line
       via  c893b9cd90b vfs_streams_depot: realign synthetic_smb_fname() to one arg per line
       via  5732a260a38 vfs_streams_depot: pass dirname to walk_streams()/collect_one_stream() as struct smb_filename
       via  2d02da5d833 vfs_gpfs: pass smb_fname to gpfsacl_emu_chmod()
      from  f80c97cb8da libsmb: Protect cli_oem_change_password() from rprcnt<2

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


- Log -----------------------------------------------------------------
commit 8d22b9edff76afff3d4d6ce8722b2199b6c3b866
Author: Jeremy Allison <jra at samba.org>
Date:   Tue May 5 10:28:08 2020 -0700

    Revert "smbd: fullpath based on fsp->fsp_name may contain an @GMT token"
    
    This reverts commit e593c38f5a8602be497a29e145ccdd4f9cc595e7.
    
    As stated in the original commit message, "When canonicalize_snapshot_path()
    starts actually stripping off @GMT tokens, we can remove this again."
    
    canonicalize_snapshot_path() now strips off @GMT tokens from
    any SMB1 names, so this is now not needed anymore.
    
    Signed-off-by: Jeremy Allison <jra at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>
    
    Autobuild-User(master): Jeremy Allison <jra at samba.org>
    Autobuild-Date(master): Tue May  5 20:55:42 UTC 2020 on sn-devel-184

commit 35be625b09fd7ac2d325aca290c29d40c53a4ca3
Author: Jeremy Allison <jra at samba.org>
Date:   Mon May 4 17:57:29 2020 -0700

    s3: torture: Add samba3.blackbox.NT1.shadow_copy_torture.
    
    Runs the SMB1 root @GMT-pathname open test.
    
    Signed-off-by: Jeremy Allison <jra at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>

commit 9881c3f9ab5c6792575e912730aa063d60f9aa57
Author: Jeremy Allison <jra at samba.org>
Date:   Mon May 4 17:56:46 2020 -0700

    s4: torture: Add an SMB1-specific open root of share with @GMT-path test - base.smb1-twrp-openroot
    
    Signed-off-by: Jeremy Allison <jra at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>

commit c3377b4c02d0eebb1917c5306f9dd6407cadaee0
Author: Jeremy Allison <jra at samba.org>
Date:   Mon May 4 17:08:30 2020 -0700

    s3: torture: Add call to smbtorture smb2.twrp.openroot
    
    Signed-off-by: Jeremy Allison <jra at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>

commit 2b8ea977096234a81db9d8138a49c9b7c8b5067f
Author: Jeremy Allison <jra at samba.org>
Date:   Mon May 4 17:07:40 2020 -0700

    s4: torture: Add smb2.twrp.openroot test.
    
    Opens the root of a share over SMB2 with a zero-length
    filename and a timewarp token.
    
    Signed-off-by: Jeremy Allison <jra at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>

commit 2992891e27810a9d7d1a93f9f274dc58a845d740
Author: Jeremy Allison <jra at samba.org>
Date:   Mon May 4 19:29:17 2020 -0700

    s3: smbd: Move the initialization of the filename and the call to canonicalize_snapshot_path() *before* zero-length string checks.
    
    canonicalize_snapshot_path() may eat the incoming pathname in total
    for SMB1, so we need to check after that call.
    
    Fix the zero-length string check to look at state->smb_fname->base_name
    instead of state->orig_path.
    
    Signed-off-by: Jeremy Allison <jra at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>

commit 8019b3d0af2eb9a309b2b7b7055fe3ddbd645728
Author: Jeremy Allison <jra at samba.org>
Date:   Mon May 4 12:53:21 2020 -0700

    smbd: Update description of canonicalize_snapshot_path().
    
    Signed-off-by: Jeremy Allison <jra at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>

commit 773b98c11e13fe62a303b869f03d7dfef1bb8ca5
Author: Ralph Boehme <slow at samba.org>
Date:   Mon May 4 10:37:22 2020 +0200

    vfs_snapper: remove @GMT token stripping from snapper_gmt_strip_snapshot()
    
    Leaving the exercize of removing the now unneeded stripped logic to a future
    patchset.
    
    Signed-off-by: Ralph Boehme <slow at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 2dd21e650ce61e789caab425f272716e74700986
Author: Ralph Boehme <slow at samba.org>
Date:   Mon May 4 10:21:41 2020 +0200

    vfs_ceph_snapshots: remove @GMT token stripping from ceph_snap_gmt_strip_snapshot()
    
    Leaving the exercize of removing the now unneeded stripped logic to a future
    patchset.
    
    Signed-off-by: Ralph Boehme <slow at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 3a52e3f0f83f6d3c7784dcfa2a2e420a5b83273d
Author: Ralph Boehme <slow at samba.org>
Date:   Mon May 4 10:19:35 2020 +0200

    vfs_ceph_snapshots: fix return value of ceph_snap_gmt_strip_snapshot()
    
    The function returns ints and the callers expect ints. Declaring bool while
    returning ints works, as generally compilers implement bools as ints.
    
    Signed-off-by: Ralph Boehme <slow at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 55877f958a951cdef5b8c68ac6047f15a5cdbb5d
Author: Ralph Boehme <slow at samba.org>
Date:   Sun May 3 19:07:08 2020 +0200

    smbd: remove processing of @GMT tokens from the SMB2 server
    
    Setting this flag was a hokey hack to trigger @GMT token processing in
    filename_convert(). Now that all internal processing is based on struct
    smb_filename.NTTIME twrp, we can remove this hack.
    
    With this change, paths containing @GMT tokens received over SMB2 are
    subsequently processed unchanged, the @GMT token is not stripped and will hit
    the filesystem, mostly resulting in NT_STATUS_NOT_FOUND failures which is the
    same behaviour as Windows.
    
    Signed-off-by: Ralph Boehme <slow at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit f689f3cb2284470f2e56ae4512ff20079e610fa1
Author: Ralph Boehme <slow at samba.org>
Date:   Mon May 4 13:51:37 2020 +0200

    smbd: pass ucf_flags to canonicalize_snapshot_path()
    
    No change in behaviour. ucf_flags are just now checked *inside*
    canonicalize_snapshot_path() instead of the caller.
    
    Signed-off-by: Ralph Boehme <slow at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 6e364c545384c5da4a0f0f0536c40394aa2e2a97
Author: Ralph Boehme <slow at samba.org>
Date:   Thu Apr 30 15:24:44 2020 +0200

    smbd: strip @GMT token in canonicalize_snapshot_path()
    
    smbd and all previous-versions implementing VFS modules have been patched to
    work with struct smb_filename.NTTIME twrp, so we can now safely strip @GMT
    tokens from paths.
    
    This also means that "@GMT-something/foo" and "foo" will both come out as "foo",
    so we have to take care of the stat-cache now and change it to take and use an
    additional twrp arg.
    
    At the same time remove @GMT stripping from shadow_copy2. In theory this could
    be made a seperate commit, but due to the absolute path and pstripped logic, it
    felt too cumbersome to attempt this.
    
    Leaving the exercize of removing the now unneeded stripped logic to a future
    patchset.
    
    Signed-off-by: Ralph Boehme <slow at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 28763125cff32d826929f7a261d2e5e1f5cd1ba7
Author: Ralph Boehme <slow at samba.org>
Date:   Tue May 5 13:03:29 2020 +0200

    smbd: pass translated_path as const to stat_cache_add()
    
    Prepares for doing more stuff with the translated_path in a subsequent commit.
    
    Signed-off-by: Ralph Boehme <slow at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 1130c64f494268df8577598aa99fc95382133dee
Author: Ralph Boehme <slow at samba.org>
Date:   Tue May 5 13:00:00 2020 +0200

    smbd: realign stat_cache_add() args in unix_convert()
    
    Signed-off-by: Ralph Boehme <slow at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 6e8ffcff46a95aa50937d8d9ea5d21c5d46e0e4a
Author: Ralph Boehme <slow at samba.org>
Date:   Tue May 5 11:13:47 2020 +0200

    smbd: realigning a complex if expression in unix_convert()
    
    Signed-off-by: Ralph Boehme <slow at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 8632f7eaba6665c9feb970e38b8979a6741abea4
Author: Ralph Boehme <slow at samba.org>
Date:   Sat May 2 11:45:11 2020 +0200

    vfs_ceph_snapshots: use struct smb_filename.twrp instead of @GMT string token
    
    @GMT tokens are still validated and stripped, but the previous version timestamp
    is taken from the struct smb_filename twrp member.
    
    Signed-off-by: Ralph Boehme <slow at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 1eb0cb078d1dc3bb20f1fa8795bcb4a3b23ef47c
Author: Ralph Boehme <slow at samba.org>
Date:   Sat May 2 11:39:58 2020 +0200

    vfs_ceph_snapshots: pass struct smb_filename to ceph_snap_gmt_strip_snapshot()
    
    Signed-off-by: Ralph Boehme <slow at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit a2e800d83567b5cd0cd8c0ebea19d86d40d23fa1
Author: Ralph Boehme <slow at samba.org>
Date:   Sat May 2 11:45:11 2020 +0200

    vfs_snapper: use struct smb_filename.twrp instead of @GMT string token
    
    @GMT tokens are still validated and stripped, but the previous version timestamp
    is taken from the struct smb_filename twrp member.
    
    Signed-off-by: Ralph Boehme <slow at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 6cefa15bf1e878ab50b3e9d232cf1dc7ee0ab892
Author: Ralph Boehme <slow at samba.org>
Date:   Sat May 2 11:39:58 2020 +0200

    vfs_snapper: pass struct smb_filename to snapper_gmt_strip_snapshot()
    
    Signed-off-by: Ralph Boehme <slow at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 3515ab6c3da93c55a5a1c366767498ba62208432
Author: Ralph Boehme <slow at samba.org>
Date:   Sat May 2 12:10:38 2020 +0200

    vfs_shadow_copy2: use struct smb_filename.twrp instead of @GMT string token
    
    Removes the asserts which were only needed to prove patchset correctness.
    
    If smb_fname->twrp is zero, the path won't contain an @GMT token, so we can skip
    the stripping logic and directly goto out.
    
    Signed-off-by: Ralph Boehme <slow at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 9fb491797e2a419457c6bba9ac96e6726e995eae
Author: Ralph Boehme <slow at samba.org>
Date:   Fri May 1 16:36:09 2020 +0200

    vfs_shadow_copy2: use smb_fname->twrp in shadow_copy2_strip_snapshot_internal()
    
    Use smb_fname->twrp instead if the @GMT token and assert both the twrp value and
    the converted @GMT string token have the same value.
    
    With this commit passing CI (which it did), we can somewhat safely assume that
    anything that calls into the VFS stack is correctly passing struct
    smb_filename.twrp from unix_convert() to the VFS without loosing the twrp value
    in one of the myriad places where we copy the original struct smb_filename value
    one way or another.
    
    Signed-off-by: Ralph Boehme <slow at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 40e7750b4d31f97ba0a8b3af79ffe9958ed3c11a
Author: Ralph Boehme <slow at samba.org>
Date:   Thu Apr 30 17:28:16 2020 +0200

    vfs_shadow_copy2: pass orig_name as struct smb_filename to shadow_copy2_strip_snapshot()
    
    Signed-off-by: Ralph Boehme <slow at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 89eb4c0225e2b5317fb5ad78440440321727bb50
Author: Ralph Boehme <slow at samba.org>
Date:   Sat May 2 10:30:24 2020 +0200

    smbd: set twrp in target_fname in target_fname()
    
    Signed-off-by: Ralph Boehme <slow at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit c289f58b8ca17d39694a8df2e5679c229c839f5d
Author: Ralph Boehme <slow at samba.org>
Date:   Sat May 2 10:28:44 2020 +0200

    vfs_fruit: set twrp in smb_fname in fruit_fstat_meta_stream()
    
    Signed-off-by: Ralph Boehme <slow at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 872b0919e122f72b3c5543949149c133621f54a4
Author: Ralph Boehme <slow at samba.org>
Date:   Sat May 2 10:28:00 2020 +0200

    vfs_default: set twrp in smb_fname in vfswrap_get_dos_attributes_getxattr_done()
    
    Signed-off-by: Ralph Boehme <slow at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 671319bcb49d313a06330ac20f50dd40f84c0590
Author: Ralph Boehme <slow at samba.org>
Date:   Sat May 2 10:27:04 2020 +0200

    smbd: realign target_fname initialisation in process_symlink_open()
    
    Signed-off-by: Ralph Boehme <slow at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 31b5a369f7aa5d43c6cbb623190aec977037d6d6
Author: Ralph Boehme <slow at samba.org>
Date:   Sat May 2 08:10:36 2020 +0200

    smbd: set twrp in vfs_stat_smb_basename()
    
    Signed-off-by: Ralph Boehme <slow at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit d912999394feacec929bad82ed0dcfaa6e25063d
Author: Ralph Boehme <slow at samba.org>
Date:   Sat May 2 08:09:24 2020 +0200

    smbd: move a DEBUG in unix_convert()
    
    Ensure a successfull conversion via early exit also logs a message.
    
    While at it, use smb_fname_str_dbg() to print the string which ensure any stream
    component or twrp value is also printed.
    
    Signed-off-by: Ralph Boehme <slow at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 386574f2c98b9a7066d19384b0edd8f918367693
Author: Ralph Boehme <slow at samba.org>
Date:   Fri May 1 17:08:37 2020 +0200

    smbd: initialize twrp in smb_fname in smbd_dirptr_get_entry()
    
    Signed-off-by: Ralph Boehme <slow at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit d66de7d5683a2bfb1c1f081b54284b535081b3ef
Author: Ralph Boehme <slow at samba.org>
Date:   Fri May 1 17:06:26 2020 +0200

    smbd: realign smb_fname member initialisation in smbd_dirptr_get_entry()
    
    Signed-off-by: Ralph Boehme <slow at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 3073586fd8aabf380db8398d08698b19fd84c66a
Author: Ralph Boehme <slow at samba.org>
Date:   Fri May 1 17:05:48 2020 +0200

    smbd: set twrp in dptr_ReadDirName()
    
    Signed-off-by: Ralph Boehme <slow at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit e9a6552da3497537328b44ed3a4abfe79996d85f
Author: Ralph Boehme <slow at samba.org>
Date:   Fri May 1 16:55:58 2020 +0200

    smbd: realign smb_fname_base initialisation in dptr_ReadDirName()
    
    Signed-off-by: Ralph Boehme <slow at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 64a3a31861d2a742b188723b0f91f2d4ea06eb15
Author: Ralph Boehme <slow at samba.org>
Date:   Fri May 1 16:38:04 2020 +0200

    smbd: fullpath based on fsp->fsp_name may contain an @GMT token
    
    This ensure unix_convert() calls canonicalize_snapshot_path() on the path to
    process the @GMT token, so smb_fname->twrp is filled in with the converted time
    value of the @GMT token.
    
    When canonicalize_snapshot_path() starts actually stripping off @GMT tokens, we
    can remove this again.
    
    Signed-off-by: Ralph Boehme <slow at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit f109be3cacb305a06825f7f7e4db1d24ec08aa26
Author: Ralph Boehme <slow at samba.org>
Date:   Fri May 1 16:30:57 2020 +0200

    vfs_default: use cp_smb_filename_nostream() in vfswrap_streaminfo()
    
    Ensure twrp field and whatever else may be added in the future is correctly
    copied over to smb_fname_cp.
    
    Signed-off-by: Ralph Boehme <slow at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit b6b0c3d1ec6205b6279596615b0ff0710d613e2a
Author: Ralph Boehme <slow at samba.org>
Date:   Fri May 1 16:30:28 2020 +0200

    smbd: print twrp in smb_fname_str_dbg()
    
    This looses precision by going from NTTIME to time_t, but GMT_FORMAT only has
    seconds granularity anyway and @GMT token as defined by MS-SMB2 as well.
    
    Signed-off-by: Ralph Boehme <slow at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 26ca22fa146b481262cb5baccf3910199450d72b
Author: Ralph Boehme <slow at samba.org>
Date:   Thu Apr 30 19:30:50 2020 +0200

    smbd: vfs: convert link_contents arg of SMB_VFS_SYMLINKAT() to struct smb_filename
    
    Signed-off-by: Ralph Boehme <slow at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 7fca428cfb99d9da2b6a8dedb4ddc27c1347e334
Author: Ralph Boehme <slow at samba.org>
Date:   Thu Apr 30 17:46:31 2020 +0200

    smbd: call canonicalize_snapshot_path() on link target paths from client
    
    Prepares for having canonicalize_snapshot_path() strip any @GMT token from link
    targets. In the future VFS modules won't be doing @GMT token stripping, so we
    have to do it here.
    
    Signed-off-by: Ralph Boehme <slow at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 96921b6f5be1d7540b8fee3011b3488ad6cf0ed3
Author: Ralph Boehme <slow at samba.org>
Date:   Sat May 2 12:55:33 2020 +0200

    smbd: make canonicalize_snapshot_path() public
    
    Signed-off-by: Ralph Boehme <slow at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit f9c670608090fc22ccb48a29eed16bc44c9e75fd
Author: Ralph Boehme <slow at samba.org>
Date:   Thu Apr 30 16:40:28 2020 +0200

    smbd: convert SMB_VFS_GET_REAL_FILENAME() arg path to be a struct smb_filename
    
    Signed-off-by: Ralph Boehme <slow at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 0c61b2658b003894f69d69198edc512943943157
Author: Ralph Boehme <slow at samba.org>
Date:   Mon May 4 10:56:21 2020 +0200

    s3/vfs: change VFS interface comment to be a single multi-line comment
    
    Looks much better imho. :)
    
    Signed-off-by: Ralph Boehme <slow at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit af1af901e7c098ec3729576c25c0cee9be1440b2
Author: Ralph Boehme <slow at samba.org>
Date:   Thu Apr 30 16:28:55 2020 +0200

    vfs_glusterfs: realign vfs_gluster_get_real_filename() args
    
    Signed-off-by: Ralph Boehme <slow at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 9b78da9e3224a3b7625a77f7a5cc357a36385855
Author: Ralph Boehme <slow at samba.org>
Date:   Thu Apr 30 16:26:48 2020 +0200

    smbd: realign smb_vfs_call_get_real_filename() args
    
    Signed-off-by: Ralph Boehme <slow at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 82daff3efd1d839df10d19743d8414442323c6bc
Author: Ralph Boehme <slow at samba.org>
Date:   Thu Apr 30 16:22:19 2020 +0200

    smbd: pass struct smb_filename to get_real_filename()
    
    Prepares for passing struct smb_filename to SMB_VFS_GET_REAL_FILENAME().
    
    This also makes it necessary to move the NULL or empty path checks to
    unix_convert_step_stat().
    
    Signed-off-by: Ralph Boehme <slow at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 09b841aa1ca667c336a1dbabe66ac70dd0cbe388
Author: Ralph Boehme <slow at samba.org>
Date:   Thu Apr 30 17:20:49 2020 +0200

    smbd: realign args of get_real_filename() and friends
    
    Signed-off-by: Ralph Boehme <slow at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 1e5164afafcecca4e939ff4402241b048f1c9945
Author: Ralph Boehme <slow at samba.org>
Date:   Thu Apr 30 16:04:54 2020 +0200

    smbd: pass twrp as NTTIME to filename_convert() and all the way down to canonicalize_snapshot_path()
    
    Also pass by value rather then by reference.
    
    Signed-off-by: Ralph Boehme <slow at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 8a8fe887f54ad197be74d5e816da9e5efd745178
Author: Ralph Boehme <slow at samba.org>
Date:   Thu Apr 30 15:17:11 2020 +0200

    smbd: let canonicalize_snapshot_path() fill in struct smb_filename.twrp
    
    Signed-off-by: Ralph Boehme <slow at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit f8bb2f59e121e03b1e68f64cb2a2fb0a20386bb4
Author: Ralph Boehme <slow at samba.org>
Date:   Thu Apr 30 15:14:36 2020 +0200

    smbd: move time_t twrp to @GMT string token conversion to canonicalize_snapshot_path()
    
    Prepares for canonicalize_snapshot_path() being the one-stop shop for
    previous-versions related stuff in subsequent commits.
    
    Signed-off-by: Ralph Boehme <slow at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 69458cc22a5c00fbfc300769fbbb894cc7ac172d
Author: Ralph Boehme <slow at samba.org>
Date:   Thu Apr 30 14:13:44 2020 +0200

    smbd: refactor canonicalize_snapshot_path()
    
    This prepares for adding additional code after calling rearrange_snapshot_path().
    
    Signed-off-by: Ralph Boehme <slow at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit b74653f2cdc6e6b60df8c78db9dfd50a9723cb19
Author: Ralph Boehme <slow at samba.org>
Date:   Thu Apr 30 11:48:32 2020 +0200

    smbd: add twrp arg to synthetic_smb_fname()
    
    Most places take twrp from a local struct smb_filename variable that the
    function is working on. Some don't for various reasons:
    
    o synthetic_smb_fname_split() is only called in very few places where we don't
      expect twrp paths
    
    o implementations of SMB_VFS_GETWD(), SMB_VFS_FS_CAPABILITIES() and
      SMB_VFS_REALPATH() return the systems view of cwd and realpath without twrp info
    
    o VFS modules implementing previous-versions support (vfs_ceph_snapshots,
      vfs_shadow_copy2, vfs_snapper) synthesize raw paths that are passed to VFS NEXT
      functions and therefor do not use twrp
    
    o vfs_fruit: macOS doesn't support VSS
    
    o vfs_recycle: in recycle_create_dir() we need a raw OS path to create a directory
    
    o vfs_virusfilter: a few places where we need raw OS paths
    
    o vfs_xattr_tdb: needs a raw OS path for SMB_VFS_NEXT_STAT()
    
    o printing and rpc server: don't support VSS
    
    o vfs_default_durable_reconnect: no Durable Handles on VSS handles, this might
      be enhances in the future. No idea if Windows supports this.
    
    o get_real_filename_full_scan: hm.... FIXME??
    
    o get_original_lcomp: working on a raw path
    
    o msdfs: doesn't support VSS
    
    o vfs_get_ntquota: synthesizes an smb_filename from ".", so doesn't support VSS
      even though VFS modules implement it
    
    o fd_open: conn_rootdir_fname is a raw path
    
    o msg_file_was_renamed: obvious
    
    o open_np_file: pipes don't support VSS
    
    o Python bindings: get's a raw path from the caller
    
    o set_conn_connectpath: raw path
    
    o set_conn_connectpath: raw path
    
    o torture: gets raw paths from the caller
    
    Signed-off-by: Ralph Boehme <slow at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit ab3152bf2273af2cc2aa12322c059ea1b4fb5686
Author: Ralph Boehme <slow at samba.org>
Date:   Sun May 3 15:09:15 2020 +0200

    net: vfs: realign synthetic_smb_fname() args in net_vfs_get_ntacl()
    
    Signed-off-by: Ralph Boehme <slow at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 8bf629a0f331c889e06150c95fcf3b5bc08ae27b
Author: Ralph Boehme <slow at samba.org>
Date:   Sun May 3 15:08:59 2020 +0200

    smbd: realign synthetic_smb_fname() args in vfs_GetWd()
    
    Signed-off-by: Ralph Boehme <slow at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit ed27194363b16926d82039938f647b65f714e191
Author: Ralph Boehme <slow at samba.org>
Date:   Sun May 3 15:08:36 2020 +0200

    smbd: realign synthetic_smb_fname() args in smbd_dirptr_lanman2_entry()
    
    Signed-off-by: Ralph Boehme <slow at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 730f6d597e0dfd1f27232e9e295d8f2bd748af17
Author: Ralph Boehme <slow at samba.org>
Date:   Sun May 3 15:08:20 2020 +0200

    smbd: realign synthetic_smb_fname() args in open_np_file()
    
    Signed-off-by: Ralph Boehme <slow at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 15f438dd22d1c86506c818e20f88a7c4bf15c4ad
Author: Ralph Boehme <slow at samba.org>
Date:   Sun May 3 15:08:03 2020 +0200

    smbd: realign synthetic_smb_fname() args in msg_file_was_renamed()
    
    Signed-off-by: Ralph Boehme <slow at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit b102ab4f41f88d0f11d3c85ba1f59dac9841f30f
Author: Ralph Boehme <slow at samba.org>
Date:   Sun May 3 15:07:45 2020 +0200

    smbd: realign synthetic_smb_fname() args in file_new()
    
    Signed-off-by: Ralph Boehme <slow at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit b9af0ecb3a504bcea9beab2538322c9809e5f042
Author: Ralph Boehme <slow at samba.org>
Date:   Sun May 3 15:07:05 2020 +0200

    s3/rpc_server: fss: realign synthetic_smb_fname() args in snap_path_exists()
    
    Signed-off-by: Ralph Boehme <slow at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 917b8a47ec92c5ec8cbaf3caaf2f881b5ee4c0ac
Author: Ralph Boehme <slow at samba.org>
Date:   Sun May 3 15:06:51 2020 +0200

    s3/printing: realign synthetic_smb_fname() args in print_spool_open()
    
    Signed-off-by: Ralph Boehme <slow at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 7cca2c1528a6659b86a878921520250684df6dda
Author: Ralph Boehme <slow at samba.org>
Date:   Sun May 3 15:06:32 2020 +0200

    s3/printing: realign synthetic_smb_fname() args in driver_unlink_internals()
    
    Signed-off-by: Ralph Boehme <slow at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 4381def0b7d70e5358ee8aeaf2865184f3b8e27a
Author: Ralph Boehme <slow at samba.org>
Date:   Sun May 3 15:06:12 2020 +0200

    vfs_xattr_tdb: realign synthetic_smb_fname() args in xattr_tdb_get_file_id()
    
    Signed-off-by: Ralph Boehme <slow at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit bdaa6cae8232e727ec429decb08eba8b0653d3b4
Author: Ralph Boehme <slow at samba.org>
Date:   Sun May 3 15:05:46 2020 +0200

    vfs_virusfilter: realign synthetic_smb_fname() args in infected_file_action_quarantine()
    
    Signed-off-by: Ralph Boehme <slow at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit e78acc76e87f95a2ae3a278c9bfe462b5fbb21e3
Author: Ralph Boehme <slow at samba.org>
Date:   Sun May 3 15:05:25 2020 +0200

    vfs_virusfilter: realign synthetic_smb_fname() args in quarantine_create_dir()
    
    Signed-off-by: Ralph Boehme <slow at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 64f4981b7d976d736923bcda932635646c025a7f
Author: Ralph Boehme <slow at samba.org>
Date:   Sun May 3 15:04:58 2020 +0200

    vfs_gpfs: realign synthetic_smb_fname() args in gpfsacl_emu_chmod()
    
    Signed-off-by: Ralph Boehme <slow at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit b09881207a2b4b38f99ab425a456ebbe604181fd
Author: Ralph Boehme <slow at samba.org>
Date:   Sun May 3 15:04:36 2020 +0200

    vfs_glusterfs: realign synthetic_smb_fname() args in vfs_gluster_realpath()
    
    Signed-off-by: Ralph Boehme <slow at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit f7bf27cbf401cfd23416a1e8f856715f0311c854
Author: Ralph Boehme <slow at samba.org>
Date:   Sun May 3 15:04:14 2020 +0200

    vfs_fruit: realign synthetic_smb_fname() args in fruit_get_bandsize()
    
    Signed-off-by: Ralph Boehme <slow at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 2a658c5461143dfa8f5b6fe0592229a364ab0398
Author: Ralph Boehme <slow at samba.org>
Date:   Sun May 3 15:03:42 2020 +0200

    vfs_fruit: realign synthetic_smb_fname() args in delete_invalid_meta_stream()
    
    Signed-off-by: Ralph Boehme <slow at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit f2b9f2460598ed7812864c2cb56383acb24024bf
Author: Ralph Boehme <slow at samba.org>
Date:   Sun May 3 15:03:22 2020 +0200

    vfs_fruit: realign synthetic_smb_fname() args in vfswrap_realpath()
    
    Signed-off-by: Ralph Boehme <slow at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit f1ed7687daad699e66bcda2a95ba90f6dd973b3b
Author: Ralph Boehme <slow at samba.org>
Date:   Sun May 3 15:03:01 2020 +0200

    vfs_fruit: realign synthetic_smb_fname() args in vfswrap_realpath()
    
    Signed-off-by: Ralph Boehme <slow at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 2f10c390fb53af03b1b737a6f1042e8b854463c7
Author: Ralph Boehme <slow at samba.org>
Date:   Sun May 3 15:02:38 2020 +0200

    vfs_default: realign synthetic_smb_fname() args in vfswrap_realpath()
    
    Signed-off-by: Ralph Boehme <slow at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit f0a4d8c785b00e2781e40927ea4fd2f487469652
Author: Ralph Boehme <slow at samba.org>
Date:   Sun May 3 15:01:54 2020 +0200

    vfs_default: realign synthetic_smb_fname() args in vfswrap_fs_capabilities()
    
    Signed-off-by: Ralph Boehme <slow at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 3892c5b0d5f4e1e8fb8ed95acf6910302fdc3745
Author: Ralph Boehme <slow at samba.org>
Date:   Sun May 3 08:33:51 2020 +0200

    vfs_ceph_snapshots: realign synthetic_smb_fname() args in ceph_snap_gmt_convert_dir()
    
    Signed-off-by: Ralph Boehme <slow at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit edf2cde07021115a8422782e33235e524598384f
Author: Ralph Boehme <slow at samba.org>
Date:   Sun May 3 08:32:53 2020 +0200

    vfs_ceph_snapshots: realign synthetic_smb_fname() args in ceph_snap_fill_label()
    
    Signed-off-by: Ralph Boehme <slow at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit b6452b4a71b12d99bf3bdcfa51433311eeefb93a
Author: Ralph Boehme <slow at samba.org>
Date:   Sun May 3 08:28:14 2020 +0200

    vfs_catia: realign synthetic_smb_fname() args in catia_readdir_attr()
    
    Signed-off-by: Ralph Boehme <slow at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 0692c3e9db7c52aabeeeee14c2129f33f301f181
Author: Ralph Boehme <slow at samba.org>
Date:   Sun May 3 08:26:47 2020 +0200

    s3/lib: realign synthetic_smb_fname() args in synthetic_smb_fname_split()
    
    Signed-off-by: Ralph Boehme <slow at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 3f15b66f8737f275f8f463749f1b5c1dddb0365a
Author: Ralph Boehme <slow at samba.org>
Date:   Thu Apr 30 12:05:43 2020 +0200

    smbd: realign synthetic_smb_fname() args in check_reduced_name_with_privilege()
    
    Signed-off-by: Ralph Boehme <slow at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 7c10d078ebcbf05b14e726e7ad8c521363e12581
Author: Ralph Boehme <slow at samba.org>
Date:   Thu Apr 30 12:01:44 2020 +0200

    smbd: realign args calling synthetic_smb_fname() in change_dir_owner_to_parent()
    
    Signed-off-by: Ralph Boehme <slow at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit abc16fafd9d387974b4dfaed2d2aa3a979fb8404
Author: Ralph Boehme <slow at samba.org>
Date:   Thu Apr 30 11:51:15 2020 +0200

    vfs_vxfs: pass name as struct smb_filename to vxfs_compare()
    
    Signed-off-by: Ralph Boehme <slow at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit fdbb90a8e1018d309ae2a283b87b77d4055421a7
Author: Ralph Boehme <slow at samba.org>
Date:   Thu Apr 30 11:48:41 2020 +0200

    vfs_vxfs: realign vxfs_compare() args to one per line
    
    Signed-off-by: Ralph Boehme <slow at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit c893b9cd90b1f13657a27a7698a56d8adbbc23e4
Author: Ralph Boehme <slow at samba.org>
Date:   Thu Apr 30 11:44:15 2020 +0200

    vfs_streams_depot: realign synthetic_smb_fname() to one arg per line
    
    Signed-off-by: Ralph Boehme <slow at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 5732a260a3850c613d291c907ac11079e03a4106
Author: Ralph Boehme <slow at samba.org>
Date:   Thu Apr 30 11:42:50 2020 +0200

    vfs_streams_depot: pass dirname to walk_streams()/collect_one_stream() as struct smb_filename
    
    Signed-off-by: Ralph Boehme <slow at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 2d02da5d8335e551bf50d7e671cea129182a5c60
Author: Ralph Boehme <slow at samba.org>
Date:   Thu Apr 30 11:28:57 2020 +0200

    vfs_gpfs: pass smb_fname to gpfsacl_emu_chmod()
    
    Signed-off-by: Ralph Boehme <slow at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

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

Summary of changes:
 examples/VFS/skel_opaque.c                         |   4 +-
 examples/VFS/skel_transparent.c                    |   4 +-
 source3/include/proto.h                            |   1 +
 source3/include/vfs.h                              | 556 +++++++++++----------
 source3/lib/adouble.c                              |   3 +
 source3/lib/filename_util.c                        |  37 +-
 source3/modules/vfs_cap.c                          |  44 +-
 source3/modules/vfs_catia.c                        |  28 +-
 source3/modules/vfs_ceph.c                         |  10 +-
 source3/modules/vfs_ceph_snapshots.c               | 159 +++---
 source3/modules/vfs_default.c                      |  42 +-
 source3/modules/vfs_fileid.c                       |   1 +
 source3/modules/vfs_fruit.c                        |  24 +-
 source3/modules/vfs_full_audit.c                   |   9 +-
 source3/modules/vfs_glusterfs.c                    |  20 +-
 source3/modules/vfs_glusterfs_fuse.c               |   4 +-
 source3/modules/vfs_gpfs.c                         |  22 +-
 source3/modules/vfs_media_harmony.c                |  15 +-
 source3/modules/vfs_not_implemented.c              |   4 +-
 source3/modules/vfs_recycle.c                      |   2 +
 source3/modules/vfs_shadow_copy.c                  |   1 +
 source3/modules/vfs_shadow_copy2.c                 | 201 +++-----
 source3/modules/vfs_snapper.c                      | 145 ++----
 source3/modules/vfs_streams_depot.c                |  31 +-
 source3/modules/vfs_streams_xattr.c                |   4 +
 source3/modules/vfs_syncops.c                      |   4 +-
 source3/modules/vfs_time_audit.c                   |   7 +-
 source3/modules/vfs_unityed_media.c                |  15 +-
 source3/modules/vfs_virusfilter.c                  |  16 +-
 source3/modules/vfs_vxfs.c                         |  16 +-
 source3/modules/vfs_widelinks.c                    |   2 +
 source3/modules/vfs_xattr_tdb.c                    |   7 +-
 source3/printing/nt_printing.c                     |   9 +-
 source3/printing/printspoolss.c                    |   7 +-
 source3/rpc_server/eventlog/srv_eventlog_nt.c      |   1 +
 source3/rpc_server/fss/srv_fss_agent.c             |   7 +-
 source3/rpc_server/srvsvc/srv_srvsvc_nt.c          |   4 +-
 source3/script/tests/test_shadow_copy_torture.sh   |  22 +
 .../script/tests/test_smb1_shadow_copy_torture.sh  |  75 +++
 source3/selftest/tests.py                          |   3 +
 source3/smbd/close.c                               |   3 +
 source3/smbd/dir.c                                 |  12 +-
 source3/smbd/dosmode.c                             |   2 +
 source3/smbd/durable.c                             |   1 +
 source3/smbd/filename.c                            | 229 +++++----
 source3/smbd/files.c                               |   7 +-
 source3/smbd/msdfs.c                               |   8 +-
 source3/smbd/ntquotas.c                            |   1 +
 source3/smbd/nttrans.c                             |   8 +-
 source3/smbd/open.c                                |  26 +-
 source3/smbd/pipes.c                               |   7 +-
 source3/smbd/proto.h                               |  16 +-
 source3/smbd/pysmbd.c                              |   2 +
 source3/smbd/reply.c                               |  34 +-
 source3/smbd/service.c                             |   2 +
 source3/smbd/smb2_create.c                         |  16 +-
 source3/smbd/smb2_query_directory.c                |   2 +-
 source3/smbd/statcache.c                           |  85 +++-
 source3/smbd/trans2.c                              |  44 +-
 source3/smbd/vfs.c                                 |  25 +-
 source3/torture/cmd_vfs.c                          |  30 +-
 source3/utils/net_vfs.c                            |   8 +-
 source4/torture/basic/base.c                       |  47 ++
 source4/torture/smb2/create.c                      |  53 ++
 64 files changed, 1352 insertions(+), 882 deletions(-)
 create mode 100755 source3/script/tests/test_smb1_shadow_copy_torture.sh


Changeset truncated at 500 lines:

diff --git a/examples/VFS/skel_opaque.c b/examples/VFS/skel_opaque.c
index ed9f108009e..cc3aa7eae6b 100644
--- a/examples/VFS/skel_opaque.c
+++ b/examples/VFS/skel_opaque.c
@@ -462,7 +462,7 @@ static bool skel_getlock(vfs_handle_struct *handle, files_struct *fsp,
 }
 
 static int skel_symlinkat(vfs_handle_struct *handle,
-			const char *link_contents,
+			const struct smb_filename *link_contents,
 			struct files_struct *dirfsp,
 			const struct smb_filename *new_smb_fname)
 {
@@ -643,7 +643,7 @@ static NTSTATUS skel_streaminfo(struct vfs_handle_struct *handle,
 }
 
 static int skel_get_real_filename(struct vfs_handle_struct *handle,
-				  const char *path,
+				  const struct smb_filename *path,
 				  const char *name,
 				  TALLOC_CTX *mem_ctx, char **found_name)
 {
diff --git a/examples/VFS/skel_transparent.c b/examples/VFS/skel_transparent.c
index 1dce543734f..235d4533df3 100644
--- a/examples/VFS/skel_transparent.c
+++ b/examples/VFS/skel_transparent.c
@@ -587,7 +587,7 @@ static bool skel_getlock(vfs_handle_struct *handle, files_struct *fsp,
 }
 
 static int skel_symlinkat(vfs_handle_struct *handle,
-			const char *link_contents,
+			const struct smb_filename *link_contents,
 			struct files_struct *dirfsp,
 			const struct smb_filename *new_smb_fname)
 {
@@ -860,7 +860,7 @@ static NTSTATUS skel_streaminfo(struct vfs_handle_struct *handle,
 }
 
 static int skel_get_real_filename(struct vfs_handle_struct *handle,
-				  const char *path,
+				  const struct smb_filename *path,
 				  const char *name,
 				  TALLOC_CTX *mem_ctx, char **found_name)
 {
diff --git a/source3/include/proto.h b/source3/include/proto.h
index 3bd336c1d37..0e96fcccc65 100644
--- a/source3/include/proto.h
+++ b/source3/include/proto.h
@@ -980,6 +980,7 @@ struct smb_filename *synthetic_smb_fname(TALLOC_CTX *mem_ctx,
 					 const char *base_name,
 					 const char *stream_name,
 					 const SMB_STRUCT_STAT *psbuf,
+					 NTTIME twrp,
 					 uint32_t flags);
 struct smb_filename *synthetic_smb_fname_split(TALLOC_CTX *ctx,
 						const char *fname,
diff --git a/source3/include/vfs.h b/source3/include/vfs.h
index ce969747546..3e133a58f43 100644
--- a/source3/include/vfs.h
+++ b/source3/include/vfs.h
@@ -46,273 +46,279 @@
  * VL.
  */
 
-/* Changed to version 2 for CIFS UNIX extensions (mknod and link added). JRA. */
-/* Changed to version 3 for POSIX acl extensions. JRA. */
-/* Changed to version 4 for cascaded VFS interface. Alexander Bokovoy. */
-/* Changed to version 5 for sendfile addition. JRA. */
-/* Changed to version 6 for the new module system, fixed cascading and quota functions. --metze */
-/* Changed to version 7 to include the get_nt_acl info parameter. JRA. */
-/* Changed to version 8 includes EA calls. JRA. */
-/* Changed to version 9 to include the get_shadow_data call. --metze */
-/* Changed to version 10 to include pread/pwrite calls. */
-/* Changed to version 11 to include seekdir/telldir/rewinddir calls. JRA */
-/* Changed to version 12 to add mask and attributes to opendir(). JRA 
-   Also include aio calls. JRA. */
-/* Changed to version 13 as the internal structure of files_struct has changed. JRA */
-/* Changed to version 14 as we had to change DIR to SMB_STRUCT_DIR. JRA */
-/* Changed to version 15 as we added the statvfs call. JRA */
-/* Changed to version 16 as we added the getlock call. JRA */
-/* Changed to version 17 as we removed redundant connection_struct parameters. --jpeach */
-/* Changed to version 18 to add fsp parameter to the open call -- jpeach 
-   Also include kernel_flock call - jmcd */
-/* Changed to version 19, kernel change notify has been merged 
-   Also included linux setlease call - jmcd */
-/* Changed to version 20, use ntimes call instead of utime (greater
- * timestamp resolition. JRA. */
-/* Changed to version21 to add chflags operation -- jpeach */
-/* Changed to version22 to add lchown operation -- jra */
-/* Leave at 22 - not yet released. But change set_nt_acl to return an NTSTATUS. jra. */
-/* Leave at 22 - not yet released. Add file_id_create operation. --metze */
-/* Leave at 22 - not yet released. Change all BOOL parameters (int) to bool. jra. */
-/* Leave at 22 - not yet released. Added recvfile. */
-/* Leave at 22 - not yet released. Change get_nt_acl to return NTSTATUS - vl */
-/* Leave at 22 - not yet released. Change get_nt_acl to *not* take a
- * files_struct. - obnox.*/
-/* Leave at 22 - not yet released. Remove parameter fd from fget_nt_acl. - obnox */
-/* Leave at 22 - not yet released. Remove parameter fd from gset_nt_acl. - obnox */
-/* Leave at 22 - not yet released. Remove parameter fd from pread. - obnox */
-/* Leave at 22 - not yet released. Remove parameter fd from pwrite. - obnox */
-/* Leave at 22 - not yet released. Remove parameter fd from lseek. - obnox */
-/* Leave at 22 - not yet released. Remove parameter fd from fsync. - obnox */
-/* Leave at 22 - not yet released. Remove parameter fd from fstat. - obnox */
-/* Leave at 22 - not yet released. Remove parameter fd from fchmod. - obnox */
-/* Leave at 22 - not yet released. Remove parameter fd from fchown. - obnox */
-/* Leave at 22 - not yet released. Remove parameter fd from ftruncate. - obnox */
-/* Leave at 22 - not yet released. Remove parameter fd from lock. - obnox */
-/* Leave at 22 - not yet released. Remove parameter fd from kernel_flock. - obnox */
-/* Leave at 22 - not yet released. Remove parameter fd from linux_setlease. - obnox */
-/* Leave at 22 - not yet released. Remove parameter fd from getlock. - obnox */
-/* Leave at 22 - not yet released. Remove parameter fd from sys_acl_get_fd. - obnox */
-/* Leave at 22 - not yet released. Remove parameter fd from fchmod_acl. - obnox */
-/* Leave at 22 - not yet released. Remove parameter fd from sys_acl_set_fd. - obnox */
-/* Leave at 22 - not yet released. Remove parameter fd from fgetxattr. - obnox */
-/* Leave at 22 - not yet released. Remove parameter fd from flistxattr. - obnox */
-/* Leave at 22 - not yet released. Remove parameter fd from fremovexattr. - obnox */
-/* Leave at 22 - not yet released. Remove parameter fd from fsetxattr. - obnox */
-/* Leave at 22 - not yet released. Remove parameter fd from aio_cancel. - obnox */
-/* Leave at 22 - not yet released. Remove parameter fd from read. - obnox */
-/* Leave at 22 - not yet released. Remove parameter fd from write. - obnox */
-/* Leave at 22 - not yet released. Remove parameter fromfd from sendfile. - obnox */
-/* Leave at 22 - not yet released. Remove parameter fromfd from recvfile. - obnox */
-/* Leave at 22 - not yet released. Additional change: add operations for offline files -- ab */
-/* Leave at 22 - not yet released. Add the streaminfo call. -- jpeach, vl */
-/* Leave at 22 - not yet released. Remove parameter fd from close_fn. - obnox */
-/* Changed to version 23 - remove set_nt_acl call. This can only be done via an
-   open handle. JRA. */
-/* Changed to version 24 - make security descriptor const in fset_nt_acl. JRA. */
-/* Changed to version 25 - Jelmer's change from SMB_BIG_UINT to uint64_t. */
-/* Leave at 25 - not yet released. Add create_file call. -- tprouty. */
-/* Leave at 25 - not yet released. Add create time to ntimes. -- tstecher. */
-/* Leave at 25 - not yet released. Add get_alloc_size call. -- tprouty. */
-/* Leave at 25 - not yet released. Add SMB_STRUCT_STAT to readdir. - sdann */
-/* Leave at 25 - not yet released. Add init_search_op call. - sdann */
-/* Leave at 25 - not yet released. Add locking calls. -- zkirsch. */
-/* Leave at 25 - not yet released. Add strict locking calls. -- drichards. */
-/* Changed to version 26 - Plumb struct smb_filename to SMB_VFS_CREATE_FILE,
-			   SMB_VFS_OPEN, SMB_VFS_STAT, SMB_VFS_LSTAT,
-			   SMB_VFS_RENAME, SMB_VFS_UNLINK, SMB_VFS_NTIMES.  */
-/* Changed to version 27 - not yet released. Added enum timestamp_set_resolution
- * 			   return to fs_capabilities call. JRA. */
-/* Leave at 27 - not yet released. Add translate_name VFS call to convert
-		 UNIX names to Windows supported names -- asrinivasan. */
-/* Changed to version 28 - Add private_flags uint32_t to CREATE call. */
-/* Leave at 28 - not yet released. Change realpath to assume NULL and return a
-		 malloc'ed path. JRA. */
-/* Leave at 28 - not yet released. Move posix_fallocate into the VFS
-		where it belongs. JRA. */
-/* Leave at 28 - not yet released. Rename posix_fallocate to fallocate
-		to split out the two possible uses. JRA. */
-/* Leave at 28 - not yet released. Add fdopendir. JRA. */
-/* Leave at 28 - not yet released. Rename open function to open_fn. - gd */
-/* Leave at 28 - not yet released. Make getwd function always return malloced memory. JRA. */
-/* Bump to version 29 - Samba 3.6.0 will ship with interface version 28. */
-/* Leave at 29 - not yet releases. Add fsctl. Richard Sharpe */
-/* Leave at 29 - not yet released. add SMB_VFS_GET_DFS_REFERRAL() - metze */
-/* Leave at 29 - not yet released. Remove l{list,get,set,remove}xattr - abartlet */
-/* Leave at 29 - not yet released. move to plain off_t - abartlet */
-/* Leave at 29 - not yet released. Remove sys_acl functions other than set and get - abartlet */
-/* Leave at 29 - not yet released. Added backup_intent bool to files_struct - JRA */
-/* Leave at 29 - not yet released. Add durable handle functions - metze/obnox */
-/* Leave at 29 - not yet released. Added sys_acl_blob_get_file and sys_acl_blob_get_fd */
-/* Bump to version 30 - Samba 4.0.0 will ship with interface version 30 */
-/* Leave at 30 - not yet released. Added conn->cwd to save vfs_GetWd() calls. */
-/* Leave at 30 - not yet released. Changed sys_acl_blob_get_file interface to remove type */
-/* Bump to version 31 - Samba 4.1.0 will ship with interface version 31 */
-/* Leave at 31 - not yet released. Make struct vuid_cache_entry in
-		connection_struct a pointer. */
-/* Leave at 31 - not yet released. Add share_access to vuid_cache_entry. */
-/* Leave at 31 - not yet released. add SMB_VFS_COPY_CHUNK() */
-/* Leave at 31 - not yet released. Remove the unused
-		fsp->pending_break_messages array */
-/* Leave at 31 - not yet released. add SMB_VFS_[GET/SET]_COMPRESSION() */
-
-/* Bump to version 32 - Samba 4.2 will ship with that. */
-/* Version 32 - Add "lease" to CREATE_FILE operation */
-/* Version 32 - Add "lease" to struct files_struct */
-/* Version 32 - Add SMB_VFS_READDIR_ATTR() */
-/* Version 32 - Add in and out create context blobs to create_file */
-/* Version 32 - Remove unnecessary SMB_VFS_DISK_FREE() small_query parameter */
-/* Bump to version 33 - Samba 4.3 will ship with that. */
-/* Version 33 - change fallocate mode flags param from enum->uint32_t */
-/* Version 33 - Add snapshot create/delete calls */
-/* Version 33 - Add OS X SMB2 AAPL copyfile extension flag to fsp */
-/* Version 33 - Remove notify_watch_fn */
-/* Bump to version 34 - Samba 4.4 will ship with that */
-/* Version 34 - Remove bool posix_open, add uint64_t posix_flags */
-/* Version 34 - Added bool posix_pathnames to struct smb_request */
-/* Bump to version 35 - Samba 4.5 will ship with that */
-/* Version 35 - Change get_nt_acl_fn from const char *, to
-		const struct smb_filename * */
-/* Version 35 - Change mkdir from const char *, to
-		const struct smb_filename * */
-/* Version 35 - Change rmdir from const char *, to
-		const struct smb_filename * */
-/* Version 35 - Change opendir from const char *, to
-		const struct smb_filename * */
-/* Version 35 - Wrap aio async funtions args in a struct vfs_aio_state */
-/* Version 35 - Change chmod from const char *, to
-		const struct smb_filename * */
-/* Version 35 - Change chmod_acl from const char *, to
-		const struct smb_filename * */
-/* Version 35 - Change chown from const char *, to
-		const struct smb_filename * */
-/* Version 35 - Change lchown from const char *, to
-		const struct smb_filename * */
-/* Version 35 - Change streaminfo from const char *, to
-		const struct smb_filename * */
-/* Version 35 - Add uint32_t flags to struct smb_filename */
-/* Version 35 - Add get/set/fget/fset dos attribute functions. */
-/* Version 35 - Add bool use_ofd_locks to struct files_struct */
-/* Bump to version 36 - Samba 4.6 will ship with that */
-/* Version 36 - Remove is_offline and set_offline */
-/* Version 37 - Module init functions now take a TALLOC_CTX * parameter. */
-/* Version 37 - Add vfs_copy_chunk_flags for DUP_EXTENTS_TO_FILE */
-/* Version 37 - Change sys_acl_delete_def_file from const char *
-		to const struct smb_filename * */
-/* Version 37 - Change sys_acl_get_file from const char *
-		to const struct smb_filename * */
-/* Version 37 - Change sys_acl_blob_get_file from const char *
-		to const struct smb_filename * */
-/* Version 37 - Change sys_acl_set_file from const char *
-		to const struct smb_filename * */
-/* Version 37 - Change listxattr from const char *
-		to const struct smb_filename * */
-/* Version 37 - Change removexattr from const char *
-		to const struct smb_filename * */
-/* Version 37 - Change setxattr from const char *
-		to const struct smb_filename * */
-/* Version 37 - Change getxattr from const char *
-		to const struct smb_filename * */
-/* Version 37 - Change mknod from const char * to const struct smb_filename * */
-/* Version 37 - Change chflags from const char *
-		to const struct smb_filename * */
-/* Version 37 - Change disk_free from const char *
-		to const struct smb_filename * */
-/* Version 37 - Change get_quota from const char *
-		to const struct smb_filename * */
-/* Version 37 - Change link from const char *
-		to const struct smb_filename * */
-/* Version 37 - Change statvfs from const char *
-		to const struct smb_filename * */
-/* Version 37 - Change readlink from const char *
-		to const struct smb_filename * */
-/* Version 37 - Change symlink from const char *
-		to const struct smb_filename * */
-/* Version 37 - Change chdir from const char *
-		to const struct smb_filename * */
-/* Version 37 - Change getwd from char *
-		to const struct smb_filename * */
-/* Version 37 - Change conn->cwd from char *
-		to struct smb_filename * */
-/* Version 37 - Change realpath from char *
-		to struct smb_filename * */
-/* Version 37 - Change connectpath from char *
-		to struct smb_filename * */
-/* Version 37 - Add SMB_VFS_OFFLOAD_READ_SEND/RECV */
-/* Version 37 - Rename SMB_VFS_COPY_CHUNK_SEND/RECV to
-                SMB_VFS_OFFLOAD_READ_SEND/RECV */
-/* Version 37 - Remove SMB_VFS_STRICT_UNLOCK */
-/* Version 37 - Rename SMB_VFS_STRICT_LOCK to
-                SMB_VFS_STRICT_LOCK_CHECK */
-/* Version 38 - Remove SMB_VFS_INIT_SEARCH_OP */
-/* Bump to version 39, Samba 4.9 will ship with that */
-/* Version 39 - Remove SMB_VFS_FSYNC
-		Only implement async versions. */
-/* Version 39 - Remove SMB_VFS_READ
-		All users are now pread or async versions. */
-/* Version 39 - Remove SMB_VFS_WRITE
-		All users are now pwrite or async versions. */
-/* Version 39 - Remove SMB_VFS_CHMOD_ACL - no longer used. */
-/* Version 39 - Remove SMB_VFS_FCHMOD_ACL - no longer used. */
-/* Version 39 - Remove struct dfree_cached_info pointer from
-		connection struct */
-/* Bump to version 40, Samba 4.10 will ship with that */
-/* Version 40 - Add SMB_VFS_GETXATTRAT_SEND/RECV */
-/* Version 40 - Add SMB_VFS_GET_DOS_ATTRIBUTES_SEND/RECV */
-/* Bump to version 41, Samba 4.11 will ship with that */
-/* Version 41 - Remove SMB_VFS_BRL_CANCEL_WINDOWS */
-/* Version 41 - Remove unused st_ex_mask from struct stat_ex */
-/* Version 41 - convert struct stat_ex.st_ex_calculated_birthtime to flags */
-/* Version 41 - add st_ex_itime to struct stat_ex */
-/* Version 41 - add st_ex_file_id to struct stat_ex */
-/* Version 41 - add SMB_VFS_FS_FILE_ID */
-/* Version 41 - Remove "blocking_lock" parameter from
-                SMB_VFS_BRL_LOCK_WINDOWS */
-/* Version 41 - Remove "msg_ctx" parameter from SMB_VFS_BRL_UNLOCK_WINDOWS */
-/* Bump to version 42, Samba 4.12 will ship with that */
-/* Version 42 - Remove share_access member from struct files_struct */
-/* Version 42 - Make "lease" a const* in create_file_fn */
-/* Version 42 - Move SMB_VFS_RENAME -> SMB_VFS_RENAMEAT */
-/* Version 42 - Move SMB_VFS_LINK -> SMB_VFS_LINKAT. */
-/* Version 42 - Move SMB_VFS_MKNOD -> SMB_VFS_MKDNODAT. */
-/* Version 42 - Move SMB_VFS_READLINK -> SMB_VFS_READLINKAT. */
-/* Version 42 - Move SMB_VFS_SYMLINK -> SMB_VFS_SYMLINKAT. */
-/* Version 42 - Move SMB_VFS_MKDIR -> SMB_VFS_MKDIRAT. */
-/* Version 42 - Move change_to_user() -> change_to_user_and_service() */
-/* Version 42 - Move change_to_user_by_fsp() -> change_to_user_and_service_by_fsp() */
-/* Version 42 - Move [un]become_user*() -> [un]become_user_without_service*() */
-/* Version 42 - Move SMB_VFS_UNLINK -> SMB_VFS_UNLINKAT. */
-/* Version 42 - Add SMB_VFS_FCNTL */
-/* Version 42 - Remove SMB_VFS_RMDIR.
-		Use SMB_VFS_UNLINKAT(.., AT_REMOVEDIR) instead. */
-/* Version 42 - Remove SMB_VFS_CHOWN */
-/* Version 42 - Remove struct write_cache *wcp from files_struct */
-/* Version 42 - SMB_VFS_NTIMES() receives null times based on UTIMES_OMIT */
-/* Version 42 - Add SMB_VFS_CREATE_DFS_PATHAT() */
-/* Version 42 - Add SMB_VFS_READ_DFS_PATHAT() */
-/* Change to Version 43 - will ship with 4.13. */
-/* Version 43 - Remove deferred_close from struct files_struct */
-/* Version 43 - Remove SMB_VFS_OPENDIR() */
-/* Version 43 - Remove original_lcomp from struct smb_filename */
-/* Version 43 - files_struct flags:
-		bool kernel_share_modes_taken
-		bool update_write_time_triggered
-		bool update_write_time_on_close
-		bool write_time_forced
-		bool can_lock
-		bool can_read
-		bool can_write
-		bool modified
-		bool is_directory
-		bool aio_write_behind
-		bool initial_delete_on_close
-		bool delete_on_close
-		bool is_sparse
-		bool backup_intent
-		bool use_ofd_locks
-		bool closing
-		bool lock_failure_seen
-		changed to bitfields. */
+/*
+ * Changed to version 2 for CIFS UNIX extensions (mknod and link added). JRA.
+ * Changed to version 3 for POSIX acl extensions. JRA.
+ * Changed to version 4 for cascaded VFS interface. Alexander Bokovoy.
+ * Changed to version 5 for sendfile addition. JRA.
+ * Changed to version 6 for the new module system, fixed cascading and quota functions. --metze
+ * Changed to version 7 to include the get_nt_acl info parameter. JRA.
+ * Changed to version 8 includes EA calls. JRA.
+ * Changed to version 9 to include the get_shadow_data call. --metze
+ * Changed to version 10 to include pread pwrite calls.
+ * Changed to version 11 to include seekdir telldir rewinddir calls. JRA
+ * Changed to version 12 to add mask and attributes to opendir(). JRA
+ * Also include aio calls. JRA.
+ * Changed to version 13 as the internal structure of files_struct has changed. JRA
+ * Changed to version 14 as we had to change DIR to SMB_STRUCT_DIR. JRA
+ * Changed to version 15 as we added the statvfs call. JRA
+ * Changed to version 16 as we added the getlock call. JRA
+ * Changed to version 17 as we removed redundant connection_struct parameters. --jpeach
+ * Changed to version 18 to add fsp parameter to the open call -- jpeach
+ * Also include kernel_flock call - jmcd
+ * Changed to version 19, kernel change notify has been merged
+ * Also included linux setlease call - jmcd
+ * Changed to version 20, use ntimes call instead of utime (greater
+ * timestamp resolition. JRA.
+ * Changed to version21 to add chflags operation -- jpeach
+ * Changed to version22 to add lchown operation -- jra
+ * Leave at 22 - not yet released. But change set_nt_acl to return an NTSTATUS. jra.
+ * Leave at 22 - not yet released. Add file_id_create operation. --metze
+ * Leave at 22 - not yet released. Change all BOOL parameters (int) to bool. jra.
+ * Leave at 22 - not yet released. Added recvfile.
+ * Leave at 22 - not yet released. Change get_nt_acl to return NTSTATUS - vl
+ * Leave at 22 - not yet released. Change get_nt_acl to *not* take a
+ * files_struct. - obnox.
+ * Leave at 22 - not yet released. Remove parameter fd from fget_nt_acl. - obnox
+ * Leave at 22 - not yet released. Remove parameter fd from gset_nt_acl. - obnox
+ * Leave at 22 - not yet released. Remove parameter fd from pread. - obnox
+ * Leave at 22 - not yet released. Remove parameter fd from pwrite. - obnox
+ * Leave at 22 - not yet released. Remove parameter fd from lseek. - obnox
+ * Leave at 22 - not yet released. Remove parameter fd from fsync. - obnox
+ * Leave at 22 - not yet released. Remove parameter fd from fstat. - obnox
+ * Leave at 22 - not yet released. Remove parameter fd from fchmod. - obnox
+ * Leave at 22 - not yet released. Remove parameter fd from fchown. - obnox
+ * Leave at 22 - not yet released. Remove parameter fd from ftruncate. - obnox
+ * Leave at 22 - not yet released. Remove parameter fd from lock. - obnox
+ * Leave at 22 - not yet released. Remove parameter fd from kernel_flock. - obnox
+ * Leave at 22 - not yet released. Remove parameter fd from linux_setlease. - obnox
+ * Leave at 22 - not yet released. Remove parameter fd from getlock. - obnox
+ * Leave at 22 - not yet released. Remove parameter fd from sys_acl_get_fd. - obnox
+ * Leave at 22 - not yet released. Remove parameter fd from fchmod_acl. - obnox
+ * Leave at 22 - not yet released. Remove parameter fd from sys_acl_set_fd. - obnox
+ * Leave at 22 - not yet released. Remove parameter fd from fgetxattr. - obnox
+ * Leave at 22 - not yet released. Remove parameter fd from flistxattr. - obnox
+ * Leave at 22 - not yet released. Remove parameter fd from fremovexattr. - obnox
+ * Leave at 22 - not yet released. Remove parameter fd from fsetxattr. - obnox
+ * Leave at 22 - not yet released. Remove parameter fd from aio_cancel. - obnox
+ * Leave at 22 - not yet released. Remove parameter fd from read. - obnox
+ * Leave at 22 - not yet released. Remove parameter fd from write. - obnox
+ * Leave at 22 - not yet released. Remove parameter fromfd from sendfile. - obnox
+ * Leave at 22 - not yet released. Remove parameter fromfd from recvfile. - obnox
+ * Leave at 22 - not yet released. Additional change: add operations for offline files -- ab
+ * Leave at 22 - not yet released. Add the streaminfo call. -- jpeach, vl
+ * Leave at 22 - not yet released. Remove parameter fd from close_fn. - obnox
+ * Changed to version 23 - remove set_nt_acl call. This can only be done via an
+ *                         open handle. JRA.
+ * Changed to version 24 - make security descriptor const in fset_nt_acl. JRA.
+ * Changed to version 25 - Jelmer's change from SMB_BIG_UINT to uint64_t.
+ * Leave at 25 - not yet released. Add create_file call. -- tprouty.
+ * Leave at 25 - not yet released. Add create time to ntimes. -- tstecher.
+ * Leave at 25 - not yet released. Add get_alloc_size call. -- tprouty.
+ * Leave at 25 - not yet released. Add SMB_STRUCT_STAT to readdir. - sdann
+ * Leave at 25 - not yet released. Add init_search_op call. - sdann
+ * Leave at 25 - not yet released. Add locking calls. -- zkirsch.
+ * Leave at 25 - not yet released. Add strict locking calls. -- drichards.
+ * Changed to version 26 - Plumb struct smb_filename to SMB_VFS_CREATE_FILE,
+ *                         SMB_VFS_OPEN, SMB_VFS_STAT, SMB_VFS_LSTAT,
+ *                         SMB_VFS_RENAME, SMB_VFS_UNLINK, SMB_VFS_NTIMES.
+ * Changed to version 27 - not yet released. Added enum timestamp_set_resolution
+ *                         return to fs_capabilities call. JRA.
+ * Leave at 27 - not yet released. Add translate_name VFS call to convert
+ *               UNIX names to Windows supported names -- asrinivasan.
+ * Changed to version 28 - Add private_flags uint32_t to CREATE call.
+ * Leave at 28 - not yet released. Change realpath to assume NULL and return a
+ *               malloc'ed path. JRA.
+ * Leave at 28 - not yet released. Move posix_fallocate into the VFS
+ *              where it belongs. JRA.
+ * Leave at 28 - not yet released. Rename posix_fallocate to fallocate
+ *              to split out the two possible uses. JRA.
+ * Leave at 28 - not yet released. Add fdopendir. JRA.
+ * Leave at 28 - not yet released. Rename open function to open_fn. - gd
+ * Leave at 28 - not yet released. Make getwd function always return malloced memory. JRA.
+ * Bump to version 29 - Samba 3.6.0 will ship with interface version 28.
+ * Leave at 29 - not yet releases. Add fsctl. Richard Sharpe
+ * Leave at 29 - not yet released. add SMB_VFS_GET_DFS_REFERRAL() - metze
+ * Leave at 29 - not yet released. Remove l{list,get,set,remove}xattr - abartlet
+ * Leave at 29 - not yet released. move to plain off_t - abartlet
+ * Leave at 29 - not yet released. Remove sys_acl functions other than set and get - abartlet
+ * Leave at 29 - not yet released. Added backup_intent bool to files_struct - JRA
+ * Leave at 29 - not yet released. Add durable handle functions - metze obnox
+ * Leave at 29 - not yet released. Added sys_acl_blob_get_file and sys_acl_blob_get_fd
+ * Bump to version 30 - Samba 4.0.0 will ship with interface version 30
+ * Leave at 30 - not yet released. Added conn->cwd to save vfs_GetWd() calls.
+ * Leave at 30 - not yet released. Changed sys_acl_blob_get_file interface to remove type
+ * Bump to version 31 - Samba 4.1.0 will ship with interface version 31
+ * Leave at 31 - not yet released. Make struct vuid_cache_entry in
+ *               connection_struct a pointer.
+ * Leave at 31 - not yet released. Add share_access to vuid_cache_entry.
+ * Leave at 31 - not yet released. add SMB_VFS_COPY_CHUNK()
+ * Leave at 31 - not yet released. Remove the unused
+ *               fsp->pending_break_messages array
+ * Leave at 31 - not yet released. add SMB_VFS_[GET SET]_COMPRESSION()
+ *
+ * Bump to version 32 - Samba 4.2 will ship with that.
+ * Version 32 - Add "lease" to CREATE_FILE operation
+ * Version 32 - Add "lease" to struct files_struct
+ * Version 32 - Add SMB_VFS_READDIR_ATTR()
+ * Version 32 - Add in and out create context blobs to create_file
+ * Version 32 - Remove unnecessary SMB_VFS_DISK_FREE() small_query parameter
+ * Bump to version 33 - Samba 4.3 will ship with that.
+ * Version 33 - change fallocate mode flags param from enum->uint32_t
+ * Version 33 - Add snapshot create delete calls
+ * Version 33 - Add OS X SMB2 AAPL copyfile extension flag to fsp
+ * Version 33 - Remove notify_watch_fn
+ * Bump to version 34 - Samba 4.4 will ship with that
+ * Version 34 - Remove bool posix_open, add uint64_t posix_flags
+ * Version 34 - Added bool posix_pathnames to struct smb_request
+ * Bump to version 35 - Samba 4.5 will ship with that
+ * Version 35 - Change get_nt_acl_fn from const char *, to
+ *              const struct smb_filename *
+ * Version 35 - Change mkdir from const char *, to
+ *              const struct smb_filename *
+ * Version 35 - Change rmdir from const char *, to
+ *              const struct smb_filename *
+ * Version 35 - Change opendir from const char *, to
+ *              const struct smb_filename *
+ * Version 35 - Wrap aio async funtions args in a struct vfs_aio_state
+ * Version 35 - Change chmod from const char *, to
+ *              const struct smb_filename *
+ * Version 35 - Change chmod_acl from const char *, to
+ *              const struct smb_filename *
+ * Version 35 - Change chown from const char *, to
+ *              const struct smb_filename *
+ * Version 35 - Change lchown from const char *, to
+ *              const struct smb_filename *
+ * Version 35 - Change streaminfo from const char *, to
+ *              const struct smb_filename *
+ * Version 35 - Add uint32_t flags to struct smb_filename
+ * Version 35 - Add get set fget fset dos attribute functions.
+ * Version 35 - Add bool use_ofd_locks to struct files_struct
+ * Bump to version 36 - Samba 4.6 will ship with that
+ * Version 36 - Remove is_offline and set_offline
+ * Version 37 - Module init functions now take a TALLOC_CTX * parameter.
+ * Version 37 - Add vfs_copy_chunk_flags for DUP_EXTENTS_TO_FILE
+ * Version 37 - Change sys_acl_delete_def_file from const char *
+ *              to const struct smb_filename *
+ * Version 37 - Change sys_acl_get_file from const char *
+ *              to const struct smb_filename *
+ * Version 37 - Change sys_acl_blob_get_file from const char *
+ *              to const struct smb_filename *
+ * Version 37 - Change sys_acl_set_file from const char *
+ *              to const struct smb_filename *
+ * Version 37 - Change listxattr from const char *
+ *              to const struct smb_filename *
+ * Version 37 - Change removexattr from const char *
+ *              to const struct smb_filename *
+ * Version 37 - Change setxattr from const char *
+ *              to const struct smb_filename *
+ * Version 37 - Change getxattr from const char *
+ *              to const struct smb_filename *
+ * Version 37 - Change mknod from const char * to const struct smb_filename *


-- 
Samba Shared Repository



More information about the samba-cvs mailing list