From: Frank Lichtenheld <[email protected]> As before with -Wconversion override all the known issues to be able to address them one by one.
Change-Id: Iecf502ec811e99c56647b2d45298fa0fb66960fb Signed-off-by: Frank Lichtenheld <[email protected]> Acked-by: Razvan Cojocaru <[email protected]> Gerrit URL: https://gerrit.openvpn.net/c/openvpn/+/1186 --- 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/+/1186 This mail reflects revision 20 of this Change. Acked-by according to Gerrit (reflected above): Razvan Cojocaru <[email protected]> diff --git a/CMakeLists.txt b/CMakeLists.txt index 5cf1a30..a90eb1a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -117,7 +117,7 @@ check_and_add_compiler_flag(-Wno-stringop-truncation NoStringOpTruncation) check_and_add_compiler_flag(-Wstrict-prototypes StrictPrototypes) check_and_add_compiler_flag(-Wold-style-definition OldStyleDefinition) - add_compile_options(-Wconversion -Wno-sign-conversion) + add_compile_options(-Wconversion) add_compile_options(-Wextra -Wno-unused-parameter) # clang doesn't have the different levels but also doesn't include it in -Wextra check_and_add_compiler_flag(-Wimplicit-fallthrough=2 GCCImplicitFallthrough) diff --git a/configure.ac b/configure.ac index 5f18798..ea338d8 100644 --- a/configure.ac +++ b/configure.ac @@ -1249,7 +1249,7 @@ ACL_CHECK_ADD_COMPILE_FLAGS([-Wno-stringop-truncation]) ACL_CHECK_ADD_COMPILE_FLAGS([-Wstrict-prototypes]) ACL_CHECK_ADD_COMPILE_FLAGS([-Wold-style-definition]) -ACL_CHECK_ADD_COMPILE_FLAGS([-Wconversion -Wno-sign-conversion]) +ACL_CHECK_ADD_COMPILE_FLAGS([-Wconversion]) ACL_CHECK_ADD_COMPILE_FLAGS([-Wall]) ACL_CHECK_ADD_COMPILE_FLAGS([-Wextra -Wno-unused-parameter]) # clang doesn't have the different levels but also doesn't include it in -Wextra diff --git a/src/openvpn/acc.c b/src/openvpn/acc.c index 455f56d..e21891d 100644 --- a/src/openvpn/acc.c +++ b/src/openvpn/acc.c @@ -148,6 +148,11 @@ return parse_acc_message_flags(flags, err_reason, gc); } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + void receive_acc_message(struct context *c, const struct buffer *buffer) { @@ -236,6 +241,10 @@ } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif + bool send_acc_message(struct context *c, struct tls_multi *multi, diff --git a/src/openvpn/argv.c b/src/openvpn/argv.c index 028671d..c716e5b0 100644 --- a/src/openvpn/argv.c +++ b/src/openvpn/argv.c @@ -323,6 +323,11 @@ return f; } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + /** * Create a struct argv based on a format string * @@ -418,6 +423,10 @@ return res; } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif + /** * printf() variant which populates a struct argv. It processes the * format string with the provided arguments. For each space separator found diff --git a/src/openvpn/auth_token.c b/src/openvpn/auth_token.c index 84558af..211af90 100644 --- a/src/openvpn/auth_token.c +++ b/src/openvpn/auth_token.c @@ -36,6 +36,11 @@ * padding */ static_assert(TOKEN_DATA_LEN % 3 == 0, "TOKEN_DATA_LEN is not a multiple of 3"); +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + bool is_auth_token(const char *password) { @@ -291,6 +296,9 @@ gc_free(&gc); } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif static bool check_hmac_token(hmac_ctx_t *ctx, const uint8_t *b64decoded, const char *username) diff --git a/src/openvpn/buffer.c b/src/openvpn/buffer.c index 8813fa5..7f142c4f 100644 --- a/src/openvpn/buffer.c +++ b/src/openvpn/buffer.c @@ -92,6 +92,11 @@ return buf; } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + struct buffer #ifdef BUF_INIT_TRACKING clone_buf_debug(const struct buffer *buf, const char *file, int line) @@ -305,6 +310,10 @@ return ret; } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif + /* * Garbage collection */ @@ -439,6 +448,11 @@ } } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + /* * Hex dump -- Output a binary buffer to a hex string and return it. */ @@ -538,6 +552,10 @@ buf_null_terminate(buf); } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif + const char * skip_leading_whitespace(const char *str) { @@ -717,6 +735,11 @@ return memcmp(CBPTR(src), match, size) == 0; } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + bool buf_string_compare_advance(struct buffer *src, const char *match) { @@ -731,6 +754,10 @@ } } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif + int buf_substring_len(const struct buffer *buf, int delim) { @@ -957,6 +984,11 @@ return false; } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + static inline bool char_inc_exc(const char c, const unsigned int inclusive, const unsigned int exclusive) { @@ -964,6 +996,10 @@ && !char_class((unsigned char)c, exclusive); } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif + bool string_class(const char *str, const unsigned int inclusive, const unsigned int exclusive) { @@ -1241,6 +1277,11 @@ } } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + void buffer_list_aggregate_separator(struct buffer_list *bl, const size_t max_len, const char *sep) { @@ -1286,6 +1327,10 @@ } } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif + void buffer_list_aggregate(struct buffer_list *bl, const size_t max) { @@ -1323,6 +1368,11 @@ } } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + struct buffer_list * buffer_list_file(const char *fn, int max_line_len) { @@ -1402,3 +1452,7 @@ buf_advance(buf, field_len + 1); return field; } + +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif diff --git a/src/openvpn/buffer.h b/src/openvpn/buffer.h index 7af4444..ede3066 100644 --- a/src/openvpn/buffer.h +++ b/src/openvpn/buffer.h @@ -643,6 +643,11 @@ return true; } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + /** * Initialise a buffer with an externally provided writable memory region. * @@ -1619,6 +1624,10 @@ return memcmp(CBPTR(src), match, size) == 0; } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif + /** * Return true if the head of \c src matches the string \c match. * diff --git a/src/openvpn/comp-lz4.c b/src/openvpn/comp-lz4.c index 57c6bb3..0c5f22f 100644 --- a/src/openvpn/comp-lz4.c +++ b/src/openvpn/comp-lz4.c @@ -89,6 +89,11 @@ compv2_escape_data_ifneeded(buf); } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + static void do_lz4_decompress(int zlen_max, struct buffer *work, struct buffer *buf, struct compress_context *compctx) @@ -198,6 +203,10 @@ } } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif + const struct compress_alg lz4_alg = { "lz4", lz4_compress_init, lz4_compress_uninit, lz4_compress, lz4_decompress }; diff --git a/src/openvpn/console_builtin.c b/src/openvpn/console_builtin.c index 4737677..dc71d12 100644 --- a/src/openvpn/console_builtin.c +++ b/src/openvpn/console_builtin.c @@ -41,6 +41,11 @@ #include <termios.h> #endif +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + #ifdef _WIN32 #include "win32.h" @@ -289,3 +294,7 @@ return ret; } + +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif diff --git a/src/openvpn/console_systemd.c b/src/openvpn/console_systemd.c index eaed24e..8fc7f72 100644 --- a/src/openvpn/console_systemd.c +++ b/src/openvpn/console_systemd.c @@ -53,6 +53,11 @@ return (sd_booted() > 0) && (stat(SYSTEMD_ASK_PASSWORD_PATH, &c) == 0); } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + static bool get_console_input_systemd(const char *prompt, const bool echo, char *input, const int capacity) { @@ -86,6 +91,10 @@ return ret; } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif + /** * Systemd aware implementation of query_user_exec(). If systemd is not running * it will fall back to use query_user_exec_builtin() instead. diff --git a/src/openvpn/crypto.c b/src/openvpn/crypto.c index a8ad7f0..33e0376 100644 --- a/src/openvpn/crypto.c +++ b/src/openvpn/crypto.c @@ -62,6 +62,11 @@ * happen unless the frame parameters are wrong. */ +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + static void openvpn_encrypt_aead(struct buffer *buf, struct buffer work, struct crypto_options *opt) { @@ -1577,6 +1582,10 @@ return nbits; } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif + void must_have_n_keys(const char *filename, const char *option, const struct key2 *key2, int n) { diff --git a/src/openvpn/crypto_epoch.c b/src/openvpn/crypto_epoch.c index 35f9b55..312cf6f 100644 --- a/src/openvpn/crypto_epoch.c +++ b/src/openvpn/crypto_epoch.c @@ -38,6 +38,11 @@ #include "buffer.h" #include "integer.h" +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + void ovpn_hkdf_expand(const uint8_t *secret, const uint8_t *info, size_t info_len, uint8_t *out, size_t out_len) @@ -458,3 +463,7 @@ epoch_iterate_send_key(opt); } } + +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif diff --git a/src/openvpn/crypto_mbedtls.c b/src/openvpn/crypto_mbedtls.c index 3a2a8c6..ceaaad4 100644 --- a/src/openvpn/crypto_mbedtls.c +++ b/src/openvpn/crypto_mbedtls.c @@ -821,6 +821,11 @@ ASSERT(hmac_length == dst_size); } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + /* * Generate the hash required by for the \c tls1_PRF function. * @@ -1149,4 +1154,8 @@ return ret; } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif + #endif /* defined(ENABLE_CRYPTO_MBEDTLS) */ diff --git a/src/openvpn/crypto_openssl.c b/src/openvpn/crypto_openssl.c index b7f2ef3..0a1d00c 100644 --- a/src/openvpn/crypto_openssl.c +++ b/src/openvpn/crypto_openssl.c @@ -487,6 +487,11 @@ return ret; } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + bool crypto_pem_decode(const char *name, struct buffer *dst, const struct buffer *src) { @@ -1306,6 +1311,10 @@ } #endif /* if OPENSSL_VERSION_NUMBER < 0x30000000L */ +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif + int memcmp_constant_time(const void *a, const void *b, size_t size) { diff --git a/src/openvpn/cryptoapi.c b/src/openvpn/cryptoapi.c index ef3c94c..30a5144 100644 --- a/src/openvpn/cryptoapi.c +++ b/src/openvpn/cryptoapi.c @@ -62,7 +62,7 @@ return 0; } -#else /* HAVE_XKEY_PROVIDER */ +#else /* HAVE_XKEY_PROVIDER */ static XKEY_EXTERNAL_SIGN_fn xkey_cng_sign; @@ -260,6 +260,11 @@ return false; } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + static const CERT_CONTEXT * find_certificate_in_store(const char *cert_prop, HCERTSTORE cert_store) { @@ -598,6 +603,10 @@ return 0; } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif + int SSL_CTX_use_CryptoAPI_certificate(SSL_CTX *ssl_ctx, const char *cert_prop) { diff --git a/src/openvpn/dco.c b/src/openvpn/dco.c index f3b5d44..236be93 100644 --- a/src/openvpn/dco.c +++ b/src/openvpn/dco.c @@ -50,6 +50,11 @@ #include <cap-ng.h> #endif +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + static int dco_install_key(struct tls_multi *multi, struct key_state *ks, const uint8_t *encrypt_key, const uint8_t *encrypt_iv, const uint8_t *decrypt_key, const uint8_t *decrypt_iv, @@ -807,4 +812,8 @@ #endif /* if defined(TARGET_LINUX) || defined(TARGET_FREEBSD) || defined(_WIN32) */ } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif + #endif /* defined(ENABLE_DCO) */ diff --git a/src/openvpn/dco_freebsd.c b/src/openvpn/dco_freebsd.c index 3148f10..11b8dff 100644 --- a/src/openvpn/dco_freebsd.c +++ b/src/openvpn/dco_freebsd.c @@ -577,6 +577,11 @@ __func__, peerid, mi->context.c2.dco_read_bytes, mi->context.c2.dco_write_bytes); } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + int dco_read_and_process(dco_context_t *dco) { @@ -762,6 +767,10 @@ return available; } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif + const char * dco_version_string(struct gc_arena *gc) { diff --git a/src/openvpn/dco_linux.c b/src/openvpn/dco_linux.c index a84e310..60107c4 100644 --- a/src/openvpn/dco_linux.c +++ b/src/openvpn/dco_linux.c @@ -220,6 +220,11 @@ return sock; } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + int dco_new_peer(dco_context_t *dco, unsigned int peerid, int sd, struct sockaddr *localaddr, struct sockaddr *remoteaddr, const struct in_addr *vpn_ipv4, @@ -1257,6 +1262,10 @@ return ret; } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif + int dco_get_peer_stats(struct context *c, const bool raise_sigusr1_on_err) { diff --git a/src/openvpn/dco_win.c b/src/openvpn/dco_win.c index 12b0666..a854045 100644 --- a/src/openvpn/dco_win.c +++ b/src/openvpn/dco_win.c @@ -220,6 +220,11 @@ return 0; } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + static void dco_connect_wait(HANDLE handle, OVERLAPPED *ov, int timeout, struct signal_info *sig_info) { @@ -1091,6 +1096,10 @@ gc_free(&gc); } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif + bool dco_supports_epoch_data(const struct context *c) { diff --git a/src/openvpn/dhcp.c b/src/openvpn/dhcp.c index 19e9e2d..525d567 100644 --- a/src/openvpn/dhcp.c +++ b/src/openvpn/dhcp.c @@ -72,6 +72,11 @@ return -1; } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + static in_addr_t do_extract(struct dhcp *dhcp, int optlen) { @@ -186,6 +191,10 @@ return 0; } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif + #if defined(_WIN32) || defined(DHCP_UNIT_TEST) /* @@ -327,6 +336,11 @@ buf_write(buf, tmp_buf, len); } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + bool build_dhcp_options_string(struct buffer *buf, const struct tuntap_options *o) { @@ -375,4 +389,8 @@ return !error; } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif + #endif /* defined(_WIN32) */ diff --git a/src/openvpn/dns.c b/src/openvpn/dns.c index abe30ed..e2cb981 100644 --- a/src/openvpn/dns.c +++ b/src/openvpn/dns.c @@ -58,6 +58,11 @@ return true; } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + bool dns_server_addr_parse(struct dns_server *server, const char *addr) { @@ -144,6 +149,10 @@ return true; } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif + bool dns_domain_list_append(struct dns_domain **entry, char **domains, struct gc_arena *gc) { @@ -402,6 +411,11 @@ } } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + static void run_up_down_service(bool add, const struct options *o, const struct tuntap *tt) { @@ -476,7 +490,11 @@ send_msg_iservice(o->msg_channel, &nrpt, sizeof(nrpt), &ack, "DNS"); } -#else /* ifdef _WIN32 */ +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif + +#else /* ifdef _WIN32 */ static void setenv_dns_option(struct env_set *es, const char *format, size_t i, size_t j, const char *value) @@ -702,6 +720,11 @@ return true; } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + static void run_up_down_command(bool up, struct options *o, const struct tuntap *tt, struct dns_updown_runner_info *updown_runner) @@ -780,6 +803,10 @@ msg(M_INFO, "dns %s command exited with status %d", up ? "up" : "down", status); } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif + #endif /* _WIN32 */ void diff --git a/src/openvpn/env_set.c b/src/openvpn/env_set.c index 67a5bf5..d59115a 100644 --- a/src/openvpn/env_set.c +++ b/src/openvpn/env_set.c @@ -432,6 +432,11 @@ return (script_security() >= SSEC_PW_ENV || !is_password_env_var(str)); } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + /* Make arrays of strings */ const char ** @@ -470,3 +475,7 @@ ret[i] = NULL; return (const char **)ret; } + +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif diff --git a/src/openvpn/error.c b/src/openvpn/error.c index 32d819d..a3f7990 100644 --- a/src/openvpn/error.c +++ b/src/openvpn/error.c @@ -219,6 +219,11 @@ va_end(arglist); } +#if defined(_WIN32) && (defined(__GNUC__) || defined(__clang__)) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + static const char * openvpn_strerror(int err, bool crt_error, struct gc_arena *gc) { @@ -689,6 +694,10 @@ } } +#if defined(_WIN32) && (defined(__GNUC__) || defined(__clang__)) +#pragma GCC diagnostic pop +#endif + /* * In multiclient mode, put a client-specific prefix * before each message. diff --git a/src/openvpn/error.h b/src/openvpn/error.h index 373cbc1..0056d05 100644 --- a/src/openvpn/error.h +++ b/src/openvpn/error.h @@ -406,6 +406,11 @@ } #endif +#if defined(_WIN32) && (defined(__GNUC__) || defined(__clang__)) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + static inline int openvpn_errno_maybe_crt(bool *crt_error) { @@ -426,6 +431,10 @@ return err; } +#if defined(_WIN32) && (defined(__GNUC__) || defined(__clang__)) +#pragma GCC diagnostic pop +#endif + #include "errlevel.h" #endif /* ifndef ERROR_H */ diff --git a/src/openvpn/event.c b/src/openvpn/event.c index 5e17ea1..c4a856d 100644 --- a/src/openvpn/event.c +++ b/src/openvpn/event.c @@ -486,6 +486,11 @@ #endif } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + static struct event_set * we_init(int *maxevents, unsigned int flags) { @@ -524,8 +529,17 @@ return (struct event_set *)wes; } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif + #endif /* _WIN32 */ +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + #if EPOLL struct ep_set @@ -1122,6 +1136,10 @@ } #endif /* SELECT */ +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif + static struct event_set * event_set_init_simple(int *maxevents, unsigned int flags) { diff --git a/src/openvpn/fdmisc.c b/src/openvpn/fdmisc.c index 6910f81..e715964 100644 --- a/src/openvpn/fdmisc.c +++ b/src/openvpn/fdmisc.c @@ -31,6 +31,11 @@ #include "memdbg.h" +#if defined(_WIN32) && (defined(__GNUC__) || defined(__clang__)) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + /* Set a file descriptor to non-blocking */ bool set_nonblock_action(socket_descriptor_t fd) @@ -50,6 +55,10 @@ return true; } +#if defined(_WIN32) && (defined(__GNUC__) || defined(__clang__)) +#pragma GCC diagnostic pop +#endif + /* Set a file descriptor to not be passed across execs */ bool set_cloexec_action(socket_descriptor_t fd) diff --git a/src/openvpn/fdmisc.h b/src/openvpn/fdmisc.h index eac8075..15ee3cd 100644 --- a/src/openvpn/fdmisc.h +++ b/src/openvpn/fdmisc.h @@ -35,6 +35,11 @@ void set_cloexec(socket_descriptor_t fd); +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + static inline void openvpn_fd_set(socket_descriptor_t fd, fd_set *setp) { @@ -45,4 +50,8 @@ } #undef FD_SET /* prevent direct use of FD_SET() */ -#endif /* FD_MISC_H */ +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif + +#endif /* FD_MISC_H */ diff --git a/src/openvpn/forward.c b/src/openvpn/forward.c index 82cb6c9..bcad559 100644 --- a/src/openvpn/forward.c +++ b/src/openvpn/forward.c @@ -286,6 +286,11 @@ } } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + /* * Handle incoming configuration * messages on the control channel. @@ -2033,6 +2038,10 @@ check_timeout_random_component(c); } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif + void multi_io_process_flags(struct context *c, struct event_set *es, struct link_socket *sock, const unsigned int flags) { diff --git a/src/openvpn/fragment.c b/src/openvpn/fragment.c index c454434..55f2a08 100644 --- a/src/openvpn/fragment.c +++ b/src/openvpn/fragment.c @@ -40,6 +40,11 @@ goto error; \ } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + static void fragment_list_buf_init(struct fragment_list *list, const struct frame *frame) { @@ -284,6 +289,10 @@ ASSERT(buf_write_prepend(buf, &flags, sizeof(flags))); } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif + /* * Without changing the number of fragments, return a possibly smaller * max fragment size that will allow for the last fragment to be of diff --git a/src/openvpn/helper.c b/src/openvpn/helper.c index 6b5fcee6..d9ddf6a 100644 --- a/src/openvpn/helper.c +++ b/src/openvpn/helper.c @@ -148,6 +148,11 @@ } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + /* * Process server, server-bridge, and client helper * directives after the parameters themselves have been @@ -507,6 +512,10 @@ gc_free(&gc); } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif + /* * * HELPER DIRECTIVE: diff --git a/src/openvpn/init.c b/src/openvpn/init.c index 29c24f2..5235c4f 100644 --- a/src/openvpn/init.c +++ b/src/openvpn/init.c @@ -103,6 +103,11 @@ c->persist = cpsave; } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + /* * Pass tunnel endpoint and MTU parms to a user-supplied script. * Used to execute the up/down script/plugins. @@ -3687,6 +3692,10 @@ c->c2.link_socket_owned = true; } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif + /* * bind TCP/UDP sockets */ diff --git a/src/openvpn/lzo.c b/src/openvpn/lzo.c index 51cf5e8..2b0691b 100644 --- a/src/openvpn/lzo.c +++ b/src/openvpn/lzo.c @@ -40,6 +40,11 @@ #include "memdbg.h" +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + static void lzo_compress_init(struct compress_context *compctx) { @@ -120,6 +125,10 @@ } } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif + const struct compress_alg lzo_alg = { "lzo", lzo_compress_init, lzo_compress_uninit, lzo_compress, lzo_decompress }; #endif /* ENABLE_LZO */ diff --git a/src/openvpn/manage.c b/src/openvpn/manage.c index 581e7be..4809532 100644 --- a/src/openvpn/manage.c +++ b/src/openvpn/manage.c @@ -779,6 +779,11 @@ } } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + static void man_query_user_pass(struct management *man, const char *type, const char *string, const bool needed, const char *prompt, char *dest, int len) @@ -804,6 +809,10 @@ } } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif + static void man_query_username(struct management *man, const char *type, const char *string) { @@ -2473,6 +2482,11 @@ #endif /* ifdef TARGET_ANDROID */ +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + static ssize_t man_read(struct management *man) { @@ -2611,6 +2625,10 @@ return sent; } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif + static void man_connection_clear(struct man_connection *mc) { @@ -2682,6 +2700,11 @@ CLEAR(*mp); } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + static void man_settings_init(struct man_settings *ms, const char *addr, const char *port, const char *pass_file, const char *client_user, const char *client_group, @@ -3297,6 +3320,10 @@ return true; } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif + #ifdef _WIN32 void @@ -3606,6 +3633,11 @@ } } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + /* * Process the management event loop for sec seconds */ @@ -4341,6 +4373,10 @@ } } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif + void management_check_bytecount_client(struct context *c, struct management *man, struct timeval *timeval) { @@ -4475,6 +4511,12 @@ #else /* ifdef ENABLE_MANAGEMENT */ #include "win32.h" + +#if !defined(_WIN32) && (defined(__GNUC__) || defined(__clang__)) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + void management_sleep(const int n) { @@ -4488,4 +4530,8 @@ #endif /* ifdef _WIN32 */ } +#if !defined(_WIN32) && (defined(__GNUC__) || defined(__clang__)) +#pragma GCC diagnostic pop +#endif + #endif /* ENABLE_MANAGEMENT */ diff --git a/src/openvpn/misc.c b/src/openvpn/misc.c index 8c9ad08..9a307a2 100644 --- a/src/openvpn/misc.c +++ b/src/openvpn/misc.c @@ -72,6 +72,11 @@ #endif } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + #ifdef ENABLE_MANAGEMENT /* Get username/password from the management interface */ static bool @@ -762,6 +767,10 @@ return (state == 2); } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif + void output_peer_info_env(struct env_set *es, const char *peer_info) { diff --git a/src/openvpn/mss.c b/src/openvpn/mss.c index 0cfa272d..5bc94d9 100644 --- a/src/openvpn/mss.c +++ b/src/openvpn/mss.c @@ -194,6 +194,11 @@ } } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + static inline size_t adjust_payload_max_cbc(const struct key_type *kt, size_t target) { @@ -313,6 +318,10 @@ frame->mss_fix = (uint16_t)(adjust_payload_max_cbc(kt, target) - payload_overhead); } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif + void frame_calculate_dynamic(struct frame *frame, const struct key_type *kt, const struct options *options, const struct link_socket_info *lsi) diff --git a/src/openvpn/mtcp.c b/src/openvpn/mtcp.c index 2d0af06..fc5b657 100644 --- a/src/openvpn/mtcp.c +++ b/src/openvpn/mtcp.c @@ -37,6 +37,11 @@ #include <sys/inotify.h> #endif +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + struct multi_instance * multi_create_instance_tcp(struct multi_context *m, struct link_socket *sock) { @@ -88,6 +93,10 @@ return true; } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif + void multi_tcp_instance_specific_free(struct multi_instance *mi) { diff --git a/src/openvpn/mtu.c b/src/openvpn/mtu.c index 5ce40c8..7892935 100644 --- a/src/openvpn/mtu.c +++ b/src/openvpn/mtu.c @@ -37,6 +37,11 @@ #include "memdbg.h" #include "ssl_common.h" +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + /* allocate a buffer for socket or tun layer */ void alloc_buf_sock_tun(struct buffer *buf, const struct frame *frame) @@ -383,6 +388,10 @@ return BSTR(&out); } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif + void set_sock_extended_error_passing(int sd, sa_family_t proto_af) { diff --git a/src/openvpn/multi.c b/src/openvpn/multi.c index bcaa012..0890480 100644 --- a/src/openvpn/multi.c +++ b/src/openvpn/multi.c @@ -247,6 +247,11 @@ #endif +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + #ifdef ENABLE_ASYNC_PUSH static uint64_t /* @@ -4555,3 +4560,7 @@ return (!ipv6_net_contains_host(&ifconfig_local, o->ifconfig_ipv6_netbits, dest)); } + +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif diff --git a/src/openvpn/multi_io.c b/src/openvpn/multi_io.c index fb4810b..e07b691 100644 --- a/src/openvpn/multi_io.c +++ b/src/openvpn/multi_io.c @@ -104,6 +104,11 @@ } } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + struct multi_io * multi_io_init(const int maxclients) { @@ -121,6 +126,10 @@ return multi_io; } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif + void multi_io_free(struct multi_io *multi_io) { diff --git a/src/openvpn/networking_sitnl.c b/src/openvpn/networking_sitnl.c index 97ff7bd..501c635 100644 --- a/src/openvpn/networking_sitnl.c +++ b/src/openvpn/networking_sitnl.c @@ -243,6 +243,11 @@ return 0; } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + /** * Send Netlink message and run callback on reply (if specified) */ @@ -1485,6 +1490,10 @@ return sitnl_send(&req.n, 0, 0, NULL, NULL); } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif + #endif /* !ENABLE_SITNL */ #endif /* TARGET_LINUX */ diff --git a/src/openvpn/occ.c b/src/openvpn/occ.c index f25ae19..38685f5 100644 --- a/src/openvpn/occ.c +++ b/src/openvpn/occ.c @@ -177,6 +177,7 @@ #if defined(__GNUC__) || defined(__clang__) #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wconversion" +#pragma GCC diagnostic ignored "-Wsign-conversion" #endif void @@ -352,10 +353,6 @@ c->c2.occ_op = -1; } -#if defined(__GNUC__) || defined(__clang__) -#pragma GCC diagnostic pop -#endif - void process_received_occ_msg(struct context *c) { @@ -426,3 +423,7 @@ } c->c2.buf.len = 0; /* don't pass packet on */ } + +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif diff --git a/src/openvpn/openvpn.c b/src/openvpn/openvpn.c index b32f009..9f0f50c 100644 --- a/src/openvpn/openvpn.c +++ b/src/openvpn/openvpn.c @@ -351,6 +351,12 @@ } #ifdef _WIN32 + +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + int wmain(int argc, wchar_t *wargv[]) { @@ -394,6 +400,11 @@ return ret; } + +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif + #else /* ifdef _WIN32 */ int main(int argc, char *argv[]) diff --git a/src/openvpn/options.c b/src/openvpn/options.c index 454d2d6..dbbeb00 100644 --- a/src/openvpn/options.c +++ b/src/openvpn/options.c @@ -947,6 +947,11 @@ setenv_str_i(es, "local_port", e->port, i); } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + void setenv_settings(struct env_set *es, const struct options *o) { @@ -7874,6 +7879,7 @@ #if defined(__GNUC__) || defined(__clang__) #pragma GCC diagnostic pop +#pragma GCC diagnostic pop #endif bool diff --git a/src/openvpn/options_parse.c b/src/openvpn/options_parse.c index 5d6f93e..0a5eae5 100644 --- a/src/openvpn/options_parse.c +++ b/src/openvpn/options_parse.c @@ -234,6 +234,11 @@ } u; }; +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + static bool in_src_get(const struct in_src *is, char *line, const int size) { @@ -298,6 +303,10 @@ return ret; } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif + static int check_inline_file(const struct in_src *is, char *p[], struct gc_arena *gc) { diff --git a/src/openvpn/options_show.c b/src/openvpn/options_show.c index 321a37b..88422e0 100644 --- a/src/openvpn/options_show.c +++ b/src/openvpn/options_show.c @@ -341,6 +341,11 @@ } } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + void show_settings(const struct options *o) { @@ -629,4 +634,8 @@ #endif } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif + #endif /* ifndef ENABLE_SMALL */ diff --git a/src/openvpn/options_string.c b/src/openvpn/options_string.c index 4a43fce4..4fe34bf 100644 --- a/src/openvpn/options_string.c +++ b/src/openvpn/options_string.c @@ -380,6 +380,7 @@ #if defined(__GNUC__) || defined(__clang__) #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wsign-compare" +#pragma GCC diagnostic ignored "-Wsign-conversion" #endif char * diff --git a/src/openvpn/options_util.c b/src/openvpn/options_util.c index d25d85c..23fdac7 100644 --- a/src/openvpn/options_util.c +++ b/src/openvpn/options_util.c @@ -211,6 +211,11 @@ "route-metric", "topology", "tun-mtu", "keepalive" }; +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + bool check_push_update_option_flags(char *line, int *i, uint64_t *flags) { @@ -273,6 +278,10 @@ return true; } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif + bool apply_pull_filter(const struct options *o, char *line) { diff --git a/src/openvpn/packet_id.c b/src/openvpn/packet_id.c index 9dd6ce3..881df5d 100644 --- a/src/openvpn/packet_id.c +++ b/src/openvpn/packet_id.c @@ -71,6 +71,11 @@ #endif } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + static void packet_id_init_recv(struct packet_id_rec *rec, int seq_backtrack, int time_backtrack, const char *name, int unit) @@ -175,6 +180,10 @@ } } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif + /* * Expire sequence numbers which can no longer * be accepted because they would violate diff --git a/src/openvpn/ping.c b/src/openvpn/ping.c index 526e64c..bbacd20 100644 --- a/src/openvpn/ping.c +++ b/src/openvpn/ping.c @@ -64,6 +64,11 @@ gc_free(&gc); } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + /* * Should we ping the remote? */ @@ -84,3 +89,7 @@ c->c2.buf.len = 0; dmsg(D_PING, "SENT PING"); } + +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif diff --git a/src/openvpn/pkcs11.c b/src/openvpn/pkcs11.c index f00ba9b..b4bed12 100644 --- a/src/openvpn/pkcs11.c +++ b/src/openvpn/pkcs11.c @@ -54,6 +54,11 @@ } #endif +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + static void __mysleep(unsigned long usec) { @@ -812,4 +817,9 @@ pkcs11h_terminate(); gc_free(&gc); } + +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif + #endif /* ENABLE_PKCS11 */ diff --git a/src/openvpn/pkcs11_openssl.c b/src/openvpn/pkcs11_openssl.c index 8abd60a..c5974fce 100644 --- a/src/openvpn/pkcs11_openssl.c +++ b/src/openvpn/pkcs11_openssl.c @@ -130,6 +130,11 @@ return ret; } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + /** * Sign op called from xkey provider * @@ -230,6 +235,10 @@ return 1; } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif + /* wrapper for handle free */ static void xkey_handle_free(void *handle) diff --git a/src/openvpn/platform.c b/src/openvpn/platform.c index 9412eeb..e10161f 100644 --- a/src/openvpn/platform.c +++ b/src/openvpn/platform.c @@ -76,6 +76,11 @@ /* Get/Set UID of process */ +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + bool platform_user_get(const char *username, struct platform_state_user *state) { @@ -658,6 +663,10 @@ } } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif + bool platform_absolute_pathname(const char *pathname) { diff --git a/src/openvpn/plugin.c b/src/openvpn/plugin.c index d1f228e..2872265 100644 --- a/src/openvpn/plugin.c +++ b/src/openvpn/plugin.c @@ -463,6 +463,11 @@ #define _OPENVPN_PATCH_LEVEL "git:" CONFIGURE_GIT_REVISION CONFIGURE_GIT_FLAGS #endif +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + static void plugin_open_item(struct plugin *p, const struct plugin_option *o, struct openvpn_plugin_string_list **retlist, const char **envp, @@ -545,6 +550,10 @@ } } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif + static int plugin_call_item(const struct plugin *p, void *per_client_context, const int type, const struct argv *av, struct openvpn_plugin_string_list **retlist, diff --git a/src/openvpn/pool.c b/src/openvpn/pool.c index fff0e3f..016f3a8 100644 --- a/src/openvpn/pool.c +++ b/src/openvpn/pool.c @@ -137,6 +137,11 @@ return ret; } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + struct ifconfig_pool * ifconfig_pool_init(const bool ipv4_pool, enum pool_type type, in_addr_t start, in_addr_t end, const bool duplicate_cn, const bool ipv6_pool, const struct in6_addr ipv6_base, @@ -708,6 +713,10 @@ } } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif + void ifconfig_pool_write(struct ifconfig_pool_persist *persist, const struct ifconfig_pool *pool) { diff --git a/src/openvpn/proxy.c b/src/openvpn/proxy.c index 7b5a289..cd9f3b2 100644 --- a/src/openvpn/proxy.c +++ b/src/openvpn/proxy.c @@ -53,6 +53,11 @@ } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + /* cached proxy username/password */ static struct user_pass static_proxy_user_pass; @@ -288,6 +293,10 @@ p->up = static_proxy_user_pass; /* this is a copy of protected memory */ } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif + #if 0 /* function only used in #if 0 debug statement */ static void diff --git a/src/openvpn/ps.c b/src/openvpn/ps.c index f8cfe1c5..86b4fc9 100644 --- a/src/openvpn/ps.c +++ b/src/openvpn/ps.c @@ -165,6 +165,11 @@ return CMSG_SPACE(sizeof(socket_descriptor_t)); } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + /* * Send a command (char), data (head), and a file descriptor (sd_send) to a local process * over unix socket sd. Unfortunately, there's no portable way to send file descriptors @@ -618,6 +623,10 @@ return IOSTAT_GOOD; } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif + /* * Forward data from pc to pc->counterpart. */ diff --git a/src/openvpn/push.c b/src/openvpn/push.c index a18f33b..6f628b8 100644 --- a/src/openvpn/push.c +++ b/src/openvpn/push.c @@ -389,6 +389,11 @@ } } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + void receive_auth_pending(struct context *c, const struct buffer *buffer) { @@ -795,6 +800,10 @@ } } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif + static bool send_push_options(struct context *c, struct buffer *buf, struct push_list *push_list, int safe_cap, bool *push_sent, bool *multi_push) diff --git a/src/openvpn/reliable.c b/src/openvpn/reliable.c index 7b5b17c..b045b1f 100644 --- a/src/openvpn/reliable.c +++ b/src/openvpn/reliable.c @@ -311,6 +311,11 @@ * struct reliable member functions. */ +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + void reliable_init(struct reliable *rel, int buf_size, int offset, int array_size, bool hold) { @@ -780,6 +785,10 @@ ASSERT(0); /* buf not found in rel */ } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif + /* * Enable an outgoing buffer previously returned by a get function as active. */ diff --git a/src/openvpn/route.c b/src/openvpn/route.c index d0d26c6..e8e1f60 100644 --- a/src/openvpn/route.c +++ b/src/openvpn/route.c @@ -582,6 +582,11 @@ } } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + bool block_local_needed(const struct route_list *rl) { @@ -3217,6 +3222,10 @@ } } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif + /* IPv6 implementation using netlink * https://www.linuxjournal.com/article/7356 - "Kernel Korner - Why and How to Use Netlink Socket" * netlink(3), netlink(7), rtnetlink(7) diff --git a/src/openvpn/socket.c b/src/openvpn/socket.c index 1fbd07b..c07ef60 100644 --- a/src/openvpn/socket.c +++ b/src/openvpn/socket.c @@ -422,6 +422,11 @@ gc_free(&gc); } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + socket_descriptor_t socket_do_accept(socket_descriptor_t sd, struct link_socket_actual *act, const bool nowait) { @@ -2084,6 +2089,10 @@ return buf->len; } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif + #endif /* ifndef _WIN32 */ /* diff --git a/src/openvpn/socket.h b/src/openvpn/socket.h index 52e09c9..2210bfe 100644 --- a/src/openvpn/socket.h +++ b/src/openvpn/socket.h @@ -288,12 +288,21 @@ return sh.is_handle ? (int)GetLastError() : WSAGetLastError(); } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + inline static void SocketHandleSetLastError(sockethandle_t sh, DWORD err) { sh.is_handle ? SetLastError(err) : WSASetLastError(err); } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif + static inline void SocketHandleSetInvalError(sockethandle_t sh) { @@ -459,6 +468,11 @@ #endif /* if PORT_SHARE */ +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + static inline bool socket_connection_reset(const struct link_socket *sock, ssize_t status) { @@ -482,6 +496,10 @@ return false; } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif + static inline bool link_socket_verify_incoming_addr(const struct buffer *buf, const struct link_socket_info *info, const struct link_socket_actual *from_addr) @@ -649,6 +667,11 @@ ssize_t link_socket_write_tcp(struct link_socket *sock, struct buffer *buf, struct link_socket_actual *to); +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + #ifdef _WIN32 static inline int @@ -721,6 +744,10 @@ #endif /* ifdef _WIN32 */ +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif + static inline ssize_t link_socket_write_udp(struct link_socket *sock, struct buffer *buf, struct link_socket_actual *to) { diff --git a/src/openvpn/socket_util.c b/src/openvpn/socket_util.c index 879be73..a049f33 100644 --- a/src/openvpn/socket_util.c +++ b/src/openvpn/socket_util.c @@ -123,6 +123,11 @@ #define IF_NAMESIZE 16 #endif +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + const char * print_link_socket_actual_ex(const struct link_socket_actual *act, const char *separator, const unsigned int flags, struct gc_arena *gc) @@ -188,6 +193,10 @@ } } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif + /* * Convert an in_addr_t in host byte order * to an ascii dotted quad. diff --git a/src/openvpn/socks.c b/src/openvpn/socks.c index a8c9fd3..51e3a1e 100644 --- a/src/openvpn/socks.c +++ b/src/openvpn/socks.c @@ -226,6 +226,11 @@ return true; } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + static bool recv_socks_reply(socket_descriptor_t sd, struct openvpn_sockaddr *addr, const struct event_timeout *server_poll_timeout, volatile int *signal_received) @@ -310,6 +315,10 @@ return true; } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif + static int port_from_servname(const char *servname) { diff --git a/src/openvpn/ssl.c b/src/openvpn/ssl.c index a538b52..e253242 100644 --- a/src/openvpn/ssl.c +++ b/src/openvpn/ssl.c @@ -152,6 +152,11 @@ return limit; } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + void tls_init_control_channel_frame_parameters(struct frame *frame, int tls_mtu) { @@ -236,6 +241,10 @@ return overhead; } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif + void init_ssl_lib(void) { @@ -797,6 +806,11 @@ return false; } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + /** @addtogroup control_processor * @{ */ @@ -1048,6 +1062,10 @@ gc_free(&gc); } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif + /** * Clean up a \c tls_session structure. * @ingroup control_processor @@ -1330,6 +1348,11 @@ key_source_print(&k->server, "Server"); } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + static bool openvpn_PRF(const uint8_t *secret, size_t secret_len, const char *label, const uint8_t *client_seed, size_t client_seed_len, const uint8_t *server_seed, size_t server_seed_len, @@ -4482,3 +4505,7 @@ done: return BSTR(&out); } + +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif diff --git a/src/openvpn/ssl_mbedtls.c b/src/openvpn/ssl_mbedtls.c index 45d7715..cbc3118 100644 --- a/src/openvpn/ssl_mbedtls.c +++ b/src/openvpn/ssl_mbedtls.c @@ -199,6 +199,11 @@ ciphers); } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + void tls_ctx_restrict_ciphers(struct tls_root_ctx *ctx, const char *ciphers) { @@ -1187,6 +1192,10 @@ return 1; } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif + /* ************************************** * * Information functions diff --git a/src/openvpn/ssl_ncp.c b/src/openvpn/ssl_ncp.c index f13f507..df9e42c 100644 --- a/src/openvpn/ssl_ncp.c +++ b/src/openvpn/ssl_ncp.c @@ -393,6 +393,11 @@ return ret; } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + static void p2p_ncp_set_options(struct tls_multi *multi, struct tls_session *session, const char *common_cipher) { @@ -576,6 +581,10 @@ o->ncp_ciphers = (char *)ncp_ciphers; } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif + /** * Checks for availibility of Chacha20-Poly1305 and sets * the ncp_cipher to either AES-256-GCM:AES-128-GCM or diff --git a/src/openvpn/ssl_openssl.c b/src/openvpn/ssl_openssl.c index fe2bfda..035cfb8 100644 --- a/src/openvpn/ssl_openssl.c +++ b/src/openvpn/ssl_openssl.c @@ -277,7 +277,14 @@ sslopt |= SSL_OP_NO_RENEGOTIATION; #endif +#if defined(LIBRESSL_VERSION_NUMBER) && (defined(__GNUC__) || defined(__clang__)) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif SSL_CTX_set_options(ctx->ctx, sslopt); +#if defined(LIBRESSL_VERSION_NUMBER) && (defined(__GNUC__) || defined(__clang__)) +#pragma GCC diagnostic pop +#endif if (!tls_ctx_set_tls_versions(ctx, ssl_flags)) { @@ -511,6 +518,11 @@ { ASSERT(ctx); #if OPENSSL_VERSION_NUMBER < 0x30000000L && !defined(ENABLE_CRYPTO_WOLFSSL) +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + struct gc_arena gc = gc_new(); /* This method could be as easy as * SSL_CTX_set1_groups_list(ctx->ctx, groups) @@ -556,6 +568,10 @@ crypto_msg(M_FATAL, "Failed to set allowed TLS group list: %s", groups); } gc_free(&gc); + +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif #else /* if OPENSSL_VERSION_NUMBER < 0x30000000L */ if (!SSL_CTX_set1_groups_list(ctx->ctx, groups)) { @@ -1466,6 +1482,11 @@ } } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + /** * Pass the input hash in 'dgst' to management and get the signature back. * @@ -1710,6 +1731,11 @@ return 0; } #endif /* !defined(OPENSSL_NO_EC) */ + +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif + #endif /* ENABLE_MANAGEMENT && !HAVE_XKEY_PROVIDER */ #ifdef ENABLE_MANAGEMENT @@ -2099,6 +2125,11 @@ * to BIOs. */ +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + static void bio_write_post(const int status, struct buffer *buf) { @@ -2110,6 +2141,10 @@ } } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif + /* * Read from an OpenSSL BIO in non-blocking mode. */ diff --git a/src/openvpn/ssl_pkt.c b/src/openvpn/ssl_pkt.c index f78782f..60573ee 100644 --- a/src/openvpn/ssl_pkt.c +++ b/src/openvpn/ssl_pkt.c @@ -40,6 +40,11 @@ */ #define SWAP_BUF_SIZE 256 +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + /** * Move a packet authentication HMAC + related fields to or from the front * of the buffer so it can be processed by encrypt/decrypt. @@ -591,3 +596,7 @@ buf_advance(buf, cmdlen); return cmdbuf; } + +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif diff --git a/src/openvpn/ssl_util.c b/src/openvpn/ssl_util.c index ba185c1..337faed 100644 --- a/src/openvpn/ssl_util.c +++ b/src/openvpn/ssl_util.c @@ -86,6 +86,10 @@ return var_value; } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif unsigned int peer_info_extract_int(const char *peer_info, const char *field, const char *format, unsigned int default_value) @@ -166,6 +170,10 @@ return BSTR(&buf); } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif + /** * SSL/TLS Cipher suite name translation table */ diff --git a/src/openvpn/ssl_verify.c b/src/openvpn/ssl_verify.c index 0cdec1e..bf0267d 100644 --- a/src/openvpn/ssl_verify.c +++ b/src/openvpn/ssl_verify.c @@ -400,6 +400,11 @@ return SUCCESS; } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + /* * Export the subject, common_name, and raw certificate fields to the * environment for later verification by scripts and plugins. @@ -803,6 +808,10 @@ return ret; } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif + /* *************************************************************************** * Functions for the management of deferred authentication when using * user/password authentication. @@ -884,6 +893,11 @@ return supported; } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + /** * Checks if the deferred state should also send auth pending * request to the client. Also removes the auth_pending control file @@ -958,6 +972,10 @@ return ret; } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif + /** * Removes auth_pending and auth_control files from file system * and key_state structure diff --git a/src/openvpn/ssl_verify_mbedtls.c b/src/openvpn/ssl_verify_mbedtls.c index a132f12..bba2f2f 100644 --- a/src/openvpn/ssl_verify_mbedtls.c +++ b/src/openvpn/ssl_verify_mbedtls.c @@ -222,6 +222,11 @@ return true; } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + result_t backend_x509_get_username(char *cn, size_t cn_len, char *x509_username_field, mbedtls_x509_crt *cert) { @@ -786,6 +791,10 @@ } } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif + /* Dummy function because Netscape certificate types are not supported in OpenVPN with mbedtls. * Returns SUCCESS if usage is NS_CERT_CHECK_NONE, FAILURE otherwise. */ result_t diff --git a/src/openvpn/ssl_verify_openssl.c b/src/openvpn/ssl_verify_openssl.c index 0c36cf2..19339ad 100644 --- a/src/openvpn/ssl_verify_openssl.c +++ b/src/openvpn/ssl_verify_openssl.c @@ -317,6 +317,11 @@ return serial; } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + char * backend_x509_get_serial_hex(openvpn_x509_cert_t *cert, struct gc_arena *gc) { @@ -573,6 +578,10 @@ gc_free(&gc); } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif + /* * Save X509 fields to environment, using the naming convention: * diff --git a/src/openvpn/status.c b/src/openvpn/status.c index 1036536..533619f 100644 --- a/src/openvpn/status.c +++ b/src/openvpn/status.c @@ -55,6 +55,11 @@ } } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + struct status_output * status_open(const char *filename, const int refresh_freq, const int msglevel, const struct virtual_output *vout, const unsigned int flags) @@ -119,6 +124,10 @@ return so; } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif + bool status_trigger(struct status_output *so) { @@ -206,6 +215,11 @@ return ret; } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + #define STATUS_PRINTF_MAXLEN 512 void @@ -297,3 +311,7 @@ return ret; } + +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif diff --git a/src/openvpn/tls_crypt.c b/src/openvpn/tls_crypt.c index d66b96d..2dadc4f 100644 --- a/src/openvpn/tls_crypt.c +++ b/src/openvpn/tls_crypt.c @@ -93,6 +93,11 @@ } } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + bool tls_session_generate_dynamic_tls_crypt_key(struct tls_session *session) { @@ -518,6 +523,10 @@ return ret; } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif + static bool tls_crypt_v2_check_client_key_age(const struct buffer *tls_crypt_v2_metadata, int max_days) { @@ -698,6 +707,11 @@ write_pem_key_file(filename, tls_crypt_v2_srv_pem_name); } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + void tls_crypt_v2_write_client_key_file(const char *filename, const char *b64_metadata, const char *server_key_file, bool server_key_inline) @@ -801,3 +815,7 @@ gc_free(&gc); } + +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif diff --git a/src/openvpn/tun.c b/src/openvpn/tun.c index bcea331..07e036e 100644 --- a/src/openvpn/tun.c +++ b/src/openvpn/tun.c @@ -112,6 +112,11 @@ static const char *netsh_get_id(const char *dev_node, struct gc_arena *gc); +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + static bool do_address_service(const bool add, const short family, const struct tuntap *tt) { @@ -479,6 +484,10 @@ return ret; } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif + #endif /* ifdef _WIN32 */ #ifdef TARGET_SOLARIS @@ -815,6 +824,11 @@ gc_free(&gc); } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + /* * Init tun/tap object. * @@ -1556,6 +1570,10 @@ #endif } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif + /* execute the ifconfig command through the shell */ void do_ifconfig(struct tuntap *tt, const char *ifname, int tun_mtu, const struct env_set *es, @@ -1701,6 +1719,11 @@ #include <netinet/ip.h> #include <sys/uio.h> +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + static inline ssize_t header_modify_read_write_return(ssize_t len) { @@ -1786,6 +1809,10 @@ } #endif +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif + #endif /* if defined(TARGET_FREEBSD) || defined(TARGET_DRAGONFLY) || defined(TARGET_NETBSD) || defined (TARGET_OPENBSD) || defined(TARGET_DARWIN) */ bool @@ -2043,6 +2070,11 @@ free(tt); } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + ssize_t write_tun(const struct tuntap *tt, const uint8_t *buf, int len) { @@ -2055,6 +2087,10 @@ return read(tt->fd, buf, len); } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif + #elif defined(TARGET_LINUX) #if !PEDANTIC @@ -2252,6 +2288,11 @@ free(tt); } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + ssize_t write_tun(const struct tuntap *tt, const uint8_t *buf, int len) { @@ -2264,6 +2305,10 @@ return read(tt->fd, buf, len); } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif + #elif defined(TARGET_SOLARIS) #ifndef TUNNEWPPA @@ -2881,6 +2926,11 @@ #elif defined(TARGET_DARWIN) +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + /* Darwin (MacOS X) is mostly "just use the generic stuff", but there * is always one caveat...: * @@ -2946,6 +2996,10 @@ return fd; } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif + void open_darwin_utun(const char *dev, const char *dev_type, const char *dev_node, struct tuntap *tt) { @@ -3095,6 +3149,11 @@ gc_free(&gc); } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + ssize_t write_tun(const struct tuntap *tt, const uint8_t *buf, int len) { @@ -3121,6 +3180,10 @@ } } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif + #elif defined(TARGET_AIX) void @@ -3257,6 +3320,11 @@ #elif defined(_WIN32) +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + int tun_read_queue(struct tuntap *tt, int maxsize) { @@ -6101,6 +6169,10 @@ argv_free(&argv); } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif + void close_tun_handle(struct tuntap *tt) { @@ -6280,7 +6352,7 @@ return BSTR(&out); } -#else /* generic */ +#else /* generic */ void open_tun(const char *dev, const char *dev_type, const char *dev_node, struct tuntap *tt, @@ -6310,4 +6382,4 @@ return read(tt->fd, buf, len); } -#endif /* if defined (TARGET_ANDROID) */ +#endif /* if defined (TARGET_ANDROID) */ diff --git a/src/openvpn/tun_afunix.c b/src/openvpn/tun_afunix.c index 79d706a..155bf8d 100644 --- a/src/openvpn/tun_afunix.c +++ b/src/openvpn/tun_afunix.c @@ -48,6 +48,11 @@ #include <stdlib.h> +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + static void tun_afunix_exec_child(const char *dev_node, struct tuntap *tt, const struct env_set *env) { @@ -171,6 +176,11 @@ * with error messages */ return read(tt->fd, buf, len); } + +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif + #else /* ifndef WIN32 */ // cppcheck-suppress-begin constParameterPointer ; stubs diff --git a/src/openvpn/vlan.c b/src/openvpn/vlan.c index 04e18d6..d44dac1 100644 --- a/src/openvpn/vlan.c +++ b/src/openvpn/vlan.c @@ -56,6 +56,11 @@ (hdr->pcp_cfi_vid & ~OPENVPN_8021Q_MASK_VID) | (htons(vid) & OPENVPN_8021Q_MASK_VID); } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + /* * vlan_decapsulate - remove 802.1q header and return VID * @@ -170,6 +175,10 @@ return -1; } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif + /* * vlan_encapsulate - add 802.1q header and set the context related VID * diff --git a/src/openvpn/wfp_block.c b/src/openvpn/wfp_block.c index 4d38fdb..b576899 100644 --- a/src/openvpn/wfp_block.c +++ b/src/openvpn/wfp_block.c @@ -131,6 +131,11 @@ return err; } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + /* * Block outgoing local traffic, possibly DNS only, except for * (i) adapter with the specified index (and loopback, if all is blocked) @@ -340,6 +345,10 @@ return err; } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif + DWORD delete_wfp_block_filters(HANDLE engine_handle) { diff --git a/src/openvpn/win32-util.c b/src/openvpn/win32-util.c index e2c8810..5f99e2b 100644 --- a/src/openvpn/win32-util.c +++ b/src/openvpn/win32-util.c @@ -36,6 +36,11 @@ #include "buffer.h" #include "win32-util.h" +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + WCHAR * wide_string(const char *utf8, struct gc_arena *gc) { @@ -131,6 +136,10 @@ return utf8; } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif + /* * Return true if filename is safe to be used on Windows, * by avoiding the following reserved names: diff --git a/src/openvpn/win32.c b/src/openvpn/win32.c index 3af58ed..079869f 100644 --- a/src/openvpn/win32.c +++ b/src/openvpn/win32.c @@ -545,6 +545,11 @@ CLEAR(*ws); } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + void win32_signal_open(struct win32_signal *ws, int force, const char *exit_event_name, bool exit_event_initial_state) @@ -1661,4 +1666,8 @@ return ret; } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif + #endif /* ifdef _WIN32 */ diff --git a/src/openvpn/xkey_helper.c b/src/openvpn/xkey_helper.c index 6908cbb..f4be796 100644 --- a/src/openvpn/xkey_helper.c +++ b/src/openvpn/xkey_helper.c @@ -146,6 +146,11 @@ } #ifdef ENABLE_MANAGEMENT + +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif /** * Signature callback for xkey_provider with management-external-key * @@ -276,6 +281,10 @@ return (*siglen > 0); } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif + #endif /* ENABLE MANAGEMENT */ /** diff --git a/src/openvpn/xkey_provider.c b/src/openvpn/xkey_provider.c index a349d4d..9211c11 100644 --- a/src/openvpn/xkey_provider.c +++ b/src/openvpn/xkey_provider.c @@ -940,6 +940,11 @@ return ret; } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + static int signature_sign(void *ctx, unsigned char *sig, size_t *siglen, size_t sigsize, const unsigned char *tbs, size_t tbslen) @@ -1074,6 +1079,10 @@ return signature_sign(ctx, sig, siglen, sigsize, buf, sz); } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif + /* Sign digest using native sign function -- will only work for native keys */ int diff --git a/src/openvpnmsica/dllmain.c b/src/openvpnmsica/dllmain.c index 85ebda9..777c823 100644 --- a/src/openvpnmsica/dllmain.c +++ b/src/openvpnmsica/dllmain.c @@ -98,6 +98,11 @@ return true; } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + void x_msg_va(const unsigned int flags, const char *format, va_list arglist) { @@ -189,3 +194,7 @@ hRecordProg); MsiCloseHandle(hRecordProg); } + +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif diff --git a/src/openvpnserv/common.c b/src/openvpnserv/common.c index 671ddde..e20feb7 100644 --- a/src/openvpnserv/common.c +++ b/src/openvpnserv/common.c @@ -30,6 +30,11 @@ LPCWSTR service_instance = L""; static wchar_t win_sys_path[MAX_PATH]; +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + static DWORD GetRegString(HKEY key, LPCWSTR value, LPWSTR data, DWORD size, LPCWSTR default_value) { @@ -309,6 +314,10 @@ return utf16; } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif + const wchar_t * get_win_sys_path(void) { diff --git a/src/openvpnserv/interactive.c b/src/openvpnserv/interactive.c index 81205d6..ac6a264 100644 --- a/src/openvpnserv/interactive.c +++ b/src/openvpnserv/interactive.c @@ -524,6 +524,10 @@ free(sud->directory); } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif static SOCKADDR_INET sockaddr_inet(short family, const inet_address_t *addr) @@ -3964,6 +3968,9 @@ return 0; } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif static DWORD WINAPI ServiceCtrlInteractive(DWORD ctrl_code, DWORD event, LPVOID data, LPVOID ctx) diff --git a/src/plugins/auth-pam/auth-pam.c b/src/plugins/auth-pam/auth-pam.c index 948b6af..0cd201d 100644 --- a/src/plugins/auth-pam/auth-pam.c +++ b/src/plugins/auth-pam/auth-pam.c @@ -184,6 +184,11 @@ return -1; } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + static ssize_t send_string(int fd, const char *string) { @@ -199,6 +204,10 @@ } } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif + #ifdef DO_DAEMONIZE /* diff --git a/src/tapctl/tap.c b/src/tapctl/tap.c index ac1ecd2..a3d83e9 100644 --- a/src/tapctl/tap.c +++ b/src/tapctl/tap.c @@ -102,6 +102,11 @@ } #endif +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + /** * Returns length of string of strings * @@ -1226,6 +1231,9 @@ return dwResult; } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif void tap_free_adapter_list(_In_ struct tap_adapter_node *pAdapterList) diff --git a/tests/unit_tests/openvpn/test_buffer.c b/tests/unit_tests/openvpn/test_buffer.c index 338265d..b480985 100644 --- a/tests/unit_tests/openvpn/test_buffer.c +++ b/tests/unit_tests/openvpn/test_buffer.c @@ -106,6 +106,11 @@ gc_free(&gc); } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + static void test_buffer_format_hex_ex(void **state) { @@ -139,6 +144,10 @@ gc_free(&gc); } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif + struct test_buffer_list_aggregate_ctx { struct buffer_list *empty; diff --git a/tests/unit_tests/openvpn/test_crypto.c b/tests/unit_tests/openvpn/test_crypto.c index f86aca8..e68a0b2 100644 --- a/tests/unit_tests/openvpn/test_crypto.c +++ b/tests/unit_tests/openvpn/test_crypto.c @@ -52,6 +52,11 @@ static const char testtext[] = "Dummy text to test PEM encoding"; +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + static void crypto_pem_encode_decode_loopback(void **state) { @@ -799,6 +804,10 @@ assert_null(epoch_lookup_decrypt_key(co, 23)); } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif + void crypto_test_epoch_key_overflow(void **state) { @@ -914,6 +923,11 @@ assert_memory_equal(out, expected_hash, UT_SIPHASH_HASH_SIZE); } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + static void test_siphash_openssl(void **state) { @@ -959,6 +973,9 @@ siphash_openssl_uninit(sipctx); } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif int main(void) diff --git a/tests/unit_tests/openvpn/test_cryptoapi.c b/tests/unit_tests/openvpn/test_cryptoapi.c index 37bbe92..55aafbb 100644 --- a/tests/unit_tests/openvpn/test_cryptoapi.c +++ b/tests/unit_tests/openvpn/test_cryptoapi.c @@ -137,6 +137,11 @@ return c->cert ? c : NULL; } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + /* import sample certificates into windows cert store */ static void import_certs(void **state) @@ -223,6 +228,10 @@ certs_loaded = true; } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif + static int cleanup(void **state) { diff --git a/tests/unit_tests/openvpn/test_dhcp.c b/tests/unit_tests/openvpn/test_dhcp.c index 3a84e1e..e331d3d 100644 --- a/tests/unit_tests/openvpn/test_dhcp.c +++ b/tests/unit_tests/openvpn/test_dhcp.c @@ -50,6 +50,11 @@ return "dummy"; } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + static void test_write_dhcp_search_str(void **state) { @@ -141,6 +146,10 @@ gc_free(&gc); } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif + int main(void) { diff --git a/tests/unit_tests/openvpn/test_networking.c b/tests/unit_tests/openvpn/test_networking.c index 1c9cac1..ae75386 100644 --- a/tests/unit_tests/openvpn/test_networking.c +++ b/tests/unit_tests/openvpn/test_networking.c @@ -40,6 +40,11 @@ return net_iface_del(NULL, name); } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + static int net__iface_mtu_set(int mtu) { @@ -48,6 +53,10 @@ return net_iface_mtu_set(NULL, iface, mtu); } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif + static int net__addr_v4_add(const char *addr_str, int prefixlen) { diff --git a/tests/unit_tests/openvpn/test_pkt.c b/tests/unit_tests/openvpn/test_pkt.c index 49ba833..889e6d7 100644 --- a/tests/unit_tests/openvpn/test_pkt.c +++ b/tests/unit_tests/openvpn/test_pkt.c @@ -618,6 +618,11 @@ assert_memory_equal(server_id2_p1.id, server_id_p2.id, SID_SIZE); } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + static void test_generate_reset_packet_plain(void **ut_state) { @@ -696,6 +701,10 @@ free_tas(&tas_server); } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif + /* A peer can ask us to append the wrapped client key (WKc) to our next * control packet. Only a tls-crypt-v2 client has one, so check that we * refuse to build such a packet when we have no key instead of walking diff --git a/tests/unit_tests/openvpn/test_ssl.c b/tests/unit_tests/openvpn/test_ssl.c index 4987dd0..85b8d12 100644 --- a/tests/unit_tests/openvpn/test_ssl.c +++ b/tests/unit_tests/openvpn/test_ssl.c @@ -265,6 +265,10 @@ #endif /* HAVE_OPENSSL_STORE */ } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif static void init_frame_parameters(struct frame *frame) @@ -886,6 +890,10 @@ free_certificate(cert); } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif + /* Certificate with two CNs, "foo" and "bar". * * Generated with: diff --git a/tests/unit_tests/openvpn/test_tls_crypt.c b/tests/unit_tests/openvpn/test_tls_crypt.c index f8aa199..ab90ea5 100644 --- a/tests/unit_tests/openvpn/test_tls_crypt.c +++ b/tests/unit_tests/openvpn/test_tls_crypt.c @@ -232,6 +232,11 @@ } } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + /** * Check that short messages are successfully wrapped-and-unwrapped. */ @@ -773,6 +778,10 @@ tls_wrap_free(&wrap_ctx); } +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif + static void test_tls_crypt_v2_write_server_key_file(void **state) { diff --git a/tests/unit_tests/openvpn/test_user_pass.c b/tests/unit_tests/openvpn/test_user_pass.c index 776a86a..5bc1d2a 100644 --- a/tests/unit_tests/openvpn/test_user_pass.c +++ b/tests/unit_tests/openvpn/test_user_pass.c @@ -46,6 +46,12 @@ return query_user_exec_builtin(); } #endif + +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + bool query_user_exec_builtin(void) { @@ -58,6 +64,11 @@ return mock(); } + +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif + void management_auth_failure(const struct management *man, const char *type, const char *reason) { _______________________________________________ Openvpn-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/openvpn-devel
