[SCM] Samba Shared Repository - branch master updated
The branch, master has been updated via b71f729698f smbd: Add reparse tag to smb3_posix_cc_info via ecb17c12c54 smbd: Test reparse tag in smb3_posix_cc_info via d0cdb4160b8 smbd: Use fsctl_get_reparse_tag in fsctl_del_reparse_point via 7b6dc319b53 smbd: Use fsctl_get_reparse_tag in fsctl_set_reparse_point via 3a387673662 smbd: Add fsctl_get_reparse_tag() helper function via 2743127a6e3 smbd: Modernize a few DEBUGs via a85b1e57542 libsmb: Cap max_rdata at UINT16_MAX via 1776918c5bf libsmb: Use the direct FSCC_FILE_ALL_INFORMATION define via 5e0fe4d91ce smbd: Add DEBUG message got get_reparse_point via ee653577630 smbd: Return reparse tag as of MS-FSCC 2.4.6 via d884c2fb0d5 smbd: Fix a DBG via 44b3eadacb3 tests: get TAG_INFORMATION via ba40d97087b pylibsmb: Add py_cli_qfileinfo via c13ac1f1a76 pylibsmb: Add FSCC QUERY_INFO levels via 291a353b16a libsmb: Remove smb2 branch from cli_qfileinfo_basic_send via 893e4f6ebf6 libsmb: Add smb2 branch to cli_qfileinfo via 6e9c18ed821 libsmb: Add a tevent_req_received() where appropriate via bec5920ec91 libsmb: Convert cli_qfileinfo to use FSCC levels via af4bb5f75f7 libsmb: Use SMB2_0_INFO_FILE instead of the raw "1" via 4eac4014c03 libsmb: Use SMB2_0_INFO_SECURITY instead of the raw "3" via 072e4d030ae smbd: Modernize a DEBUG via 7c59f110560 test: Align integer types from 1092d4b0a8e s3:winbindd: Update non cache entries keys (non_centry_keys) https://git.samba.org/?p=samba.git;a=shortlog;h=master - Log - commit b71f729698fba58543645e9ec40e95d57ea19e3b Author: Volker Lendecke Date: Mon May 13 15:44:52 2024 +0200 smbd: Add reparse tag to smb3_posix_cc_info Signed-off-by: Volker Lendecke Reviewed-by: Jeremy Allison Autobuild-User(master): Jeremy Allison Autobuild-Date(master): Tue May 14 23:29:46 UTC 2024 on atb-devel-224 commit ecb17c12c54214694ecc240ae290646d341cd9a5 Author: Volker Lendecke Date: Mon May 13 15:44:14 2024 +0200 smbd: Test reparse tag in smb3_posix_cc_info Signed-off-by: Volker Lendecke Reviewed-by: Jeremy Allison commit d0cdb4160b84a5f4e9c120c951beb55ac41cf1b3 Author: Volker Lendecke Date: Mon May 13 14:30:30 2024 +0200 smbd: Use fsctl_get_reparse_tag in fsctl_del_reparse_point Signed-off-by: Volker Lendecke Reviewed-by: Jeremy Allison commit 7b6dc319b53ad6df109517ae425d770b62136f7a Author: Volker Lendecke Date: Mon May 13 14:28:55 2024 +0200 smbd: Use fsctl_get_reparse_tag in fsctl_set_reparse_point Signed-off-by: Volker Lendecke Reviewed-by: Jeremy Allison commit 3a3876736627a5c218661ffc6845e96b97322dca Author: Volker Lendecke Date: Mon May 13 14:26:22 2024 +0200 smbd: Add fsctl_get_reparse_tag() helper function There's a few places where we only care about the tag Signed-off-by: Volker Lendecke Reviewed-by: Jeremy Allison commit 2743127a6e3092e292f74e2b851dc41b8b67f825 Author: Volker Lendecke Date: Mon May 13 14:16:48 2024 +0200 smbd: Modernize a few DEBUGs Signed-off-by: Volker Lendecke Reviewed-by: Jeremy Allison commit a85b1e57542831bd26afc985c9add740a063f856 Author: Volker Lendecke Date: Mon May 13 11:16:21 2024 +0200 libsmb: Cap max_rdata at UINT16_MAX The caller does not necessarily query max values for smb1 and smb2+. Signed-off-by: Volker Lendecke Reviewed-by: Jeremy Allison commit 1776918c5bf2e6db4ab9072e09326b91fa211322 Author: Volker Lendecke Date: Wed May 8 16:05:40 2024 +0200 libsmb: Use the direct FSCC_FILE_ALL_INFORMATION define (SMB_FILE_ALL_INFORMATION - 1000) looks a bit silly if you look at the definition of SMB_FILE_ALL_INFORMATION... Signed-off-by: Volker Lendecke Reviewed-by: Jeremy Allison commit 5e0fe4d91cee3cc687b2b4bbfc778a7bf8f58d5e Author: Volker Lendecke Date: Thu Dec 22 11:36:21 2022 +0100 smbd: Add DEBUG message got get_reparse_point Signed-off-by: Volker Lendecke Reviewed-by: Jeremy Allison commit ee653577630d4f68f82fa93c03e0a33b7b6ccdc1 Author: Volker Lendecke Date: Wed May 8 16:03:29 2024 +0200 smbd: Return reparse tag as of MS-FSCC 2.4.6 Signed-off-by: Volker Lendecke Reviewed-by: Jeremy Allison commit d884c2fb0d5a3b72d550d72c2f263f7d80a5dc8a Author: Volker Lendecke Date: Wed May 8 15:48:11 2024 +0200 smbd: Fix a DBG Signed-off-by: Volker Lendecke Reviewed-by: Jeremy Allison commit 44b3eadacb3df92238b30c38abe4abf48c60a971 Author: Volker Lendecke Date: Thu May 9 11:54:31 2024 +0200 tests: get TAG_INFORMATION Signed-off-by: Volker Lendecke Reviewed-by: Jeremy Allison commit ba40d97087bed742eb6178b2e5e03a77e040f343 Author: Volker Lendecke Dat
[SCM] Samba Shared Repository - branch master updated
The branch, master has been updated via 1092d4b0a8e s3:winbindd: Update non cache entries keys (non_centry_keys) via 26d87d1fefa s3:winbindd: Use TDB_REPLACE in tdb_store from 68a1200f66e Restore empty string default for conf.env['icu-libs'] https://git.samba.org/?p=samba.git;a=shortlog;h=master - Log - commit 1092d4b0a8e6d988e6bcbbd5e7cce7e34fc1ed54 Author: Pavel Filipenský Date: Fri Mar 22 13:51:06 2024 +0100 s3:winbindd: Update non cache entries keys (non_centry_keys) This change does NOT affect WHAT and HOW is cached. It only avoids undefined behavior for "NDR" and "TRUSTDOMCACHE" when processed in wcache_flush_cache() and wbcache_upgrade_v1_to_v2(). winbindd_cache.tdb contains two types of entries: 1) cache entries (typed as 'struct cache_entry') - internal format is: [ntstatus; sequence_number; timeout] 2) non cache entries (keys listed in non_centry_keys) - for "NDR" internal format is: [sequence_number; timeout] Without this commit, "NDR" would be processed as the first type (instead as the second type). E.g. in the stack below: wcache_fetch_raw() traverse_fn_cleanup() wcache_flush_cache() the triplet [ntstatus; sequence_number; timeout] would be initialized from data containing only [sequence_number; timeout], leading to mismatched values ('ntstatus' would be filled from 'sequence_number'). Anyway, current code is never calling wcache_flush_cache(), since wcache_flush_cache() can be called only from get_cache() and get_cache() will call it only if global/static wcache was not set yet. But wcache is set very early in the main winbind (and all winbind children get it after fork), sooner than any call of get_cache() can happen: #1 init_wcache + 0x19 #2 initialize_winbindd_cache + 0x35 #3 winbindd_cache_validate_and_initialize + 0x25 #4 main + 0x806 Signed-off-by: Pavel Filipenský Reviewed-by: Jeremy Allison Autobuild-User(master): Jeremy Allison Autobuild-Date(master): Tue May 14 21:04:57 UTC 2024 on atb-devel-224 commit 26d87d1fefa67b759bc369983b4c55fcd007dca9 Author: Pavel Filipenský Date: Tue May 7 13:01:02 2024 +0200 s3:winbindd: Use TDB_REPLACE in tdb_store tdb_store() should use as a flag TDB_REPLACE instead of undocumented 0 Signed-off-by: Pavel Filipenský Reviewed-by: Jeremy Allison --- Summary of changes: source3/winbindd/winbindd_cache.c | 6 -- 1 file changed, 4 insertions(+), 2 deletions(-) Changeset truncated at 500 lines: diff --git a/source3/winbindd/winbindd_cache.c b/source3/winbindd/winbindd_cache.c index ca2341ef456..833862ab99e 100644 --- a/source3/winbindd/winbindd_cache.c +++ b/source3/winbindd/winbindd_cache.c @@ -68,7 +68,9 @@ static bool opt_nocache = False; */ static const char *non_centry_keys[] = { + "NDR/", "SEQNUM/", + "TRUSTDOMCACHE/", "WINBINDD_OFFLINE", WINBINDD_CACHE_VERSION_KEYSTR, NULL @@ -4605,7 +4607,7 @@ static bool wcache_tdc_store_list( struct winbindd_tdc_domain *domains, size_t n goto done; } - ret = tdb_store( wcache->tdb, key, data, 0 ); + ret = tdb_store(wcache->tdb, key, data, TDB_REPLACE); done: SAFE_FREE( data.dptr ); @@ -4922,7 +4924,7 @@ void wcache_store_ndr(struct winbindd_domain *domain, uint32_t opnum, SBVAL(data.dptr, 4, timeout); memcpy(data.dptr + 12, resp->data, resp->length); - tdb_store(wcache->tdb, key, data, 0); + tdb_store(wcache->tdb, key, data, TDB_REPLACE); done: TALLOC_FREE(key.dptr); -- Samba Shared Repository
[SCM] Samba Shared Repository - branch master updated
The branch, master has been updated via 68a1200f66e Restore empty string default for conf.env['icu-libs'] from 833c3f26b47 python/tests: Fix nlink test in smb3unix on btrfs filesystem https://git.samba.org/?p=samba.git;a=shortlog;h=master - Log - commit 68a1200f66e9008ca0a739b37b48c49453ca9d83 Author: Earl Chew Date: Fri May 10 19:46:28 2024 -0700 Restore empty string default for conf.env['icu-libs'] The reworked ICU libraries configuration code used [] as default for conf.env['icu-libs']. This breaks dependency analysis in samba_deps.py because SAMBA_SUBSYSTEM() expects deps to be a string. Signed-off-by: Earl Chew Reviewed-by: Andrew Bartlett Reviewed-by: Douglas Bagnall Reviewed-by: Volker Lendecke Autobuild-User(master): Andreas Schneider Autobuild-Date(master): Tue May 14 14:44:06 UTC 2024 on atb-devel-224 --- Summary of changes: lib/util/charset/wscript_configure | 2 ++ 1 file changed, 2 insertions(+) Changeset truncated at 500 lines: diff --git a/lib/util/charset/wscript_configure b/lib/util/charset/wscript_configure index c49b55a4fd4..adae44eab5e 100644 --- a/lib/util/charset/wscript_configure +++ b/lib/util/charset/wscript_configure @@ -46,3 +46,5 @@ if conf.CHECK_CFG(package='icu-i18n icu-uc', if not conf.CHECK_HEADERS('unicode/ustring.h', lib='icui18n'): conf.fatal('Found icui18n, but unicode/ustring.h is missing') conf.DEFINE('HAVE_UTF8_NORMALISATION', 1) +else: +conf.env['icu-libs'] = '' -- Samba Shared Repository
[SCM] Samba Shared Repository - branch master updated
The branch, master has been updated via 833c3f26b47 python/tests: Fix nlink test in smb3unix on btrfs filesystem from 1ca6fb563b0 lib/replace: make sure krb5_cc_default[_name]() is no longer used directly https://git.samba.org/?p=samba.git;a=shortlog;h=master - Log - commit 833c3f26b476c5f27d8dd000cfa423f0726cef1a Author: Pavel Filipenský Date: Mon May 13 12:13:38 2024 +0200 python/tests: Fix nlink test in smb3unix on btrfs filesystem Signed-off-by: Pavel Filipenský Reviewed-by: Volker Lendecke Autobuild-User(master): Pavel Filipensky Autobuild-Date(master): Tue May 14 13:37:53 UTC 2024 on atb-devel-224 --- Summary of changes: python/samba/tests/smb3unix.py | 18 ++ 1 file changed, 14 insertions(+), 4 deletions(-) Changeset truncated at 500 lines: diff --git a/python/samba/tests/smb3unix.py b/python/samba/tests/smb3unix.py index d88bd432239..1962852349c 100644 --- a/python/samba/tests/smb3unix.py +++ b/python/samba/tests/smb3unix.py @@ -24,6 +24,7 @@ from samba.dcerpc import smb3posix from samba.ndr import ndr_unpack from samba.dcerpc.security import dom_sid import os +import subprocess def posix_context(mode): return (libsmb.SMB2_CREATE_TAG_POSIX, mode.to_bytes(4, 'little')) @@ -34,6 +35,9 @@ class Smb3UnixTests(samba.tests.libsmb.LibsmbTests): super().setUp() self.samsid = os.environ["SAMSID"] +prefix_abs = os.environ["PREFIX_ABS"] +p = subprocess.run(['stat', '-f', '-c', '%T', prefix_abs], capture_output=True, text=True) +self.fstype = p.stdout.strip().lower() def connections(self, share1=None, posix1=False, share2=None, posix2=True): if not share1: @@ -303,7 +307,11 @@ class Smb3UnixTests(samba.tests.libsmb.LibsmbTests): self.assertEqual(found_files[fname]['attrib'], libsmb.FILE_ATTRIBUTE_ARCHIVE) else: -self.assertEqual(found_files[fname]['nlink'], 2) +# Note: btrfs always reports the link count of directories as one. +if self.fstype == "btrfs": +self.assertEqual(found_files[fname]['nlink'], 1) +else: +self.assertEqual(found_files[fname]['nlink'], 2) self.assertEqual(found_files[fname]['attrib'], libsmb.FILE_ATTRIBUTE_DIRECTORY) @@ -368,9 +376,11 @@ class Smb3UnixTests(samba.tests.libsmb.LibsmbTests): cc = ndr_unpack(smb3posix.smb3_posix_cc_info, cc_out[0][1]) -# Note: this fails on btrfs which always reports the link -# count of directories as one. -self.assertEqual(cc.nlinks, 2) +# Note: btrfs always reports the link count of directories as one. +if self.fstype == "btrfs": +self.assertEqual(cc.nlinks, 1) +else: +self.assertEqual(cc.nlinks, 2) self.assertEqual(cc.reparse_tag, libsmb.IO_REPARSE_TAG_RESERVED_ZERO) self.assertEqual(cc.posix_perms, 0o700) -- Samba Shared Repository
[SCM] Samba Shared Repository - branch master updated
The branch, master has been updated via 1ca6fb563b0 lib/replace: make sure krb5_cc_default[_name]() is no longer used directly via afcd53b8d09 auth/credentials_krb5: let cli_credentials_set_ccache() use smb_force_krb5_cc_default() via a5d46f69d12 auth/credentials_krb5: use system/{gssapi,kerberos}.h via 845a2aae6f0 smbspool: let kerberos_ccache_is_valid() use smb_force_krb5_cc_default_name() via 4514fb5f439 smbspool_krb5_wrapper: let kerberos_get_default_ccache() use smb_force_krb5_cc_default_name() via a8da9de9f4a smbspool_krb5_wrapper: remove unused includes via eb6dc35a704 krb5_wrap: let smb_krb5_renew_ticket() use smb_force_krb5_cc_default_name() via f850bcfc0b4 krb5_wrap: add smb_force_krb5_cc_default[_name]() wrappers via d49de777104 s3:libads: let kerberos_kinit_password_ext() require an explicit krb5 ccache via 70f9e3a0567 krb5_wrap: let ads_krb5_cli_get_ticket() require an explicit krb5 ccache via fc92025ecb2 s3:libads: finally remove unused ads_connect[_user_creds]() and related code via 25806314dae s3:net: finally remove net_context->opt_{user_specified,user_name,password} via a1ab1c8620c s3:net: remove unused net_context->smb_encrypt via 9620d2ecc18 s3:net: remove unused net_context->opt_kerberos via 2de585a9787 s3:include: remove unused krb5_env.h via eb9ad5cc890 s3:net_ads: remove unused use_in_memory_ccache() via e76fe56fdf6 s3:net_ads: make use of ads_connect_{cldap_only,creds}() in ads_startup_int() via d59d957caba s3:libads: let ads_krb5_set_password() require an explicit krb5 ccache to operate on via 432273dd3ec s3:libads: kerberos_set_password() don't need to kinit before ads_krb5_chg_password() via 125db2ed815 s3:libads: remove unused kdc_host and time_offset arguments to kerberos_set_password() via b641b35b028 s3:libads: remove unused kdc_host and time_offset arguments to ads_krb5_chg_password() via 3141423feb3 s3:libads: remove krb5_set_real_time() from ads_krb5_set_password() via c85c084d69e s3:libads: remove unused kdc_host argument of ads_krb5_set_password() via 5f32f14ef58 s3:net_ads: require kerberos if we use ads_krb5_set_password() in ads_user_add() via 1eeeb76e6c5 s3:net_ads: use ADS_SASL_SEAL by default, so that we always get encryption via 612af29cef1 s3:net_ads: use cli_credentials_get_principal() in order to call kerberos functions via 55c9a6c0e3a s3:net: remove useless net_prompt_pass() wrapper via d9082129f21 s3:net_rpc: make use of !c->explicit_credentials for NET_FLAGS_ANONYMOUS via e690666fd10 s3:net: make use of c->explicit_credentials in order to check for valid credentials via be1051f3792 s3:net: add net_context->explicit_credentials to check if credentials were passed via a9beae36f0a s3:net: correctly implement --use-ccache as legacy for --use-winbind-ccache for 'net' via 579195769d6 s3:net_offlinejoin: we don't need to call libnetapi_set_use_kerberos() as we already passed cli_credentials via f4f31236c4a s3:libnet_join: pass down cli_credentials *admin_credentials to libnet_{Join,Unjoin}Ctx() via c0edd3406b9 s3:lib/netapi: make use of ads_simple_creds/libnetapi_get_creds in NetGetJoinableOUs_l via 0470cc385d9 s3:lib/netapi: add libnetapi_get_creds() via bd53e20764b libgpo/pygpo: make use of ads_connect_{creds,machine}() via 87e7a9488a0 s3:printing: make use of ads_connect_machine() via f9496bfdf4e s3:libads: add ads_connect_machine() helper via 353abcb4d3e s3:libads: add ads_simple_creds() helper via c36b0442244 s3:libads: make use of ads_connect_simple_anon() in ldap.c where possible via 7bfbea4c3c8 s3:libads: add ads_connect_simple_anon() helper via c95a2785e20 lib/addns: rewrite signed dns update code to use gensec instead of plain gssapi via 5807689f968 s3:utils: let net_update_dns_internal() set status before goto done in all cases via 28af0829263 s3:winbindd: make use of winbindd_get_trust_credentials() in idmap_ad.c via ed75331f525 s3:winbindd: make use of winbindd_get_trust_credentials() in _winbind_LogonControl_TC_VERIFY() via 16bbb407fa5 s3:winbindd: make use of samba_sockaddr to avoid compiler warnings via f903d80769b s3:winbindd: use winbindd_get_trust_credentials()/ads_connect_creds() in winbindd_ads.c via 8166642e1bd s3:winbindd: make winbindd_get_trust_credentials() public via 81a6c54fddc s3:libads: add ads_set_reconnect_fn() and only reconnect if we can get creds via 31e4614ee36 s3:libads: add ads_connect_creds() helper via 76e0d348ddd s3:libads: fix compiler warning in ads_mod_ber() via bac243442a6 s3:libads: move ads->auth.time_offset to ads->config.time_offset via ea97abd545e s3:libads: we o