scabrero/samba-autobuild/.git
4 years agolib ldb common: Fix memory leak ldb-2.1.0
Gary Lockyer [Tue, 14 Jan 2020 01:42:26 +0000 (14:42 +1300)]
lib ldb common: Fix memory leak

TALLOC_FREE the ldb_control allocated in ldb_parse_control_from_string
when none of the cases match.

Credit to OSS-Fuzz

Signed-off-by: Gary Lockyer <gary@catalyst.net.nz>
Reviewed-by: David Disseldorp <ddiss@samba.org>
4 years agotests: Test samba-tool user setprimarygroup command
Björn Baumbach [Tue, 14 Jan 2020 14:19:40 +0000 (15:19 +0100)]
tests: Test samba-tool user setprimarygroup command

Signed-off-by: Björn Baumbach <bb@sernet.de>
Reviewed-by: Andreas Schneider <asn@samba.org>
Autobuild-User(master): Andreas Schneider <asn@cryptomilk.org>
Autobuild-Date(master): Wed Jan 15 13:30:53 UTC 2020 on sn-devel-184

4 years agotests: Test samba-tool user getgroups command
Björn Baumbach [Tue, 14 Jan 2020 14:10:09 +0000 (15:10 +0100)]
tests: Test samba-tool user getgroups command

Signed-off-by: Björn Baumbach <bb@sernet.de>
Reviewed-by: Andreas Schneider <asn@samba.org>
4 years agoselftest: create working directory for blackbox test
Björn Baumbach [Wed, 18 Dec 2019 10:56:03 +0000 (11:56 +0100)]
selftest: create working directory for blackbox test

Required to run test separately.

Signed-off-by: Björn Baumbach <bb@sernet.de>
Reviewed-by: Andreas Schneider <asn@samba.org>
4 years agosamba-tool: implement user getgroups command
Stefan Metzmacher [Wed, 16 May 2018 11:00:16 +0000 (13:00 +0200)]
samba-tool: implement user getgroups command

samba-tool user getgroups command to list a users group memberships.

Pair-programmed-with: Björn Baumbach <bb@sernet.de>

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Signed-off-by: Björn Baumbach <bb@sernet.de>
Reviewed-by: Andreas Schneider <asn@samba.org>
4 years agosamba-tool: implement user setprimary group command (set primaryGroupID)
Björn Baumbach [Wed, 16 May 2018 08:19:16 +0000 (10:19 +0200)]
samba-tool: implement user setprimary group command (set primaryGroupID)

Introduce an option to set the primaryGroupID attribute of a user account.

Pair-programmed-with: Stefan Metzmacher <metze@samba.org>

Signed-off-by: Björn Baumbach <bb@sernet.de>
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
4 years agoclitar: use modern DBG macros
Björn Jacke [Mon, 13 Jan 2020 15:43:21 +0000 (16:43 +0100)]
clitar: use modern DBG macros

Signed-off-by: Bjoern Jacke <bjacke@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Autobuild-User(master): Jeremy Allison <jra@samba.org>
Autobuild-Date(master): Tue Jan 14 20:42:10 UTC 2020 on sn-devel-184

4 years agosmbtar: adopt for new tar verbose option
Björn Jacke [Tue, 7 Jan 2020 11:04:49 +0000 (12:04 +0100)]
smbtar: adopt for new tar verbose option

Signed-off-by: Bjoern Jacke <bjacke@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
4 years agosmbclient/tar: add verbose mode
Björn Jacke [Sat, 4 Jan 2020 20:47:59 +0000 (21:47 +0100)]
smbclient/tar: add verbose mode

A verbose mode got lost with the introduction of libarchive support.

The verbose mode is optional, default is quiet mode.

The output format is close to the verbose output format of POSIX tar
implementations and should be good parsable.

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

Signed-off-by: Bjoern Jacke <bjacke@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
4 years agosmbd: Protect against non-string "close-share" sharenames
Volker Lendecke [Mon, 13 Jan 2020 14:23:45 +0000 (15:23 +0100)]
smbd: Protect against non-string "close-share" sharenames

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
4 years agotest3: Fix usage check for test_sharesec.sh
Volker Lendecke [Tue, 14 Jan 2020 12:10:05 +0000 (13:10 +0100)]
test3: Fix usage check for test_sharesec.sh

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
4 years agolib: Avoid an unnecessary include
Volker Lendecke [Tue, 14 Jan 2020 12:05:00 +0000 (13:05 +0100)]
lib: Avoid an unnecessary include

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
4 years agolib: Remove "msg_ctx" from server_id_watch_send()
Volker Lendecke [Tue, 14 Jan 2020 12:03:45 +0000 (13:03 +0100)]
lib: Remove "msg_ctx" from server_id_watch_send()

Not needed

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
4 years agolib: Use tevent version of timeval_current_ofs()
Volker Lendecke [Tue, 14 Jan 2020 12:02:27 +0000 (13:02 +0100)]
lib: Use tevent version of timeval_current_ofs()

We have tevent available anyway, use that infrastructure

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
4 years agonfs4acl: Align integer types
Volker Lendecke [Tue, 14 Jan 2020 10:21:01 +0000 (11:21 +0100)]
nfs4acl: Align integer types

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
4 years agodocs-xml: 'mangled names = illegal' is the new default
Andreas Schneider [Tue, 14 Jan 2020 13:36:52 +0000 (14:36 +0100)]
docs-xml: 'mangled names = illegal' is the new default

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
Autobuild-User(master): Andreas Schneider <asn@cryptomilk.org>
Autobuild-Date(master): Tue Jan 14 15:18:02 UTC 2020 on sn-devel-184

4 years agotests/DNS: add MX/SRV record tests with multiple spaces
Björn Jacke [Mon, 13 Jan 2020 12:02:29 +0000 (13:02 +0100)]
tests/DNS: add MX/SRV record tests with multiple spaces

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

Signed-off-by: Bjoern Jacke <bjacke@samba.org>
Reviewed-by: Björn Baumbach <bb@samba.org>
Autobuild-User(master): Björn Baumbach <bb@sernet.de>
Autobuild-Date(master): Tue Jan 14 11:58:20 UTC 2020 on sn-devel-184

4 years agosamba-tool: fix adding of dns SRV/MX/SOA records
Björn Jacke [Sun, 12 Jan 2020 23:21:41 +0000 (00:21 +0100)]
samba-tool: fix adding of dns SRV/MX/SOA records

Thanks to Denis Cardon for finding

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

Signed-off-by: Bjoern Jacke <bjacke@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Björn Baumbach <bb@samba.org>
4 years agotests/DNS: \n.COM shouldn't be a valid DNS record
Björn Jacke [Mon, 13 Jan 2020 11:49:42 +0000 (12:49 +0100)]
tests/DNS: \n.COM shouldn't be a valid DNS record

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

Signed-off-by: Bjoern Jacke <bjacke@samba.org>
Reviewed-by: Björn Baumbach <bb@samba.org>
4 years agonet_ads_gpo: remove old '#if 0' blocks
Douglas Bagnall [Fri, 10 Jan 2020 03:06:33 +0000 (16:06 +1300)]
net_ads_gpo: remove old '#if 0' blocks

I think the dump_gpo() calls do enough, and this code has done nothing
for a decade.

Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Gary Lockyer <gary@catalyst.net.nz>
Autobuild-User(master): Gary Lockyer <gary@samba.org>
Autobuild-Date(master): Mon Jan 13 23:52:26 UTC 2020 on sn-devel-184

4 years agolibgpo: parse_gp_ext: do not crash upon no ext_strings
Douglas Bagnall [Fri, 10 Jan 2020 02:45:45 +0000 (15:45 +1300)]
libgpo: parse_gp_ext: do not crash upon no ext_strings

Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Gary Lockyer <gary@catalyst.net.nz>
4 years agosmbd: RIP user_struct
Ralph Boehme [Mon, 6 Jan 2020 09:14:11 +0000 (10:14 +0100)]
smbd: RIP user_struct

At last, the nail in the coffin. :)

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): Mon Jan 13 21:09:01 UTC 2020 on sn-devel-184

4 years agosmbd: use smbXsrv_session_info_lookup() in become_user_without_service()
Ralph Boehme [Thu, 2 Jan 2020 16:24:47 +0000 (17:24 +0100)]
smbd: use smbXsrv_session_info_lookup() in become_user_without_service()

Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
4 years agosmbd: remove using vuser from smbd_smb2_tree_connect()
Ralph Boehme [Thu, 2 Jan 2020 16:21:06 +0000 (17:21 +0100)]
smbd: remove using vuser from smbd_smb2_tree_connect()

Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
4 years agosmbd: don't use vuser in make_connection()
Ralph Boehme [Thu, 2 Jan 2020 16:16:38 +0000 (17:16 +0100)]
smbd: don't use vuser in make_connection()

Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
4 years agosmbd: remove unused vuser arg from make_connection_smb2()
Ralph Boehme [Thu, 2 Jan 2020 16:09:26 +0000 (17:09 +0100)]
smbd: remove unused vuser arg from make_connection_smb2()

Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
4 years agosmbd: remove unused vuser arg from make_connection_smb1()
Ralph Boehme [Thu, 2 Jan 2020 16:07:23 +0000 (17:07 +0100)]
smbd: remove unused vuser arg from make_connection_smb1()

Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
4 years agosmbd: use req->session instead of vuser->session in make_connection_smb1()
Ralph Boehme [Thu, 2 Jan 2020 16:06:23 +0000 (17:06 +0100)]
smbd: use req->session instead of vuser->session in make_connection_smb1()

Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
4 years agosmbd: remove use of user_struct from reply_ulogoffX()
Ralph Boehme [Thu, 2 Jan 2020 15:26:03 +0000 (16:26 +0100)]
smbd: remove use of user_struct from reply_ulogoffX()

Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
4 years agosmbd: use smbXsrv_session_local_traverse() in id_in_use()
Ralph Boehme [Thu, 2 Jan 2020 13:47:51 +0000 (14:47 +0100)]
smbd: use smbXsrv_session_local_traverse() in id_in_use()

Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
4 years agosmbd: add smbXsrv_session_local_traverse()
Ralph Boehme [Thu, 2 Jan 2020 10:42:05 +0000 (11:42 +0100)]
smbd: add smbXsrv_session_local_traverse()

Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
4 years agosmbd: remove enum server_allocated_state magic from get_valid_user_struct()
Ralph Boehme [Mon, 6 Jan 2020 09:12:32 +0000 (10:12 +0100)]
smbd: remove enum server_allocated_state magic from get_valid_user_struct()

This has been obsoleted a long time ago by
a129e271b5385853fb39a8e54b56b508b00a3e41.

Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
4 years agosmbd: use get_valid_smbXsrv_session() in invalidate_vuid()
Ralph Boehme [Mon, 6 Jan 2020 07:20:14 +0000 (08:20 +0100)]
smbd: use get_valid_smbXsrv_session() in invalidate_vuid()

Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
4 years agosmbd: add get_valid_smbXsrv_session()
Ralph Boehme [Mon, 6 Jan 2020 07:19:18 +0000 (08:19 +0100)]
smbd: add get_valid_smbXsrv_session()

In memory of get_valid_user_struct() and functionally equivalent it only returns
the session if session setup was successfully completed and
session->global->auth_session_info is valid.

This function is similar to smbXsrv_session_local_lookup() and it's wrappers,
but it doesn't implement the state checks of those. get_valid_smbXsrv_session()
is NOT meant to be called to validate the session wire-id of incoming SMB
requests, it MUST only be used in later internal processing where the session
wire-id has already been validated.

Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
4 years agosmbd: use session->global->auth_session_info in switch_message()
Ralph Boehme [Thu, 2 Jan 2020 07:07:31 +0000 (08:07 +0100)]
smbd: use session->global->auth_session_info in switch_message()

Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
4 years agosmbd: remove dependency on session->compat in smbXsrv_session_logoff()
Ralph Boehme [Wed, 1 Jan 2020 17:38:59 +0000 (18:38 +0100)]
smbd: remove dependency on session->compat in smbXsrv_session_logoff()

This is not needed anymore because a previous commit changes this to use
session->global->session_wire_id insteaf of session->compat->vuid, so we're not
depending on session->compat anymore.

Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
4 years agosmbd: use smbXsrv_session_info_lookup() in api_reply()
Ralph Boehme [Wed, 1 Jan 2020 14:20:05 +0000 (15:20 +0100)]
smbd: use smbXsrv_session_info_lookup() in api_reply()

Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
4 years agosmbd: use smbXsrv_session_info_lookup() in api_WWkstaUserLogon()
Ralph Boehme [Wed, 1 Jan 2020 11:15:29 +0000 (12:15 +0100)]
smbd: use smbXsrv_session_info_lookup() in api_WWkstaUserLogon()

Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
4 years agosmbd: share level security is long gone...
Ralph Boehme [Wed, 1 Jan 2020 08:47:38 +0000 (09:47 +0100)]
smbd: share level security is long gone...

vuid will always be valid as will be vuser.

Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
4 years agosmbd: use smbXsrv_session_info_lookup() in change_to_user_and_service()
Ralph Boehme [Wed, 1 Jan 2020 00:06:45 +0000 (01:06 +0100)]
smbd: use smbXsrv_session_info_lookup() in change_to_user_and_service()

Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
4 years agosmbd: introduce smbXsrv_session_info_lookup()
Ralph Boehme [Wed, 1 Jan 2020 00:06:24 +0000 (01:06 +0100)]
smbd: introduce smbXsrv_session_info_lookup()

Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
4 years agosmbd: remove vuser arg from make_connection_snum()
Ralph Boehme [Mon, 30 Dec 2019 09:28:25 +0000 (10:28 +0100)]
smbd: remove vuser arg from make_connection_snum()

Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
4 years agosmbd: use session->global->auth_session_info in make_connection_snum()
Ralph Boehme [Mon, 30 Dec 2019 09:26:26 +0000 (10:26 +0100)]
smbd: use session->global->auth_session_info in make_connection_snum()

Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
4 years agosmbd: remove vuid from struct user_struct
Ralph Boehme [Sun, 29 Dec 2019 13:33:00 +0000 (14:33 +0100)]
smbd: remove vuid from struct user_struct

The previous commit removed all users of struct user_struct.vuid.

Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
4 years agosmbd: use session->global->session_wire_id instead of session->compat->vuid
Ralph Boehme [Sun, 29 Dec 2019 13:33:00 +0000 (14:33 +0100)]
smbd: use session->global->session_wire_id instead of session->compat->vuid

session->compat->vuid is set to session->global->session_wire_id after a
successful session setup, so both variables will always carry the same value. Cf
the next commit which removes vuid from user_struct.

Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
4 years agosmbd: pass smbXsrv_session to make_connection_snum()
Ralph Boehme [Sun, 29 Dec 2019 13:34:42 +0000 (14:34 +0100)]
smbd: pass smbXsrv_session to make_connection_snum()

Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
4 years agosmbd: move homes_snum from struct user_struct to struct smbXsrv_session
Ralph Boehme [Sun, 29 Dec 2019 07:31:45 +0000 (08:31 +0100)]
smbd: move homes_snum from struct user_struct to struct smbXsrv_session

No change in behaviour. A first step in removing user_struct.

Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
4 years agosmbd: add session to struct smb_request
Ralph Boehme [Sun, 29 Dec 2019 07:30:22 +0000 (08:30 +0100)]
smbd: add session to struct smb_request

Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
4 years agos3: lib: dbwrap. Cleanup. Add a couple of missing 'return NULL' statements on talloc...
Jeremy Allison [Fri, 10 Jan 2020 23:55:29 +0000 (15:55 -0800)]
s3: lib: dbwrap. Cleanup. Add a couple of missing 'return NULL' statements on talloc fail.

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
4 years agos3: lib: dbwrap_ctdb: Ensure value_valid is set true if we find the record in the...
Jeremy Allison [Fri, 10 Jan 2020 23:52:31 +0000 (15:52 -0800)]
s3: lib: dbwrap_ctdb: Ensure value_valid is set true if we find the record in the marshall buffer.

Found by "Christopher O Cowan - Christopher.O.Cowan@ibm.com" <Christopher.O.Cowan@ibm.com>

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
4 years agos3-rpcserver: fix security level check for DsRGetForestTrustInformation
Alexander Bokovoy [Tue, 7 Jan 2020 17:25:53 +0000 (19:25 +0200)]
s3-rpcserver: fix security level check for DsRGetForestTrustInformation

Harmonize _netr_DsRGetForestTrustInformation with source4/ logic which
didn't change since DCE RPC channel refactoring.

With the current code we return RPC faul as can be seen in the logs:

2019/12/11 17:12:55.463081,  1, pid=20939, effective(12842000001284200000), real(1284200000, 0), class=rpc_parse] ../librpc/ndr/ndr.c:471(ndr_print_function_debug)
       netr_DsRGetForestTrustInformation: struct netr_DsRGetForestTrustInformation
          in: struct netr_DsRGetForestTrustInformation
              server_name              : *
                  server_name              : '\\some-dc.example.com'
              trusted_domain_name      : NULL
              flags                    : 0x00000000 (0)
[2019/12/11 17:12:55.463122,  4, pid=20939, effective(12842000001284200000), real(1284200000, 0), class=rpc_srv] ../source3/rpc_server/srv_pipe.c:1561(api_rpcTNP)
  api_rpcTNP: fault(5) return.

This is due to this check in processing a request:
        if (!(p->pipe_bound && (p->auth.auth_type != DCERPC_AUTH_TYPE_NONE)
                       && (p->auth.auth_level != DCERPC_AUTH_LEVEL_NONE))) {
                p->fault_state = DCERPC_FAULT_ACCESS_DENIED;
                return WERR_ACCESS_DENIED;
        }

and since we get AuthZ response,

  Successful AuthZ: [netlogon,ncacn_np] user [EXAMPLE]\[admin] [S-1-5-21-1234567-890123456-500] at [Wed, 11 Dec 2019 17:12:55.461164 UTC]
  Remote host [ipv4:Y.Y.Y.Y:59017] local host [ipv4:X.X.X.X:445]
[2019/12/11 17:12:55.461584,  4, pid=20939, effective(0, 0), real(0, 0)] ../lib/audit_logging/audit_logging.c:141(audit_log_json)
  JSON Authorization: {"timestamp": "2019-12-11T17:12:55.461491+0000",
   "type": "Authorization", "Authorization": {"version": {"major": 1, "minor": 1},
   "localAddress": "ipv4:X.X.X.X:445", "remoteAddress": "ipv4:Y.Y.Y.Y:59017",
   "serviceDescription": "netlogon", "authType": "ncacn_np",
   "domain": "EXAMPLE", "account": "admin", "sid": "S-1-5-21-1234567-890123456-500",
   "sessionId": "c5a2386f-f2cc-4241-9a9e-d104cf5859d5", "logonServer": "SOME-DC",
   "transportProtection": "SMB", "accountFlags": "0x00000010"}}

this means we are actually getting anonymous DCE/RPC access to netlogon
on top of authenticated SMB connection. In such case we have exactly
auth_type set to DCERPC_AUTH_TYPE_NONE and auth_level set to
DCERPC_AUTH_LEVEL_NONE in the pipe->auth. Thus, returning an error.

Update the code to follow the same security level check as in s4 variant
of the call.

Signed-off-by: Alexander Bokovoy <ab@samba.org>
Reviewed-by: Guenther Deschner <gd@samba.org>
Autobuild-User(master): Günther Deschner <gd@samba.org>
Autobuild-Date(master): Mon Jan 13 15:05:28 UTC 2020 on sn-devel-184

4 years agofuzz: add a fuzzer for parsing ldb controls
Douglas Bagnall [Thu, 9 Jan 2020 04:40:02 +0000 (17:40 +1300)]
fuzz: add a fuzzer for parsing ldb controls

We have had issues here in the past.

Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Autobuild-User(master): Andrew Bartlett <abartlet@samba.org>
Autobuild-Date(master): Sun Jan 12 21:21:30 UTC 2020 on sn-devel-184

4 years agoldb controls: fix typo in bypassoperational message
Douglas Bagnall [Thu, 9 Jan 2020 06:19:56 +0000 (19:19 +1300)]
ldb controls: fix typo in bypassoperational message

Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
4 years agofuzz_ldap_decode: do not print to stdout
Douglas Bagnall [Thu, 9 Jan 2020 04:01:22 +0000 (17:01 +1300)]
fuzz_ldap_decode: do not print to stdout

The fuzzer doesn't care and it slows things down

Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
4 years agodecode_ndr_X_crash: always find pipe in honggfuzz file
Douglas Bagnall [Thu, 12 Dec 2019 23:08:47 +0000 (12:08 +1300)]
decode_ndr_X_crash: always find pipe in honggfuzz file

Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
4 years agovfs_ceph: drop support for pre-hammer libcephfs versions
David Disseldorp [Thu, 9 Jan 2020 15:01:22 +0000 (16:01 +0100)]
vfs_ceph: drop support for pre-hammer libcephfs versions

The last Ceph Hammer release (0.94.10) came in Feb 2017, as is no longer
supported upstream. Drop support for building Samba vfs_ceph against
version prior to 0.94.0.

Signed-off-by: David Disseldorp <ddiss@samba.org>
Reviewed-by: Samuel Cabrero <scabrero@samba.org>
Autobuild-User(master): David Disseldorp <ddiss@samba.org>
Autobuild-Date(master): Sat Jan 11 14:59:36 UTC 2020 on sn-devel-184

4 years agovfs_ceph: drop support for building without statx
David Disseldorp [Thu, 9 Jan 2020 16:11:39 +0000 (17:11 +0100)]
vfs_ceph: drop support for building without statx

libcephfs statx became available with the Kraken (11.2.0) release of
Ceph in Jan 2017. Versions prior to this are no longer supported
upstream, so we can drop support within Samba vfs_ceph.

Signed-off-by: David Disseldorp <ddiss@samba.org>
Reviewed-by: Samuel Cabrero <scabrero@samba.org>
4 years agos3: smbd: msdfs: Change create_msdfs_link() to call SMB_VFS_CREATE_DFS_PATHAT().
Jeremy Allison [Thu, 9 Jan 2020 22:21:46 +0000 (14:21 -0800)]
s3: smbd: msdfs: Change create_msdfs_link() to call SMB_VFS_CREATE_DFS_PATHAT().

No change in the (rather strange) logic.

First step in abstracting MSDFS storage from direct symlink calls.

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
Autobuild-User(master): Jeremy Allison <jra@samba.org>
Autobuild-Date(master): Fri Jan 10 21:05:25 UTC 2020 on sn-devel-184

4 years agos3: VFS: Implement create_dfs_pathat() in time_audit.
Jeremy Allison [Thu, 9 Jan 2020 21:36:08 +0000 (13:36 -0800)]
s3: VFS: Implement create_dfs_pathat() in time_audit.

Not yet used.

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
4 years agos3: VFS: Implement create_dfs_pathat() in full_audit.
Jeremy Allison [Thu, 9 Jan 2020 21:33:23 +0000 (13:33 -0800)]
s3: VFS: Implement create_dfs_pathat() in full_audit.

Not yet used.

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
4 years agos3: VFS: Implement create_dfs_pathat() in snapper.
Jeremy Allison [Thu, 9 Jan 2020 21:13:29 +0000 (13:13 -0800)]
s3: VFS: Implement create_dfs_pathat() in snapper.

Not yet used.

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
4 years agos3: VFS: Implement create_dfs_pathat() in shadow_copy2.
Jeremy Allison [Thu, 9 Jan 2020 21:06:36 +0000 (13:06 -0800)]
s3: VFS: Implement create_dfs_pathat() in shadow_copy2.

Not yet used.

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
4 years agos3: VFS: Implement create_dfs_pathat() in gluster.
Jeremy Allison [Thu, 9 Jan 2020 22:48:33 +0000 (14:48 -0800)]
s3: VFS: Implement create_dfs_pathat() in gluster.

Not yet used.

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
4 years agos3: VFS: Implement create_dfs_pathat() in ceph.
Jeremy Allison [Thu, 9 Jan 2020 22:39:43 +0000 (14:39 -0800)]
s3: VFS: Implement create_dfs_pathat() in ceph.

Not yet used.

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
4 years agos3: VFS: Add SMB_VFS_CREATE_DFS_PATHAT().
Jeremy Allison [Thu, 9 Jan 2020 18:13:14 +0000 (10:13 -0800)]
s3: VFS: Add SMB_VFS_CREATE_DFS_PATHAT().

Not yet used.

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
4 years agondr basic: Check ndr_token_store return code
Gary Lockyer [Tue, 7 Jan 2020 20:39:30 +0000 (09:39 +1300)]
ndr basic: Check ndr_token_store return code

Fix for

*** CID 1457529:  Error handling issues  (CHECKED_RETURN)
/librpc/ndr/ndr_basic.c: 786 in ndr_push_full_ptr()
...
ID 1457529:  Error handling issues  (CHECKED_RETURN)
    Calling "ndr_token_store" without checking return value (as is done
    elsewhere 14 out of 17 times).

Signed-off-by: Gary Lockyer <gary@catalyst.net.nz>
Reviewed-by: David Disseldorp <ddiss@samba.org>
Autobuild-User(master): Gary Lockyer <gary@samba.org>
Autobuild-Date(master): Thu Jan  9 21:49:00 UTC 2020 on sn-devel-184

4 years agovfs_ceph: assert renameat() fsps match cwd
David Disseldorp [Thu, 9 Jan 2020 17:20:39 +0000 (18:20 +0100)]
vfs_ceph: assert renameat() fsps match cwd

As discussed with Jeremy in bug 14232, the vfs_ceph.renameat_fn
implementation currently ignores srcfsp and dstfsp. As a result,
relative smb_fname_src/smb_fname_dest paths will be processed as
relative to cwd.
This is currently a valid assumption, as srcfsp and dstfsp should
always match conn->cwd_fsp. Add an assert to clarify this.

Signed-off-by: David Disseldorp <ddiss@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Autobuild-User(master): Jeremy Allison <jra@samba.org>
Autobuild-Date(master): Thu Jan  9 20:20:05 UTC 2020 on sn-devel-184

4 years agontlm_auth: Add type-safety instead of a simple cast
Volker Lendecke [Sun, 5 Jan 2020 13:11:54 +0000 (14:11 +0100)]
ntlm_auth: Add type-safety instead of a simple cast

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
4 years agontlm_auth: Add a NULL check
Volker Lendecke [Sun, 5 Jan 2020 13:11:20 +0000 (14:11 +0100)]
ntlm_auth: Add a NULL check

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
4 years agoprinting: Avoid EBADF from EPOLL_CTL_DEL
Volker Lendecke [Thu, 9 Jan 2020 13:43:02 +0000 (14:43 +0100)]
printing: Avoid EBADF from EPOLL_CTL_DEL

TALLOC_FREE the fde before closing the fd. Otherwise the fde
destructor tries to remove a nonexisting fd from the epoll set.

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
4 years agoprinting: Align integer types
Volker Lendecke [Thu, 9 Jan 2020 13:42:43 +0000 (14:42 +0100)]
printing: Align integer types

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
4 years agos3-rpcclient: add clusapi_resume_node command.
Günther Deschner [Mon, 9 May 2016 10:10:22 +0000 (12:10 +0200)]
s3-rpcclient: add clusapi_resume_node command.

Guenther

Signed-off-by: Guenther Deschner <gd@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Autobuild-User(master): Jeremy Allison <jra@samba.org>
Autobuild-Date(master): Thu Jan  9 01:15:34 UTC 2020 on sn-devel-184

4 years agos3-rpcclient: add clusapi_pause_node command.
Günther Deschner [Mon, 9 May 2016 10:07:47 +0000 (12:07 +0200)]
s3-rpcclient: add clusapi_pause_node command.

Guenther

Signed-off-by: Guenther Deschner <gd@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
4 years agos3-rpcclient: give slightly better descriptions to clusapi commands
Günther Deschner [Wed, 8 Jan 2020 16:25:13 +0000 (17:25 +0100)]
s3-rpcclient: give slightly better descriptions to clusapi commands

Guenther

Signed-off-by: Guenther Deschner <gd@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
4 years agolibrpc: pidlify spoolss_EnumPerMachineConnections
Günther Deschner [Mon, 23 Dec 2019 15:53:37 +0000 (16:53 +0100)]
librpc: pidlify spoolss_EnumPerMachineConnections

Guenther

Signed-off-by: Guenther Deschner <gd@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
4 years agolibrpc/ndr: provide infrastructure for NDR_SPOOLSS_{PUSH|PULL}_ENUM macros
Günther Deschner [Tue, 7 Jan 2020 13:58:15 +0000 (14:58 +0100)]
librpc/ndr: provide infrastructure for NDR_SPOOLSS_{PUSH|PULL}_ENUM macros

The new macros allow the same macro convenience for enum functions without
level discriminator.

Guenther

Signed-off-by: Guenther Deschner <gd@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
4 years agolibrpc: better naming for NDR_SPOOLSS_{PUSH|PULL}_ENUM variants
Günther Deschner [Mon, 23 Dec 2019 15:50:28 +0000 (16:50 +0100)]
librpc: better naming for NDR_SPOOLSS_{PUSH|PULL}_ENUM variants

Guenther

Signed-off-by: Guenther Deschner <gd@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
4 years agos4-torture: add test for spoolss_EnumPerMachineConnections
Günther Deschner [Fri, 20 Dec 2019 12:43:25 +0000 (13:43 +0100)]
s4-torture: add test for spoolss_EnumPerMachineConnections

Guenther

Signed-off-by: Guenther Deschner <gd@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
4 years agos4-torture: add test for spoolss AddPerMachineConnection
Günther Deschner [Sun, 22 Sep 2019 01:34:56 +0000 (03:34 +0200)]
s4-torture: add test for spoolss AddPerMachineConnection

Guenther

Signed-off-by: Guenther Deschner <gd@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
4 years agos3-rpcclient: add delpermachineconnection command
Günther Deschner [Sun, 22 Sep 2019 01:34:27 +0000 (03:34 +0200)]
s3-rpcclient: add delpermachineconnection command

Guenther

Signed-off-by: Guenther Deschner <gd@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
4 years agos3-rpcclient: add addpermachineconnection command
Günther Deschner [Mon, 23 Dec 2019 11:42:53 +0000 (12:42 +0100)]
s3-rpcclient: add addpermachineconnection command

Guenther

Signed-off-by: Guenther Deschner <gd@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
4 years agos3-rpcclient: add enumpermachineconnections command
Günther Deschner [Thu, 1 Dec 2016 20:32:18 +0000 (21:32 +0100)]
s3-rpcclient: add enumpermachineconnections command

Guenther

Signed-off-by: Guenther Deschner <gd@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
4 years agos3-rpcclient: properly check and initialize buffers in getdriverpackagepath
Günther Deschner [Thu, 19 Dec 2019 12:49:53 +0000 (13:49 +0100)]
s3-rpcclient: properly check and initialize buffers in getdriverpackagepath

Guenther

Signed-off-by: Guenther Deschner <gd@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
4 years agolibrpc: add IDL for spoolss_EnumPerMachineConnections
Günther Deschner [Thu, 1 Dec 2016 20:31:52 +0000 (21:31 +0100)]
librpc: add IDL for spoolss_EnumPerMachineConnections

Guenther

Signed-off-by: Guenther Deschner <gd@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
4 years agos3-rpcclient: add cmd_spoolss_get_core_printer_drivers
Günther Deschner [Mon, 19 Sep 2016 15:03:44 +0000 (17:03 +0200)]
s3-rpcclient: add cmd_spoolss_get_core_printer_drivers

Guenther

Signed-off-by: Guenther Deschner <gd@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
4 years agolibrpc: fix IDL for spoolss_GetCorePrinterDrivers()
Günther Deschner [Tue, 7 Jan 2020 14:52:40 +0000 (15:52 +0100)]
librpc: fix IDL for spoolss_GetCorePrinterDrivers()

The charset determination makes it more difficult to deal with the real
REG_MULTI_SZ nature of that element.

Guenther

Signed-off-by: Guenther Deschner <gd@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
4 years agos3: lib: dbwrap: Set rec->value_valid to avoid backtrace in `smbstatus`
Anoop C S [Wed, 8 Jan 2020 18:24:24 +0000 (10:24 -0800)]
s3: lib: dbwrap: Set rec->value_valid to avoid backtrace in `smbstatus`

Following backtrace is observed on executing `smbstatus` with at least
one SMB client connection established:

PANIC: assert failed at ../../lib/dbwrap/dbwrap.c(82): rec->value_valid
PANIC (pid 350270): assert failed: rec->value_valid
BACKTRACE: 15 stack frames:
 #0 /usr/local/lib/libsamba-util.so.0(log_stack_trace+0x1f)
[0x7fbbd9b32047]
 #1 /usr/local/lib/libsmbconf.so.0(smb_panic_s3+0x74) [0x7fbbd9c1e6ff]
 #2 /usr/local/lib/libsamba-util.so.0(smb_panic+0x28) [0x7fbbd9b32012]
 #3 /usr/local/lib/samba/libdbwrap-
samba4.so(dbwrap_record_get_value+0x86) [0x7fbbd95800ac]
 #4 /usr/local/lib/samba/libsmbd-base-samba4.so(+0x28f563)
[0x7fbbd999e563]
 #5 /usr/local/lib/samba/libsamba-cluster-support-samba4.so(+0x7851)
[0x7fbbd92c7851]
 #6 /usr/local/lib/samba/libsamba-cluster-support-
samba4.so(ctdbd_traverse+0x4ca) [0x7fbbd92cc641]
 #7 /usr/local/lib/samba/libsamba-cluster-support-samba4.so(+0x73eb)
[0x7fbbd92c73eb]
 #8 /usr/local/lib/samba/libsamba-cluster-support-samba4.so(+0x7a52)
[0x7fbbd92c7a52]
 #9 /usr/local/lib/samba/libdbwrap-samba4.so(dbwrap_traverse_read+0x35)
[0x7fbbd9580de5]
 #10 /usr/local/lib/samba/libsmbd-base-
samba4.so(smbXsrv_tcon_global_traverse+0xc5) [0x7fbbd999e7d9]
 #11 smbstatus(connections_forall_read+0x114) [0x55d17872b8ee]
 #12 smbstatus(main+0x7b2) [0x55d17872a2f3]
 #13 /lib64/libc.so.6(__libc_start_main+0xf3) [0x7fbbd93a21a3]
 #14 smbstatus(_start+0x2e) [0x55d17872894e]
Can not dump core: corepath not set up

Assertion on rec->value_valid fails as it is uninitialized in the
following functions:

traverse_read_callback
traverse_persistent_callback_read

Signed-off-by: Anoop C S <anoopcs@redhat.com>
Reviewed-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Autobuild-User(master): Jeremy Allison <jra@samba.org>
Autobuild-Date(master): Wed Jan  8 23:24:58 UTC 2020 on sn-devel-184

4 years agodocs-xml/winbindnssinfo: clarify interaction with idmap_ad etc.
Björn Jacke [Tue, 7 Jan 2020 09:21:18 +0000 (10:21 +0100)]
docs-xml/winbindnssinfo: clarify interaction with idmap_ad etc.

BUG: https://bugzilla.samba.org/show_bug.cgi?id=14122
RN: docs: clarify interaction between winbind nss info and idmap backend

Signed-off-by: Bjoern Jacke <bjacke@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
Autobuild-User(master): Ralph Böhme <slow@samba.org>
Autobuild-Date(master): Wed Jan  8 15:37:46 UTC 2020 on sn-devel-184

4 years agovfs_gpfs: Update message for requesting sharemode on stream
Christof Schmitt [Mon, 6 Jan 2020 23:08:56 +0000 (16:08 -0700)]
vfs_gpfs: Update message for requesting sharemode on stream

User newer debug macro and print full path to affected file.

Signed-off-by: Christof Schmitt <cs@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Autobuild-User(master): Jeremy Allison <jra@samba.org>
Autobuild-Date(master): Wed Jan  8 01:26:46 UTC 2020 on sn-devel-184

4 years agovfs_gpfs: Log failed gpfs_set_share call as error
Christof Schmitt [Mon, 6 Jan 2020 21:52:14 +0000 (14:52 -0700)]
vfs_gpfs: Log failed gpfs_set_share call as error

Any other error code from gpfs_set_share should never happen. Print a
error message in case this is ever encountered.

Signed-off-by: Christof Schmitt <cs@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
4 years agovfs_gpfs: Print message when share modes are disabled in file system
Christof Schmitt [Mon, 6 Jan 2020 21:49:39 +0000 (14:49 -0700)]
vfs_gpfs: Print message when share modes are disabled in file system

GPFS file systems can be configured without support for share modes. As
this results in an unique error code, print a message explaining this
situation and the required config changes.

Signed-off-by: Christof Schmitt <cs@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
4 years agovfs_gpfs: Explicitly log when share mode has been denied
Christof Schmitt [Mon, 6 Jan 2020 21:42:05 +0000 (14:42 -0700)]
vfs_gpfs: Explicitly log when share mode has been denied

As this denies access to a file, provide a better error message for
easier troubleshooting.

Signed-off-by: Christof Schmitt <cs@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
4 years agovfs_gpfs: Use early return in sharemode function
Christof Schmitt [Mon, 6 Jan 2020 21:40:07 +0000 (14:40 -0700)]
vfs_gpfs: Use early return in sharemode function

This removes one level of indentation.

Signed-off-by: Christof Schmitt <cs@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
4 years agovfs_gpfs: Switch share mode helper function to return int
Christof Schmitt [Mon, 6 Jan 2020 21:25:22 +0000 (14:25 -0700)]
vfs_gpfs: Switch share mode helper function to return int

Follow the convention to return 0 on success and -1 when hitting an
error.

Signed-off-by: Christof Schmitt <cs@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
4 years agovfs_gpfs: Remove logging for unsupported file system
Christof Schmitt [Mon, 6 Jan 2020 21:23:41 +0000 (14:23 -0700)]
vfs_gpfs: Remove logging for unsupported file system

The gpfs_set_share API call has been around for a long time and
definitely all supported GPFS versions have it. Remove the check and
fallback for old versions without this API.

Signed-off-by: Christof Schmitt <cs@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
4 years agovfs_gpfs: Only clear sharemode on close when sharemode has been taken
Christof Schmitt [Mon, 6 Jan 2020 21:14:17 +0000 (14:14 -0700)]
vfs_gpfs: Only clear sharemode on close when sharemode has been taken

This avoids a redundant error message in case the call to acquire the
sharemode had failed before.

Signed-off-by: Christof Schmitt <cs@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
4 years agovfs_gpfs: Log error if clearing of sharemode fails on close
Christof Schmitt [Mon, 6 Jan 2020 21:07:29 +0000 (14:07 -0700)]
vfs_gpfs: Log error if clearing of sharemode fails on close

Signed-off-by: Christof Schmitt <cs@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
4 years agovfs_gpfs: Add comment explaining why sharemode is dropped in close call.
Christof Schmitt [Mon, 6 Jan 2020 21:00:32 +0000 (14:00 -0700)]
vfs_gpfs: Add comment explaining why sharemode is dropped in close call.

Signed-off-by: Christof Schmitt <cs@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
4 years agovfs_gpfs: Remove unncessary check from close function
Christof Schmitt [Mon, 6 Jan 2020 20:53:13 +0000 (13:53 -0700)]
vfs_gpfs: Remove unncessary check from close function

The fsp has a valid file descriptor when this function is called. No
need for the additional check.

Signed-off-by: Christof Schmitt <cs@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
4 years agovfs_gpfs: Cleanup debug message file system share mode
Christof Schmitt [Fri, 3 Jan 2020 19:56:07 +0000 (12:56 -0700)]
vfs_gpfs: Cleanup debug message file system share mode

Use the newer debug macro and the full variable names.

Signed-off-by: Christof Schmitt <cs@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>