The branch, master has been updated via 67498ffd787 s3: libsmb: Cleanup - in internal_resolve_name() only write the out parameters on success. via c1d39295fb0 s3: Remove struct ip_service. via 526fdaa747e s3: libsmb: namequery. Rename remove_duplicate_addrs2_sa() to remove_duplicate_addrs2() via d627ef14885 s3: libsmb: namequery.c: Remove unused remove_duplicate_addrs2(). via 5b6245d14b0 s3: libsmb: namequery.c: Remove now unused internal_resolve_name() wrapper. via a679c6c5a1f s3: libsmb: namequery.c: Remove now unused convert_ss2service(). via 7d37b8ba1b0 s3: libsmb: namequery.c: Remove now unused ip_service_to_samba_sockaddr(). via 757934e8644 3: libsmb: namequery: Convert _internal_resolve_name() -> internal_resolve_name() returning talloced samba_sockaddr arrays. via d3f6eccc98b s3: libsmb: namequery: Add utility function sockaddr_array_to_samba_sockaddr_array(). via ef62fa93be5 s3: libsmb: Rename prioritize_ipv4_list_sa() -> prioritize_ipv4_list() now it's the only use. via 5a2b5c74c9b s3: libsmb: Remove unused prioritize_ipv4_list(). via e0d060c632c s3: libsmb: Tidy up the talloc heirarchy allocation in get_dc_list(). via f03a6ef66b8 s3: libsmb: Convert get_dc_list() to call internal_resolve_name() not _internal_resolve_name(). via 5b8f5971e0a s3: libsmb: Remove now unused internal functions ip_service_compare() and sort_service_list(). via e6c581f0e12 s3: libsmb: Convert get_pdc_ip() to call internal_resolve_name() not _internal_resolve_name(). via be85a463f45 s3: libsmb: Convert find_master_ip() to call internal_resolve_name() not _internal_resolve_name(). via 3b1542a1e9f s3: libsmb: Convert resolve_name_list() to call internal_resolve_name() not _internal_resolve_name(). via 178bd3847b3 s3: libsmb: Convert resolve_name() to call internal_resolve_name() not _internal_resolve_name(). via 185f3027f0f s3: libsmb: Rename internal_resolve_name_sa() -> internal_resolve_name() via 489102b044f s3: libsmb: Remove the internal_resolve_name() external interface. via a8ec446d9da s3: libsmb: Fix discover_dc_netbios() to call internal_resolve_name_sa(). via fb8acf1717b s3: libsmb: Add internal_resolve_name_sa(). A wrapper for internal_resolve_name(). via c5b1d4ffc59 s3: libsmb: Add prioritize_ipv4_list_sa(). via 5bb632006c3 3: torture: Use remove_duplicate_addrs2_sa() instead of remove_duplicate_addrs2() in LOCAL-remove_duplicate_addrs2 test. via 1181e5e1fe5 s3: libsmb: Add remove_duplicate_addrs2_sa() - uses samba_sockaddr. via 1cb9611b7b9 s3: libsmb: Convert internal function get_dc_list() to return a samba_sockaddr array. via b59de9e5eeb s3: libsmb: Rename get_sorted_dc_list_sa() -> get_sorted_dc_list(). via 8ae5408d1f8 s3: libsmb: Remove get_sorted_dc_list(). No longer used. via ffed032bf09 s3: libsmb: Remove last caller of get_sorted_dc_list() from rpc_dc_name(). via cb5b69fb6f1 s3: winbind: Fix get_dcs() to use get_sorted_dc_list_sa(). via 2a57e7ede3d s3: libads: Rename cldap_ping_list_sa() -> cldap_ping_list(). via bef9ebd8c97 s3: libads: Remove cldap_ping_list(). via 5a448e96ace s3: libads: Make resolve_and_ping_dns() use get_sorted_dc_list_sa(). via 6be32826d7a s3: libads: Make resolve_and_ping_netbios() use get_sorted_dc_list_sa(). via 4b6fc2b034e s3: libads: Add an alternate version of cldap_ping_list() that takes an array of samba_sockaddrs. via 1fb56f3f4f6 s3: utils: Make net_lookup_dc() use get_sorted_dc_list_sa(). via 2b7629f3f39 s3: libsmb: Add function get_sorted_dc_list_sa(). Returns samba_sockaddr array. via 1eecdd9401f s3: libsmb: Rename get_kdc_list_sa() back to get_kdc_list(). via 0562154afad s3: libsmb: Remove get_kdc_list(). No more callers. via 516d8734c72 s3: libads: Convert get_kdc_ip_string() to use get_kdc_list_sa(). via 0a347683d12 s3: utils: Make net_lookup_kdc() use get_kdc_list_sa(). via 47e104c496a s3: libsmb: Add get_kdc_list_sa() returns samba_sockaddr array. via afd83fa5e17 s3: libsmb: Add sort_sa_list() compare function. Not yet used. via 78b191c4a0a s3: libsmb: Make sort_addr_list() and sort_service_list() take size_t counts. via 76beee81290 s3: libads: Use size_t counts inside cldap_ping_list(). via d044d20c6fb s3: libads: Reformat args to cldap_ping_list(). via ced8fbc7053 s3: libsmb: Make prioritize_ipv4_list() use size_t counts. via d8ff36520f3 s3: libsmb: Fix the count returns in discover_dc_netbios(), discover_dc_dns(), process_dc_dns() to return size_t * counts. via 1a10a430eb6 s3/libsmb: cleanup discover_dc_dns() Fix potential leak via ed1e1e0b462 s3/libsmb: cleanup discover_dc_dns, only set out params on success via 62e99efa3d2 lib: addns: Fix ads_dns_lookup_ns(), ads_dns_query_dcs(), ads_dns_query_gcs(), ads_dns_query_kdcs(), ads_dns_query_pdc() to return size_t *. via 2ebf3191f2b lib: addns: Fix ads_dns_lookup_srv() and functions to return size_t * num servers. via a8e0d46ead7 s3: libsmb: internal_resolve_name() - get rid of the icount variables. via 1fc49be483c s3: libsmb: Make resolve_ads() return a size_t * address count. via 2a1c57f6fc9 s3: libsmb: Fix resolve_hosts() to return size_t * count of addresses. via f5dda19dd4a s3: libsmb: cleanup resolve_hosts() - don't change return values on fail. via e034072c969 libcli: nbt: Fix resolve_lmhosts_file_as_sockaddr() to return size_t * count of addresses. via da9c7b19380 libcli: nbt: cleanup resolve_lmhosts_file_as_sockaddr() - don't change return values on fail. via af6aaf62437 s3: libsmb: Convert the WINS and broadcast name functions to return size_t * num addresses. via dbab4626ef9 s3/libsmb: Cleanup parse_node_status() only set out params on success via 923648b0c42 s3: libsmb: Convert node_status_query() and associated functions and callers to expect a size_t * return. from 8f868b0ea0b winbind: Fix a memleak
https://git.samba.org/?p=samba.git;a=shortlog;h=master - Log ----------------------------------------------------------------- commit 67498ffd78799a658991092186a3886204302947 Author: Jeremy Allison <j...@samba.org> Date: Wed Sep 9 10:58:20 2020 -0700 s3: libsmb: Cleanup - in internal_resolve_name() only write the out parameters on success. All callers already correctly initialize them. Signed-off-by: Jeremy Allison <j...@samba.org> Reviewed-by: Noel Power <noel.po...@suse.com> Autobuild-User(master): Noel Power <npo...@samba.org> Autobuild-Date(master): Tue Sep 15 11:33:35 UTC 2020 on sn-devel-184 commit c1d39295fb0e501f2ace47921b03cb0086c421a7 Author: Jeremy Allison <j...@samba.org> Date: Wed Sep 9 10:48:19 2020 -0700 s3: Remove struct ip_service. --------------- / \ / REST \ / IN \ / PEACE \ / \ | | | struct ip_service | | | | | | 9 August | | In the year of the | | pandemic | | 2020 | *| * * * | * _________)/\\_//(\/(/\)/\//\/\////|_)_______ Signed-off-by: Jeremy Allison <j...@samba.org> Reviewed-by: Noel Power <noel.po...@suse.com> commit 526fdaa747e2c03b644d1581e27af7a44dcd1b1d Author: Jeremy Allison <j...@samba.org> Date: Wed Sep 9 10:46:49 2020 -0700 s3: libsmb: namequery. Rename remove_duplicate_addrs2_sa() to remove_duplicate_addrs2() It's now the only function. Signed-off-by: Jeremy Allison <j...@samba.org> Reviewed-by: Noel Power <noel.po...@suse.com> commit d627ef14885b7ab16b1d40b3954c1aa92e313330 Author: Jeremy Allison <j...@samba.org> Date: Wed Sep 9 10:45:21 2020 -0700 s3: libsmb: namequery.c: Remove unused remove_duplicate_addrs2(). Signed-off-by: Jeremy Allison <j...@samba.org> Reviewed-by: Noel Power <noel.po...@suse.com> commit 5b6245d14b090162321d21e21a5f6da9c2f0cb77 Author: Jeremy Allison <j...@samba.org> Date: Wed Sep 9 10:43:45 2020 -0700 s3: libsmb: namequery.c: Remove now unused internal_resolve_name() wrapper. Signed-off-by: Jeremy Allison <j...@samba.org> Reviewed-by: Noel Power <noel.po...@suse.com> commit a679c6c5a1f962d8132e5b773607d0722f9a9303 Author: Jeremy Allison <j...@samba.org> Date: Wed Sep 9 10:42:46 2020 -0700 s3: libsmb: namequery.c: Remove now unused convert_ss2service(). Signed-off-by: Jeremy Allison <j...@samba.org> Reviewed-by: Noel Power <noel.po...@suse.com> commit 7d37b8ba1b000e292d3866dafb47881dc438db96 Author: Jeremy Allison <j...@samba.org> Date: Wed Sep 9 10:42:09 2020 -0700 s3: libsmb: namequery.c: Remove now unused ip_service_to_samba_sockaddr(). Signed-off-by: Jeremy Allison <j...@samba.org> Reviewed-by: Noel Power <noel.po...@suse.com> commit 757934e8644436f26c1ce52dc22b3c212bae49ea Author: Jeremy Allison <j...@samba.org> Date: Wed Sep 9 10:41:02 2020 -0700 3: libsmb: namequery: Convert _internal_resolve_name() -> internal_resolve_name() returning talloced samba_sockaddr arrays. Wrapper function internal_resolve_name() is now commented out, along with the now unused ip_service_to_samba_sockaddr() and convert_ss2service() functions. Signed-off-by: Jeremy Allison <j...@samba.org> Reviewed-by: Noel Power <noel.po...@suse.com> commit d3f6eccc98b73cb65389a3621e031941b2f047dc Author: Jeremy Allison <j...@samba.org> Date: Wed Sep 9 10:24:13 2020 -0700 s3: libsmb: namequery: Add utility function sockaddr_array_to_samba_sockaddr_array(). Not yet used. Will help convert _internal_resolve_name() to internal_resolve_name(). Signed-off-by: Jeremy Allison <j...@samba.org> Reviewed-by: Noel Power <noel.po...@suse.com> commit ef62fa93be5e0d768542958ea7bdceb578de0f1e Author: Jeremy Allison <j...@samba.org> Date: Wed Sep 9 10:17:31 2020 -0700 s3: libsmb: Rename prioritize_ipv4_list_sa() -> prioritize_ipv4_list() now it's the only use. Signed-off-by: Jeremy Allison <j...@samba.org> Reviewed-by: Noel Power <noel.po...@suse.com> commit 5a2b5c74c9b85fa303236f9151b6d024c47ca5f9 Author: Jeremy Allison <j...@samba.org> Date: Wed Sep 9 10:16:54 2020 -0700 s3: libsmb: Remove unused prioritize_ipv4_list(). Signed-off-by: Jeremy Allison <j...@samba.org> Reviewed-by: Noel Power <noel.po...@suse.com> commit e0d060c632c2a61cfe5c61b2ad9ee5b09be02855 Author: Jeremy Allison <j...@samba.org> Date: Wed Sep 9 10:14:30 2020 -0700 s3: libsmb: Tidy up the talloc heirarchy allocation in get_dc_list(). Always allocate the return_salist off the frame pointer. Only talloc_move() to return ctx on successful return. Cleans up a nasty else in the exit path that caused problems in the past - we can now always TALLOC_FREE(return_salist) without remembering if we need to return it. Signed-off-by: Jeremy Allison <j...@samba.org> Reviewed-by: Noel Power <noel.po...@suse.com> commit f03a6ef66b8ba5e261645092219a53951622d658 Author: Jeremy Allison <j...@samba.org> Date: Wed Sep 9 10:11:34 2020 -0700 s3: libsmb: Convert get_dc_list() to call internal_resolve_name() not _internal_resolve_name(). prioritize_ipv4_list() is no longer used. Signed-off-by: Jeremy Allison <j...@samba.org> Reviewed-by: Noel Power <noel.po...@suse.com> commit 5b8f5971e0ad360f2e1a9642fa130a2d261c63a1 Author: Jeremy Allison <j...@samba.org> Date: Wed Sep 9 09:53:50 2020 -0700 s3: libsmb: Remove now unused internal functions ip_service_compare() and sort_service_list(). Signed-off-by: Jeremy Allison <j...@samba.org> Reviewed-by: Noel Power <noel.po...@suse.com> commit e6c581f0e1294b1530a76ab7d71bdc177a857c79 Author: Jeremy Allison <j...@samba.org> Date: Wed Sep 9 09:53:07 2020 -0700 s3: libsmb: Convert get_pdc_ip() to call internal_resolve_name() not _internal_resolve_name(). NB. sort_service_list() and ip_service_compare() are now no longer used so comment them out for removal. Signed-off-by: Jeremy Allison <j...@samba.org> Reviewed-by: Noel Power <noel.po...@suse.com> commit be85a463f45fd62d9f4e904f41388780c1f27f7a Author: Jeremy Allison <j...@samba.org> Date: Wed Sep 9 09:50:32 2020 -0700 s3: libsmb: Convert find_master_ip() to call internal_resolve_name() not _internal_resolve_name(). Signed-off-by: Jeremy Allison <j...@samba.org> Reviewed-by: Noel Power <noel.po...@suse.com> commit 3b1542a1e9f41865ecbb15519a44f00b76721a89 Author: Jeremy Allison <j...@samba.org> Date: Wed Sep 9 09:48:25 2020 -0700 s3: libsmb: Convert resolve_name_list() to call internal_resolve_name() not _internal_resolve_name(). Signed-off-by: Jeremy Allison <j...@samba.org> Reviewed-by: Noel Power <noel.po...@suse.com> commit 178bd3847b3a7ba1bfaa6c9b5c4c4d8cf4e49b82 Author: Jeremy Allison <j...@samba.org> Date: Wed Sep 9 09:45:10 2020 -0700 s3: libsmb: Convert resolve_name() to call internal_resolve_name() not _internal_resolve_name(). Signed-off-by: Jeremy Allison <j...@samba.org> Reviewed-by: Noel Power <noel.po...@suse.com> commit 185f3027f0f0a9dd88d6ef33c20ff8b583c37c6d Author: Jeremy Allison <j...@samba.org> Date: Wed Sep 9 09:40:17 2020 -0700 s3: libsmb: Rename internal_resolve_name_sa() -> internal_resolve_name() That's now the only external interface to it. Signed-off-by: Jeremy Allison <j...@samba.org> Reviewed-by: Noel Power <noel.po...@suse.com> commit 489102b044f1297dfa1555c48cf6e21609b3e513 Author: Jeremy Allison <j...@samba.org> Date: Wed Sep 9 09:38:10 2020 -0700 s3: libsmb: Remove the internal_resolve_name() external interface. Change the internal version from internal_resolve_name() -> _internal_resolve_name(). Only external caller calls internal_resolve_name_sa(). After this we can rename internal_resolve_name_sa() back to internal_resolve_name() as all internal use in namequery.c is via _internal_resolve_name(). Signed-off-by: Jeremy Allison <j...@samba.org> Reviewed-by: Noel Power <noel.po...@suse.com> commit a8ec446d9da87f57a6cd69c66629a9afaa022b44 Author: Jeremy Allison <j...@samba.org> Date: Wed Sep 9 09:35:35 2020 -0700 s3: libsmb: Fix discover_dc_netbios() to call internal_resolve_name_sa(). All callers of internal_resolve_name() are now internal to namequery.c Signed-off-by: Jeremy Allison <j...@samba.org> Reviewed-by: Noel Power <noel.po...@suse.com> commit fb8acf1717ba60e8285d310a8d4602d2cc08531c Author: Jeremy Allison <j...@samba.org> Date: Wed Sep 9 09:32:23 2020 -0700 s3: libsmb: Add internal_resolve_name_sa(). A wrapper for internal_resolve_name(). Not yet used. Now to fix the callers, and convert internal_resolve_name(). Signed-off-by: Jeremy Allison <j...@samba.org> Reviewed-by: Noel Power <j...@samba.org> commit c5b1d4ffc59ab211ef18911b91bf09e1bae1c3fc Author: Jeremy Allison <j...@samba.org> Date: Wed Sep 9 09:26:54 2020 -0700 s3: libsmb: Add prioritize_ipv4_list_sa(). Re-arranges a samba_sockaddr array in IPv4 preference. Not yet used so compiles but ifdef'ed out. Needed for conversion of internal_resolve_name(). Signed-off-by: Jeremy Allison <j...@samba.org> Reviewed-by: Noel Power <noel.po...@suse.com> commit 5bb632006c3f355443bbd3a5eb4f78ee4fddcceb Author: Jeremy Allison <j...@samba.org> Date: Wed Sep 9 09:25:07 2020 -0700 3: torture: Use remove_duplicate_addrs2_sa() instead of remove_duplicate_addrs2() in LOCAL-remove_duplicate_addrs2 test. Spoiler, still passes :-). Signed-off-by: Jeremy Allison <j...@samba.org> Reviewed-by: Noel Power <noel.po...@suse.com> commit 1181e5e1fe55bd218c986a9fbb0a543a0a0369d3 Author: Jeremy Allison <j...@samba.org> Date: Wed Sep 9 09:18:36 2020 -0700 s3: libsmb: Add remove_duplicate_addrs2_sa() - uses samba_sockaddr. Not yet used, will be used when we migrate internal_resolve_name() to samba_sockaddr. Signed-off-by: Jeremy Allison <j...@samba.org> Reviewed-by: Noel Power <noel.po...@suse.com> commit 1cb9611b7b9d7a00efd917c84f1f1d804248cfad Author: Jeremy Allison <j...@samba.org> Date: Wed Sep 9 09:11:08 2020 -0700 s3: libsmb: Convert internal function get_dc_list() to return a samba_sockaddr array. Callers now don't need to convert. Getting closer to making internal_resolve_name() return samba_sockaddr array. Signed-off-by: Jeremy Allison <j...@samba.org> Reviewed-by: Noel Power <npo...@samba.org> ` commit b59de9e5eeb3f2f1c33e65604f8ea3fd00cdcdae Author: Jeremy Allison <j...@samba.org> Date: Tue Sep 8 18:07:28 2020 -0700 s3: libsmb: Rename get_sorted_dc_list_sa() -> get_sorted_dc_list(). Everyone now uses samba_sockaddr arrays. Signed-off-by: Jeremy Allison <j...@samba.org> Reviewed-by: Noel Power <npo...@samba.com> commit 8ae5408d1f86770de5c6627c4591605934f723dd Author: Jeremy Allison <j...@samba.org> Date: Tue Sep 8 18:03:23 2020 -0700 s3: libsmb: Remove get_sorted_dc_list(). No longer used. Signed-off-by: Jeremy Allison <j...@samba.org> Reviewed-by: Noel Power <noel.po...@suse.com> commit ffed032bf09a27c039e8a6a4db024d3ba5ef3d85 Author: Jeremy Allison <j...@samba.org> Date: Tue Sep 8 18:02:18 2020 -0700 s3: libsmb: Remove last caller of get_sorted_dc_list() from rpc_dc_name(). Now only get_sorted_dc_list_sa() left. Now we can remove get_sorted_dc_list() and rename get_sorted_dc_list_sa() back to get_sorted_dc_list(). One more external user of struct ip_service gone. Signed-off-by: Jeremy Allison <j...@samba.org> Reviewed-by: Noel Power <noel.po...@suse.com> commit cb5b69fb6f121b62482bc8d94c165eaee4710ede Author: Jeremy Allison <j...@samba.org> Date: Tue Sep 8 17:58:06 2020 -0700 s3: winbind: Fix get_dcs() to use get_sorted_dc_list_sa(). Signed-off-by: Jeremy Allison <j...@samba.org> Reviewed-by: Noel Power <noel.po...@suse.com> commit 2a57e7ede3d1f2bbff26b991c9265fde643710df Author: Jeremy Allison <j...@samba.org> Date: Tue Sep 8 16:38:09 2020 -0700 s3: libads: Rename cldap_ping_list_sa() -> cldap_ping_list(). The old cldap_ping_list() is now gone. Signed-off-by: Jeremy Allison <j...@samba.org> Reviewed-by: Noel Power <noel.po...@suse.com> commit bef9ebd8c9768816b14ecf70062e6cf2104c79b9 Author: Jeremy Allison <j...@samba.org> Date: Tue Sep 8 16:37:29 2020 -0700 s3: libads: Remove cldap_ping_list(). No longer used. Signed-off-by: Jeremy Allison <j...@samba.org> Reviewed-by: Noel Power <noel.po...@suse.com> commit 5a448e96ace9a6f42f09d1e9915580f3557e21cd Author: Jeremy Allison <j...@samba.org> Date: Tue Sep 8 16:36:40 2020 -0700 s3: libads: Make resolve_and_ping_dns() use get_sorted_dc_list_sa(). We no longer use cldap_ping_list(), comment it out for removal. Signed-off-by: Jeremy Allison <j...@samba.org> Reviewed-by: Noel Power <noel.po...@suse.com> commit 6be32826d7a09c0c0f337eae36d3e0a8448c202a Author: Jeremy Allison <j...@samba.org> Date: Tue Sep 8 16:35:01 2020 -0700 s3: libads: Make resolve_and_ping_netbios() use get_sorted_dc_list_sa(). Now we use cldap_ping_list_sa() so uncomment it. Signed-off-by: Jeremy Allison <j...@samba.org> Reviewed-by: Noel Power <noel.po...@suse.com> commit 4b6fc2b034e5fac4914ac1ee6f778dc0222d6e0c Author: Jeremy Allison <j...@samba.org> Date: Tue Sep 8 16:33:25 2020 -0700 s3: libads: Add an alternate version of cldap_ping_list() that takes an array of samba_sockaddrs. Preparing for get_sorted_dc_list() returning such an array. ifdef'ed out as not yet used. Signed-off-by: Jeremy Allison <j...@samba.org> Reviewed-by: Noel Power <noel.po...@suse.com> commit 1fb56f3f4f637a179bfe90b8fefeb159b54d74c2 Author: Jeremy Allison <j...@samba.org> Date: Tue Sep 8 16:31:18 2020 -0700 s3: utils: Make net_lookup_dc() use get_sorted_dc_list_sa(). Signed-off-by: Jeremy Allison <j...@samba.org> Reviewed-by: Noel Power <noel.po...@suse.com> commit 2b7629f3f39c5bbf217d40d89c0c413303e66289 Author: Jeremy Allison <j...@samba.org> Date: Tue Sep 8 16:29:35 2020 -0700 s3: libsmb: Add function get_sorted_dc_list_sa(). Returns samba_sockaddr array. Now to fix callers. Signed-off-by: Jeremy Allison <j...@samba.org> Reviewed-by: Noel Power <noel.po...@suse.com> commit 1eecdd9401fc2adcc5b09fee8553db34344c7959 Author: Jeremy Allison <j...@samba.org> Date: Tue Sep 8 16:24:25 2020 -0700 s3: libsmb: Rename get_kdc_list_sa() back to get_kdc_list(). The samba_sockaddr interface is now the only one. Signed-off-by: Jeremy Allison <j...@samba.org> Reviewed-by: Noel Power <noel.po...@suse.com> commit 0562154afadf9dcb9327f4019d58a166f85e7adf Author: Jeremy Allison <j...@samba.org> Date: Tue Sep 8 16:22:21 2020 -0700 s3: libsmb: Remove get_kdc_list(). No more callers. Next we can rename get_kdc_list_sa() -> get_kdc_list(). Signed-off-by: Jeremy Allison <j...@samba.org> Reviewed-by: Noel Power <noel.po...@suse.com> commit 516d8734c725e69b4341b2f704aabfda885fbd3c Author: Jeremy Allison <j...@samba.org> Date: Tue Sep 8 16:21:18 2020 -0700 s3: libads: Convert get_kdc_ip_string() to use get_kdc_list_sa(). No more callers of get_kdc_list(). Signed-off-by: Jeremy Allison <j...@samba.org> Reviewed-by: Noel Power <noel.po...@suse.com> commit 0a347683d12058f0fb158dbe4569506800edad6e Author: Jeremy Allison <j...@samba.org> Date: Tue Sep 8 16:11:47 2020 -0700 s3: utils: Make net_lookup_kdc() use get_kdc_list_sa(). Signed-off-by: Jeremy Allison <j...@samba.org> Reviewed-by: Noel Power <noel.po...@suse.com> commit 47e104c496abe54576ddc6bbab864dcb802e7f0b Author: Jeremy Allison <j...@samba.org> Date: Tue Sep 8 16:09:53 2020 -0700 s3: libsmb: Add get_kdc_list_sa() returns samba_sockaddr array. Not yet used, but uses the previous utility functions. Now to convert the get_kdc_list() callers and remove one more external use of ip_service. Signed-off-by: Jeremy Allison <j...@samba.org> Reviewed-by: Noel Power <noel.po...@suse.com> commit afd83fa5e17d0035f8bae1f5a553555b49ab7aaf Author: Jeremy Allison <j...@samba.org> Date: Tue Sep 8 16:03:20 2020 -0700 s3: libsmb: Add sort_sa_list() compare function. Not yet used. Ready for when we start returning ordered samba_sockaddr arrays. Signed-off-by: Jeremy Allison <j...@samba.org> Reviewed-by: Noel Power <noel.po...@suse.com> commit 78b191c4a0a1240cac0c943a36125085da5549c0 Author: Jeremy Allison <j...@samba.org> Date: Tue Sep 8 16:01:37 2020 -0700 s3: libsmb: Make sort_addr_list() and sort_service_list() take size_t counts. Signed-off-by: Jeremy Allison <j...@samba.org> Reviewed-by: Noel Power <noel.po...@suse.com> commit 76beee812904fa2e2e1c91f5fc8bcd174873d7bc Author: Jeremy Allison <j...@samba.org> Date: Tue Sep 8 16:00:27 2020 -0700 s3: libads: Use size_t counts inside cldap_ping_list(). Signed-off-by: Jeremy Allison <j...@samba.org> Reviewed-by: Noel Power <noel.po...@suse.com> commit d044d20c6fbc7b8b40095c3400e49ba03d6bef17 Author: Jeremy Allison <j...@samba.org> Date: Tue Sep 8 15:59:46 2020 -0700 s3: libads: Reformat args to cldap_ping_list(). Pure reformatting. Signed-off-by: Jeremy Allison <j...@samba.org> Reviewed-by: Noel Power <noel.po...@suse.com> commit ced8fbc705380782c4317b8ab4eaee3ea2201cc8 Author: Jeremy Allison <j...@samba.org> Date: Tue Sep 8 15:58:57 2020 -0700 s3: libsmb: Make prioritize_ipv4_list() use size_t counts. Signed-off-by: Jeremy Allison <j...@samba.org> Reviewed-by: Noel Power <noel.po...@suse.com> commit d8ff36520f3e3914a6f5c7cc8d569e863023bcfc Author: Jeremy Allison <j...@samba.org> Date: Tue Sep 8 15:58:07 2020 -0700 s3: libsmb: Fix the count returns in discover_dc_netbios(), discover_dc_dns(), process_dc_dns() to return size_t * counts. Signed-off-by: Jeremy Allison <j...@samba.org> Reviewed-by: Noel Power <npo...@samba.org> commit 1a10a430eb6aeb82e692b7017bb1daa82fd123a4 Author: Noel Power <noel.po...@suse.com> Date: Thu Sep 10 16:37:08 2020 +0100 s3/libsmb: cleanup discover_dc_dns() Fix potential leak Signed-off-by: Noel Power <noel.po...@suse.com> Reviewed-by: Jeremy Allison <j...@samba.org> commit ed1e1e0b462917efbf46cda4fe644a5b0975515d Author: Noel Power <noel.po...@suse.com> Date: Thu Sep 10 16:23:27 2020 +0100 s3/libsmb: cleanup discover_dc_dns, only set out params on success Signed-off-by: Noel Power <npo...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> commit 62e99efa3d2dc738060140802e0a52569c8aa07e Author: Jeremy Allison <j...@samba.org> Date: Thu Sep 10 16:19:37 2020 +0100 lib: addns: Fix ads_dns_lookup_ns(), ads_dns_query_dcs(), ads_dns_query_gcs(), ads_dns_query_kdcs(), ads_dns_query_pdc() to return size_t *. Easier to do all callers at once. Signed-off-by: Jeremy Allison <j...@samba.org> Reviewed-by: Noel Power <npo...@samba.org> commit 2ebf3191f2b87e5402df7faaf590116cfdbb46de Author: Jeremy Allison <j...@samba.org> Date: Tue Sep 8 15:45:32 2020 -0700 lib: addns: Fix ads_dns_lookup_srv() and functions to return size_t * num servers. Signed-off-by: Jeremy Allison <j...@samba.org> Reviewed-by: Noel Power <npo...@samba.org> commit a8e0d46ead768b669e373b407a5b5339dee3ef0f Author: Jeremy Allison <j...@samba.org> Date: Tue Sep 8 15:28:14 2020 -0700 s3: libsmb: internal_resolve_name() - get rid of the icount variables. Plus the paranoia check. Everything now uses size_t * returns. Signed-off-by: Jeremy Allison <j...@samba.org> Reviewed-by: Noel Power <npo...@samba.org> commit 1fc49be483c2bc31affe70151edfec2ef1193205 Author: Jeremy Allison <j...@samba.org> Date: Tue Sep 8 15:24:26 2020 -0700 s3: libsmb: Make resolve_ads() return a size_t * address count. All resolve_XXXX() functions inside internal_resolve_name() now use size_t and we can clean this up. Signed-off-by: Jeremy Allison <j...@samba.org> Signed-off-by: Noel Power<npo...@samba.org> commit 2a1c57f6fc95cabea788fa39d9b6dd0e8a762441 Author: Jeremy Allison <j...@samba.org> Date: Tue Sep 8 15:18:33 2020 -0700 s3: libsmb: Fix resolve_hosts() to return size_t * count of addresses. Signed-off-by: Jeremy Allison <j...@samba.org> Reviewed-by: Noel Power <npo...@samba.org> commit f5dda19dd4a4dbff95669b48f4e31e1cdd43cf12 Author: Jeremy Allison <j...@samba.org> Date: Tue Sep 8 14:04:41 2020 -0700 s3: libsmb: cleanup resolve_hosts() - don't change return values on fail. Signed-off-by: Jeremy Allison <j...@samba.org> Reviewed-by: Noel Power <npo...@samba.org> commit e034072c96962754a222b5d4d436db4c4256a7f3 Author: Jeremy Allison <j...@samba.org> Date: Tue Sep 8 13:58:49 2020 -0700 libcli: nbt: Fix resolve_lmhosts_file_as_sockaddr() to return size_t * count of addresses. Signed-off-by: Jeremy Allison <j...@samba.org> Reviewed-by: Noel Power <npo...@samba.org> commit da9c7b193804b6f5259ca13482660f04b7c5dc1b Author: Jeremy Allison <j...@samba.org> Date: Tue Sep 8 13:54:55 2020 -0700 libcli: nbt: cleanup resolve_lmhosts_file_as_sockaddr() - don't change return values on fail. Signed-off-by: Jeremy Allison <j...@samba.org> Reviewed-by: Noel Power <npo...@samba.org> commit af6aaf624377b5cc53a827e76a1773a7694e3876 Author: Jeremy Allison <j...@samba.org> Date: Tue Sep 8 13:37:59 2020 -0700 s3: libsmb: Convert the WINS and broadcast name functions to return size_t * num addresses. Have to do both at once as they are intimately related. The uglyness inside internal_resolve_name() will go away once all the resove_XXX() functions return size_t values. Signed-off-by: Jeremy Allison <j...@samba.org> Reviewed-by: Noel Power <npo...@samba.org> commit dbab4626ef9198326e27bbadb45bc125edaf7b93 Author: Noel Power <noel.po...@suse.com> Date: Thu Sep 10 10:27:26 2020 +0100 s3/libsmb: Cleanup parse_node_status() only set out params on success Signed-off-by: Noel Power <noel.po...@suse.com> Reviewed-by: Jeremy Allison <j...@samba.org> commit 923648b0c42388b00eb8b46dcf4f0d7d4f18684d Author: Jeremy Allison <j...@samba.org> Date: Tue Sep 8 13:07:07 2020 -0700 s3: libsmb: Convert node_status_query() and associated functions and callers to expect a size_t * return. Signed-off-by: Jeremy Allison <j...@samba.org> Reviewed-by: Noel Power <noel.po...@suse.com> ----------------------------------------------------------------------- Summary of changes: lib/addns/dnsquery.c | 25 +- lib/addns/dnsquery.h | 14 +- libcli/nbt/libnbt.h | 2 +- libcli/nbt/lmhosts.c | 28 +- source3/include/proto.h | 2 +- source3/include/smb.h | 6 - source3/lib/wins_srv.c | 8 +- source3/libads/kerberos.c | 38 +- source3/libads/ldap.c | 32 +- source3/libsmb/dsgetdcname.c | 65 +-- source3/libsmb/libsmb_dir.c | 8 +- source3/libsmb/namequery.c | 694 ++++++++++++-------------------- source3/libsmb/namequery.h | 24 +- source3/libsmb/namequery_dc.c | 14 +- source3/torture/torture.c | 6 +- source3/utils/net_ads.c | 2 +- source3/utils/net_lookup.c | 16 +- source3/utils/nmblookup.c | 5 +- source3/winbindd/winbindd_cm.c | 52 +-- source3/winbindd/winbindd_wins_byip.c | 3 +- source3/winbindd/winbindd_wins_byname.c | 4 +- source4/libcli/resolve/dns_ex.c | 15 +- source4/libcli/resolve/lmhosts.c | 2 +- 23 files changed, 439 insertions(+), 626 deletions(-) Changeset truncated at 500 lines: diff --git a/lib/addns/dnsquery.c b/lib/addns/dnsquery.c index 03cadfaef0a..c73ee7b50f1 100644 --- a/lib/addns/dnsquery.c +++ b/lib/addns/dnsquery.c @@ -105,6 +105,7 @@ static void ads_dns_lookup_srv_done(struct tevent_req *subreq) for (i=0; i<reply->ancount; i++) { if (reply->answers[i].rr_type == DNS_QTYPE_SRV) { + /* uint16_t can't wrap here. */ state->num_srvs += 1; } } @@ -153,7 +154,7 @@ static void ads_dns_lookup_srv_done(struct tevent_req *subreq) if (strcmp(srv->hostname, ar->name) != 0) { continue; } - + /* uint16_t can't wrap here. */ tmp = talloc_realloc( state->srvs, srv->ss_s, @@ -200,7 +201,7 @@ NTSTATUS ads_dns_lookup_srv_recv(struct tevent_req *req, NTSTATUS ads_dns_lookup_srv(TALLOC_CTX *ctx, const char *name, struct dns_rr_srv **dclist, - int *numdcs) + size_t *numdcs) { struct tevent_context *ev; struct tevent_req *req; @@ -220,7 +221,7 @@ NTSTATUS ads_dns_lookup_srv(TALLOC_CTX *ctx, } status = ads_dns_lookup_srv_recv(req, ctx, dclist, &num_srvs); if (NT_STATUS_IS_OK(status)) { - *numdcs = num_srvs; /* size_t->int */ + *numdcs = num_srvs; } fail: TALLOC_FREE(ev); @@ -346,7 +347,7 @@ NTSTATUS ads_dns_lookup_ns_recv(struct tevent_req *req, NTSTATUS ads_dns_lookup_ns(TALLOC_CTX *ctx, const char *dnsdomain, struct dns_rr_ns **nslist, - int *numns) + size_t *numns) { struct tevent_context *ev; struct tevent_req *req; @@ -790,11 +791,11 @@ static NTSTATUS ads_dns_query_internal(TALLOC_CTX *ctx, const char *realm, const char *sitename, struct dns_rr_srv **dclist, - int *numdcs ) + size_t *numdcs ) { char *name; NTSTATUS status; - int num_srvs = 0; + size_t num_srvs = 0; if ((sitename != NULL) && (strlen(sitename) != 0)) { name = talloc_asprintf(ctx, "%s._tcp.%s._sites.%s._msdcs.%s", @@ -826,7 +827,7 @@ static NTSTATUS ads_dns_query_internal(TALLOC_CTX *ctx, status = ads_dns_lookup_srv(ctx, name, dclist, &num_srvs); done: - *numdcs = num_srvs; /* automatic conversion size_t->int */ + *numdcs = num_srvs; return status; } @@ -838,7 +839,7 @@ NTSTATUS ads_dns_query_dcs(TALLOC_CTX *ctx, const char *realm, const char *sitename, struct dns_rr_srv **dclist, - int *numdcs ) + size_t *numdcs ) { NTSTATUS status; @@ -860,7 +861,7 @@ NTSTATUS ads_dns_query_gcs(TALLOC_CTX *ctx, const char *realm, const char *sitename, struct dns_rr_srv **dclist, - int *numdcs ) + size_t *numdcs ) { NTSTATUS status; @@ -884,7 +885,7 @@ NTSTATUS ads_dns_query_kdcs(TALLOC_CTX *ctx, const char *dns_forest_name, const char *sitename, struct dns_rr_srv **dclist, - int *numdcs ) + size_t *numdcs ) { NTSTATUS status; @@ -905,7 +906,7 @@ NTSTATUS ads_dns_query_kdcs(TALLOC_CTX *ctx, NTSTATUS ads_dns_query_pdc(TALLOC_CTX *ctx, const char *dns_domain_name, struct dns_rr_srv **dclist, - int *numdcs ) + size_t *numdcs ) { return ads_dns_query_internal(ctx, "_ldap", @@ -924,7 +925,7 @@ NTSTATUS ads_dns_query_dcs_guid(TALLOC_CTX *ctx, const char *dns_forest_name, const char *domain_guid, struct dns_rr_srv **dclist, - int *numdcs ) + size_t *numdcs ) { /*_ldap._tcp.DomainGuid.domains._msdcs.DnsForestName */ diff --git a/lib/addns/dnsquery.h b/lib/addns/dnsquery.h index 3f8cc13983b..777f1a7de6a 100644 --- a/lib/addns/dnsquery.h +++ b/lib/addns/dnsquery.h @@ -36,7 +36,7 @@ NTSTATUS ads_dns_lookup_srv_recv(struct tevent_req *req, NTSTATUS ads_dns_lookup_srv(TALLOC_CTX *ctx, const char *name, struct dns_rr_srv **dclist, - int *numdcs); + size_t *numdcs); struct tevent_req *ads_dns_lookup_ns_send(TALLOC_CTX *mem_ctx, struct tevent_context *ev, const char *name); @@ -47,7 +47,7 @@ NTSTATUS ads_dns_lookup_ns_recv(struct tevent_req *req, NTSTATUS ads_dns_lookup_ns(TALLOC_CTX *ctx, const char *dnsdomain, struct dns_rr_ns **nslist, - int *numns); + size_t *numns); struct tevent_req *ads_dns_lookup_a_send(TALLOC_CTX *mem_ctx, struct tevent_context *ev, const char *name); @@ -83,24 +83,24 @@ NTSTATUS ads_dns_query_dcs(TALLOC_CTX *ctx, const char *realm, const char *sitename, struct dns_rr_srv **dclist, - int *numdcs ); + size_t *numdcs ); NTSTATUS ads_dns_query_gcs(TALLOC_CTX *ctx, const char *realm, const char *sitename, struct dns_rr_srv **dclist, - int *numdcs ); + size_t *numdcs ); NTSTATUS ads_dns_query_kdcs(TALLOC_CTX *ctx, const char *dns_forest_name, const char *sitename, struct dns_rr_srv **dclist, - int *numdcs ); + size_t *numdcs ); NTSTATUS ads_dns_query_pdc(TALLOC_CTX *ctx, const char *dns_domain_name, struct dns_rr_srv **dclist, - int *numdcs ); + size_t *numdcs ); NTSTATUS ads_dns_query_dcs_guid(TALLOC_CTX *ctx, const char *dns_forest_name, const char *domain_guid, struct dns_rr_srv **dclist, - int *numdcs ); + size_t *numdcs ); #endif /* _ADS_DNS_H */ diff --git a/libcli/nbt/libnbt.h b/libcli/nbt/libnbt.h index 496b2b91783..204484be73f 100644 --- a/libcli/nbt/libnbt.h +++ b/libcli/nbt/libnbt.h @@ -372,6 +372,6 @@ NTSTATUS resolve_lmhosts_file_as_sockaddr(TALLOC_CTX *mem_ctx, const char *name, int name_type, struct sockaddr_storage **return_iplist, - int *return_count); + size_t *return_count); #endif /* __LIBNBT_H__ */ diff --git a/libcli/nbt/lmhosts.c b/libcli/nbt/lmhosts.c index 0890c0407d3..dd06e70c071 100644 --- a/libcli/nbt/lmhosts.c +++ b/libcli/nbt/lmhosts.c @@ -164,7 +164,7 @@ NTSTATUS resolve_lmhosts_file_as_sockaddr(TALLOC_CTX *mem_ctx, const char *name, int name_type, struct sockaddr_storage **return_iplist, - int *return_count) + size_t *return_count) { /* * "lmhosts" means parse the local lmhosts file. @@ -176,9 +176,8 @@ NTSTATUS resolve_lmhosts_file_as_sockaddr(TALLOC_CTX *mem_ctx, struct sockaddr_storage return_ss; NTSTATUS status = NT_STATUS_DOMAIN_CONTROLLER_NOT_FOUND; TALLOC_CTX *ctx = NULL; - - *return_iplist = NULL; - *return_count = 0; + size_t ret_count = 0; + struct sockaddr_storage *iplist = NULL; DEBUG(3,("resolve_lmhosts: " "Attempting lmhosts lookup for name %s<0x%x>\n", @@ -207,19 +206,25 @@ NTSTATUS resolve_lmhosts_file_as_sockaddr(TALLOC_CTX *mem_ctx, continue; } - *return_iplist = talloc_realloc(ctx, (*return_iplist), - struct sockaddr_storage, - (*return_count)+1); + /* wrap check. */ + if (ret_count + 1 < ret_count) { + TALLOC_FREE(ctx); + endlmhosts(fp); + return NT_STATUS_INVALID_PARAMETER; + } + iplist = talloc_realloc(ctx, iplist, + struct sockaddr_storage, + ret_count+1); - if ((*return_iplist) == NULL) { + if (iplist == NULL) { TALLOC_FREE(ctx); endlmhosts(fp); DEBUG(3,("resolve_lmhosts: talloc_realloc fail !\n")); return NT_STATUS_NO_MEMORY; } - (*return_iplist)[*return_count] = return_ss; - *return_count += 1; + iplist[ret_count] = return_ss; + ret_count += 1; /* we found something */ status = NT_STATUS_OK; @@ -229,7 +234,8 @@ NTSTATUS resolve_lmhosts_file_as_sockaddr(TALLOC_CTX *mem_ctx, break; } - talloc_steal(mem_ctx, *return_iplist); + *return_count = ret_count; + *return_iplist = talloc_move(mem_ctx, &iplist); TALLOC_FREE(ctx); endlmhosts(fp); return status; diff --git a/source3/include/proto.h b/source3/include/proto.h index b91fd8bcad4..95bd9240d9a 100644 --- a/source3/include/proto.h +++ b/source3/include/proto.h @@ -650,7 +650,7 @@ char **wins_srv_tags(void); void wins_srv_tags_free(char **list); struct in_addr wins_srv_ip_tag(const char *tag, struct in_addr src_ip); bool wins_server_tag_ips(const char *tag, TALLOC_CTX *mem_ctx, - struct in_addr **pservers, int *pnum_servers); + struct in_addr **pservers, size_t *pnum_servers); unsigned wins_srv_count_tag(const char *tag); #ifndef ASN1_MAX_OIDS diff --git a/source3/include/smb.h b/source3/include/smb.h index d2eabc63e9c..b871b0f80ab 100644 --- a/source3/include/smb.h +++ b/source3/include/smb.h @@ -688,12 +688,6 @@ struct node_status_extra { #endif #define LDAP_GC_PORT 3268 -/* used by the IP comparison function */ -struct ip_service { - struct sockaddr_storage ss; - unsigned port; -}; - struct ea_struct { uint8_t flags; char *name; diff --git a/source3/lib/wins_srv.c b/source3/lib/wins_srv.c index 2f28a4de6fb..ea94dc1fa14 100644 --- a/source3/lib/wins_srv.c +++ b/source3/lib/wins_srv.c @@ -331,10 +331,10 @@ struct in_addr wins_srv_ip_tag(const char *tag, struct in_addr src_ip) } bool wins_server_tag_ips(const char *tag, TALLOC_CTX *mem_ctx, - struct in_addr **pservers, int *pnum_servers) + struct in_addr **pservers, size_t *pnum_servers) { const char **list; - int i, num_servers; + size_t i, num_servers; struct in_addr *servers; list = lp_wins_server_list(); @@ -348,6 +348,10 @@ bool wins_server_tag_ips(const char *tag, TALLOC_CTX *mem_ctx, struct tagged_ip t_ip; parse_ip(&t_ip, list[i]); if (strcmp(tag, t_ip.tag) == 0) { + /* Wrap check. */ + if (num_servers + 1 < num_servers) { + return false; + } num_servers += 1; } } diff --git a/source3/libads/kerberos.c b/source3/libads/kerberos.c index d02d4d881e7..583067aac73 100644 --- a/source3/libads/kerberos.c +++ b/source3/libads/kerberos.c @@ -421,8 +421,8 @@ static char *get_kdc_ip_string(char *mem_ctx, { TALLOC_CTX *frame = talloc_stackframe(); size_t i; - struct ip_service *ip_srv_site = NULL; - struct ip_service *ip_srv_nonsite = NULL; + struct samba_sockaddr *ip_sa_site = NULL; + struct samba_sockaddr *ip_sa_nonsite = NULL; struct samba_sockaddr sa = {0}; size_t count_site = 0; size_t count_nonsite; @@ -457,7 +457,7 @@ static char *get_kdc_ip_string(char *mem_ctx, status = get_kdc_list(talloc_tos(), realm, sitename, - &ip_srv_site, + &ip_sa_site, &count_site); if (!NT_STATUS_IS_OK(status)) { DBG_ERR("get_kdc_list fail %s\n", @@ -475,7 +475,7 @@ static char *get_kdc_ip_string(char *mem_ctx, status = get_kdc_list(talloc_tos(), realm, NULL, - &ip_srv_nonsite, + &ip_sa_nonsite, &count_nonsite); if (!NT_STATUS_IS_OK(status)) { DBG_ERR("get_kdc_list (site-less) fail %s\n", @@ -503,34 +503,16 @@ static char *get_kdc_ip_string(char *mem_ctx, num_dcs = 0; for (i = 0; i < count_site; i++) { - struct samba_sockaddr ip_sa = {0}; - - ok = sockaddr_storage_to_samba_sockaddr(&ip_sa, - &ip_srv_site[i].ss); - if (!ok) { - TALLOC_FREE(kdc_str); - goto out; - } - - if (!sockaddr_equal(&sa.u.sa, &ip_sa.u.sa)) { + if (!sockaddr_equal(&sa.u.sa, &ip_sa_site[i].u.sa)) { add_sockaddr_unique(dc_addrs, &num_dcs, - &ip_srv_site[i].ss); + &ip_sa_site[i].u.ss); } } for (i = 0; i < count_nonsite; i++) { - struct samba_sockaddr ip_sa = {0}; - - ok = sockaddr_storage_to_samba_sockaddr(&ip_sa, - &ip_srv_nonsite[i].ss); - if (!ok) { - TALLOC_FREE(kdc_str); - goto out; - } - - if (!sockaddr_equal(&sa.u.sa, &ip_sa.u.sa)) { + if (!sockaddr_equal(&sa.u.sa, &ip_sa_nonsite[i].u.sa)) { add_sockaddr_unique(dc_addrs, &num_dcs, - &ip_srv_nonsite[i].ss); + &ip_sa_nonsite[i].u.ss); } } @@ -605,8 +587,8 @@ static char *get_kdc_ip_string(char *mem_ctx, out: DEBUG(10, ("get_kdc_ip_string: Returning %s\n", kdc_str)); - TALLOC_FREE(ip_srv_site); - TALLOC_FREE(ip_srv_nonsite); + TALLOC_FREE(ip_sa_site); + TALLOC_FREE(ip_sa_nonsite); TALLOC_FREE(frame); return result; } diff --git a/source3/libads/ldap.c b/source3/libads/ldap.c index 8fbe34a20b7..f7f0ee43213 100755 --- a/source3/libads/ldap.c +++ b/source3/libads/ldap.c @@ -346,23 +346,25 @@ static bool ads_try_connect(ADS_STRUCT *ads, bool gc, Take note of and update negative connection cache. **********************************************************************/ -static NTSTATUS cldap_ping_list(ADS_STRUCT *ads,const char *domain, - struct ip_service *ip_list, int count) +static NTSTATUS cldap_ping_list(ADS_STRUCT *ads, + const char *domain, + struct samba_sockaddr *sa_list, + size_t count) { - int i; + size_t i; bool ok; for (i = 0; i < count; i++) { char server[INET6_ADDRSTRLEN]; - print_sockaddr(server, sizeof(server), &ip_list[i].ss); + print_sockaddr(server, sizeof(server), &sa_list[i].u.ss); if (!NT_STATUS_IS_OK( check_negative_conn_cache(domain, server))) continue; /* Returns ok only if it matches the correct server type */ - ok = ads_try_connect(ads, false, &ip_list[i].ss); + ok = ads_try_connect(ads, false, &sa_list[i].u.ss); if (ok) { return NT_STATUS_OK; @@ -385,7 +387,7 @@ static NTSTATUS resolve_and_ping_netbios(ADS_STRUCT *ads, { size_t i; size_t count = 0; - struct ip_service *ip_list = NULL; + struct samba_sockaddr *sa_list = NULL; NTSTATUS status; DEBUG(6, ("resolve_and_ping_netbios: (cldap) looking for domain '%s'\n", @@ -394,7 +396,7 @@ static NTSTATUS resolve_and_ping_netbios(ADS_STRUCT *ads, status = get_sorted_dc_list(talloc_tos(), domain, NULL, - &ip_list, + &sa_list, &count, false); if (!NT_STATUS_IS_OK(status)) { @@ -407,7 +409,7 @@ static NTSTATUS resolve_and_ping_netbios(ADS_STRUCT *ads, for (i = 0; i < count; ++i) { char server[INET6_ADDRSTRLEN]; - print_sockaddr(server, sizeof(server), &ip_list[i].ss); + print_sockaddr(server, sizeof(server), &sa_list[i].u.ss); if(!NT_STATUS_IS_OK( check_negative_conn_cache(realm, server))) { @@ -420,9 +422,9 @@ static NTSTATUS resolve_and_ping_netbios(ADS_STRUCT *ads, } } - status = cldap_ping_list(ads, domain, ip_list, count); + status = cldap_ping_list(ads, domain, sa_list, count); - TALLOC_FREE(ip_list); + TALLOC_FREE(sa_list); return status; } @@ -436,7 +438,7 @@ static NTSTATUS resolve_and_ping_dns(ADS_STRUCT *ads, const char *sitename, const char *realm) { size_t count = 0; - struct ip_service *ip_list = NULL; + struct samba_sockaddr *sa_list = NULL; NTSTATUS status; DEBUG(6, ("resolve_and_ping_dns: (cldap) looking for realm '%s'\n", @@ -445,17 +447,17 @@ static NTSTATUS resolve_and_ping_dns(ADS_STRUCT *ads, const char *sitename, status = get_sorted_dc_list(talloc_tos(), realm, sitename, - &ip_list, + &sa_list, &count, true); if (!NT_STATUS_IS_OK(status)) { - TALLOC_FREE(ip_list); + TALLOC_FREE(sa_list); return status; } - status = cldap_ping_list(ads, realm, ip_list, count); + status = cldap_ping_list(ads, realm, sa_list, count); - TALLOC_FREE(ip_list); + TALLOC_FREE(sa_list); return status; } diff --git a/source3/libsmb/dsgetdcname.c b/source3/libsmb/dsgetdcname.c index 01e7a42cd77..4fdfe07b06a 100644 --- a/source3/libsmb/dsgetdcname.c +++ b/source3/libsmb/dsgetdcname.c @@ -439,14 +439,14 @@ static NTSTATUS discover_dc_netbios(TALLOC_CTX *mem_ctx, const char *domain_name, uint32_t flags, -- Samba Shared Repository