vlendec/samba-autobuild/.git
4 years agoauth:tests: Only enable torture_gnutls_aes_128_cfb() on GnuTLS >= 3.6.11
Andreas Schneider [Fri, 6 Dec 2019 07:49:54 +0000 (08:49 +0100)]
auth:tests: Only enable torture_gnutls_aes_128_cfb() on GnuTLS >= 3.6.11

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Isaac Boukris <iboukris@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
4 years agoauth:tests: Improve debug output of test_gnutls
Andreas Schneider [Fri, 6 Dec 2019 07:12:34 +0000 (08:12 +0100)]
auth:tests: Improve debug output of test_gnutls

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Isaac Boukris <iboukris@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
4 years agos3:lib: Move NULL check before messaging_dgm_out_rearm_idle_timer()
Andreas Schneider [Mon, 9 Dec 2019 09:47:46 +0000 (10:47 +0100)]
s3:lib: Move NULL check before messaging_dgm_out_rearm_idle_timer()

We dereference out in messaging_dgm_out_rearm_idle_timer().

Found by covscan.

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Richard Sharpe <realrichardsharpe@gmail.com>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
4 years agos3:smbd: Fix possible NULL deref in smbd_do_qfilepathinfo()
Andreas Schneider [Mon, 9 Dec 2019 09:45:31 +0000 (10:45 +0100)]
s3:smbd: Fix possible NULL deref in smbd_do_qfilepathinfo()

Found by covscan.

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Richard Sharpe <realrichardsharpe@gmail.com>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
4 years agos3:torture: Do not segfault if cli is NULL
Andreas Schneider [Mon, 9 Dec 2019 09:35:55 +0000 (10:35 +0100)]
s3:torture: Do not segfault if cli is NULL

This can happen if we fail early and cli hasn't been initialized yet.

Found by covscan.

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Richard Sharpe <realrichardsharpe@gmail.com>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
4 years agos3:rpc_server: Fix string compare for utmp entries
Andreas Schneider [Mon, 9 Dec 2019 09:22:52 +0000 (10:22 +0100)]
s3:rpc_server: Fix string compare for utmp entries

The members of struct utmp are marked as nonstring. This means they
might not be nil-terminated.

Found by covscan.

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Richard Sharpe <realrichardsharpe@gmail.com>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
4 years agos4:lib: Make sure we close fd's in error path
Andreas Schneider [Mon, 9 Dec 2019 08:58:42 +0000 (09:58 +0100)]
s4:lib: Make sure we close fd's in error path

Found by covscan.

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Richard Sharpe <realrichardsharpe@gmail.com>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
4 years agobuild: Fix the build without system gssapi headers
Volker Lendecke [Mon, 9 Dec 2019 12:49:47 +0000 (13:49 +0100)]
build: Fix the build without system gssapi headers

source4/heimdal/lib/gssapi/gssapi/gssapi_krb5.h and gssapi_spnego.h
have an #include <gssapi.h> which they need to find via the -I paths

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Richard Sharpe <realrichardsharpe@gmail.com>
Reviewed-by: Martin Schwenke <martin@meltin.net>
Autobuild-User(master): Martin Schwenke <martins@samba.org>
Autobuild-Date(master): Tue Dec 10 00:29:55 UTC 2019 on sn-devel-184

4 years agolib: spelling fix
Ralph Boehme [Mon, 9 Dec 2019 17:56:59 +0000 (18:56 +0100)]
lib: spelling fix

Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Richard Sharpe <realrichardsharpe@gmail.com>
Autobuild-User(master): Ralph Böhme <slow@samba.org>
Autobuild-Date(master): Mon Dec  9 19:23:10 UTC 2019 on sn-devel-184

4 years agosmbd: Give a better error message for non-existing share modes
Volker Lendecke [Tue, 3 Dec 2019 20:26:24 +0000 (21:26 +0100)]
smbd: Give a better error message for non-existing share modes

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
Autobuild-User(master): Ralph Böhme <slow@samba.org>
Autobuild-Date(master): Mon Dec  9 17:33:42 UTC 2019 on sn-devel-184

4 years agonet: Extend some debug information
Volker Lendecke [Fri, 29 Nov 2019 14:45:56 +0000 (15:45 +0100)]
net: Extend some debug information

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
4 years agosmbd: Call reopen_logs() in the notifyd
Volker Lendecke [Tue, 3 Dec 2019 12:23:06 +0000 (13:23 +0100)]
smbd: Call reopen_logs() in the notifyd

If you have per-process logfiles with %d, the notifyd will get its
own logfile

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
4 years agosmbd: Call reopen_logs() in the smbd scavenger
Volker Lendecke [Tue, 3 Dec 2019 12:22:06 +0000 (13:22 +0100)]
smbd: Call reopen_logs() in the smbd scavenger

If you have per-process logfiles with %d, the scavenger will get its
own logfile

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
4 years agotorture: Use sizeof() where appropriate
Volker Lendecke [Tue, 3 Dec 2019 11:52:09 +0000 (12:52 +0100)]
torture: Use sizeof() where appropriate

One magic number less that needs to be verified manually

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
4 years agosmbd: Use NULL instead of 0 for a pointer type
Volker Lendecke [Wed, 4 Dec 2019 13:43:02 +0000 (14:43 +0100)]
smbd: Use NULL instead of 0 for a pointer type

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
4 years agolib: add a comment to nt_time_to_full_timespec()
Ralph Boehme [Fri, 6 Dec 2019 16:48:19 +0000 (16:48 +0000)]
lib: add a comment to nt_time_to_full_timespec()

Add a hint explaining why and how -1 should be treated differently in the
future. Also make use of the helper function make_omit_timespec().

Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
4 years agolib: harden full_timespec_to_nt_time()
Ralph Boehme [Fri, 6 Dec 2019 16:45:04 +0000 (16:45 +0000)]
lib: harden full_timespec_to_nt_time()

This protects against overflows when tv_sec is less then
TIME_FIXUP_CONSTANT_INT.

It also correctly limits the range of returned values to be
[NTTIME_MIN, NTTIME_MAX].

Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
4 years agolib: add NTTIME_MAX, NTTIME_MIN, NTTIME_OMIT and NTTIME_FREEZE definitions
Ralph Boehme [Fri, 6 Dec 2019 16:44:37 +0000 (16:44 +0000)]
lib: add NTTIME_MAX, NTTIME_MIN, NTTIME_OMIT and NTTIME_FREEZE definitions

Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
4 years agos3:smbspool: Leave early if we print as root
Andreas Schneider [Fri, 29 Nov 2019 07:28:28 +0000 (08:28 +0100)]
s3:smbspool: Leave early if we print as root

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Guenther Deschner <gd@samba.org>
Autobuild-User(master): Günther Deschner <gd@samba.org>
Autobuild-Date(master): Mon Dec  9 14:18:11 UTC 2019 on sn-devel-184

4 years agos3:smbspool: print a hint about smbspool_krb5_wrapper
Mikhail Novosyolov [Sat, 2 Nov 2019 22:47:51 +0000 (01:47 +0300)]
s3:smbspool: print a hint about smbspool_krb5_wrapper

When I first met with the situation that Kerberos kredentials cache of root
user was looked for instead of the one of the printing task creator,
it took a lot of time to understand that smbspool_krb5_wrapper will resolve this.

Signed-off-by: Mikhail Novosyolov <m.novosyolov@rosalinux.ru>
Reviewed-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Guenther Deschner <gd@samba.org>
4 years agos3:smbspool_krb5_wrapper: ignore unknown values of AUTH_INFO_REQUIRED
Mikhail Novosyolov [Sat, 2 Nov 2019 22:28:13 +0000 (01:28 +0300)]
s3:smbspool_krb5_wrapper: ignore unknown values of AUTH_INFO_REQUIRED

To make smbspool_krb5_wrapper usable as a default destination for symlink
/usr/lib/cups/backend/smb in Linux ditros, it has to be well-prepared
for any possible values of AUTH_INFO_REQUIRED set by cupsd and correctly
pass printing tasks to smbspool if it sees that Kerberos authentication
is not needed.

Discussed here: https://lists.samba.org/archive/samba-technical/2019-October/134470.html

Signed-off-by: Mikhail Novosyolov <m.novosyolov@rosalinux.ru>
Reviewed-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Guenther Deschner <gd@samba.org>
4 years agos3:smbspool_krb5_wrapper: Map AUTH_INFO_REQUIRED=none to anonymous
Andreas Schneider [Mon, 28 Oct 2019 08:38:08 +0000 (09:38 +0100)]
s3:smbspool_krb5_wrapper: Map AUTH_INFO_REQUIRED=none to anonymous

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Guenther Deschner <gd@samba.org>
4 years agos3:smbspool: Map AUTH_INFO_REQUIRED=none to anonymous connection
Andreas Schneider [Mon, 28 Oct 2019 08:35:34 +0000 (09:35 +0100)]
s3:smbspool: Map AUTH_INFO_REQUIRED=none to anonymous connection

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Guenther Deschner <gd@samba.org>
4 years agos3:selfest: Do not print the env twice
Andreas Schneider [Fri, 8 Nov 2019 13:32:44 +0000 (14:32 +0100)]
s3:selfest: Do not print the env twice

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Gary Lockyer <gary@samba.org>
Autobuild-User(master): Andreas Schneider <asn@cryptomilk.org>
Autobuild-Date(master): Mon Dec  9 11:57:52 UTC 2019 on sn-devel-184

4 years agos3:tests: Remove the -I SERVER_IP so that Kerberos auth works
Andreas Schneider [Wed, 6 Nov 2019 14:54:45 +0000 (14:54 +0000)]
s3:tests: Remove the -I SERVER_IP so that Kerberos auth works

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Gary Lockyer <gary@samba.org>
4 years agodocs-xml/Samba-Developers-Guide/vfs.xml: Fix incorrect VFS func names.
Richard Sharpe [Fri, 6 Dec 2019 05:07:11 +0000 (00:07 -0500)]
docs-xml/Samba-Developers-Guide/vfs.xml: Fix incorrect VFS func names.

Use SMB_VFS_P{READ,WRITE} since the others have been retired.

Also, fix up the definitions.

Signed-off-by: Richard Sharpe <realrichardsharpe@gmail.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): Sun Dec  8 21:50:52 UTC 2019 on sn-devel-184

4 years agos4:smbtorture: also test for date >> UINT32_MAX in timestamps test
Ralph Boehme [Fri, 6 Dec 2019 10:27:22 +0000 (10:27 +0000)]
s4:smbtorture: also test for date >> UINT32_MAX in timestamps test

Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
4 years agosmbd: Fix a share_entries.tdb record leak
Volker Lendecke [Tue, 3 Dec 2019 20:27:09 +0000 (21:27 +0100)]
smbd: Fix a share_entries.tdb record leak

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
4 years agosmbd: Test cleanup of disconnected durable handle records
Volker Lendecke [Tue, 3 Dec 2019 20:33:28 +0000 (21:33 +0100)]
smbd: Test cleanup of disconnected durable handle records

Right now this panics the scavenger daemon, preventing it from doing
its work. The reopen we expect to fail with
NT_STATUS_OBJECT_NAME_NOT_FOUND thus succeeds. I know that we should
more precisely detect the scavenger crash and with Jeremy's pattern in
46899ecf836 this would be possible. However, this is C code right now,
and scanning the logfile for the panic is more I have time for right
now. The test successfully indicates failure, as the next commit will
show.

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
4 years agoselftest: Make durable_v2_delay more specific
Volker Lendecke [Fri, 6 Dec 2019 14:34:25 +0000 (15:34 +0100)]
selftest: Make durable_v2_delay more specific

It will grow another subtest soon

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
4 years agosmbd: Panic if there's a leak in share_entries.tdb
Volker Lendecke [Tue, 3 Dec 2019 11:44:18 +0000 (12:44 +0100)]
smbd: Panic if there's a leak in share_entries.tdb

Hopefully dbwrap_tdb's dbwrap_exists is cheap enough for this to not
impact performance too much. I could not measure any difference in an
open/close benchmark, but at some point things might pile up and we
might have to make this a #ifdef DEVELOPER

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
4 years agobuild: Trim the deps of 'smbconf'
Volker Lendecke [Fri, 6 Dec 2019 12:30:05 +0000 (13:30 +0100)]
build: Trim the deps of 'smbconf'

This does not pull in gensec anymore

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
4 years agobuild: util_cmdline depends on cli_credentials
Volker Lendecke [Fri, 6 Dec 2019 12:49:55 +0000 (13:49 +0100)]
build: util_cmdline depends on cli_credentials

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
4 years agobuild: secrets3 need E_md4hash and kerberos functions
Volker Lendecke [Fri, 6 Dec 2019 12:48:20 +0000 (13:48 +0100)]
build: secrets3 need E_md4hash and kerberos functions

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
4 years agosmbd: Make lp_use_sendfile() static to reply.c
Volker Lendecke [Fri, 6 Dec 2019 12:25:21 +0000 (13:25 +0100)]
smbd: Make lp_use_sendfile() static to reply.c

This is the only place where it's used. Also, via
smb_signing_is_active it pulls in the dependency on
'cli_smb_common' (which pulls in all of gensec) into the 'smbconf'
library. Without this, 'smbconf' is happy with just 'samba-hostconfig'
instead of 'cli_smb_common'

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
4 years agobuild: Explicitly depend on samba-modules where needed
Volker Lendecke [Fri, 6 Dec 2019 12:20:36 +0000 (13:20 +0100)]
build: Explicitly depend on samba-modules where needed

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
4 years agobuild: gencache.c in 'samba3core' needs crc32()
Volker Lendecke [Fri, 6 Dec 2019 12:18:07 +0000 (13:18 +0100)]
build: gencache.c in 'samba3core' needs crc32()

This comes from zlib, make the dependency explicit

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
4 years agobuild: libcli/http does not need samba3core, only gensec
Volker Lendecke [Fri, 6 Dec 2019 12:16:44 +0000 (13:16 +0100)]
build: libcli/http does not need samba3core, only gensec

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
4 years agobuild: messaging.c uses talloc_report_printf()
Volker Lendecke [Fri, 6 Dec 2019 12:40:00 +0000 (13:40 +0100)]
build: messaging.c uses talloc_report_printf()

This used to be talloc_report_str()

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
4 years agobuild: Multi-line a long list of deps
Volker Lendecke [Fri, 6 Dec 2019 12:39:18 +0000 (13:39 +0100)]
build: Multi-line a long list of deps

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
4 years agoldb:tests: Add missing null check for ldb_kv_private
Andreas Schneider [Thu, 5 Dec 2019 16:17:42 +0000 (17:17 +0100)]
ldb:tests: Add missing null check for ldb_kv_private

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Gary Lockyer <gary@samba.org>
Autobuild-User(master): Andreas Schneider <asn@cryptomilk.org>
Autobuild-Date(master): Fri Dec  6 11:13:24 UTC 2019 on sn-devel-184

4 years agoldb:tests: Add missing size check for tdb
Andreas Schneider [Thu, 5 Dec 2019 16:15:01 +0000 (17:15 +0100)]
ldb:tests: Add missing size check for tdb

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Gary Lockyer <gary@samba.org>
4 years agoldb:tests: Use assert_in_range() in test_get_size()
Andreas Schneider [Thu, 5 Dec 2019 16:14:31 +0000 (17:14 +0100)]
ldb:tests: Use assert_in_range() in test_get_size()

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Gary Lockyer <gary@samba.org>
4 years agoldb: Avoid a possible NULL pointer dereference
Andreas Schneider [Thu, 5 Dec 2019 16:02:39 +0000 (17:02 +0100)]
ldb: Avoid a possible NULL pointer dereference

Found by cppcheck.

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Gary Lockyer <gary@samba.org>
4 years agoWHATSNEW: document SMB_VFS_NTIMES() interface change
Ralph Boehme [Tue, 3 Dec 2019 17:46:25 +0000 (18:46 +0100)]
WHATSNEW: document SMB_VFS_NTIMES() interface change

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

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): Fri Dec  6 01:45:21 UTC 2019 on sn-devel-184

4 years agosmbd: fix handling of sentinel timestamp values
Ralph Boehme [Mon, 2 Dec 2019 15:30:50 +0000 (16:30 +0100)]
smbd: fix handling of sentinel timestamp values

This implements two core changes:

* use NTTIME instead of struct timespec at the database layer

* use struct timespec { .tv_nsec = SAMBA_UTIME_OMIT } as special sentinel
  value in smbd when processing timestamps

Using NTTIME at the database layer is only done to avoid storing the special
struct timespec sentinel values on disk. Instead, with NTTIME the sentinel value
for an "unset" timestamp is just 0 on-disk.

The NTTIME value of 0 gets translated by nt_time_to_full_timespec() to the
struct timespec sentinel value { .tv_nsec = SAMBA_UTIME_OMIT }.

The function is_omit_timespec() can be used to check this.

Beside nt_time_to_full_timespec(), there are various other new time conversion
functions with *full* in their name that can be used to safely convert between
different types with the changed sentinel value.

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

Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
4 years agos3: add init_smb_file_time()
Ralph Boehme [Mon, 2 Dec 2019 15:21:42 +0000 (16:21 +0100)]
s3: add init_smb_file_time()

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

Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
4 years agosmbclient: use cli_setpathinfo_ext() in utimes command
Ralph Boehme [Sun, 1 Dec 2019 08:01:20 +0000 (09:01 +0100)]
smbclient: use cli_setpathinfo_ext() in utimes command

This allows correct processing of sentinel date values.

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

Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
4 years agolibsmb: add cli_setpathinfo_ext()
Ralph Boehme [Sun, 1 Dec 2019 08:01:13 +0000 (09:01 +0100)]
libsmb: add cli_setpathinfo_ext()

This takes a struct timespec instead of just time_t as cli_setpathinfo_basic()
does. This is needed to pass sentinel values -1 in the smbclient utime command.

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

Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
4 years agosmbclient: use full_timespec_to_nt_time()
Ralph Boehme [Tue, 3 Dec 2019 17:36:38 +0000 (18:36 +0100)]
smbclient: use full_timespec_to_nt_time()

Needed to support dates corresponding to (time_t)0 and (time_t)-1.

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

Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
4 years agos3:lib: use nt_time_to_full_timespec() in interpret_long_date()
Ralph Boehme [Fri, 29 Nov 2019 16:17:08 +0000 (16:17 +0000)]
s3:lib: use nt_time_to_full_timespec() in interpret_long_date()

interpret_long_date() is now only used in the client. To enable correct
processing of dates before the UNIX epoch, call nt_time_to_full_timespec().

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

Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
4 years agosmbd: use pull_long_date_full_timespec()
Ralph Boehme [Tue, 3 Dec 2019 08:55:47 +0000 (09:55 +0100)]
smbd: use pull_long_date_full_timespec()

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

Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
4 years agos3:lib: add pull_long_date_full_timespec()
Ralph Boehme [Thu, 5 Dec 2019 14:26:07 +0000 (15:26 +0100)]
s3:lib: add pull_long_date_full_timespec()

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

Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
4 years agosmbd: use put_long_date_full_timespec()
Ralph Boehme [Sat, 30 Nov 2019 20:29:07 +0000 (21:29 +0100)]
smbd: use put_long_date_full_timespec()

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

Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
4 years agos3:lib: add put_long_date_full_timespec()
Ralph Boehme [Fri, 29 Nov 2019 15:28:54 +0000 (15:28 +0000)]
s3:lib: add put_long_date_full_timespec()

put_long_date_full_timespec() will be used in the fileserver to marshall struct
timespec timestamps that are sent to the client. By using
full_timespec_to_nt_time() which supports tv_sec=0 and negative values, we can
return timestamps to clients with a date before the UNIX epoch.

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

Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
4 years agos3:lib: let round_timespec() handle SAMBA_UTIME_OMIT
Ralph Boehme [Thu, 28 Nov 2019 15:46:27 +0000 (15:46 +0000)]
s3:lib: let round_timespec() handle SAMBA_UTIME_OMIT

This ensures callers are not required to do the check themselves and we don't
clobber omit-timespecs in this function.

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

Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
4 years agolib: canonicalize pull_dos_date3()
Ralph Boehme [Fri, 29 Nov 2019 08:43:21 +0000 (08:43 +0000)]
lib: canonicalize pull_dos_date3()

Returns 0xFFFFFFFF as (time_t)-1. This avoids misenterpreting 0xFFFFFFFF as a
valid time_t value (0xFFFFFFFF = Sun 07 Feb 2106 06:28:15 AM GMT) on 64-bit
platforms where time_t is 64-bit.

Currently direct and indirect callers of pull_dos_date3() rely on the fact that
the resulting time_t is checked with null_time() which also checks for
0xFFFFFFFF as sentinel value amongst 0 and -1:

        return t == 0 ||
                t == (time_t)0xFFFFFFFF ||
                t == (time_t)-1;

By returning -1 instead of 0xFFFFFFFF, callers can safely pass the result to
unix_to_nt_time() which *doesn't* check for 0xFFFFFFFF, only -1.

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

Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
4 years agolib: add time_t_to_full_timespec()
Ralph Boehme [Wed, 4 Dec 2019 14:05:19 +0000 (15:05 +0100)]
lib: add time_t_to_full_timespec()

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

Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
4 years agolib: add timespec_string_buf()
Ralph Boehme [Wed, 27 Nov 2019 15:31:50 +0000 (15:31 +0000)]
lib: add timespec_string_buf()

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

Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
4 years agolib: use nt_time_to_unix_full() in nt_time_string()
Ralph Boehme [Fri, 22 Nov 2019 10:47:22 +0000 (11:47 +0100)]
lib: use nt_time_to_unix_full() in nt_time_string()

This enables printing time values before the UNIX epoch coming in over the wire
in smbclient allinfo command.

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

Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
4 years agolib: add nt_time_to_full_time_t()
Ralph Boehme [Thu, 5 Dec 2019 14:07:51 +0000 (15:07 +0100)]
lib: add nt_time_to_full_time_t()

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

Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
4 years agolib: add full_timespec_to_time_t()
Ralph Boehme [Wed, 4 Dec 2019 11:46:11 +0000 (12:46 +0100)]
lib: add full_timespec_to_time_t()

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

Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
4 years agolib: add nt_time_to_full_timespec()
Ralph Boehme [Thu, 5 Dec 2019 14:00:19 +0000 (15:00 +0100)]
lib: add nt_time_to_full_timespec()

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

Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
4 years agotorture: add a timestamps torture testsuite
Ralph Boehme [Thu, 21 Nov 2019 15:47:33 +0000 (16:47 +0100)]
torture: add a timestamps torture testsuite

Add a test that shows that setting timestamps to the special
values (time_t) 4294967295, 0, -1 and anything below is broken.

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

Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
4 years agolib: add full_timespec_to_nt_time()
Ralph Boehme [Wed, 4 Dec 2019 11:11:05 +0000 (12:11 +0100)]
lib: add full_timespec_to_nt_time()

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

Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
4 years agolib: add functions dealing with struct timespec UTIME_OMIT
Ralph Boehme [Tue, 26 Nov 2019 17:22:17 +0000 (17:22 +0000)]
lib: add functions dealing with struct timespec UTIME_OMIT

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

Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
4 years agolib: provide UTIME_NOW|OMIT defines under our own namespace
Ralph Boehme [Wed, 27 Nov 2019 11:28:30 +0000 (11:28 +0000)]
lib: provide UTIME_NOW|OMIT defines under our own namespace

We may want to add additional defines in the future in order to deal with
NTTIME(-1) and NTTIME(-2) coming in over the wire. They have special semantics
attached to them, -1 requests "no automatic write time updates" on a filehandle
and -2 reenables them.

We could use something like

  #define SAMBA_UTIME_FREEZE (SAMBA_UTIME_OMIT - 1)
  #define SAMBA_UTIME_THAW (SAMBA_UTIME_FREEZE - 1)

in the future.

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

Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
4 years agoreplace: ensure UTIME_NOW and UTIME_OMIT are always available
Ralph Boehme [Wed, 27 Nov 2019 11:28:08 +0000 (11:28 +0000)]
replace: ensure UTIME_NOW and UTIME_OMIT are always available

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

Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
4 years agos3:tests: add a blackbox test that confirms broken timestamp behaviour
Ralph Boehme [Thu, 21 Nov 2019 15:44:37 +0000 (16:44 +0100)]
s3:tests: add a blackbox test that confirms broken timestamp behaviour

This blackbox test confirms that Samba returns NTTIME=0 when a filesystem object
has a UNIX timestamp value of 0, ie UNIX epoch start 1.1.1970.

Here's an example output from running smbstatus allinfo on such a file:

  $ bin/smbclient -U slow%x //localhost/test -c "allinfo time_0_1970"
  altname: T11662~T
  create_time:    NTTIME(0)
  access_time:    NTTIME(0)
  write_time:     NTTIME(0)
  change_time:    NTTIME(0)
  attributes:  (80)
  stream: [::$DATA], 0 bytes

If you look at it with smbclient ls command, it munges the output to be 1970 so
you don't notice the problem:

  $ bin/smbclient -U slow%x //localhost/test -c "ls time_0_1970"
    time_0_1970                         N        0  Thu Jan  1 01:00:00 1970

The test also test other time_t values -1 and 4294967295 that are used as
sentinel values in Samba code and shows that handling these values is equally
broken.

Same for time_t values < -1.

Note that I'm adding a blackbox test *and* a torture test, as with this blackbox
test I can directly control the server side, but with smbtorture I have to go
through the SMB stack to create the files which doesn't work currently.

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

Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
4 years agos3:lib: remove unused uint64s_nt_time_to_unix_abs()
Ralph Boehme [Thu, 21 Nov 2019 11:29:51 +0000 (12:29 +0100)]
s3:lib: remove unused uint64s_nt_time_to_unix_abs()

Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
4 years agobootstrap: add debian10 support
Stefan Metzmacher [Wed, 4 Dec 2019 11:10:27 +0000 (12:10 +0100)]
bootstrap: add debian10 support

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
Autobuild-User(master): Stefan Metzmacher <metze@samba.org>
Autobuild-Date(master): Fri Dec  6 00:16:45 UTC 2019 on sn-devel-184

4 years agobootstrap: use runners with 'docker' and 'gce' tags for the image creation
Stefan Metzmacher [Wed, 4 Dec 2019 18:52:56 +0000 (19:52 +0100)]
bootstrap: use runners with 'docker' and 'gce' tags for the image creation

As we currently have the 'shared' tag on our private runners, they
maybe selected for image creation, but it fails there.

A lot of shared runners provide 'docker' and 'gce' and they are able to
generate the images.

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
4 years agos3:locking: simplify code in get_share_mode_lock()
Ralph Boehme [Thu, 28 Nov 2019 10:18:29 +0000 (10:18 +0000)]
s3:locking: simplify code in get_share_mode_lock()

The call to get_static_share_mode_data() is identical in the if/else branches,
so move it behind them.

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 Dec  5 20:12:23 UTC 2019 on sn-devel-184

4 years agos4/smb_server: Fix handling of SMB2 messages after Netbios session setup
Noel Power [Wed, 20 Nov 2019 16:32:59 +0000 (16:32 +0000)]
s4/smb_server: Fix handling of SMB2 messages after Netbios session setup

On receiving a special NBT packet (e.g. session setup) the samba daemon
effectively sets up SMB1 as the negotiated protocol (in terms of
software handling of the messages) even though no SMB protocol
has yet been negotiated. If the next message after the nbt session setup
is a SMB2 message it will be handled by the SMB1 callbacks and will be
rejected. This is evident when using smbclient (with -p 139) option
in an env where SMB1 cannot be negotiated [*]

This change doesn't set up the SMB1 callbacks on receipt of NBT special
messages but lets the generic callback in place. Once either SMB1 (or)
SMB2 is established (by receipt of a 'real' SMB or >=SMB2 message) then
the proper callbacks will be set as normal.

Signed-off-by: Noel Power <noel.power@suse.com>
Reviewed-by: Ralph Boehme <slow@samba.org>
Autobuild-User(master): Ralph Böhme <slow@samba.org>
Autobuild-Date(master): Thu Dec  5 18:44:40 UTC 2019 on sn-devel-184

4 years agos3/utils: Make sure we can negotiate protocol based on smb.conf settings
Noel Power [Fri, 22 Nov 2019 17:01:45 +0000 (17:01 +0000)]
s3/utils: Make sure we can negotiate protocol based on smb.conf settings

net_rpc_check was hardcoded to check for rpc using SMB1 only. We
should negotiate protocols based on the client max|min protocol settings

this commit also removes the entry for
   samba3.blackbox.net.misc.lookup share list

from knownfails as this test should now pass following this change.

Signed-off-by: Noel Power <noel.power@suse.com>
Reviewed-by: Ralph Boehme <slow@samba.org>
4 years agos3/script/tests: Add simple test for net share list
Noel Power [Fri, 22 Nov 2019 16:53:08 +0000 (16:53 +0000)]
s3/script/tests: Add simple test for net share list

Adding a test for the net share list command. Currently this
command will fail because of a bug in the net command when it tries
to see if rpc is supported. This change adds a known fail to swallow
this error. A future commit will fix the net command and remove the
known fail

Signed-off-by: Noel Power <noel.power@suse.com>
Reviewed-by: Ralph Boehme <slow@samba.org>
4 years agos3/utils: net time always hardcoded to use SMB1
Noel Power [Tue, 19 Nov 2019 12:38:18 +0000 (12:38 +0000)]
s3/utils: net time always hardcoded to use SMB1

net time ... cmd ignores any configuration to do with min/max protocols
and connects allways with smb1

Signed-off-by: Noel Power <noel.power@suse.com>
Reviewed-by: Ralph Boehme <slow@samba.org>
4 years agos3/script/tests: Use protocol param passed to selectively run tests
Noel Power [Thu, 21 Nov 2019 12:31:31 +0000 (12:31 +0000)]
s3/script/tests: Use protocol param passed to selectively run tests

samba3.blackbox.smbclient_s3 passes NT1 or SMB3 to run tests however
the PROTOCOL param is not used consistently within the script which
results in NT1 and SMB3 traffic being produced during testing. This
obviously causes issues when running the tests in an test environment
where SMB1 cannot be negiotiated. These changes fix this

Signed-off-by: Noel Power <noel.power@suse.com>
Reviewed-by: Ralph Boehme <slow@samba.org>
4 years agos3/selftest: allow samba3.blackbox.smbclient_ntlm.plain run SMB1 & SMB3
Noel Power [Wed, 27 Nov 2019 20:06:10 +0000 (20:06 +0000)]
s3/selftest: allow samba3.blackbox.smbclient_ntlm.plain run SMB1 & SMB3

samba3.blackbox.smbclient_ntlm.plain used test SMB3 & NT1 protocols
in one test. These changes:
  *  modify the test driver script test_smbclient_ntlm.sh to take a
     protocol as param
  *  modify the test description generators to pass NT1 & SMB3

Signed-off-by: Noel Power <noel.power@suse.com>
Reviewed-by: Ralph Boehme <slow@samba.org>
4 years agos3/selftest: run samba3.blackbox.preserve_case with SMB1 & >=SMB2
Noel Power [Wed, 27 Nov 2019 19:44:23 +0000 (19:44 +0000)]
s3/selftest: run samba3.blackbox.preserve_case with SMB1 & >=SMB2

adjust test generators to run SMB1 & >=SMB2 versions of
samba3.blackbox.preserve_case test.

Signed-off-by: Noel Power <noel.power@suse.com>
Reviewed-by: Ralph Boehme <slow@samba.org>
4 years agos3/script/tests: Allow test script to accept option protocol list
Noel Power [Tue, 19 Nov 2019 15:45:35 +0000 (15:45 +0000)]
s3/script/tests: Allow test script to accept option protocol list

test_preserve_case.sh tests a range of protocols, this however
fails when running against the normal test env (which have min
protocol of SMB2) because one of the protocols is NT1. This change
allows tests to pass the protocol (or list of protocols) so that
tests can be split.

Signed-off-by: Noel Power <noel.power@suse.com>
Reviewed-by: Ralph Boehme <slow@samba.org>
4 years agos3/selftest: Run samba3.blackbox.net.misc with smb1/smb2
Ralph Boehme [Thu, 5 Dec 2019 10:05:57 +0000 (11:05 +0100)]
s3/selftest: Run samba3.blackbox.net.misc with smb1/smb2

samba3.blackbox.net.misc now can run with >=SMB2 or SMB1 protocols,
adjust previous test definition and add new one

Signed-off-by: Noel Power <noel.power@suse.com>
Reviewed-by: Ralph Boehme <slow@samba.org>
4 years agos3/selftest: split SMB1 & SMB2 parts of samba3.blackbox.dfree_quota
Noel Power [Wed, 27 Nov 2019 19:37:26 +0000 (19:37 +0000)]
s3/selftest: split SMB1 & SMB2 parts of samba3.blackbox.dfree_quota

samba3.blackbox.dfree_quota was almost exclusively a SMB3 test, only
one part was testing legacy SMB1 behaviour, this change splits this
out so the SMB1 part can be run independantly.

Signed-off-by: Noel Power <noel.power@suse.com>
Reviewed-by: Ralph Boehme <slow@samba.org>
4 years agos3/script/tests: Prepare to split samba3.blackbox.net.misc for SMB1/SMB2
Noel Power [Tue, 19 Nov 2019 14:11:21 +0000 (14:11 +0000)]
s3/script/tests: Prepare to split samba3.blackbox.net.misc for SMB1/SMB2

modify test_net_misc.sh to accept optional protocol, no protocol
specified and it behaves more or less as before (expect this time the
client max protocol is explicitly speficied)

Signed-off-by: Noel Power <noel.power@suse.com>
Reviewed-by: Ralph Boehme <slow@samba.org>
4 years agos3/selftest: allow samba3.blackbox.dfree_command run NT1 & SMB3 tests
Noel Power [Wed, 27 Nov 2019 19:25:49 +0000 (19:25 +0000)]
s3/selftest: allow samba3.blackbox.dfree_command run NT1 & SMB3 tests

samba3.blackbox.dfree_command was a single test that run both NT1 &
SMB3 tests together. This allow the protocol to be passed into the test
script so the test can be divided into SMB1 & >=SM2 tests.

Signed-off-by: Noel Power <noel.power@suse.com>
Reviewed-by: Ralph Boehme <slow@samba.org>
4 years agoselftest: fix a flapping test
Ralph Boehme [Thu, 5 Dec 2019 09:38:17 +0000 (10:38 +0100)]
selftest: fix a flapping test

The previous approach of using ls | grep $NAME for testing whether the previous
directory removal succeeded will fail in case $NAME is a substring of any
directory entrie's name.

Eg

  NAME=tmp.123

and the directory contains an unrelated entry

  tmp.123456

Using allinfo instead should fix this.

Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
4 years agoldb:tests: Allow test filtering in ldb_mod_op_test
Andreas Schneider [Wed, 4 Dec 2019 12:54:04 +0000 (13:54 +0100)]
ldb:tests: Allow test filtering in ldb_mod_op_test

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Isaac Boukris <iboukris@samba.org>
Autobuild-User(master): Andreas Schneider <asn@cryptomilk.org>
Autobuild-Date(master): Thu Dec  5 17:13:36 UTC 2019 on sn-devel-184

4 years agoldb:tests: Avoid that the debug function overwrites memory
Andreas Schneider [Wed, 4 Dec 2019 12:29:26 +0000 (13:29 +0100)]
ldb:tests: Avoid that the debug function overwrites memory

We are setting ldb_debug_string() as the ldb debug function. The context
we give it is only valid as long as we're in that function.

On failure, we jump to the teardown function. The pointer for
debug_string isn't valid anymore, but the ldb debug system still points
to that address, and when we store the location of the allocated string,
we overwrite memory, in that case something from talloc and a
talloc_free() then jumps into the nirvana.

Thanks to Florian Weimer who helped debugging this.

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Isaac Boukris <iboukris@samba.org>
4 years agos3: smbd: Only set xconn->smb1.negprot.done = true after supported_protocols[protocol...
Jeremy Allison [Tue, 26 Nov 2019 20:53:09 +0000 (12:53 -0800)]
s3: smbd: Only set xconn->smb1.negprot.done = true after supported_protocols[protocol].proto_reply_fn() succeeds.

Otherwise we can end up with negprot.done set, but
without smbXsrv_connection_init_tables() being called.

This can cause a client self-crash.

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

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): Wed Dec  4 21:27:24 UTC 2019 on sn-devel-184

4 years agopython: tests. Add test for fuzzing smbd crash bug.
Jeremy Allison [Tue, 3 Dec 2019 01:23:21 +0000 (17:23 -0800)]
python: tests. Add test for fuzzing smbd crash bug.

Mark knownfail for now.

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

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
4 years agos3: smbd: Ensure we exit if supported_protocols[protocol].proto_reply_fn() fails.
Jeremy Allison [Tue, 26 Nov 2019 20:46:16 +0000 (12:46 -0800)]
s3: smbd: Ensure we exit if supported_protocols[protocol].proto_reply_fn() fails.

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

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
4 years agos3: smbd: Change (*proto_reply_fn()) to return an NTSTATUS.
Jeremy Allison [Tue, 26 Nov 2019 20:43:25 +0000 (12:43 -0800)]
s3: smbd: Change (*proto_reply_fn()) to return an NTSTATUS.

That way the caller can know if the negprot really
succeeded or not.

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

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
4 years agos3: smbd: Change reply_smb20xx() to return NTSTATUS.
Jeremy Allison [Tue, 26 Nov 2019 20:21:06 +0000 (12:21 -0800)]
s3: smbd: Change reply_smb20xx() to return NTSTATUS.

Not yet used.

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

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
4 years agos3: smbd: Ensure we exit on smbd_smb2_process_negprot() fail.
Jeremy Allison [Tue, 26 Nov 2019 20:17:29 +0000 (12:17 -0800)]
s3: smbd: Ensure we exit on smbd_smb2_process_negprot() fail.

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

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
4 years agos3: smbd: Allow smbd_smb2_process_negprot() to return NTSTATUS as it can fail.
Jeremy Allison [Tue, 26 Nov 2019 20:14:29 +0000 (12:14 -0800)]
s3: smbd: Allow smbd_smb2_process_negprot() to return NTSTATUS as it can fail.

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

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
4 years agopidl: don't export parser class methods
Douglas Bagnall [Sun, 1 Dec 2019 09:41:06 +0000 (22:41 +1300)]
pidl: don't export parser class methods

These methods are not used or usable as exported functions. The
correct (and actual) usage is along these lines;

    require Parse::Pidl::Samba3::ClientNDR;
    my $generator = new Parse::Pidl::Samba3::ClientNDR();
    my ($c_code,$h_code) = $generator->Parse($ndr, $header, $c_header);

where the methods are either explicitly referenced (new A::B::C),
or are called from the blessed object, neither of which need
exporting.

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): Wed Dec  4 06:35:06 UTC 2019 on sn-devel-184

4 years agopidl s4/TDR: use Parse::Pidl::Base
Douglas Bagnall [Sat, 30 Nov 2019 03:59:31 +0000 (16:59 +1300)]
pidl s4/TDR: use Parse::Pidl::Base

Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
4 years agopidl s4/TDR: use conventional ->{res} name
Douglas Bagnall [Sun, 1 Dec 2019 04:43:20 +0000 (17:43 +1300)]
pidl s4/TDR: use conventional ->{res} name

rather than ->{ret}, meaning this class can be moved to a Pidl::Base subclass

Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
4 years agopidl: s4/NDR/Parser uses Pidl::Base
Douglas Bagnall [Sat, 30 Nov 2019 03:55:15 +0000 (16:55 +1300)]
pidl: s4/NDR/Parser uses Pidl::Base

Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
4 years agopidl s4/NDR/Client: use Pidl::Base
Douglas Bagnall [Sat, 30 Nov 2019 03:49:06 +0000 (16:49 +1300)]
pidl s4/NDR/Client: use Pidl::Base

Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>