[Openvpn-devel,v12] Hide various functions when unused

Message ID 20260808133204.6139-1-gert@greenie.muc.de
State New
Headers
Series [Openvpn-devel,v12] Hide various functions when unused |

Commit Message

Gert Doering Aug. 8, 2026, 1:31 p.m. UTC
  From: Frank Lichtenheld <frank@lichtenheld.com>

Wrap them into the same ifdef as their only user(s).

Identified by cppcheck.

Change-Id: I81b7168b64c438f759eace1e8f2735891c797bb9
Signed-off-by: Frank Lichtenheld <frank@lichtenheld.com>
Acked-by: Arne Schwabe <arne-openvpn@rfc2549.org>
Gerrit URL: https://gerrit.openvpn.net/c/openvpn/+/1611
---

This change was reviewed on Gerrit and approved by at least one
developer. I request to merge it to master.

Gerrit URL: https://gerrit.openvpn.net/c/openvpn/+/1611
This mail reflects revision 12 of this Change.

Acked-by according to Gerrit (reflected above):
Arne Schwabe <arne-openvpn@rfc2549.org>
  

Comments

Gert Doering Aug. 8, 2026, 1:41 p.m. UTC | #1
I'm not a big fan of adding #ifdef, but I understand the underlying goal
"make sure cppcheck results are meaningful, and not 100s of lines of
we-know-about-this".

Of course I'd much prefer to get rid of conditionals like PORT_SHARE but
I'm afraid this is tied to operating system capabilities...

I have not tested this beyond a basic FreeBSD compile test (plus a bit
of stare-at-code) - and since most of this would bomb at compile time,
having BB all green is a good indicator :-)

Your patch has been applied to the master branch.

commit 6575d4521a02e8a48a280f7246af6714504a2a86
Author: Frank Lichtenheld
Date:   Sat Aug 8 15:31:58 2026 +0200

     Hide various functions when unused

     Signed-off-by: Frank Lichtenheld <frank@lichtenheld.com>
     Acked-by: Arne Schwabe <arne-openvpn@rfc2549.org>
     Gerrit URL: https://gerrit.openvpn.net/c/openvpn/+/1611
     Message-Id: <20260808133204.6139-1-gert@greenie.muc.de>
     URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg38233.html
     Signed-off-by: Gert Doering <gert@greenie.muc.de>


--
kind regards,

Gert Doering
  

Patch

diff --git a/src/openvpn/buffer.c b/src/openvpn/buffer.c
index 5f2b233..922238d 100644
--- a/src/openvpn/buffer.c
+++ b/src/openvpn/buffer.c
@@ -594,6 +594,7 @@ 
     return str;
 }
 
+#ifdef _WIN32
 /*
  * like buf_null_terminate, but operate on strings
  */
@@ -610,6 +611,7 @@ 
         *(str + len - 1) = '\0';
     }
 }
+#endif
 
 /*
  * Remove trailing \r and \n chars.
diff --git a/src/openvpn/buffer.h b/src/openvpn/buffer.h
index 833ae6f..c6722c7 100644
--- a/src/openvpn/buffer.h
+++ b/src/openvpn/buffer.h
@@ -470,7 +470,9 @@ 
 
 const char *skip_leading_whitespace(const char *str);
 
+#ifdef _WIN32
 void string_null_terminate(char *str, int len, int capacity);
+#endif
 
 /**
  * Write buffer contents to file.
diff --git a/src/openvpn/error.c b/src/openvpn/error.c
index 2900352..26d4c7c 100644
--- a/src/openvpn/error.c
+++ b/src/openvpn/error.c
@@ -84,18 +84,20 @@ 
 /* If non-null, messages should be written here (used for debugging only) */
 static FILE *msgfp; /* GLOBAL */
 
-/* If true, we forked from main OpenVPN process */
-static bool forked; /* GLOBAL */
-
 /* our default output targets */
 static FILE *default_out; /* GLOBAL */
 static FILE *default_err; /* GLOBAL */
 
+/* If true, we forked from main OpenVPN process */
+static bool forked; /* GLOBAL */
+
+#if PORT_SHARE
 void
 msg_forked(void)
 {
     forked = true;
 }
+#endif
 
 bool
 set_debug_level(const int level, const unsigned int flags)
diff --git a/src/openvpn/error.h b/src/openvpn/error.h
index 3b742d7..45826a2 100644
--- a/src/openvpn/error.h
+++ b/src/openvpn/error.h
@@ -260,8 +260,10 @@ 
     return check_debug_level(flags) && dont_mute(flags);
 }
 
+#if PORT_SHARE
 /* Call if we forked */
 void msg_forked(void);
+#endif
 
 /* syslog output */
 
@@ -393,12 +395,14 @@ 
     return false;
 }
 
+#if defined(ENABLE_CRYPTO_OPENSSL)
 /** Convert fatal errors to nonfatal, don't touch other errors */
 static inline msglvl_t
 nonfatal(const msglvl_t err)
 {
     return (err & M_FATAL) ? (err ^ M_FATAL) | M_NONFATAL : err;
 }
+#endif
 
 static inline int
 openvpn_errno_maybe_crt(bool *crt_error)
diff --git a/src/openvpn/socket.c b/src/openvpn/socket.c
index 8bcc332..0f66ad51 100644
--- a/src/openvpn/socket.c
+++ b/src/openvpn/socket.c
@@ -2961,6 +2961,8 @@ 
     return rwflags;
 }
 
+#if UNIX_SOCK_SUPPORT
+
 void
 sd_close(socket_descriptor_t *sd)
 {
@@ -2971,8 +2973,6 @@ 
     }
 }
 
-#if UNIX_SOCK_SUPPORT
-
 /*
  * code for unix domain sockets
  */
diff --git a/src/openvpn/socket.h b/src/openvpn/socket.h
index b490610..1a532e1 100644
--- a/src/openvpn/socket.h
+++ b/src/openvpn/socket.h
@@ -366,7 +366,9 @@ 
 
 void link_socket_close(struct link_socket *sock);
 
+#ifdef ENABLE_MANAGEMENT
 void sd_close(socket_descriptor_t *sd);
+#endif
 
 void bad_address_length(int actual, int expected);
 
diff --git a/src/openvpn/socket_util.h b/src/openvpn/socket_util.h
index 13deeaa..13f5962 100644
--- a/src/openvpn/socket_util.h
+++ b/src/openvpn/socket_util.h
@@ -250,6 +250,7 @@ 
     }
 }
 
+#ifdef TARGET_ANDROID
 static inline bool
 addr_local(const struct sockaddr *addr)
 {
@@ -269,12 +270,12 @@ 
             return false;
     }
 }
+#endif
 
-
+#if ENABLE_IP_PKTINFO
 static inline bool
 addr_defined_ipi(const struct link_socket_actual *lsa)
 {
-#if ENABLE_IP_PKTINFO
     if (!lsa)
     {
         return 0;
@@ -296,11 +297,9 @@ 
         default:
             return 0;
     }
-#else /* if ENABLE_IP_PKTINFO */
-    ASSERT(0);
-#endif
     return false;
 }
+#endif
 
 /*
  * Overhead added to packets by various protocols.
diff --git a/src/openvpn/ssl_openssl.c b/src/openvpn/ssl_openssl.c
index 32b13db..e4b760e 100644
--- a/src/openvpn/ssl_openssl.c
+++ b/src/openvpn/ssl_openssl.c
@@ -436,6 +436,7 @@ 
     }
 }
 
+#ifdef TLS1_3_VERSION
 static void
 convert_tls13_list_to_openssl(char *openssl_ciphers, size_t len, const char *ciphers)
 {
@@ -460,6 +461,7 @@ 
         }
     }
 }
+#endif
 
 void
 tls_ctx_restrict_ciphers_tls13(struct tls_root_ctx *ctx, const char *ciphers)
diff --git a/tests/unit_tests/openvpn/test_pkcs11.c b/tests/unit_tests/openvpn/test_pkcs11.c
index 8b6e594..042bd8b 100644
--- a/tests/unit_tests/openvpn/test_pkcs11.c
+++ b/tests/unit_tests/openvpn/test_pkcs11.c
@@ -45,6 +45,7 @@ 
 
 struct management *management; /* global */
 
+#if defined(ENABLE_CRYPTO_OPENSSL)
 /* replacement for crypto_print_openssl_errors() */
 void
 crypto_print_openssl_errors(const unsigned int flags)
@@ -55,6 +56,7 @@ 
         msg(flags, "OpenSSL error %lu: %s", e, ERR_error_string(e, NULL));
     }
 }
+#endif
 
 /* stubs for some unused functions instead of pulling in too many dependencies */
 int