samba.git
3 years agos3: VFS: shadow_copy2: Code cleanup. In shadow_copy2_get_shadow_copy_data() preserve...
Jeremy Allison [Mon, 7 Jun 2021 16:44:23 +0000 (09:44 -0700)]
s3: VFS: shadow_copy2: Code cleanup. In shadow_copy2_get_shadow_copy_data() preserve errno accross cleanup syscalls.

This VFS function should really return an NTSTATUS but that is
a patch for another day.

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
3 years agos3: VFS: posixacl: Fix the fallback code in posixacl_sys_acl_set_fd().
Jeremy Allison [Wed, 9 Jun 2021 00:36:50 +0000 (17:36 -0700)]
s3: VFS: posixacl: Fix the fallback code in posixacl_sys_acl_set_fd().

We weren't maping or using the incoming SMB_ACL_TYPE_T type
parameter correctly.

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
3 years agos3: VFS: posixacl: Missing acl_free() in error code path.
Jeremy Allison [Wed, 9 Jun 2021 00:10:59 +0000 (17:10 -0700)]
s3: VFS: posixacl: Missing acl_free() in error code path.

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
3 years agosmbd: fix pathref unlinking in create_file_unixpath()
Jeremy Allison [Tue, 8 Jun 2021 16:53:18 +0000 (18:53 +0200)]
smbd: fix pathref unlinking in create_file_unixpath()

This is really subtle. If someone passes in an smb_fname where smb_fname
actually is taken from fsp->fsp_name, then the lifetime of these objects is
meant to be the same.

This is commonly the case from an SMB1 path-based call
(eg call_trans2qfilepathinfo()) where we use the pathref fsp
(smb_fname->fsp) as the handle. In this case we must not unlink smb_fname->fsp
from it's owner.

The asserts below:

  SMB_ASSERT(fsp->fsp_name->fsp != NULL);
  SMB_ASSERT(fsp->fsp_name->fsp == fsp);

ensure the required invarients are met.

BUG: https://bugzilla.samba.org/show_bug.cgi?id=14732

Pair-Programmed-With: Ralph Boehme <slow@samba.org>
Signed-off-by: Jeremy Allison <jra@samba.org>
Signed-off-by: Ralph Boehme <slow@samba.org>
Autobuild-User(master): Ralph Böhme <slow@samba.org>
Autobuild-Date(master): Tue Jun  8 20:44:41 UTC 2021 on sn-devel-184

3 years agolib:cmdline: Use getprogname() to avoid possible issues with setproctitle()
Stefan Metzmacher [Fri, 4 Jun 2021 15:55:46 +0000 (17:55 +0200)]
lib:cmdline: Use getprogname() to avoid possible issues with setproctitle()

Reviewed-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
Autobuild-User(master): Andreas Schneider <asn@cryptomilk.org>
Autobuild-Date(master): Tue Jun  8 14:58:58 UTC 2021 on sn-devel-184

3 years agos3:cmdline: Use D_ERR() instead of DBG_ERR() for talloc log
Stefan Metzmacher [Fri, 4 Jun 2021 06:58:09 +0000 (08:58 +0200)]
s3:cmdline: Use D_ERR() instead of DBG_ERR() for talloc log

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
3 years agolib:cmdline: Also set logfile for the debug system
Andreas Schneider [Tue, 8 Jun 2021 11:25:58 +0000 (13:25 +0200)]
lib:cmdline: Also set logfile for the debug system

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
Autobuild-User(master): Volker Lendecke <vl@samba.org>
Autobuild-Date(master): Tue Jun  8 12:35:34 UTC 2021 on sn-devel-184

3 years agolib: Slightly simplify server_id_set_disconnected()
Volker Lendecke [Thu, 17 Dec 2020 10:37:47 +0000 (11:37 +0100)]
lib: Slightly simplify server_id_set_disconnected()

The NULL assert is not really required, it will crash nicely if that's
not fulfilled.

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Autobuild-User(master): Jeremy Allison <jra@samba.org>
Autobuild-Date(master): Fri Jun  4 17:34:06 UTC 2021 on sn-devel-184

3 years agosmbd: Simplify share_mode_entry_do()
Volker Lendecke [Thu, 17 Dec 2020 11:36:42 +0000 (12:36 +0100)]
smbd: Simplify share_mode_entry_do()

Looking at the logic of "ha[d|ve]_share_mode_entry" d->modified=true
can only happen if we remove the last share mode entry . Make this
more explicit, avoid booleans.

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
3 years agolibnet: Initialize pointers
Volker Lendecke [Tue, 29 Dec 2020 12:41:42 +0000 (13:41 +0100)]
libnet: Initialize pointers

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
3 years agolibnet: Align a few integer types
Volker Lendecke [Tue, 29 Dec 2020 12:41:24 +0000 (13:41 +0100)]
libnet: Align a few integer types

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
3 years agonsswitch: Fix a typo
Volker Lendecke [Thu, 6 May 2021 09:43:51 +0000 (11:43 +0200)]
nsswitch: Fix a typo

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
3 years agorpc_server: Use correct PRIu16 for printf of a uint16
Volker Lendecke [Mon, 3 May 2021 12:59:13 +0000 (14:59 +0200)]
rpc_server: Use correct PRIu16 for printf of a uint16

Don't rely on correct casting

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
3 years agotevent: Remove single-use ev_str_list_[length|add]
Volker Lendecke [Mon, 3 May 2021 20:03:47 +0000 (22:03 +0200)]
tevent: Remove single-use ev_str_list_[length|add]

This also adds proper error checks, the previous code could (very
theoretically) have leaked memory if an intermediate _add had failed.

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
3 years agolib: Open tdb files with O_CLOEXEC
Volker Lendecke [Fri, 7 May 2021 05:32:37 +0000 (07:32 +0200)]
lib: Open tdb files with O_CLOEXEC

After an exec() the fd's don't make sense anymore

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
3 years agorpc_server: Avoid a cast
Volker Lendecke [Thu, 13 May 2021 18:24:09 +0000 (20:24 +0200)]
rpc_server: Avoid a cast

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
3 years agoprinting: Factor out remove_from_jobs_list()
Volker Lendecke [Thu, 13 May 2021 18:08:30 +0000 (20:08 +0200)]
printing: Factor out remove_from_jobs_list()

remove_from_jobs_changed() and remove_from_jobs_added() only differed
by the keystr.

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
3 years agoprinting: Simplify pack_devicemode()
Volker Lendecke [Wed, 12 May 2021 16:22:52 +0000 (18:22 +0200)]
printing: Simplify pack_devicemode()

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
3 years agolib: Fix a typo
Volker Lendecke [Fri, 7 May 2021 09:13:51 +0000 (11:13 +0200)]
lib: Fix a typo

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
3 years agodbwrap_ctdb: Remove "tryonly" from fetch_locked_internal()
Volker Lendecke [Mon, 21 Dec 2020 14:37:21 +0000 (15:37 +0100)]
dbwrap_ctdb: Remove "tryonly" from fetch_locked_internal()

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
3 years agodbwrap: Remove "db_context->try_fetch_locked()" fn pointer
Volker Lendecke [Mon, 21 Dec 2020 13:40:47 +0000 (14:40 +0100)]
dbwrap: Remove "db_context->try_fetch_locked()" fn pointer

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
3 years agodbwrap: Remove unused dbwrap_try_fetch_locked()
Volker Lendecke [Mon, 21 Dec 2020 13:37:12 +0000 (14:37 +0100)]
dbwrap: Remove unused dbwrap_try_fetch_locked()

Small simplification, this has not been used since 2014 when the
notifyd went in. Can easily be added if needed again.

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
3 years agos3: smbd: Fix bug (only in master) introduced by 60ddee64f6e6c178766325591e80d63a673a...
Jeremy Allison [Thu, 3 Jun 2021 16:36:08 +0000 (09:36 -0700)]
s3: smbd: Fix bug (only in master) introduced by 60ddee64f6e6c178766325591e80d63a673ad111.

Commit 60ddee64f6e6c178766325591e80d63a673ad111 - smbd: simplify rmdir_internals()

had a bug where it carefully set unlink_flags but then didn't use them in the
following SMB_VFS_UNLINKAT() call.

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
Autobuild-User(master): Ralph Böhme <slow@samba.org>
Autobuild-Date(master): Thu Jun  3 20:23:38 UTC 2021 on sn-devel-184

3 years agos3: smbd: Remove parent_smb_fname(), no longer used.
Jeremy Allison [Wed, 26 May 2021 18:51:38 +0000 (11:51 -0700)]
s3: smbd: Remove parent_smb_fname(), no longer used.

Moved into the VFS as SMB_VFS_PARENT_PATHNAME() to
allow modules to process the returned parent dirname.

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
Autobuild-User(master): Ralph Böhme <slow@samba.org>
Autobuild-Date(master): Wed Jun  2 06:30:36 UTC 2021 on sn-devel-184

3 years agos3: smbd: check_reduced_name(), parent_smb_fname() -> SMB_VFS_PARENT_PATHNAME().
Jeremy Allison [Wed, 26 May 2021 18:50:23 +0000 (11:50 -0700)]
s3: smbd: check_reduced_name(), parent_smb_fname() -> SMB_VFS_PARENT_PATHNAME().

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
3 years agos3: smbd: check_reduced_name_with_privilege(), parent_smb_fname() -> SMB_VFS_PARENT_P...
Jeremy Allison [Wed, 26 May 2021 18:47:36 +0000 (11:47 -0700)]
s3: smbd: check_reduced_name_with_privilege(), parent_smb_fname() -> SMB_VFS_PARENT_PATHNAME().

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
3 years agos3: smbd: parent_dirname_compatible_open(), parent_smb_fname() -> SMB_VFS_PARENT_PATH...
Jeremy Allison [Wed, 26 May 2021 18:45:42 +0000 (11:45 -0700)]
s3: smbd: parent_dirname_compatible_open(), parent_smb_fname() -> SMB_VFS_PARENT_PATHNAME().

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
3 years agos3: smbd: non_widelink_open(), parent_smb_fname() -> SMB_VFS_PARENT_PATHNAME().
Jeremy Allison [Wed, 26 May 2021 18:43:16 +0000 (11:43 -0700)]
s3: smbd: non_widelink_open(), parent_smb_fname() -> SMB_VFS_PARENT_PATHNAME().

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
3 years agos3: smbd: In inherit_new_acl(), parent_smb_fname() -> SMB_VFS_PARENT_PATHNAME().
Jeremy Allison [Wed, 26 May 2021 19:17:29 +0000 (12:17 -0700)]
s3: smbd: In inherit_new_acl(), parent_smb_fname() -> SMB_VFS_PARENT_PATHNAME().

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
3 years agos3: smbd: open_file_ntcreate(), parent_smb_fname() -> SMB_VFS_PARENT_PATHNAME().
Jeremy Allison [Wed, 26 May 2021 19:13:40 +0000 (12:13 -0700)]
s3: smbd: open_file_ntcreate(), parent_smb_fname() -> SMB_VFS_PARENT_PATHNAME().

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
3 years agos3: smbd: In check_parent_access(), parent_smb_fname() -> SMB_VFS_PARENT_PATHNAME().
Jeremy Allison [Wed, 26 May 2021 19:11:36 +0000 (12:11 -0700)]
s3: smbd: In check_parent_access(), parent_smb_fname() -> SMB_VFS_PARENT_PATHNAME().

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
3 years agos3: smbd: copy_internals(). parent_smb_fname() -> SMB_VFS_PARENT_PATHNAME().
Jeremy Allison [Wed, 26 May 2021 18:40:32 +0000 (11:40 -0700)]
s3: smbd: copy_internals(). parent_smb_fname() -> SMB_VFS_PARENT_PATHNAME().

Off-topic. This function is insane and should be removed..

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
3 years agos3: smbd: In parent_pathref(), parent_smb_fname() -> SMB_VFS_PARENT_PATHNAME().
Jeremy Allison [Wed, 26 May 2021 18:22:00 +0000 (11:22 -0700)]
s3: smbd: In parent_pathref(), parent_smb_fname() -> SMB_VFS_PARENT_PATHNAME().

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
3 years agos3: smbd: In can_delete_file_in_directory(), parent_smb_fname() -> SMB_VFS_PARENT_PAT...
Jeremy Allison [Wed, 26 May 2021 18:10:53 +0000 (11:10 -0700)]
s3: smbd: In can_delete_file_in_directory(), parent_smb_fname() -> SMB_VFS_PARENT_PATHNAME().

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
3 years agos3: VFS: linux_xfs_sgid. parent_smb_fname() -> SMB_VFS_PARENT_PATHNAME().
Jeremy Allison [Wed, 26 May 2021 18:07:53 +0000 (11:07 -0700)]
s3: VFS: linux_xfs_sgid. parent_smb_fname() -> SMB_VFS_PARENT_PATHNAME().

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
3 years agos3: VFS: gpfs. parent_smb_fname() -> SMB_VFS_PARENT_PATHNAME().
Jeremy Allison [Wed, 26 May 2021 18:05:32 +0000 (11:05 -0700)]
s3: VFS: gpfs. parent_smb_fname() -> SMB_VFS_PARENT_PATHNAME().

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
3 years agos3: VFS: error_inject. parent_smb_fname() -> SMB_VFS_PARENT_PATHNAME().
Jeremy Allison [Wed, 26 May 2021 18:03:25 +0000 (11:03 -0700)]
s3: VFS: error_inject. parent_smb_fname() -> SMB_VFS_PARENT_PATHNAME().

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
3 years agos3: VFS: acl_common. parent_smb_fname() -> SMB_VFS_PARENT_PATHNAME().
Jeremy Allison [Wed, 26 May 2021 18:00:49 +0000 (11:00 -0700)]
s3: VFS: acl_common. parent_smb_fname() -> SMB_VFS_PARENT_PATHNAME().

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
3 years agos3: VFS: shadow_copy2. Implement SMB_VFS_PARENT_PATHNAME().
Jeremy Allison [Tue, 1 Jun 2021 18:58:55 +0000 (11:58 -0700)]
s3: VFS: shadow_copy2. Implement SMB_VFS_PARENT_PATHNAME().

Allows the snapdirseverywhere code to still find
snapshots even when not in the parent path.

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
3 years agos3: VFS: Add SMB_VFS_PARENT_PATHNAME().
Jeremy Allison [Wed, 26 May 2021 17:39:43 +0000 (10:39 -0700)]
s3: VFS: Add SMB_VFS_PARENT_PATHNAME().

Not yet used.

Default is NTSTATUS version of parent_smb_fname(). Now
to replace all users of parent_smb_fname() with
SMB_VFS_PARENT_PATHNAME() and then remove parent_smb_fname().

Needed due to snapdirseverywhere code in vfs_shadow_copy2.

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
3 years agos3: lib: Fix talloc heirarcy error in parent_smb_fname().
Jeremy Allison [Tue, 1 Jun 2021 20:27:47 +0000 (13:27 -0700)]
s3: lib: Fix talloc heirarcy error in parent_smb_fname().

BUG: https://bugzilla.samba.org/show_bug.cgi?id=14722

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
3 years agoselftest: standardise and shorten winbind socket name
Andrew Bartlett [Wed, 19 May 2021 01:57:21 +0000 (13:57 +1200)]
selftest: standardise and shorten winbind socket name

The full path to the winbindd socket must fit within a struct sockaddr_un and this helps us work
where this is quite deep on the server.

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Autobuild-User(master): Douglas Bagnall <dbagnall@samba.org>
Autobuild-Date(master): Wed Jun  2 04:46:39 UTC 2021 on sn-devel-184

3 years agopidl: Avoid leaving array_size NDR tokens around
Andrew Bartlett [Sat, 22 May 2021 06:40:13 +0000 (18:40 +1200)]
pidl: Avoid leaving array_size NDR tokens around

In many cases these can and should be consumed as soon as
they are used.

This is not a complete fix, we don't clean up the array_size
token after using it split between an NDR_SCALARS and
an NDR_BUFFERS pass, but it is much better than it was
and helps the winbind case with a large number of groups
(eg 100,000) as otherwise we hit the 65535 NDR token limit.

(This is an arbitary Samba-only limit to avoid DoS conditions)

BUG: https://bugzilla.samba.org/show_bug.cgi?id=14710

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
3 years agopidl: Avoid leaving array_length NDR tokens around
Andrew Bartlett [Fri, 21 May 2021 22:17:49 +0000 (10:17 +1200)]
pidl: Avoid leaving array_length NDR tokens around

In many cases these can and should be consumed as soon as
they are used.

BUG: https://bugzilla.samba.org/show_bug.cgi?id=14710

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
3 years agolibrpc: Use helper function ndr_get_array_size() in ndr_check_array_size()
Andrew Bartlett [Sat, 22 May 2021 07:37:45 +0000 (19:37 +1200)]
librpc: Use helper function ndr_get_array_size() in ndr_check_array_size()

BUG: https://bugzilla.samba.org/show_bug.cgi?id=14710

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
3 years agolibrpc: Add const to cookie pointer in ndr_check_array_{size,length}
Andrew Bartlett [Fri, 21 May 2021 21:10:56 +0000 (09:10 +1200)]
librpc: Add const to cookie pointer in ndr_check_array_{size,length}

This pointer is only used to find the right token in the list
so can be declared const.

BUG: https://bugzilla.samba.org/show_bug.cgi?id=14710

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
3 years agolibndr: Return error code from ndr_token_peek()
Andrew Bartlett [Fri, 28 May 2021 00:18:48 +0000 (12:18 +1200)]
libndr: Return error code from ndr_token_peek()

This makes it safer to change our code to remove tokens after use
if failing to obtain a token would result in an error.

This means changing ndr_get_array_size() and ndr_get_array_length()
to also return an error code.

BUG: https://bugzilla.samba.org/show_bug.cgi?id=14710

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
3 years agoselftest: Add test of NDR marshalling from python, starting with wbint
Andrew Bartlett [Tue, 25 May 2021 09:12:44 +0000 (21:12 +1200)]
selftest: Add test of NDR marshalling from python, starting with wbint

These patches are to address an issue unpacking a very large
winbind.wbint_Principals array (100,000).

We need the NDR_TOKEN_MAX_LIST_SIZE value exposed as
otherwise a well-meaning incrase of this value would
invalidate the test.

BUG: https://bugzilla.samba.org/show_bug.cgi?id=14710

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
3 years agospoolss: Avoid indirection via ndr_get_array_size()
Andrew Bartlett [Fri, 21 May 2021 20:46:26 +0000 (08:46 +1200)]
spoolss: Avoid indirection via ndr_get_array_size()

This is set in the call just above and otherwise we will (in the next commit)
need an intermediate variable once we need to check error codes from
ndr_get_array_size().

BUG: https://bugzilla.samba.org/show_bug.cgi?id=14710

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
3 years agosamba-tool dns zoneoptions: timestamp manipulation options
Douglas Bagnall [Wed, 26 May 2021 21:46:02 +0000 (09:46 +1200)]
samba-tool dns zoneoptions: timestamp manipulation options

There was a bug in Samba before 4.9 that marked all records intended
to be static with a current timestamp, and all records intended to be
dynamic with a zero timestamp. This was exactly the opposite of
correct behaviour.

It follows that a domain which has been upgraded past 4.9, but on
which aging is not enabled, records intended to be static will have a
timestamp from before the upgrade date (unless their nodes have
suffered a DNS update, which due to another bug, will change the
timestmap). The following command will make these truly static:

$ samba-tool dns zoneoptions --mark-old-records-static=2018-07-23 -U...

where '2018-07-23' should be replaced by the approximate date of the
upgrade beyond 4.9.

It seems riskier making blanket conversions of static records into
dynamic records, but there are sometimes useful patterns in the names
given to machines that we can exploit. For example, if there is a
group of machines with names like 'desktop-123' that are all supposed
to using dynamic DNS, the adminstrator can go

$ samba-tool dns zoneoptions --mark-records-dynamic-regex='desktop-\d+'

and there's a --mark-records-static-regex for symmetry.

These options are deliberately long and cumbersome to type, so people
have a chance to think before they get to the end. We also introduce a
'--dry-run' (or '-n') option so they can inspect the likely results
before going ahead.

*NOTE* ageing will still not work properly after this commit, due to
other bugs that will be fixed in other commits.

Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
3 years agopytest:samba-tool dns: more robust clean-up
Douglas Bagnall [Fri, 28 May 2021 04:54:33 +0000 (16:54 +1200)]
pytest:samba-tool dns: more robust clean-up

If setUp() fails (and here we have a big .setUp), .tearDown is not run,
and that can leave the zone undeleted, breaking all the other tests who
expect to be able to recreate it.

Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
3 years agosamba-tool dns: remove unused imports
Douglas Bagnall [Fri, 28 May 2021 10:56:10 +0000 (22:56 +1200)]
samba-tool dns: remove unused imports

Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
3 years agosamba-tool dns: move dns_record_match to dnsserver.py
Douglas Bagnall [Wed, 26 May 2021 21:45:18 +0000 (09:45 +1200)]
samba-tool dns: move dns_record_match to dnsserver.py

This function is used here and in tests, but the tests should not be
importing things from netcmd.dns, which is really supposed to be UI
code. So we move to a common place.

the only difference is the function raises DNSParseError instead of
CommandError, and netcmd.dns has to catch and wrap that.

Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
3 years agopidl: Handle assigning to an inline array from Python
Joseph Sutton [Thu, 6 May 2021 00:05:26 +0000 (12:05 +1200)]
pidl: Handle assigning to an inline array from Python

When obtaining a reference to items in an assigned-from list, ensure
that we do not try to use the first element of the inline array as a
talloc context, but instead use the talloc context associated with the
Python object.

BUG: https://bugzilla.samba.org/show_bug.cgi?id=14065

Signed-off-by: Joseph Sutton <josephsutton@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
Autobuild-User(master): Andreas Schneider <asn@cryptomilk.org>
Autobuild-Date(master): Fri May 28 09:50:02 UTC 2021 on sn-devel-184

3 years agopytest:segfault: Add test for assigning to an inline array
Joseph Sutton [Fri, 7 May 2021 23:33:43 +0000 (11:33 +1200)]
pytest:segfault: Add test for assigning to an inline array

BUG: https://bugzilla.samba.org/show_bug.cgi?id=14065

Signed-off-by: Joseph Sutton <josephsutton@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
3 years agoctdb-tests: Add debug_locks.sh tests for mutexes
Martin Schwenke [Wed, 6 Jan 2021 10:38:31 +0000 (21:38 +1100)]
ctdb-tests: Add debug_locks.sh tests for mutexes

Signed-off-by: Martin Schwenke <martin@meltin.net>
Reviewed-by: Amitay Isaacs <amitay@gmail.com>
Autobuild-User(master): Amitay Isaacs <amitay@samba.org>
Autobuild-Date(master): Fri May 28 07:34:23 UTC 2021 on sn-devel-184

3 years agoctdb-scripts: Add lock debugging for tdb mutex locks
Amitay Isaacs [Fri, 12 Feb 2021 08:13:48 +0000 (19:13 +1100)]
ctdb-scripts: Add lock debugging for tdb mutex locks

Signed-off-by: Amitay Isaacs <amitay@gmail.com>
Signed-off-by: Martin Schwenke <martin@meltin.net>
3 years agoctdb-utils: Add tdb_mutex_check utility
Amitay Isaacs [Fri, 12 Feb 2021 08:13:11 +0000 (19:13 +1100)]
ctdb-utils: Add tdb_mutex_check utility

Signed-off-by: Amitay Isaacs <amitay@gmail.com>
Reviewed-by: Martin Schwenke <martin@meltin.net>
3 years agoctdb-scripts: Simplify logic in debug_via_proc_locks()
Martin Schwenke [Mon, 4 Jan 2021 02:35:11 +0000 (13:35 +1100)]
ctdb-scripts: Simplify logic in debug_via_proc_locks()

The path of the TDB is known, so calculate the file ID (device number
+ inode number) from it and use this to directly filter /proc/locks to
find processes holding locks.

Signed-off-by: Martin Schwenke <martin@meltin.net>
Reviewed-by: Amitay Isaacs <amitay@gmail.com>
3 years agoctdb-scripts: Update debug_locks.sh to handle arguments
Martin Schwenke [Fri, 12 Feb 2021 08:08:37 +0000 (19:08 +1100)]
ctdb-scripts: Update debug_locks.sh to handle arguments

Don't use the  arguments yet.  They will be used in a simplified
version of the code.

Signed-off-by: Martin Schwenke <martin@meltin.net>
Reviewed-by: Amitay Isaacs <amitay@gmail.com>
3 years agoctdb-scripts: Move current lock debugging to a function
Martin Schwenke [Fri, 12 Feb 2021 08:07:55 +0000 (19:07 +1100)]
ctdb-scripts: Move current lock debugging to a function

Signed-off-by: Martin Schwenke <martin@meltin.net>
Reviewed-by: Amitay Isaacs <amitay@gmail.com>
3 years agoctdb-locking: Pass additional arguments to debug locks script
Amitay Isaacs [Tue, 24 Nov 2020 02:25:04 +0000 (13:25 +1100)]
ctdb-locking: Pass additional arguments to debug locks script

1. PID of lock helper waiting for lock
2. Scope of lock: "record" or "db"
3. Path to database that lock helper is trying to lock
4. Whether the database uses mutexes: "mutex" or "fcntl"

Signed-off-by: Amitay Isaacs <amitay@gmail.com>
Reviewed-by: Martin Schwenke <martin@meltin.net>
3 years agoctdb-tests: Add debug_locks.sh testing
Martin Schwenke [Wed, 6 Jan 2021 10:38:31 +0000 (21:38 +1100)]
ctdb-tests: Add debug_locks.sh testing

Signed-off-by: Martin Schwenke <martin@meltin.net>
Reviewed-by: Amitay Isaacs <amitay@gmail.com>
3 years agoctdb-tests: Fix nonsense arguments to ps stub
Martin Schwenke [Fri, 12 Feb 2021 07:57:58 +0000 (18:57 +1100)]
ctdb-tests: Fix nonsense arguments to ps stub

These were fine (though still lazy) when these tests were the only
user of this stub.  However, the ps stub is about to be enhanced, so
fix these uses of it to represent the intended usage.

Signed-off-by: Martin Schwenke <martin@meltin.net>
Reviewed-by: Amitay Isaacs <amitay@gmail.com>
3 years agoctdb-scripts: Avoid direct /proc access
Martin Schwenke [Mon, 4 Jan 2021 00:54:38 +0000 (11:54 +1100)]
ctdb-scripts: Avoid direct /proc access

The main reason for this is to facilitate testing.

Avoid some /proc accesses entirely by using ps(1) (which can be
replaced by a stub when testing) because this script might as well be
more portable in case anyone wants to add lock debugging for a
non-Linux platform.  While the "state" format specification isn't
POSIX-compliant, it works on both Linux and FreeBSD so it is a
reasonable improvement.

Signed-off-by: Martin Schwenke <martin@meltin.net>
Reviewed-by: Amitay Isaacs <amitay@gmail.com>
3 years agoctdb-scripts: Factor out function dump_stacks()
Martin Schwenke [Fri, 12 Feb 2021 08:14:12 +0000 (19:14 +1100)]
ctdb-scripts: Factor out function dump_stacks()

Signed-off-by: Martin Schwenke <martin@meltin.net>
Reviewed-by: Amitay Isaacs <amitay@gmail.com>
3 years agos3:lib: Remove util_cmdline
Andreas Schneider [Wed, 13 Jan 2021 15:14:31 +0000 (16:14 +0100)]
s3:lib: Remove util_cmdline

                  _  /)
                 mo / )
                 |/)\)
                  /\_
                  \__|=
                 (    )
                 __)(__
           _____/      \\_____
          |  _     ___   _   ||
          | | \     |   | \  ||
          | |  |    |   |  | ||
          | |_/     |   |_/  ||
          | | \     |   |    ||
          | |  \    |   |    ||
          | |   \. _|_. | .  ||
          |                  ||
          |   1992 - 2021    ||
          |                  ||
  *       | *   **    * **   |**      **
   \))ejm97/.,(//,,..,,\||(,,.,\\,.((//

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Autobuild-User(master): Andrew Bartlett <abartlet@samba.org>
Autobuild-Date(master): Fri May 28 03:41:52 UTC 2021 on sn-devel-184

3 years agos3:lib: Remove popt_samba3
Andreas Schneider [Wed, 13 Jan 2021 14:01:56 +0000 (15:01 +0100)]
s3:lib: Remove popt_samba3

                _|_
                 |
             .-'''''-.
          .-'    '-.
       .-'  :::::_:::::  '-.
   ___/ ==:...:::-:::...:== \___
  /_____________________________\
':'-._________________________.-'_
 ':::\ @-,`-[-][-^-][-]-`,-@ / _| |_
  '::| .-------------------. ||_ @ _|
   ::|=|*   ___  _  ___   *|=|'.| |
   ':| |'   ))_) )) ))_)  '| |::.^|
   _:|=|'  ((`\ (( ((     '|=|::::::.
 _| || |'        _        '| |:::::::.
|_   |=|'2003  _( )_  2021'|=|':::::.
  | || |' (   (_ ~ _)   ) '| | ':::'
  |^||=|*  )    (_)    (  *|=| '::'
     | '-------------------' .::::'
     |_____________________.::::::'
   .'___________________.::::::''
   |_______________.::::'':::'''
 .'_____________.::::::''::::''
            .:::''''     .'::::'
         .:::::''':.   .:::::'

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
3 years agos3:printing: Migrate samba-bgqd to new cmdline option parser
Andreas Schneider [Tue, 25 May 2021 07:36:48 +0000 (09:36 +0200)]
s3:printing: Migrate samba-bgqd to new cmdline option parser

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
3 years agos3:libsmb: Use cli_credentials to store traversal creds
Andreas Schneider [Wed, 13 Jan 2021 15:11:17 +0000 (16:11 +0100)]
s3:libsmb: Use cli_credentials to store traversal creds

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
3 years agodocs-xml: Update net manpage for new cmdline opition parser
Andreas Schneider [Tue, 19 Jan 2021 06:42:08 +0000 (07:42 +0100)]
docs-xml: Update net manpage for new cmdline opition parser

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
3 years agos3:utils: Use connection and credentials parser in net util
Andreas Schneider [Tue, 19 Jan 2021 06:49:26 +0000 (07:49 +0100)]
s3:utils: Use connection and credentials parser in net util

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
3 years agos3:utils: Add cli_credentials and loadparm_context to net_context
Andreas Schneider [Thu, 1 Apr 2021 10:03:45 +0000 (12:03 +0200)]
s3:utils: Add cli_credentials and loadparm_context to net_context

Will be filled later.

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
3 years agos3:utils: Migrate net to new cmdline option parser
Andreas Schneider [Wed, 13 Jan 2021 13:54:58 +0000 (14:54 +0100)]
s3:utils: Migrate net to new cmdline option parser

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
3 years agos3:utils: Remove '-l' for '--long' from net
Andreas Schneider [Wed, 13 Jan 2021 13:54:03 +0000 (14:54 +0100)]
s3:utils: Remove '-l' for '--long' from net

This conflicts with '--log-basename' from the commend cmdline parser.

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
3 years agoexamples: Migrate smb2mount to new cmdline option parser
Andreas Schneider [Wed, 13 Jan 2021 13:49:07 +0000 (14:49 +0100)]
examples: Migrate smb2mount to new cmdline option parser

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
3 years agoexamples: Pass cli_credentials to connect_one in smb2mount
Andreas Schneider [Wed, 13 Jan 2021 13:47:01 +0000 (14:47 +0100)]
examples: Pass cli_credentials to connect_one in smb2mount

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
3 years agodocs-xml: Update smbtree manpage for new cmdline opition parser
Andreas Schneider [Tue, 19 Jan 2021 06:37:48 +0000 (07:37 +0100)]
docs-xml: Update smbtree manpage for new cmdline opition parser

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
3 years agos3:utils: Migrate smbtree to new cmdline option parser
Andreas Schneider [Wed, 13 Jan 2021 13:43:17 +0000 (14:43 +0100)]
s3:utils: Migrate smbtree to new cmdline option parser

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
3 years agodocs-xml: Update smbcquotas manpage for new cmdline opition parser
Andreas Schneider [Tue, 19 Jan 2021 06:31:04 +0000 (07:31 +0100)]
docs-xml: Update smbcquotas manpage for new cmdline opition parser

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
3 years agos3:utils: Migrate smbcquotas to the new cmdline option parser
Andreas Schneider [Wed, 13 Jan 2021 13:38:17 +0000 (14:38 +0100)]
s3:utils: Migrate smbcquotas to the new cmdline option parser

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
3 years agos3:utils: Rename --user to --quota-user in smbcquotas
Andreas Schneider [Wed, 13 Jan 2021 13:37:27 +0000 (14:37 +0100)]
s3:utils: Rename --user to --quota-user in smbcquotas

This conflicts with the common -U|--user option

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
3 years agos3:utils: Use samba_cmdline_burn() in smbget
Andreas Schneider [Wed, 13 Jan 2021 13:23:31 +0000 (14:23 +0100)]
s3:utils: Use samba_cmdline_burn() in smbget

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
3 years agodocs-xml: Update samba-regedit manpage for new cmdline opition parser
Andreas Schneider [Mon, 18 Jan 2021 15:52:48 +0000 (16:52 +0100)]
docs-xml: Update samba-regedit manpage for new cmdline opition parser

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
3 years agos3:utils: Migrate samba-regedit to new cmdline option parser
Andreas Schneider [Wed, 13 Jan 2021 13:18:58 +0000 (14:18 +0100)]
s3:utils: Migrate samba-regedit to new cmdline option parser

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
3 years agodocs-xml: Update smbcacls manpage for new cmdline opition parser
Andreas Schneider [Mon, 18 Jan 2021 15:50:24 +0000 (16:50 +0100)]
docs-xml: Update smbcacls manpage for new cmdline opition parser

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
3 years agos3:utils: Migrate smbcacls to new cmdline option parser
Andreas Schneider [Wed, 13 Jan 2021 13:04:04 +0000 (14:04 +0100)]
s3:utils: Migrate smbcacls to new cmdline option parser

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
3 years agos3:utils: Use cli_credentials in 'struct cacl_callback_state'
Andreas Schneider [Wed, 13 Jan 2021 13:07:02 +0000 (14:07 +0100)]
s3:utils: Use cli_credentials in 'struct cacl_callback_state'

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
3 years agos3:utils: Pass cli_credentials to connect_one()
Andreas Schneider [Wed, 13 Jan 2021 13:00:56 +0000 (14:00 +0100)]
s3:utils: Pass cli_credentials to connect_one()

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
3 years agos3:param:py_param - allocate buffer for nt_name and comment
Andrew Walker [Wed, 26 May 2021 13:04:07 +0000 (09:04 -0400)]
s3:param:py_param - allocate buffer for nt_name and comment

nt_name and comment are allocated via talloc_strdup(). Length
is not guaranteed to be sizeof(fstring) and so rather than use
fstrcpy into a possibly NULL buffer, free original string, then
talloc_strdup() the one provided to us.

Signed-off-by: Andrew Walker <awalker@ixsystems.com>
Reviewed-by: Jeremy Allison <jra@samba.org>
Autobuild-User(master): Jeremy Allison <jra@samba.org>
Autobuild-Date(master): Thu May 27 22:07:45 UTC 2021 on sn-devel-184

3 years agoloadparam: add option "acl flag inherited canonicalization"
Ralph Boehme [Tue, 25 May 2021 17:04:10 +0000 (19:04 +0200)]
loadparam: add option "acl flag inherited canonicalization"

Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Autobuild-User(master): Jeremy Allison <jra@samba.org>
Autobuild-Date(master): Thu May 27 19:51:57 UTC 2021 on sn-devel-184

3 years agosmbd: pass fsp to canonicalize_inheritance_bits()
Ralph Boehme [Tue, 25 May 2021 15:17:17 +0000 (17:17 +0200)]
smbd: pass fsp to canonicalize_inheritance_bits()

Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
3 years agotorture/smb2: ACL inheritance flags test with non-canonical behaviour
Ralph Boehme [Wed, 26 May 2021 10:31:32 +0000 (12:31 +0200)]
torture/smb2: ACL inheritance flags test with non-canonical behaviour

Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
3 years agos3: smbd: Fix uninitialized memory read in process_symlink_open() when used with...
Jeremy Allison [Thu, 27 May 2021 05:41:53 +0000 (22:41 -0700)]
s3: smbd: Fix uninitialized memory read in process_symlink_open() when used with vfs_shadow_copy2().

Valgrind trace follows.

==3627798== Invalid read of size 1
==3627798==    at 0x483FF46: strlen (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
==3627798==    by 0x55DE412: strdup (strdup.c:41)
==3627798==    by 0x4F4657E: smb_xstrdup (util.c:660)
==3627798==    by 0x4C62C2E: vfs_ChDir (vfs.c:988)
==3627798==    by 0x4C4A51C: process_symlink_open (open.c:656)
==3627798==    by 0x4C4ADE7: non_widelink_open (open.c:862)
==3627798==    by 0x4C4AFB7: fd_openat (open.c:918)
==3627798==    by 0x4BBE895: openat_pathref_fsp (files.c:506)
==3627798==    by 0x4C48A00: filename_convert_internal (filename.c:2027)
==3627798==    by 0x4C48B77: filename_convert (filename.c:2067)
==3627798==    by 0x4C32408: call_trans2qfilepathinfo (trans2.c:6173)
==3627798==    by 0x4C3C5DA: handle_trans2 (trans2.c:10143)
==3627798==  Address 0xda8bc90 is 96 bytes inside a block of size 217 free'd
==3627798==    at 0x483DA3F: free (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
==3627798==    by 0x4FCA3C9: _tc_free_internal (talloc.c:1222)
==3627798==    by 0x4FCA481: _talloc_free_internal (talloc.c:1248)
==3627798==    by 0x4FCB825: _talloc_free (talloc.c:1792)
==3627798==    by 0xDB248DD: store_cwd_data (vfs_shadow_copy2.c:1473)
==3627798==    by 0xDB24BEF: shadow_copy2_chdir (vfs_shadow_copy2.c:1542)
==3627798==    by 0x4C662A4: smb_vfs_call_chdir (vfs.c:2257)
==3627798==    by 0x4C62B48: vfs_ChDir (vfs.c:940)
==3627798==    by 0x4C4A51C: process_symlink_open (open.c:656)
==3627798==    by 0x4C4ADE7: non_widelink_open (open.c:862)
==3627798==    by 0x4C4AFB7: fd_openat (open.c:918)
==3627798==    by 0x4BBE895: openat_pathref_fsp (files.c:506)
==3627798==  Block was alloc'd at
==3627798==    at 0x483C7F3: malloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
==3627798==    by 0x4FC9365: __talloc_with_prefix (talloc.c:783)
==3627798==    by 0x4FC94FF: __talloc (talloc.c:825)
==3627798==    by 0x4FCCFDC: __talloc_strlendup (talloc.c:2454)
==3627798==    by 0x4FCD096: talloc_strdup (talloc.c:2470)
==3627798==    by 0xDB24977: store_cwd_data (vfs_shadow_copy2.c:1476)
==3627798==    by 0xDB24BEF: shadow_copy2_chdir (vfs_shadow_copy2.c:1542)
==3627798==    by 0x4C662A4: smb_vfs_call_chdir (vfs.c:2257)
==3627798==    by 0x4C62B48: vfs_ChDir (vfs.c:940)
==3627798==    by 0x4C4A92D: non_widelink_open (open.c:755)
==3627798==    by 0x4C4AFB7: fd_openat (open.c:918)
==3627798==    by 0x4BBE895: openat_pathref_fsp (files.c:506)
==3627798==

Even though SMB_VFS_CONNECTPATH() returns a const char,
vfs_shadow_copy2() can free and reallocate this whilst
in use inside process_symlink_open().

Take a copy to make sure we don't reference free'd memory.

BUG: https://bugzilla.samba.org/show_bug.cgi?id=14721

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Ralph Böhme <slow@samba.org>
Autobuild-User(master): Jeremy Allison <jra@samba.org>
Autobuild-Date(master): Thu May 27 17:25:43 UTC 2021 on sn-devel-184

3 years agodocs-xml: Update pdbedit manpage for new cmdline opition parser
Andreas Schneider [Mon, 18 Jan 2021 15:28:28 +0000 (16:28 +0100)]
docs-xml: Update pdbedit manpage for new cmdline opition parser

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Autobuild-User(master): Andrew Bartlett <abartlet@samba.org>
Autobuild-Date(master): Tue May 25 01:14:09 UTC 2021 on sn-devel-184

3 years agos3:utils: Migrate pdbedit to the new cmdline option parser
Andreas Schneider [Wed, 13 Jan 2021 12:42:53 +0000 (13:42 +0100)]
s3:utils: Migrate pdbedit to the new cmdline option parser

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
3 years agodocs-xml: Update sharesec manpage for new cmdline opition parser
Andreas Schneider [Mon, 18 Jan 2021 14:42:39 +0000 (15:42 +0100)]
docs-xml: Update sharesec manpage for new cmdline opition parser

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
3 years agos3:utils: Migrate sharesec to new cmdline option parser
Andreas Schneider [Wed, 13 Jan 2021 12:40:26 +0000 (13:40 +0100)]
s3:utils: Migrate sharesec to new cmdline option parser

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
3 years agos3:utils: Remove '-V' for '--viewsddl' from sharesec
Andreas Schneider [Mon, 18 Jan 2021 08:02:22 +0000 (09:02 +0100)]
s3:utils: Remove '-V' for '--viewsddl' from sharesec

The '-V' is already used for '-V|--version' in the common options.

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
3 years agos3:utils: Migrate spilt_tokens to new cmdline option parser
Andreas Schneider [Wed, 13 Jan 2021 12:32:24 +0000 (13:32 +0100)]
s3:utils: Migrate spilt_tokens to new cmdline option parser

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>