[SCM] Samba Shared Repository - annotated tag v4-13-test created
Stefan Metzmacher
metze at samba.org
Thu Jul 9 08:59:37 UTC 2020
The annotated tag, v4-13-test has been created
at a0f16d24071deb61e20deb6dac0b878b4761fca4 (tag)
tagging 8c86998910d0520a09dee729c2892f26dccc4b65 (commit)
replaces ldb-2.1.1
tagged by Karolin Seeger
on Thu Jul 9 10:56:07 2020 +0200
- Log -----------------------------------------------------------------
samba: tag release samba-4.13.0rc1
-----BEGIN PGP SIGNATURE-----
iF0EABECAB0WIQRS+8C4bZVLCEMyTNxvM5FbZWi36gUCXwbbpwAKCRBvM5FbZWi3
6qCzAJ0WXcHsrf5LzCZot34Ec0Y0AsqQ+gCgs8OAJjX86U5BHsBG3f7c2jbul9k=
=Km5z
-----END PGP SIGNATURE-----
Alexander Bokovoy (4):
s3: pass DCE RPC handle type to create_policy_hnd
s3 rpc server: set on-wire handle type explicitly
lib/ldb: add unit test for ldb_ldap internal code
ldb_ldap: fix off-by-one increment in lldb_add_msg_attr
Amit Kumar (2):
Add a test for smbclient -l basename
lib:util: Fix smbclient -l basename dir
Amitay Isaacs (8):
ctdb-recovery: Fetched vnnmap is never used, so don't fetch it
ctdb-recovery: Consolidate node state
ctdb-recovery: Don't trust nodemap obtained from local node
ctdb-recovery: Refactor banning a node into separate computation
lib/messaging: Move messages_dgm out of source3
wscript_build: Remove duplicate recursion in source4/smbd
lib/util: Build genrand for util core
ctdb-build: Add messages_dgm build to ctdb
Andreas Schneider (69):
autobuild: Run the none env in the samba-o3 build
selftest: Set KRB5RCACHETYPE to none for selftest
lib:crypto: Add samba_gnutls_weak_crypto()
s3:utils: Add weak crypto information to testparm
lib:param: Add lp(cfg)_weak_crypto()
gensec: Add a check if a gensec module implements weak crypto
auth:ntlmssp: Mark as weak_crypto
waf: Check if GnuTLS has support for crypto policies
tests: Add test for weak crypto
bootstrap: Add podman command to readme
third_party: Update nss_wrapper to version 1.1.10
gitlab-ci: Remove Fedora 29 which is already EOL
gitlab-ci: Remove Fedora 30
gitlab-ci: Add Fedora 32 (Beta)
selftest: Fix string compare in DnsHandler() of dns_hub.py
third_party: Update pam_wrapper to version 1.1.2
gitlab-ci: Add ccache and wget
gitlab-ci: Use a shared ccache for the runners
gitlab-ci: Add coverity scan runner
third_party: Update nss_wrapper to version 1.1.11
s3:libads: Fix ads_get_upn()
testprogs: Add 'net ads join createupn' test also verifying the keytab
s4:samdb: Do not create WDdigests for HTTP if weak crypto is disabled
s4:tls: Fix generating TLS RSA certs with FIPS140-2
selftest: Add an ad_dc_fips environment
selftest: Pass extra_provision_options to provision_raw_prepare()
selftest: Pass force_fips_mode to provision_ad_dc()
selftest: Pass force_fips to provision()
selftest: Pass force_fips_mode to provision_raw_prepare()
selftest: Start ad_dc_fips with forced fips mode
tests: Add test to check the server doesn't allow NTLM
selftest: Force fips mode for openssl in ad_dc_fips
gitlab-ci: Add runner for fips compliance testing
docs-xml: Fix usernames in pam_winbind manpages
s4:torture: Print account and authority name
testprogs: Add client kerberos test
testprogs: Add 'net ads join' test for fips
lib:util: Add path_expand_tilde()
lib:util: Add test for path_expand_tilde()
s3:gencache: Allow to open gencache as read-only
selftest: Use Kerberos to join an ad_member
selftest: Split out a provision_ad_member() function
selftest: Add force_fips_mode support to provision_ad_member()
selftest: Add ad_member_fips target
selftest: Run some tests against ad_member_fips
autobuild: Add ad_member_fips target
autobuild: Use sane random sleep values for samba-admem-mit
gitlab-ci: Add new runner for samba-admem-fips
gitlab-ci: Create a single samba-fips runner
s3:rpcclient: Rename creds to trust_creds
talloc: Mark ptr of talloc_unlink() not as a tainted scalar
Revert "s3:libsmb: add a cache for cli_session_creds_prepare_krb5()"
s3:rpc_server: Pass a pointer to add_filemeta()
s3:lib: Avoid a NULL pointer deref on log level 10
s3:notifyd: Check return value of lp_load_initial_only()
s3:samr: Add missing NULL pointer check
s3:rpc_server: Check return code of set_blocking()
s3:locking: Remove dead code
s4:torture: Make sure that ctx is initialized to NULL
s3:smbd: Fix a possibile null pointer dereference
s3:lib: Make sure that have_rsrc is initialized
s3:lib:tls: Use better priority lists for modern GnuTLS
python: Run cmdline tools for default docs test in parallel
python: Run cmdline tools for arbitary docs test in parallel
python: Fix get_max_worker_count() to always have two runners
bootstrap: Add back quota-devel on CentOS8
gitlab-ci: Use Fedora 32 to test FIPS mode
tests: Only run mdsparser test if we build with spotlight support
tls: Use NORMAL:-VERS-SSL3.0 as the default configuration
Andrew (2):
nsswitch: silence openpam error messages about unexpected responses
s3:winbind:idmap_ad - make failure to get attrnames for schema mode fatal
Andrew Bartlett (84):
lib/util: Make prctl_set_comment take a printf format string
s4-smbd: Make use of prctl_set_comment()
lib/tfork: Improve process titles for the tfork waiter process
Move INTERNAL ERROR... printout into smb_panic() and improve "why" string
lib/util/fault.c: Unify printing of the stack trace with the INTERNAL ERROR string
ldb: Fix memory leak in ldb_kv_index_dn_ordered()
ldb: Improve coding style in ldb_kv_index_dn_simple()
ldb: Add mem_ctx argument to ldb_kv_index_key()
selftest: Confirm we can delete a user with a dangling backlink
dsdb: Simplifiy VANISH_LINKS handling: The variable "parent" is always non-NULL
dsdb: Improve clarity by adding a comment in replmd_delete_internals()
dsdb: Do not use ldb_save_controls() in partitions module for domain_scope
dsdb: Remove dead code in partition_prep_request()
dsdb: Rewrite comment to remove refernece to LDAP backends
ldb: ensure that ldbedit operates like ldbmodify: set DONT_CREATE_DB
dsdb: Add very verbose debugging if a delete fails in repl_meta_data
dsdb: Add debugging for a contrived situation where a non-schema attribute is on the record
bootstrap: Remove long-unsupported OS versions
.gitlab-ci.yml: Do not build Samba for Ubuntu 16.04 or Debian 9 any longer
Require Python 3.6 for Samba 4.13
build: Allow a fuzzing build with Python 3.5
bootstrap: Bring back a Ubuntu 16.04 build but just for the samba-fuzz task
selftest: Add test for dangling backlinks to objects that do not exist
selftest: Add test for dangling backlink to ourself, a missing and a real object
dsdb: Add test for the case of a link pointing back at its own object
dsdb: Allow delete (directly and over DRS) of an object with a link to itself
build: Require --without-ad-dc for --without-ads
.gitlab-ci.yml: Move the short samba-xc job into "others"
autobuild: Merge the samba-ktest-heimdal and samba-fileserver jobs
selftest: Run smb2.compound_find against filesrever only, not nt4_dc and ad_dc
autobuild: Merge samba-simpleserver into samba-nt4
py3: Remove #define PyInt_Check PyLong_Check
pidl: Remove duplicate "if (PyLong_Check($cvar)" clauses
pidl: Remove reference to PyInt_Type from error string when we wanted a sensible Long
py3: Remove #define PyInt_Type PyLong_Type
py3: Remove #define PyInt_AsLong PyLong_AsLong
py3: Remove #define PyInt_FromLong PyLong_FromLong
py3: Remove #define IsPy3Bytes PyBytes_Check
py3: Remove #define IsPy3BytesOrString(pystr)
s4-librpc: Simplify bytes or unicode input checking in python GUID() bindings
dlz_bind9: Avoid talloc_new(NULL), use a parent variable
source4/setup: Remove files unused since the LDAP backend was removed
provision: Remove final code for the LDAP backend
librpc: Provide clearer debug messages for malformed DCE/RPC bind
CVE-2020-10700: dsdb: Add test for ASQ and ASQ in combination with paged_results
CVE-2020-10700: ldb: Always use ldb_next_request() in ASQ module
CVE-2020-10700: dsdb: Do not permit the ASQ control for the GUID search in paged_results
selftest: Avoid running the slowest of the "none" tests in samba-o3
librpc/idl: Add dnsp_DnsProperty_short
selftest: Add test for handling of "short" dnsProperty records
s4/rpc_server/dnsserver: Allow parsing of dnsProperty to fail gracefully
lib/util: Allow gdb to be started by samba_start_debugger() under the default Ubuntu restrictions
OID: Reserve 1.3.6.1.4.1.7165.777.x for use on the wiki
Update SECURITY.md to point to security releases
Remove "undocumented" target mentioned in configure script
docs-xml: Remove references to building docs using Plucker
docs-xml: Remove final references to Samba3-HOWTO and Samba3-ByExample
docs-xml: Remove references to inkscape (not used any more, no more SVG files)
docs-xml: Remove GNU TexInfo build
Add docs build to CI
Update README.contributing to point to new Contributing wiki page
Update README.md with more up to date information
docs: Remove the statement about why we moved to Waf
build: Put the note from the bottom of the old BUILD_SYSTEMS.txt somewhere useful
docs: Point to wiki Contribute page rather than samba-technical
Remove outdated install_with_python.sh
docs: protocolfreedom.org is no longer
docs: Ensure "use mmap" always has the correct default
docs: Remove defaults test exception for "mit kdc command"
docs: Add caution against extending this list
python: Correctly re-raise the LdbError if the embedded error is not ldb.ERR_UNWILLING_TO_PERFORM
dsdb: Allow "password hash userPassword schemes = CryptSHA256" to work on RHEL7
selftest: Split samba.tests.samba_tool.user_virtualCryptSHA into GPG and not GPG parts
selftest: Run test of how userPassword / crypt() style passwords are stored in quicktest
CVE-2020-10730: vlv: Use strcmp(), not strncmp() checking the NULL terminated control OIDs
CVE-2020-10730: vlv: Do not re-ASQ search the results of an ASQ search with VLV
CVE-2020-10730: selftest: Add test to confirm VLV interaction with ASQ
CVE-2020-10730: vlv: Another workaround for mixing ASQ and VLV
CVE-2020-10730: selftest: Add test to show that VLV and paged_results are incompatible
CVE-2020-10730: dsdb: Fix crash when vlv and paged_results are combined
CVE-2020-10730: dsdb: Ban the combination of paged_results and VLV
CVE-2020-10760 dsdb: Ensure a proper talloc tree for saved controls
CVE-2020-10760 dsdb: Add tests for paged_results and VLV over the Global Catalog port
CVE-2020-14303 Ensure an empty packet will not DoS the NBT server
Anoop C S (7):
ctdb-scripts: Change CTDB_SERVICE_NMB default value to 'nmb'
ctdb-docs: Move CTDB_SERVICE_NMB to new 48.netbios section
dbwrap_watch: Set rec->value_valid while returning nested share_mode_do_locked()
vfs_default: Remove an unused data member
vfs_glusterfs: Enable caching of selinux xattr by default
vfs_shadow_copy: Fix a log message
vfs_shadow_copy2: Fix a log message
Anubhav Rakshit (1):
s3:smbcacls: Add support for DFS path
Art M. Gallagher (1):
vfs_fruit: tmsize prevent overflow Force the type during arithmetic in order to prevent overflow when summing the Time Machine folder size. Increase the precision to off_t (used for file sizes), leave the overflow error traps but with more precise wording.
Aurelien Aptel (1):
s3: libsmbclient.h: add missing time.h include
Bjoern Jacke (1):
util: fix build on AIX by fixing the order of replace.h include
Björn Baumbach (18):
samba-tool group listmembers: hide python backtracke on command error
samba-tool group listmembers: handle group-does-not-exist error
samba-tool group listmembers: find group members by groups SID
samba-tool group listmembers: use binary encoded group names
samba-tool group move: use binary encoded group name
samba-tool group delete: use binary encoded group name
samba-tool group edit: use binary encoded group name
selftest: test samba-tool group commands with groupnames with brackets and spaces
s3-libads: use dns name to open a ldap session
samba-tool: fetch "no such subcommand" error and print error message
python: fix slow's mail address
s4-auth/unix_token: separate out filling the unix_info elements in a struct session_info
s4-auth/unix_token: add new function auth_session_info_set_unix()
pyauth: add python binding for auth_session_info_set_unix()
python/samba/provision: set unix session info for user session, used for sysvol acl reset
tests/pysmbd: fill session unix info in ntacl tests
pysmbd: make sure that session unix info is filled
s3-libads: use ldap_init_fd() to initialize a ldap session if possible
Björn Jacke (7):
docs: improve desription of map acl inherit
docs-xml: update list of posible VFS operations for vfs_full_audit
add some missing FSCTL defines
replace, attr.: use function attributes only if supported by feature macro (or old gcc)
tdb: also use __has_attribute macro to check for attribute support
talloc: also use portable __has_attribute macro to check for attribute support
ldb: also use portable __has_attribute macro to check for attribute support
Christof Schmitt (25):
rpcclient: Ask for minimal permissions for SID and name lookups
selftest: Add test for rpcclient LSA lookup calls
smbclient: Remove one level of indentation for the utimes command
smbclient: Also allow four digit years in utimes command
test_smbclient_s3: Test four-digit year in smbclient utimes
docs: Update smbclient manpage that four digit years are also allowed
libcli: Remove define for ERROR_INVALID_DATATYPE
libcli: Remove define STATUS_NO_MORE_EAS
libcli: Remove define for STATUS_INVALID_EA_FLAG
smbd: Use NT_STATUS_NOTIFY_CLEANUP instead of STATUS_NOTIFY_CLEANUP
torture: Use NT_STATUS_NOTIFY_CLEANUP instead of STATUS_NOTIFY_CLEANUP
libcli: Remove define for STATUS_NOTIFY_CLEANUP
smbd: Use NT_STATUS_NOTIFY_ENUM_DIR instead of STATUS_NOTIFY_ENUM_DIR
smbclient: Use NT_STATUS_NOTIFY_ENUM_DIR instead of STATUS_NOTIFY_ENUM_DIR
smbtorture: Use NT_STATUS_NOTIFY_ENUM_DIR instead of STATUS_NOTIFY_ENUM_DIR
ntvfs: Use NT_STATUS_NOTIFY_ENUM_DIR instead of STATUS_NOTIFY_ENUM_DIR
libcli: Remove define for STATUS_NOTIFY_ENUM_DIR
libcli: Use NT_STATUS_PENDING instead of STATUS_PENDING
smbtorture: Use NT_STATUS_PENDING instead of STATUS_PENDING
source4/libcli: Use NT_STATUS_PENDING instead of STATUS_PENDING
source4/smb_server: Use NT_STATUS_PENDING instead of STATUS_PENDING
smbd: Use NT_STATUS_PENDING instead of STATUS_PENDING
libcli: Remove define for STATUS_PENDING
libcli: Remove define STATUS_STOPPED_ON_SYMLINK
libcli: Remove define STATUS_EA_LIST_INCONSISTENT
David Disseldorp (5):
traffic_packets: fix SyntaxWarning: "is" with a literal
s3/rpc_server: remove unnecessary srv_fss_agent.h header
dbwrap_rbt: support TDB_INSERT and TDB_MODIFY store flags
s3/torture: use stack buffer for rbtree loop
s3/torture: test rbtree TDB_INSERT and TDB_MODIFY flags
David Mulder (18):
Add SMB2 lsa helper routines
Convert samba4.base.maximum_allowed to smb2
Implement alt name query for smb2
Convert samba4.base.mangle test to smb2
s4:torture: Convert samba4.base.tcon test to smb2
s4:torture: Convert samba3.raw.mkdir test to smb2
s3-net: disable net_ads_gpo_apply() and net_ads_gpo_refresh()
doc: Add markup to README.Coding for samba wiki links
Create Registry.pol group policy extension parser
gpo: Run Group Policy Scripts
gpo: Test gpo scripts apply
Add python binding for DATADIR build path
samba-tool: add command for installing gpo samba admx
gpo: Test samba-tool gpo admxload
s4:torture: Convert samba4.base.secleak test to smb2
s4:torture: Convert samba4.base.vuid test to smb2
Convert samba4.base.deny* tests to smb2
torture4: openattr always succeeds
Douglas Bagnall (19):
idl/drsblobs: do not overwrite number of schedules == 1
python: do not always import urllib
python: do not always import socket_server
ldb/mod/paged_searches: cope with NULL control data
ldb/controls: avoid stealing our own stuff
ldb commandline: don't crash if a received control contains no data
dsdb/mod/acl_util: do not deref NULL sd_flags control
replmd: slightly clarify a comment
CVE-2020-10745: pytests: hand-rolled invalid dns/nbt packet tests
CVE-2020-10745: librpc/tests: cmocka tests of dns and ndr strings
CVE-2020-10745: ndr_dns: move ndr_push_dns_string core into sharable function
CVE-2020-10745: ndr/dns_utils: correct a comment
CVE-2020-10745: ndr_dns: do not allow consecutive dots
CVE-2020-10745: dns_util/push: forbid names longer than 255 bytes
CVE-2020-10745: ndr/dns-utils: prepare for NBT compatibility
s4/winbind/idmap: check the right variable (CID 1272950)
policy/gp: always close a file (CID 1445119)
pypidl: check the result of py_dcerpc_ndr_pointer_deref()
dsdb/password_hash: don't double assign variables (CID 1363048, 1034720)
Gary Lockyer (41):
build: fix the coverage build
librpc ndr: Stack-overflow in ndr_pull_drsuapi_DsaAddressListItem_V1
librpc ndr: add recursion check macros
pidl: Add recursive depth checks.
idl: drsuapi_DsaAddressListItem_V1 limit recursion
fuzzing: ndr set global_max_recursion.
idl: limit recurion on recursive elements
ndrdump tests: Make the tests less fragile
audit_logging tests: Fix timezone validation
ldb tests: Confirm lmdb free list handling
ldb build: Remove some PEP8 warnings from wscript
lib ldb: lmdb clear stale readers on write txn start
lib ldb: lmdb init var before calling mdb_reader_check
CVE-2020-10704: lib util asn1: Add ASN.1 max tree depth
CVE-2020-10704: libcli ldap: test recursion depth in ldap_decode_filter_tree
CVE-2020-10704: lib util asn1: Check parse tree depth
CVE-2020-10704: ldapserver tests: Limit search request sizes
CVE-2020-10704: smb.conf: Add max ldap request sizes
CVE-2020-10704: S4 ldap server: Limit request sizes
CVE-2020-10704: libcli ldap_message: Add search size limits to ldap_decode
CVE-2020-10704 libcli ldap: Check search request lengths.
s4 ldap_server: modernize debug calls
lib util asn1: modernize debug calls
build: Allow developer builds with clang 9
Fix clang 9 parentheses-equality warnings
Fix clang 9 logical-not-parentheses warnings
Fix clang 9 constant-conversion warnings
Fix clang 9 enum-conversion warnings
Fix clang 9 unused-function warnings
Fix clang 9 missing-field-initializer warnings
Fix clang 9 format-nonliteral warnings
Fix clang 9 for-loop-analysis warnings
s4 ldap server tests: request size limit tests
s4 cldap server tests: request size limit tests
lib util ASN.1: Panic on ASN.1 tag mismatch
lib ldb: Limit depth of ldb_parse_tree
libcli ldap tests: remove use of zero length array
CVE-2020-10730: s4 dsdb paged_results: Prevent repeat call of ldb_module_done
CVE-2020-10730: s4 dsdb vlv_pagination: Prevent repeat call of ldb_module_done
CVE-2020-10730: lib ldb: Check if ldb_lock_backend_callback called twice
CVE-2020-14303: s4 nbt: fix busy loop on empty UDP packet
Günther Deschner (11):
ctdb-scripts: add new 48.netbios script for starting nmbd
s4-torture: add rpc test for ChangeServiceConfigW
s4-torture: add ndr svcctl testsuite
librpc: fix IDL for svcctl_ChangeServiceConfigW
winexe: add configure option to control whether to build it (default: auto)
nsswitch: fix use-after-free causing segfault in _pam_delete_cred
smb2_server: update inline comment for max channels
libgpo: only install group policy admx files when building as DC
lib/util: allow to set TCP_USER_TIMEOUT socket option
s4:torture/smb2: simplify code to generate list of smb2 channels
s4:torture/smb2: move interface_info test to smb2.multichannel.generic
Isaac Boukris (28):
Adapt sign_authdata in our KDB module for krb5 v1.18
Fix uxsuccess test with new MIT krb5 library 1.18
Sign and verify PAC with ticket principal instead of canon principal
mit-kdc: Explicitly reject S4U requests
python/tests/krb5: add crypto.py from greghudson/pyk5 as kcrypto.py
Revert "selftest: allow any kdc error in mitm-s4u2self test"
Revert "selftest: mitm-s4u2self: use zlib for CRC32_checksum calc"
Revert "CVE-2018-16860 selftest: Add test for S4U2Self with unkeyed checksum"
selftest: add python S4U2Self tests including unkeyed checksums
Add a test to check dNSHostName with netbios aliases
Fix accidental overwrite of dnsHostName by the last netbios alias
Refactor ads_keytab_add_entry() to make it iterable
Add a test for msDS-AdditionalDnsHostName entries in keytab
Add msDS-AdditionalDnsHostName entries to the keytab
Add net-ads-join dnshostname=fqdn option
kdc: allow checksum of PA-FOR-USER to be HMAC_MD5
selftest: add test for disallowed-forwardable server
heimdal: apply disallow-forwardable on server in TGS request
selftest: allow EncASRepPart to be encoded as EncTGSRepPart
selftest: test forwardable flag in cross-realm tgt tickets
selftest: test forwardable flag in cross-realm with s4u2proxy
db-glue.c: set forwardable flag on cross-realm tgt tickets
Fix a typo in recent net man page changes
selftest: add tests for binary msDS-AdditionalDnsHostName
Properly handle msDS-AdditionalDnsHostName returned from Windows DC
Fix usage of ldap_get_values_len for msDS-AdditionalDnsHostName
ldap.c: clarify the need for ldap_get_values_len() in a code comment
share_mode_lock.c: initialize out param
Jeremy Allison (284):
s3: VFS: vfs_default: Add tevent_req pointer to state struct in vfswrap_pread_state.
s3: VFS: vfs_default. Pass in struct vfswrap_pread_state as the callback data to the subreq.
s3: VFS: vfs_default. Protect vfs_pread_done() from accessing a freed req pointer.
s3: VFS: vfs_default: Add tevent_req pointer to state struct in vfswrap_pwrite_state.
s3: VFS: vfs_default. Pass in struct vfswrap_pwrite_state as the callback data to the subreq.
s3: VFS: vfs_default. Protect vfs_pwrite_done() from accessing a freed req pointer.
s3: VFS: vfs_default: Add tevent_req pointer to state struct in vfswrap_fsync_state.
s3: VFS: vfs_default. Pass in struct vfswrap_fsync_state as the callback data to the subreq.
s3: VFS: vfs_default. Protect vfs_fsync_done() from accessing a freed req pointer.
s3: VFS: vfs_glusterfs: Add tevent_req pointer to state struct in vfs_gluster_pread_state.
s3: VFS: vfs_glusterfs. Pass in struct vfs_gluster_pread_state as the callback data to the subreq.
s3: VFS: vfs_glusterfs. Protect vfs_gluster_pread_done() from accessing a freed req pointer.
s3: VFS: vfs_glusterfs: Add tevent_req pointer to state struct in vfs_gluster_pwrite_state.
s3: VFS: vfs_glusterfs. Pass in struct vfs_gluster_pwrite_state as the callback data to the subreq.
s3: VFS: vfs_glusterfs. Protect vfs_gluster_pwrite_done() from accessing a freed req pointer.
s3: VFS: vfs_glusterfs: Add tevent_req pointer to state struct in vfs_gluster_fsync_state.
s3: VFS: vfs_glusterfs. Pass in struct vfs_gluster_fsync_state as the callback data to the subreq.
s3: VFS: vfs_glusterfs. Protect vfs_gluster_fsync_done() from accessing a freed req pointer.
s3: smbd: Make sure we correctly reply to outstanding aio requests with an error on SHUTDOWN_CLOSE.
s3: VFS: vfs_aio_pthread. Fix leak of state struct on error.
s3: VFS: vfs_aio_pthread: Replace state destructor with explicitly called teardown function.
s3: VFS: vfs_aio_pthread. Move xconn into state struct (opd).
s3: VFS: vfs_aio_pthread: Add a talloc context parameter to create_private_open_data().
s3: VFS: vfs_aio_pthread: Make aio opens safe against connection teardown.
s3: tests: Add samba3.blackbox.force-close-share
s3: tests: Slight tweak to the force-close share test.
s3: smbd: In aio_del_req_from_fsp() talloc_free(fsp->aio_requests[]) when fsp->num_aio_requests reaches zero.
s3: smbd: Now we free fsp->aio_requests when it gets zero entries, talloc in chunks of 10 instead of 1.
s3: smbd: In async SMB1 reply_close() set fsp->closing = true, as we already do in SMB2 async close.
s3: smbd: Every place we check fsp->deferred_close, also check for fsp->closing.
s3: smbd: Don't allow force disconnect of a connection already being disconnected.
s3: smbd: Add async internals of conn_force_tdis().
s3: smbd: Replace synchronous conn_force_tdis() with the async version.
s3: smbd: Add async internals of reply_tdis().
s3: smbd: In reply_tdis(), replace req -> smb1req.
s3: smbd: reply_tdis() Update to modern coding standards.
s3: smbd: Remove old synchronous SMB1 reply_tdis().
s3: smbd: Add async internals of reply_ulogoffX.
s3: smbd: In reply_ulogoffX(), replace req -> smb1req.
s3: smbd: reply_ulogoffX() Update to modern coding standards.
s3: smbd: Remove old synchronous SMB1 reply_ulogoffX().
s3: smbd: Add async internals of reply_exit().
s3: smbd: Remove old synchronous SMB1 reply_exit().
s3: smbd: Remove file_close_pid().
Revert "vfs_default: Protect vfs_getxattrat_done() from accessing a freed req pointer"
Revert "vfs_default: pass in state as the callback data to the subreq"
Revert "s3: VFS: vfs_glusterfs. Protect vfs_gluster_fsync_done() from accessing a freed req pointer."
Revert "s3: VFS: vfs_glusterfs. Pass in struct vfs_gluster_fsync_state as the callback data to the subreq."
Revert "s3: VFS: vfs_glusterfs: Add tevent_req pointer to state struct in vfs_gluster_fsync_state."
Revert "s3: VFS: vfs_glusterfs. Protect vfs_gluster_pwrite_done() from accessing a freed req pointer."
Revert "s3: VFS: vfs_glusterfs. Pass in struct vfs_gluster_pwrite_state as the callback data to the subreq."
Revert "s3: VFS: vfs_glusterfs: Add tevent_req pointer to state struct in vfs_gluster_pwrite_state."
Revert "s3: VFS: vfs_glusterfs. Protect vfs_gluster_pread_done() from accessing a freed req pointer."
Revert "s3: VFS: vfs_glusterfs. Pass in struct vfs_gluster_pread_state as the callback data to the subreq."
Revert "s3: VFS: vfs_glusterfs: Add tevent_req pointer to state struct in vfs_gluster_pread_state."
Revert "s3: VFS: vfs_default. Protect vfs_fsync_done() from accessing a freed req pointer."
Revert "s3: VFS: vfs_default. Pass in struct vfswrap_fsync_state as the callback data to the subreq."
Revert "s3: VFS: vfs_default: Add tevent_req pointer to state struct in vfswrap_fsync_state."
Revert "s3: VFS: vfs_default. Protect vfs_pwrite_done() from accessing a freed req pointer."
Revert "s3: VFS: vfs_default. Pass in struct vfswrap_pwrite_state as the callback data to the subreq."
Revert "s3: VFS: vfs_default: Add tevent_req pointer to state struct in vfswrap_pwrite_state."
Revert "s3: VFS: vfs_default. Protect vfs_pread_done() from accessing a freed req pointer."
Revert "s3: VFS: vfs_default. Pass in struct vfswrap_pread_state as the callback data to the subreq."
Revert "s3: VFS: vfs_default: Add tevent_req pointer to state struct in vfswrap_pread_state."
s3: smbd: In SMB1 reply_close() rename all uses of 'struct smb_request' to smb1req.
s3: smbd: Update reply_close() to modern DBG_ coding style.
s3: smbd: In asnyc do_smb1_close() use the utility function meant for async SMB1 replies.
s3: smbd: Add async internals of reply_close().
s3: smbd: Remove old async versions of SMB1 reply_close().
s3: smbd: Convert async SMB2 close to use the wait_queue idiom.
s3: smbd: Remove all references to fsp->deferred_close.
s3: VFS: Remove deferred_close from struct files_struct.
s3: Remove tevent_wait code. The last user was fsp->deferred_close.
s3: smbd: Extract large directory case normalization code into a utility function normalize_filename_case().
s3: smbd: Add utility function get_original_lcomp().
s3: smbd: Remove use of smb_fname->original_lcomp from smb2 query directory.
s3: smbd: Remove use of smb_fname->original_lcomp from call_trans2findfirst().
s3: smbd: Reformatting callers of rename_internals_fsp() to make it easer to see changed parameters.
s3: smbd: Add a dst_original_lcomp parameter to rename_internals_fsp().
s3: smbd: Reformatting caller of rename_internals() to make it easer to see changed parameters.
s3: smbd: Add 'const char *dst_original_lcomp' parameter to rename_internals()
s3: smbd: Inside rename_internals() wildcard case, re-purpose dst_original_lcomp.
s3: smbd: Use get_original_lcomp() inside reply_ntrename().
s3: smbd: Use get_original_lcomp() inside reply_mv().
s3: smbd: Use get_original_lcomp() inside smb2_file_rename_information().
s3: smbd: Use get_original_lcomp() inside smb_file_rename_information().
s3: smbd: Now we no longer use it, remove all references to original_lcomp from pathname processing code.
s3: smbd: Remove all references to original_lcomp from name copying code.
s3: smbd: Remove UCF_SAVE_LCOMP flag. Note it is no longer used.
s3: smbd: RIP smb_filename->original_lcomp.
VFS: Add vfs_widelinks module.
s3: VFS: Add cmocka tests for pathname parsing in vfs_widelinks.
s3: smbd: VFS: Add custom initialization for vfs_widelinks.
s3: VFS: Remove the lp_widelinks() check from check_reduced_name().
s3: smbd: Remove allowing widelinks in fd_open path.
s3: smbd: Always call canonicalize_connect_path() for a (synthesized) msdfs-share.
s3: smbd: Always call canonicalize_connect_path() for a share.
s3: smbd: Reformatting - fix indentation in check_reduced_name().
s3: smbd: Reformatting - fix indentation in fd_open().
docs-xml: Add a vfs_widelinks manpage.
Update WHATSNEW.txt to explain the vfs_widelinks module addition.
s3: VFS: full_audit. Add missing fcntl entry in vfs_op_names[] array.
s3: VFS: Add cmocka test for vfs_full_audit to make sure all arrays are correct.
s4: torture: SMB2. Add a new test that exposes interesting SD query behavior.
s3: smbd: Ensure we don't try and read the on-disk security descriptor if no bits are requested.
s4: torture: SMB2. Fix smb2.winattr to actually read the SD from the server and check it.
s3: torture: Add an SMB1-specific test SMB1-SYSTEM-SECURITY.
s3: torture: Run the SMB1-SYSTEM-SECURITY test.
s3: torture: Add a basic SMB2 SACL test.
s3: torture: Call the smbtorture3 SMB2-SACL test.
s3: smbd: When writing a security descriptor SACL, ensure both SEC_FLAG_SYSTEM_SECURITY|SEC_STD_WRITE_DAC are set.
smbd: Ensure SEC_FLAG_SYSTEM_SECURITY also opens the underlying fd.
s3: smbd: Reformat code in SEC_FLAG_SYSTEM_SECURITY check in create_file_unixpath().
s3: smbd: Refuse open in create_file_unixpath() with only SEC_FLAG_SYSTEM_SECURITY set.
s3: torture: Add the tests from resolve_realpath_name() to canonicalize_absolute_path().
s3: lib: Fix canonicalize_absolute_path() to pass the tests from resolve_realpath_name()
s3: util: Replace the old (hard to understand) canonicalize_absolute_path() with a version created from resolve_realpath_name() in vfs_widelinks.c
s3: lib: Remove the old canonicalize_absolute_path().
s3: selftest: Remove test_vfs_widelinks.
s3: VFS: widelinks. Change call to resolve_realpath_name() -> canonicalize_absolute_path().
smbd: unix_convert_step(). Fix use of state->end as a boolean, always compare with NULL.
s3: smbd: In posix_fget_nt_acl() remove the fall-back to path based operations.
s3: VFS: shadow_copy2. SMB_VFS_FGET_NT_ACL() makes no sense in this module.
s3: VFS: ceph_snapshots. Remove ceph_snap_gmt_fget_nt_acl().
s3: VFS: ceph_snapshots. Remove duplicate definition of get_nt_acl_fn.
s3: VFS: snapper. Remove snapper_gmt_fget_nt_acl().
s3: smbd: Reformat calls to is_visible_file() to one arg per line.
s3: smbd: Change is_visible_file() to take a directory handle not a name.
s3: smbd: Reformat uses of directory_has_default_acl().
s3: smbd: Add a dirfsp parameter to directory_has_default_acl().
s3: smbd: Cleanup - move the function get_nt_acl_no_snum() to it's user module.
s3: smbd: Move the fsp check up one level from check_access().
s3: smbd: Reformat spacing for parameters of check_access().
s3: smbd: Make check_access() a simple wrapper around smbd_check_access_rights().
s3: smbd: Reformat callers of check_access().
s3: smbd: Add dirfsp parameter to check_access().
s3: smbd: Reformat definition and callers of can_delete_file_in_directory().
s3: smbd: Add dirfsp parameter to can_delete_file_in_directory().
s3: smbd: Reformat caller of user_can_write_file().
s3: smbd: Add dirfsp parameter to user_can_write_file().
s3: smbd: Reformat users of can_write_to_file().
s3: smbd: Add dirfsp parameter to can_write_to_file().
s3: smbd: Reformat users of smbd_check_access_rights().
s3: smbd: Add a dirfsp parameter to smbd_check_access_rights().
s3: smbd: Reformat users of user_can_read_file().
s3: smbd: Add a dirfsp parameter to user_can_read_file().
s3: smbd: Reformat users of check_parent_access().
s3: smbd: Add a dirfsp parameter to check_parent_access().
s3: smbd: Reformat users of smbd_calculate_access_mask().
s3: smbd: Add a dirfsp parameter to smbd_calculate_access_mask().
s3: smbd: Reformat users of smbd_calculate_maximum_allowed_access().
s3: smbd: Add a dirfsp parameter to smbd_calculate_maximum_allowed_access().
smbd: Update description of canonicalize_snapshot_path().
s3: smbd: Move the initialization of the filename and the call to canonicalize_snapshot_path() *before* zero-length string checks.
s4: torture: Add smb2.twrp.openroot test.
s3: torture: Add call to smbtorture smb2.twrp.openroot
s4: torture: Add an SMB1-specific open root of share with @GMT-path test - base.smb1-twrp-openroot
s3: torture: Add samba3.blackbox.NT1.shadow_copy_torture.
Revert "smbd: fullpath based on fsp->fsp_name may contain an @GMT token"
s3: VFS: Remove now-unused variable in shadow_copy2_get_real_filename().
s3: RPC: Don't crash on trying to talloc_free(-1) if smb_iconv_open_ex() fails.
s3: VFS: Split out fget_nt_acl_common() from get_nt_acl_common().
s3: VFS: acl_tdb.c: Add fget_acl_blob().
s3: VFS: acl_xattr.c: Add fget_acl_blob().
s3: VFS: ACLs. Switch fset_nt_acl_common() over to using fget_acl_blob_fn().
s3: VFS: acl_tdb: Change acl_tdb_fget_nt_acl() to use fget_nt_acl_common().
s3: VFS: acl_xattr: Change acl_xattr_fget_nt_acl() to use fget_nt_acl_common().
s3: VFS: ACLs. Remove smb_fname argument to get_nt_acl_common().
s3: VFS: vfs_acl_common: Remove unused stat_fsp_or_smb_fname().
s3: VFS: vfs_common and callers. Change get_nt_acl_common() -> get_nt_acl_common_at().
s3: VFS: acl_common: Add a dirfsp parameter to validate_nt_acl_blob().
s3: VFS: Add SMB_VFS_GET_NT_ACL_AT().
s3: VFS: time_audit. Add smb_time_audit_get_nt_acl_at().
s3: VFS: full_audit. Add smb_full_audit_get_nt_acl_at().
s3: VFS: acl_xattr: Add acl_xattr_get_nt_acl_at().
s3: VFS: acl_tdb. Add acl_tdb_get_nt_acl().
s3: VFS: afsacl. Add afsacl_get_nt_acl_at().
s3: VFS: aixacl2: Add aixjfs2_get_nt_acl_at().
s3: VFS: catia. Add catia_get_nt_acl_at().
s3: VFS: ceph_snapshots. Add ceph_snap_gmt_get_nt_acl_at().
s3: VFS: Add null notice of get_nt_acl_at_fn().
s3: VFS: gpfs. Add gpfsacl_get_nt_acl_at().
s3: VFS: media_harmony: Add mh_get_nt_acl_at().
s3: VFS: vfs4acl_xattr: Add nfs4acl_xattr_get_nt_acl_at().
s3: VFS: shadow_copy2. Add shadow_copy2_get_nt_acl_at().
s3: VFS: snapper. Add snapper_gmt_get_nt_acl_at().
s3: VFS: unityed_media. Add um_get_nt_acl_at().
s3: VFS: zfsacl. Add zfsacl_get_nt_acl_at().
s3: smbd: Change SMB_VFS_GET_NT_ACL() -> SMB_VFS_GET_NT_ACL_AT() in user_can_read_file().
s3: smbd: Change SMB_VFS_GET_NT_ACL() -> SMB_VFS_GET_NT_ACL_AT() in get_nt_acl_no_snum().
s3: smbd: Change SMB_VFS_GET_NT_ACL() -> SMB_VFS_GET_NT_ACL_AT() in directory_has_default_acl().
s3: torture: Change SMB_VFS_GET_NT_ACL() -> SMB_VFS_GET_NT_ACL_AT() in cmd_get_nt_acl().
s3: pysmbd. Change SMB_VFS_GET_NT_ACL() to SMB_VFS_GET_NT_ACL_AT() in get_nt_acl_conn().
s3: smbd: Change SMB_VFS_GET_NT_ACL() -> SMB_VFS_GET_NT_ACL_AT() in smbd_check_access_rights().
s3: smbd: Change SMB_VFS_GET_NT_ACL() -> SMB_VFS_GET_NT_ACL_AT() in smbd_check_access_rights().
s3: smbd: Change SMB_VFS_GET_NT_ACL() -> SMB_VFS_GET_NT_ACL_AT() in smbd_calculate_maximum_allowed_access().
s3: smbd: Change SMB_VFS_GET_NT_ACL() -> SMB_VFS_GET_NT_ACL_AT() in inherit_new_acl().
s3: VFS: acl_common. s3: smbd: Change SMB_VFS_GET_NT_ACL() -> SMB_VFS_GET_NT_ACL_AT() in validate_nt_acl_blob().
s3: VFS: acl_common: Change SMB_VFS_GET_NT_ACL() -> SMB_VFS_GET_NT_ACL_AT() in get_nt_acl_common_at().
s3: VFS: streams_xattr. Change SMB_VFS_GET_NT_ACL() -> SMB_VFS_GET_NT_ACL_AT() in streams_xattr_fget_nt_acl() fallback.
s3: VFS: acl_tdb. Remove get_nt_acl_fn().
s3: VFS: acl_xattr. Remove get_nt_acl_fn().
s3: VFS: afsacl. Remove get_nt_acl_fn().
s3: VFS: aixacl2. Remove get_nt_acl_fn().
s3: VFS: catia. Remove get_nt_acl_fn().
s3: VFS: ceph_snapshots. Remove get_nt_acl_fn().
s3: VFS: glusterfs. Remove NULL definition of get_nt_acl_fn().
s3: VFS: gpfs. Remove get_nt_acl_fn().
s3: VFS: media_harmony. Remove get_nt_acl_fn().
s3: VFS: nfs4acl_xattr. Remove get_nt_acl_fn().
s3: VFS: shadow_copy2. Remove get_nt_acl_fn().
s3: VFS: snapper. Remove get_nt_acl_fn().
s3: VFS: zfsacl. Remove get_nt_acl_fn().
s3: VFS: unityed_media. Remove get_nt_acl_fn().
s3: VFS: time_audit. Remove get_nt_acl_fn().
s3: VFS: full_audit. Remove get_nt_acl_fn().
s3: VFS: Complete the replacement of SMB_VFS_GET_NT_ACL() -> SMB_VFS_GET_NT_ACL_AT().
lib: util: Add sys_pread_full().
lib: util: Add sys_pwrite_full().
s3: VFS: aio_fork: Change sys_pread() -> sys_pread_full() to protect against short reads.
s3: VFS: aio_fork: Change sys_pwrite() -> sys_pwrite_full() to protect against short writes.
s3: VFS: default. Change sys_pread() -> sys_pread_full() in SMB_VFS_PREAD() to protect against short reads.
s3: VFS: default. Change sys_pwrite() -> sys_pwrite_full() in SMB_VFS_PWRITE() to protect against short writes.
s3: VFS: default. Change pread() -> sys_pread_full() in SMB_VFS_PREAD_SEND() to protect against short reads.
s3: VFS: default. Change pwrite() -> sys_pwrite_full() in SMB_VFS_PWRITE_SEND() to protect against short writes.
s3: selftest: Add share definition [bad_iconv] in fileserver.
s3: selftest: Add test_smbclient_iconv.sh to check client behavior on bad name conversion.
s3: libsmb: In SMB1 old protocol - return NT_STATUS_INVALID_NETWORK_RESPONSE if name conversion ended up with a NULL filename.
s3: libsmb: In SMB2 return NT_STATUS_INVALID_NETWORK_RESPONSE if name conversion ended up with a NULL filename.
s3: libsmbclient: Finish unifing bad iconv behavior across CORE NT1 SMB2 protocols.
s3: lib: Paranoia around use of snprintf copying into a fixed-size buffer from a getenv() pointer.
s3: VFS: catia: Change saved_errno to catia_saved_errno in a macro.
s3: VFS: fruit. Now we've gotten rid of SMB_VFS_OPEN(), add const to the functions called by fruit_openat().
s3: VFS: cap. Fixup mistake using the wrong parameter to capencode.
s3: libsmb: Info level SMB2_FIND_ID_BOTH_DIRECTORY_INFO encodes attibutes as a uint32, not a uint8.
s3: libsmb: Info level SMB_FIND_FILE_BOTH_DIRECTORY_INFO encodes attibutes as a uint32, not a uint8.
s3: libsmb: Info level SMB_FIND_INFO_STANDARD encodes attibutes as a uint16, not a uint8.
s3: libsmb: Info level SMB_FIND_EA_SIZE encodes attibutes as a uint16, not a uint8.
s3: torture: Add a MSDFS-ATTRIBUTE test.
s3: torture: Add test for getting attibutes on an MSDFS link.
s3: VFS: Change the function signature for SMB_VFS_READ_DFS_PATHAT() to take a non-const smb_filename.
s3: VFS: cap. Ensure read_dfs_pathat() returns stat info.
s3: VFS: catia. Ensure read_dfs_pathat() returns stat info.
s3: VFS: ceph. Ensure read_dfs_pathat() returns stat info.
s3: VFS: gluster. Ensure read_dfs_pathat() returns stat info.
s3: VFS: shadow_copy2. Ensure read_dfs_pathat() returns stat info.
s3: VFS: default. Ensure read_dfs_pathat() returns stat info.
examples: clifuse: Info level SMB_FIND_FILE_BOTH_DIRECTORY_INFO encodes attibutes as a uint32, not a uint8.
s3: libsmb: In struct file_info rename mode -> attr.
s3: libsmb: Internally rename to use the name attr instead of mode for attributes.
s3: libsmb: Internally rename to use the name attr instead of mode for attributes.
s3: libsmb: SMBC_chmod_ctx(), rename mode -> attr when setting attributes.
s3: libsmb: Change size of finfo->attr to uint32_t.
s3: libsmb: cli_smb2_qfileinfo_basic()/cli_smb2_qpathinfo2(). Rename a parameter from mode -> pattr.
s3: libsmb: clirap. Rename all mode/ *mode parameters to attr and pattr.
s3: libsmb: clifile.c: Rename all uint16_t *attr parameters to uint16_t *pattr.
s3: smbclient: Rename mode parameter to attr.
s3: libsmb: Change cli_smb2_qfileinfo_basic() and all users to return a uint32_t attribute.
s3: libsmb: Change cli_smb2_getattrE() to return 32 bit attributes.
s3: libsmb: Fix cli_smb2_getatr() to return a 32 bit attribute.
s3: libsmb: Change cli_smb2_qpathinfo2() to return a 32 bit attribute.
s3: libsmb: Change cli_qfileinfo_basic() to return 32-bit attributes.
s3: libsmb: Change cli_getattrE() and async versions to return a 32-bit attribute.
s3: libsmb: Rename uint16_t attr -> sattr (short attributes).
s3: libsmb: Change cli_getatr() and async versions to return a 32-bit attribute.
s3: libsmb: Change cli_qpathinfo2() and async versions to return a 32-bit attribute.
s3: libsmb: Change cli_qpathinfo3() to return a 32-bit attribute.
s3: libsmb: Change cli_qpathinfo1() and async version to return a 32-bit attribute.
s3: Fix dfs-reparse testing code to use 32-bit attributes. Change variable names mode -> attr.
s3: libsmb: Change cli_smb2_setatr() to use 32-bit attributes.
s3: libsmb: Make cli_list_old() take 32-bit attribute.
s3: libsmb: Make cli_list_trans() and cli_list take a 32-bit attribute.
s3: libsmb: Change cli_setatr() and async version to use 32-bit attributes.
s3: libsmb: Change cli_setpathinfo_ext() to take 32-bit attributes.
s3: libsmb: Change cli_setfileinfo_ext() and async version to take a uint32_t attr.
s3: libsmb: Change cli_unlink() and async version to take a uint32_t attribute.
s3: libsmb: cli_unlink() and async version. Don't allow attribtes > 16 bits on an old protocol send.
s3: libsmb: cli_setatr() and async version. Don't allow attribtes > 16 bits on an old protocol send.
s3: torture: Add simple tests to samba3.base.attr to check INVALID_PARAMETER returned on SMB1 out-of-range attribute use.
s3: client. Move to all 32-bit attributes in smbclient.
s3: selftest: Add samba3.blackbox.aio-outstanding test.
s3: smbd: Make smbXsrv_client_valid_connections() external.
s3: smbd: Allow a SHUTDOWN_CLOSE on a file with outstanding aio if there are no client connections alive.
s3: libsmb: Fix SMB2 client rename bug to a Windows server.
Jonathon Reinhart (2):
python: Fix userPrincipalName in GetPasswordCommand.get_account_attributes()
Remove unnecessary/incorrect talloc_steal() calls
Jule Anger (2):
pytdb: add python binding for storev()
pytdb tests: add test for storev()
Karolin Seeger (2):
WHATSNEW: Add release notes for Samba 4.13.0rc1.
VERSION: Disable GIT_SNAPSHOT for the 4.13.0rc1 release.
Marcos Mello (2):
Drop NotifyAccess=all from systemd units
winbind.service: drop quotes from $WINBINDOPTIONS variable
Martin Schwenke (43):
ctdb-tests: Silence a ShellCheck warning
ctdb-tests: Use a local "ctdb shutdown" command to avoid a race
ctdb-docs: Improve recovery lock documentation
ctdb-tests: Skipped tests should not cause failure
ctdb-tests: Use ctdb_test_skip() when shellcheck is not installed
ctdb-tests: Use ctdb_test_skip() when initscript can not be found
ctdb-tests: Add function ctdb_test_check_supported_OS
ctdb-tests: Skip "ctdb process-exists" tests when not on Linux
ctdb-tests: Split system socket test
ctdb-tests: Use built-in hexdump() in system socket tests
ctdb-daemon: more logical whitespace, debug modernisation
ctdb-tcp: Factor out function ctdb_tcp_start_outgoing()
ctdb-tcp: Do not stop outbound connection in ctdb_tcp_node_connect()
ctdb-daemon: Fix database attach deferral logic
ctdb-daemon: Remove unused old client database functions
ctdb-protocol: Add control flag CTDB_CTRL_FLAG_ATTACH_RECOVERY
ctdb-recovery: Use CTDB_CTRL_FLAG_ATTACH_RECOVERY to attach during recovery
ctdb-daemon: Respect CTDB_CTRL_FLAG_ATTACH_RECOVERY when attaching databases
ctdb-recovery: Replace use of ctdb_dbid_map with local db_list
ctdb-recovery: GET_DBMAP from all nodes
ctdb-recovery: Pass db structure for each database recovery
ctdb-recovery: Fetch database name from all nodes where it is attached
ctdb-recovery: Create database on nodes where it is missing
ctdb-recovery: Remove old code for creating missing databases
ctdb-daemon: Remove more unused old client database functions
ctdb-daemon: Don't allow attach from recovery if recovery is not active
ctdb-recoverd: Avoid dereferencing NULL rec->nodemap
ctdb-vacuum: Use vacuum_handle local variables
ctdb-vacuum: Store value of VacuumInterval in ctdb_vacuum_handle
ctdb-vacuum: Reschedule vacuum event if VacuumInterval has increased
util: Fix signed/unsigned integer comparison
ctdb-build: Fix a typo
ctdb-daemon: Add separate hot keys array for database statistics
ctdb-daemon: Switch some variables to unsigned
ctdb-daemon: Fix bug in slot 0 comparison optimisation
ctdb-daemon: Update hot key logging
ctdb-daemon: Add extra logging of hot keys
ctdb-daemon: Fix sorting of hot keys
ctdb-tests: Update fetch_ring to take database and key on command line
ctdb-tests: Add a new fetch ring test that also checks hot keys
util: Simplify input validation
util: Fix build on FreeBSD by avoiding NSS_BUFLEN_PASSWD
util: Reallocate larger buffer if getpwuid_r() returns ERANGE
Matt Taylor (2):
build: quota wscript error message spelling fix
build: add configure option to control vfs_snapper build
Michael Adam (2):
s4/torture: Unlink test file at the beginning of smb2.read.position
s4:torture/smb2: fix and improve the smb2.lock.replay test
Noel Power (126):
ctdb-tcp: move free of inbound queue to TCP restart
python/samba/gp_parse: Fix test errors with python3.8
s4/param: don't decref object we don't own
s4/param: treat NULL value passed to dict_insert as error
s4/param: py_sid shouldn't be decref'ed after insertion into dict
s3/utils: Fix double free error with smbtree
s3/selftest: Fix typo in test generator script
selftest: Allow ad_dc_ntvfs negotiate smb1 still
selftest: Create a file to exclude tests that fail with SMB1
selftest: Exclude SMB1 tests that would fail when SMB1 is disabled
selftest: disable SMB1 from testenv(s) make >=SMB2 the default
selftest: Allow rpc_proxy & s4member also negotiate SMB1
selftest: adjust skip_file (after adjusting s4member and rpc_proxy)
selftest: Add new test environment fileserver_smb1
script: Add testenv fileserver_smb1 to autobuild jobs
selftest/manage-ca: Add certificiate etc. for DC addcsmb1
selftest: Create new test env ad_dc_smb1
script: Add ad_dc_smb1 to autobuild jobs
selftest/target: Create new nt4_dc_smb1 environment
autobuild: Add new nt4_dc_smb1 env to jobs
selftest/target: Add new alias env ad_dc_default_smb1
autobuild: Add ad_dc_default_smb1 to autobuild jobs
selftest/target: create return_alias_env function for Samba3.pm
selftest/target: Add new alias environment ad_dc_smb1_done
autobuild: Add ad_dc_smb1_done to autobuild jobs
selftest/target: Add new alias environment fileserver_smb1_done
autobuild: Add fileserver_smb1_done to autbuild jobs
selftest/target: Create nt4_dc_smb1_done env (alias for nt4_dc_smb1)
autobuild: Add nt4_dc_smb1_done to autobuild jobs
selftest/target: Add test environment ad_dc_default_smb1_done
autobuild: Add ad_dc_default_smb1 to autobuild jobs
selftest: samba3.blackbox.* so it can run SMB1 & >= SMB2
selftest: Move samba3.blackbox.shadow_copy2 NT1 to fileserver_smb1
s3/selftest: Move samba3.blackbox.net.misc to ad_dc
s3/selftest: Change samba3.blackbox.net.misc desc. to include protocol
selftest: Move samba3.blackbox.net.misc NT1 to ad_dc_smb1 env
s3/selftest: move samba3.blackbox.smbspool to ad_dc_smb1
s4/selftest: Add smbclient (s3 version) binary to s4/tests
s4/selftest: Use s3 smbclient for samba4.blackbox.bogusdomain
s4/selftest: Use (s3) smbclient for test samba4.blackbox.kinit
s4/selftest: Adjust samba4.blackbox.samba_tool to use (s3) smbclient
s4/selftest: adjust samba.blackbox.pdbtest to use (s3) smbclient
s3/selftest: Move samba3.smbtorture_s3.plain.* tests to fileserver_smb1
s3/selftest: move base.delaywerite, base.deny1 & base.deny2 to _smb1 env
s3/selftest: Move various samba3.base.* tests to _smb1 environment(s)
s3/selftest: Move samba3.rap.basic & samba3.rap.rpc to _smb1 env
s3/selftest: Move samba3.unix.info2 to ad_dc_smb1 & nt4_dc_smb1
s3/selftest: Move various samba3.rpc.* tests to ad_dc_smb1
s3/selftest: Move various samba3.raw tests to _smb1 env
s3/selftest: Move samba3.base.createx_access to ad_dc_smb1 env
s3/sefltest: Move samba3.rap.sam to ad_dc_smb1 environment
s3/selftest: Move samba3.unix.whoami* tests to ad_dc_smb1
s3/selftest: Move samba3.raw.chkpath to ad_dc_smb1
s3/selftest: Move samba3.raw.session* to ad_dc_smb1
s3/selftest: Move samba3.base.rw1 to environment ad_dc_smb1
s3/selftest: Move samba3.raw.acls to ad_dc_smb1 env
s3/selftest: Move samba3.raw.read to ad_dc_smb1
s3/selftest: Move samba3.raw.search to ad_dc_smb1 environments
s3/selftest: Move samba3.rpc.samba3.netlogon to ad_dc_smb1
s4/selftest: move samba4.dfs.domain to ad_dc_smb1
s4/selftest: run samba4.libsmbclient.*.NT1.* tests in ad_dc_smb1
s4/selftest: Move failing samba4.rpc.authcontext.* (ad_dc) to ad_dc_smb1
s4/selftest: Move samba4.rpc.join tests from ad_dc to ad_dc_smb1
s4/selftest: Move samba4.smb.spnego to ad_dc_smb1
s3/selftest: Move samba3.blackbox.smbclient_ntlm.plain NT1 to _smb1_done
s4/selftest: Move samba.tests.auth_log to ad_dc_smb1
s4/selftest: Move samba.tests.auth_log_pass_change to ad_dc_smb1
s4/selftest: Move samba.tests.net_join_no_spnego to ad_dc_smb1
s4/selftest: Adjust samba4.blackbox.pkinit to use (s3) smbclient
s3/selftest: Move samba3.raw.lock & samba3.base.lock to nt4_dc_smb1
s3/selftest: Move samba3.base.rw1 to nt4_dc_smb1
s3/selftest: Move samba3.blackbox.smbclient_auth.plain to _smb1_done
s3/selftest: Remove unnecessary 'for' loop
s3/selftest: Move samba3.blackbox.smbclient_s3.NT1.crypt to nt4_dc_smb1
s3/selftest: Remove unnecessary for loop
s3/selftest: Move samba3.blackbox.smbclient_s3.NT1.plain to nt4_dc_smb1
s3/selftest: Move samba3.blackbox.smbclient_large_file*NT1 to nt4_dc_smb1
s3/selftest: Move samba3.rap.sam to nt4_dc_smb1
s3/selftest: Move samba3.blackbox.smbclient_ntlm.plain to nt4_dc_smb1
s3/selftest: Remove unnecssary for loop
s3/selftest: Move samba3.blackbox.smbclient_s3.NT1.sign to nt4_dc_smb1
s3/selftest: Move samba3.raw.acls* to nt4_dc_smb1
s3/selftest: Move samba3.raw.chkpath to nt4_dc_smb1
s3/selftest: Use variable for test env rather than hardcoding
s3/selftest: Move samba3.raw.notify & samba3.raw.oplock to nt4_dc_smb1
s3/selftest Move samba.raw.read to nt4_dc_smb1
s3/selftest: Move raw.samba3checkfsp, raw.samba3hide & raw.samba3closeerr
s3/selftest: Prep commit split handling for raw.samba3posixtimedlock
s3/selftest: Move samba3.raw.samba3posixtimedlock to ad_dc_smb1
s3/selftest: Move samba3.raw.samba3posixtimedlock to nt4_dc_smb1
s3/selftest: Move samba3.raw.search to nt4_dc_smb1
s3/selftest: Move samba3.raw.session to nt4_dc_smb1
s3/selftest: Move samba3.rpc.lsa.lookupsids to nt4_dc_smb1
s3/selftest: Move rpc.samba3.netlogon & rpc.samba3.sessionkey to nt4_dc_smb1
s3/selftest: Move samba3.smbtorture_s3.crypt_client.* to nt4_dc_smb1
s3/selftest: Move samba3.smbtorture_s3.crypt_server.TORTURE to nt4_dc_smb1
s3/selftest: Move samba3.smbtorture_s3.crypt.POSIX* to nt4_dc_smb1
s3/selftest: Move samba3.smbtorture_s3.plain.POSIX* to nt4_dc_smb1
s3/selftest Move samba3.smbtorture_s3.plain.MANGLE-ILLEGAL to ad_dc_smb1
s3/selftest: Move samba3.unix.whoami to nt4_dc_smb1
s4/selftest: Move samba.tests.libsmb to nt4_dc_smb1
s3/selftest Move samba3.smbtorture_s3.plain.RENAME-ACCESS to nt4_dc_smb1
s3/selftest: Move tests raw.samba3hide, raw.samba3checkfsp & raw.samba3closeerr
s3/selftest: Move tests raw.samba3hide, raw.samba3checkfsp & raw.samba3closeerr
selftest: Add 'hide new files timeout' related data to fileserver_smb1
s3/selftest: Move samba3.smbtorture_s3.hidenewfiles to fileserver_smb1
selftest: Modify fileserver_smb1 with vfs_aio params
s3/selftest: Move samba3.smbtorture_s3.vfs_aio* to fileserver_smb1
s4/selftest: Modify samba4.blackbox.chgdcpass to use smbclient(s3)
s4/selftest: Move samba4.ldap.nested-search to ad_dc_default_smb1
s4/selftest: Move samba4.ldap.passwordsettings to ad_dc_default_smb1
s4/selftest: Move samba4.rpc.join tests to ad_dc_default_smb1
selftest/knownfail.d Add samba3.blackbox.smbclient_ntlm.plain (NT1)
selftest/knownfail.d knownfail samba3.blackbox.smbclient_auth.plain
selftest/knownfail.d: Add samba3.blackbox.smbclient_s3.NT1
selftest/knownfail.d: Add entries for samba3.unix.whoami
selftest/knownfail.d: Add samba4.smb.signing disabled
selftest/knownfail.d: Add samba4.blackbox.smbclient
selftest/knownfail.d: samba3.blackbox.smbclient_basic.NT1.smbclient
selftest: Create instructions for generating skip file entries
selftest: Don't skip smb1 tests and remove associate skip file
selftest: Add list of tests to be ported
selftest/flapping: mark samba3.nbt.dgram.netlogon.* as flapping
s3/librpc/crypto: Fix double free with unresolved credential cache
selftest: Add basic smbcacls test(s)
selftest: run smbcacls test against a share with a DFS link
Peter Eriksson (2):
Undef ARRAY_SIZE, if defined, before define to avoid compilation warnings
Rename macro argument s_addr due to it already being defined
Ralph Boehme (336):
VFS: default: let vfswrap_is_offline() take conn, not handle
VFS: default: remove unused arg from vfswrap_is_offline()
VFS: default: avoid a crash in vfswrap_getxattrat_do_sync()
VFS: default: use correct type for pathlen in vfswrap_getxattrat_do_sync()
VFS: default: add support for FILE_ATTRIBUTE_OFFLINE to async dosmode
ctdb: add tail logs option to local_daemons.sh
smbd: ignore set NTACL requests which contain S-1-5-88 NFS ACEs
vfs_recycle: prevent flooding the log if we're called on non-existant paths
vfs_default: pass in state as the callback data to the subreq
vfs_default: Protect vfs_getxattrat_done() from accessing a freed req pointer
smbd: move pending aio cleanup to a helper function
smbd: call tevent_req_nterror() for directories when cleaning up pending aio
smbd: reuse close_free_pending_aio() in close_directory()
ctdb-daemon: ensure restart() callback is called in half-connected state
ctdb-tcp: always call node_dead() upcall in ctdb_tcp_tnode_cb()
ctdb-tcp: Remove redundant restart in ctdb_tcp_tnode_cb()
ctdb-tcp: rename ctdb_tcp_stop_connection() to ctdb_tcp_stop_outgoing()
ctdb-tcp: add ctdb_tcp_stop_incoming()
smbd: enforce AIO requests draining
s4/torture: fix a timestamps test to work on ext filesystem
torture/smb2: mtime update logic with 2 handles: write io on handle 1, then set mtime on handle 2
torture/smb2: add a test verifying a flush flushes a pending writetime update
torture/smb2: add a test verifying a setinfo(basicinfo) flushes a pending writetime update
smbd: always flush pending write time update when setting filesize
smbd: flush pending writetime update when flushing file
smbd: flush pending writetime update when setting timestamps file
torture/smb2: Windows 2019 15 ms timestamp resolution
smbd: remove stat call from mark_file_modified()
torture/smb2: delayed timestamp update test: single write
torture/smb2: delayed timestamp updates test: more then one write
smbd: let mark_file_modified() always call trigger_write_time_update()
smbd: let delayed update handler also update on-disk timestamps
vfs_fruit: remove internal directory cleanup logic
vfs_fruit: move fruit_unlink_internal() back into fruit_unlinkat()
smbd: use OpenDir() in count_dfs_links()
smbd: use OpenDir() in form_junctions()
smbd: make canonicalize_connect_path() public
smbd: use canonicalize_connect_path() in create_conn_struct_as_root()
vfstest: use OpenDir()
vfs_ceph_snapshots: use OpenDir() in ceph_snap_enum_snapdir()
vfs_ceph_snapshots: use OpenDir() in ceph_snap_gmt_convert_dir()
vfs_fruit: use OpenDir() instead of SMB_VFS_OPENDIR() in fruit_get_num_bands()
vfs_fruit: let fruit_get_num_bands() take bundle as const
vfs_fruit: pass e->d_name directly to fruit_tmsize_do_dirent()
vfs_fruit: use OpenDir() in fruit_disk_free()
vfs_streams_depot: use OpenDir() in walk_streams()
vfs_shadow_copy: use OpenDir() in shadow_copy_get_shadow_copy_data()
smbd: add create_internal_dirfsp_at()
vfs_shadow_copy2: use create_internal_dirfsp_at() and SMB_VFS_FDOPENDIR()
smbd: simplify non_widelink_open()
smbd: remove fdopendir() fallback
smbd: update smb_Dir_destructor() to cope with fsp->dptr not being set
smbd: reformat OpenDir() function definition
smbd: add open_internal_dirfsp_at()
smbd: use open_internal_dirfsp_at() and OpenDir_fsp() in OpenDir()
vfs: remove SMB_VFS_OPENDIR()
smbd: leave start at NULL, it's not used before being set to smbfname->basename
smbd: initialize end to NULL in unix_convert()
smbd: modernize unix_convert() replacing False with false
smbd: modernize unix_convert() replacing True with true
smbd: consolidate comments in unix_convert()
smbd: turn (*orig_path != '/') assert into a normal if check
smbd: modernize DEBUG in unix_convert()
smbd: use filename_convert() in smb_file_rename_information()
smbd: use a helper variable in filename_convert_internal()
smbd: remove struct privilege_paths
selftest: allow SMB1 in clusteredmember env
smbd: CHECK_READ macro reformatting
smbd: CHECK_READ_SMB2 macro reformatting
smbd: CHECK_READ_IOCTL macro reformatting
smbd: CHECK_WRITE macro reformatting
smbd: reformat calling ensure_canon_entry_valid_on_set() in unpack_canon_ace()
smbd: reformat an if expression in reply_readbraw()
smbd: reformat a function call in rename_internals_fsp()
smbd: reformat an if expression in smbd_smb2_close()
smbd: fix if expression that checks when to call vfs_fill_sparse()
smbd: reindent if expression in real_write_file()
smbd: move files_struct.kernel_share_modes_taken to a bitfield
smbd: move files_struct.update_write_time_triggered to a bitfield
smbd: move files_struct.update_write_time_on_close to a bitfield
smbd: move files_struct.write_time_forced to a bitfield
smbd: move files_struct.can_lock to a bitfield
smbd: move files_struct.can_read to a bitfield
smbd: move files_struct.can_write to a bitfield
smbd: move files_struct.modified to a bitfield
smbd: move files_struct.is_directory to a bitfield
smbd: move files_struct.aio_write_behind to a bitfield
smbd: move files_struct.initial_delete_on_close to a bitfield
smbd: move files_struct.delete_on_close to a bitfield
smbd: move files_struct.is_sparse to a bitfield
smbd: move files_struct.backup_intent to a bitfield
smbd: move files_struct.use_ofd_locks to a bitfield
smbd: move files_struct.closing to a bitfield
smbd: move files_struct.lock_failure_seen to a bitfield
selftest: remove unnecessary .* from flapping enty
selftest: add two more nbt.dgram flapping tests
s4/torture: fix timeval wrap in torture_libsmbclient_utimes() test
smbd: use helper variables in open_file()
smbd: let unix_convert() fail early if initial stat fails with EACCES
smbd: remove initial stat() EACCES handling from unix_convert()
smbd: change variable name start to name in unix_convert()
smbd: rename ctx variable to mem_ctx in unix_convert()
smbd: in unix_convert() replace all local variable with a state struct
smbd: use a different error out in one place in unix_convert()
smbd: factor out path loop in unix_convert()
smbd: remove goto from unix_convert_step()
smbd: factor out unix_convert_step_stat() from unix_convert_step()
smbd: use an early exit if stat succeeds in unix_convert_step_stat()
smbd: factor out unix_convert_step_search_fail()
smbd: add some logging to unix_convert()
smbd: add missing done check from unix_convert_step_stat() refactoring
s3/lib: add parent_smb_fname()
vfs_acl_common: use parent_smb_fname()
vfs_aio_pthread: use parent_smb_fname()
vfs_ceph: use parent_smb_fname()
vfs_default: use parent_smb_fname()
vfs_gpfs: use parent_smb_fname()
vfs_linux_xfs_sgid: use parent_smb_fname()
smbd: use parent_smb_fname() in can_delete_file_in_directory()
smbd: use synthetic_smb_fname() in check_parent_exists()
smbd: use parent_smb_fname() in unix_convert()
smbd: use parent_smb_fname() in copy_internals()
smbd: use parent_smb_fname() in check_parent_access()
smbd: use parent_smb_fname() in non_widelink_open()
smbd: use parent_smb_fname() in open_file_ntcreate()
smbd: use parent_smb_fname() in mkdir_internal()
smbd: use parent_smb_fname() in inherit_new_acl()
smbd: use parent_smb_fname() in parent_dirname_compatible_open()
smbd: use parent_smb_fname() in smb_unix_mknod()
smbd: use parent_smb_fname() in check_reduced_name_with_privilege()
smbd: use parent_smb_fname() in check_reduced_name()
smbd: pass struct smb_filename to directory_has_default_acl()
smbd: align file_set_dosmode() args one per line
smbd: pass struct smb_filename parent_dir to file_set_dosmode()
smbd: pass struct smb_filename smb_fname_parent to unix_mode()
smbd: add previous version timestamp to struct smb_filename
smbd: copy twrp in cp_smb_filename()
smbd: realign is_visible_file() args one per line
smbd: pass dirname as struct smb_filename to is_visible_file()
smbd: convert parent_dir arg of open_file() to struct smb_filename
smbd: convert inherit_access_posix_acl() arg parent_dir to struct smb_filename
smbd: convert inherit_from_dir arg of change_file_owner_to_parent() to struct smb_filename
smbd: convert inherit_from_dir arg of change_dir_owner_to_parent() to struct smb_filename
smbd: remove unneeded parent_dir variable from mkdir_internal()
s4/torture: add a comprehensive "non-oplock-break-trigger" access mask test case
s4/torture: add a comprehensive "non-lease-break-trigger" access mask test case
smbd: rename is_stat_open() to is_oplock_stat_open()
smbd: add is_lease_stat_open()
smbd: use is_lease_stat_open() in delay_for_oplock()
vfs_gpfs: pass smb_fname to gpfsacl_emu_chmod()
vfs_streams_depot: pass dirname to walk_streams()/collect_one_stream() as struct smb_filename
vfs_streams_depot: realign synthetic_smb_fname() to one arg per line
vfs_vxfs: realign vxfs_compare() args to one per line
vfs_vxfs: pass name as struct smb_filename to vxfs_compare()
smbd: realign args calling synthetic_smb_fname() in change_dir_owner_to_parent()
smbd: realign synthetic_smb_fname() args in check_reduced_name_with_privilege()
s3/lib: realign synthetic_smb_fname() args in synthetic_smb_fname_split()
vfs_catia: realign synthetic_smb_fname() args in catia_readdir_attr()
vfs_ceph_snapshots: realign synthetic_smb_fname() args in ceph_snap_fill_label()
vfs_ceph_snapshots: realign synthetic_smb_fname() args in ceph_snap_gmt_convert_dir()
vfs_default: realign synthetic_smb_fname() args in vfswrap_fs_capabilities()
vfs_default: realign synthetic_smb_fname() args in vfswrap_realpath()
vfs_fruit: realign synthetic_smb_fname() args in vfswrap_realpath()
vfs_fruit: realign synthetic_smb_fname() args in vfswrap_realpath()
vfs_fruit: realign synthetic_smb_fname() args in delete_invalid_meta_stream()
vfs_fruit: realign synthetic_smb_fname() args in fruit_get_bandsize()
vfs_glusterfs: realign synthetic_smb_fname() args in vfs_gluster_realpath()
vfs_gpfs: realign synthetic_smb_fname() args in gpfsacl_emu_chmod()
vfs_virusfilter: realign synthetic_smb_fname() args in quarantine_create_dir()
vfs_virusfilter: realign synthetic_smb_fname() args in infected_file_action_quarantine()
vfs_xattr_tdb: realign synthetic_smb_fname() args in xattr_tdb_get_file_id()
s3/printing: realign synthetic_smb_fname() args in driver_unlink_internals()
s3/printing: realign synthetic_smb_fname() args in print_spool_open()
s3/rpc_server: fss: realign synthetic_smb_fname() args in snap_path_exists()
smbd: realign synthetic_smb_fname() args in file_new()
smbd: realign synthetic_smb_fname() args in msg_file_was_renamed()
smbd: realign synthetic_smb_fname() args in open_np_file()
smbd: realign synthetic_smb_fname() args in smbd_dirptr_lanman2_entry()
smbd: realign synthetic_smb_fname() args in vfs_GetWd()
net: vfs: realign synthetic_smb_fname() args in net_vfs_get_ntacl()
smbd: add twrp arg to synthetic_smb_fname()
smbd: refactor canonicalize_snapshot_path()
smbd: move time_t twrp to @GMT string token conversion to canonicalize_snapshot_path()
smbd: let canonicalize_snapshot_path() fill in struct smb_filename.twrp
smbd: pass twrp as NTTIME to filename_convert() and all the way down to canonicalize_snapshot_path()
smbd: realign args of get_real_filename() and friends
smbd: pass struct smb_filename to get_real_filename()
smbd: realign smb_vfs_call_get_real_filename() args
vfs_glusterfs: realign vfs_gluster_get_real_filename() args
s3/vfs: change VFS interface comment to be a single multi-line comment
smbd: convert SMB_VFS_GET_REAL_FILENAME() arg path to be a struct smb_filename
smbd: make canonicalize_snapshot_path() public
smbd: call canonicalize_snapshot_path() on link target paths from client
smbd: vfs: convert link_contents arg of SMB_VFS_SYMLINKAT() to struct smb_filename
smbd: print twrp in smb_fname_str_dbg()
vfs_default: use cp_smb_filename_nostream() in vfswrap_streaminfo()
smbd: fullpath based on fsp->fsp_name may contain an @GMT token
smbd: realign smb_fname_base initialisation in dptr_ReadDirName()
smbd: set twrp in dptr_ReadDirName()
smbd: realign smb_fname member initialisation in smbd_dirptr_get_entry()
smbd: initialize twrp in smb_fname in smbd_dirptr_get_entry()
smbd: move a DEBUG in unix_convert()
smbd: set twrp in vfs_stat_smb_basename()
smbd: realign target_fname initialisation in process_symlink_open()
vfs_default: set twrp in smb_fname in vfswrap_get_dos_attributes_getxattr_done()
vfs_fruit: set twrp in smb_fname in fruit_fstat_meta_stream()
smbd: set twrp in target_fname in target_fname()
vfs_shadow_copy2: pass orig_name as struct smb_filename to shadow_copy2_strip_snapshot()
vfs_shadow_copy2: use smb_fname->twrp in shadow_copy2_strip_snapshot_internal()
vfs_shadow_copy2: use struct smb_filename.twrp instead of @GMT string token
vfs_snapper: pass struct smb_filename to snapper_gmt_strip_snapshot()
vfs_snapper: use struct smb_filename.twrp instead of @GMT string token
vfs_ceph_snapshots: pass struct smb_filename to ceph_snap_gmt_strip_snapshot()
vfs_ceph_snapshots: use struct smb_filename.twrp instead of @GMT string token
smbd: realigning a complex if expression in unix_convert()
smbd: realign stat_cache_add() args in unix_convert()
smbd: pass translated_path as const to stat_cache_add()
smbd: strip @GMT token in canonicalize_snapshot_path()
smbd: pass ucf_flags to canonicalize_snapshot_path()
smbd: remove processing of @GMT tokens from the SMB2 server
vfs_ceph_snapshots: fix return value of ceph_snap_gmt_strip_snapshot()
vfs_ceph_snapshots: remove @GMT token stripping from ceph_snap_gmt_strip_snapshot()
vfs_snapper: remove @GMT token stripping from snapper_gmt_strip_snapshot()
vfs_shadow_copy2: log caller location in shadow_copy2_strip_snapshot()
CI: add two tests for shadow_copy2 VFS module
smbd: make get_real_filename_full_scan() public
vfs_shadow_copy2: implement case canonicalisation in shadow_copy2_get_real_filename()
selftest: split a knownfail entry
s4/torture: reproducer for bug 14375
smbd: make conflicting_access available to other functions
smbd: fix for bug 14375
s3/locking: prime flags in a fresh sharemode data object
ctdb: increase TasksMax limit, the systemd default is just 512
s4/torture: add a *real* root_dir_fid test
smbd: move processing of root_dir_fid outside of SMB_VFS_CREATE_FILE()
vfs: remove root_dir_fid arg from SMB_VFS_CREATE_FILE()
smbd: refactor flags computation for fd_open() in open_directory() a bit
smbd: exit early in the error case in fd_open()
smbd: add open_flags arg to in open_internal_dirfsp_at()
smbd: update function documentation header to match actual function argument names
smbd: remove unused variable twrp_name from filename_convert_internal()
smbd: prepare for replacing SMB_VFS_READLINKAT() with SMB_VFS_STATX() in the future
smbd: move conn_rootdir_fname to non_widelink_open()
smbd: set fsp_name of conn->cwd_fsp
smbd: remove dirfsp arg from [create|open]_internal_dirfsp_at()
vfs_aio_pthread: pass smb_fname to open_async()
vfs_aio_pthread: pass smb_fname to create_private_open_data()
vfs_aio_pthread: SMB_VFS_OPEN() is called with cwd=parent directory of the file
vfs_aio_pthread: avoid parent_smb_fname()
smbd: rename open_internal_dirfsp_at() to open_internal_dirfsp()
smbd: rename create_internal_dirfsp_at() to create_internal_dirfsp()
smbd: move fstat from create_internal_dirfsp() to open_internal_dirfsp()
vfs: add dirfsp to struct files_struct
smbd: add flag "is_dirfsp" to the fsp_flags
smbd: handling of fsp->dirfsps in close_file()
smbd: add dirfsp arg to SMB_VFS_CREATE_FILE()
smbd: realign create_file_unixpath() args
smbd: pass dirfsp to create_file_unixpath()
smbd: realign args in calls to open_directory()
smbd: pass dirfsp to open_directory()
smbd: use dirfsp in open_directory()
smbd: set fsp->dirfsp in open_directory()
smbd: pass dirfsp to mkdir_internal()
smbd: fix SMB_VFS_MKDIRAT() arg alignment in mkdir_internal()
smbd: fix check_parent_access() args alignment in mkdir_internal()
smbd: use dirfsp in mkdir_internal()
smbd: set fsp->dirfsp in create_file_unixpath()
smbd: set dirfsp in the SMB2 DH reconnect
smbd: assert (fsp->dirfsp == conn->cwd_fsp) in open_file_ntcreate()
smbd: remove redundant conn arg from open_file()
smbd: realign args to open_file() in open_file_ntcreate()
smbd: realign args to fd_open_atomic() in open_file()
smbd: realign fd_open_atomic() args
smbd: remove redundant conn arg from fd_open_atomic()
smbd: remove redundant conn arg from fd_open()
smbd: realign non_widelink_open() args
smbd: remove redundant conn arg from non_widelink_open()
s3/vfs: add vfs_at_fspcwd()
vfs_fruit: pass down cwdfsp as dirfsp in fruit_open()
vfs: add SMB_VFS_OPENAT()
vfs_aio_pthread: realign create_private_open_data args
vfs_aio_pthread: realign create_private_open_data() args
vfs_aio_pthread: add dirfsp arg to create_private_open_data()
vfs_aio_pthread: implement SMB_VFS_OPENAT()
vfs_audit: implement SMB_VFS_OPENAT()
vfs_cap: implement SMB_VFS_OPENAT()
vfs_catia: implement SMB_VFS_OPENAT()
vfs_ceph: implement SMB_VFS_OPENAT()
vfs_ceph_snapshots: implement SMB_VFS_OPENAT()
vfs_commit: implement SMB_VFS_OPENAT()
vfs_default: implement SMB_VFS_OPENAT()
vfs_error_inject: implement SMB_VFS_OPENAT()
vfs_extd_audit: implement SMB_VFS_OPENAT()
vfs_full_audit: implement SMB_VFS_OPENAT()
vfs_shadow_copy2: implement SMB_VFS_OPENAT()
vfs_time_audit: implement SMB_VFS_OPENAT()
vfs_widelinks: implement SMB_VFS_OPENAT()
vfs_fruit: implement SMB_VFS_OPENAT()
vfs_glusterfs: implement SMB_VFS_OPENAT()
vfs_gpfs: implement SMB_VFS_OPENAT()
vfs_media_harmony: implement SMB_VFS_OPENAT()
vfs_prealloc: implement SMB_VFS_OPENAT()
vfs_preopen: implement SMB_VFS_OPENAT()
vfs_snapper: implement SMB_VFS_OPENAT()
vfs_streams_depot: implement SMB_VFS_OPENAT()
vfs_streams_xattr: implement SMB_VFS_OPENAT()
vfs_syncops: implement SMB_VFS_OPENAT()
vfs_unityed_media: implement SMB_VFS_OPENAT()
vfs_virusfilter: implement SMB_VFS_OPENAT()
vfs_xattr_tdb: implement SMB_VFS_OPENAT()
vfs_fruit: use SMB_VFS_NEXT_OPENAT()
vfs_shadow_copy2: use SMB_VFS_NEXT_OPENAT() in shadow_copy2_get_shadow_copy_data()
smbd: use SMB_VFS_OPENAT() in non_widelink_open()
s3/pysmbd: use SMB_VFS_OPENAT() in init_files_struct()
s3/torture: use SMB_VFS_OPENAT() in cmd_open()
s3/torture: use SMB_VFS_OPENAT() in cmd_set_nt_acl()
vfs: remove SMB_VFS_OPEN()
smbd: add fd_openat()
smbd: use fd_openat()
smbd: prepare fsp_str_dbg() for atnames
smbd: prepare DH disconnect for AT-names
smbd: remove dead code
smbd: don't free smb_fname_parent in unix_mode()
smbd: avoid become_user_without_service() in close_remove_share_mode()
smbd: avoid become_user_without_service() in close_directory()
smbd: RIP conn->origpath
s3:auth: fill in info3 domain name in passwd_to_SamInfo3()
libcli: simplify an if condition
smbd: simplify uid_entry_in_group()
lib/debug: assert file backend
lib/debug: set the correct default backend loglevel to MAX_DEBUG_LEVEL
smbd: increase loglevel when leases_db_del() with anything then NT_STATUS_NOT_FOUND
s3/leases: log NDR decoding failure with level 0 in leases_db_get_fn()
smbd: inverse if/else logic in get_lease_type()
smbd: let get_lease_type() take a non-const share_mode_entry
smbd: check for stale pid in get_lease_type()
Renaud Fortier (1):
ctdb-scripts: Update nfs-ganesha-callout
Rowland Penny (2):
samba-tool group show: only shows global security groups, this patch makes it show all groups.
samba-tool dns query --help: Someone forgot 'PTR' from the list of record types
Sachin Prabhu (3):
s4:torture: Add command line parameter --fullname
s4:torture/local: Add new test to check smbtorture --fullname
s4:selftest: test for smbtorture subunit names with and without --fullname
Samuel Cabrero (86):
selftest: Run python.samba.tests.dcerpc.raw_protocol against S3 ad_member
pidl:NDR/ServerCompat: Compat server PIDL parser
s3:rpc_server: Include generated boilerplate code
selftests: Test lsa over netlogon in nt4 dc environment
selftests: Tests only appropiate RPC interfaces are available in smb pipes
s3:rpc_server: Provide LSA ncacn_np secondary endpoint and LSA over Netlogon
s3:rpc_server: Register endpoint servers for embedded services
s3:rpc_server: Register endpoint servers in external epmd daemon
s3:rpc_server: Register endpoint servers in external lsasd daemon
s3:rpc_server: Register endpoint servers in external fssd daemon
s3:rpc_server: Register endpoint servers in external spoolssd daemon
s3:rpc_server: Register endpoint servers in external mdssd daemon
s3:winbindd: Register endpoint servers in winbindd daemon
s3:rpc_server: Add global dcesrv_context init and shutdown functions
s3:rpc_server: Initialize global dcesrv_context for embedded services
s3:rpc_server: Shutdown registered enpoint servers on server exit
s3:rpc_server: Reinitialize dcesrv_context in external epmd daemon
s3:rpc_server: Reinitialize dcesrv_context in external fssd daemon
s3:rpc_server: Reinitialize dcesrv_context in external mdssd daemon
s3:rpc_server: Reinitialize dcesrv_context in external lsasd daemon
s3:rpc_server: Reinitialize dcesrv_context in external spoolssd daemon
pidl:NDR/ServerCompat: Register and unregister legacy api_struct cmds
s3:rpc_server: Init registered endpoint servers for embedded services
s3:rpc_server: Init registered ep servers in external epmd daemon
s3:rpc_server: Init registered ep servers in external spoolssd daemon
s3:rpc_server: Init registered ep servers in external lsasd daemon
s3:rpc_server: Init registered ep servers in external fssd daemon
s3:rpc_server: Init registered ep servers in external mdssd daemon
s3:winbindd: Initialize dcesrv_context and ep servers in winbindd daemon
s3:rpc_server: Setup dcesrv_context callbacks
s3:rpc_server: Implement association group find callback
s3:rpc_server: Add a function to setup the endpoints
s3:rpc_server: Add a function to create the endpoints sockets
s3:rpc_server: Initialize the embedded services endpoints
s3:rpc_server: Initialize epmd connection endpoints
s3:rpc_server: Initialize lsasd connection endpoints
s3:rpc_server: Initialize fssd connection endpoints
s3:rpc_server: Initialize mdssd connection endpoints
s3:rpc_server: Initialize spoolssd connection endpoints
s3:rpc_server: Setup ncacn_ip_tcp sockets through endpoint init
s3:rpc_server: Create ncacn_ip_tcp sockets through enpoint init
s3:rpc_server: Setup ncalrpc sockets through endpoint initialization
s3:rpc_server: Create ncalrpc socket through endpoint initialization
s3:rpc_server: Listen in different socket for ncalrpc when role is AD DC
s3:rpc_server: Setup ncacn_np sockets through endpoint initialization
s3:rpc_server: Create ncacn_np sockets through endpoint initialization
s3:rpc_server: Remove unused members from dcerpc_ncacn_listen_state
s3:rpc_server: Drop dcerpc_binding_vector usage in the server side
s3:rpc_server: Retrieve the dcesrv_endpoint from prefork listen data
s3:rpc_server: Set a dcerpc_ncacn_conn termination function
s3:rpc_server: Retrieve dcesrv_context from parent context to open NP
s3:rpc_server: Store dcesrv context and endpoint in ncacn_conn
pidl:NDR/ServerCompat: Retrieve and setup pipes struct before dispatch
pidl:NDR/ServerCompat: Add dispatch, reply, pull and push functions to header
pidl:NDR/ServerCompat: Initialize and allocate out vars
pidl:NDR/ServerCompat: Generate local dispatching function
s3:rpc_server: Dispatch local calls through interfaces local handler
s3:winbindd: Dispatch RPC calls through interface local handler
s3:rpc_server: Update winspool generated server stub
s3:rpc_server: Switch to core dcerpc server loop
s3:rpc_server: Remove call to s3 rpc services shutdown code
s3:rpc_server: Remove s3 rpc server loop
s3:rpc_server: Remove dead code and unused struct members
s3:rpc_server: Remove api_struct
s3:rpc_server: Do not include s3 autogenerated headers
s3:rpc_server: Do not generate and build s3 RPC server code
s3:rpc_server: Remove unused RPC module init and shutdown callbacks
s3:rpc_server: Remove dead code
s3:rpc_server: Fix talloc_free() with references error on server exit
librpc:core: Make find_interface_by_uuid public
spoolss: Add NCALRPC endpoint
s3:rpc_server: Improve local dispatching
selftest: Add test for handle types
librpc: core: Move the s4 handles implementation to the RPC server core
s3: rpc_server: Strip out access check field from s3 handles implementation
s3: rpc_server: pass DCE/RPC handle type to find_policy_handle
s3: rpc_server: Remove SAMR specific policy_handle_create() function
s3: rpc_server: Move SAMR handle based access check to a wrapper function
s3: rpc_server: Remove SAMR specific policy_handle_find() function
pidl: Set dce_call in pipes_struct before dispatching call
s3: rpc_server: Drop s3 rpc handles implementation
s3: rpc_server: Remove dead code
s3: rpc_server: Avoid casts calling to find_policy_by_hnd()
selftest: Split samba4 epmapper expected failures into individual tests
s4:torture: Do not skip epmapper lookup terminate test in samba4
s4:rpc_server: Implement epmapper LookupHandleFree
Stefan Metzmacher (200):
s3:libsmb: pass dest_ss to cli_cm_connect() down to cli_connect_nb()
s3:libsmb: pass dest_ss to cli_cm_open()
s3:libsmb: use only a timeout of 250ms in name_resolve_bcast_send()
s3:libsmb: move cli_set_message() to source3/libsmb/nmblib.c
s3:wscript: move libsmb/clidgram.c to LIBNMB
s3:wscript: split out dsgetdcname subsystem
lib/tsocket: add a comment regarding TEVENT_FD_READ in tstream_bsd_connect_send()
lib/async_req: make sure we return errors early from async_connect_send/recv
s3:lib: s/result/req in open_socket_out_send()
s3:lib: avoid goto's in open_socket_out_send()
s3:lib: avoid calling async_connect_send() again and again in open_socket_out*()
lib/async_req: remove useless "reentrant" support from async_connect_send()
s3:smb2_tcon: pass down in_flags to smbd_smb2_tree_connect_send()
ldb: change the version to 2.2.0 for Samba 4.13
third_party: Update socket_wrapper to version 1.2.4
third_party: Update resolv_wrapper to version 1.1.6
s3:util_sec: fix the build on non-linux platforms
s4:torture/ldb: fix the build on FreeBSD
librpc/tests: make use of replace.h in test_ndr*.c
python/netcmd/dns: improve exception handling in cmd_delete_record()
python/netcmd/dns: improve exception handling in cmd_add_record()
samba_dnsupdate: fix --no-credentials handling
samba_dnsupdate: fix delete (samba-tool) message
selftest: make sure dns_hub.py exits on SIGINT
selftest: allow dns_hub.py to listen on more than one address
selftest: allow dns_hub.py to do forwarding to ipv6 servers
selftest: handle proc{killdom,limit}.samba.example.com in dns_hub
selftest: let get_env_for_process() include RESOLV_CONF
selftest: we have a global $ENV{UID_WRAPPER} = 1, don't set it again
selftest: split out Samba::mk_resolv_conf() helper
selftest: always explicitly use RESOLV_CONF
selftest: correctly use RESOLV_CONF from the DC environment or "no_resolv.conf"
selftest: {offlinebackupdc,restoredc,customdc} are disconnected from other environments
selftest: let realm_to_ip_mappings() return stable (sorted) results
selftest: pass ipv4 and ipv6 listener addresses to dns_hub.py
selftest: use 10.53.57.0/8 instead of 127.0.0.1/8
selftest: we no longer need '--use-dns-faking' on Linux and FreeBSD
bootstrap: add ubuntu2004 Ubuntu Focal Fossa (development branch)
bootstrap: add python3-pyasn1/python3-cryptography for kerberos testing
python/tests: let usage.py be more verbose on errors
python/tests/krb5: convert kcrypto.py to python3-cryptography and a few Samba helpers
s4:selftest: run samba.tests.krb5.kcrypto test
python/tests/krb5: add support for Cksumtype.MD5
python/tests/krb5: add rfc4120.asn1
python/tests/krb5: modify rfc4120.asn1 in order to generate pyasn1 code
python/tests/krb5: add raw_testcase.py as the base for our Kerberos protocol testing
python/tests/krb5: add simple_tests.py with the first simple test
s4:selftest: run samba.tests.krb5.simple_tests against ad_dc_default
.gitlab-ci.yml: actually run ubuntu2004-samba-o3
script/autobuild.py: add support git worktree
script/autobuild.py: use more portable 'cp -R -a -l'
script/autobuild.py: allow write_system_info commands to fail
lib/socket: let query_iface_speed_from_name() initialize memory passed to syscalls
lib/socket: autodetect RSS using ETHTOOL_GRXRINGS
interface: clarify the quoting for advanced "interfaces" options
docs-xml/smbdotconf: clarify the quoting for advanced "interfaces" options
s4:torture: add tests to test the SMB2 read/write offset/length boundaries
lib: util: Add sys_valid_io_range()
smb2_server: fix smbd_smb2_request_verify_sizes() for SMB2_OP_WRITE
s3:smbd: handle 0 length writes as no-op.
s3:smbd: add vfs_valid_{pread,pwrite}_range() helper functions
smbd: add vfs_valid_{pread,pwrite}_range() checks where needed
vfs_io_uring: fix the prefix for parametric options from 'vfs_io_uring' to 'io_uring'
vfs_io_uring: replace vfs_io_uring_request->state with _tevent_req_data()
vfs_io_uring: introduce vfs_io_uring_request->completion_fn()
vfs_io_uring: move error handling out of vfs_io_uring_pread_recv()
vfs_io_uring: move error handling out of vfs_io_uring_pwrite_recv()
vfs_io_uring: move error handling out of vfs_io_uring_fsync_recv()
vfs_io_uring: make use of sys_valid_io_range() in vfs_io_uring_pread_send()
vfs_io_uring: make use of sys_valid_io_range() in vfs_io_uring_pwrite_send()
vfs_io_uring: avoid stack recursion of vfs_io_uring_queue_run()
vfs_io_uring: split out a vfs_io_uring_request_submit() function
vfs_io_uring: split out a vfs_io_uring_pread_submit() function
vfs_io_uring: split out a vfs_io_uring_pwrite_submit() function
vfs_io_uring: protect vfs_io_uring_pread_completion() against invalid results
vfs_io_uring: protect vfs_io_uring_pwrite_completion() against invalid results
vfs_io_uring: protect vfs_io_uring_fsync_completion() against invalid results
vfs_io_uring: retry after a short read in vfs_io_uring_pread_completion()
vfs_io_uring: retry after a short writes in vfs_io_uring_pwrite_completion()
smbXsrv_client: fix debug message in smbXsrv_client_create()
smbXsrv_client: make sure that we store a valid blob
smb2_server: make sure we detect stale smbXsrv_connection pointers in smbXsrv_channel_global
s3:smbd: split out smbXsrv_connection_disconnect_transport()
smb2_server: let smbd_server_connection_terminate_ex() call smbXsrv_connection_disconnect_transport()
smb2_server: add and use a function that calculated the remaining channels
smb2_server: call smbXsrv_connection_disconnect_transport() early on network errors
smbXsrv_session: add a smbXsrv_session_disconnect_xconn() helper
smb2_server: do async shutdown for pending multi-channel requests
libgpo: Remove unused code
s3:cli_pipe: remove unused 'use_kerberos' from cli_rpc_pipe_open_generic_auth()
s3:net: remove unused net_use_machine_account()
s3:net: always set ctx->opt_user_specified = true when we overwrite opt_user_name
s3:net: add net_context_creds() helper function
s3:net: avoid prompting for a password if --use-ccache is used
s3:net: make use of cli_rpc_pipe_open_with_creds() by using net_context_creds()
s3:cli_pipe: improve debug messages in cli_rpc_pipe_open_with_creds()
s3:cli_pipe: remove unused cli_rpc_pipe_open_generic_auth()
examples/fuse/smb2mount: make use of get_cmdline_auth_info_creds()
s3:rpcclient: make use of get_cmdline_auth_info_creds() in cmd_spoolss.c
s3:mdfind: make use of get_cmdline_auth_info_creds()
s3:smbcquotas: make use of get_cmdline_auth_info_creds()
s3:smbcacls: make use of get_cmdline_auth_info_creds()
s3:libsmb: make use of get_cmdline_auth_info_creds() in get_ipc_connect()
s3:rpcclient: Use get_cmdline_auth_info_creds()
s3:rpc_server/spoolss: make use of cli_credentials_init_anon()
s3:libnet_join: make use of cli_credentials_init_anon()
s3:net: make use of cli_credentials_init_anon() in connect_to_ipc_anonymous()
s3:net: make use of net_context_creds() in connect_to_service()
s3:netlookup: make use of cli_credentials_init_anon()
s3:libnet_join: call cli_session_creds_init() directly
s3:net: make use of net_context_creds() in net_ads_printer_publish()
s3:locktest2: use cli_session_creds_init() directly
s3:libsmb_server: don't use auth related flags in SMBC_server_internal()
s3:libsmb_server: split out SMBC_auth_credentials() helper
s3:libsmb_server: make use of SMBC_auth_credentials() in SMBC_attr_server()
s3:libsmb_server: fix error handling in SMBC_server_internal()
s3:libsmb: remove unused cli_cm_force_encryption()
s3:libsmb: remove unused cli_full_connection()
s3:smbspool: avoid using CLI_FULL_CONNECTION_{USE,FALLBACK_AFTER}_KERBEROS flags
s3:torture: don't use CLI_FULL_CONNECTION_USE_KERBEROS in open_nbt_connection()
s3:rpcclient: avoid using auth related CLI_FULL_CONNECTION_* flags
examples/fuse/smb2mount: avoid using CLI_FULL_CONNECTION_{USE,FALLBACK_AFTER}_KERBEROS flags
s3:libsmb: remove finally unused credential flags
s4:torture:smb2: use delete-on-close in test_rw_invalid()
s3:libsmb: add a cache for cli_session_creds_prepare_krb5()
s3:libads: remove unused "GSSAPI" support
third_party/socket_wrapper: Update socket_wrapper to version 1.2.5
s4:torture/smb2: make smb2.lock.replay_broken_windows more obvious
s4:torture/smb2: add smb2.lock.replay_smb3_specification test
s3:smbXsrv.idl: add lock_sequence_array to smbXsrv_open_global0
s3:smbXsrv_open: initialize smbXsrv_open_global->lock_sequence_array with 0xFF
s3:smb2_lock: pass in_lock_sequence to smbd_smb2_lock_send()
docs-xml/smbdotconf: add "smb2 disable lock sequence checking"
s3:smb2_lock: implement lock_sequence replay detection
selftest/Samba3: support durable handles on the 'aio' share
s4:torture/smb2: remove MULTI_CHANNEL checking from smb2.replay.channel-sequence
s4:torture/smb2: adjust durable v2 tests to pass against Windows Server 2019
s3:smbd: fix the handling of the durable_v2_timeout
s4:torture/smb2: add smb2.delete-on-close-perms.BUG14427
s3:smbd: reformat if statement for caching in vfs_ChDir()
s3:smbd: make sure vfs_ChDir() always sets conn->cwd_fsp->fh->fd = AT_FDCWD
s3:leases: log errors with level 0 in leases_db_do_locked_fn()
s3:smbd: check for stale pid in delay_for_oplock_fn() when leases_db_get() fails
s3:wscript: vfs_gpfs needs kernel oplock support
selftest/Samba4: split out _setup_ad_dc()
lib/torture: make torture_subunit_test_name() public
lib/torture: add back links to the parent objects
lib/torture: fix subunit names of nested suites
s4:torture: use prefix_name() for all names in run_matching()
s4:torture: avoid multiple recursions into the test lists
lib/util: add generate_unique_u64() helper function
s3:g_lock: avoid very expensive generate_random_buffer() in g_lock_parse()
s3:locking: convert share_mode_lock.c to generate_unique_u64()
s3:dbwrap_watch: avoid recursion into dbwrap_do_locked() from dbwrap_watched_do_locked_{storev,delete}()
s3:includes: change OPLOCK_BREAK_TIMEOUT from 30 to 35 seconds
libcli/smb: define FSCTL_SMBTORTURE_FORCE_UNACKED_TIMEOUT
s4:param: use struct initializer in lpcfg_smbcli_options()
s4:param: use struct initializer in lpcfg_smbcli_session_options()
s4:libcli/smb2: allow smb2_connect*() to fake session and tcon
s4:libcli/smb2: add const to struct smbcli_options *options for smb2_connect()
s4:torture/smb2: add const to options for test_multichannel_create_channel()
s4:torture/smb2: make use of transport_options.only_negprot for multichannel connections
s4:torture/smb2: add break_info.oplock_skip_ack
s4:torture/smb2: refactor block.c to block the OUTPUT path
s4:torture/smb2: make use of FSCTL_SMBTORTURE_FORCE_UNACKED_TIMEOUT
s4:torture/smb2: move smb2_transport blocking to the generic block.[ch]
s4:torture/smb2: split smb2.oplock.batch22 into a and b
s4:torture/smb2: fix smb2.multichannel.leases.test2 against windows
s4:torture/smb2: remove useless 'smb2.multichannel.leases.test4'
s4:torture/smb2: (re-)add smb2.multichannel.leases.test4
s4:torture/smb2: add smb2.multichannel.oplocks.test3{_windows,specification}
s3:smbd: remove dead code from smbd_smb2_send_break()
s3:smbd: pass down session_id to smbd_smb2_send_break()
s3:smbd: remove unused session,tcon parameters from smbd_smb2_send_oplock_break()
s3:smbd: add smbd_server_disconnect_client[_ex]()
s3:smbd: pass smbXsrv_client to downgrade_lease()
s3:smbd: pass down smbXsrv_client to smbd_smb2_send_{oplock,lease}_break()
s3:smbd: setup client->global->client_guid even without multichannel support
s3:smbd: avoid dereferencing client->connections
s3:smbd: introduce smbXsrv_pending_break infrastructure
s3:smbd: add smbd_smb2_send_queue.sendfile_body_size
s3:smbd: convert smbd_smb2_send_break() into async smbd_smb2_break_send/recv()
docs-xml/smbdotconf: add "smb2 disable oplock break retry"
s3:smbd: add logic to retry break notifications on all available channels
s3:smbd: add infrastructure to wait for TCP acks
s3:smbd: force multi-channel to be turned off without FreeBSD/Linux support
s3:smbd: make use of the new ack infrastructure for oplock/lease breaks
s3:smbd: implement FSCTL_SMBTORTURE_FORCE_UNACKED_TIMEOUT
selftest/Samba3: make use of 'smbd:FSCTL_SMBTORTURE = yes'
s3:ctdbd_conn: make use of ctdbd_control_local() in ctdbd_register_ips()
s3:ctdbd_conn: make use of samba_sockaddr in ctdbd_connect()
s3:ctdbd_conn: add ctdbd_control_get_public_ips() and ctdbd_find_in_public_ips()
s3:smbd: consistently use DLIST_ADD* to fill client->connections in smbd_add_connection()
s3:smbd: handle NETWORK_ACCESS_DENIED in smbXsrv_client_connection_pass_loop()
s3:smbd: fill in xconn->client early in smbd_add_connection()
s3:smbd: make sure we detect stale smbXsrv_connection pointers in smbXsrv_session_auth0
s3:smbd: make sure smbXsrv_connection_disconnect_transport() closes the socket fd
s3:smbd: make smbXsrv_client_connection_pass_loop() more robust
s3:smbd: disconnect the all client connections if a ctdb public ip dropped
s3:smbd: skip ctdb public ips in fsctl_network_iface_info()
Steven Noonan (1):
interface: allow overriding speed/cap/if_index for named interfaces
Swen Schillig (7):
prevent NULL reference from being used as '%s' argument.
[s4] possible memleak in torture vfs-fruit
ctdbd_conn: possible memleak in ctdbd_working
ctdbd_conn: possible memleak in ctdbd_dbpath
ctdbd_conn: possible memleak in ctdbd_db_attach
dbwrap: fix comment in code leading to wrong function parameter
dbwrap: fix possible memleak and false result check.
Volker Lendecke (250):
libsmb: Add a NULL check
libsmb: Align calls to SMBC_dlist_contains()
libsmb: Make SMBC_dlist_contains return bool
libsmb: Simplify callers of SMBC_dlist_contains()
libsmb: Remove a pointless ZERO_STRUCT()
libsmb: Use IS[DOT]DOT
libsmb: Avoid casts
libsmb: Don't pass "sbuf" to cli_posix_stat_send()
torture4: Use torture_assert_not_null where appropriate
torture4: Use higher-level torture macros
selftest: Consolidate planning libsmbclient tests to source4
selftest: We don't need an AD DC for libsmbclient tests
selftest: Slightly simplify setting up libsmbclient tests
libsmb: Pass the correct path to cli_posix_stat()
libsmb: Fill in device which we don't get from cli_posix_stat
s3:lib: Allow open_socket_out without a timeout
selftest: Remove an obsolete knownfail entry
selftest: Remove an unnecessary space character
selftest: Assemble smbtorture arguments as a list
selftest: Factor out smbtorture4testsuite_cmdarray()
selftest: Introduce planlibsmbclienttest()
selftest: Run libsmbclient with and without unix extensions
test: Fix a copy&paste error
winbindd: Align integer types
libsmb: Fix a typo
selftest: Fix usage check of test_smbtorture_s3.sh
selftest: Run smbtorture3 SHORTNAME-TEST without unix extensions
libsmb: Factor out fetch_file_unix_basic_info()
libsmb: Introduce fetch_file_unix_basic_info2()
libsmb: Implement SMB_FIND_FILE_UNIX_INFO2 dir listing
libsmb: Use posix result in SMBC_readdirplus2_ctx
libsmb: Use posix open in SMBC_open_ctx
selftest: run libsmbclient unix ext tests against "posix_share"
selftest: Inform smbtorture about running with unix extensions
selftest: Adapt libsmbclient.readdirplus2 to unix extensions
libsmbclient: Put it back to a known, well-working state
smbd: Fix a comment, "flags" expanded to 2 bytes
lib: Fix a typo
libcli: Align integer types
libsmb: Don't try to find posix stat info in SMBC_getatr()
lib: Simplify writev_cancel()
lib: Remove unused SOCKET_FLAG_BLOCK
libsmb: Make sure that the TCP socket is non-blocking
winbind: Set the parent->child sock nonblocking
lib: Use optimize_empty in writev_send()
lib: Try nonblocking writes in writev_send()
lib: Add macro ARRAY_DEL_ELEMENT()
lib: Use ARRAY_DEL_ELEMENT in messaging_dispatch_waiters()
libsmb: Use ARRAY_DEL_ELEMENT() in sort_acl()
sharesec: Use ARRAY_DEL_ELEMENT() in sort_acl()
smbcacls: Use ARRAY_DEL_ELEMENT() in sort_acl()
smbd: Use ARRAY_DEL_ELEMENT() in brl_unlock_windows_default()
smbd: Use ARRAY_DEL_ELEMENT() in smbd_smb1_blocked_locks_cleanup()
smbd: Use ARRAY_DEL_ELEMENT() in merge_default_aces()
libsmb: Use ARRAY_DEL_ELEMENT() in remove_duplicate_addrs2()
vfs_fruit: Use ARRAY_DEL_ELEMENT() in filter_empty_rsrc_stream()
vfs_fruit: Use ARRAY_DEL_ELEMENT() in del_fruit_stream()
dsdb: Use ARRAY_DEL_ELEMENT() in dirsync_filter_entry()
libcli: Use ARRAY_DEL_ELEMENT() in security_descriptor_acl_del()
ldb: Use ARRAY_DEL_ELEMENT() in ldb_kv_msg_delete_element()
ldb: Use ARRAY_DEL_ELEMENT() in ldb_kv_index_del_value()
ldb: Use ARRAY_DEL_ELEMENT() in ldb_dn_extended_filter()
ldb: Use ARRAY_DEL_ELEMENT() in ldb_dn_set_extended_component()
tdbtorture: Use ARRAY_DEL_ELEMENT()
lib: Fix a signed/unsigned warning
libsmb: Remove a typedef
lib: Avoid casts in ctdb_packet_dump()
torture4: Allow DBG output in libsmbclient tests
smbclient: Remove some unnecessary declarations
smbclient: Remove function set_remote_times()
libsmb: Add cli_setfileinfo_send/recv()
libsmb: Use cli_setfilefinfo_send() in cli_nt_delete_on_close_send()
libsmb: Use cli_setfileinfo_send() in cli_ftruncate_send()
libsmb: Make cli_setpathinfo_ext() take structs instead of pointers
smbtorture3: Call cli_setpathinfo_ext() instead of .._basic()
libsmb: Pass "struct timespec" to SMBC_setatr()
libsmb: Call cli_setpathinfo_ext() instead of .._basic()
libsmb: Remove unused cli_setpathinfo_basic()
libsmbclient: Don't throw away nsec fields in stat()
torture: Test smbc_utimes()
libsmb: Respect the full timeval for smbc_utimes()
smbclient: Simplify browse_host()
libsmb: Remove unused cli_NetWkstaUserLogon()
libsmb: Move get_ipc_connect_master_ip_bcast() to smbtree.c
smbtree: Align integer types
ctdb: Fix a memleak
pidl: Align integer types in scompat files
libsmb: Slightly simplify get_ipc_connect()
smbtree: Add "fail:" target, more failure paths with follow
utils: Convert smbtree to use libsmbclient
libsmb: Move clirap2.c to utils/
lib: Fix a valgrind error
ctdb: Fix duplicate ;;
ctdb-protocol: Add new control CTDB_CONTROL_ECHO_DATA
ctdb-protocol: Add marshalling for struct ctdb_echo_data
ctdb-protocol: Add marshalling for control ECHO_DATA
ctdb: Implement CTDB_CONTROL_ECHO_DATA
libsmb: Factor out prep_basic_information_buf()
libsmb: Add cli_setfileinfo_ext()
torture3: test readdir timestamp
torture3: Fix the local-dbwrap-ctdb test
torture3: Rename LOCAL-DBWRAP-CTDB->LOCAL-DBWRAP-CTDB1
selftest: Run local-dbwrap-ctdb1 test
lib: Add ctdbd_init_async_connection()
lib: Add ctdbd_prep_hdr_next_reqid()
lib: Add ctdbd_req_send/recv
torture3: Test ctdb_req_send/recv
lib: Use ctdbd_req_send/recv in ctdb_parse_send/recv
lib: Remove unused ctdbd_setup_fde() and callees
lib: Nobody sets ctdbd_connection->fde anymore, remove it
lib: Remove unused elements from ctdbd_connection
vfs_widelinks: Fix small typos
vfs_virusfilter: Fix canonicalizing socket path
locking: Move SMB_OFF_T_BITS macro to its only user
locking: Move br_off typedef to where it's used
registry3: Align a few integer types
torture4: Move a variable declaration closer to its use
lib: Remove two unused macro definitions
lib: Fix a comment
rpc_server3: Align integer types
net: "net g_lock locks" needs to print binary keys
net: Add g_lock dumpall
librpc: Align integer types
lib: Move push_skip_string() to clirap2.c
libsmb: Add a NULL check after talloc_strdup()
libsmb: Use talloc_strndup() to cut a backslash
libsmb: Align integer types in net_share_enum_rpc()
libsmb: Add a NULL check
smbd: Simplify share_mode_entry_get()
smbd: Simplify reset_share_mode_entry()
smbd: Make sure share_mode_entry_do() maintains sorting order
smbd: Make share_mode_entry_find() take a const pointer
smbd: Convert get_share_mode_blob_header() to use a const ptr
smbd: Make share_mode_memcache_fetch() use a const ptr
smbd: Make parse_share_modes() use a const ptr
smbd: Make share_mode_do_locked() use a const uint8_t *
smbd: Make share_mode_for_one_entry() use just a uint8*
libsmb: Fix indentation in cli_RNetShareEnum()
libsmb: Protect cli_RNetShareEnum() against rprcnt<6
libsmb: Protect cli_RNetServerEnum against rprcnt<6
libsmb: Protect cli_oem_change_password() from rprcnt<2
test: Make local.event.*.fd1 a bit less flapping
srvsvc: Introduce ctx3 helper var in enum_file_fn()
srvsvc: Use a struct assignment in enum_file_fn()
srvsvc: Directly use "ctr3->count" instead of "i"
srvsvc: Use a struct initializer in net_enum_files()
srvsvc: Collect file ids in enum_file_fn()
rpcclient: Use struct initializers in cmd_srvsvc_net_file_enum()
rpcclient: Make netfileenum cmd print the path names
test: Show that netfileenum is broken
srvsvc: Move brl_get_locks() out of enum_file_fn()
dbwrap: Simplify dbwrap_lock_order_[un]lock()
dbwrap: Make dbwrap_lock_order_[un]lock() public
lib: Allow DBWRAP_LOCK_ORDER_NONE in db_open()
lib: Add g_lock_watch_data_send/recv()
torture: Test g_lock_watch_data_send()/recv()
lib: Add g_lock_wake_watchers()
lib: Add g_lock_seqnum()
lib: Allow additional dbufs in g_lock_store()
lib: Add g_lock_writev_data
lib: Add g_lock_set_lock_order()
lib: Add g_lock_dump_send/recv
smbd: Base locking.tdb on g_lock.c
smbd: Move share mode entry parsing up in the file
smbd: Store share_entries in locking.tdb again
winbindd: Fix a use-after-free when winbind clients exit
tevent: Fix a tevent tutorial error
libsmb: Align calls to SMBC_dlist_contains()
libsmb: Make SMBC_dlist_contains return bool
libsmb: Simplify callers of SMBC_dlist_contains()
libsmb: Remove a pointless ZERO_STRUCT()
libsmb: Use IS[DOT]DOT
libsmb: Avoid casts
libsmb: Remove some lines that were never used
libsmb: Move a variable declaration closer to its use
torture3: Remove some ancient unused code
libsmb: Remove unused cli_errstr()
libsmb: Apply some const to parse_finfo_id_both_directory_info()
libsmb: Remove an outdated comment
libsmb: Trim #includes
libsmb: Remove clistr_pull_talloc()
libsmb: Use async cli_smb2_unlink in async cli_unlink
libsmb: Use tevent_req_simple_finish_ntstatus() in cli_unlink_done()
libsmb: Remove sync cli_smb2_unlink()
pylibsmb: Use async cli_unlink also for smb2
smbclient: Reformat a call to cli_ntcreate()
smbclient: Remove the CREATE_ACCESS_READ #define
libsmb: Reformat calls to cli_ntcreate()
libsmb: Remove the CREATE_ACCESS_READ #define
smbcacls: Reformat a call to cli_ntcreate()
smbcacls: Remove the CREATE_ACCESS_READ #define
smbcacls: Align integer types
smbcacls: Fix typo "inherated"->"inherited"
libsmb: Use async cli_smb2_rmdir in async cli_rmdir
libsmb: Use tevent_req_simple_finish_ntstatus() in cli_rmdir_done()
libsmb: Remove sync cli_smb2_rmdir()
pylibsmb: Use async cli_rmdir also for smb2
libsmb: Add async cli_smb2_chkpath_send/recv()
libsmb: Use async cli_smb2_chkpath in async cli_chkpath
libsmb: Remove sync cli_smb2_chkpath()
pylibsmb: Use async cli_chkpath also for smb2
libsmb: Add async cli_smb2_mkdir_send()/recv()
libsmb: Use async cli_smb2_mkdir in async cli_mkdir
libsmb: Remove sync cli_smb2_mkdir()
pylibsmb: Use async cli_mkdir also for smb2
libsmb: Use tevent_req_received() in cli_qfileinfo_recv()
torture3: Check error code for quotactl on a non-quota file handle
smbd: Protect smbd_smb2_getinfo_send() against invalid quota files
libsmb: Add async cli_qfileinfo_basic
torture3: Use cli_qfileinfo_basic() in run_posix_append()
net: Copy hires timestamps in net_copy_fileattr()
net: Align integer types, move variable closer to its use
libsmb: Use SMBgetattrE in cli_qfileinfo_basic_send() if necessary
libsmb: Remove cli_getattrE() fallback from cli_qfileinfo_basic() users
libsmb: Remove unused sync version of cli_getattrE()
libsmb: Make qfileinfo_basic available for smb2 in async mode
pylibsmb: Use cli_qfileinfo_basic_send() in py_smb_filesize()
libsmb: Use cli_qfileinfo_basic() in cli_smb2_getatr()
libsmb: Remove unused cli_smb2_getattrE()
torture3: Fix a debug message
libsmb: Use cli_qfileinfo_basic() in cli_smb2_qpathinfo2()
libsmb: Remove unused cli_smb2_qfileinfo_basic()
registry3: Fix a typo
libsmb: Fix a typo
vfs: Fix typos
smbclient: Align some integer types
smbclient: Align integer types
smbclient: Do early return in do_list_helper().
smbclient: Slightly simplify do_list()
smbclient: Simplify do_list_helper()
smbclient: Simplify the queue for recursive listing
smbclient: Simplify do_list()
net: Align integer types
tsocket: Fix a typo
smbd: Fix typos
lib: Move a #define ip_equal_v4() to nmbd/nmbd.h
smbd: Reduce indentation in check_reduced_name()
smbd: Apply a bit of README.Coding to unix_convert()
libcli: Slightly simplify smb2cli_req_recv() with an early return
libcli: Move IO_REPARSE_TAG definitions to smb_constants.h
libcli: Add tevent_req_received() calls to smb2cli_create_recv()
libsmb: Add overflow protection to symlink_reparse_buffer_marshall()
lib: Remove an unused macro
ldb: Avoid a cast (unsigned long long) in ldbmodify.c
vfs: Move reparse point functions to util_reparse.c
ldb_ldap: Fix a memleak
pdb_dsdb: Fix typos
ldap_client: Make ldap_parse_basic_url take care of ldapi as well
ldap_client: Align integer types
ldap_client: Make ldap_parse_basic_url() IPv6-address aware
awalker (1):
lib:param: Fix memory leak in lpcfg_load_internal()
-----------------------------------------------------------------------
--
Samba Shared Repository
More information about the samba-cvs
mailing list