The annotated tag, tdb-1.4.13 has been created
at 4eecdddda492e3030977872f32b8a0f8165ea07e (tag)
tagging 70a8c7a89a6d62d2ff172d79b5f4e6439300b88d (commit)
replaces tdb-1.4.12
tagged by Jule Anger
on Thu Feb 6 13:36:20 2025 +0100
- Log -----------------------------------------------------------------
tdb: tag release tdb-1.4.13
-----BEGIN PGP SIGNATURE-----
iQEzBAABCgAdFiEEkUejOXGVGO6QEby1R5ORYRMIQCUFAmekrMQACgkQR5ORYRMI
QCWhjQf8D7a0Z9cbPUknJgvwSRbfp1LmdA6/GgJczn8eAeLI8VW92CXHprCVkkWH
mALGKTwDdyJ1wCscqDO7Sh1tX2sb84HsxYILQwZaGFSKacr9AOvz8zMHhzX3aNJn
ULnO28qMx2NsgKChOg+KeHVPZ1uv5u1z5pPKSpTqeqX0I/5WAKL6b88MAsqtVqVJ
YqW2t+hTIBUbyAm36wo32tQF0XMnw+L5JWWJ2M9zq7Hu2UNx4MzMXOaaqdJLvveO
ZoNee1a98KPp4wiaonjx6/X+2Rqs9FGmyHO4ulif9jvRiw1SZ11SoVsGwevjtdUu
P/YeKrUOCihIb3fotiNkWRuvgzgZrA==
=zm59
-----END PGP SIGNATURE-----
Alexander Bokovoy (2):
kdc: warn if DES-only keys enforced on the account
sync machine password to keytab: handle FreeIPA use case
Andreas Schneider (69):
README: Add languages to code blocks for highlighting
ldb: Build lmdb backend also in non-AD case
lib:ldb: Use tdb_parse_record() in ldb_kv_dn_list_load()
lib:ldb: Use tdb_parse_record() in ldb_kv_dn_list_store()
lib:ldb: Use tdb_parse_record() in ldb_kv_sub_transaction_traverse()
lib:ldb: Use tdb_traverse_read() in ldb_kv_index_sub_transaction_commit()
s3:client: Improve error message on cli_setatr() failure
s3:tests: Track the status of smbcquotas and not tr
s3:tests: Write stderr to file to be able to print it on failure
lib:ldb: Remove trailing spaces from ldb_modules.c
lib:ldb: Don't use RTLD_DEEPBIND by default
lib:ldb: Remove trailing spaces from ldb.3.xml
lib:ldb: Document environment variables in ldb manpage
lib:talloc: Remove trailing spaces from testsuite.c
lib:talloc: Use memset_s() to avoid the call gets optimized out
lib:talloc: Add talloc_zero vs calloc test
lib:talloc: Don't optimize the speed test
lib:talloc: Increase alloc size to 128 kilobytes
lib:talloc: Use tabs to align output in speed test
doc: Update doc about talloc vs malloc speed
s3:notifyd: Use a watcher per db record
nsswitch: Fix memory leak in wbinfo_auth_krb5()
nsswitch: Fix memory leak in nsstest
nsswitch: Fix memory leak in wbcDomainInfoList
s4:torture: Remove trailing spaces in winbind.c
s4:torture: Fix memory leak in torture_decode_compare_pac()
s4:client: Remove trailing spaces in client.c
s4:client: Fix memory leaks in smblcient4
s3:utils: Fix memory leak in ntlm_auth
s3:utils: Remove trailing spaces in ntlm_auth_diagnostics.c
s3:utils: Fix memory leak in ntlm_auth_diagnostics
s3:utils: Fix memory leak in test_lmv2_ntlmv2_broken()
s3:winbind: Fix heap buffer overflow in winbind
s3:libsmb: Make parse_node_status() more robust
python: Fix length of Common Name x509 attribute
selftest: Allow to use SHA1 with OpenSSL for selftest
gitlab-ci: Move to Fedora 41
gitlab-ci: Fix building debian 32bit images
s4:torture: Fix samba3.smb2.name-mangling on btrfs
s4:smbtorture: Fix samba3.smb.dir on btrfs
talloc: Add LGPLv3 LICENSE file
tevent: Add LGPLv3 LICENSE file
tdb: Add LGPLv3 LICENSE file
ldb: Add LGPLv3 LICENSE file
lib:util: Fix stack-use-after-return in crypt_as_best_we_can()
lib:replace: Remove trailing spaces from readline.h
lib:replace: Don't use deprecated readline CPPFunction cast
third_party: Update socket_wrapper to version 1.4.4
s4:torture: Remove obsolete test in samba3.session
s4:torture: Remove obsolete check in raw.close test
s4:torture: Skip test_BackupLog against all of Samba
s4:selftest: Set smbtorture4 targets correctly
s4:torture: Fix target handling in raw.chkpath
s4:torture: Fix checking targets in raw.streams
s4:torture: Remove trailing spaces in getinfo.c
s4:torture: Fix checking targets in smb2.getinfo
s4:torture: Fix spoolss tests running against Samba
s3:selftest: Correctly set smbtorture4 targets
libcli:smb: Implement smb2cli_read_cancel()
libcli:smb: Implement smb2cli_notify_set_notify_async()
s4:torture: Add IPC test for 'smb2 max async credits'
s4:torture: Add IPC test with 2 connections for 'smb2 max async credits'
s3:torture: Add IPC test with multichannel for 'smb2 max async credits'
s4:torture: Add notify test for 'smb2 max async credits'
s4:torture: Add notify test with two connection for 'smb2 max async
credits'
s4:torture: Add notify test with multichannel for 'smb2 max async credits'
s4:torture: Implement ipc test with len=0
s3:smbd: let aio_add_req_to_fsp() return the pointer to the link
s3:smbd: Allow cancel of SMB2 read on ipc handles
Andréas Leroux (3):
netcmd:domain:policy: Fix missing conversion from tgt_lifetime minutes to
10^(-7) seconds
netcmd: More explicit warning when python-gpg is missing
netcmd: Increase the transaction_index_cache_size to 200k for
schemaupgrade
Anoop C S (18):
source3/script: Fix installation of winbind_ctdb_updatekeytab.sh
docs-xml: Fix script location in syncmachinepasswordscript.xml
source3/wscript: Introduce auto mode to build ceph vfs modules
vfs_ceph_new: Call vfs_ceph_userperm_new with handle->conn
vfs_ceph_new: Hold a config reference in vfs_ceph_fh
vfs_ceph_new: Pass module config to userperm helpers
vfs_ceph_new: Use function pointers for API calls
wscript_build: Do not link vfs_ceph_new against libcephfs
docs_xml/vfs_ceph_new: Add new proxy option
s3/smbd: Add a helper to fetch fs capabilities
vfs_default: Retrieve fs capabilites using vfs_get_fs_capabilties
vfs_ceph: Populate fs capabilities within cephwrap_statvfs
vfs_ceph: Retrieve fs capabilties using vfs_get_fs_capabilities
vfs_ceph_new: Populate fs capabilities within vfs_ceph_statvfs
vfs_ceph_new: Retrieve fs capabilties using vfs_get_fs_capabilities
vfs_glusterfs: Retrieve fs capabilities using vfs_get_fs_capabilities
ctdb-build: Add missing ctdb-tcp dependency
vfs_ceph_new: Remove unused symbol for ceph_readdir
Björn Baumbach (11):
python/samdb: fix attribute name in parameter description
python/samdb: add missing function parameter description
python/samdb: rename filter variable to search_filter
python/samdb: fix check which checks if user is already member of group
python/samdb: fix group member removal by SID
python/samdb: no need to set member_base_dn multiple times
samba-tool group removemembers: avoid python backtrace on error
samba-tool user disable: set proper --filter option description
samba-tool user disable: rename filter variable to search_filter
samba-tool user disable: make sure that filter matches only one user
samba-tool user disable: add new --remove-supplemental-groups option
Björn Jacke (1):
samba-tool/backup: set the right permissions on our root dir
Christof Schmitt (11):
shadow_copy2: Ignore VFS_OPEN_HOW_WITH_BACKUP_INTENT
vfs_gpfs: Remove gpfs_stat_x fallback
vfs_gpfs: Remove pathref test
vfs_gpfs: Use gpfs_get_winattrs instead of gpfs_fstat_x
vfs_gpfs: Simplify vfs_gpfs_fset_dos_attributes
vfs_gpfs: Set creation time from vfs_gpfs_fset_dos_attributes
vfs_gpfs: Remove winattr calls from vfs_gpfs_fntimes
gpfswrap: Remove unused gpfs_stat_x wrapper
gpfswrap: Remove unused gpfs_fstat_x
gpfswrap: Remove unused gpfs_set_winattrs_path
vfs_gpfs: Remove one whitespace
David Disseldorp (3):
s4:torture/smb2: test FSCTL_QUERY_ALLOCATED_RANGES truncation
smb2_ioctl: fix truncated FSCTL_QUERY_ALLOCATED_RANGES responses
smbd: improve reinit_after_fork error handling
David Mulder (66):
bootstrap: Migrate to Rocky8
Add simple WAF commands for building Rust bininaries
Add ntstatus_gen for Rust
Add Rust formatting for 80 char lines
Add rust bindings to Samba utils debug
Build the Rust ntstatus generated code
Add lp Rust bindings
Add rust tdb bindings
Add by-upn idmapping for Himmelblaud
Add a daemon caching layer that wraps tdb
Add the Azure Entra Id Daemon
Add NSS module for himmelblaud
Add Samba versioning
Add PAM module for himmelblaud
Add pam_auth to himmelblau daemon
Add nss getpwent to the himmelblau daemon
Add nss getpwnam to the himmelblau daemon
Add nss getpwuid to the himmelblau daemon
Add nss getgrent to the himmelblau daemon
Add nss getgrnam to the himmelblau daemon
Add nss getgrgid to the himmelblau daemon
Add pam_acct_mgmt to the himmelblau daemon
Add pam_open_session stub to the himmelblau daemon
Reorganize rust file tree
Isolate hsm auth value from the cache
Pam prompt for Pin if hello enrolled and enabled
Update libhimmelblau
Add build config for proper TDB build linkage
Add clang and openssl deps
Introduce build option to enable Himmelblau
utf8proc-devel is missing from CentOS 8 Stream
A Rust 'crate' is not a misspelling of 'create'
Adding Cargo.lock file for Rust build
Enable rust cargo test in Samba make test
Modify rust build to share target dir w/ cargo test
Rust WAF detect dependant files from crates
Vendor the rust sources for CI tests
Debian cargo is far to old for building
Add tests for rust chelps crate
Add USING_SYSTEM_TDB test for rust config
Improve cargo test output
Add tests for rust dbg crate
Always normalize cache inputs to lowercase
Add tests for rust himmelblaud build
Only set the debug logfile if not stdout
Add warnings for missing directories at runtime
Fix display of function names in debug
Add talloc stackframe handling
Always print a newline at the end of debug msgs
Use the s4 param functions to access idmap values
Remove the existing socket if present
Ensure clients can write to the himmelblau pipe
Properly handle read/write from the client socket
Fetch the target join os via std::env::consts
Add the user's primary group to the cache
Fix pam echo not displayed via ssh
Fix Rocky8 build for utf8proc-devel
Disable the rust build by default
Add pyglue for Rust for disabling tests
autobuild: Only configure himmelblau if openssl >= 3
glibc needs to be at least vers 2.32 for rust
Add configure checks for glibc and openssl versions
autobuild: Only enable rust build if cargo exists
Fix usage test broken by rust vendor sources
autobuild: Configure samba-o3 for himmelblau testing
Fix pam failure to register Pin following mfa poll
Douglas Bagnall (84):
s4:drs:test:getncchanges: add a timeout failure
s4:drs:tests: add hook for changing highwatermark
s4:drs:tests: repeat getncchanges test with zero reserved_usn
s4:drsuapi:getncchanges: fix whitespace
s4:drsuapi:getncchanges: use DBG_ERR() macro
s4:drsuapi:getncchanges: allow 0 reserved_usn reply
s4:drs:test:getncchanges: remove timeout failure
s4:drs:test:getncchanges skips some tests with reserved_usn = 0
ldb:kv_index: help static analysers to not worry (CID 1615192)
ndr:dnsp: avoid theoretical int overflow (CID 1609418)
dsdb:mod:operational: initialise a pointer (CID 1499411)
dsdb:util: dsdb_module_dn initialises on failure
dsdb:cracknames: free more on error (CID 240724)
ldb:py bindings: ldb.Ldb().__str__ prints connection URL
ldb:pytest:api: remove pass-though tearDowns
ldb:pytest:api: remove unnecessary super() parameters
ldb:tests:api.py uses .disconnect before rmdir
ldb:tests: make api_base module
ldb:tests: make api_search module
ldb:tests: make api_add_modify module
ldb:tests: make api_simple module
ldb:tests: move api.py to api_misc
ldb:tests:api_misc: fix Control test
ldb:tests:repack: use common api_base variables
ldb:tests:api_simple uses conventional 4 space indent
ldb:tests:crash: rationalise imports
ldb:tests:index: use abi_base
ldb:test:api_base: simplify prefix selection
ldb:test:api_base: make flags method a class method
ldb:test:api_search: improve attribute access tests
ldb:test:api_search: put config options on class, not instance.
ldb:test:api_search: use test name as db name
ldb:test:api_search: set up the database once and use copies
ldb:test:api_search: tidy up files in each subclass
ldb:test:api_search: use class method to add index
ldb:test:api_search: skip LMDB tests at class level
ldb:test:api_search: use @unittest.skipIf for LMDB tests
ldb:test:api_search: remove pass-through setUp()s
ldb:test:api_search: shift remaining setUp adds to class add_index
ctdb:tests: s/the the\b/the/ in comments
lib/afs: s/the the\b/the/ in comments
ldb:pack: s/the the/in the/ in comments
pyldb: s/the the\b/the/ in comments
tevent docs: s/the the\b/the/
util:charset: s/the the\b/the/ in comments
libcli:auth:msrpc_parse: s/the the/is the/ in comments
nsswitch:: s/the the\b/the/ in comments
samba-tool:: s/the the\b/the/ in docstring
pytest: s/the the\b/the/ in comments
s3:client:clitar: s/the the/to the/ in comment
s3:headers: s/the the\b/the/ in comments
s3:printing and spoolss: s/the the\b/the/ in comments
s3:smbd:posix_acls: s/the the/that the/ in comment
s4:ldb_mods:group_audit: s/the the/the/ in comments
s4: s/the the\b/the/ in miscellaneous comments
s4:reg: s/the there/there/ in comments
ldb:test:lmdb_free_list: s/the the/to the/ in comment
libndr: specialise ndr_token_find() for key pointer comparison
libgpo:admx:: s/the the\b/the/
selftest:S4: do not add 'env python' multiple times'
selftest:S4: use RR_PROVISION for rr recording
selftest:S4: use PY_DEV_PROVISION for python dev-mode
lib:ldb-samba: use 'ldb' debug class more widely
ldb:tests: add tests ensuring indexes don't change search results
ldb:dn_casefold_internal: TALLOC_FREE only what we talloced
ldb:ldb_pack: filter avoids looping over msg when attrs contain "*"
ldb:kv: s/ltdb/ldb_kv/ in comments and messages
ldb:kv_cache: s/ltdb/ldb_kv/ in comments and messages
ldb:dn_compare: be a bit more transitive
ldb:dn_compare_base: avoid unlikely int overflow
samba-tool: no traceback for unauthenticated rootdse access
util: add a crypt wrapper, derived from dsdb:password_hash
dsdb:password_hash: move hash_blob allocation up
dsdb:password_hash: use talloc_crypt_blob()
util: add a crypt strerror helper
pyglue: add crypt() function
pytest: test that _glue.crypt works
samba-tool user: use _glue.crypt, not crypt.crypt
samba-tool user: hashlib.sha1 is always present
pytest: password_hash uses internal _glue.crypt
bootstrap: we don't need python-crypt-r anymore
util:datablob: data_blob_pad checks its alignment assumption
ldb: fix Coverity 1636883
provision: always use a large transaction index cache
Earl Chew (1):
Describe implication of upstream ICU-22610
Guenther Deschner (6):
vfs_ceph_new: Add a new struct to hold ceph module config
vfs_ceph_new: Introduce new parametric option 'proxy'
vfs_ceph_new: Dynamically open library for 'proxy' mode
vfs_ceph_new: Add required function pointers to config
vfs_ceph_new: Populate function pointers with addresses
s3-sharesec: Add Test to verify command option "--view-all"
Günther Deschner (3):
s3-libads: dump ADS_MODSLIST before attempting the LDAP modify
selfest: add test for non-local offlinejoin provision
s3-libnet: avoid using lp_dns_hostname() in join code
Jeremy Allison (3):
s4: torture: Add a new test lease_rename_with_overwrite.
auth: Add missing talloc_free() in error code path.
auth: Cleanup exit code paths in kerberos_decode_pac().
Jo Sutton (4):
lib/util: Speed up slow data-blob-to-hex functions
librpc: Speed up GUID_buf_string()
util:charset: Remove unreachable code (CID 1272948)
libcli:auth: Remove unreachable code (CID 1272968)
Jones Syue (2):
s3: SIGHUP handlers use consistent log level 3
s3:vfs_crossrename: add back checking for errno ENOENT
Jule Anger (7):
libsmb: use more precise error status
libsmb: make cli_get_posix_fs_info() asynchronous
libsmb: add cli_get_posix_fs_info() for smb2
smbd: check negotiate before the create context is handled
pylibsmb: add python binding for cli_get_posix_fs_info
tests: add test for cli_get_posix_fs_info
tdb: version 1.4.13
Kacper Boström (1):
samba-tool: Fix for inability to delete GPOs containing GPWL policies
Lyanis Souidi (1):
netcmd: user: Fix typo in samba-tool error message
Martin Schwenke (85):
ctdb-daemon: Remove a use of ctdb_errstr()
ctdb-tcp: Use talloc_strdup() instead of repeating logic
ctdb-tcp: Factor out listening code to avoid repetition
ctdb-ib: Remove a use of ctdb_set_error()
ctdb-tcp: Use path_rundir_append() to construct lock_path
ctdb-tcp: Use already constructed node name
ctdb-tcp: Consolidate failure code
ctdb-tcp: Remove a use of ctdb_addr_to_str()
ctdb-tests: nfs_iterate_test() marks RPC service down
ctdb-tests: Argument 3 to nfs_iterate_test() is up iteration
ctdb-tests: Add function rpc_failure() to log failures and warnings
ctdb-tests: Initialise return code file
ctdb-tests: Move result check to rpc_set_service_failure_response()
ctdb-tests: Simplify handling of statistics change
ctdb-tests: Replace implicit healthy behaviour with early exits
ctdb-tests: Drop unnecessarily "else"
ctdb-tests: Make NFS RPC monitoring tests consistent
ctdb-tests: Make _rpc_service_up() and _rpc_services_down() internal
ctdb-scripts: Only consider statistics on timeout
ctdb-scripts: Make initial statistics output empty
ctdb-scripts: Avoid flapping NFS services at startup
codespell: Ignore CTDB bin/
s3:tests: Fix spelling error
ctdb-failover: Add ctdb_smnotify_helper
ctdb-scripts: Use nfs-utils' sm-notify instead of CTDB's smnotify
ctdb-scripts: Remove unused variable NFS_HOSTNAME
ctdb-scripts: Reformat with "shfmt -w -p -i 0 -fn"
ctdb-scripts: Move database handling to its own event script
ctdb-scripts: Add support for backing up persistent TDBs
ctdb-tests: Add persistent TDB backup tests
ctdb-tests: Add missing quotes in test output
ctdb-tests: Fix test failure when tests are installed
ctdb-protocol: Add function ctdb_sock_addr_from_sockaddr()
ctdb-common: Add functions for local IP address checking
ctdb-tests: Add test code for ctdb_sys_have_ip()
ctdb-server: Add some local variables
ctdb-common: Make the argument to ctdb_sys_have_ip() const
ctdb-common: Reimplement ctdb_sys_have_ip() using new infrastructure
ctdb-server: Optimise local IP verification
ctdb-tcp: Only attempt to automatically bind to local IPs
ctdb-tcp: Modernise a DEBUG
ctdb-daemon: Improve error handling when releasing all IPs
ctdb-daemon: Drop unused arguments
ctdb-daemon: Fix a comment
ctdb-daemon: Store public address string in VNN
ctdb-daemon: Add ctdb_vnn_address_string() and use in trivial places
ctdb-daemon: Use ctdb_vnn_address_string() in old-style debugging
ctdb-daemon: Clean up error handling and debug
ctdb-daemon: Replace remaining uses of CTDB_NO_MEMORY() in this file
ctdb-daemon: Use path_etcdir_append() to construct some paths
ctdb-daemon: Ensure CTDB_BASE is set, don't fetch it
ctdb-server: Clean up find_public_ip_vnn()
ctdb-server: Use find_public_ip_vnn() in a couple of extra places
ctdb-scripts: Don't set arp_filter=1 by default in 10.interface
ctdb-tests: Ensure ss stub handles square brackets around addresses
ctdb-tests: Drop unsupported long options from ss stub usage
ctdb-tests: Fix ss -a not supported
ctdb-doc: Improve 10.interface documentation and comments
ctdb-scripts: Reformat with "shfmt -w -p -i 0 -fn"
ctdb-scripts: Don't list connections when not hosting IPs
ctdb-scripts: update_tickles() should use the public IPs cache
ctdb-scripts: Remove superseded compatibility code
ctdb-scripts: Use ss -H option to simplify
ctdb-server: Clean up connection tracking functions
ctdb-server: Drop a log message to DEBUG level
ctdb-server: Drop an unnecessary variable
ctdb-server: Handle pre-existing connection first
ctdb-server: Remove duplicate logic
ctdb-server: Use ctdb_connection_same() to simplify
ctdb-scripts: Move connection tracking to 10.interface
ctdb-scripts: Get connections after tickle list
ctdb-scripts: Track connections for all ports for public IPs
ctdb-scripts: Factor out function kill_tcp_summarise()
ctdb-scripts: Add configuration variable CTDB_KILLTCP_USE_SS_KILL
ctdb-common: Map ENOENT for a missing event script to ENOEXEC
ctdb-scripts: Use CTDB_NFS_SHARED_STATE_DIR in nfs-ganesha-callout
ctdb-scripts: Fix some bit-rotted comments and whitespace
ctdb-scripts: Drop TCP tuning comments from statd_callout_helper
ctdb-scripts: Improve update and listing code
ctdb-scripts: Factor out some statd-callout functions
ctdb-scripts: Fix impending SM_NOTIFY versus record deletion race
ctdb-scripts: Support storing statd-callout state in cluster filesystem
ctdb-tests: Update statd-callout tests to handle both modes
ctdb-scripts: Support CTDB_STATD_CALLOUT_SHARED_STORAGE=none
ctdb-scripts: Change default persistent DB for statd_callout_helper
Michael Tokarev (11):
specify some deps on private libs actually used directly
libsamba-errors: eliminate dependency on samba-debug
silence DNS lookup mismatch messages
silence "Can not convert group sid" warnings in the log
passchange: error message fix
Minimal EDNS0 support for built-in DNS client
testparm: do not fail if /run/samba does not exist
replace direct calls to memset_s() with commonly used macros
remove usage of bzero
include <grp.h> for setgroups in a few places
fruit: fixup size_t overflow check
Noel Power (2):
libcli/smb: Fix failure of Smb3UnixTests.test_create_context_reparse
librpc/ndr: Fix fuzz CI on latest tumbleweed
Pavel Filipenský (38):
Revert "docs-xml: Delete descriptions for removed commands "net ads
keytab add" and "net ads keytab add_update_ads""
docs: Add examples to net.8 that use 'sync machine password to keytab'
s3:script: Rename updatekeytab.sh ==> winbind_ctdb_updatekeytab.sh
s3:script: Install winbind_ctdb_updatekeytab.sh
docs:smbdotconf: Improve documentation for 'sync machine password script'
docs:smbdotconf: Improve documentation for 'sync machine password to
keytab'
docs:smbdotconf: Update 'kerberos method' with 'sync machine password to
keytab'
s3:libads: Do not print error message for a default configuration
lib/param: Don't treat a missing include file as an error in
handle_include().
s3:g_lock: Do not let pointers to point outside the input buffer
smbtorture: Allow debugging output to be configured using smb.conf
parameters
examples:winexe: Initialize Trustee.ptstrName at the right time
s3:tests: Make winbind_call_depth_trace to use global_inject.conf
s3:tests: Adapt winbind_call_depth_trace to depth=3
docs-xml: Fix manpage section generated by cmdline.common.debug.server
docs-xml: Change 'DEBUGLEVEL' -> 'level' to match the option description
docs:manpages: Update 'net ads keytab create'
s3:vfs_crossrename: avoid locking panic in copy_reg()
s3:vfs_crossrename: crossrename_renameat() needs to return 0 if
copy_reg() is successful
docs:manpage: vfs_crossrename is not fully stackable VFS module
selftest: Add test for vfs crossrename module
s3:open.c: Fix a typo
nsswitch:tests: Remove test for deprecated wbinfo --sequence
docs-xml:manpages: Remove deprecated 'wbinfo --sequence'
nsswitch:wbinfo: Remove implementation of deprecated '--sequence'
s4:torture: Remove test for deprecated WINBINDD_SHOW_SEQUENCE
s3:winbindd: Remove implementation of WINBINDD_SHOW_SEQUENCE
nsswitch:winbind: Remove WINBINDD_SHOW_SEQUENCE
s3:winbindd: Remove unused set_routing_domain()
torture:fruit: Test timemachine for 0 bands
s3:vfs_fruit: Fix crash for nbands == 0
docs: Fix the documentation for NET ADS DNS (UN)REGISTER
s3,s4: Make case spelling of sAMAccountName consistent
docs-xml:manpages: Add missing ')' to ADS KEYTAB
docs-xml:manpages: Fix doc for 'net ads enctypes'
docs-xml:manpages: Fix doc for 'net ads setspn'
s3:utils: Fix 'Usage:' for 'net ads setspn'
s3:utils: Fix 'Usage:' for 'net ads enctypes'
Ralph Boehme (161):
docs: document SUPPORTS_BLOCK_REFCOUNTING for share:fake_fscaps
smbd: consolidate fs capabilities code in vfswrap_fs_capabilities()
libreplace: add rep_copy_reflink()
vfs_default: implement FSCTL_DUP_EXTENTS_TO_FILE with copy_reflink()
smbd: add options "fs:[logical|aligned|performance|effective aligned]
bytes per sector"
smbtorture: test creating stream doesn't crash when using "inherit
permissions = yes"
smbd: use metadata_fsp(fsp) in copy_access_posix_acl() for
SMB_VFS_SYS_ACL_SET_FD
s3/lib: add next helper variable in server_id_watch_*
s3/lib: add option "serverid watch:debug = yes" to print kernel stack of
hanging process
s3/lib: add option "serverid watch:debug script"
smbd: log share_mode_watch_recv() errors as errors
smbd: add option "smbd lease break:debug hung procs"
smbd: move trace_state variable behind tv variable
smbd: add option "smbd:debug events" for tevent handling duration
threshold warnings
smbd: consolidate DH reconnect failure code
smbd: remove just created sharemode entry in the error codepaths
smbd: SMB3 POSIX Extensions statfs() is broken
smbd: add SMB2_FS_POSIX_INFORMATION
smbtorture: prepare test_overwrite_read_only_file() for more subtests
smbtorture: fix smb2.notify.mask test
smbtorture: add subtests for overwrite dispositions vs sharemodes
smbd: fix share access check for overwrite dispostions
smbd: remove "fruit:posix_rename"
smbd: remove seperate flag FSP_POSIX_FLAGS_PATHNAMES
smbd: convert fsp->posix_flags to fsp->fsp_flags.posix_open
smbd: fix sharing access check for directories
smbtorture: rename CHECK_VALUE() to CHECK_VAL() in smb2/compound.c
smbtorture: add a bunch of tests for async rename and async interim
responses
smbtorture: test rename with other opens on the file
smbd: return correct error for compound related requests that went async
smbd: force sync rename with lease break
smbd: fix breaking leases on rename
selftest: run smb2.lease test only against the fileserver environment
smbd: smbd_do_setfilepathinfo(): one arg per line
smbd: smbd_do_setfilepathinfo(): pass data as pointer, not
pointer-to-pointer
smbd: use a DATA_BLOB and avoid data copy in
delay_rename_for_lease_break()
smbd: rework async rename check for handle lease breaks
smbtorture: expand test test_lease_unlink() with set-delete-on-close
smbd: split out smb_check_file_disposition_info()
smbd: break handle leases when setting SMB_FILE_DISPOSITION_INFORMATION
smbd: use delay_for_handle_lease_break_send() for initial delete on close
smbtorture: check initial-delete-on-close breaks H-lease for tdis, logoff
and disconnect
smbd: add handle lease breaking when deleting files at session shutdown
time
smbd: smbd_server_connection_terminate() may return
smbd: let smbd_server_connection_terminate_ex() always go through
smbXsrv_connection_shutdown_send()
smbd: add handle lease breaking when deleting files in tree disconnect
smbtorture: add a test for recursive h-lease break when renaming
s3/g_lock: add g_lock_locks() and g_lock_locks_read() varients
s3/locking: add share_mode_forall() and share_mode_forall_read() varients
s3/locking: tweak share_entry_forall()
s3/locking: add share_entry_forall_read() and share_entry_forall()
varients
smbd: add opens_below_forall() and opens_below_forall_read()
smbd: ignore POSIX and stale opens in have_file_open_below()
smbd: ignore POSIX opens in file_find_subpath()
smbd: add has_nonposix_opens()
smbd: print lease key using hex format in get_lease_type()
s3/locking: pass file_id instead of lck to share_mode_watch_send()
smbd: consolidate "have_file_open_below" logic in have_file_open_below()
smbd: recursive delay_for_handle_lease_break_send()
smbtorture: expand test test_lease_v2_rename_target_overwrite()
smbd: Split out smb2_parse_file_rename_information()
smbd: check for handle lease break on destination when renaming
smbd: ndrprint lease value in leases_db_set_fn()
smbd: add fsp_get_smb2_lease()
smbd: trigger notification for file and directory creation will be sent a
wee bit later after dropping the sharemode lock
smbd: call notify_rename() after dropping the lck in
rename_internals_fsp()
smbd: move notify_fname() out of rmdir_internals() up to close_directory()
smbd: notify file truncation after dropping the sharemode lock
smbd: pass fsp to notify_rename()
smbd: pass lease and oplock_request to open_directory()
smbd: pass lease, if any, to notify_fname()
smbd: add contend_dirleases()
smbd: add flag NOTIFY_ACTION_DIRLEASE_BREAK for notify_fname()
smbd: use contend_dirleases() in notify_fname()
smbd: trigger NOTIFY_ACTION_DIRLEASE_BREAK when creating files and
directories
s3/locking: remember parent_lease_key that set delete-on-close
s3/locking: return parent_lease_key from get_delete_on_close_token()
smbd: trigger NOTIFY_ACTION_DIRLEASE_BREAK when removing files
smbd: trigger NOTIFY_ACTION_DIRLEASE_BREAK when removing directories
smbd: trigger NOTIFY_ACTION_DIRLEASE_BREAK when truncating files
smbd: trigger NOTIFY_ACTION_DIRLEASE_BREAK when closing a modified file
smbd: pass lck down to rename_internals_fsp()
smbd: trigger NOTIFY_ACTION_DIRLEASE_BREAK for renames
smbd: trigger NOTIFY_ACTION_DIRLEASE_BREAK when setting file EOF
smbd: trigger NOTIFY_ACTION_DIRLEASE_BREAK when modifying DOS attributes
smbd: in smb_set_file_time() rename "action" variable to "filter"
smbd: trigger NOTIFY_ACTION_DIRLEASE_BREAK when changing timestamps
vfs_gpfs: trigger NOTIFY_ACTION_DIRLEASE_BREAK when changing offline
attribute
vfs_tsmsm: trigger NOTIFY_ACTION_DIRLEASE_BREAK when changing offline
attribute
smbd: trigger change notification when creating hardlink
smbd: trigger NOTIFY_ACTION_DIRLEASE_BREAK when creating hardlink
libcli/smb: rely on the caller zero-initializing "lease" in
smb2_lease_pull()
libcli/smb: ignore lease_flags and lease_duration for leasev1 in
smb2_lease_pull()
smbd: use get_deferred_open_message_state() in open_directory()
smbd: allow directory leases in close_directory()
docs: fix indentation of "strict rename"
smbd: add option "smb3 directory leases"
smbd: grant Directory Lease if requested
selftest: add "smb2.dirlease" test suite
s4/torture: give smb2_generic_create_share() caller some flexibility
smbtorture: add test smb2.dirleases.leases
smbtorture: simplify test_lease_v2_request()
smbtorture: expand Directory Leases test "v2_request
smbtorture: check SMB2_LEASE_FLAG_BREAK_IN_PROGRESS when client requests
new lease
libcli/smb: only allow SMB2_LEASE_FLAG_PARENT_LEASE_KEY_SET in lease_flag
smbtorture: check parent leasekey is ignored unless
SMB2_LEASE_FLAG_PARENT_LEASE_KEY_SET is set
libcli/smb: only copy the parent lease key if
SMB2_LEASE_FLAG_PARENT_LEASE_KEY_SET is set
smbtorture: Directory Leases vs setting EOF
smbtorture: Directory Leases vs setting DOS attributes
smbtorture: Directory Leases vs setting creation date
smbtorture: Directory Leases vs setting modification date
smbtorture: Directory Leases vs setting inode change date
smbtorture: Directory Leases vs setting access date
smbtorture: Directory Leases vs renaming
smbtorture: Directory Leases vs overwrite
smbtorture: Directory Leases vs hardlink
smbtorture: Directory Leases vs unlink
WHATSNEW: SMB3 Directory Leases
smbd: initialize delete_on_close in
smbd_smb2_setinfo_lease_break_fsp_check()
smbtorture: remove more allocation size checks
smbtorture: move hardlink test in test_ntrename() to its own test
smbtorture: use torture_assert_ntstatus_equal_goto() in CHECK_STATUS() in
unlink.c
smbd: avoid a panic in close_directory()
smbd: use NT_PASSTHROUGH_OFFSET in a few places
smbd: rename SMB2_FILE_POSIX_INFORMATION to FSCC_FILE_POSIX_INFORMATION
smbd: rename SMB2_FS_POSIX_INFORMATION to FSCC_FS_POSIX_INFORMATION
pylibsmb: implement getinfo level FSCC_FILE_POSIX_INFORMATION
tests: move wire_mode_to_unix() to libsmb.py
tests: prepare reparsepoints.py for using POSIX on the SMB2 connection
tests: fix test teardown/cleanup of test_create_reparse_directory()
tests: check reparse tag and POSIX file type from query-file with POSIX
infolevel
tests: test POSIX file type on reparse point
smbd: fix DOS attributes for reparse points in fdos_mode()
smbd: simplify smb3_file_posix_information_init()
smbd: move calling fsctl_get_reparse_tag() into
smb3_file_posix_information_init()
smbd: use fsctl_get_reparse_point() in smb3_file_posix_information_init()
smbd: fix an invalid memory access
smbtorture: verify Windows SEC_FILE_APPEND_DATA behaviour
pylibsmb: add "copy_chunk"
tests: use clean_file() from our superclass in smb3unix.py
tests: use libsmb.unix_mode_to_wire() in smb3unix.py
tests: add a test for copy-chunk on a POSIX handle
smbd: fix access_mask to FILE_APPEND_DATA mapping for POSIX opens
vfs: add fsp_flags.posix_append
vfs: add VFS_PWRITE_APPEND_OFFSET
s3/pylibsmb: add VFS_PWRITE_APPEND_OFFSET
smbd: add vfs_valid_allocation_range() as a copy of
vfs_valid_pwrite_range()
smbd: check for VFS_PWRITE_APPEND_OFFSET in vfs_fill_sparse()
lib: add sys_write_full()
vfs_aio_fork: implement POSIX append-IO
vfs_io_uring: implement POSIX append-IO
vfs: implement POSIX append-IO in vfs_pwrite_data()
s3/lib: use VFS_PWRITE_APPEND_OFFSET in default_sys_recvfile()
vfs_default: implement POSIX append-IO
smbd: prepare smb2_write.c for handling a negative offset
smbd: assert fsp->fsp_flags.posix_append and offset in
smbd_smb2_write_send()
smbd: allow VFS_PWRITE_APPEND_OFFSET in vfs_valid_pwrite_range()
tests: test SMB3 POSIX append-IO behaviour
smbd: fill fsp_flas.posix_append in open_file_ntcreate()
s3/mdssvc: add option "elasticsearch:force_substring_search = yes | no"
(default: no)
vfs_gpfs: add gpfs:clamp_invalid_times
Samuel Thibault (2):
ctdb: Include replace.h for PATH_MAX
lib/util: Include grp.h for setgroups during autoconf
Shachar Sharon (17):
vfs_ceph{_new}: do not set errno upon successful call to libcephfs
vfs_ceph_new: handle errno properly for 'readdir'
vfs_ceph_new: use 'ceph_new' for config-param prefix
docs-xml/manpages: 'ceph_new' prefix for config-param of vfs_ceph_new
vfs_ceph_new: add missing newline in debug-logging
s3:smbd: fix NULL dereference in case of readlink failure
vfs_ceph_new: handle case of readlinkat with empty name string
vfs_ceph_new: implement DFS hooks using libcephfs low-level APIs
vfs_ceph_new: switch to ceph_readdir_r
vfs_ceph_new: refactor error-case in cephmount_mount_fs
vfs_ceph_new: avoid setting errno in cephmount_cache_update
vfs_ceph_new: improve mount cache-entry ref-count
vfs_ceph_new: improve mount cache-entry add
vfs_ceph_new: improved mount logging
vfs_ceph_new: improved vfs-opers logging
vfs_ceph_new: log open-flags upon release-fh
vfs_ceph_new: add smbprofile for async-ops
Shweta Sodani (1):
vfs_ceph_new: add profiling support
Stefan Metzmacher (392):
s3:lib: add winbind_lookup_name_ex() fallback for --without-winbind
script/autobuild.py: do some basic testing using --without-winbind
s4:torture/smb2: let smb2.session.expire2* also check compound requests
s3:smb2_server: return NT_STATUS_NETWORK_SESSION_EXPIRED for compound
requests
s4:torture/smb2: add smb2.create.mkdir-visible
lib/util: add a comment to struct server_id_buf
lib/util: let server_id_str_buf() use PRIu32 and PRIu64
lib/util: add server_id_str_buf_unique_ex() and allow the delimiter to be
passed in
lib/util: split out server_id_from_string_ex allow the unique delimiter
to be passed in
lib/util: let server_id_str_buf_unique() use server_id_buf
s3:smbd: split out apply_new_nt_acl() helper
s3:smbd: call apply_new_nt_acl() already in mkdir_internals()
s3:smbd: let mkdir_internal() use a talloc_stackframe()
s3:smbd: improve DEBUG messages in mkdir_internal()
docs-xml: add 'vfs mkdir use tmp name' option
s3:smbd: let mkdir_internal() work more atomically using a temporary name
lib/replace: add renameat2() replacement
s3:vfs: add vfs_rename_how to SMB_VFS_RENAMEAT()
s3:vfs: add VFS_RENAME_HOW_NO_REPLACE
s3:vfs_default: implement VFS_RENAME_HOW_NO_REPLACE in vfswrap_renameat()
s3:smbd: let mkdir_internal() try VFS_RENAME_HOW_NO_REPLACE first
WHATSNEW: add 'vfs mkdir use tmp name' option
pidl: add scalarTypeUsed() helper to find if a type was actually used...
pidl:Samba4/Header: only include ntstatus.h if required
librpc/ndr: avoid alignment allocation in ndr_push_DATA_BLOB()
librpc/ndr: remove unused NDR_PUSH_ALLOC_SIZE()
lib/torture: add torture_assert_nttime_equal_goto()
s3:tests: make use of TMPDIR in test_symlink_traversal_*.sh
s4:libcli: allow smb2_composite_unlink* to truncate the file before close
s4:libcli/smb2: let smb2_deltree delete directory streams
s4:torture/smb2: make use of torture_assert_*_equal_goto() in streams.c
s4:torture/raw: better error handling in streams.c
s4:torture/smb2: better error handling in create.c
s4:lib/messaging: fix interaction between imessaging_reinit and
irpc_destructor
vfs_error_inject: add 'error_inject:durable_reconnect = st_ex_nlink'
s4:torture/smb2: add
smb2.durable-v2-regressions.durable_v2_reconnect_bug15624
s3:tests: let test_durable_handle_reconnect.sh run
smb2.durable-v2-regressions.durable_v2_reconnect_bug15624
s3:test_update_keytab_clustered: add net ads testjoin checks in more
places
s3:utils: let 'net ads testjoin' fail without valid machine credentials
s3:utils: use the correct secrets.tdb in net_use_krb_machine_account()
librpc/rpc: map DCERPC_NCA_S_SERVER_TOO_BUSY to
NT_STATUS_RPC_SERVER_TOO_BUSY
librpc/rpc: map DCERPC_NCA_S_UNSUPPORTED_TYPE to
NT_STATUS_RPC_UNSUPPORTED_TYPE
s4:torture/rpc: avoid checking p->last_fault_code in iremotewinspool*
s4:torture/rpc: remove useless usage of DCERPC_SIGN, DCERPC_SEAL
s4:torture/rpc: avoid using DCERPC_NDR_REF_ALLOC in fsrvp.c
librpc/rpc: add dcerpc_binding_handle_transport_{encrypted,session_key}()
s4:librpc/rpc: add dcerpc_bh_transport_{encrypted,session_key}()
s3:rpc_client: add rpccli_bh_transport_session_key()
s4:pyrpc: let py_iface_transport_encrypted() use
dcerpc_binding_handle_transport_encrypted()
s4:librpc/rpc: remove unused dcerpc_transport_encrypted()
s4:libnet: add struct dcerpc_binding_handle helper variables in
libnet_passwd.c
s4:libnet: make use of dcerpc_binding_handle_transport_session_key() in
libnet_passwd.c
xss4:pyrpc: make use of dcerpc_binding_handle_transport_session_key()
s4:torture/rpc: make use of dcerpc_binding_handle_transport_session_key()
s4:librpc/rpc: remove unused dcerpc_fetch_session_key()
librpc/rpc: add dcerpc_binding_handle_auth_session_key()
s4:librpc/rpc: add dcerpc_bh_auth_session_key()
s3:rpc_client: add rpccli_bh_auth_session_key()
s4:drepl: make use of dcerpc_binding_handle_auth_session_key()
s4:libnet: make use of dcerpc_binding_handle_auth_session_key() in
libnet_become_dc.c
s4:py_net: make use of dcerpc_binding_handle_auth_session_key()
s4:pyrpc: make use of dcerpc_binding_handle_auth_session_key()
s4:torture/drs: make use of dcerpc_binding_handle_auth_session_key()
s3:lib/netapi: make use of dcerpc_binding_handle_transport_session_key()
s3:libnet_join: make use of dcerpc_binding_handle_transport_session_key()
s3:utils/net_rpc: make use of
dcerpc_binding_handle_transport_session_key()
s3:rpc_client: make use of dcerpc_binding_handle_transport_session_key()
s3:libnet_dssync: make use of dcerpc_binding_handle_auth_session_key()
s3:rpcclient/cli_drsuapi: make use of
dcerpc_binding_handle_auth_session_key()
s3:rpc_client: remove unused cli_get_session_key()
s3:rpc_client: the transport_session_key is per connection!
s3:rpcclient: make use of dcerpc_binding_handle_auth_info()
s3:winbindd: cm_connect_lsa_tcp() doesn't need to check for NCACN_IP_TCP
or LEVEL_INTEGRITY
s3:rpc_client: make use of struct samba_sockaddr in
rpc_pipe_open_ncalrpc()
s3:rpc_client: header signing is negotiated per transport connection
librpc/rpc: add get_binding() to dcerpc_binding_handle_ops
libcli/tstream_binding_handle: implement get_binding()
s4:lib/messaging: implement irpc_bh_get_binding()
s3:winbindd: implement wbint_bh_get_binding() in winbindd_dual_ndr.c
s4:librpc/rpc: call dcerpc_binding_set_abstract_syntax after bind or
alter context
s4:librpc/rpc: implement dcerpc_bh_get_binding()
s3:rpc_client: implement rpccli_bh_get_binding()
librpc/rpc: add dcerpc_binding_handle_get_binding()
librpc/rpc: add dcerpc_binding_handle_get_transport() helper function
librpc/rpc: un-const dcerpc_default_transport_endpoint()
s4:libnet: make use of dcerpc_binding_handle_get_binding()
s4:libnet: make use of dcerpc_binding_handle_get_transport()
s4:torture/rpc: make use of dcerpc_binding_handle_get_binding() and
dcerpc_binding_get_flags()
s4:tortore/rpc: make use of dcerpc_binding_get_abstract_syntax() and
dcerpc_binding_get_flags()
s4:torture/rpc: make use of dcerpc_binding_handle_get_transport()
s4:librpc: make all but dcerpc_pipe->binding_handle internal struct
members
s3:rpc_client: remember rpc_pipe_client->print_username
s3:rpc_client: remove references to rpc_pipe_client from wsp_cli.c
s3:winbindd: make use of dcerpc_binding_handle_get_transport()
s3:rpcclient: make use of dcerpc_binding_handle_get_transport()
s3:lib/netapi: make use of dcerpc_binding_get_abstract_syntax()
s3:libsmb: make use of dcerpc_binding_get_abstract_syntax()
s3:librpc/rpc: split out dcerpc_internal.h for struct pipe_auth_data
s3:rpc_client: make most of rpc_pipe_client internal struct members
s3:rpc_client: only pass the pipe_name to rpc_transport_np_init_send()
s3:rpc_client: add struct rpc_client_{association,connection} and helpers
s3:rpc_client: convert rpc_pipe_open_ncalrpc() to
rpc_client_{association,connection}
s3:rpc_client: convert rpc_pipe_open_local_np() to
rpc_client_{association,connection}
s3:rpc_client: convert rpc_pipe_open_tcp_port() to
rpc_client_{association,connection}
s3:rpc_client: convert rpc_pipe_open_np() to
rpc_client_{association,connection}
s3:rpc_client: let cli_rpc_pipe_open() use rpc_client_connection_np()
s3:rpc_client: make real use of rpc_client_{association,connection}
s3:rpc_client: add cli_rpc_pipe_client_prepare_alter() helper
s3:rpc_client: split out cli_rpc_pipe_client_auth_schannel()
s3:rpc_client: make rpccli_setup_netlogon_creds_locked() static
s3:rpc_client: allow rpccli_setup_netlogon_creds_locked() to return
netlogon_pipe
s3:rpc_client: let rpccli_connect_netlogon() reuse the existing connection
s3:libnet: make use of rpccli_connect_netlogon() instead of reimplement
the logic
s3:rpc_client: pass remote_{name,sockaddr} to rpccli_connect_netlogon()
s3:rpc_client: let cli_rpc_pipe_open_schannel() use
rpccli_connect_netlogon() for netlogon
s3:rpc_client: add missing TALLOC_FREE(frame) in cli_rpc_pipe_open()
s3:rpc_client: pass remote_{name,sockaddr} to
rpccli_setup_netlogon_creds[_locked]()
lib/addns: match additional names in a non case insensitive way
system_mitkrb5: require 1.16 as we use ENCTYPE_AES256_CTS_HMAC_SHA384_192
s3:passdb: ENCTYPE_DES_CBC_MD5 is not longer used in
secrets_domain_info_kerberos_keys()
s3:libsmb: ads_dc_name() doesn't need to retry if we found a DC in the
closest site
s3:winbindd: let connect_preferred_dc() pass the dcname to
smbsock_connect()
s3:winbindd: let cm_connect_lsa() require schannel also for direct trusts
s3:winbindd: it's 2024 and all AD domains should be native now
s3:winbindd: remove unused line in add_trusted_domain()
s3:winbindd: let add_trusted_domain() mark domains as initialized when
loaded from config
s3:winbindd: set_dc_type_and_flags() doesn't need to do something for
primary or internal domains
s3:winbindd: dcip_check_name() only takes pss as const input value
s3:winbindd: let store_current_dc_in_gencache() take the dcaddr directly
s4:torture/smb2: improve error handling in durable_open.c
s4:torture/smb2: improve error handling in durable_v2_open.c
s4:torture/smb2: add smb2.durable-open.lock-noW-lease
s4:torture/smb2: add smb2.durable-v2-open.lock-{oplock,lease,noW-lease}
s3:smbd: only store durable handles with byte range locks when having
WRITE lease
s4:torture/smb2: add
smb2.durable-v2-open.{[non]stat[RH]-and,two-same,two-different}-lease
s4:torture/smb2: add smb2.durable-v2-open.{keep,purge}-disconnected-*
tests
s3:smbd: let durable_reconnect_fn already check for a disconnected handle
with the correct file_id
s3:smbd: allow reset_share_mode_entry() to handle more than one durable
handle
s3:smbd: avoid false positives for got_oplock and have_other_lease in
delay_for_oplock_fn
s4:tortore/rpc: let rpc.backupkey without privacy pass against Windows
2022
RawDCERPCTest: ignore errors in smb_pipe_socket.close()
tests/dcerpc/raw_protocol: pass against Windows 2022 and require special
env vars for legacy servers
s4:selftest: only run ad_member with AUTH_LEVEL_CONNECT_LSA=1
dcesrv_core: disconnect after a fault with non AUTH_LEVEL_CONNECT bind
dcesrv_core: return NAK_REASON_PROTOCOL_VERSION_NOT_SUPPORTED for binds
without contexts
tests/dcerpc/raw_protocol: add more test for auth padding during
ALTER_CONTEXT/AUTH3
dcerpc_util: don't allow auth_padding for BIND, ALTER_CONTEXT and AUTH3
pdus
s4:librpc: provide py_schannel bindings
RawDCERPCTest: split prepare_pdu() and send_pdu_blob() out of send_pdu()
RawDCERPCTest: add some more auth_length related asserts
dcesrv_core: add more verbose debugging for missing association groups
tests/dcerpc/raw_protocol: run test_neg_xmit_ffff_ffff over tcp and smb
dcesrv_core: introduce dcesrv_connection->transport_max_recv_frag
tests/dcerpc/raw_protocol: test_no_auth_ctx_request
tests/dcerpc/raw_protocol: fix comment in test_spnego_change_auth_type1
tests/dcerpc/raw_protocol: add tests for max auth_padding, auth_len or
auth_offset
tests/dcerpc/raw_protocol: add more tests for auth_pad alignment
tests/dcerpc/raw_protocol: test invalid schannel binds
dcerpc_util: let dcerpc_pull_auth_trailer() check that auth_offset is 4
bytes aligned
dcerpc_util: let dcerpc_pull_auth_trailer() expose the reject reason
dcerpc_util: let dcerpc_pull_auth_trailer() ignore data_and_pad for bind,
alter, auth3
dcesrv_core: a failure from gensec_update results in
NAK_REASON_INVALID_CHECKSUM
dcesrv_core: alter_context logon failures should result in
DCERPC_FAULT_ACCESS_DENIED
gensec:ntlmssp: only allow messages up to 2888 bytes
gensec:spnego: ignore trailing bytes in SPNEGO_SERVER_START state
dcesrv_core: fix the auth3 for large ntlmssp messages
dcesrv_core: better fault codes dcesrv_auth_prepare_auth3()
third_party/heimdal: Import lorikeet-heimdal-202410161454 (commit
0d61538a16b5051c820702f0711102112cd01a83)
s4:torture/rpc: check that DOWNGRADE_DETECTED has no bits negotiated
s4:torture/rpc: without weak crypto we should require AES
s3:rpc_server/netlogon: correctly negotiate flags in ServerAuthenticate2/3
s3:rpc_server/netlogon: if we require AES there's no need to remove the
ARCFOUR flag
s4:rpc_server/netlogon: if we require AES there's no need to remove the
ARCFOUR flag
netlogon.idl: the capabilities in query_level=2 are the ones send by the
client
libcli/auth: remove unused netlogon_creds_client_init_session_key()
libcli/auth: make use of netlogon_creds_cli_store_internal() in
netlogon_creds_cli_auth_srvauth_done()
libcli/auth: don't allow any unexpected upgrades of negotiate_flags
libcli/auth: if we require aes we don't need to require arcfour nor
strong key
libcli/auth: use a LogonControl after a LogonGetCapabilities downgrade
libcli/auth: use netr_LogonGetCapabilities query_level=2 to verify the
proposed capabilities
s4:librpc/rpc: do LogonControl after LogonGetCapabilities downgrade
s4:librpc/rpc: don't allow any unexpected upgrades of negotiate_flags
s4:librpc/rpc: define required schannel flags and enforce them
s4:librpc/rpc: use netr_LogonGetCapabilities query_level=2 to verify the
proposed capabilities
s4:torture/rpc/netlogon: adjust test_netlogon_capabilities query_level=2
to request_flags
s3:cli_netlogon: let rpccli_connect_netlogon() use force_reauth = true on
retry
s4:dsdb/common: samdb_confirm_rodc_allowed_to_repl_to() only needs a
const sid
s3:rpc_server/netlogon: add client_sid helper variables
s4:rpc_server/netlogon: add client_sid helper variables
libcli/auth: pass client_sid to netlogon_creds_server_init()
libcli/auth: split out netlogon_creds_CredentialState_extra_info
librpc/rpc: make use of creds->ex->client_sid in
dcesrv_netr_check_schannel_get_state()
s3:rpc_server/netlogon: make use of creds->ex->client_sid
s4:rpc_server/netlogon: make use of creds->ex->client_sid
libcli/auth: remove unused creds->sid
libcli/auth: remember client_requested_flags and auth_time in
netlogon_creds_server_init()
s3:rpc_server/netlogon: implement netr_LogonGetCapabilities query_level=2
s4:rpc_server/netlogon: implement netr_LogonGetCapabilities query_level=2
s4:torture/rpc: let test_netlogon_capabilities() fail on legacy servers
libcli/auth: also use netlogon_creds_CredentialState_extra_info for the
client
libcli/auth: let netlogon_creds_cli_store_internal() use
talloc_stackframe()
libcli/auth: let netlogon_creds_cli_store_internal check
netlogon_creds_CredentialState_legacy
libcli/auth: split out netlogon_creds_alloc()
s4:dsdb/common: dsdb_trust_get_incoming_passwords only needs a const
ldb_message
s4:rpc_server/netlogon: split out dcesrv_netr_ServerAuthenticateGeneric()
dcesrv_core: add DCESRV_NOT_USED_ON_WIRE() helper macro
s3:rpc_server: add DCESRV_COMPAT_NOT_USED_ON_WIRE() helper macro
netlogon.idl: add netr_ServerAuthenticateKerberos() and related stuff
libcli/auth: pass auth_{type,level} to
netlogon_creds_{de,en}crypt_samlogon_validation()
libcli/auth: pass auth_{type,level} to
netlogon_creds_{de,en}crypt_samlogon_logon()
libcli/auth: add netlogon_creds_{de,en}crypt_samr_Password()
libcli/auth: add netlogon_creds_{de,en}crypt_samr_CryptPassword()
libcli/auth: add netlogon_creds_{de,en}crypt_SendToSam()
pycredentials: make use of netlogon_creds_encrypt_samr_CryptPassword in
py_creds_encrypt_netr_crypt_password
pycredentials: add py_creds_encrypt_netr_PasswordInfo helper
python/tests: use encrypt_netr_PasswordInfo in
KDCBaseTest._test_samlogon()
pycredentials: remove unused .encrypt_samr_password()
auth/credentials: remove unused netlogon_creds_session_encrypt()
libcli/auth: make netlogon_creds_des_{de,en}crypt_LMKey() static
libcli/auth: make use of netlogon_creds_encrypt_samr_CryptPassword
libcli/auth: make use of netlogon_creds_encrypt_SendToSam
libcli/auth: make use of netlogon_creds_{de,en}crypt_samr_Password
s4:torture/rpc: make use of netlogon_creds_encrypt_samlogon_logon()
s4:torture/rpc: make use of netlogon_creds_decrypt_samlogon_validation()
s4:torture/rpc: make use of netlogon_creds_encrypt_samr_CryptPassword()
s4:torture/rpc: make use of netlogon_creds_{de,en}crypt_samr_Password
s3:rpc_server/netlogon: make use of
netlogon_creds_{de,en}crypt_samr_Password
s3:rpc_server/netlogon: make use of
netlogon_creds_decrypt_samr_CryptPassword()
s4:rpc_server/netlogon: make use of
netlogon_creds_{de,en}crypt_samr_Password()
s4:rpc_server/netlogon: make use of
netlogon_creds_decrypt_samr_CryptPassword
s4:rpc_server/netlogon: make use of netlogon_creds_decrypt_SendToSam
libcli/auth: make sure low level crypto function are not used directly
libcli/auth: return INVALID_PARAMETER for DES in
netlogon_creds_{de,en}crypt_samlogon_logon
libcli/auth: pass auth_{type,level} to schannel_check_creds_state()
libcli/auth: pass auth_{type,level} to netlogon_creds_server_step_check()
libcli/auth: split out netlogon_creds_client_verify() that takes
auth_{type,level}
libcli/auth: make use of netlogon_creds_client_verify()
s4:librpc/rpc: make use of netlogon_creds_client_verify()
libcli/auth: let netlogon_creds_copy() copy all scalar elements
libcli/auth: split out netlogon_creds_cli_check_transport()
s3:cli_netlogon: don't change remote_name in
rpccli_setup_netlogon_creds_locked()
s3:winbindd: call process_set_title() for locator child
libcli/auth: make use of netlogon_creds_cli_check_transport() in more
places
librpc/ndr: add ndr_deepcopy_struct() helper
libcli/auth: let netlogon_creds_copy() make use of ndr_deepcopy_struct()
samr/netlogon.idl: add [flag(NDR_SECRET)] in some more places
netlogon.idl: mark some structs as public so that ndr.ndr_deepcopy()
works in python
netlogon.idl: use authservice("netlogon")
librpr/ndr: split out ndr_print_generic_string()
librpc/ndr: add ndr_print_{struct,union,function}_secret_string()
pidl/Python: allow ndr_print(print_secrets=True)
python/ndr: allow print_secrets=True for ndr_print*
librpc/ndr: let ndr_print_bitmap_flag work for bitmap64bit values
netlogon.idl: add
NetlogonTicketLogonInformation/NetlogonValidationTicketLogon
libcli/auth: don't loose server_dns_domain in
netlogon_creds_cli_context_global()
Revert "libcli/auth: let netlogon_creds_cli_store_internal check
netlogon_creds_CredentialState_legacy"
schannel.idl: change netlogon_creds_CredentialState layout for 4.22
s4:librpc/rpc: make use of creds_state->client_requested_flags
s4:torture/rpc: make use of creds->client_requested_flags
libcli/auth: return RESOURCE_REQUIREMENTS_CHANGED is the proposed flags
changed
s3:libsmb: let discover_dc_netbios() return DOMAIN_CONTROLLER_NOT_FOUND
s3:utils: let net_rpc_testjoin() work for ad domains and no ipv4 address
s3:winbindd: let wb_dsgetdcname* normalize to dns names on an ad_dc
s3:winbindd: make use of samba_sockaddr add_one_dc_unique() to avoid
warnings
s3:winbindd: make use of samba_sockaddr in set_remote_addresses() to
avoid warnings
s3:winbindd: remove useless lines in add_trusted_domains_dc()
s3:rpc_client: remember the local/remote ipv4 or ipv6 addresses
s3:libads: fix compiler warning in trust_pw_change()
s3:libads: let kerberos_kinit_password_ext() always initialize *ntstatus
s3:libads: remove unused time_offset from kerberos_kinit_password()
s3:libads: split out kerberos_kinit_generic_once()
s3:libads: add kerberos_kinit_passwords_ext() helper
s3:cli_pipe: pass target_service to cli_rpc_pipe_open_with_creds()
gensec: add GENSEC_FEATURE_NO_DELEGATION flag to avoid
GSS_C_DELEG[_POLICY]_FLAG
s4:pyrpc: add conn.auth_info()
tests/krb5: make use of conn.auth_info() in _test_samlogon()
libcli/auth: let netlogon_creds_crypt_samlogon_validation handle generic
info
s4:rpc_server/netlogon: let dcesrv_netr_LogonSamLogon_base_reply handle
encryption errors
pyrpc_util: fix error Exception message in py_check_dcerpc_type()
pycredentials: remove unused module methods
pycredentials: add creds.[g|s]et_netlogon_creds()
pycredentials: add credentials.netlogon_creds_*() functions via
py_module_methods
python:tests/krb5: remember the objectGUID of created accounts
python:tests/krb5: avoid some problems when running against w2025
(preview) with STRICT_CHECKING=0
python:tests/krb5: add netlogon.py
s4:selftest: run samba.tests.krb5.netlogon
s4:rpc_server/netlogon: implement dcesrv_netr_ServerPasswordGet()
s4:rpc_server/netlogon: fix error codes in dcesrv_netr_NetrLogonSendToSam
dcesrv_core: add dcesrv_assoc_group_common_destructor()
s3:rpc_server: make use of dcesrv_assoc_group_common_destructor()
s4:rpc_server: make use of dcesrv_assoc_group_common_destructor()
libcli/auth: add let netlogon_creds_alloc() use _talloc_keep_secret()
libcli/auth: add infrastructure for netr_ServerAuthenticateKerberos()
python:tests/krb5: let netlogon.py test strong key without arcfour
pycredentials: add py_netlogon_creds_kerberos_init
python:tests/krb5: add ServerAuthenticateKerberos related tests to
netlogon.py
auth_log: prepare for netr_ServerAuthenticateKerberos
s4:rpc_server/lsa: allow krb5+privacy instead of schannel
docs-xml/smbdotconf: add "server reject aes schannel[:COMPUTERACCOUNT]"
options
docs-xml/smbdotconf: add "server support krb5 netlogon" options
librpc/server: prepare schannel_util.c for netr_ServerAuthenticateKerberos
s4:rpc_server/netlogon: implement dcesrv_netr_ServerAuthenticateKerberos
selftest add 'server reject aes schannel:COMPUTER$' rules
selftest: add 'server support krb5 netlogon = yes' for ad_dc
libcli/auth: let schannel_check_creds_state() take an access_check
callback
librpc/server: call dcesrv_netr_check_schannel() as
schannel_check_creds_state() callback
s4:rpc_server/netlogon: fix dcesrv_netr_ServerPasswordSet[2] for
ServerAuthenticateKerberos
s4:rpc_server/netlogon: fix dcesrv_netr_LogonSamLogon_base_call() for
ServerAuthenticateKerberos()
s4:scripting: fix gen_hresult.py
libcli/util: let nt_errstr() fallback to hresult_errstr()
Happy New Year 2025!
s4:dsdb: fix logic of dsdb_trust_routing_by_name()
schannel.idl: add tdo_guid to netlogon_creds_CredentialState
s4:rpc_server/netlogon: fill netlogon_creds_CredentialState->tdo_guid
python:tests/krb5: fix etypes_to_test values in RawKerberosTest
python:tests/krb5: allow get_mock_rodc_krbtgt_creds(preserve=False) to
create a tmp rodc
python:tests/krb5: allow netlogon.py tests to work against a KDC with
claims enabled
python:tests/krb5: let netlogon.py run the tests also as rodc
s4:rpc_server/netlogon: an RODC is not allowed to call
netr_ServerPasswordGet()
s4:rpc_server/netlogon: fix error codes for netr_NetrLogonSendToSam()
with SEC_CHAN_RODC
pycredentials: add [g|s]et_old_nt_hash()
python:tests/krb5: add
KerberosCredentials.[g|s]et_trust_{incoming,outgoing,account}_creds
python:tests/krb5: allow exporting a keytab file of the accounts used by
the tests
python:tests/krb5: add a create_trust() helper function to test trusted
domains
python:tests/krb5: add domain trust tests to netlogon.py
python:tests/krb5: let netlogon.py export changed passwords to keytab
python:tests/krb5: allow tickets without a kvno
python:tests/krb5: allow get_service_ticket to accept a trust referral
ticket without kvno
python:tests/krb5: let netlogon.py test referral ticket for
SEC_CHAN_DNS_DOMAIN
s4:selftest: samba.tests.krb5.netlogon don't need explicit FAST_SUPPORT
s3:libads: rename variables in trust_pw_change()
s3:libads: prepare trust_pw_change() for ServerAuthenticateKerberos()
docs-xml/smbdotconf: add "reject aes netlogon servers" option
docs-xml/smbdotconf: add "client use krb5 netlogon" option
libcli/auth: add netlogon_creds_cli_use_kerberos() helper
s3:cli_netlogon: use GENSEC_FEATURE_NO_DELEGATION for trust credentials
s3:libnet_join: use GENSEC_FEATURE_NO_DELEGATION for trust credentials
s3:rpcclient: use GENSEC_FEATURE_NO_DELEGATION for trust credentials
s3:winbindd: use GENSEC_FEATURE_NO_DELEGATION for trust credentials for
netlogon
s3:cli_netlogon: prepare for netr_ServerAuthenticateKerberos()
s3:winbindd: split out cm_connect_schannel_or_krb5() helper
libcli/auth: add support for ServerAuthenticateKerberos()
selftest: add 'server support krb5 netlogon = yes' for ad_dc_ntvfs
python:tests: let auth_log.py use self.assertIn(received, [4, 5]
python:tests: let auth_log.py explicitly use
--option=clientusekrb5netlogon=no
python:tests: let auth_log.py also test --option=clientusekrb5netlogon=yes
testprogs/blackbox: let test_rpcclient_schannel.sh explicitly use
--option=clientusekrb5netlogon
python:tests: let s3_net_join.py avoid kerberos_state=DONT_USE_KERBEROS
s3:tests: let test_update_keytab.sh use rpc changetrustpw --server
s4:librpc/rpc: implement DCERPC_SCHANNEL_KRB5
s4:torture/rpc: make more use of netlogon_creds_client_verify()
s4:torture/rpc: prepare lsa lookup tests for ServerAuthenticateKerberos
s4:torture/rpc: prepare netlogon tests for ServerAuthenticateKerberos
s4:torture/rpc: use expected_{account,authority}_name variables in
test_lsa_ops
s4:torture/rpc: prepare test_lsa_ops for ServerAuthenticateKerberos
s4:torture/rpc: let rpc.schannel also use of DCERPC_SCHANNEL_KRB5
s4:torture/rpc: let rpc.samlogon test credential_flags again...
s4:torture/rpc: let rpc.samlogon also test
DCERPC_SCHANNEL_KRB5/ServerAuthenticateKerberos()
selftest: add 'server support krb5 netlogon = yes' for fl2008r2dc
s4:torture/rpc: add rpc.pac tests with
DCERPC_SCHANNEL_KRB5/ServerAuthenticateKerberos()
selftest: force 'client use krb5 netlogon = yes' for admem_idmap_autorid
python:tests/krb5: let netlogon.py check for NETLOGON_NTLMV2_ENABLED
s4:auth/ntlm: let authsam_check_password_internals() add
NETLOGON_NTLMV2_ENABLED
s3:auth: let check_sam_security() add NETLOGON_NTLMV2_ENABLED
s3:winbindd: use struct initializers for all struct winbindd_methods cases
s3:winbindd: consistently use add_sid_to_array_unique() in winbindd_ads.c
s3:winbindd: add winbindd_domain_verify_sid() helper
s3:winbindd: split out wb_gettoken_trylocalgroups() function
s3:winbindd: split our wb_gettoken_trybuiltins() helper
pidl:Python: generate nicer code for PyNdrRpcMethodDef arrays
pidl:Python: introduce $is_raisable_return helper variable
pidl:Python: initialize pointers and add 'result' at the end
pidl:Python: check PyTuple_New() return value
pidl:Python: separate logic to calculate the signature string
pidl:Python: handle NTSTATUS/WERROR exceptions first
pidl:Python: prepare code to avoid NTSTATUS/WERROR exceptions
s4:pyrpc: allow connections with raise_result_exceptions=False
python:tests/dcerpc/lsa: add tests for invalid LookupSids2 combinations
libcli/security: let dom_sid_lookup_predefined_sid() behave like Windows
2008R2
s4:rpc_server/lsa: let LookupSids* behave like Windows 2022/2025
lib/util: add dns_cmp() as it's own file
dsdb:util_trusts: remove unused copy of dns_cmp()
s3:rpc_server:lsa: make use of the lib/util version of dns_cmp()
s3:rpc_client: make use of CHECK_DEBUGLVLC(DBGC_RPC_PARSE, ...)
rpccli_bh_do_ndr_print
s3:winbindd: make use of CHECK_DEBUGLVLC(DBGC_RPC_PARSE, ...) in
wbint_bh_do_ndr_print()
s4:lib/messaging: make use of CHECK_DEBUGLVLC(DBGC_RPC_PARSE, ...) in
irpc_bh_do_ndr_print()
s4:librpc: make use of CHECK_DEBUGLVLC(DBGC_RPC_PARSE, ...) in
dcerpc_bh_do_ndr_print()
libcli:smb: Implement smb2cli_read_set_notify_async()
s4:libcli/smb2: add smb2_tree_channel() helper
s3:smbd: Use nt_status_np_pipe() in
smbd_smb2_ioctl_pipe_{read,write}_done()
s3:rpc_server: Handle an np_read_send with len==0 correctly
librpc/ndr: apply some const to ndr_push_union_blob()
Thomas Klausner (1):
lib/replace: memset_explicit() only takes three arguments
Vinit Agnihotri (4):
sharesec: Fix warning frame not freed in order
param: Add API to load registry without share info
sharesec: Add function to check existence of share from config
sharesec: Check if share exists in configuration
Volker Lendecke (416):
smbd: protect check_smb2_posix_chmod_ace against invalid trustees
libsmb: Slightly restructure map_smb2_handle_to_fnum
libsmb: Add cli_smb2_fnum_is_posix
libsmb: Add cli_fchmod
libsmb: Add cli_chmod
libsmb: Add cli_fchmod for smb311 posix extensions
smbclient: Use cli_chmod instead of cli_posix_chmod
torture3: Use cli_chmod instead of cli_posix_chmod
libsmb: Remove cli_posix_chmod
smbd: Modernize DEBUGs
tsocket: Use iov_buflen
tsocket: Use iov_buflen
lib: Fix whitespace
smbclient: Modernize a d_printf
vfs: Fix a DBG message
lib: Fix a typo
smbd: Save a few lines with a "goto done;"
smbd: Fix a comment and an error message
smbd: Modernize a DEBUG
smbd: Fix some DBGs
smbd: Remove some dead code
smbd: Make parent_override_delete a bit more readable
smbd: Simplify check_user_ok()
smbd: filename_convert_dirfsp always gives an fsp
smbd: Assert we have an fsp in smbd_do_setfilepathinfo
libsmb: Make cli_qpathinfo_standard() static
libsmb: Modernize two DEBUGs
libsmb: Avoid an "else", we return in the "true" branch.
libsmb: Swap if/else branches in remote_password_change
libsmb: Avoid an "else", we return in the "true" branch
libsmb: Remove a pointless variable assignment
build: Fix LIBCLI_SAMR dependencies
samr: Avoid a "ret == false" for a bool
libsmb: Convert cli_oem_change_password() away from cli_api()
libsmb: Fix cli_oem_change_password()
utils: Fix "net rap password" return code
libsmb: Remove a pointless variable
libsmb: Simplify smb1cli_trans_recv()
libsmb: Convert cli_oem_change_password() to NTSTATUS
libsmb: Reduce indentation in cli_RNetShareEnum()
libsmb: Convert cli_RNetShareEnum() away from cli_api()
libsmb: Convert cli_RNetShareEnum() to NTSTATUS
libsmb: Convert cli_NetServerEnum() away from cli_api()
torture3: Convert run_randomipc() away from cli_api()
libsmb: Make cli_api() static to clirap2.c
libsmb: Remove unused cli_nt_error()
libsmb: Remove a reference to cli_errno()
libsmb: Convert cli_NetServerEnum() to return NTSTATUS
libsmb: Don't set errno in cli_NetServerEnum()
libsmb: Remove unused cli_errno()
libsmb: Remove a call to cli_is_error()
libsmb: Remove unused cli_is_error()
libsmb: Remove cli_state->raw_status
libsmb: Remove unused cli_ns_check_server_type()
libsmb: Remove unused cli_NetWkstaUserLogoff()
libsmb: Remove cli_state->rap_error
ctdb: Add a NULL check to convert_node_map_to_list()
smbd: Modernize a few DEBUGs
libndr: Remove 368 bytes from R/W data into R/O text segment
libndr: Use _talloc_array() to benefit from overflow protection
lib: Add a few explicit includes
pidl: replace.h is sufficient in ndr_*.c
idl: security.idl compiles with only secace.h
smbd: Introduce "ace" helper variable
smbd: Modernize a few DEBUGs
smbd: Inline set_sticky_write_time_path into set_sticky_write_time_fsp
idl: Remove unused KRB5_EDATA_NTSTATUS
lib: Add libcli/util/ntstatus.h in a few headers where it's needed
libsmb: Simplify pdb_sethexpwd with hex_byte()
lib: Make a few functions static
pidl: Add headerhelper idl property
idl: misc.idl references DATA_BLOB
idl: dnsp.h references NTTIME
libndr: Simplify ndr_token_retrieve_cmp_fn()
libndr: Streamline ndr_token_retrieve_cmp_fn
libsecurity: Simplify struct ace_condition_script
tests: Improve the error message for bad format chars
lib: Align integer types
util: Make show_msg call DEBUG just once
libndr: We don't need "../" in includes, -I has what is needed
libndr: Remove duplicate prototype
libndr: Use UINT32_MAX -- no need to count F's
libndr: Align an integer type
libndr: Apply endianness flags to subndr
rpc_server: Fix a comment
rpc_host: Fix max_workers calculation
libndr: Use TALLOC_FREE instead of talloc_free
libsmb: Use nybble_to_hex_upper() in smbc_urlencode()
libsmb: Use nybble_to_hex_upper() in virusfilter_url_quote()
passdb: Simplify pdb_gethexhours() with hex_byte()
vfs: Simplify capencode() with nybble_to_hex_lower()
vfs: Simplify capdecode() with hex_byte()
lib: Avoid unused includes
ctdb: Make ctdb_lock_timeout_handler() easier to understand
ctdb: Use str_list_add_printf() in debug_locks_args()
ctdb: Fix a typo
auth: Fix CID 1615191 Uninitialized scalar variable
smbd: We can expect the file to exist in is_visible_fsp()
ctdb: Change the ctdb_vfork_exec prototype to const char*const*
ctdb: Use str_list_add_printf() in lock_helper_args()
smbd: Return reparse tag in smb311 unix query dir
libsmb: Remove duplicate prototypes
libsmb: Rename and simplify unix_filetype_from_wire()
libsmb: Move unix_filetype_to_wire() to libcli/smb
smbd: Slightly simplify unix_perms_from_wire()
smbd: Factor out create/directory mode/mask logic
smbd: Simplify unix_perms_from_wire()
libsmb: Define to transfer file types via smb3 unix extensions
idl: smb3posix.idl references NTTIME
libsmb: Move UNIX constants to smb3posix.idl
pylibsmb: Add unix_mode_to_wire and wire_mode_to_unix
idl: Rename smb3_posix_cc_info.posix_perms to posix_mode
tests: Check that posix extensions return the file type
smbd: Return file type in the posix create context response
tests: Check that we return the posix type in query_directory
posix_ext: Pass unix file type through posix query_directory
pylibsmb: Fix a typo
lib: Fix CID 1620428: Memory - illegal accesses (OVERRUN)
lib: Fix CID 1596761 Resource leak
lib: Factor out ADD_TO_MALLOC_ARRAY()
lib: Avoid duplicate definition of ADD_TO_ARRAY
lib: Change ADD_TO_ARRAY to use a tmp variable
ntvfs: Fix CID 1034883 Resource leak
auth4: Fix CID 1034877 Resource leak
lib: Use talloc_realloc instead of talloc_realloc_size
utils: Fix up 14a533680245
nmbd: Remove the "nmbd proxy logon" feature
libads: Simplify cldap_multi_netlogon_send()
libads: Init a variable to NULL
libads: Simplify get_kdc_ip_string with talloc_asprintf_addbuf
net_ads: Fix indentation in net_ads_cldap_netlogon_json
libads: Modernize DEBUGs
idl: nbt.idl references NTTIME
cldap: Simplify cldap_netlogon with tevent_req_poll_ntstatus
cldap: Save a few lines in cldap_netlogon
ctdb: Save a few lines with talloc_zero()
ctdb: Don't leak a pointer on talloc_realloc failure
tstream_tls: Add tstream_tls_params_peer_name()
tldap_tls: Move creation of tls_params out of tldap_tls_connect()
tldap_tls: Remove tldap_[gs]et_starttls_needed()
torture4: Simplifiy [tcp|udp]_ldap_netlogon()
libcli4: Call map_netlogon_samlogon_response directly
libnet4: Call map_netlogon_samlogon_response directly
libnet4: Call map_netlogon_samlogon_response directly
libnet4: Call map_netlogon_samlogon_response directly
cldap: Remove cldap_netlogon->in.map_response
lib: Fix trailing whitespace
cldap: Make cldap_netlogon.out.netlogon a pointer
cldap: Make finddcs.out.netlogon a pointer
param: Remove parameter "cldap port"
build: Make util_tsock its own subsystem
build: Remove the big samba3util dependency from TLDAP
lib: Add a few required includes
param: Add "client netlogon ping protocol"
tldap: Add tldap_context_create_from_plain_stream()
libads: Add netlogon_pings()
cldap: Use netlogon_pings()
ldap: Use netlogon_pings
kerberos: Use netlogon_pings()
libsmb: Use netlogon_pings() in dsgetdcname
libads: remove cldap_multi_netlogon
libads: Make ads_cldap_netlogon() static
libads: Pass "required_flags" through ads_cldap_netlogon()
libads: Pass "required_flags" through ads_cldap_netlogon_5()
libads: Simplify ads_fill_cldap_reply()
libads: Move check_cldap_reply_required_flags() to netlogon_ping.c
libnet: Save a few lines with talloc_move()
libnet: Simplify error return in libnet_FindSite()
libnet: Initialize variables in libnet_FindSite()
libnet4: Use netlogon_pings() in findsite
libnet4: Use netlogon_pings() in become_dc
libnet4: Use netlogon_pings() in unbecome_dc
libnet4: Use netlogon_pings() in finddcs_cldap
torture4: Use netlogon_pings_send/recv in bench-cldap
torture4: Use netlogon_pings() in rpc.lsa tests
torture4: Add ldap.netlogon-ping test
torture4: Replace direct netlogon ping calls with netlogon_pings()
libcli: Remove cldap_netlogon() and friends
libcli: Move "struct cldap_netlogon" definition to torture
docs: Fix a typo in a parameter file name
libnet: Simplify becomeDC
libcli: Remove two unused functions
libcli: Make cldap_error_reply() static to cldap_server.c
tests: Run ad members with new netlogon ping protocol settings
WHATSNEW: Add client netlogon ping protocol parameter
libndr: Simplify data flow in ndr_push_relative_ptr2
libndr: Early overflow detection
vfs_fruit: Simplify filter_empty_rsrc_stream()
vfs_fruit: Align a few integer types
libcli: Try to fix CID 1609583 Overflowed constant
lib: simplify smbpasswd_gethexpwd() with strhex_to_str()
lib: simplify smbpasswd_sethexpwd() with hex_encode_buf()
idl: Fix trailing whitespace
lib: Modernize a DEBUG
libcli: Convert an int to a size_t
libreplace: Introduce hexchars_{upper|lower}
ldb: User hexchars_upper from replace.h
lib: Simplify nybble_to_hex_*
lsasrv: Simplify dcesrv_lsa_AddRemoveAccountRights()
libsmb: Fix trailing whitespace
libsmb: Fix a "cast increases required alignment" warning
pylibsmb: Add NFS reparse tag types
smbd: Simplify make_connection_snum()
smbd: Convert refuse_symlink_fsp() to bool
smbd: Convert get_ea_value_fsp() to return 0/errno
vfs: Convert streams_xattr_get_name() to return 0/errno
vfs: Simplify streams_xattr_openat()
vfs: Fix streams_xattr_openat
smbd: Make reopen_from_fsp() public
smbd: reopen_from_fsp also works for full fsps
smbd: Simplify smbd_smb2_query_directory_send()
libsmb: Use SMB2_0_INFO_FILE instead of a simple "1"
smbd: Fix an error resource leak in OpenDir_from_pathref()
smbd: Don't print cwd before tcon is done
vfs: Change the condition when to fill the getwd cache
vfs: Use the getwd-cache only if we have a valid tcon
vfs: Only call openat for valid params in fake_acls_stat
vfs: Don't ever call openat(-1, ...) for relative paths
smbd: Inline dup_file_fsp() into fcb_or_dos_open()
smbd: Simplify filename_convert_dirfsp()
smbd: Ignore twrp in chdir_below_conn()
smbd: Tighten non_wide_link_open() for absolute root share open
smbd: Enable fd_openat(cwd_fsp, "/absolute/share/path")
smbd: Simplify OpenDir_from_pathref()
smbd: Use OpenDir_from_pathref() in can_delete_directory_fsp()
smbd: Use OpenDir_from_pathref() in rmdir_internals()
smbd: Slightly simplify filename_convert_dirfsp_nosymlink()
smbd: Fix following symlinks if basedir != cwd_fsp
smbd: Factor out filename_convert_dirfsp_rel()
smbd: Add open_rootdir_pathref_fsp()
net: filename_convert_dirfsp() needs mangling initialized
smbd: Simplify filename_convert_dirfsp_nosymlink()
pysmbd: Python code calls smbd code with "." and ".."
smbd: simplify open_stream_pathref_fsp()
smbd: simplify openat_pathref_fullname()
smbd: Remove non_widelink_open()
libnet: Fix Coverity ID 1634803 Dereference after null check
vfs: Remove files_struct->posix_flags
smbd: Simplify smbd_do_qfilepathinfo()
tests: Use unix_mode_to_wire() in smb3unix tests
libsmb: Save some .data bytes with a const array
smbd: Early talloc_free in an error case
smbpasswd4: Simplify smbpasswd_sethexpwd()
libcli: Simplify debug_conditional_ace()
ntlm_auth: Fix Coverity ID 240743 Resource leak
ntlm_auth: Fix Coverity ID 240747 Resource leak
ntlm_auth: Fix Coverity ID 240748 Resource leak
ntlm_auth: Fix Coverity ID 240749 Resource leak
ntlm_auth: Fix Coverity ID 240750 Resource leak
ntvfs: Fix Coverity ID 240791 Uninitialized scalar variable
ntvfs: Fix Coverity ID 240792 Uninitialized scalar variable
libnet3: Fix Coverity ID 1034874 Resource leak
smbd: Simplify smb_q_posix_symlink()
tests: Fix a comment
test: Fix a typo
smbd: Pass "create_options" to filename_create_ucf_flags()
smbd: Revert "smbd: Simplify filename_convert_dirfsp()"
smbd: Make filename_convert_dirfsp_nosymlink() public
libsmb: Retry the open with OPEN_REPARSE_POINT on
IO_REPARSE_TAG_NOT_HANDLED
smbd: Prepare fdos_mode() for handling symlinks in smb2
smbd: Allow symlinks to be read via GET_REPARSE_POINT
smbd: Set fsp->fsp_flags.posix_open in openat_pathref_fsp_lcomp()
smbd: Fix the turning an absolute symlink into a relative one
smbd: Allow a symlink as lcomp when asking for REPARSE_POINT
tests: Reparse point files are shown as FILE_ATTRIBUTE_REPARSE_POINT
tests: Reparse point dirs are shown as REPARSE_POINT|DIRECTORY
tests: Fix test_symlinkerror_absolute_inshare
smbd: Prepare smbd_smb2_create_recv() to return a symlink error
smbd: Create the proper error blob for STOPPED_ON_SYMLINK
smbd: Always init symlink_err in filename_convert_dirfsp_nosymlink()
smbd: Return NT_STATUS_STOPPED_ON_SYMLINK
tests: Check symlinks are readable as reparse points
libndr: Add overflow check to ndr_push_subcontext_end()
autobuild: Run the samba-minimal-smbd build jobs with -j 2
pdb_ldap: Fix Coverity ID 1508985 Use of 32-bit time_t
libsmb: Fix Coverity ID 1509012 Use of 32-bit time_t
passdb: Fix Coverity ID 1509016 Use of 32-bit time_t
rpcclient: Fix Coverity ID 1509018 Use of 32-bit time_t
libndr: Fix Coverity ID 1509020 Use of 32-bit time_t
net: Fix Coverity ID 1509022 Use of 32-bit time_t
lib: Move some R/W "data" segment to R/O "text"
lib: Simplify smbconf_txt_load_file()
printing: Fix Coverity ID 1509000 Use of 32-bit time_t
printing: Fix Coverity ID 1508942 Use of 32-bit time_t
smbd: Avoid a cast
smbd: TALLOC_FREE(sd) where it was allocated
libndr: Apply const to the ndr_print_* functions's void *
pdbedit: Avoid a use of convert_time_t_to_uint32_t()
smbd: Remove a pointless comment
smbd: Simplify smbd_smb2_query_directory_send()
smbd: Simplify smb_set_info_standard()
smbd: Simplify smb_set_file_allocation_info()
smbd: Simplify smb_set_file_allocation_info()
smbd: Simplify smb_file_position_information()
smbd: Simplify smb_file_position_information()
smbd: Simplify smb_set_posix_lock()
smbd: Modernize DEBUGs
libcli: Avoid an unnecessary "else"
libcli: Fix whitespace
libcli: Fix a typo
libcli: Apply a little const
libcli: Use dom_sid_dup() instead of talloc_memdup()
libcli: Fix a signed/unsigned comparison warning
lib: Simplify security_descriptor_initialise() with a struct init
libcli: README.Coding for dom_sid routines
libcli: Simplify sddl_decode_err_msg()
libcli: Remove a special case
libcli: Speed up sddl_decode_ace()
libcli: Use ndr_deepcopy_struct() in security_token_duplicate()
libcli: Avoid an unnecessary "else"
smbd: Pass "dirfsp" through posix_mkdir()
vfs: Simplify connect_acl_xattr()
vfs: Simplify connect_acl_tdb()
libcli: Simplify pull_integer()
libcli: Remove the "mem_ctx" argument from pull_integer()
libcli: Align an integer type
libcli: Simplify disp_sec_ace_object()
libcli: Make handling implicit_owner_rights bit easier to read
libcli: Fix a potential 32-bit problem with PRIu32
libcli: Modernize a DEBUG
smbd: Simplify get_posix_fsp()
smbd: Simplify smb_q_posix_acl()
smbd: Simplify smb_set_posix_acl()
smbd: Pass "dirfsp" to get_posix_fsp()
smbd: Avoid a (double) cast
smbd: Modernize DEBUGs
lib: Fix Coverity ID 1636566 Untrusted loop bound
smbd: Simplify call_trans2setfileinfo()
smbd: Simplify smb_set_file_end_of_file_info()
smbd: Remove an obsolete comment
printing: Remove a few obsolete openat_pathref_fsp() calls
winbind: Fix Coverity ID 1509002 Use of 32-bit time_t
eventlog: Fix Coverity ID 1508977 Use of 32-bit time_t
net: Fix Coverity ID 1508974 Use of 32-bit time_t
rpcclient: Fix Coverity ID 1508978 Use of 32-bit time_t
smbd: Fix a %d/%u format string hickup
smbd: Pass "dirfsp" through open_streams_for_delete()
lib: Simplify ad_get_internal()
smbd: Simplify ReadDirName()
smbd: Fix typos
smbd: Remove a pointless and partially wrong comment
smbd: simplify can_delete_directory_fsp()
smbd: Fix can_delete_directory_fsp()
smbd: Make can_delete_directory_fsp() look cleaner in strace
smbd: Factor out can_delete_directory_hnd()
smbd: Simplify rmdir_internals()
smbd: Streamline recursive_rmdir()
smbd: Simplify rmdir_internals()
pam_winbind: Fix Bug 15771
Modernize DEBUGs
vfs: Simplify stream_dir()
vfs: Slightly speed up stream_dir()
Fix whitespace
smbd: Simplify smbd_do_qfsinfo()
lib: Fix a comment
lib: Fix error path memleaks in read_ea_list_entry()
vfs_fruit: Fix 63f0b59cbed
smbd: Use MIN() instead of explicit if-statement
torture3: Fix an error message
vfs: Fix DBGs
vfs: Fix a typo
docs: Fix a copy&paste error
smbd: Modernize a DEBUG
vfs: Use fsp_is_alternate_stream() in shadow_copy2
libsmb: Remove a pointless if-statement
lib: factor out generate_random_str_list_buf()
smb1_srv: Use generate_random_str_list_buf()
torture4: Use generate_random_str_list_buf()
torture4: Align a few integer types
torture4: Simplification with generate_random_str_list_buf()
dsdb: Simplification with generate_random_str_list_buf()
dsdb: Align an integer type
nsswitch: Simplify wbcCtxDcInfo()
nsswitch: Align integer types
pam_winbind: Align integer types
smbd: Slightly simplify rename_internals_fsp()
smbd: Slightly simplify rename_internals_fsp()
dsdb: Avoid a talloc
vfs: Simplify acl_common_remove_object()
vfs: Slightly simplify acl_common_remove_object()
vfs: Use is_ntfs_stream_smb_fname() where appropriate
vfs: Rename variables in streams_depot_renameat()
vfs: Do an early talloc_free in an error path
smbd: Modernize a DEBUG
vfs_fruit: Don't expect a pathref fsp in unlinkat
smbd: Simplify rmdir_internals()
smbd: Move parent_pathref() out of rmdir_internals()
smbd: Move parent_pathref() up in close_remove_share_mode()
smbd: Simplify delete_all_streams()
streams_depot: Simplify walk_streams()
smbd: Use filename_convert_dirfsp_rel() in durable reconnect
vfs: Fix streams_depot_lstat()
vfs: Implement streams_xattr_fstatat()
vfs: Implement streams_depot_fstatat()
vfs: Mondernize a few DEBUGs
smbd: Make dirfsp param to synthetic_pathref() const
smbd: Remove an unnecessary call to SMB_VFS_STAT()
lib: Simplify ad_get_internal()
lib: Move 968 bytes from R/W data to R/O text
lib: Fix typos
libsmb: Save some bytes in .text code
vfs: Fix some error path memleaks
vfs: Fix some whitespace
lib: Convert string_replace_allocate() to return 0/errno
vfs: Slightly simplify catia_translate_name()
vfs: Remove a few calls to map_errno_from_nt_status()
lib: Move a pointer from .data to stack
lib: Remove a pointer from R/W .data
smbd: Remove vfs_file_exist()
vfs: Align a few integer types
vfs: Add some const
vfs: Slightly simplify ad_get_meta_fsp()
lib: Shrink .text a bit
smbd: Remove an unnecessary call to SMB_VFS_STAT()
talloc: Add a comment explaining talloc_asprintf_addbuf()
ntvfs: Simplify rap_netshareenum()
-----------------------------------------------------------------------
--
Samba Shared Repository