From 8a017f76419c1fafa5c2faaec9a40c30bd4b1205 Mon Sep 17 00:00:00 2001 From: Varun Madiath Date: Mon, 19 Jun 2023 13:38:39 -0400 Subject: [PATCH 1/2] Fix includes. Now builds with gcc-12 and gcc-13 Closes https://github.com/nixcloud/ip2unix/issues/31 Closes https://github.com/nixcloud/ip2unix/issues/30 --- src/dynports/dynports.cc | 1 + src/sockaddr.hh | 2 ++ 2 files changed, 3 insertions(+) diff --git a/src/dynports/dynports.cc b/src/dynports/dynports.cc index 31ca669..61c1508 100644 --- a/src/dynports/dynports.cc +++ b/src/dynports/dynports.cc @@ -1,4 +1,5 @@ // SPDX-License-Identifier: LGPL-3.0-only +#include #include #include #include diff --git a/src/sockaddr.hh b/src/sockaddr.hh index 64a65e0..c27b117 100644 --- a/src/sockaddr.hh +++ b/src/sockaddr.hh @@ -1,6 +1,8 @@ // SPDX-License-Identifier: LGPL-3.0-only #ifndef IP2UNIX_SOCKETADDR_HH #define IP2UNIX_SOCKETADDR_HH +#include +#include #include #include From 297346efa6020687970386cf1711535dce24e124 Mon Sep 17 00:00:00 2001 From: Varun Madiath Date: Mon, 19 Jun 2023 14:14:02 -0400 Subject: [PATCH 2/2] Header include cleanup. Cleanup by running the fix-includes.py script from include-what-you-use and manually looking over and editing the resulting changes. --- src/blackhole.cc | 9 ++++++--- src/globpath.cc | 7 +++++-- src/ip2unix.cc | 13 ++++++++----- src/logging.cc | 5 +++-- src/logging.hh | 1 + src/preload.cc | 22 ++++++++++++++-------- src/realcalls.cc | 4 ++++ src/realcalls.hh | 8 +++++--- src/rng.cc | 5 ++--- src/rng.hh | 1 + src/rules/parse.cc | 20 +++++++++++--------- src/serial.cc | 3 +++ src/serial.hh | 13 +++++++++++++ src/sockaddr.cc | 7 ++++--- src/sockaddr.hh | 10 ++++++++-- src/socket.cc | 11 ++++++++--- src/socket.hh | 5 +++++ src/sockopts.cc | 6 ++++-- src/sockopts.hh | 7 +++++-- src/systemd.cc | 10 +++++++--- src/systemd.hh | 6 ++++++ tests/helpers/accept_no_peer_addr.cc | 7 +++---- tests/unit/dynports.cc | 2 ++ tests/unit/globpath.cc | 1 + tests/unit/serial.cc | 5 +++++ 25 files changed, 134 insertions(+), 54 deletions(-) diff --git a/src/blackhole.cc b/src/blackhole.cc index 1f5a8e4..47843cd 100644 --- a/src/blackhole.cc +++ b/src/blackhole.cc @@ -1,9 +1,12 @@ // SPDX-License-Identifier: LGPL-3.0-only -#include -#include #include - #include +#include +#include +#include +#include +#include +#include #include "blackhole.hh" #include "logging.hh" diff --git a/src/globpath.cc b/src/globpath.cc index f7ed955..54a9636 100644 --- a/src/globpath.cc +++ b/src/globpath.cc @@ -1,7 +1,10 @@ // SPDX-License-Identifier: LGPL-3.0-only -#include "globpath.hh" - +#include #include +#include +#include + +#include "globpath.hh" enum class MatchResult { Matched, diff --git a/src/ip2unix.cc b/src/ip2unix.cc index 90b8385..27a88e6 100644 --- a/src/ip2unix.cc +++ b/src/ip2unix.cc @@ -1,14 +1,17 @@ // SPDX-License-Identifier: LGPL-3.0-only +#include +#include +#include +#include #include -#include #include #include #include -#include -#include #include -#include -#include +#include +#include +#include +#include #include "rules.hh" #include "serial.hh" diff --git a/src/logging.cc b/src/logging.cc index e150aca..21b2b7c 100644 --- a/src/logging.cc +++ b/src/logging.cc @@ -1,8 +1,9 @@ // SPDX-License-Identifier: LGPL-3.0-only -#include - #include #include +#include +#include +#include #include "logging.hh" diff --git a/src/logging.hh b/src/logging.hh index 8126838..8d968b3 100644 --- a/src/logging.hh +++ b/src/logging.hh @@ -4,6 +4,7 @@ #include #include +#include /* A small helper so that we always get the basename of the file at compile * time instead of determining it at runtime. diff --git a/src/preload.cc b/src/preload.cc index 2c7fcba..87db804 100644 --- a/src/preload.cc +++ b/src/preload.cc @@ -1,14 +1,19 @@ // SPDX-License-Identifier: LGPL-3.0-only -#include -#include -#include +#include +#include +#include +#include +#include +#include #include #include - -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include +#include #ifndef WRAP_SYM #define WRAP_SYM(x) ip2unix_wrap_##x @@ -22,6 +27,7 @@ #include "socket.hh" #include "logging.hh" #include "serial.hh" +#include "sockaddr.hh" #ifdef SYSTEMD_SUPPORT #include "systemd.hh" diff --git a/src/realcalls.cc b/src/realcalls.cc index 5c78179..95a9b48 100644 --- a/src/realcalls.cc +++ b/src/realcalls.cc @@ -1,5 +1,9 @@ // SPDX-License-Identifier: LGPL-3.0-only #define IP2UNIX_REALCALL_EXTERN +#include +#include +#include + #include "realcalls.hh" std::mutex g_dlsym_mutex; diff --git a/src/realcalls.hh b/src/realcalls.hh index 6923dff..a6304b1 100644 --- a/src/realcalls.hh +++ b/src/realcalls.hh @@ -2,11 +2,13 @@ #ifndef IP2UNIX_REALCALLS_HH #define IP2UNIX_REALCALLS_HH -#include -#include - #include #include +#include +#include +#include +#include +#include #include "logging.hh" diff --git a/src/rng.cc b/src/rng.cc index affc2a5..47c38af 100644 --- a/src/rng.cc +++ b/src/rng.cc @@ -1,8 +1,7 @@ // SPDX-License-Identifier: LGPL-3.0-only -#include - -#include #include +#include +#include #include "rng.hh" diff --git a/src/rng.hh b/src/rng.hh index 738e4ec..78a1b00 100644 --- a/src/rng.hh +++ b/src/rng.hh @@ -3,6 +3,7 @@ #define IP2UNIX_RANDOMIZER_HH #include +#include extern std::default_random_engine __generator; diff --git a/src/rules/parse.cc b/src/rules/parse.cc index c46c66d..3b26cbe 100644 --- a/src/rules/parse.cc +++ b/src/rules/parse.cc @@ -1,19 +1,21 @@ // SPDX-License-Identifier: LGPL-3.0-only -#include -#include -#include -#include -#include -#include - #include #include - +#include +#include +#include +#include #include +#include +#include +#include +#include +#include +#include #include "../rules.hh" - #include "errno_list.hh" +#include "types.hh" static const std::string describe_nodetype(const YAML::Node &node) { diff --git a/src/serial.cc b/src/serial.cc index e1ef158..05bb7af 100644 --- a/src/serial.cc +++ b/src/serial.cc @@ -1,5 +1,8 @@ // SPDX-License-Identifier: LGPL-3.0-only #include "serial.hh" +#include "rules.hh" +#include "systemd.hh" +#include "types.hh" void serialise(const std::string &str, std::ostream &out) { diff --git a/src/serial.hh b/src/serial.hh index 5e5520e..e7961f4 100644 --- a/src/serial.hh +++ b/src/serial.hh @@ -2,12 +2,25 @@ #ifndef IP2UNIX_SERIAL_HH #define IP2UNIX_SERIAL_HH +#include #include #include #include +#include +#include +#include +#include +#include #include "rules.hh" +enum class RuleDir; +enum class SocketType; +namespace Systemd { +struct FdInfo; +} // namespace Systemd +struct Rule; + #ifdef SYSTEMD_SUPPORT #include "systemd.hh" #endif diff --git a/src/sockaddr.cc b/src/sockaddr.cc index 95223f0..f1a049d 100644 --- a/src/sockaddr.cc +++ b/src/sockaddr.cc @@ -1,10 +1,11 @@ // SPDX-License-Identifier: LGPL-3.0-only +#include +#include #include -#include #include #include - -#include +#include +#include #include "sockaddr.hh" #include "rng.hh" diff --git a/src/sockaddr.hh b/src/sockaddr.hh index c27b117..0b56ed3 100644 --- a/src/sockaddr.hh +++ b/src/sockaddr.hh @@ -1,12 +1,18 @@ // SPDX-License-Identifier: LGPL-3.0-only #ifndef IP2UNIX_SOCKETADDR_HH #define IP2UNIX_SOCKETADDR_HH +#include +#include +#include +#include #include #include #include +#include +#include -#include -#include +struct sockaddr_in6; +struct sockaddr_in; struct SockAddr : public sockaddr_storage { diff --git a/src/socket.cc b/src/socket.cc index 5dcaa67..fa96d63 100644 --- a/src/socket.cc +++ b/src/socket.cc @@ -1,12 +1,17 @@ // SPDX-License-Identifier: LGPL-3.0-only +#include +#include +#include #include -#include -#include -#include +#include +#include +#include #include "socket.hh" #include "realcalls.hh" #include "logging.hh" +#include "blackhole.hh" +#include "types.hh" std::optional Socket::find(int fd) { diff --git a/src/socket.hh b/src/socket.hh index 8d6e45a..a6b6cca 100644 --- a/src/socket.hh +++ b/src/socket.hh @@ -2,12 +2,14 @@ #ifndef IP2UNIX_SOCKET_HH #define IP2UNIX_SOCKET_HH +#include #include #include #include #include #include #include +#include #include "types.hh" #include "sockaddr.hh" @@ -15,6 +17,9 @@ #include "dynports.hh" #include "blackhole.hh" +enum class SocketType; +struct BlackHole; + struct Socket : std::enable_shared_from_this { using Ptr = std::shared_ptr; diff --git a/src/sockopts.cc b/src/sockopts.cc index 9c6ac9b..8df8412 100644 --- a/src/sockopts.cc +++ b/src/sockopts.cc @@ -1,8 +1,10 @@ // SPDX-License-Identifier: LGPL-3.0-only -#include -#include #include #include +#include +#include +#include +#include #include "realcalls.hh" #include "sockopts.hh" diff --git a/src/sockopts.hh b/src/sockopts.hh index 1f4b164..eae4adc 100644 --- a/src/sockopts.hh +++ b/src/sockopts.hh @@ -2,10 +2,13 @@ #ifndef IP2UNIX_SOCKOPT_HH #define IP2UNIX_SOCKOPT_HH +#include +#include +#include #include #include - -#include +#include +#include #ifdef HAS_EPOLL #include diff --git a/src/systemd.cc b/src/systemd.cc index 4375839..dbab5ad 100644 --- a/src/systemd.cc +++ b/src/systemd.cc @@ -1,16 +1,20 @@ // SPDX-License-Identifier: LGPL-3.0-only +#include +#include +#include #include #include #include #include - -#include +#include +#include +#include +#include #include "rules.hh" #include "systemd.hh" #include "logging.hh" #include "serial.hh" -#include "systemd.hh" #define SD_LISTEN_FDS_START 3 diff --git a/src/systemd.hh b/src/systemd.hh index 6864736..59bf61f 100644 --- a/src/systemd.hh +++ b/src/systemd.hh @@ -2,8 +2,14 @@ #ifndef IP2UNIX_SYSTEMD_HH #define IP2UNIX_SYSTEMD_HH +#include +#include +#include + #include "rules.hh" +struct Rule; + namespace Systemd { struct FdInfo { int fd; diff --git a/tests/helpers/accept_no_peer_addr.cc b/tests/helpers/accept_no_peer_addr.cc index b64f33a..6cc4b01 100644 --- a/tests/helpers/accept_no_peer_addr.cc +++ b/tests/helpers/accept_no_peer_addr.cc @@ -1,10 +1,9 @@ -#include -#include - #include -#include #include #include +#include +#include +#include int main(void) { diff --git a/tests/unit/dynports.cc b/tests/unit/dynports.cc index 38ca0da..4f0dadd 100644 --- a/tests/unit/dynports.cc +++ b/tests/unit/dynports.cc @@ -1,5 +1,7 @@ +#include #include #include +#include #include "dynports.hh" diff --git a/tests/unit/globpath.cc b/tests/unit/globpath.cc index 2d8cdd4..8d3c3a3 100644 --- a/tests/unit/globpath.cc +++ b/tests/unit/globpath.cc @@ -1,4 +1,5 @@ #include +#include #include "globpath.hh" diff --git a/tests/unit/serial.cc b/tests/unit/serial.cc index 3dd5491..86dfc21 100644 --- a/tests/unit/serial.cc +++ b/tests/unit/serial.cc @@ -1,4 +1,9 @@ #include +#include +#include + +#include "rules.hh" +#include "types.hh" /* All the combinations of values we want to check */