From 1bd331f102377969e708e47f9fa8dc3cb90fe599 Mon Sep 17 00:00:00 2001 From: Jeremy Leconte Date: Wed, 11 Sep 2024 04:48:41 +0200 Subject: [PATCH] Ensure is included by using rtc_base/ip_address.h. Change-Id: I1b48275ef458bcd579d027b879240c702975ab56 Bug: b/236227627 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/362280 Reviewed-by: Harald Alvestrand Commit-Queue: Jeremy Leconte Cr-Commit-Position: refs/heads/main@{#43001} --- PRESUBMIT.py | 43 +++++++++++-------- api/transport/stun.cc | 3 -- api/transport/stun_unittest.cc | 3 -- examples/BUILD.gn | 1 + examples/peerconnection/server/data_socket.h | 2 +- modules/audio_coding/BUILD.gn | 5 ++- .../audio_coding/neteq/tools/rtp_encode.cc | 12 +++--- .../neteq/tools/rtp_file_source.cc | 11 ++--- rtc_base/BUILD.gn | 2 + rtc_base/byte_order.h | 2 +- rtc_base/ifaddrs_android.cc | 2 +- rtc_base/ip_address.cc | 14 +++--- rtc_base/ip_address.h | 3 +- rtc_base/socket.h | 7 +-- rtc_base/socket_address.cc | 22 ++++------ rtc_base/socket_address_unittest.cc | 8 ++-- rtc_base/virtual_socket_unittest.cc | 8 +--- 17 files changed, 73 insertions(+), 75 deletions(-) diff --git a/PRESUBMIT.py b/PRESUBMIT.py index ca4b9c1ca9..77c00388d6 100755 --- a/PRESUBMIT.py +++ b/PRESUBMIT.py @@ -1052,7 +1052,8 @@ def CommonChecks(input_api, output_api): results.extend( CheckObjcApiSymbols(input_api, output_api, non_third_party_sources)) results.extend( - CheckSysSocketInclude(input_api, output_api, non_third_party_sources)) + CheckConditionalIncludes(input_api, output_api, + non_third_party_sources)) return results @@ -1159,27 +1160,31 @@ def CheckBannedAbslOptional(input_api, output_api, source_file_filter): return [] -def CheckSysSocketInclude(input_api, output_api, source_file_filter): - sys_socket = re.compile( - '^#include ((?!IWYU pragma|no-presubmit-check).)*$') +def CheckConditionalIncludes(input_api, output_api, source_file_filter): + conditional_includes = { + '': '"rtc_base/ip_address.h"', + '': '"rtc_base/net_helpers.h"', + } file_filter = lambda f: (f.LocalPath().endswith( ('.cc', '.h')) and source_file_filter(f)) + results = [] + for key, value in conditional_includes.items(): + include_regex = re.compile('^#include ' + key + + '((?!IWYU pragma|no-presubmit-check).)*$') + files = [] + for f in input_api.AffectedFiles(include_deletes=False, + file_filter=file_filter): + for _, line in f.ChangedContents(): + if include_regex.search(line): + files.append(f.LocalPath()) + break - files = [] - for f in input_api.AffectedFiles(include_deletes=False, - file_filter=file_filter): - for _, line in f.ChangedContents(): - if sys_socket.search(line): - files.append(f.LocalPath()) - break - - if files: - return [ - output_api.PresubmitError( - 'PleaseInclude "rtc_base/net_helpers.h" instead of ' - '.\nAffected files:', files) - ] - return [] + if files: + results.append( + output_api.PresubmitError( + 'Please include ' + value + ' instead of ' + key + + '.\nAffected files:', files)) + return results def CheckObjcApiSymbols(input_api, output_api, source_file_filter): diff --git a/api/transport/stun.cc b/api/transport/stun.cc index f8b20e5d71..6550182384 100644 --- a/api/transport/stun.cc +++ b/api/transport/stun.cc @@ -10,9 +10,6 @@ #include "api/transport/stun.h" -#if defined(WEBRTC_POSIX) -#include -#endif #include #include // IWYU pragma: keep diff --git a/api/transport/stun_unittest.cc b/api/transport/stun_unittest.cc index 54370270ed..9d0352bb80 100644 --- a/api/transport/stun_unittest.cc +++ b/api/transport/stun_unittest.cc @@ -10,9 +10,6 @@ #include "api/transport/stun.h" -#if defined(WEBRTC_POSIX) -#include -#endif #include #include diff --git a/examples/BUILD.gn b/examples/BUILD.gn index 91c2f8ab51..a0dbdcc154 100644 --- a/examples/BUILD.gn +++ b/examples/BUILD.gn @@ -792,6 +792,7 @@ if (is_linux || is_chromeos || is_win) { ] deps = [ "../rtc_base:checks", + "../rtc_base:ip_address", "../rtc_base:net_helpers", "../rtc_base:stringutils", "../system_wrappers:field_trial", diff --git a/examples/peerconnection/server/data_socket.h b/examples/peerconnection/server/data_socket.h index 3c4f53dbfc..63d808f239 100644 --- a/examples/peerconnection/server/data_socket.h +++ b/examples/peerconnection/server/data_socket.h @@ -13,13 +13,13 @@ #include +#include "rtc_base/ip_address.h" #include "rtc_base/net_helpers.h" #ifdef WIN32 typedef int socklen_t; typedef SOCKET NativeSocket; #else -#include #include #define closesocket close typedef int NativeSocket; diff --git a/modules/audio_coding/BUILD.gn b/modules/audio_coding/BUILD.gn index 087043bc30..c92a26fd0d 100644 --- a/modules/audio_coding/BUILD.gn +++ b/modules/audio_coding/BUILD.gn @@ -823,6 +823,7 @@ rtc_library("neteq_test_tools") { "../../common_audio", "../../rtc_base:buffer", "../../rtc_base:checks", + "../../rtc_base:copy_on_write_buffer", "../../rtc_base:digest", "../../rtc_base:stringutils", "../../rtc_base/system:arch", @@ -1380,6 +1381,7 @@ if (rtc_include_tests) { deps = [ ":audio_coding", + ":audio_coding_module_typedefs", ":audio_encoder_cng", ":neteq_input_audio_tools", "../../api/audio:audio_frame_api", @@ -1389,10 +1391,11 @@ if (rtc_include_tests) { "../../api/audio_codecs/ilbc:audio_encoder_ilbc", "../../api/audio_codecs/opus:audio_encoder_opus", "../../api/environment:environment_factory", + "../../rtc_base:checks", + "../../rtc_base:ip_address", "../../rtc_base:safe_conversions", "//third_party/abseil-cpp/absl/flags:flag", "//third_party/abseil-cpp/absl/flags:parse", - "//third_party/abseil-cpp/absl/memory", ] deps += audio_coding_deps diff --git a/modules/audio_coding/neteq/tools/rtp_encode.cc b/modules/audio_coding/neteq/tools/rtp_encode.cc index e6017094d8..b46e30fe05 100644 --- a/modules/audio_coding/neteq/tools/rtp_encode.cc +++ b/modules/audio_coding/neteq/tools/rtp_encode.cc @@ -10,21 +10,20 @@ #include +#include +#include +#include + #ifdef WIN32 #include #endif -#if defined(WEBRTC_LINUX) || defined(WEBRTC_FUCHSIA) -#include -#endif -#include #include #include #include #include "absl/flags/flag.h" #include "absl/flags/parse.h" -#include "absl/memory/memory.h" #include "api/audio/audio_frame.h" #include "api/audio_codecs/L16/audio_encoder_L16.h" #include "api/audio_codecs/g711/audio_encoder_g711.h" @@ -34,7 +33,10 @@ #include "api/environment/environment_factory.h" #include "modules/audio_coding/codecs/cng/audio_encoder_cng.h" #include "modules/audio_coding/include/audio_coding_module.h" +#include "modules/audio_coding/include/audio_coding_module_typedefs.h" #include "modules/audio_coding/neteq/tools/input_audio_file.h" +#include "rtc_base/checks.h" +#include "rtc_base/ip_address.h" #include "rtc_base/numerics/safe_conversions.h" ABSL_FLAG(bool, list_codecs, false, "Enumerate all codecs"); diff --git a/modules/audio_coding/neteq/tools/rtp_file_source.cc b/modules/audio_coding/neteq/tools/rtp_file_source.cc index 056b30d6c9..a6a5f0db71 100644 --- a/modules/audio_coding/neteq/tools/rtp_file_source.cc +++ b/modules/audio_coding/neteq/tools/rtp_file_source.cc @@ -12,15 +12,16 @@ #include -#include "absl/strings/string_view.h" -#ifndef WIN32 -#include -#endif - +#include #include +#include +#include "absl/strings/string_view.h" #include "modules/audio_coding/neteq/tools/packet.h" +#include "modules/audio_coding/neteq/tools/packet_source.h" +#include "modules/rtp_rtcp/include/rtp_rtcp_defines.h" #include "rtc_base/checks.h" +#include "rtc_base/copy_on_write_buffer.h" #include "test/rtp_file_reader.h" namespace webrtc { diff --git a/rtc_base/BUILD.gn b/rtc_base/BUILD.gn index 28f831b7d0..e1282d7293 100644 --- a/rtc_base/BUILD.gn +++ b/rtc_base/BUILD.gn @@ -1063,6 +1063,7 @@ rtc_library("socket") { deps = [ ":buffer", ":checks", + ":ip_address", ":macromagic", ":net_helpers", ":socket_address", @@ -1936,6 +1937,7 @@ if (rtc_include_tests) { ":macromagic", ":mod_ops", ":moving_max_counter", + ":net_helpers", ":null_socket_server", ":one_time_event", ":platform_thread", diff --git a/rtc_base/byte_order.h b/rtc_base/byte_order.h index b8f8ae9f7a..ed7c75996f 100644 --- a/rtc_base/byte_order.h +++ b/rtc_base/byte_order.h @@ -44,7 +44,7 @@ #include #include #else -#include +#include // no-presubmit-check #endif // defined(WEBRTC_WIN) #if defined(WEBRTC_ARCH_LITTLE_ENDIAN) diff --git a/rtc_base/ifaddrs_android.cc b/rtc_base/ifaddrs_android.cc index 0a7ad3c562..4271003ea1 100644 --- a/rtc_base/ifaddrs_android.cc +++ b/rtc_base/ifaddrs_android.cc @@ -15,7 +15,7 @@ #include #include #include -#include +#include // no-presubmit-check #include #include #include diff --git a/rtc_base/ip_address.cc b/rtc_base/ip_address.cc index 318add1331..5a0d52974f 100644 --- a/rtc_base/ip_address.cc +++ b/rtc_base/ip_address.cc @@ -8,28 +8,26 @@ * be found in the AUTHORS file in the root of the source tree. */ +#include +#include +#include +#include +#include #if defined(WEBRTC_POSIX) -#include - -#include "absl/strings/string_view.h" #ifdef OPENBSD #include #endif #ifndef __native_client__ -#include #endif #include #endif +#include "absl/strings/string_view.h" #include "rtc_base/byte_order.h" #include "rtc_base/ip_address.h" #include "rtc_base/net_helpers.h" #include "rtc_base/string_utils.h" -#if defined(WEBRTC_WIN) -#include "rtc_base/win32.h" -#endif // WEBRTC_WIN - namespace rtc { // Prefixes used for categorizing IPv6 addresses. diff --git a/rtc_base/ip_address.h b/rtc_base/ip_address.h index b2f0b9906c..9def8a4dc2 100644 --- a/rtc_base/ip_address.h +++ b/rtc_base/ip_address.h @@ -11,10 +11,11 @@ #ifndef RTC_BASE_IP_ADDRESS_H_ #define RTC_BASE_IP_ADDRESS_H_ +#include #if defined(WEBRTC_POSIX) #include #include -#include +#include // IWYU pragma: export #include "absl/strings/string_view.h" #endif diff --git a/rtc_base/socket.h b/rtc_base/socket.h index 1540127ccb..10e603738d 100644 --- a/rtc_base/socket.h +++ b/rtc_base/socket.h @@ -13,19 +13,20 @@ #include +#include +#include #include -#include "rtc_base/checks.h" - #if defined(WEBRTC_POSIX) #include -#include #include #define SOCKET_EACCES EACCES #endif #include "api/units/timestamp.h" #include "rtc_base/buffer.h" +#include "rtc_base/checks.h" +#include "rtc_base/ip_address.h" #include "rtc_base/net_helpers.h" #include "rtc_base/network/ecn_marking.h" #include "rtc_base/socket_address.h" diff --git a/rtc_base/socket_address.cc b/rtc_base/socket_address.cc index 8c1a894153..7164a780d1 100644 --- a/rtc_base/socket_address.cc +++ b/rtc_base/socket_address.cc @@ -10,33 +10,27 @@ #include "rtc_base/socket_address.h" -#include "absl/strings/string_view.h" -#include "rtc_base/numerics/safe_conversions.h" +#include +#include +#include +#include +#include #if defined(WEBRTC_POSIX) -#include -#include #if defined(OPENBSD) #include #endif #if !defined(__native_client__) -#include #endif -#include -#include -#include #endif +#include "absl/strings/string_view.h" #include "rtc_base/byte_order.h" -#include "rtc_base/checks.h" -#include "rtc_base/logging.h" +#include "rtc_base/ip_address.h" #include "rtc_base/net_helpers.h" +#include "rtc_base/numerics/safe_conversions.h" #include "rtc_base/strings/string_builder.h" -#if defined(WEBRTC_WIN) -#include "rtc_base/win32.h" -#endif - namespace rtc { SocketAddress::SocketAddress() { diff --git a/rtc_base/socket_address_unittest.cc b/rtc_base/socket_address_unittest.cc index f10e43f148..96a51e06a1 100644 --- a/rtc_base/socket_address_unittest.cc +++ b/rtc_base/socket_address_unittest.cc @@ -8,14 +8,14 @@ * be found in the AUTHORS file in the root of the source tree. */ -#if defined(WEBRTC_POSIX) -#include // for sockaddr_in -#endif +#include "rtc_base/socket_address.h" #include +#include + #include "rtc_base/ip_address.h" -#include "rtc_base/socket_address.h" +#include "rtc_base/net_helpers.h" #include "test/gtest.h" namespace rtc { diff --git a/rtc_base/virtual_socket_unittest.cc b/rtc_base/virtual_socket_unittest.cc index 8efc9d8223..13e267e1cf 100644 --- a/rtc_base/virtual_socket_unittest.cc +++ b/rtc_base/virtual_socket_unittest.cc @@ -14,14 +14,8 @@ #include #include -#include "rtc_base/network/received_packet.h" -#if defined(WEBRTC_POSIX) -#include -#endif - #include #include -#include #include "absl/memory/memory.h" #include "api/units/time_delta.h" @@ -32,6 +26,8 @@ #include "rtc_base/gunit.h" #include "rtc_base/ip_address.h" #include "rtc_base/logging.h" +#include "rtc_base/net_helpers.h" +#include "rtc_base/network/received_packet.h" #include "rtc_base/socket.h" #include "rtc_base/socket_address.h" #include "rtc_base/task_utils/repeating_task.h"