The annotated tag, ldb-2.2.0 has been created at 93a3abc51ae9e3653726a243e2ec80567340a2c8 (tag) tagging 9f3d2ba7ee9e41ddeee376aa74785199ef3dc8a2 (commit) replaces ldb-2.1.1 tagged by Stefan Metzmacher on Thu Jul 9 14:09:46 2020 +0200
- Log ----------------------------------------------------------------- ldb: tag release ldb-2.2.0 -----BEGIN PGP SIGNATURE----- iQEzBAABCgAdFiEEkUejOXGVGO6QEby1R5ORYRMIQCUFAl8HCQoACgkQR5ORYRMI QCUOhgf+J3clc9kfzDHab5HMqfWD1efX5FXMCQr4t/CcxQSWrC6sIpMbBiGbVHHO 9fTvPDAyNQafdbkeuBz4RrLai4gG8EDvaCCwyf2QssJ0JOe59ExPhnyDWCq36PUS +ZA6LbqlgIMSTPoLSOD4M5RxU8/MON0ep3p++SKQK228auZlTfDZnJc87zGON1qR d0ioSPXQfhQc2fy7GGtSDLcmitpqERkiuXKshfpFMVnk3f8vY/v44n6PUsYJd4x1 pY4WFaTahoYCW+fdaPgUzdvmS6ZpYH5N2W81kmMea0H4iQqYSd3Kizjb1PgrtT4S 0Cbi0d9QDznKiJaT5bbK9b81mhnuHA== =1xhG -----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 (1): nsswitch: silence openpam error messages about unexpected responses 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 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 (15): 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 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 (8): 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 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() 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 (124): 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 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 (329): 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() 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 Samuel Cabrero (83): 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() Stefan Metzmacher (138): 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 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 (246): 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 awalker (1): lib:param: Fix memory leak in lpcfg_load_internal() ----------------------------------------------------------------------- -- Samba Shared Repository