[SCM] Samba Shared Repository - branch v4-5-stable updated
Karolin Seeger
kseeger at samba.org
Thu May 18 07:20:47 UTC 2017
The branch, v4-5-stable has been updated
via 2cb8fc1 VERSION: Disable GIT_SNAPSHOTS for the 4.5.9 release.
via 1d36d51 WHATSNEW: Add release notes for Samba 4.5.9.
via fce999c idmap_rfc2307: Test unix-ids-to-sids with 35 groups
via 90a28a9 selftest: Avoid idmap caching when testing idmap_rfc2307
via 3e250e6 idmap_rfc2307: "ldap_next_entry" needs the previous entry, not the start
via 0e6fe5c idmap_rfc2307: Don't stop after 30 entries
via babc72b test_idmap_rfc2307: Test wbinfo -r for 35 supplementary group memberships
via a24025c test_idmap_rfc2307: Do a recursive delete in ou=idmap
via 07938b5 test_idmap_rfc2307: Correct usage
via 99e8ff5 test_idmap_rfc2307: Avoid a tmpfile
via dffa119 test_idmap_rfc2307: Remove the correct file
via d168aae idmap_rfc2307: "ldap_next_entry" needs the previous entry, not the start
via 080f69e idmap_rfc2307: Don't stop after 30 entries
via 8d11ac4 samba-tool: let 'samba-tool user syncpasswords' report deletions immediately
via 165cdf3 s3/smbd: update exclusive oplock optimisation to the lease area
via bce6578 s3/smbd: update exclusive oplock optimisation to the lease area
via 88360c7 s3/locking: helper functions for lease types
via 935fab0 s3/locking: add const to fsp_lease_type
via 5542648 s3: smbd: inotify_map_mask_to_filter incorrectly indexes an array.
via bc62091 vfs_fruit: lp_case_sensitive() does not return a bool
via 68461b9 vfs_acl_xattr|tdb: ensure create mask is at least 0666 if ignore_system_acls is set
via 36ff82f lib: Fix CID 1373623 Dereference after null check
via 6800744 notify: Fix ordering of events in notifyd
via bd0f2e8 cleanupdb: Fix a memory read error
via 136d0d8 s3:vfs:shadow_copy2: fix corner case of "/@GMT-token" in shadow_copy2_strip_snapshot
via 5b0b84e s3:vfs:shadow_copy2: fix the corner case if cwd=/ in make_relative_path
via 609ae13 s3:vfs:shadow_copy2: fix quoting in debug messages
via ea91004 pam_winbind: no longer use wbcUserPasswordPolicyInfo when authenticating
via 685437e s3:smbd: Fix incorrect use of sys_getgroups()
via 36a97de s3:lib: Fix incorrect logic in sys_broken_getgroups()
via 96c7150 lib: debug: Avoid negative array access.
via 5cba8bb vfs_acl_xattr: avoid needlessly supplying a large buffer to getxattr()
via c0bf985 vfs_acl_xattr: factor out fetching of an extended attribute
via 4b0b012 vfs_xattr_tdb: handle case of zero size.
via 5e29379 selftest: test fetching a large ACL from vfs_acl_xattr
via 8c283d4 ctdb-docs: Fix documentation of -n option to ctdb tool
via 490f722 winbindd: trigger possible passdb_dsdb initialisation
via 46abe7f winbindd: error handling in rpc_lookup_sids()
via bc6d901 s3/rpc_client: lookupsids error handling of NT_STATUS_NONE_MAPPED
via 84c7c56 s3/rpc_client: use NT_STATUS_LOOKUP_ERR
via f81a0ff s3/include: add NT_STATUS_LOOKUP_ERR
via 2735992 selftest: fix for wbinfo -s tests for wellknown SIDs
via cca29f8 winbindd: explicit check for well-known SIDs in wb_lookupsids_bulk()
via 888e75a selftest: wbinfo --sids-to-unix-ids tests for wellknown SIDs
via 82bbb79 selftest: wbinfo -s tests for wellknown SIDs
via 089711e winbindd: use passdb backend for well-known SIDs
via 6bcfe2d s4/torture: vfs_fruit: test for bug 12565
via 92cc3b2 vfs_fruit: resource fork open request with flags=O_CREAT|O_RDONLY
via 1de3e92 waf: Explicitly link libreplace against libnss_wins.so
via f54ff44 selftest: Test for bug 12558
via 2ead4b4 smbd: Fix smb1 findfirst with DFS
via 3dc328c winbindd: Fix password policy for pam authentication
via 107f3ee selftest: tests idmap mapping with idmap_rid
via 6249de7 selftest: new environment "ad_member_idmap_rid"
via d5d552d winbindd: remove unused single_domains array
via 82cf367 winbindd: use correct domain name for failed lookupsids
via fa9bc20 VERSION: Bump version up to 4.5.9.
via 25ed615 Merge tag 'samba-4.5.8' into v4-5-test
via 342e39b s3: Test for CVE-2017-2619 regression with "follow symlinks = no" - part 2
via 080a390 s3: smbd: Fix "follow symlink = no" regression part 2.
via 9ddabbf s3: smbd: Fix "follow symlink = no" regression part 2.
via 3b4cb58 s3: Fixup test for CVE-2017-2619 regression with "follow symlinks = no"
via c5c8e6a s3: Test for CVE-2017-2619 regression with "follow symlinks = no".
via e5094cf s3: smbd: Fix incorrect logic exposed by fix for the security bug 12496 (CVE-2017-2619).
via 78b188d selftest: tests for vfs_fruite file-id behavior
via d89cfae torture: add torture_assert_mem_not_equal_goto()
via 42b77e9 vfs_fruit: document added zero_file_id parameter
via 3722b06 vfs_fruit: enable zero file id
via a5c92d8 smbd: add zero_file_id flag
via cecab32 s3: libgpo: Allow skipping GPO objects that don't have the expected LDAP attributes.
via 8e8ebe5 Changes to make the Solaris C compiler happy.
via 968e3e2 Fix for Solaris C compiler.
via 19b6c87 ctdb-readonly: Avoid a tight loop waiting for revoke to complete
via 85e3446 s3:vfs_expand_msdfs: Do not open the remote address as a file
via 9533a55 s3: locking: Update oplock optimization for the leases era !
via cd86895 s3: locking: Move two leases functions into a new file.
via d537977 VERSION: Up to Samba 4.5.8.
via 28b3311 Merge tag 'samba-4.5.7' into v4-5-test
via 6226261 replace: Include sysmacros.h
via 708b1e2 manpages/vfs_fruit: document global options
via f70070c s4/torture: some tests for kernel oplocks
via e103ad5 s3/selftest: adopt config.h check from source4
via a54aa79 s3/smbd: fix deferred open with streams and kernel oplocks
via 1b5e504 s3/smbd: all callers of defer_open() pass a lck
via 5f09845 s3/smbd: remove async_open arg from defer_open()
via 5e02ff1 s3/smbd: fix schedule_async_open() timer
via 6f7f844 s3/smbd: add and use retry_open() instead of defer_open() in two places
via 8707c86 s3/smbd: simplify defer_open()
via 32faf95 s3/smbd: req is already validated at the beginning of open_file_ntcreate()
via 5263453 s3/smbd: add comments and some reformatting to open_file_ntcreate()
via c0d2c63 s3/smbd: add const to get_lease_type() args
via 8f4bb3a s3/wscript: fix Linux kernel oplock detection
via 73f6042 smbd: Do an early exit on negprot failure
via 520e1a5 VERSION: Bump version up to 4.5.7...
from 964d1fc VERSION: Disable GIT_SNAPSHOTS for the 4.5.8 release.
https://git.samba.org/?p=samba.git;a=shortlog;h=v4-5-stable
- Log -----------------------------------------------------------------
-----------------------------------------------------------------------
Summary of changes:
VERSION | 2 +-
WHATSNEW.txt | 93 ++++-
ctdb/doc/ctdb.1.xml | 4 +-
ctdb/server/ctdb_call.c | 8 +-
docs-xml/manpages/vfs_fruit.8.xml | 172 ++++++----
lib/replace/replace.h | 4 +
lib/torture/torture.h | 10 +
lib/util/debug.c | 2 +-
libgpo/gpo_ldap.c | 27 +-
nsswitch/pam_winbind.c | 58 +---
nsswitch/tests/test_idmap_rfc2307.sh | 130 +++++--
nsswitch/tests/test_idmap_rid.sh | 66 ++++
nsswitch/tests/test_wbinfo.sh | 25 ++
nsswitch/wscript_build | 2 +-
python/samba/netcmd/user.py | 2 +-
selftest/knownfail | 6 -
selftest/target/Samba.pm | 1 +
selftest/target/Samba3.pm | 98 ++++++
selftest/target/Samba4.pm | 6 +
source3/include/lsa.h | 4 +
source3/include/tldap.h | 6 +
source3/lib/cleanupdb.c | 2 +-
source3/lib/dbwrap/dbwrap_watch.c | 2 +-
source3/lib/substitute.c | 7 +-
source3/lib/system.c | 12 +-
source3/locking/leases_util.c | 72 ++++
source3/locking/locking.c | 22 +-
source3/locking/proto.h | 6 +
source3/modules/vfs_acl_tdb.c | 24 +-
source3/modules/vfs_acl_xattr.c | 108 ++++--
source3/modules/vfs_expand_msdfs.c | 3 +-
source3/modules/vfs_fruit.c | 41 ++-
source3/modules/vfs_shadow_copy2.c | 17 +-
source3/modules/vfs_xattr_tdb.c | 12 +
source3/rpc_client/cli_lsarpc.c | 8 +-
source3/script/tests/test_large_acl.sh | 59 ++++
source3/script/tests/test_smbclient_s3.sh | 11 +
source3/script/tests/test_wbinfo_sids2xids_int.py | 2 +-
source3/selftest/tests.py | 57 +++-
source3/smbd/files.c | 8 -
source3/smbd/globals.h | 1 +
source3/smbd/msdfs.c | 4 +-
source3/smbd/negprot.c | 23 +-
source3/smbd/notify_inotify.c | 2 +-
source3/smbd/notifyd/notifyd.c | 3 +-
source3/smbd/open.c | 391 ++++++++++++++++------
source3/smbd/oplock.c | 40 +--
source3/smbd/proto.h | 6 +-
source3/smbd/sec_ctx.c | 3 +-
source3/smbd/trans2.c | 14 +
source3/winbindd/idmap_rfc2307.c | 9 +-
source3/winbindd/idmap_util.c | 5 +-
source3/winbindd/wb_lookupsids.c | 21 +-
source3/winbindd/winbindd_pam.c | 7 +-
source3/winbindd/winbindd_rpc.c | 9 +-
source3/winbindd/winbindd_util.c | 27 +-
source3/wscript | 6 +-
source3/wscript_build | 6 +
source4/selftest/tests.py | 2 +-
source4/torture/smb2/oplock.c | 140 ++++++++
source4/torture/smb2/smb2.c | 1 +
source4/torture/vfs/fruit.c | 149 ++++++++-
source4/torture/vfs/vfs.c | 1 +
63 files changed, 1629 insertions(+), 440 deletions(-)
create mode 100755 nsswitch/tests/test_idmap_rid.sh
create mode 100644 source3/locking/leases_util.c
create mode 100755 source3/script/tests/test_large_acl.sh
Changeset truncated at 500 lines:
diff --git a/VERSION b/VERSION
index a40efff..8075d7c 100644
--- a/VERSION
+++ b/VERSION
@@ -25,7 +25,7 @@
########################################################
SAMBA_VERSION_MAJOR=4
SAMBA_VERSION_MINOR=5
-SAMBA_VERSION_RELEASE=8
+SAMBA_VERSION_RELEASE=9
########################################################
# If a official release has a serious bug #
diff --git a/WHATSNEW.txt b/WHATSNEW.txt
index 5f37176..7c57603 100644
--- a/WHATSNEW.txt
+++ b/WHATSNEW.txt
@@ -1,4 +1,93 @@
=============================
+ Release Notes for Samba 4.5.9
+ May 18, 2017
+ =============================
+
+
+This is the latest stable release of the Samba 4.5 release series.
+
+
+Changes since 4.5.8:
+--------------------
+
+o Michael Adam <obnox at samba.org>
+ * BUG 12743: vfs_shadow_copy2 fails to list snapshots from shares with
+ GlusterFS backend.
+
+o Jeremy Allison <jra at samba.org>
+ * BUG 12747: Wrong use of getgroups causes buffer overflow.
+
+o Hanno Böck <hanno at hboeck.de>
+ * BUG 12746: lib: debug: Avoid negative array access.
+ * BUG 12748: cleanupdb: Fix a memory read error.
+
+o Ralph Boehme <slow at samba.org>
+ * BUG 11961: idmap_autorid allocates ids for unknown SIDs from other backends.
+ * BUG 12562: vfs_acl_common should force "create mask = 0777".
+ * BUG 12565: vfs_fruit: resource fork open request with
+ flags=O_CREAT|O_RDONLY.
+ * BUG 12727: Lookup-domain for well-known SIDs on a DC.
+ * BUG 12728: winbindd: Fix error handling in rpc_lookup_sids().
+ * BUG 12729: winbindd: Trigger possible passdb_dsdb initialisation.
+ * BUG 12749: Can't case-rename files with vfs_fruit.
+ * BUG 12766: s3/smbd: Update exclusive oplock optimisation to the lease area.
+
+o Amitay Isaacs <amitay at gmail.com>
+ * BUG 12733: ctdb-docs: Fix documentation of "-n" option to 'ctdb tool'.
+
+o Shilpa Krishnareddy <skrishnareddy at panzura.com>
+ * BUG 12756: notify: Fix ordering of events in notifyd.
+
+o Volker Lendecke <vl at samba.org>
+ * BUG 12276: lib: Fix CID 1373623 Dereference after null check.
+ * BUG 12558: smbd: Fix smb1 findfirst with DFS.
+ * BUG 12757: idmap_rfc2307: Fix lookup of more than two SIDs.
+
+o Stefan Metzmacher <metze at samba.org>
+ * BUG 12767: samba-tool: Let 'samba-tool user syncpasswords' report deletions
+ immediately.
+ * BUG 12725: pam_winbind: no longer use wbcUserPasswordPolicyInfo when
+ authenticating.
+
+o Doug Nazar <nazard at nazar.ca>
+ * BUG 12760: s3: smbd: inotify_map_mask_to_filter incorrectly indexes an
+ array.
+
+o Christof Schmitt <cs at samba.org>
+ * BUG 12725: winbindd: Fix password policy for pam authentication.
+
+o Andreas Schneider <asn at samba.org>
+ * BUG 12277: waf: Explicitly link libreplace against libnss_wins.so.
+
+o Uri Simchoni <uri at samba.org>
+ * BUG 12737: vfs_acl_xattr - failure to get ACL on Linux if memory is
+ fragmented.
+
+
+#######################################
+Reporting bugs & Development Discussion
+#######################################
+
+Please discuss this release on the samba-technical mailing list or by
+joining the #samba-technical IRC channel on irc.freenode.net.
+
+If you do report problems then please try to send high quality
+feedback. If you don't provide vital information to help us track down
+the problem then you will probably be ignored. All bug reports should
+be filed under the Samba 4.1 and newer product in the project's Bugzilla
+database (https://bugzilla.samba.org/).
+
+
+======================================================================
+== Our Code, Our Bugs, Our Responsibility.
+== The Samba Team
+======================================================================
+
+
+Release notes for older releases follow:
+----------------------------------------
+
+ =============================
Release Notes for Samba 4.5.8
March 31, 2017
=============================
@@ -36,8 +125,8 @@ database (https://bugzilla.samba.org/).
======================================================================
-Release notes for older releases follow:
-----------------------------------------
+----------------------------------------------------------------------
+
=============================
Release Notes for Samba 4.5.7
diff --git a/ctdb/doc/ctdb.1.xml b/ctdb/doc/ctdb.1.xml
index 71af0a5..4508969 100644
--- a/ctdb/doc/ctdb.1.xml
+++ b/ctdb/doc/ctdb.1.xml
@@ -123,10 +123,10 @@
<title>OPTIONS</title>
<variablelist>
- <varlistentry><term>-n <parameter>PNN-LIST</parameter></term>
+ <varlistentry><term>-n <parameter>PNN</parameter></term>
<listitem>
<para>
- The nodes specified by PNN-LIST should be queried for the
+ The node specified by PNN should be queried for the
requested information. Default is to query the daemon
running on the local host.
</para>
diff --git a/ctdb/server/ctdb_call.c b/ctdb/server/ctdb_call.c
index 3478419..f9c2922 100644
--- a/ctdb/server/ctdb_call.c
+++ b/ctdb/server/ctdb_call.c
@@ -1599,7 +1599,6 @@ static int deferred_call_destructor(struct revokechild_deferred_call *deferred_c
{
struct ctdb_context *ctdb = deferred_call->ctdb;
struct revokechild_requeue_handle *requeue_handle = talloc(ctdb, struct revokechild_requeue_handle);
- struct ctdb_req_call_old *c = (struct ctdb_req_call_old *)deferred_call->hdr;
requeue_handle->ctdb = ctdb;
requeue_handle->hdr = deferred_call->hdr;
@@ -1607,9 +1606,12 @@ static int deferred_call_destructor(struct revokechild_deferred_call *deferred_c
requeue_handle->ctx = deferred_call->ctx;
talloc_steal(requeue_handle, requeue_handle->hdr);
- /* when revoking, any READONLY requests have 1 second grace to let read/write finish first */
+ /* Always delay revoke requests. Either wait for the read/write
+ * operation to complete, or if revoking failed wait for recovery to
+ * complete
+ */
tevent_add_timer(ctdb->ev, requeue_handle,
- timeval_current_ofs(c->flags & CTDB_WANT_READONLY ? 1 : 0, 0),
+ timeval_current_ofs(1, 0),
deferred_call_requeue, requeue_handle);
return 0;
diff --git a/docs-xml/manpages/vfs_fruit.8.xml b/docs-xml/manpages/vfs_fruit.8.xml
index 83ebb68..e2e696c 100644
--- a/docs-xml/manpages/vfs_fruit.8.xml
+++ b/docs-xml/manpages/vfs_fruit.8.xml
@@ -79,8 +79,98 @@
</refsect1>
<refsect1>
+ <title>GLOBAL OPTIONS</title>
+
+ <para>The following options must be set in the global smb.conf section
+ and won't take effect when set per share.</para>
+
+ <variablelist>
+
+ <varlistentry>
+ <term>fruit:aapl = yes | no</term>
+ <listitem>
+ <para>A <emphasis>global</emphasis> option whether to enable Apple's SMB2+
+ extension codenamed AAPL. Default
+ <emphasis>yes</emphasis>. This extension enhances
+ several deficiencies when connecting from Macs:</para>
+
+ <itemizedlist>
+ <listitem><para>directory enumeration is enriched with
+ Mac relevant filesystem metadata (UNIX mode,
+ FinderInfo, resource fork size and effective
+ permission), as a result the Mac client doesn't need
+ to fetch this metadata individuallly per directory
+ entry resulting in an often tremendous performance
+ increase.</para></listitem>
+
+ <listitem><para>The ability to query and modify the
+ UNIX mode of directory entries.</para></listitem>
+ </itemizedlist>
+
+ <para>There's a set of per share options that come into play when
+ <emphasis>fruit:aapl</emphasis> is enabled. These opions, listed
+ below, can be used to disable the computation of specific Mac
+ metadata in the directory enumeration context, all are enabled by
+ default:</para>
+
+ <itemizedlist>
+ <listitem><para>readdir_attr:aapl_rsize = yes | no</para></listitem>
+ <listitem><para>readdir_attr:aapl_finder_info = yes | no</para></listitem>
+ <listitem><para>readdir_attr:aapl_max_access = yes | no</para></listitem>
+ </itemizedlist>
+
+ <para>See below for a description of these options.</para>
+
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>fruit:nfs_aces = yes | no</term>
+ <listitem>
+ <para>A <emphasis>global</emphasis> option whether support for
+ querying and modifying the UNIX mode of directory entries via NFS
+ ACEs is enabled, default <emphasis>yes</emphasis>.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>fruit:copyfile = yes | no</term>
+ <listitem>
+ <para>A <emphasis>global</emphasis> option whether to enable OS X
+ specific copychunk ioctl that requests a copy of a whole file
+ along with all attached metadata.</para>
+ <para>WARNING: the copyfile request is blocking the
+ client while the server does the copy.</para>.
+ <para>The default is <emphasis>no</emphasis>.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>fruit:zero_file_id = yes | no</term>
+ <listitem>
+ <para>A <emphasis>global</emphasis> option whether to return
+ zero to queries of on-disk file identifier, if the client
+ has negotiated AAPL.</para>
+ <para>Mac applications and / or the Mac SMB
+ client code expect the on-disk file identifier to have the
+ semantics of HFS+ Catalog Node Identifier (CNID). Samba
+ doesn't provide those semantics, and that occasionally cause
+ usability issues or even data loss. Returning a file identifier
+ of zero causes the Mac client to stop using and trusting the
+ file id returned from the server.</para>
+ <para>The default is <emphasis>yes</emphasis>.</para>
+ </listitem>
+ </varlistentry>
+
+ </variablelist>
+</refsect1>
+
+<refsect1>
<title>OPTIONS</title>
+ <para>The following options can be set either in the global smb.conf section
+ or per share.</para>
+
<variablelist>
<varlistentry>
@@ -189,50 +279,6 @@
</varlistentry>
<varlistentry>
- <term>fruit:aapl = yes | no</term>
- <listitem>
- <para>A global option whether to enable Apple's SMB2+
- extension codenamed AAPL. Default
- <emphasis>yes</emphasis>. This extension enhances
- several deficiencies when connecting from Macs:</para>
-
- <itemizedlist>
- <listitem><para>directory enumeration is enriched with
- Mac relevant filesystem metadata (UNIX mode,
- FinderInfo, resource fork size and effective
- permission), as a result the Mac client doesn't need
- to fetch this metadata individuallly per directory
- entry resulting in an often tremendous performance
- increase.</para></listitem>
-
- <listitem><para>The ability to query and modify the
- UNIX mode of directory entries.</para></listitem>
- </itemizedlist>
-
- <para>There's a set of per share options that can be
- used to disable the computation of specific Mac metadata
- in the directory enumeration context, all are enabled by
- default:</para>
-
- <itemizedlist>
- <listitem><para>readdir_attr:aapl_rsize = true | false</para></listitem>
- <listitem><para>readdir_attr:aapl_finder_info = true | false</para></listitem>
- <listitem><para>readdir_attr:aapl_max_access = true | false</para></listitem>
- </itemizedlist>
-
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>fruit:nfs_aces = yes | no</term>
- <listitem>
- <para>Whether support for querying and modifying the
- UNIX mode of directory entries via NFS ACEs is enabled,
- default <emphasis>yes</emphasis>.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
<term>fruit:veto_appledouble = yes | no</term>
<listitem>
<para><emphasis>Note:</emphasis> this option only applies when
@@ -254,18 +300,6 @@
</varlistentry>
<varlistentry>
- <term>fruit:copyfile = yes | no</term>
- <listitem>
- <para>Whether to enable OS X specific copychunk ioctl
- that requests a copy of a whole file along with all
- attached metadata.</para>
- <para>WARNING: the copyfile request is blocking the
- client while the server does the copy.</para>.
- <para>The default is <emphasis>no</emphasis>.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
<term>fruit:posix_rename = yes | no</term>
<listitem>
<para>Whether to enable POSIX directory rename behaviour
@@ -276,6 +310,32 @@
</listitem>
</varlistentry>
+ <varlistentry>
+ <term>readdir_attr:aapl_rsize = yes | no</term>
+ <listitem>
+ <para>Return resource fork size in SMB2 FIND responses.</para>
+ <para>The default is <emphasis>yes</emphasis>.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>readdir_attr:aapl_finder_info = yes | no</term>
+ <listitem>
+ <para>Return FinderInfo in SMB2 FIND responses.</para>
+ <para>The default is <emphasis>yes</emphasis>.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>readdir_attr:aapl_max_access = yes | no</term>
+ <listitem>
+ <para>Return the user's effective maximum permissions in SMB2 FIND
+ responses. This is an expensive computation, setting this to off
+ pretends the use has maximum effective permissions.</para>
+ <para>The default is <emphasis>yes</emphasis>.</para>
+ </listitem>
+ </varlistentry>
+
</variablelist>
</refsect1>
diff --git a/lib/replace/replace.h b/lib/replace/replace.h
index c69a069..1dbeacf 100644
--- a/lib/replace/replace.h
+++ b/lib/replace/replace.h
@@ -171,6 +171,10 @@
#include <sys/types.h>
#endif
+#ifdef HAVE_SYS_SYSMACROS_H
+#include <sys/sysmacros.h>
+#endif
+
#ifdef HAVE_SETPROCTITLE_H
#include <setproctitle.h>
#endif
diff --git a/lib/torture/torture.h b/lib/torture/torture.h
index b6d1301..668458a 100644
--- a/lib/torture/torture.h
+++ b/lib/torture/torture.h
@@ -367,6 +367,16 @@ void torture_result(struct torture_context *test,
} \
} while(0)
+#define torture_assert_mem_not_equal_goto(torture_ctx,got,expected,len,ret,label,cmt) \
+ do { const void *__got = (got), *__expected = (expected); \
+ if (memcmp(__got, __expected, len) == 0) { \
+ torture_result(torture_ctx, TORTURE_FAIL, \
+ __location__": "#got" of len %d unexpectedly matches "#expected": %s", (int)len, cmt); \
+ ret = false; \
+ goto label; \
+ } \
+ } while(0)
+
static inline void torture_dump_data_str_cb(const char *buf, void *private_data)
{
char **dump = (char **)private_data;
diff --git a/lib/util/debug.c b/lib/util/debug.c
index ed89944..2662c2d 100644
--- a/lib/util/debug.c
+++ b/lib/util/debug.c
@@ -396,7 +396,7 @@ static void debug_backends_log(const char *msg, int msg_level)
* a buffer without the newline character.
*/
len = MIN(strlen(msg), FORMAT_BUFR_SIZE - 1);
- if (msg[len - 1] == '\n') {
+ if ((len > 0) && (msg[len - 1] == '\n')) {
len--;
}
diff --git a/libgpo/gpo_ldap.c b/libgpo/gpo_ldap.c
index 9a95f8b..4533d61 100644
--- a/libgpo/gpo_ldap.c
+++ b/libgpo/gpo_ldap.c
@@ -424,24 +424,30 @@ ADS_STATUS ads_delete_gpo_link(ADS_STRUCT *ads,
ADS_ERROR_HAVE_NO_MEMORY(gpo->ds_path);
if (!ads_pull_uint32(ads, res, "versionNumber", &gpo->version)) {
- return ADS_ERROR(LDAP_NO_MEMORY);
+ return ADS_ERROR(LDAP_NO_SUCH_ATTRIBUTE);
}
if (!ads_pull_uint32(ads, res, "flags", &gpo->options)) {
- return ADS_ERROR(LDAP_NO_MEMORY);
+ return ADS_ERROR(LDAP_NO_SUCH_ATTRIBUTE);
}
gpo->file_sys_path = ads_pull_string(ads, mem_ctx, res,
"gPCFileSysPath");
- ADS_ERROR_HAVE_NO_MEMORY(gpo->file_sys_path);
+ if (gpo->file_sys_path == NULL) {
+ return ADS_ERROR(LDAP_NO_SUCH_ATTRIBUTE);
+ }
gpo->display_name = ads_pull_string(ads, mem_ctx, res,
"displayName");
- ADS_ERROR_HAVE_NO_MEMORY(gpo->display_name);
+ if (gpo->display_name == NULL) {
+ return ADS_ERROR(LDAP_NO_SUCH_ATTRIBUTE);
+ }
gpo->name = ads_pull_string(ads, mem_ctx, res,
"name");
- ADS_ERROR_HAVE_NO_MEMORY(gpo->name);
+ if (gpo->name == NULL) {
+ return ADS_ERROR(LDAP_NO_SUCH_ATTRIBUTE);
+ }
gpo->machine_extensions = ads_pull_string(ads, mem_ctx, res,
"gPCMachineExtensionNames");
@@ -450,7 +456,9 @@ ADS_STATUS ads_delete_gpo_link(ADS_STRUCT *ads,
ads_pull_sd(ads, mem_ctx, res, "ntSecurityDescriptor",
&gpo->security_descriptor);
- ADS_ERROR_HAVE_NO_MEMORY(gpo->security_descriptor);
+ if (gpo->security_descriptor == NULL) {
+ return ADS_ERROR(LDAP_NO_SUCH_ATTRIBUTE);
+ }
return ADS_ERROR(LDAP_SUCCESS);
}
@@ -586,6 +594,13 @@ static ADS_STATUS add_gplink_to_gpo_list(ADS_STRUCT *ads,
if (!ADS_ERR_OK(status)) {
DEBUG(10,("failed to get gpo: %s\n",
gp_link->link_names[i]));
+ if ((status.error_type == ENUM_ADS_ERROR_LDAP) &&
+ (status.err.rc == LDAP_NO_SUCH_ATTRIBUTE)) {
+ DEBUG(10,("skipping empty gpo: %s\n",
+ gp_link->link_names[i]));
+ talloc_free(new_gpo);
+ continue;
+ }
return status;
}
diff --git a/nsswitch/pam_winbind.c b/nsswitch/pam_winbind.c
index 4ae78b3..0692960 100644
--- a/nsswitch/pam_winbind.c
+++ b/nsswitch/pam_winbind.c
@@ -1002,7 +1002,6 @@ static bool _pam_send_password_expiry_message(struct pwb_context *ctx,
static void _pam_warn_password_expiry(struct pwb_context *ctx,
const struct wbcAuthUserInfo *info,
- const struct wbcUserPasswordPolicyInfo *policy,
int warn_pwd_expire,
bool *already_expired,
bool *change_pwd)
@@ -1010,7 +1009,7 @@ static void _pam_warn_password_expiry(struct pwb_context *ctx,
time_t now = time(NULL);
--
Samba Shared Repository
More information about the samba-cvs
mailing list