sfrench/samba-autobuild/.git
5 years agomake: Add gdbtestenv target.
Andreas Schneider [Tue, 1 Jul 2014 13:05:21 +0000 (15:05 +0200)]
make: Add gdbtestenv target.

This starts the sever components in a xterm with gdb.

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
5 years agos3:winbindd - fix bad bugfix for bug #10280 - winbind panic if AD server is down.
Jeremy Allison [Wed, 2 Jul 2014 03:27:11 +0000 (20:27 -0700)]
s3:winbindd - fix bad bugfix for bug #10280 - winbind panic if AD server is down.

Previous bug fix reversed the sense of the test for out of memory.

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

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
5 years agosmbd: Fix some typos
Volker Lendecke [Mon, 30 Jun 2014 08:32:29 +0000 (08:32 +0000)]
smbd: Fix some typos

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): Wed Jul  2 02:25:47 CEST 2014 on sn-devel-104

5 years agosmbd: Remove an unused variable
Volker Lendecke [Mon, 30 Jun 2014 09:44:26 +0000 (09:44 +0000)]
smbd: Remove an unused variable

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
5 years agosmbd: Clarify smb2 lock checks
Volker Lendecke [Mon, 30 Jun 2014 09:39:20 +0000 (09:39 +0000)]
smbd: Clarify smb2 lock checks

When reading the code it was not immediately clear to me how one of the
conditions in [MS-SMB2] 3.3.5.14.2 was satisfied. A separate loop to me
is clearer and given that we don't expect thousands of locks in a single
call also not significantly less efficient.

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
5 years agotorture: Add a check to verify MS-SMB2 3.3.5.14.2
Volker Lendecke [Mon, 30 Jun 2014 09:37:47 +0000 (09:37 +0000)]
torture: Add a check to verify MS-SMB2 3.3.5.14.2

If we have more than one lock and there is any blocking lock, we need
to fail with NT_STATUS_INVALID_PARAMETER. At a quick glance I did not
find this tested, so add it.

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
5 years agolibcli: Remove an unused variable
Volker Lendecke [Mon, 30 Jun 2014 18:53:29 +0000 (18:53 +0000)]
libcli: Remove an unused variable

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): Tue Jul  1 00:43:18 CEST 2014 on sn-devel-104

5 years agosmbd: validate_lock_entries does not need mem_ctx anymore
Volker Lendecke [Sun, 29 Jun 2014 09:38:35 +0000 (11:38 +0200)]
smbd: validate_lock_entries does not need mem_ctx anymore

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
5 years agosmbd: Simplify validate_lock_entries
Volker Lendecke [Sun, 29 Jun 2014 09:36:24 +0000 (11:36 +0200)]
smbd: Simplify validate_lock_entries

Signed-off-by: Volker Lendecke <vl@samba.org>
5 years agosmbd: Factor out brl_delete_lock_struct
Volker Lendecke [Sun, 29 Jun 2014 09:31:18 +0000 (11:31 +0200)]
smbd: Factor out brl_delete_lock_struct

memmove calculations are never nice, and this is going to be used in
validate_lock_entries soon :-)

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
5 years agosmbd: Simplify validate_lock_entries
Volker Lendecke [Sun, 29 Jun 2014 09:22:13 +0000 (11:22 +0200)]
smbd: Simplify validate_lock_entries

... saves >100 bytes object code :-)

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
5 years agotorture3: Add some brlock entries in cleanup2
Volker Lendecke [Sun, 29 Jun 2014 09:07:08 +0000 (11:07 +0200)]
torture3: Add some brlock entries in cleanup2

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
5 years agosmbstatus: Fix an uninitialized variable
Volker Lendecke [Sun, 29 Jun 2014 08:56:03 +0000 (08:56 +0000)]
smbstatus: Fix an uninitialized variable

We only print valid share mode entries, stale ones don't count. In
traverse, let the callback decide about staleness.

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

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
5 years agolibcli: Make cli_smb2_close_fnum async
Volker Lendecke [Fri, 27 Jun 2014 09:47:36 +0000 (09:47 +0000)]
libcli: Make cli_smb2_close_fnum async

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
5 years agolib: Align nt_time_to_unix_timespec with unix_timespec_to_nt_time
Volker Lendecke [Wed, 18 Jun 2014 12:21:06 +0000 (12:21 +0000)]
lib: Align nt_time_to_unix_timespec with unix_timespec_to_nt_time

Both take and return values now

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
5 years agolib: Align unix_timespec_to_nt_time with nt_time_to_unix_timespec
Volker Lendecke [Wed, 18 Jun 2014 12:21:06 +0000 (12:21 +0000)]
lib: Align unix_timespec_to_nt_time with nt_time_to_unix_timespec

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
5 years agolibcli: Make smb2cli_create return blobs
Volker Lendecke [Fri, 27 Jun 2014 09:32:34 +0000 (09:32 +0000)]
libcli: Make smb2cli_create return blobs

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
5 years agovfs_snapper: use a talloc hierarchy for arrays
David Disseldorp [Mon, 30 Jun 2014 12:40:14 +0000 (14:40 +0200)]
vfs_snapper: use a talloc hierarchy for arrays

Currently the config and snapshot array entries are freed individually.
A talloc hierarchy can be used to avoid this behaviour.

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): Mon Jun 30 21:41:13 CEST 2014 on sn-devel-104

5 years agovfs_snapper: don't redefine GMT_FORMAT macro
David Disseldorp [Mon, 30 Jun 2014 12:40:13 +0000 (14:40 +0200)]
vfs_snapper: don't redefine GMT_FORMAT macro

Use existing header definition.

Signed-off-by: David Disseldorp <ddiss@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
5 years agodoc: add vfs_snapper manpage
David Disseldorp [Fri, 27 Jun 2014 13:31:37 +0000 (15:31 +0200)]
doc: add vfs_snapper manpage

Document usage of the snapper VFS module, detailing permissions required
to list and access snapshots.

Signed-off-by: David Disseldorp <ddiss@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
5 years agovfs: add previous file version support for vfs_snapper
David Disseldorp [Fri, 27 Jun 2014 13:31:36 +0000 (15:31 +0200)]
vfs: add previous file version support for vfs_snapper

Windows attempts to access previous file versions by first issuing an
FSCTL_SRV_ENUMERATE_SNAPSHOTS request, and then using the corresponding
snapshot timestamps in subsequent path based requests.

This change sees vfs_snapper provide snapshot enumeration data via the
get_shadow_copy_data VFS hook. Path based operations are also
intercepted, with @GMT-$time components converted to snapper .snapshot/#
paths.

Signed-off-by: David Disseldorp <ddiss@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
5 years agovfs: add vfs_snapper module
David Disseldorp [Fri, 27 Jun 2014 13:31:35 +0000 (15:31 +0200)]
vfs: add vfs_snapper module

Provides an interface for accessing snapshots exposed by Snapper. The
module communicates with snapperd on the local machine using the D-Bus
interface.

Signed-off-by: David Disseldorp <ddiss@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
5 years agosmbd: Make messaging_send_to_children static
Christof Schmitt [Thu, 26 Jun 2014 21:51:23 +0000 (14:51 -0700)]
smbd: Make messaging_send_to_children static

This function is only used in server.c

Signed-off-by: Christof Schmitt <cs@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
Autobuild-User(master): Volker Lendecke <vl@samba.org>
Autobuild-Date(master): Mon Jun 30 17:20:00 CEST 2014 on sn-devel-104

5 years agosmbd: Use common function for FORCE_DIS and KILL_CLIENT_IP in parent
Christof Schmitt [Thu, 26 Jun 2014 21:50:38 +0000 (14:50 -0700)]
smbd: Use common function for FORCE_DIS and KILL_CLIENT_IP in parent

The parent smbd process only forwards the message to the child
processes. Use a common function instead of two separate ones that do
the same thing.

Signed-off-by: Christof Schmitt <cs@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
5 years agos3: SMB2 : Fix leak of blocking lock records in the database.
Jeremy Allison [Thu, 26 Jun 2014 19:08:46 +0000 (12:08 -0700)]
s3: SMB2 : Fix leak of blocking lock records in the database.

Based on a fix from Hemanth Thummala <hemanth.thummala@gmail.com>
Bug #10673 - Increasing response times for byte range unlock requests.

The previous refactoring makes it obvious we need to call
remove_pending_lock() in all places where we are returning
from the SMB2 blocking lock call.

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

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Ira Cooper <ira@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
Autobuild-User(master): Volker Lendecke <vl@samba.org>
Autobuild-Date(master): Mon Jun 30 14:59:16 CEST 2014 on sn-devel-104

5 years agos3: smb2: Simplify logic in reprocess_blocked_smb2_lock().
Jeremy Allison [Thu, 26 Jun 2014 19:01:56 +0000 (12:01 -0700)]
s3: smb2: Simplify logic in reprocess_blocked_smb2_lock().

SMB2 blocking locks can only have one lock per request, so
there can never be any other locks to wait for.

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Ira Cooper <ira@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
5 years agos3: smb2: Remove unused code from remove_pending_lock().
Jeremy Allison [Thu, 26 Jun 2014 00:10:45 +0000 (17:10 -0700)]
s3: smb2: Remove unused code from remove_pending_lock().

SMB2 blocking locks can only have one lock per request, so
there can never be any previous locks to remove.

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Ira Cooper <ira@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
5 years agoctdb-packaging: Update configure.rpm with minimum library versions
Amitay Isaacs [Mon, 30 Jun 2014 05:22:49 +0000 (15:22 +1000)]
ctdb-packaging: Update configure.rpm with minimum library versions

This makes configure command consistent with spec file.

Signed-off-by: Amitay Isaacs <amitay@gmail.com>
Reviewed-by: Martin Schwenke <martin@meltin.net>
Autobuild-User(master): Martin Schwenke <martins@samba.org>
Autobuild-Date(master): Mon Jun 30 11:23:18 CEST 2014 on sn-devel-104

5 years agoctdb-packaging: Minimum required tevent library is 0.9.16
Amitay Isaacs [Thu, 26 Jun 2014 04:16:13 +0000 (14:16 +1000)]
ctdb-packaging: Minimum required tevent library is 0.9.16

Signed-off-by: Amitay Isaacs <amitay@gmail.com>
Reviewed-by: Martin Schwenke <martin@meltin.net>
5 years agos3-shadow-copy2: Protect against already converted names
Volker Lendecke [Thu, 18 Oct 2012 13:24:39 +0000 (15:24 +0200)]
s3-shadow-copy2: Protect against already converted names

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Christof Schmitt <cs@samba.org>
Autobuild-User(master): Volker Lendecke <vl@samba.org>
Autobuild-Date(master): Fri Jun 27 09:03:53 CEST 2014 on sn-devel-104

5 years agos3-shadow-copy2: Add more debugs
Volker Lendecke [Wed, 17 Oct 2012 10:11:37 +0000 (12:11 +0200)]
s3-shadow-copy2: Add more debugs

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Christof Schmitt <cs@samba.org>
5 years agos3-shadow-copy2: Fix incorrect case submounts
Volker Lendecke [Wed, 17 Oct 2012 10:08:26 +0000 (12:08 +0200)]
s3-shadow-copy2: Fix incorrect case submounts

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Christof Schmitt <cs@samba.org>
5 years agos3-shadow-copy2: Remove TODO and fix comments
Christof Schmitt [Thu, 26 Jun 2014 19:43:03 +0000 (12:43 -0700)]
s3-shadow-copy2: Remove TODO and fix comments

The patch "s3-shadow-copy2: Fix dir/@GMT-2012.10.15-13.48.43 form of
paths" takes care of a case marked as TODO, remove it and adjust the
comments accordingly.

Signed-off-by: Christof Schmitt <cs@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
5 years agos3-shadow-copy2: Fix dir/@GMT-2012.10.15-13.48.43 form of paths
Volker Lendecke [Mon, 15 Oct 2012 16:16:44 +0000 (18:16 +0200)]
s3-shadow-copy2: Fix dir/@GMT-2012.10.15-13.48.43 form of paths

The previous clause in shadow_copy2_strip_snapshot would only handle @GMT-
at the end of a pathname if it was the *only* pathname component. XP
seems to send @GMT- at the end under certain circumstances even with a
path prefix.

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Christof Schmitt <cs@samba.org>
5 years agos3-shadow-copy2: Add extreme debug output to shadow_copy2_strip_snapshot
Volker Lendecke [Mon, 15 Oct 2012 16:13:33 +0000 (18:13 +0200)]
s3-shadow-copy2: Add extreme debug output to shadow_copy2_strip_snapshot

This is sooo hairy to debug when things go wrong :-(

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Christof Schmitt <cs@samba.org>
5 years agodbwrap: Print wait times with full precision
Volker Lendecke [Thu, 6 Mar 2014 06:27:36 +0000 (07:27 +0100)]
dbwrap: Print wait times with full precision

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Christof Schmitt <cs@samba.org>
5 years agosmb2: Fix smb2_lease_state
Volker Lendecke [Thu, 26 Jun 2014 10:35:20 +0000 (10:35 +0000)]
smb2: Fix smb2_lease_state

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
Autobuild-User(master): Michael Adam <obnox@samba.org>
Autobuild-Date(master): Thu Jun 26 17:30:00 CEST 2014 on sn-devel-104

5 years agotdb: defragment the freelist in tdb_allocate_from_freelist()
Michael Adam [Wed, 11 Jun 2014 10:05:57 +0000 (12:05 +0200)]
tdb: defragment the freelist in tdb_allocate_from_freelist()

While we are traversing the freelist anyways, merge a record
with the left if it is also a free list record.

That partially makes up for the fragmentation introduced by
the lack of merging with right records in tdb_free().

Note there is a potential slight downside:
If the left record we merge the current record into was earlier
in the chain and has hence already been met in traverse,
then we can not use the enlarged record even if it might be
a new best fit.

Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
Autobuild-User(master): Volker Lendecke <vl@samba.org>
Autobuild-Date(master): Thu Jun 26 12:16:03 CEST 2014 on sn-devel-104

5 years agotdb: add "freelist_size" sub-command to tdbtool
Michael Adam [Mon, 10 Feb 2014 06:39:31 +0000 (07:39 +0100)]
tdb: add "freelist_size" sub-command to tdbtool

With the new code, this has the side effect of
merging adjacent records in the freelist if the
database is not read-only.

Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
5 years agotdb: use tdb_freelist_merge_adjacent in tdb_freelist_size()
Michael Adam [Wed, 11 Jun 2014 15:26:51 +0000 (17:26 +0200)]
tdb: use tdb_freelist_merge_adjacent in tdb_freelist_size()

So that we automatically defragment the free list when freelist_size is called
(unless the database is read only).

Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
5 years agotdb: add tdb_freelist_merge_adjacent()
Michael Adam [Mon, 10 Feb 2014 01:39:09 +0000 (02:39 +0100)]
tdb: add tdb_freelist_merge_adjacent()

This is intended to be called to reduce the fragmentation in the
freelist. This is to make up the deficiency of the freelist
to be not doubly linked. If the freelist were doubly linked,
we could easily avoid the creation of adjacent freelist entries.
But with the current singly linked list, it is only possible
to cheaply merge a new free record into a freelist entry on the left,
not on the right...

This can be called periodically, e.g. in the vacuuming process
of a ctdb cluster.

Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
5 years agotdb: add utility function check_merge_ptr_with_left_record()
Michael Adam [Wed, 11 Jun 2014 10:04:01 +0000 (12:04 +0200)]
tdb: add utility function check_merge_ptr_with_left_record()

Variant of check_merge_with_left_record() that reads the record
itself if necessary.

Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
5 years agotdb: simplify tdb_free() using check_merge_with_left_record()
Michael Adam [Wed, 11 Jun 2014 10:03:01 +0000 (12:03 +0200)]
tdb: simplify tdb_free() using check_merge_with_left_record()

Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
5 years agotdb: add utility function check_merge_with_left_record()
Michael Adam [Wed, 11 Jun 2014 10:00:48 +0000 (12:00 +0200)]
tdb: add utility function check_merge_with_left_record()

Check whether the record left of a given freelist record is
also a freelist record, and if so, merge the two records.

Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
5 years agotdb: improve comments for tdb_free().
Michael Adam [Fri, 18 Apr 2014 23:49:44 +0000 (01:49 +0200)]
tdb: improve comments for tdb_free().

Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
5 years agotdb: factor merge_with_left_record() out of tdb_free()
Michael Adam [Mon, 10 Feb 2014 01:01:38 +0000 (02:01 +0100)]
tdb: factor merge_with_left_record() out of tdb_free()

Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
5 years agotdb: fix debug message in tdb_free()
Michael Adam [Mon, 10 Feb 2014 00:51:39 +0000 (01:51 +0100)]
tdb: fix debug message in tdb_free()

Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
5 years agotdb: reduce indentation in tdb_free() for merging left
Michael Adam [Mon, 10 Feb 2014 00:46:42 +0000 (01:46 +0100)]
tdb: reduce indentation in tdb_free() for merging left

Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
5 years agotdb: increase readability of read_record_on_left()
Michael Adam [Mon, 10 Feb 2014 00:39:15 +0000 (01:39 +0100)]
tdb: increase readability of read_record_on_left()

by using early returns and better variable names,
and reducing indentation.

Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
5 years agotdb: factor read_record_on_left() out of tdb_free()
Michael Adam [Mon, 10 Feb 2014 00:31:50 +0000 (01:31 +0100)]
tdb: factor read_record_on_left() out of tdb_free()

Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
5 years agotorture4: Add a little test that truncate actually works :-)
Volker Lendecke [Wed, 25 Jun 2014 08:49:45 +0000 (08:49 +0000)]
torture4: Add a little test that truncate actually works :-)

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: David Disseldorp <ddiss@samba.org>
Autobuild-User(master): David Disseldorp <ddiss@samba.org>
Autobuild-Date(master): Wed Jun 25 13:37:24 CEST 2014 on sn-devel-104

5 years agosmbd: Remove 2 indentation levels
Volker Lendecke [Wed, 25 Jun 2014 08:36:47 +0000 (08:36 +0000)]
smbd: Remove 2 indentation levels

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: David Disseldorp <ddiss@samba.org>
5 years agos4: torture: Add regression test case for #10671 - Samba file corruption as a result...
Jeremy Allison [Tue, 24 Jun 2014 21:22:24 +0000 (14:22 -0700)]
s4: torture: Add regression test case for #10671 - Samba file corruption as a result of failed lock check.

Adds a new test to raw.open.

Opens a file with SHARE_NONE, writes 1 byte at offset 1023,
attempts a second open with r/w access+truncate disposition,
then checks that open fails with SHARING_VIOLATION, and
the file is not truncated (is still size 1024). Correctly
detects the bug and fixed smbd for me.

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

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
Reviewed-by: David Disseldorp <ddiss@samba.org>
5 years agos3: smbd - Prevent file truncation on an open that fails with share mode violation.
Jeremy Allison [Tue, 24 Jun 2014 21:19:30 +0000 (14:19 -0700)]
s3: smbd - Prevent file truncation on an open that fails with share mode violation.

Fix from Volker, really - just tidied up a little.
The S_ISFIFO check may not be strictly neccessary,
but doesn't hurt (might make the code a bit more complex
than it needs to be).

Fixes bug #10671 - Samba file corruption as a result of failed lock check.

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

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
Reviewed-by: David Disseldorp <ddiss@samba.org>
5 years agos3: smbd - fix processing of packets with invalid DOS charset conversions.
Jeremy Allison [Sun, 8 Jun 2014 04:51:44 +0000 (21:51 -0700)]
s3: smbd - fix processing of packets with invalid DOS charset conversions.

CVE-2014-3493

Bug 10654 - Segmentation fault in smbd_marshall_dir_entry()'s SMB_FIND_FILE_UNIX handler

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

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Guenther Deschner <gd@samba.org>
Autobuild-User(master): Jeremy Allison <jra@samba.org>
Autobuild-Date(master): Wed Jun 25 03:47:55 CEST 2014 on sn-devel-104

5 years agos3: nmbd: Fix bug 10633 - nmbd denial of service
Jeremy Allison [Wed, 28 May 2014 17:40:27 +0000 (10:40 -0700)]
s3: nmbd: Fix bug 10633 - nmbd denial of service

The Linux kernel has a bug in that it can give spurious
wakeups on a non-blocking UDP socket for a non-deliverable packet.

When nmbd was changed to use non-blocking sockets it
became vulnerable to a spurious wakeup from poll/epoll.

Fix sys_recvfile() to return on EWOULDBLOCK/EAGAIN.

CVE-2014-0244

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

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
5 years agoctdb-build: Instead of default test_wrap, install fixed test_wrap
Amitay Isaacs [Mon, 23 Jun 2014 06:31:25 +0000 (16:31 +1000)]
ctdb-build: Instead of default test_wrap, install fixed test_wrap

tests/scripts/test_wrap script is updated based on the configured paths.
This should be installed instead of the stock version in the source.

Signed-off-by: Amitay Isaacs <amitay@gmail.com>
Reviewed-by: Martin Schwenke <martin@meltin.net>
Autobuild-User(master): Martin Schwenke <martins@samba.org>
Autobuild-Date(master): Tue Jun 24 09:37:39 CEST 2014 on sn-devel-104

5 years agoctdb-build: Fix sed expression to protect '\'
Amitay Isaacs [Mon, 23 Jun 2014 05:58:06 +0000 (15:58 +1000)]
ctdb-build: Fix sed expression to protect '\'

Signed-off-by: Amitay Isaacs <amitay@gmail.com>
Reviewed-by: Martin Schwenke <martin@meltin.net>
5 years agoctdb-build: Use correct path variables for ctdb_run_tests.sh
Amitay Isaacs [Mon, 23 Jun 2014 05:48:37 +0000 (15:48 +1000)]
ctdb-build: Use correct path variables for ctdb_run_tests.sh

Signed-off-by: Amitay Isaacs <amitay@gmail.com>
Reviewed-by: Martin Schwenke <martin@meltin.net>
5 years agoctdb-build: Use CTDB_ETCDIR instead of ETCDIR/ctdb
Amitay Isaacs [Mon, 23 Jun 2014 08:03:17 +0000 (18:03 +1000)]
ctdb-build: Use CTDB_ETCDIR instead of ETCDIR/ctdb

This avoids hardcoding path components in source.

Signed-off-by: Amitay Isaacs <amitay@gmail.com>
Reviewed-by: Martin Schwenke <martin@meltin.net>
5 years agoctdb-build: Use CTDB_RUNDIR instead of VARDIR/run/ctdb
Amitay Isaacs [Mon, 23 Jun 2014 05:20:44 +0000 (15:20 +1000)]
ctdb-build: Use CTDB_RUNDIR instead of VARDIR/run/ctdb

Signed-off-by: Amitay Isaacs <amitay@gmail.com>
Reviewed-by: Martin Schwenke <martin@meltin.net>
5 years agoctdb-build: Add special target to get build version
Amitay Isaacs [Mon, 23 Jun 2014 02:55:19 +0000 (12:55 +1000)]
ctdb-build: Add special target to get build version

This avoids the need to build a tarball to get version information.

Signed-off-by: Amitay Isaacs <amitay@gmail.com>
Reviewed-by: Martin Schwenke <martin@meltin.net>
5 years agoctdb-build: Allow waf to build rpms without configure first
Amitay Isaacs [Mon, 23 Jun 2014 02:24:38 +0000 (12:24 +1000)]
ctdb-build: Allow waf to build rpms without configure first

Signed-off-by: Amitay Isaacs <amitay@gmail.com>
Reviewed-by: Martin Schwenke <martin@meltin.net>
5 years agotorture: Remove confusing reference to (1 sec == 0.25)
Andrew Bartlett [Fri, 20 Jun 2014 10:28:53 +0000 (22:28 +1200)]
torture: Remove confusing reference to (1 sec == 0.25)

The write should never update the time, so the fraction of the write
time delay we use is not important.

Andrew Bartlett

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Autobuild-User(master): Jeremy Allison <jra@samba.org>
Autobuild-Date(master): Tue Jun 24 01:44:06 CEST 2014 on sn-devel-104

5 years agotorture: tidy up whitespace for clarity
Andrew Bartlett [Fri, 20 Jun 2014 10:28:52 +0000 (22:28 +1200)]
torture: tidy up whitespace for clarity

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
5 years agoselftest: Run base.delaywrite against plugin_s4_dc only, and with kerberos for faster...
Andrew Bartlett [Fri, 20 Jun 2014 10:28:51 +0000 (22:28 +1200)]
selftest: Run base.delaywrite against plugin_s4_dc only, and with kerberos for faster connections

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
5 years agotorture-base.delaywrite: assert the for a delayed write, that it just takes longer...
Andrew Bartlett [Fri, 20 Jun 2014 10:28:50 +0000 (22:28 +1200)]
torture-base.delaywrite: assert the for a delayed write, that it just takes longer than our configured delay

This removes the hardcoded TIMEDELAY_SECS that was then made variable
by the confusing "secs" variable

Andrew Bartlett

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
5 years agotorture: Only error if the write time was updated is less than the expected delay
Andrew Bartlett [Fri, 20 Jun 2014 10:28:49 +0000 (22:28 +1200)]
torture: Only error if the write time was updated is less than the expected delay

The previous test was far, far too tight, it was in seconds 1/4 of the
fraction of the normal delay we had configured Samba to use so (1/4) *
(500 000 / 2000 000) = 1/16 (sec).  This margin appears to just be too
tight for our loaded test server.

Andrew Bartlett

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
5 years agotorture: Store writetimeupdatedelay in a double to allow easier comparison
Andrew Bartlett [Fri, 20 Jun 2014 10:28:48 +0000 (22:28 +1200)]
torture: Store writetimeupdatedelay in a double to allow easier comparison

In particular, this avoids a comparison with
double diff = timeval_elapsed() being promoted to an integer.

Andrew Bartlett

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
5 years agotorture: convert raw.mux to use torture_comment() macros instead of printf()
Andrew Bartlett [Fri, 20 Jun 2014 10:28:47 +0000 (22:28 +1200)]
torture: convert raw.mux to use torture_comment() macros instead of printf()

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Kamen Mazdrashki <kamenim@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
5 years agotorture: convert raw.mux to use torture_assert() macros
Andrew Bartlett [Fri, 20 Jun 2014 10:28:46 +0000 (22:28 +1200)]
torture: convert raw.mux to use torture_assert() macros

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
5 years agotorture: convert CHECK_STATUS into torture_assert_ntstatus_equal in raw.mux tests
Andrew Bartlett [Fri, 20 Jun 2014 10:28:45 +0000 (22:28 +1200)]
torture: convert CHECK_STATUS into torture_assert_ntstatus_equal in raw.mux tests

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Kamen Mazdrashki <kamenim@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
5 years agoselftest: Only run samba4.rpc.samr.passwords.{lockout,badpwdcount} once
Andrew Bartlett [Fri, 20 Jun 2014 10:28:44 +0000 (22:28 +1200)]
selftest: Only run samba4.rpc.samr.passwords.{lockout,badpwdcount} once

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
5 years agotorture: Use torture_assert() macros in rpc.samr test
Andrew Bartlett [Fri, 20 Jun 2014 10:28:43 +0000 (22:28 +1200)]
torture: Use torture_assert() macros in rpc.samr test

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Kamen Mazdrashki <kamenim@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
5 years agos3: Fix fsctl_validate_neg_info to pass MS compliance suite.
Ira Cooper [Sat, 21 Jun 2014 04:41:19 +0000 (21:41 -0700)]
s3: Fix fsctl_validate_neg_info to pass MS compliance suite.

It turns out that all the client and server need to agree on is what
protocol should have been negotiated.  If they disagree, they should
disconnect.  The contents of the list of protocols used during
negotiate and during FSCTL_VALIDATE_NEGOTIATE_INFO do not need to match.

Signed-off-by: Ira Cooper <ira@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
Autobuild-User(master): Stefan Metzmacher <metze@samba.org>
Autobuild-Date(master): Mon Jun 23 14:28:25 CEST 2014 on sn-devel-104

5 years agos3: Refactor smbd_smb2_request_process_negprot
Ira Cooper [Sat, 21 Jun 2014 04:29:26 +0000 (21:29 -0700)]
s3: Refactor smbd_smb2_request_process_negprot

Breakout smb2_protocol_dialect_match to support future work in
fsctl_validate_neg_info.

Signed-off-by: Ira Cooper <ira@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
5 years agotorture3: Reproducer for bug 10593
Volker Lendecke [Thu, 19 Jun 2014 14:37:40 +0000 (14:37 +0000)]
torture3: Reproducer for bug 10593

We panic if we get an oplock break response for a cancelled create request

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Autobuild-User(master): Volker Lendecke <vl@samba.org>
Autobuild-Date(master): Sat Jun 21 23:05:47 CEST 2014 on sn-devel-104

5 years agosmbd: Fix bug 10593
Volker Lendecke [Fri, 20 Jun 2014 14:15:54 +0000 (14:15 +0000)]
smbd: Fix bug 10593

Bug 10593 is a panic that happens if we get an oplock break reply via
dbwrap_watch for which we can't find the SMB request anymore. This
error condition can legally happen when a client cancels the create
request before the oplock break response comes in. This patch drops the
dbwrap_watch_send request waiting for the oplock break when the request
is cancelled. Yet another talloc hierarchy problem, but if done right,
talloc hierarchies can make rundown of state easy :-)

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
5 years agosmbd: First watch, then defer
Volker Lendecke [Fri, 20 Jun 2014 14:15:19 +0000 (14:15 +0000)]
smbd: First watch, then defer

We exit if any of these if-statement fails, so a simple swap should not
make a difference.

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
5 years agosmbd: Store "struct deferred_open_record" instead of anonymous data on pml
Volker Lendecke [Fri, 20 Jun 2014 14:12:14 +0000 (14:12 +0000)]
smbd: Store "struct deferred_open_record" instead of anonymous data on pml

The main point is to get a talloc parent that will go away when the
request is cancelled

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
5 years agolibsmb: Make cli_ntcreate cancellable
Volker Lendecke [Fri, 20 Jun 2014 10:38:36 +0000 (10:38 +0000)]
libsmb: Make cli_ntcreate cancellable

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
5 years agolibsmb: Make cli_ntcreate1 cancellable
Volker Lendecke [Fri, 20 Jun 2014 10:38:10 +0000 (10:38 +0000)]
libsmb: Make cli_ntcreate1 cancellable

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
5 years agolibsmb: Make cli_smb2_create_fnum cancellable
Volker Lendecke [Fri, 20 Jun 2014 10:37:46 +0000 (10:37 +0000)]
libsmb: Make cli_smb2_create_fnum cancellable

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
5 years agolibsmb: Make smb2cli_create cancellable
Volker Lendecke [Fri, 20 Jun 2014 10:37:14 +0000 (10:37 +0000)]
libsmb: Make smb2cli_create cancellable

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
5 years agolibsmb: Enable oplocks for smb2 cli_ntcreate
Volker Lendecke [Fri, 20 Jun 2014 09:55:04 +0000 (09:55 +0000)]
libsmb: Enable oplocks for smb2 cli_ntcreate

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
5 years agolibsmb: Align cli_ntcreate with other sync wrappers
Volker Lendecke [Fri, 20 Jun 2014 08:53:49 +0000 (08:53 +0000)]
libsmb: Align cli_ntcreate with other sync wrappers

... saves 5 lines :-)

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
5 years agolibsmb: remove smb2 switch from cli_ntcreate
Volker Lendecke [Fri, 20 Jun 2014 08:52:45 +0000 (08:52 +0000)]
libsmb: remove smb2 switch from cli_ntcreate

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
5 years agolibsmb: Replace async cli_ntcreate by cli_create
Volker Lendecke [Fri, 20 Jun 2014 08:50:17 +0000 (08:50 +0000)]
libsmb: Replace async cli_ntcreate by cli_create

Done by rename cli_ntcreate_send/recv to cli_ntcreate1_send/recv and
cli_create_send/recv to cli_ntcreate_send/recv

Possibly cli_create might be the better name, but I am sooo used to
cli_ntcreate() that I don't really want to rename this ;-)

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
5 years agolibsmb: Add cli_create_send/recv
Volker Lendecke [Fri, 20 Jun 2014 08:41:59 +0000 (08:41 +0000)]
libsmb: Add cli_create_send/recv

Async wrapper around smb1 and smb2 create

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
5 years agolibsmb: Make cli_smb2_create_fnum async
Volker Lendecke [Fri, 20 Jun 2014 08:23:47 +0000 (08:23 +0000)]
libsmb: Make cli_smb2_create_fnum async

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
5 years agotorture: add FSRVP share snapshot ACL test
David Disseldorp [Fri, 20 Jun 2014 17:14:15 +0000 (19:14 +0200)]
torture: add FSRVP share snapshot ACL test

The new test_fsrvp_share_sd test sets a unique ACL on the base share,
and then confirms that snapshot shares carry the same ACL.

Signed-off-by: David Disseldorp <ddiss@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
Autobuild-User(master): Michael Adam <obnox@samba.org>
Autobuild-Date(master): Sat Jun 21 15:10:12 CEST 2014 on sn-devel-104

5 years agotorture: add FSRVP message sequence timeout test
David Disseldorp [Fri, 20 Jun 2014 17:14:14 +0000 (19:14 +0200)]
torture: add FSRVP message sequence timeout test

Sleep at various points in the FSRVP snapshot creation state machine,
and confirm that the state timeout is reflected in subsequent server
responses.

Signed-off-by: David Disseldorp <ddiss@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
5 years agotorture: add timeout sleeps to fsrvp create helper
David Disseldorp [Fri, 20 Jun 2014 17:14:13 +0000 (19:14 +0200)]
torture: add timeout sleeps to fsrvp create helper

Attempt to trip message sequence timeouts at various points in the FSRVP
shadow-copy creation state machine.

The default timeout-injection sleep durations correspond to those
documented in MS-FSRVP (+500ms). They can also be manually set using the
"fss: sequence timeout" parameter.

Signed-off-by: David Disseldorp <ddiss@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
5 years agotorture: validate FSCTL_SRV_ENUMERATE_SNAPSHOTS response
David Disseldorp [Fri, 20 Jun 2014 17:14:12 +0000 (19:14 +0200)]
torture: validate FSCTL_SRV_ENUMERATE_SNAPSHOTS response

Check the NumberOfSnapShotsReturned and SnapShotArraySize fields in the
FSCTL_SRV_ENUMERATE_SNAPSHOTS response match expected values.

This is a regression test for bso#10549.

Signed-off-by: David Disseldorp <ddiss@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
5 years agonss_wrapper: Fix some "discarding const" warnings
Volker Lendecke [Sat, 21 Jun 2014 08:48:56 +0000 (10:48 +0200)]
nss_wrapper: Fix some "discarding const" warnings

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
5 years agonss_wrapper: Align indentation with the rest of Samba
Volker Lendecke [Sat, 21 Jun 2014 08:47:28 +0000 (10:47 +0200)]
nss_wrapper: Align indentation with the rest of Samba

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
5 years agoautobuild: fix ctdb build of samba-ctdb target after switch to waf.
Michael Adam [Fri, 20 Jun 2014 19:31:26 +0000 (21:31 +0200)]
autobuild: fix ctdb build of samba-ctdb target after switch to waf.

Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Autobuild-User(master): Michael Adam <obnox@samba.org>
Autobuild-Date(master): Sat Jun 21 02:05:38 CEST 2014 on sn-devel-104

5 years agoctdb: update configure.rpm with builtin and bundled library arguments
Michael Adam [Fri, 20 Jun 2014 16:13:34 +0000 (18:13 +0200)]
ctdb: update configure.rpm with builtin and bundled library arguments

Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-by: Amitay Isaacs <amitay@gmail.com>
5 years agoldb:build: improve detection of srcdir
Michael Adam [Fri, 20 Jun 2014 16:08:53 +0000 (18:08 +0200)]
ldb:build: improve detection of srcdir

Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-by: Amitay Isaacs <amitay@gmail.com>
5 years agoreplace:build: improve detection of srcdir
Michael Adam [Fri, 20 Jun 2014 16:08:18 +0000 (18:08 +0200)]
replace:build: improve detection of srcdir

Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-by: Amitay Isaacs <amitay@gmail.com>