Last active
July 31, 2023 17:21
-
-
Save DanielG/422d495c4bc90bb9a74e5804e2a6baec to your computer and use it in GitHub Desktop.
tundra-nat64 warnings
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
rm src/*.o | |
rm src/*.d | |
rm *.8 | |
rm: cannot remove '*.8': No such file or directory | |
make: [Makefile:47: clean] Error 1 (ignored) | |
cc -MD -MP -std=c11 -Wall -Wextra -Wpedantic -fanalyzer -Wformat=2 -Wformat-overflow=2 -Wformat-truncation=2 -Wformat-security -Wnull-dereference -Wstack-protector -Wtrampolines -Walloca -Wvla -Warray-bounds=2 -Wimplicit-fallthrough=3 -Wtraditional-conversion -Wshift-overflow=2 -Wcast-qual -Wstringop-overflow=4 -Wconversion -Warith-conversion -Wlogical-op -Wduplicated-cond -Wduplicated-branches -Wformat-signedness -Wshadow -Wstrict-overflow=4 -Wundef -Wstrict-prototypes -Wswitch-default -Wswitch-enum -Wstack-usage=1000000 -Wcast-align=strict -O3 -flto -pthread -fstack-protector-strong -fstack-clash-protection -fPIE -fsanitize=bounds -fsanitize-undefined-trap-on-error -D_FORTIFY_SOURCE=3 -o src/t64_checksum.o -c src/t64_checksum.c | |
src/t64_checksum.c: In function ‘t64f_checksum__calculate_ipv4_header_checksum’: | |
src/t64_checksum.c:35:12: warning: conversion from ‘int’ to ‘uint16_t’ {aka ‘short unsigned int’} may change value [-Warith-conversion] | |
35 | return ~_t64f_checksum__pack_into_16bits(_t64f_checksum__sum_16bit_words((const uint8_t *) ipv4_header, ((size_t) ipv4_header->ihl) * 4)); | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_checksum.c: In function ‘t64f_checksum__calculate_rfc1071_checksum_for_ipv4’: | |
src/t64_checksum.c:49:12: warning: conversion from ‘int’ to ‘uint16_t’ {aka ‘short unsigned int’} may change value [-Warith-conversion] | |
49 | return ~_t64f_checksum__pack_into_16bits(sum); | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_checksum.c: In function ‘t64f_checksum__calculate_rfc1071_checksum_for_ipv6’: | |
src/t64_checksum.c:61:77: warning: passing argument 2 of ‘_t64f_checksum__sum_ipv6_pseudo_header’ with different width due to prototype [-Wtraditional-conversion] | |
61 | sum += _t64f_checksum__sum_ipv6_pseudo_header(nullable_ipv6_header, carried_protocol, payload1_size + zeroable_payload2_size); // If 'zeroable_payload2_size' is zero, the sum won't be affected. | |
| ^~~~~~~~~~~~~~~~ | |
src/t64_checksum.c:63:12: warning: conversion from ‘int’ to ‘uint16_t’ {aka ‘short unsigned int’} may change value [-Warith-conversion] | |
63 | return ~_t64f_checksum__pack_into_16bits(sum); | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_checksum.c: In function ‘t64f_checksum__incrementally_recalculate_rfc1071_checksum_4to6’: | |
src/t64_checksum.c:73:84: warning: passing argument 2 of ‘_t64f_checksum__sum_16bit_words’ with different width due to prototype [-Wtraditional-conversion] | |
73 | _t64f_checksum__sum_16bit_words((const uint8_t *) &old_ipv4_header->saddr, 4) + | |
| ^ | |
src/t64_checksum.c:74:84: warning: passing argument 2 of ‘_t64f_checksum__sum_16bit_words’ with different width due to prototype [-Wtraditional-conversion] | |
74 | _t64f_checksum__sum_16bit_words((const uint8_t *) &old_ipv4_header->daddr, 4) | |
| ^ | |
src/t64_checksum.c:77:91: warning: passing argument 2 of ‘_t64f_checksum__sum_16bit_words’ with different width due to prototype [-Wtraditional-conversion] | |
77 | _t64f_checksum__sum_16bit_words((const uint8_t *) new_ipv6_header->saddr.s6_addr, 16) + | |
| ^~ | |
src/t64_checksum.c:78:91: warning: passing argument 2 of ‘_t64f_checksum__sum_16bit_words’ with different width due to prototype [-Wtraditional-conversion] | |
78 | _t64f_checksum__sum_16bit_words((const uint8_t *) new_ipv6_header->daddr.s6_addr, 16) | |
| ^~ | |
src/t64_checksum.c:82:93: warning: passing argument 1 of ‘_t64f_checksum__pack_into_16bits’ as unsigned due to prototype [-Wtraditional-conversion] | |
82 | return ~_t64f_checksum__pack_into_16bits(_t64f_checksum__pack_into_16bits(~old_checksum - _t64f_checksum__pack_into_16bits(old_ips_sum)) + _t64f_checksum__pack_into_16bits(new_ips_sum)); | |
| ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_checksum.c:82:93: warning: conversion to ‘uint32_t’ {aka ‘unsigned int’} from ‘int’ may change the sign of the result [-Wsign-conversion] | |
src/t64_checksum.c:82:142: warning: passing argument 1 of ‘_t64f_checksum__pack_into_16bits’ as unsigned due to prototype [-Wtraditional-conversion] | |
82 | return ~_t64f_checksum__pack_into_16bits(_t64f_checksum__pack_into_16bits(~old_checksum - _t64f_checksum__pack_into_16bits(old_ips_sum)) + _t64f_checksum__pack_into_16bits(new_ips_sum)); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_checksum.c:82:142: warning: conversion to ‘uint32_t’ {aka ‘unsigned int’} from ‘int’ may change the sign of the result [-Warith-conversion] | |
src/t64_checksum.c:82:12: warning: conversion from ‘int’ to ‘uint16_t’ {aka ‘short unsigned int’} may change value [-Warith-conversion] | |
82 | return ~_t64f_checksum__pack_into_16bits(_t64f_checksum__pack_into_16bits(~old_checksum - _t64f_checksum__pack_into_16bits(old_ips_sum)) + _t64f_checksum__pack_into_16bits(new_ips_sum)); | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_checksum.c: In function ‘t64f_checksum__incrementally_recalculate_rfc1071_checksum_6to4’: | |
src/t64_checksum.c:87:91: warning: passing argument 2 of ‘_t64f_checksum__sum_16bit_words’ with different width due to prototype [-Wtraditional-conversion] | |
87 | _t64f_checksum__sum_16bit_words((const uint8_t *) old_ipv6_header->saddr.s6_addr, 16) + | |
| ^~ | |
src/t64_checksum.c:88:91: warning: passing argument 2 of ‘_t64f_checksum__sum_16bit_words’ with different width due to prototype [-Wtraditional-conversion] | |
88 | _t64f_checksum__sum_16bit_words((const uint8_t *) old_ipv6_header->daddr.s6_addr, 16) | |
| ^~ | |
src/t64_checksum.c:91:84: warning: passing argument 2 of ‘_t64f_checksum__sum_16bit_words’ with different width due to prototype [-Wtraditional-conversion] | |
91 | _t64f_checksum__sum_16bit_words((const uint8_t *) &new_ipv4_header->saddr, 4) + | |
| ^ | |
src/t64_checksum.c:92:84: warning: passing argument 2 of ‘_t64f_checksum__sum_16bit_words’ with different width due to prototype [-Wtraditional-conversion] | |
92 | _t64f_checksum__sum_16bit_words((const uint8_t *) &new_ipv4_header->daddr, 4) | |
| ^ | |
src/t64_checksum.c:96:93: warning: passing argument 1 of ‘_t64f_checksum__pack_into_16bits’ as unsigned due to prototype [-Wtraditional-conversion] | |
96 | return ~_t64f_checksum__pack_into_16bits(_t64f_checksum__pack_into_16bits(~old_checksum - _t64f_checksum__pack_into_16bits(old_ips_sum)) + _t64f_checksum__pack_into_16bits(new_ips_sum)); | |
| ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_checksum.c:96:93: warning: conversion to ‘uint32_t’ {aka ‘unsigned int’} from ‘int’ may change the sign of the result [-Wsign-conversion] | |
src/t64_checksum.c:96:142: warning: passing argument 1 of ‘_t64f_checksum__pack_into_16bits’ as unsigned due to prototype [-Wtraditional-conversion] | |
96 | return ~_t64f_checksum__pack_into_16bits(_t64f_checksum__pack_into_16bits(~old_checksum - _t64f_checksum__pack_into_16bits(old_ips_sum)) + _t64f_checksum__pack_into_16bits(new_ips_sum)); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_checksum.c:96:142: warning: conversion to ‘uint32_t’ {aka ‘unsigned int’} from ‘int’ may change the sign of the result [-Warith-conversion] | |
src/t64_checksum.c:96:12: warning: conversion from ‘int’ to ‘uint16_t’ {aka ‘short unsigned int’} may change value [-Warith-conversion] | |
96 | return ~_t64f_checksum__pack_into_16bits(_t64f_checksum__pack_into_16bits(~old_checksum - _t64f_checksum__pack_into_16bits(old_ips_sum)) + _t64f_checksum__pack_into_16bits(new_ips_sum)); | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
In file included from /usr/include/arpa/inet.h:22, | |
from src/t64_tundra_includes.h:48, | |
from src/t64_tundra.h:49, | |
from src/t64_checksum.c:22: | |
src/t64_checksum.c: In function ‘_t64f_checksum__sum_ipv4_pseudo_header’: | |
src/t64_checksum.c:114:39: warning: passing argument 1 of ‘__bswap_16’ with different width due to prototype [-Wtraditional-conversion] | |
114 | ipv4_pseudo_header.length = htons((uint16_t) transport_header_and_data_length); | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_checksum.c:116:44: warning: cast discards ‘volatile’ qualifier from pointer target type [-Wcast-qual] | |
116 | return _t64f_checksum__sum_16bit_words((const uint8_t *) &ipv4_pseudo_header, sizeof(ipv4_pseudo_header)); | |
| ^ | |
src/t64_checksum.c: In function ‘_t64f_checksum__sum_ipv6_pseudo_header’: | |
src/t64_checksum.c:130:12: warning: cast discards ‘volatile’ qualifier from pointer target type [-Wcast-qual] | |
130 | memcpy((void *) ipv6_pseudo_header.source_address, ipv6_header->saddr.s6_addr, 16); | |
| ^ | |
src/t64_checksum.c:130:84: warning: passing argument 3 of ‘memcpy’ with different width due to prototype [-Wtraditional-conversion] | |
130 | memcpy((void *) ipv6_pseudo_header.source_address, ipv6_header->saddr.s6_addr, 16); | |
| ^~ | |
src/t64_checksum.c:131:12: warning: cast discards ‘volatile’ qualifier from pointer target type [-Wcast-qual] | |
131 | memcpy((void *) ipv6_pseudo_header.destination_address, ipv6_header->daddr.s6_addr, 16); | |
| ^ | |
src/t64_checksum.c:131:89: warning: passing argument 3 of ‘memcpy’ with different width due to prototype [-Wtraditional-conversion] | |
131 | memcpy((void *) ipv6_pseudo_header.destination_address, ipv6_header->daddr.s6_addr, 16); | |
| ^~ | |
In file included from src/t64_checksum.c:25: | |
src/t64_checksum.c:133:33: warning: cast discards ‘volatile’ qualifier from pointer target type [-Wcast-qual] | |
133 | T64M_UTILS__MEMORY_ZERO_OUT((void *) ipv6_pseudo_header.zeroes, 3); | |
| ^ | |
src/t64_utils.h:33:57: note: in definition of macro ‘T64M_UTILS__MEMORY_ZERO_OUT’ | |
33 | #define T64M_UTILS__MEMORY_ZERO_OUT(memory, n) (memset((memory), 0, (n))) | |
| ^~~~~~ | |
src/t64_utils.h:33:69: warning: passing argument 3 of ‘memset’ with different width due to prototype [-Wtraditional-conversion] | |
33 | #define T64M_UTILS__MEMORY_ZERO_OUT(memory, n) (memset((memory), 0, (n))) | |
| ^~~ | |
src/t64_checksum.c:133:5: note: in expansion of macro ‘T64M_UTILS__MEMORY_ZERO_OUT’ | |
133 | T64M_UTILS__MEMORY_ZERO_OUT((void *) ipv6_pseudo_header.zeroes, 3); | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_checksum.c:136:44: warning: cast discards ‘volatile’ qualifier from pointer target type [-Wcast-qual] | |
136 | return _t64f_checksum__sum_16bit_words((const uint8_t *) &ipv6_pseudo_header, sizeof(ipv6_pseudo_header)); | |
| ^ | |
src/t64_checksum.c: In function ‘_t64f_checksum__sum_16bit_words’: | |
src/t64_checksum.c:143:18: warning: cast increases required alignment of target type [-Wcast-align] | |
143 | sum += *((const uint16_t *) bytes); | |
| ^ | |
src/t64_checksum.c:150:22: warning: passing argument 1 of ‘__bswap_16’ with different width due to prototype [-Wtraditional-conversion] | |
150 | sum += htons((uint16_t) (temp << 8)); // The checksum is calculated with all bytes being in network order (= big endian) | |
| ^~~~~~~~~~~~~~~~~~~~~~ | |
cc -MD -MP -std=c11 -Wall -Wextra -Wpedantic -fanalyzer -Wformat=2 -Wformat-overflow=2 -Wformat-truncation=2 -Wformat-security -Wnull-dereference -Wstack-protector -Wtrampolines -Walloca -Wvla -Warray-bounds=2 -Wimplicit-fallthrough=3 -Wtraditional-conversion -Wshift-overflow=2 -Wcast-qual -Wstringop-overflow=4 -Wconversion -Warith-conversion -Wlogical-op -Wduplicated-cond -Wduplicated-branches -Wformat-signedness -Wshadow -Wstrict-overflow=4 -Wundef -Wstrict-prototypes -Wswitch-default -Wswitch-enum -Wstack-usage=1000000 -Wcast-align=strict -O3 -flto -pthread -fstack-protector-strong -fstack-clash-protection -fPIE -fsanitize=bounds -fsanitize-undefined-trap-on-error -D_FORTIFY_SOURCE=3 -o src/t64_conf_cmdline.o -c src/t64_conf_cmdline.c | |
src/t64_conf_cmdline.c: In function ‘t64fa_conf_cmdline__parse_cmdline_configuration’: | |
src/t64_conf_cmdline.c:105:25: warning: passing argument 1 of ‘t64f_log__crash’ with different width due to prototype [-Wtraditional-conversion] | |
105 | t64f_log__crash(false, "argv[0] does not exist or is NULL!"); | |
| ^~~~~ | |
src/t64_conf_cmdline.c:107:97: warning: passing argument 1 of ‘t64fa_utils__allocate_zeroed_out_memory’ with different width due to prototype [-Wtraditional-conversion] | |
107 | t64ts_tundra__conf_cmdline *cmdline_configuration = t64fa_utils__allocate_zeroed_out_memory(1, sizeof(t64ts_tundra__conf_cmdline)); | |
| ^ | |
src/t64_conf_cmdline.c: In function ‘_t64f_conf_cmdline__parse_cmdline_options’: | |
src/t64_conf_cmdline.c:149:37: warning: passing argument 1 of ‘t64f_log__crash’ with different width due to prototype [-Wtraditional-conversion] | |
149 | t64f_log__crash(false, "The config file path has already been set: %s", cmdline_configuration->config_file_path); | |
| ^~~~~ | |
src/t64_conf_cmdline.c:155:37: warning: passing argument 1 of ‘t64f_log__crash’ with different width due to prototype [-Wtraditional-conversion] | |
155 | t64f_log__crash(false, "The list of inherited file descriptors for packet I/O has already been set: %s", cmdline_configuration->io_inherited_fds); | |
| ^~~~~ | |
src/t64_conf_cmdline.c:161:37: warning: passing argument 1 of ‘t64f_log__crash’ with different width due to prototype [-Wtraditional-conversion] | |
161 | t64f_log__crash(false, "The list of inherited file descriptors for external address translation has already been set: %s", cmdline_configuration->addressing_external_inherited_fds); | |
| ^~~~~ | |
src/t64_conf_cmdline.c:167:33: warning: passing argument 1 of ‘t64f_log__crash’ with different width due to prototype [-Wtraditional-conversion] | |
167 | t64f_log__crash(false, "An invalid command-line option has been passed to the program - see '--"T64C_CONF_CMDLINE__LONGOPT_HELP"' for more information!"); | |
| ^~~~~ | |
src/t64_conf_cmdline.c:170:33: warning: passing argument 1 of ‘t64f_log__crash’ with different width due to prototype [-Wtraditional-conversion] | |
170 | t64f_log__crash(false, "An unknown error occurred while parsing command-line options!"); | |
| ^~~~~ | |
src/t64_conf_cmdline.c: In function ‘_t64f_conf_cmdline__parse_cmdline_arguments’: | |
src/t64_conf_cmdline.c:186:29: warning: passing argument 1 of ‘t64f_log__crash’ with different width due to prototype [-Wtraditional-conversion] | |
186 | t64f_log__crash(false, "Too many command-line arguments (%d)!", argument_count); | |
| ^~~~~ | |
src/t64_conf_cmdline.c: In function ‘_t64f_conf_cmdline__determine_operation_mode_from_string’: | |
src/t64_conf_cmdline.c:227:21: warning: passing argument 1 of ‘t64f_log__crash’ with different width due to prototype [-Wtraditional-conversion] | |
227 | t64f_log__crash(false, "Invalid mode of operation string: %s", mode_of_operation_string); | |
| ^~~~~ | |
cc -MD -MP -std=c11 -Wall -Wextra -Wpedantic -fanalyzer -Wformat=2 -Wformat-overflow=2 -Wformat-truncation=2 -Wformat-security -Wnull-dereference -Wstack-protector -Wtrampolines -Walloca -Wvla -Warray-bounds=2 -Wimplicit-fallthrough=3 -Wtraditional-conversion -Wshift-overflow=2 -Wcast-qual -Wstringop-overflow=4 -Wconversion -Warith-conversion -Wlogical-op -Wduplicated-cond -Wduplicated-branches -Wformat-signedness -Wshadow -Wstrict-overflow=4 -Wundef -Wstrict-prototypes -Wswitch-default -Wswitch-enum -Wstack-usage=1000000 -Wcast-align=strict -O3 -flto -pthread -fstack-protector-strong -fstack-clash-protection -fPIE -fsanitize=bounds -fsanitize-undefined-trap-on-error -D_FORTIFY_SOURCE=3 -o src/t64_conf_file.o -c src/t64_conf_file.c | |
src/t64_conf_file.c: In function ‘_t64fa_conf_file__parse_configuration_file’: | |
src/t64_conf_file.c:64:91: warning: passing argument 1 of ‘t64fa_utils__allocate_zeroed_out_memory’ with different width due to prototype [-Wtraditional-conversion] | |
64 | t64ts_tundra__conf_file *file_configuration = t64fa_utils__allocate_zeroed_out_memory(1, sizeof(t64ts_tundra__conf_file)); | |
| ^ | |
src/t64_conf_file.c: In function ‘_t64fa_conf_file__parse_program_configuration_entries’: | |
src/t64_conf_file.c:77:172: warning: passing argument 3 of ‘t64f_conf_file_load__find_uint64’ with different width due to prototype [-Wtraditional-conversion] | |
77 | file_configuration->program_translator_threads = (size_t) t64f_conf_file_load__find_uint64(config_file_entries, T64C_CONF_FILE__OPTION_KEY_PROGRAM_TRANSLATOR_THREADS, 1, T64C_TUNDRA__MAX_TRANSLATOR_THREADS, &_t64f_conf_file__get_fallback_translator_thread_count); | |
| ^ | |
src/t64_conf_file.c:81:194: warning: passing argument 4 of ‘t64f_conf_file_load__find_string’ with different width due to prototype [-Wtraditional-conversion] | |
81 | const char *username = t64f_conf_file_load__find_string(config_file_entries, T64C_CONF_FILE__OPTION_KEY_PROGRAM_PRIVILEGE_DROP_USER, T64C_CONF_FILE_LOAD__FIND_STRING_NO_MAX_CHARACTERS, false); | |
| ^~~~~ | |
src/t64_conf_file.c:93:196: warning: passing argument 4 of ‘t64f_conf_file_load__find_string’ with different width due to prototype [-Wtraditional-conversion] | |
93 | const char *groupname = t64f_conf_file_load__find_string(config_file_entries, T64C_CONF_FILE__OPTION_KEY_PROGRAM_PRIVILEGE_DROP_GROUP, T64C_CONF_FILE_LOAD__FIND_STRING_NO_MAX_CHARACTERS, false); | |
| ^~~~~ | |
src/t64_conf_file.c: In function ‘_t64fa_conf_file__parse_io_configuration_entries’: | |
src/t64_conf_file.c:107:151: warning: passing argument 4 of ‘t64f_conf_file_load__find_string’ with different width due to prototype [-Wtraditional-conversion] | |
107 | t64f_conf_file_load__find_string(config_file_entries, T64C_CONF_FILE__OPTION_KEY_IO_MODE, T64C_CONF_FILE_LOAD__FIND_STRING_NO_MAX_CHARACTERS, false) | |
| ^~~~~ | |
src/t64_conf_file.c: In function ‘_t64fa_conf_file__parse_io_tun_configuration_entries’: | |
src/t64_conf_file.c:126:140: warning: passing argument 3 of ‘t64f_conf_file_load__find_string’ with different width due to prototype [-Wtraditional-conversion] | |
126 | const char *tun_device_path = t64f_conf_file_load__find_string(config_file_entries, T64C_CONF_FILE__OPTION_KEY_IO_TUN_DEVICE_PATH, PATH_MAX - 1, false); | |
| ^~~~~~~~ | |
src/t64_conf_file.c:126:154: warning: passing argument 4 of ‘t64f_conf_file_load__find_string’ with different width due to prototype [-Wtraditional-conversion] | |
126 | const char *tun_device_path = t64f_conf_file_load__find_string(config_file_entries, T64C_CONF_FILE__OPTION_KEY_IO_TUN_DEVICE_PATH, PATH_MAX - 1, false); | |
| ^~~~~ | |
src/t64_conf_file.c:134:113: warning: passing argument 3 of ‘t64f_conf_file_load__find_string’ with different width due to prototype [-Wtraditional-conversion] | |
134 | t64f_conf_file_load__find_string(config_file_entries, T64C_CONF_FILE__OPTION_KEY_IO_TUN_INTERFACE_NAME, IFNAMSIZ - 1, true) | |
| ^~~~~~~~ | |
src/t64_conf_file.c:134:127: warning: passing argument 4 of ‘t64f_conf_file_load__find_string’ with different width due to prototype [-Wtraditional-conversion] | |
134 | t64f_conf_file_load__find_string(config_file_entries, T64C_CONF_FILE__OPTION_KEY_IO_TUN_INTERFACE_NAME, IFNAMSIZ - 1, true) | |
| ^~~~ | |
src/t64_conf_file.c:139:190: warning: passing argument 4 of ‘t64f_conf_file_load__find_string’ with different width due to prototype [-Wtraditional-conversion] | |
139 | const char *owner_username = t64f_conf_file_load__find_string(config_file_entries, T64C_CONF_FILE__OPTION_KEY_IO_TUN_OWNER_USER, T64C_CONF_FILE_LOAD__FIND_STRING_NO_MAX_CHARACTERS, false); | |
| ^~~~~ | |
src/t64_conf_file.c:151:192: warning: passing argument 4 of ‘t64f_conf_file_load__find_string’ with different width due to prototype [-Wtraditional-conversion] | |
151 | const char *owner_groupname = t64f_conf_file_load__find_string(config_file_entries, T64C_CONF_FILE__OPTION_KEY_IO_TUN_OWNER_GROUP, T64C_CONF_FILE_LOAD__FIND_STRING_NO_MAX_CHARACTERS, false); | |
| ^~~~~ | |
In file included from src/t64_tundra.h:50, | |
from src/t64_conf_file.c:22: | |
src/t64_conf_file.c: In function ‘_t64f_conf_file__parse_router_configuration_entries’: | |
src/t64_tundra_defs.h:43:51: warning: passing argument 3 of ‘t64f_conf_file_load__find_uint64’ with different width due to prototype [-Wtraditional-conversion] | |
43 | #define T64C_TUNDRA__MINIMUM_GENERATED_PACKET_TTL ((uint8_t) 64) | |
| ^~~~~~~~~~~~~~ | |
src/t64_conf_file.c:174:86: note: in expansion of macro ‘T64C_TUNDRA__MINIMUM_GENERATED_PACKET_TTL’ | |
174 | config_file_entries, T64C_CONF_FILE__OPTION_KEY_ROUTER_GENERATED_PACKET_TTL, T64C_TUNDRA__MINIMUM_GENERATED_PACKET_TTL, T64C_TUNDRA__MAXIMUM_GENERATED_PACKET_TTL, NULL | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_tundra_defs.h:44:51: warning: passing argument 4 of ‘t64f_conf_file_load__find_uint64’ with different width due to prototype [-Wtraditional-conversion] | |
44 | #define T64C_TUNDRA__MAXIMUM_GENERATED_PACKET_TTL ((uint8_t) 255) | |
| ^~~~~~~~~~~~~~~ | |
src/t64_conf_file.c:174:129: note: in expansion of macro ‘T64C_TUNDRA__MAXIMUM_GENERATED_PACKET_TTL’ | |
174 | config_file_entries, T64C_CONF_FILE__OPTION_KEY_ROUTER_GENERATED_PACKET_TTL, T64C_TUNDRA__MINIMUM_GENERATED_PACKET_TTL, T64C_TUNDRA__MAXIMUM_GENERATED_PACKET_TTL, NULL | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_conf_file.c: In function ‘_t64f_conf_file__parse_addressing_configuration_entries’: | |
src/t64_conf_file.c:181:159: warning: passing argument 4 of ‘t64f_conf_file_load__find_string’ with different width due to prototype [-Wtraditional-conversion] | |
181 | t64f_conf_file_load__find_string(config_file_entries, T64C_CONF_FILE__OPTION_KEY_ADDRESSING_MODE, T64C_CONF_FILE_LOAD__FIND_STRING_NO_MAX_CHARACTERS, false) | |
| ^~~~~ | |
In file included from src/t64_conf_file.c:25: | |
src/t64_conf_file.c: In function ‘_t64f_conf_file__parse_addressing_nat64_clat_configuration_entries’: | |
src/t64_utils.h:32:73: warning: passing argument 3 of ‘memcmp’ with different width due to prototype [-Wtraditional-conversion] | |
32 | #define T64M_UTILS__MEMORY_EQUAL(ptr1, ptr2, n) (memcmp((ptr1), (ptr2), (n)) == 0) | |
| ^~~ | |
src/t64_utils_ip.h:29:76: note: in expansion of macro ‘T64M_UTILS__MEMORY_EQUAL’ | |
29 | #define T64M_UTILS_IP__IPV4_ADDRESSES_EQUAL(ipv4_address1, ipv4_address2) (T64M_UTILS__MEMORY_EQUAL((ipv4_address1), (ipv4_address2), 4)) | |
| ^~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_conf_file.c:196:12: note: in expansion of macro ‘T64M_UTILS_IP__IPV4_ADDRESSES_EQUAL’ | |
196 | if(T64M_UTILS_IP__IPV4_ADDRESSES_EQUAL(file_configuration->addressing_nat64_clat_ipv4, file_configuration->router_ipv4)) | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_conf_file.c:197:29: warning: passing argument 1 of ‘t64f_log__crash’ with different width due to prototype [-Wtraditional-conversion] | |
197 | t64f_log__crash(false, "'%s' must not be the same as '%s'!", T64C_CONF_FILE__OPTION_KEY_ADDRESSING_NAT64_CLAT_IPV4, T64C_CONF_FILE__OPTION_KEY_ROUTER_IPV4); | |
| ^~~~~ | |
src/t64_utils.h:32:73: warning: passing argument 3 of ‘memcmp’ with different width due to prototype [-Wtraditional-conversion] | |
32 | #define T64M_UTILS__MEMORY_EQUAL(ptr1, ptr2, n) (memcmp((ptr1), (ptr2), (n)) == 0) | |
| ^~~ | |
src/t64_utils_ip.h:30:76: note: in expansion of macro ‘T64M_UTILS__MEMORY_EQUAL’ | |
30 | #define T64M_UTILS_IP__IPV6_ADDRESSES_EQUAL(ipv6_address1, ipv6_address2) (T64M_UTILS__MEMORY_EQUAL((ipv6_address1), (ipv6_address2), 16)) | |
| ^~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_conf_file.c:201:12: note: in expansion of macro ‘T64M_UTILS_IP__IPV6_ADDRESSES_EQUAL’ | |
201 | if(T64M_UTILS_IP__IPV6_ADDRESSES_EQUAL(file_configuration->addressing_nat64_clat_ipv6, file_configuration->router_ipv6)) | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_conf_file.c:202:29: warning: passing argument 1 of ‘t64f_log__crash’ with different width due to prototype [-Wtraditional-conversion] | |
202 | t64f_log__crash(false, "'%s' must not be the same as '%s'!", T64C_CONF_FILE__OPTION_KEY_ADDRESSING_NAT64_CLAT_IPV6, T64C_CONF_FILE__OPTION_KEY_ROUTER_IPV6); | |
| ^~~~~ | |
src/t64_utils.h:33:69: warning: passing argument 3 of ‘memset’ with different width due to prototype [-Wtraditional-conversion] | |
33 | #define T64M_UTILS__MEMORY_ZERO_OUT(memory, n) (memset((memory), 0, (n))) | |
| ^~~ | |
src/t64_conf_file.c:204:9: note: in expansion of macro ‘T64M_UTILS__MEMORY_ZERO_OUT’ | |
204 | T64M_UTILS__MEMORY_ZERO_OUT(file_configuration->addressing_nat64_clat_ipv4, 4); | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_utils.h:33:69: warning: passing argument 3 of ‘memset’ with different width due to prototype [-Wtraditional-conversion] | |
33 | #define T64M_UTILS__MEMORY_ZERO_OUT(memory, n) (memset((memory), 0, (n))) | |
| ^~~ | |
src/t64_conf_file.c:205:9: note: in expansion of macro ‘T64M_UTILS__MEMORY_ZERO_OUT’ | |
205 | T64M_UTILS__MEMORY_ZERO_OUT(file_configuration->addressing_nat64_clat_ipv6, 16); | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_conf_file.c: In function ‘_t64f_conf_file__parse_addressing_nat64_clat_siit_configuration_entries’: | |
src/t64_utils.h:33:69: warning: passing argument 3 of ‘memset’ with different width due to prototype [-Wtraditional-conversion] | |
33 | #define T64M_UTILS__MEMORY_ZERO_OUT(memory, n) (memset((memory), 0, (n))) | |
| ^~~ | |
src/t64_conf_file.c:217:9: note: in expansion of macro ‘T64M_UTILS__MEMORY_ZERO_OUT’ | |
217 | T64M_UTILS__MEMORY_ZERO_OUT(file_configuration->addressing_nat64_clat_siit_prefix, 16); | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_conf_file.c: In function ‘_t64f_conf_file__parse_addressing_external_configuration_entries’: | |
src/t64_conf_file.c:226:177: warning: passing argument 4 of ‘t64f_conf_file_load__find_string’ with different width due to prototype [-Wtraditional-conversion] | |
226 | t64f_conf_file_load__find_string(config_file_entries, T64C_CONF_FILE__OPTION_KEY_ADDRESSING_EXTERNAL_TRANSPORT, T64C_CONF_FILE_LOAD__FIND_STRING_NO_MAX_CHARACTERS, false) | |
| ^~~~~ | |
src/t64_conf_file.c:231:108: warning: passing argument 3 of ‘t64f_conf_file_load__find_uint64’ with different width due to prototype [-Wtraditional-conversion] | |
231 | config_file_entries, T64C_CONF_FILE__OPTION_KEY_ADDRESSING_EXTERNAL_CACHE_SIZE_MAIN_ADDRESSES, 0, T64C_TUNDRA__MAX_ADDRESSING_EXTERNAL_CACHE_SIZE, NULL | |
| ^ | |
src/t64_conf_file.c:236:114: warning: passing argument 3 of ‘t64f_conf_file_load__find_uint64’ with different width due to prototype [-Wtraditional-conversion] | |
236 | config_file_entries, T64C_CONF_FILE__OPTION_KEY_ADDRESSING_EXTERNAL_CACHE_SIZE_ICMP_ERROR_ADDRESSES, 0, T64C_TUNDRA__MAX_ADDRESSING_EXTERNAL_CACHE_SIZE, NULL | |
| ^ | |
src/t64_conf_file.c: In function ‘_t64f_conf_file__parse_addressing_external_unix_configuration_entries’: | |
src/t64_conf_file.c:253:204: warning: passing argument 4 of ‘t64f_conf_file_load__find_string’ with different width due to prototype [-Wtraditional-conversion] | |
253 | t64f_conf_file_load__find_string(config_file_entries, T64C_CONF_FILE__OPTION_KEY_ADDRESSING_EXTERNAL_UNIX_PATH, sizeof(file_configuration->addressing_external_unix_socket_info.sun_path) - 1, true) | |
| ^~~~ | |
src/t64_conf_file.c: In function ‘_t64f_conf_file__parse_addressing_external_tcp_configuration_entries’: | |
src/t64_conf_file.c:261:191: warning: passing argument 4 of ‘t64f_conf_file_load__find_string’ with different width due to prototype [-Wtraditional-conversion] | |
261 | const char *host = t64f_conf_file_load__find_string(config_file_entries, T64C_CONF_FILE__OPTION_KEY_ADDRESSING_EXTERNAL_TCP_HOST, T64C_CONF_FILE_LOAD__FIND_STRING_NO_MAX_CHARACTERS, true); | |
| ^~~~ | |
src/t64_conf_file.c:264:191: warning: passing argument 4 of ‘t64f_conf_file_load__find_string’ with different width due to prototype [-Wtraditional-conversion] | |
264 | const char *port = t64f_conf_file_load__find_string(config_file_entries, T64C_CONF_FILE__OPTION_KEY_ADDRESSING_EXTERNAL_TCP_PORT, T64C_CONF_FILE_LOAD__FIND_STRING_NO_MAX_CHARACTERS, true); | |
| ^~~~ | |
src/t64_conf_file.c:274:29: warning: passing argument 1 of ‘t64f_log__crash’ with different width due to prototype [-Wtraditional-conversion] | |
274 | t64f_log__crash(false, "Failed to resolve the external TCP host ('%s') or port ('%s') using getaddrinfo(): %s", host, port, gai_strerror(gai_return_value)); | |
| ^~~~~ | |
src/t64_conf_file.c:277:29: warning: passing argument 1 of ‘t64f_log__crash’ with different width due to prototype [-Wtraditional-conversion] | |
277 | t64f_log__crash(false, "Even though getaddrinfo() was successful, it saved NULL into the \"result\" variable!"); | |
| ^~~~~ | |
src/t64_conf_file.c: In function ‘_t64f_conf_file__get_uid_by_username’: | |
src/t64_conf_file.c:312:25: warning: passing argument 1 of ‘t64f_log__crash’ with different width due to prototype [-Wtraditional-conversion] | |
312 | t64f_log__crash(false, "A user named '%s' could not be found!", username); | |
| ^~~~~ | |
src/t64_conf_file.c: In function ‘_t64f_conf_file__get_gid_by_groupname’: | |
src/t64_conf_file.c:320:25: warning: passing argument 1 of ‘t64f_log__crash’ with different width due to prototype [-Wtraditional-conversion] | |
320 | t64f_log__crash(false, "A group named '%s' could not be found!", groupname); | |
| ^~~~~ | |
src/t64_conf_file.c: In function ‘_t64f_conf_file__determine_io_mode_from_string’: | |
src/t64_conf_file.c:332:21: warning: passing argument 1 of ‘t64f_log__crash’ with different width due to prototype [-Wtraditional-conversion] | |
332 | t64f_log__crash(false, "Invalid I/O mode string: '%s'", io_mode_string); | |
| ^~~~~ | |
src/t64_conf_file.c: In function ‘_t64f_conf_file__determine_addressing_mode_from_string’: | |
src/t64_conf_file.c:348:21: warning: passing argument 1 of ‘t64f_log__crash’ with different width due to prototype [-Wtraditional-conversion] | |
348 | t64f_log__crash(false, "Invalid addressing mode string: '%s'", addressing_mode_string); | |
| ^~~~~ | |
src/t64_conf_file.c: In function ‘_t64f_conf_file__determine_addressing_external_transport_from_string’: | |
src/t64_conf_file.c:361:21: warning: passing argument 1 of ‘t64f_log__crash’ with different width due to prototype [-Wtraditional-conversion] | |
361 | t64f_log__crash(false, "Invalid addressing external transport string: '%s'", addressing_external_transport_string); | |
| ^~~~~ | |
cc -MD -MP -std=c11 -Wall -Wextra -Wpedantic -fanalyzer -Wformat=2 -Wformat-overflow=2 -Wformat-truncation=2 -Wformat-security -Wnull-dereference -Wstack-protector -Wtrampolines -Walloca -Wvla -Warray-bounds=2 -Wimplicit-fallthrough=3 -Wtraditional-conversion -Wshift-overflow=2 -Wcast-qual -Wstringop-overflow=4 -Wconversion -Warith-conversion -Wlogical-op -Wduplicated-cond -Wduplicated-branches -Wformat-signedness -Wshadow -Wstrict-overflow=4 -Wundef -Wstrict-prototypes -Wswitch-default -Wswitch-enum -Wstack-usage=1000000 -Wcast-align=strict -O3 -flto -pthread -fstack-protector-strong -fstack-clash-protection -fPIE -fsanitize=bounds -fsanitize-undefined-trap-on-error -D_FORTIFY_SOURCE=3 -o src/t64_conf_file_load.o -c src/t64_conf_file_load.c | |
src/t64_conf_file_load.c: In function ‘t64fa_conf_file_load__read_configuration_file’: | |
src/t64_conf_file_load.c:47:29: warning: passing argument 1 of ‘t64f_log__crash’ with different width due to prototype [-Wtraditional-conversion] | |
47 | t64f_log__crash(true, "Failed to open the configuration file: %s", filepath); | |
| ^~~~ | |
src/t64_conf_file_load.c:51:29: warning: passing argument 1 of ‘t64f_log__crash’ with different width due to prototype [-Wtraditional-conversion] | |
51 | t64f_log__crash(true, "Failed to get the file descriptor of the open configuration file: %s", filepath); | |
| ^~~~ | |
src/t64_conf_file_load.c:54:29: warning: passing argument 1 of ‘t64f_log__crash’ with different width due to prototype [-Wtraditional-conversion] | |
54 | t64f_log__crash(true, "Failed to lock the open configuration file: %s", filepath); | |
| ^~~~ | |
src/t64_conf_file_load.c:59:29: warning: passing argument 1 of ‘t64f_log__crash’ with different width due to prototype [-Wtraditional-conversion] | |
59 | t64f_log__crash(true, "Failed to unlock the open configuration file: %s", filepath); | |
| ^~~~ | |
src/t64_conf_file_load.c:62:29: warning: passing argument 1 of ‘t64f_log__crash’ with different width due to prototype [-Wtraditional-conversion] | |
62 | t64f_log__crash(true, "Failed to close the configuration file: %s", filepath); | |
| ^~~~ | |
src/t64_conf_file_load.c: In function ‘_t64fa_conf_file_load__read_open_config_file’: | |
src/t64_conf_file_load.c:70:99: warning: passing argument 1 of ‘t64fa_utils__allocate_zeroed_out_memory’ with different width due to prototype [-Wtraditional-conversion] | |
70 | t64ts_tundra__conf_file_entry **config_file_entries = t64fa_utils__allocate_zeroed_out_memory(1, sizeof(t64ts_tundra__conf_file_entry *)); | |
| ^ | |
src/t64_conf_file_load.c:83:29: warning: passing argument 1 of ‘t64f_log__crash’ with different width due to prototype [-Wtraditional-conversion] | |
83 | t64f_log__crash(false, "Line %d of the configuration file does not contain a '=' character!", line_number); | |
| ^~~~~ | |
src/t64_conf_file_load.c:89:29: warning: passing argument 1 of ‘t64f_log__crash’ with different width due to prototype [-Wtraditional-conversion] | |
89 | t64f_log__crash(false, "The entry on line %d of the configuration file does not have a key!", line_number); | |
| ^~~~~ | |
src/t64_conf_file_load.c:92:29: warning: passing argument 1 of ‘t64f_log__crash’ with different width due to prototype [-Wtraditional-conversion] | |
92 | t64f_log__crash(false, "The key '%s' is specified more than once in the configuration file!", key_ptr); | |
| ^~~~~ | |
src/t64_conf_file_load.c:94:92: warning: passing argument 1 of ‘t64fa_utils__allocate_zeroed_out_memory’ with different width due to prototype [-Wtraditional-conversion] | |
94 | t64ts_tundra__conf_file_entry *new_entry = t64fa_utils__allocate_zeroed_out_memory(1, sizeof(t64ts_tundra__conf_file_entry)); | |
| ^ | |
src/t64_conf_file_load.c: In function ‘t64f_conf_file_load__find_string’: | |
src/t64_conf_file_load.c:145:25: warning: passing argument 1 of ‘t64f_log__crash’ with different width due to prototype [-Wtraditional-conversion] | |
145 | t64f_log__crash(false, "The key '%s' could not be found in the configuration file!", key); | |
| ^~~~~ | |
src/t64_conf_file_load.c:148:25: warning: passing argument 1 of ‘t64f_log__crash’ with different width due to prototype [-Wtraditional-conversion] | |
148 | t64f_log__crash(false, "The '%s' configuration file option's string value must not be empty!", key); | |
| ^~~~~ | |
src/t64_conf_file_load.c:152:25: warning: passing argument 1 of ‘t64f_log__crash’ with different width due to prototype [-Wtraditional-conversion] | |
152 | t64f_log__crash(false, "The '%s' configuration file option's string value must not have more than %zu characters (got %zu)!", key, max_characters, string_length); | |
| ^~~~~ | |
src/t64_conf_file_load.c: In function ‘t64f_conf_file_load__find_uint64’: | |
src/t64_conf_file_load.c:158:143: warning: passing argument 4 of ‘t64f_conf_file_load__find_string’ with different width due to prototype [-Wtraditional-conversion] | |
158 | const char *string_value = t64f_conf_file_load__find_string(config_file_entries, key, T64C_CONF_FILE_LOAD__FIND_STRING_NO_MAX_CHARACTERS, false); | |
| ^~~~~ | |
src/t64_conf_file_load.c:164:25: warning: passing argument 1 of ‘t64f_log__crash’ with different width due to prototype [-Wtraditional-conversion] | |
164 | t64f_log__crash(false, "The '%s' configuration file option's value is not a valid integer: '%s'", key, string_value); | |
| ^~~~~ | |
src/t64_conf_file_load.c:167:25: warning: passing argument 1 of ‘t64f_log__crash’ with different width due to prototype [-Wtraditional-conversion] | |
167 | t64f_log__crash(false, "The '%s' configuration file option's integer value must not be less than %"PRIu64" (got %"PRIu64")!", key, min_value, integer_value); | |
| ^~~~~ | |
src/t64_conf_file_load.c:170:25: warning: passing argument 1 of ‘t64f_log__crash’ with different width due to prototype [-Wtraditional-conversion] | |
170 | t64f_log__crash(false, "The '%s' configuration file option's integer value must not be more than %"PRIu64" (got %"PRIu64")!", key, max_value, integer_value); | |
| ^~~~~ | |
src/t64_conf_file_load.c: In function ‘t64f_conf_file_load__find_boolean’: | |
src/t64_conf_file_load.c:176:143: warning: passing argument 4 of ‘t64f_conf_file_load__find_string’ with different width due to prototype [-Wtraditional-conversion] | |
176 | const char *string_value = t64f_conf_file_load__find_string(config_file_entries, key, T64C_CONF_FILE_LOAD__FIND_STRING_NO_MAX_CHARACTERS, false); | |
| ^~~~~ | |
src/t64_conf_file_load.c:197:21: warning: passing argument 1 of ‘t64f_log__crash’ with different width due to prototype [-Wtraditional-conversion] | |
197 | t64f_log__crash(false, "The '%s' configuration file option's value is not a valid boolean: '%s'", key, string_value); | |
| ^~~~~ | |
src/t64_conf_file_load.c: In function ‘t64f_conf_file_load__find_ipv4_address’: | |
src/t64_conf_file_load.c:201:143: warning: passing argument 4 of ‘t64f_conf_file_load__find_string’ with different width due to prototype [-Wtraditional-conversion] | |
201 | const char *string_value = t64f_conf_file_load__find_string(config_file_entries, key, T64C_CONF_FILE_LOAD__FIND_STRING_NO_MAX_CHARACTERS, false); | |
| ^~~~~ | |
src/t64_conf_file_load.c:208:29: warning: passing argument 1 of ‘t64f_log__crash’ with different width due to prototype [-Wtraditional-conversion] | |
208 | t64f_log__crash(false, "The '%s' configuration file option's value is not a valid IPv4 address: '%s'", key, string_value); | |
| ^~~~~ | |
src/t64_conf_file_load.c:209:57: warning: passing argument 3 of ‘memcpy’ with different width due to prototype [-Wtraditional-conversion] | |
209 | memcpy(destination, &ipv4_address_value.s_addr, 4); | |
| ^ | |
src/t64_conf_file_load.c:213:25: warning: passing argument 1 of ‘t64f_log__crash’ with different width due to prototype [-Wtraditional-conversion] | |
213 | t64f_log__crash(false, "The IPv4 address specified in the '%s' configuration file option is valid, but not usable: '%s'", key, string_value); | |
| ^~~~~ | |
src/t64_conf_file_load.c: In function ‘t64f_conf_file_load__find_ipv6_address’: | |
src/t64_conf_file_load.c:217:143: warning: passing argument 4 of ‘t64f_conf_file_load__find_string’ with different width due to prototype [-Wtraditional-conversion] | |
217 | const char *string_value = t64f_conf_file_load__find_string(config_file_entries, key, T64C_CONF_FILE_LOAD__FIND_STRING_NO_MAX_CHARACTERS, false); | |
| ^~~~~ | |
src/t64_conf_file_load.c:224:29: warning: passing argument 1 of ‘t64f_log__crash’ with different width due to prototype [-Wtraditional-conversion] | |
224 | t64f_log__crash(false, "The '%s' configuration file option's value is not a valid IPv6 address: '%s'", key, string_value); | |
| ^~~~~ | |
src/t64_conf_file_load.c:225:57: warning: passing argument 3 of ‘memcpy’ with different width due to prototype [-Wtraditional-conversion] | |
225 | memcpy(destination, ipv6_address_value.s6_addr, 16); | |
| ^~ | |
src/t64_conf_file_load.c:229:25: warning: passing argument 1 of ‘t64f_log__crash’ with different width due to prototype [-Wtraditional-conversion] | |
229 | t64f_log__crash(false, "The IPv6 address specified in the '%s' configuration file option is valid, but not usable: '%s'", key, string_value); | |
| ^~~~~ | |
In file included from src/t64_conf_file_load.c:25: | |
src/t64_conf_file_load.c: In function ‘t64f_conf_file_load__find_ipv6_prefix’: | |
src/t64_utils.h:32:73: warning: passing argument 3 of ‘memcmp’ with different width due to prototype [-Wtraditional-conversion] | |
32 | #define T64M_UTILS__MEMORY_EQUAL(ptr1, ptr2, n) (memcmp((ptr1), (ptr2), (n)) == 0) | |
| ^~~ | |
src/t64_conf_file_load.c:235:9: note: in expansion of macro ‘T64M_UTILS__MEMORY_EQUAL’ | |
235 | if(!T64M_UTILS__MEMORY_EQUAL((destination + 12), "\x00\x00\x00\x00", 4)) | |
| ^~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_conf_file_load.c:236:25: warning: passing argument 1 of ‘t64f_log__crash’ with different width due to prototype [-Wtraditional-conversion] | |
236 | t64f_log__crash(false, "The last 4 bytes of '%s' must be 0, as it is supposed to be an IPv6 /96 prefix!", key); | |
| ^~~~~ | |
cc -MD -MP -std=c11 -Wall -Wextra -Wpedantic -fanalyzer -Wformat=2 -Wformat-overflow=2 -Wformat-truncation=2 -Wformat-security -Wnull-dereference -Wstack-protector -Wtrampolines -Walloca -Wvla -Warray-bounds=2 -Wimplicit-fallthrough=3 -Wtraditional-conversion -Wshift-overflow=2 -Wcast-qual -Wstringop-overflow=4 -Wconversion -Warith-conversion -Wlogical-op -Wduplicated-cond -Wduplicated-branches -Wformat-signedness -Wshadow -Wstrict-overflow=4 -Wundef -Wstrict-prototypes -Wswitch-default -Wswitch-enum -Wstack-usage=1000000 -Wcast-align=strict -O3 -flto -pthread -fstack-protector-strong -fstack-clash-protection -fPIE -fsanitize=bounds -fsanitize-undefined-trap-on-error -D_FORTIFY_SOURCE=3 -o src/t64_conf_rfc7050.o -c src/t64_conf_rfc7050.c | |
src/t64_conf_rfc7050.c: In function ‘t64f_conf_rfc7050__autodiscover_addressing_prefix_using_ipv4only_arpa’: | |
src/t64_conf_rfc7050.c:59:63: warning: cast increases required alignment of target type [-Wcast-align] | |
59 | const uint8_t *ipv6_address = (const uint8_t *) (((struct sockaddr_in6 *) current_result->ai_addr)->sin6_addr.s6_addr); | |
| ^ | |
In file included from src/t64_conf_rfc7050.c:25: | |
src/t64_utils.h:32:73: warning: passing argument 3 of ‘memcmp’ with different width due to prototype [-Wtraditional-conversion] | |
32 | #define T64M_UTILS__MEMORY_EQUAL(ptr1, ptr2, n) (memcmp((ptr1), (ptr2), (n)) == 0) | |
| ^~~ | |
src/t64_utils_ip.h:29:76: note: in expansion of macro ‘T64M_UTILS__MEMORY_EQUAL’ | |
29 | #define T64M_UTILS_IP__IPV4_ADDRESSES_EQUAL(ipv4_address1, ipv4_address2) (T64M_UTILS__MEMORY_EQUAL((ipv4_address1), (ipv4_address2), 4)) | |
| ^~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_conf_rfc7050.c:60:16: note: in expansion of macro ‘T64M_UTILS_IP__IPV4_ADDRESSES_EQUAL’ | |
60 | if(T64M_UTILS_IP__IPV4_ADDRESSES_EQUAL(ipv6_address + 12, _T64C_CONF_RFC7050__TARGET_IPV4_1) || T64M_UTILS_IP__IPV4_ADDRESSES_EQUAL(ipv6_address + 12, _T64C_CONF_RFC7050__TARGET_IPV4_2)) { | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_utils.h:32:73: warning: passing argument 3 of ‘memcmp’ with different width due to prototype [-Wtraditional-conversion] | |
32 | #define T64M_UTILS__MEMORY_EQUAL(ptr1, ptr2, n) (memcmp((ptr1), (ptr2), (n)) == 0) | |
| ^~~ | |
src/t64_utils_ip.h:29:76: note: in expansion of macro ‘T64M_UTILS__MEMORY_EQUAL’ | |
29 | #define T64M_UTILS_IP__IPV4_ADDRESSES_EQUAL(ipv4_address1, ipv4_address2) (T64M_UTILS__MEMORY_EQUAL((ipv4_address1), (ipv4_address2), 4)) | |
| ^~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_conf_rfc7050.c:60:109: note: in expansion of macro ‘T64M_UTILS_IP__IPV4_ADDRESSES_EQUAL’ | |
60 | if(T64M_UTILS_IP__IPV4_ADDRESSES_EQUAL(ipv6_address + 12, _T64C_CONF_RFC7050__TARGET_IPV4_1) || T64M_UTILS_IP__IPV4_ADDRESSES_EQUAL(ipv6_address + 12, _T64C_CONF_RFC7050__TARGET_IPV4_2)) { | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_conf_rfc7050.c:61:51: warning: passing argument 3 of ‘memcpy’ with different width due to prototype [-Wtraditional-conversion] | |
61 | memcpy(destination, ipv6_address, 12); | |
| ^~ | |
src/t64_utils.h:33:69: warning: passing argument 3 of ‘memset’ with different width due to prototype [-Wtraditional-conversion] | |
33 | #define T64M_UTILS__MEMORY_ZERO_OUT(memory, n) (memset((memory), 0, (n))) | |
| ^~~ | |
src/t64_conf_rfc7050.c:62:17: note: in expansion of macro ‘T64M_UTILS__MEMORY_ZERO_OUT’ | |
62 | T64M_UTILS__MEMORY_ZERO_OUT(destination + 12, 4); | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_conf_rfc7050.c: In function ‘_t64f_conf_rfc7050__print_info_log_message_on_finish’: | |
src/t64_conf_rfc7050.c:82:55: warning: passing argument 3 of ‘memcpy’ with different width due to prototype [-Wtraditional-conversion] | |
82 | memcpy(address_struct.s6_addr, found_ipv6_prefix, 16); | |
| ^~ | |
src/t64_conf_rfc7050.c:86:25: warning: passing argument 1 of ‘t64f_log__crash’ with different width due to prototype [-Wtraditional-conversion] | |
86 | t64f_log__crash(true, "[RFC 7050] Failed to convert the auto-discovered translation prefix from binary to string form!"); | |
| ^~~~ | |
cc -MD -MP -std=c11 -Wall -Wextra -Wpedantic -fanalyzer -Wformat=2 -Wformat-overflow=2 -Wformat-truncation=2 -Wformat-security -Wnull-dereference -Wstack-protector -Wtrampolines -Walloca -Wvla -Warray-bounds=2 -Wimplicit-fallthrough=3 -Wtraditional-conversion -Wshift-overflow=2 -Wcast-qual -Wstringop-overflow=4 -Wconversion -Warith-conversion -Wlogical-op -Wduplicated-cond -Wduplicated-branches -Wformat-signedness -Wshadow -Wstrict-overflow=4 -Wundef -Wstrict-prototypes -Wswitch-default -Wswitch-enum -Wstack-usage=1000000 -Wcast-align=strict -O3 -flto -pthread -fstack-protector-strong -fstack-clash-protection -fPIE -fsanitize=bounds -fsanitize-undefined-trap-on-error -D_FORTIFY_SOURCE=3 -o src/t64_init.o -c src/t64_init.c | |
src/t64_init.c: In function ‘_t64f_init__initialize_program’: | |
src/t64_init.c:87:25: warning: passing argument 1 of ‘t64f_log__crash’ with different width due to prototype [-Wtraditional-conversion] | |
87 | t64f_log__crash(true, "Failed to set 'PR_SET_NO_NEW_PRIVS' to 1!"); | |
| ^~~~ | |
src/t64_init.c:90:25: warning: passing argument 1 of ‘t64f_log__crash’ with different width due to prototype [-Wtraditional-conversion] | |
90 | t64f_log__crash(false, "Failed to set the program's locale to 'C'!"); | |
| ^~~~~ | |
cc -MD -MP -std=c11 -Wall -Wextra -Wpedantic -fanalyzer -Wformat=2 -Wformat-overflow=2 -Wformat-truncation=2 -Wformat-security -Wnull-dereference -Wstack-protector -Wtrampolines -Walloca -Wvla -Warray-bounds=2 -Wimplicit-fallthrough=3 -Wtraditional-conversion -Wshift-overflow=2 -Wcast-qual -Wstringop-overflow=4 -Wconversion -Warith-conversion -Wlogical-op -Wduplicated-cond -Wduplicated-branches -Wformat-signedness -Wshadow -Wstrict-overflow=4 -Wundef -Wstrict-prototypes -Wswitch-default -Wswitch-enum -Wstack-usage=1000000 -Wcast-align=strict -O3 -flto -pthread -fstack-protector-strong -fstack-clash-protection -fPIE -fsanitize=bounds -fsanitize-undefined-trap-on-error -D_FORTIFY_SOURCE=3 -o src/t64_init_io.o -c src/t64_init_io.c | |
src/t64_init_io.c: In function ‘t64f_init_io__open_tun_interface’: | |
src/t64_init_io.c:37:39: warning: conversion from ‘int’ to ‘short int’ may change value [-Wconversion] | |
37 | tun_interface_request.ifr_flags = tun_flags; | |
| ^~~~~~~~~ | |
src/t64_init_io.c:38:107: warning: passing argument 3 of ‘t64f_utils__secure_strncpy’ with different width due to prototype [-Wtraditional-conversion] | |
38 | t64f_utils__secure_strncpy(tun_interface_request.ifr_name, file_configuration->io_tun_interface_name, IFNAMSIZ); | |
| ^~~~~~~~ | |
src/t64_init_io.c:42:25: warning: passing argument 1 of ‘t64f_log__crash’ with different width due to prototype [-Wtraditional-conversion] | |
42 | t64f_log__crash(true, "Failed to open the TUN device file: %s", file_configuration->io_tun_device_path); | |
| ^~~~ | |
src/t64_init_io.c:45:25: warning: passing argument 1 of ‘t64f_log__crash’ with different width due to prototype [-Wtraditional-conversion] | |
45 | t64f_log__crash(true, "Failed to request the TUN interface from the kernel!"); | |
| ^~~~ | |
src/t64_init_io.c:48:25: warning: passing argument 1 of ‘t64f_log__crash’ with different width due to prototype [-Wtraditional-conversion] | |
48 | t64f_log__crash(false, "The program requested a TUN interface named '%s', but got '%s' instead!", file_configuration->io_tun_interface_name, tun_interface_request.ifr_name); | |
| ^~~~~ | |
src/t64_init_io.c: In function ‘t64f_init_io__set_tun_interface_persistent’: | |
src/t64_init_io.c:55:25: warning: passing argument 1 of ‘t64f_log__crash’ with different width due to prototype [-Wtraditional-conversion] | |
55 | t64f_log__crash(true, "Failed to %s the TUN interface's persistence status!", (tun_persistent ? "set" : "unset")); | |
| ^~~~ | |
src/t64_init_io.c: In function ‘t64f_init_io__change_ownership_of_persistent_tun_interface’: | |
src/t64_init_io.c:60:25: warning: passing argument 1 of ‘t64f_log__crash’ with different width due to prototype [-Wtraditional-conversion] | |
60 | t64f_log__crash(true, "Failed to set the TUN interface's owner user to UID %"PRIdMAX"!", (intmax_t) file_configuration->io_tun_owner_user_uid); | |
| ^~~~ | |
src/t64_init_io.c:63:25: warning: passing argument 1 of ‘t64f_log__crash’ with different width due to prototype [-Wtraditional-conversion] | |
63 | t64f_log__crash(true, "Failed to set the TUN interface's owner group to GID %"PRIdMAX"!", (intmax_t) file_configuration->io_tun_owner_group_gid); | |
| ^~~~ | |
src/t64_init_io.c: In function ‘t64f_init_io__get_fd_pair_from_inherited_fds_string’: | |
src/t64_init_io.c:68:25: warning: passing argument 1 of ‘t64f_log__crash’ with different width due to prototype [-Wtraditional-conversion] | |
68 | t64f_log__crash(false, "The value of the '-%c' / '--%s' command-line option does not contain enough file descriptors for all translator threads!", short_opt, long_opt); | |
| ^~~~~ | |
src/t64_init_io.c:71:25: warning: passing argument 1 of ‘t64f_log__crash’ with different width due to prototype [-Wtraditional-conversion] | |
71 | t64f_log__crash(false, "The value of the '-%c' / '--%s' command-line option is formatted incorrectly: '%s'", short_opt, long_opt, next_fds_string_ptr); | |
| ^~~~~ | |
src/t64_init_io.c:74:25: warning: passing argument 1 of ‘t64f_log__crash’ with different width due to prototype [-Wtraditional-conversion] | |
74 | t64f_log__crash(true, "The read file descriptor %d obtained from the '-%c' / '--%s' command-line option is invalid!", *read_fd, short_opt, long_opt); | |
| ^~~~ | |
src/t64_init_io.c:77:25: warning: passing argument 1 of ‘t64f_log__crash’ with different width due to prototype [-Wtraditional-conversion] | |
77 | t64f_log__crash(true, "The write file descriptor %d obtained from the '-%c' / '--%s' command-line option is invalid!", *write_fd, short_opt, long_opt); | |
| ^~~~ | |
src/t64_init_io.c: In function ‘t64f_init_io__close_fd’: | |
src/t64_init_io.c:91:25: warning: passing argument 1 of ‘t64f_log__crash’ with different width due to prototype [-Wtraditional-conversion] | |
91 | t64f_log__crash(true, "Failed to close the file descriptor %d!", fd); | |
| ^~~~ | |
cc -MD -MP -std=c11 -Wall -Wextra -Wpedantic -fanalyzer -Wformat=2 -Wformat-overflow=2 -Wformat-truncation=2 -Wformat-security -Wnull-dereference -Wstack-protector -Wtrampolines -Walloca -Wvla -Warray-bounds=2 -Wimplicit-fallthrough=3 -Wtraditional-conversion -Wshift-overflow=2 -Wcast-qual -Wstringop-overflow=4 -Wconversion -Warith-conversion -Wlogical-op -Wduplicated-cond -Wduplicated-branches -Wformat-signedness -Wshadow -Wstrict-overflow=4 -Wundef -Wstrict-prototypes -Wswitch-default -Wswitch-enum -Wstack-usage=1000000 -Wcast-align=strict -O3 -flto -pthread -fstack-protector-strong -fstack-clash-protection -fPIE -fsanitize=bounds -fsanitize-undefined-trap-on-error -D_FORTIFY_SOURCE=3 -o src/t64_log.o -c src/t64_log.c | |
src/t64_log.c: In function ‘t64f_log__crash’: | |
src/t64_log.c:46:34: warning: passing argument 1 of ‘_t64f_log__print_log_message’ with different width due to prototype [-Wtraditional-conversion] | |
46 | _t64f_log__print_log_message(0, print_errno, T64C_LOG__CATEGORY_BANNER_CRASH, format, argument_list); | |
| ^ | |
src/t64_log.c:46:37: warning: passing argument 2 of ‘_t64f_log__print_log_message’ with different width due to prototype [-Wtraditional-conversion] | |
46 | _t64f_log__print_log_message(0, print_errno, T64C_LOG__CATEGORY_BANNER_CRASH, format, argument_list); | |
| ^~~~~~~~~~~ | |
src/t64_log.c: In function ‘t64f_log__crash_invalid_internal_state’: | |
src/t64_log.c:54:21: warning: passing argument 1 of ‘t64f_log__crash’ with different width due to prototype [-Wtraditional-conversion] | |
54 | t64f_log__crash(false, "The program's internal state is invalid (%s)!", state_description); | |
| ^~~~~ | |
src/t64_log.c: In function ‘t64f_log__thread_crash’: | |
src/t64_log.c:61:45: warning: passing argument 2 of ‘_t64f_log__print_log_message’ with different width due to prototype [-Wtraditional-conversion] | |
61 | _t64f_log__print_log_message(thread_id, print_errno, T64C_LOG__CATEGORY_BANNER_CRASH, format, argument_list); | |
| ^~~~~~~~~~~ | |
src/t64_log.c: In function ‘t64f_log__thread_crash_invalid_internal_state’: | |
src/t64_log.c:69:39: warning: passing argument 2 of ‘t64f_log__thread_crash’ with different width due to prototype [-Wtraditional-conversion] | |
69 | t64f_log__thread_crash(thread_id, false, "A thread's internal state is invalid (%s)!", state_description); | |
| ^~~~~ | |
src/t64_log.c: In function ‘t64f_log__info’: | |
src/t64_log.c:76:34: warning: passing argument 1 of ‘_t64f_log__print_log_message’ with different width due to prototype [-Wtraditional-conversion] | |
76 | _t64f_log__print_log_message(0, false, T64C_LOG__CATEGORY_BANNER_INFO, format, argument_list); | |
| ^ | |
src/t64_log.c:76:37: warning: passing argument 2 of ‘_t64f_log__print_log_message’ with different width due to prototype [-Wtraditional-conversion] | |
76 | _t64f_log__print_log_message(0, false, T64C_LOG__CATEGORY_BANNER_INFO, format, argument_list); | |
| ^~~~~ | |
src/t64_log.c: In function ‘t64f_log__thread_info’: | |
src/t64_log.c:85:45: warning: passing argument 2 of ‘_t64f_log__print_log_message’ with different width due to prototype [-Wtraditional-conversion] | |
85 | _t64f_log__print_log_message(thread_id, false, T64C_LOG__CATEGORY_BANNER_INFO, format, argument_list); | |
| ^~~~~ | |
cc -MD -MP -std=c11 -Wall -Wextra -Wpedantic -fanalyzer -Wformat=2 -Wformat-overflow=2 -Wformat-truncation=2 -Wformat-security -Wnull-dereference -Wstack-protector -Wtrampolines -Walloca -Wvla -Warray-bounds=2 -Wimplicit-fallthrough=3 -Wtraditional-conversion -Wshift-overflow=2 -Wcast-qual -Wstringop-overflow=4 -Wconversion -Warith-conversion -Wlogical-op -Wduplicated-cond -Wduplicated-branches -Wformat-signedness -Wshadow -Wstrict-overflow=4 -Wundef -Wstrict-prototypes -Wswitch-default -Wswitch-enum -Wstack-usage=1000000 -Wcast-align=strict -O3 -flto -pthread -fstack-protector-strong -fstack-clash-protection -fPIE -fsanitize=bounds -fsanitize-undefined-trap-on-error -D_FORTIFY_SOURCE=3 -o src/t64_main.o -c src/t64_main.c | |
cc -MD -MP -std=c11 -Wall -Wextra -Wpedantic -fanalyzer -Wformat=2 -Wformat-overflow=2 -Wformat-truncation=2 -Wformat-security -Wnull-dereference -Wstack-protector -Wtrampolines -Walloca -Wvla -Warray-bounds=2 -Wimplicit-fallthrough=3 -Wtraditional-conversion -Wshift-overflow=2 -Wcast-qual -Wstringop-overflow=4 -Wconversion -Warith-conversion -Wlogical-op -Wduplicated-cond -Wduplicated-branches -Wformat-signedness -Wshadow -Wstrict-overflow=4 -Wundef -Wstrict-prototypes -Wswitch-default -Wswitch-enum -Wstack-usage=1000000 -Wcast-align=strict -O3 -flto -pthread -fstack-protector-strong -fstack-clash-protection -fPIE -fsanitize=bounds -fsanitize-undefined-trap-on-error -D_FORTIFY_SOURCE=3 -o src/t64_opmode_mktun.o -c src/t64_opmode_mktun.c | |
src/t64_opmode_mktun.c: In function ‘t64f_opmode_mktun__run’: | |
src/t64_opmode_mktun.c:32:25: warning: passing argument 1 of ‘t64f_log__crash’ with different width due to prototype [-Wtraditional-conversion] | |
32 | t64f_log__crash(false, "The I/O mode is not '"T64C_CONF_FILE__IO_MODE_TUN"'; therefore, persistent TUN interfaces cannot be created!"); | |
| ^~~~~ | |
src/t64_opmode_mktun.c:36:60: warning: passing argument 2 of ‘t64f_init_io__set_tun_interface_persistent’ with different width due to prototype [-Wtraditional-conversion] | |
36 | t64f_init_io__set_tun_interface_persistent(tun_fd, true); | |
| ^~~~ | |
src/t64_opmode_mktun.c:38:40: warning: passing argument 2 of ‘t64f_init_io__close_fd’ with different width due to prototype [-Wtraditional-conversion] | |
38 | t64f_init_io__close_fd(tun_fd, false); | |
| ^~~~~ | |
cc -MD -MP -std=c11 -Wall -Wextra -Wpedantic -fanalyzer -Wformat=2 -Wformat-overflow=2 -Wformat-truncation=2 -Wformat-security -Wnull-dereference -Wstack-protector -Wtrampolines -Walloca -Wvla -Warray-bounds=2 -Wimplicit-fallthrough=3 -Wtraditional-conversion -Wshift-overflow=2 -Wcast-qual -Wstringop-overflow=4 -Wconversion -Warith-conversion -Wlogical-op -Wduplicated-cond -Wduplicated-branches -Wformat-signedness -Wshadow -Wstrict-overflow=4 -Wundef -Wstrict-prototypes -Wswitch-default -Wswitch-enum -Wstack-usage=1000000 -Wcast-align=strict -O3 -flto -pthread -fstack-protector-strong -fstack-clash-protection -fPIE -fsanitize=bounds -fsanitize-undefined-trap-on-error -D_FORTIFY_SOURCE=3 -o src/t64_opmode_print_config.o -c src/t64_opmode_print_config.c | |
src/t64_opmode_print_config.c: In function ‘_t64f_opmode_print_config__print_compile_time_config’: | |
src/t64_opmode_print_config.c:97:12: warning: format ‘%u’ expects argument of type ‘unsigned int’, but argument 3 has type ‘int’ [-Wformat=] | |
97 | printf("* %s = %"PRIu8"\n", _T64M_OPMODE_PRINT_CONFIG__STRINGIFY(T64C_TUNDRA__MINIMUM_GENERATED_PACKET_TTL), T64C_TUNDRA__MINIMUM_GENERATED_PACKET_TTL); | |
| ^~~~~~~~~~ | |
In file included from src/t64_tundra_includes.h:34, | |
from src/t64_tundra.h:49, | |
from src/t64_opmode_print_config.c:22: | |
/usr/include/inttypes.h:102:26: note: format string is defined here | |
102 | # define PRIu8 "u" | |
src/t64_opmode_print_config.c:98:12: warning: format ‘%u’ expects argument of type ‘unsigned int’, but argument 3 has type ‘int’ [-Wformat=] | |
98 | printf("* %s = %"PRIu8"\n", _T64M_OPMODE_PRINT_CONFIG__STRINGIFY(T64C_TUNDRA__MAXIMUM_GENERATED_PACKET_TTL), T64C_TUNDRA__MAXIMUM_GENERATED_PACKET_TTL); | |
| ^~~~~~~~~~ | |
/usr/include/inttypes.h:102:26: note: format string is defined here | |
102 | # define PRIu8 "u" | |
src/t64_opmode_print_config.c: In function ‘_t64f_opmode_print_config__print_file_io_config’: | |
src/t64_opmode_print_config.c:176:163: warning: passing argument 1 of ‘_t64f_opmode_print_config__get_printable_representation_of_boolean’ with different width due to prototype [-Wtraditional-conversion] | |
176 | printf("* %s = %s\n", T64C_CONF_FILE__OPTION_KEY_IO_TUN_MULTI_QUEUE, _t64f_opmode_print_config__get_printable_representation_of_boolean(file_configuration->io_tun_multi_queue)); | |
| ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ | |
src/t64_opmode_print_config.c: In function ‘_t64f_opmode_print_config__print_file_addressing_nat64_clat_config’: | |
src/t64_opmode_print_config.c:215:200: warning: passing argument 1 of ‘_t64f_opmode_print_config__get_printable_representation_of_boolean’ with different width due to prototype [-Wtraditional-conversion] | |
215 | printf("* %s = %s\n", T64C_CONF_FILE__OPTION_KEY_ADDRESSING_NAT64_CLAT_SIIT_ALLOW_TRANSLATION_OF_PRIVATE_IPS, _t64f_opmode_print_config__get_printable_representation_of_boolean(file_configuration->addressing_nat64_clat_siit_allow_translation_of_private_ips)); | |
| ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_opmode_print_config.c: In function ‘_t64f_opmode_print_config__print_file_addressing_siit_config’: | |
src/t64_opmode_print_config.c:222:200: warning: passing argument 1 of ‘_t64f_opmode_print_config__get_printable_representation_of_boolean’ with different width due to prototype [-Wtraditional-conversion] | |
222 | printf("* %s = %s\n", T64C_CONF_FILE__OPTION_KEY_ADDRESSING_NAT64_CLAT_SIIT_ALLOW_TRANSLATION_OF_PRIVATE_IPS, _t64f_opmode_print_config__get_printable_representation_of_boolean(file_configuration->addressing_nat64_clat_siit_allow_translation_of_private_ips)); | |
| ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_opmode_print_config.c: In function ‘_t64f_opmode_print_config__print_file_addressing_external_config’: | |
src/t64_opmode_print_config.c:228:5: warning: enumeration value ‘T64TE_TUNDRA__ADDRESSING_EXTERNAL_TRANSPORT_NONE’ not handled in switch [-Wswitch-enum] | |
228 | switch(file_configuration->addressing_external_transport) { | |
| ^~~~~~ | |
src/t64_opmode_print_config.c: In function ‘_t64f_opmode_print_config__print_file_addressing_external_tcp_config’: | |
src/t64_opmode_print_config.c:266:62: warning: cast increases required alignment of target type [-Wcast-align] | |
266 | struct sockaddr_in *sockaddr_in_struct = (struct sockaddr_in *) (current_addrinfo->ai_addr); | |
| ^ | |
In file included from /usr/include/arpa/inet.h:22, | |
from src/t64_tundra_includes.h:48: | |
src/t64_opmode_print_config.c:268:237: warning: passing argument 1 of ‘__bswap_16’ with different width due to prototype [-Wtraditional-conversion] | |
268 | printf(" - %s:%"PRIu16"\n", _t64f_opmode_print_config__get_printable_representation_of_ipv4_address((const uint8_t *) &sockaddr_in_struct->sin_addr.s_addr, string_ip_address_buf), (uint16_t) ntohs(sockaddr_in_struct->sin_port)); | |
| ~~~~~~~~~~~~~~~~~~^~~~~~~~~~ | |
src/t64_opmode_print_config.c:277:64: warning: cast increases required alignment of target type [-Wcast-align] | |
277 | struct sockaddr_in6 *sockaddr_in6_struct = (struct sockaddr_in6 *) (current_addrinfo->ai_addr); | |
| ^ | |
src/t64_opmode_print_config.c:279:242: warning: passing argument 1 of ‘__bswap_16’ with different width due to prototype [-Wtraditional-conversion] | |
279 | printf(" - [%s]:%"PRIu16"\n", _t64f_opmode_print_config__get_printable_representation_of_ipv6_address((const uint8_t *) sockaddr_in6_struct->sin6_addr.s6_addr, string_ip_address_buf), (uint16_t) ntohs(sockaddr_in6_struct->sin6_port)); | |
| ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~ | |
src/t64_opmode_print_config.c: In function ‘_t64f_opmode_print_config__print_file_translator_config’: | |
src/t64_opmode_print_config.c:295:174: warning: passing argument 1 of ‘_t64f_opmode_print_config__get_printable_representation_of_boolean’ with different width due to prototype [-Wtraditional-conversion] | |
295 | printf("* %s = %s\n", T64C_CONF_FILE__OPTION_KEY_TRANSLATOR_6TO4_COPY_DSCP_AND_ECN, _t64f_opmode_print_config__get_printable_representation_of_boolean(file_configuration->translator_6to4_copy_dscp_and_ecn)); | |
| ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_opmode_print_config.c:296:174: warning: passing argument 1 of ‘_t64f_opmode_print_config__get_printable_representation_of_boolean’ with different width due to prototype [-Wtraditional-conversion] | |
296 | printf("* %s = %s\n", T64C_CONF_FILE__OPTION_KEY_TRANSLATOR_4TO6_COPY_DSCP_AND_ECN, _t64f_opmode_print_config__get_printable_representation_of_boolean(file_configuration->translator_4to6_copy_dscp_and_ecn)); | |
| ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_opmode_print_config.c: In function ‘_t64f_opmode_print_config__get_printable_representation_of_ipv4_address’: | |
src/t64_opmode_print_config.c:316:44: warning: passing argument 3 of ‘memcpy’ with different width due to prototype [-Wtraditional-conversion] | |
316 | memcpy(&address4.s_addr, ipv4_address, 4); | |
| ^ | |
src/t64_opmode_print_config.c:319:25: warning: passing argument 1 of ‘t64f_log__crash’ with different width due to prototype [-Wtraditional-conversion] | |
319 | t64f_log__crash(true, "Failed to convert an IPv4 address from binary to string form!"); | |
| ^~~~ | |
src/t64_opmode_print_config.c: In function ‘_t64f_opmode_print_config__get_printable_representation_of_ipv6_address’: | |
src/t64_opmode_print_config.c:327:44: warning: passing argument 3 of ‘memcpy’ with different width due to prototype [-Wtraditional-conversion] | |
327 | memcpy(address6.s6_addr, ipv6_address, 16); | |
| ^~ | |
src/t64_opmode_print_config.c:330:25: warning: passing argument 1 of ‘t64f_log__crash’ with different width due to prototype [-Wtraditional-conversion] | |
330 | t64f_log__crash(true, "Failed to convert an IPv6 address from binary to string form!"); | |
| ^~~~ | |
src/t64_opmode_print_config.c: In function ‘_t64f_opmode_print_config__get_string_representation_of_addressing_external_transport’: | |
src/t64_opmode_print_config.c:390:5: warning: enumeration value ‘T64TE_TUNDRA__ADDRESSING_EXTERNAL_TRANSPORT_NONE’ not handled in switch [-Wswitch-enum] | |
390 | switch(addressing_external_transport) { | |
| ^~~~~~ | |
cc -MD -MP -std=c11 -Wall -Wextra -Wpedantic -fanalyzer -Wformat=2 -Wformat-overflow=2 -Wformat-truncation=2 -Wformat-security -Wnull-dereference -Wstack-protector -Wtrampolines -Walloca -Wvla -Warray-bounds=2 -Wimplicit-fallthrough=3 -Wtraditional-conversion -Wshift-overflow=2 -Wcast-qual -Wstringop-overflow=4 -Wconversion -Warith-conversion -Wlogical-op -Wduplicated-cond -Wduplicated-branches -Wformat-signedness -Wshadow -Wstrict-overflow=4 -Wundef -Wstrict-prototypes -Wswitch-default -Wswitch-enum -Wstack-usage=1000000 -Wcast-align=strict -O3 -flto -pthread -fstack-protector-strong -fstack-clash-protection -fPIE -fsanitize=bounds -fsanitize-undefined-trap-on-error -D_FORTIFY_SOURCE=3 -o src/t64_opmode_rmtun.o -c src/t64_opmode_rmtun.c | |
src/t64_opmode_rmtun.c: In function ‘t64f_opmode_rmtun__run’: | |
src/t64_opmode_rmtun.c:32:25: warning: passing argument 1 of ‘t64f_log__crash’ with different width due to prototype [-Wtraditional-conversion] | |
32 | t64f_log__crash(false, "The I/O mode is not '"T64C_CONF_FILE__IO_MODE_TUN"'; therefore, persistent TUN interfaces cannot be removed!"); | |
| ^~~~~ | |
src/t64_opmode_rmtun.c:36:60: warning: passing argument 2 of ‘t64f_init_io__set_tun_interface_persistent’ with different width due to prototype [-Wtraditional-conversion] | |
36 | t64f_init_io__set_tun_interface_persistent(tun_fd, false); | |
| ^~~~~ | |
src/t64_opmode_rmtun.c:37:40: warning: passing argument 2 of ‘t64f_init_io__close_fd’ with different width due to prototype [-Wtraditional-conversion] | |
37 | t64f_init_io__close_fd(tun_fd, false); | |
| ^~~~~ | |
cc -MD -MP -std=c11 -Wall -Wextra -Wpedantic -fanalyzer -Wformat=2 -Wformat-overflow=2 -Wformat-truncation=2 -Wformat-security -Wnull-dereference -Wstack-protector -Wtrampolines -Walloca -Wvla -Warray-bounds=2 -Wimplicit-fallthrough=3 -Wtraditional-conversion -Wshift-overflow=2 -Wcast-qual -Wstringop-overflow=4 -Wconversion -Warith-conversion -Wlogical-op -Wduplicated-cond -Wduplicated-branches -Wformat-signedness -Wshadow -Wstrict-overflow=4 -Wundef -Wstrict-prototypes -Wswitch-default -Wswitch-enum -Wstack-usage=1000000 -Wcast-align=strict -O3 -flto -pthread -fstack-protector-strong -fstack-clash-protection -fPIE -fsanitize=bounds -fsanitize-undefined-trap-on-error -D_FORTIFY_SOURCE=3 -o src/t64_opmode_translate.o -c src/t64_opmode_translate.c | |
src/t64_opmode_translate.c: In function ‘_t64fa_opmode_translate__initialize_xlat_thread_contexts’: | |
src/t64_opmode_translate.c:68:25: warning: passing argument 1 of ‘t64f_log__crash’ with different width due to prototype [-Wtraditional-conversion] | |
68 | t64f_log__crash(false, "Even though the program is in the '%s' I/O mode, the '-%c' / '--%s' command-line option is missing!", T64C_CONF_FILE__IO_MODE_INHERITED_FDS, T64C_CONF_CMDLINE__SHORTOPT_IO_INHERITED_FDS, T64C_CONF_CMDLINE__LONGOPT_IO_INHERITED_FDS); | |
| ^~~~~ | |
src/t64_opmode_translate.c:70:25: warning: passing argument 1 of ‘t64f_log__crash’ with different width due to prototype [-Wtraditional-conversion] | |
70 | t64f_log__crash(false, "Even though the program is configured to use the '%s' transport of the '%s' addressing mode, the '-%c' / '--%s' command-line option is missing!", T64C_CONF_FILE__ADDRESSING_EXTERNAL_TRANSPORT_INHERITED_FDS, T64C_CONF_FILE__ADDRESSING_MODE_EXTERNAL, T64C_CONF_CMDLINE__SHORTOPT_ADDRESSING_EXTERNAL_INHERITED_FDS, T64C_CONF_CMDLINE__LONGOPT_ADDRESSING_EXTERNAL_INHERITED_FDS); | |
| ^~~~~ | |
src/t64_opmode_translate.c:84:68: warning: passing argument 2 of ‘getrandom’ with different width due to prototype [-Wtraditional-conversion] | |
84 | if(getrandom(&thread_contexts[i].fragment_identifier_ipv6, 4, 0) != 4 || getrandom(&thread_contexts[i].fragment_identifier_ipv4, 2, 0) != 2) | |
| ^ | |
src/t64_opmode_translate.c:84:138: warning: passing argument 2 of ‘getrandom’ with different width due to prototype [-Wtraditional-conversion] | |
84 | if(getrandom(&thread_contexts[i].fragment_identifier_ipv6, 4, 0) != 4 || getrandom(&thread_contexts[i].fragment_identifier_ipv4, 2, 0) != 2) | |
| ^ | |
src/t64_opmode_translate.c:85:29: warning: passing argument 1 of ‘t64f_log__crash’ with different width due to prototype [-Wtraditional-conversion] | |
85 | t64f_log__crash(false, "Failed to generate fragment identifiers using the getrandom() system call!"); | |
| ^~~~~ | |
In file included from src/t64_opmode_translate.c:31: | |
src/t64_conf_cmdline.h:32:54: warning: passing argument 4 of ‘t64f_init_io__get_fd_pair_from_inherited_fds_string’ with different width due to prototype [-Wtraditional-conversion] | |
32 | #define T64C_CONF_CMDLINE__SHORTOPT_IO_INHERITED_FDS 'f' | |
| ^~~ | |
src/t64_opmode_translate.c:95:191: note: in expansion of macro ‘T64C_CONF_CMDLINE__SHORTOPT_IO_INHERITED_FDS’ | |
95 | io_next_fds_string_ptr = t64f_init_io__get_fd_pair_from_inherited_fds_string(&thread_contexts[i].packet_read_fd, &thread_contexts[i].packet_write_fd, io_next_fds_string_ptr, T64C_CONF_CMDLINE__SHORTOPT_IO_INHERITED_FDS, T64C_CONF_CMDLINE__LONGOPT_IO_INHERITED_FDS); | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_opmode_translate.c: In function ‘_t64fa_opmode_translate__initialize_external_addr_xlat_state_struct’: | |
src/t64_opmode_translate.c:120:112: warning: passing argument 1 of ‘t64fa_utils__allocate_zeroed_out_memory’ with different width due to prototype [-Wtraditional-conversion] | |
120 | t64ts_tundra__external_addr_xlat_state *external_addr_xlat_state = t64fa_utils__allocate_zeroed_out_memory(1, sizeof(t64ts_tundra__external_addr_xlat_state)); | |
| ^ | |
src/t64_conf_cmdline.h:33:71: warning: passing argument 4 of ‘t64f_init_io__get_fd_pair_from_inherited_fds_string’ with different width due to prototype [-Wtraditional-conversion] | |
33 | #define T64C_CONF_CMDLINE__SHORTOPT_ADDRESSING_EXTERNAL_INHERITED_FDS 'F' | |
| ^~~ | |
src/t64_opmode_translate.c:141:219: note: in expansion of macro ‘T64C_CONF_CMDLINE__SHORTOPT_ADDRESSING_EXTERNAL_INHERITED_FDS’ | |
141 | *addressing_external_next_fds_string_ptr = t64f_init_io__get_fd_pair_from_inherited_fds_string(&external_addr_xlat_state->read_fd, &external_addr_xlat_state->write_fd, *addressing_external_next_fds_string_ptr, T64C_CONF_CMDLINE__SHORTOPT_ADDRESSING_EXTERNAL_INHERITED_FDS, T64C_CONF_CMDLINE__LONGOPT_ADDRESSING_EXTERNAL_INHERITED_FDS); | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_opmode_translate.c:146:65: warning: passing argument 2 of ‘getrandom’ with different width due to prototype [-Wtraditional-conversion] | |
146 | if(getrandom(&external_addr_xlat_state->message_identifier, 4, 0) != 4) | |
| ^ | |
src/t64_opmode_translate.c:147:25: warning: passing argument 1 of ‘t64f_log__crash’ with different width due to prototype [-Wtraditional-conversion] | |
147 | t64f_log__crash(false, "Failed to generate a message identifier for external address translation using the getrandom() system call!"); | |
| ^~~~~ | |
src/t64_opmode_translate.c: In function ‘_t64f_opmode_translate__free_xlat_thread_contexts’: | |
src/t64_opmode_translate.c:160:67: warning: passing argument 2 of ‘t64f_init_io__close_fd’ with different width due to prototype [-Wtraditional-conversion] | |
160 | t64f_init_io__close_fd(thread_contexts[i].packet_read_fd, true); | |
| ^~~~ | |
src/t64_opmode_translate.c:161:68: warning: passing argument 2 of ‘t64f_init_io__close_fd’ with different width due to prototype [-Wtraditional-conversion] | |
161 | t64f_init_io__close_fd(thread_contexts[i].packet_write_fd, true); | |
| ^~~~ | |
src/t64_opmode_translate.c: In function ‘_t64f_opmode_translate__free_external_addr_xlat_state_struct’: | |
src/t64_opmode_translate.c:177:63: warning: passing argument 2 of ‘t64f_init_io__close_fd’ with different width due to prototype [-Wtraditional-conversion] | |
177 | t64f_init_io__close_fd(external_addr_xlat_state->read_fd, true); | |
| ^~~~ | |
src/t64_opmode_translate.c:178:64: warning: passing argument 2 of ‘t64f_init_io__close_fd’ with different width due to prototype [-Wtraditional-conversion] | |
178 | t64f_init_io__close_fd(external_addr_xlat_state->write_fd, true); | |
| ^~~~ | |
src/t64_opmode_translate.c: In function ‘_t64f_opmode_translate__daemonize’: | |
src/t64_opmode_translate.c:186:25: warning: passing argument 1 of ‘t64f_log__crash’ with different width due to prototype [-Wtraditional-conversion] | |
186 | t64f_log__crash(true, "Failed to change the program's working directory (the chdir() call failed)!"); | |
| ^~~~ | |
src/t64_opmode_translate.c:190:22: warning: passing argument 1 of ‘setgroups’ with different width due to prototype [-Wtraditional-conversion] | |
190 | if(setgroups(1, &file_configuration->program_privilege_drop_group_gid) < 0) | |
| ^ | |
src/t64_opmode_translate.c:191:29: warning: passing argument 1 of ‘t64f_log__crash’ with different width due to prototype [-Wtraditional-conversion] | |
191 | t64f_log__crash(true, "Failed to drop the program's group privileges to GID %"PRIdMAX" (the setgroups() call failed)!", (intmax_t) file_configuration->program_privilege_drop_group_gid); | |
| ^~~~ | |
src/t64_opmode_translate.c:194:29: warning: passing argument 1 of ‘t64f_log__crash’ with different width due to prototype [-Wtraditional-conversion] | |
194 | t64f_log__crash(true, "Failed to drop the program's group privileges to GID %"PRIdMAX" (the setgid() call failed)!", (intmax_t) file_configuration->program_privilege_drop_group_gid); | |
| ^~~~ | |
src/t64_opmode_translate.c:199:25: warning: passing argument 1 of ‘t64f_log__crash’ with different width due to prototype [-Wtraditional-conversion] | |
199 | t64f_log__crash(true, "Fail to drop the program's user privileges to UID %"PRIdMAX" (the setuid() call failed)!", (intmax_t) file_configuration->program_privilege_drop_user_uid); | |
| ^~~~ | |
src/t64_opmode_translate.c: In function ‘_t64f_opmode_translate__start_xlat_threads’: | |
src/t64_opmode_translate.c:207:29: warning: passing argument 1 of ‘t64f_log__crash’ with different width due to prototype [-Wtraditional-conversion] | |
207 | t64f_log__crash(true, "Failed to create a new translator thread!"); | |
| ^~~~ | |
src/t64_opmode_translate.c: In function ‘_t64f_opmode_translate__monitor_xlat_threads’: | |
src/t64_opmode_translate.c:240:33: warning: passing argument 1 of ‘t64f_log__crash’ with different width due to prototype [-Wtraditional-conversion] | |
240 | t64f_log__crash(false, "A translator thread has terminated unexpectedly!"); | |
| ^~~~~ | |
src/t64_opmode_translate.c: In function ‘_t64f_opmode_translate__terminate_xlat_threads’: | |
src/t64_opmode_translate.c:274:45: warning: passing argument 1 of ‘t64f_log__crash’ with different width due to prototype [-Wtraditional-conversion] | |
274 | t64f_log__crash(false, "Failed to inform a translator thread that it should terminate (using a signal)!"); | |
| ^~~~~ | |
src/t64_opmode_translate.c:279:37: warning: passing argument 1 of ‘t64f_log__crash’ with different width due to prototype [-Wtraditional-conversion] | |
279 | t64f_log__crash(false, "Failed to join a translator thread!"); | |
| ^~~~~ | |
cc -MD -MP -std=c11 -Wall -Wextra -Wpedantic -fanalyzer -Wformat=2 -Wformat-overflow=2 -Wformat-truncation=2 -Wformat-security -Wnull-dereference -Wstack-protector -Wtrampolines -Walloca -Wvla -Warray-bounds=2 -Wimplicit-fallthrough=3 -Wtraditional-conversion -Wshift-overflow=2 -Wcast-qual -Wstringop-overflow=4 -Wconversion -Warith-conversion -Wlogical-op -Wduplicated-cond -Wduplicated-branches -Wformat-signedness -Wshadow -Wstrict-overflow=4 -Wundef -Wstrict-prototypes -Wswitch-default -Wswitch-enum -Wstack-usage=1000000 -Wcast-align=strict -O3 -flto -pthread -fstack-protector-strong -fstack-clash-protection -fPIE -fsanitize=bounds -fsanitize-undefined-trap-on-error -D_FORTIFY_SOURCE=3 -o src/t64_opmode_validate_config.o -c src/t64_opmode_validate_config.c | |
cc -MD -MP -std=c11 -Wall -Wextra -Wpedantic -fanalyzer -Wformat=2 -Wformat-overflow=2 -Wformat-truncation=2 -Wformat-security -Wnull-dereference -Wstack-protector -Wtrampolines -Walloca -Wvla -Warray-bounds=2 -Wimplicit-fallthrough=3 -Wtraditional-conversion -Wshift-overflow=2 -Wcast-qual -Wstringop-overflow=4 -Wconversion -Warith-conversion -Wlogical-op -Wduplicated-cond -Wduplicated-branches -Wformat-signedness -Wshadow -Wstrict-overflow=4 -Wundef -Wstrict-prototypes -Wswitch-default -Wswitch-enum -Wstack-usage=1000000 -Wcast-align=strict -O3 -flto -pthread -fstack-protector-strong -fstack-clash-protection -fPIE -fsanitize=bounds -fsanitize-undefined-trap-on-error -D_FORTIFY_SOURCE=3 -o src/t64_router_ipv4.o -c src/t64_router_ipv4.c | |
src/t64_router_ipv4.c: In function ‘t64f_router_ipv4__send_icmpv4_destination_host_unreachable_message_to_in_ipv4_packet_source_host’: | |
src/t64_router_ipv4.c:36:83: warning: passing argument 2 of ‘_t64f_router_ipv4__send_icmpv4_message_to_in_ipv4_packet_source_host’ with different width due to prototype [-Wtraditional-conversion] | |
36 | _t64f_router_ipv4__send_icmpv4_message_to_in_ipv4_packet_source_host(context, 3, 1, 0); | |
| ^ | |
src/t64_router_ipv4.c:36:86: warning: passing argument 3 of ‘_t64f_router_ipv4__send_icmpv4_message_to_in_ipv4_packet_source_host’ with different width due to prototype [-Wtraditional-conversion] | |
36 | _t64f_router_ipv4__send_icmpv4_message_to_in_ipv4_packet_source_host(context, 3, 1, 0); | |
| ^ | |
src/t64_router_ipv4.c:36:89: warning: passing argument 4 of ‘_t64f_router_ipv4__send_icmpv4_message_to_in_ipv4_packet_source_host’ with different width due to prototype [-Wtraditional-conversion] | |
36 | _t64f_router_ipv4__send_icmpv4_message_to_in_ipv4_packet_source_host(context, 3, 1, 0); | |
| ^ | |
src/t64_router_ipv4.c: In function ‘t64f_router_ipv4__send_icmpv4_time_exceeded_message_to_in_ipv4_packet_source_host’: | |
src/t64_router_ipv4.c:40:83: warning: passing argument 2 of ‘_t64f_router_ipv4__send_icmpv4_message_to_in_ipv4_packet_source_host’ with different width due to prototype [-Wtraditional-conversion] | |
40 | _t64f_router_ipv4__send_icmpv4_message_to_in_ipv4_packet_source_host(context, 11, 0, 0); | |
| ^~ | |
src/t64_router_ipv4.c:40:87: warning: passing argument 3 of ‘_t64f_router_ipv4__send_icmpv4_message_to_in_ipv4_packet_source_host’ with different width due to prototype [-Wtraditional-conversion] | |
40 | _t64f_router_ipv4__send_icmpv4_message_to_in_ipv4_packet_source_host(context, 11, 0, 0); | |
| ^ | |
src/t64_router_ipv4.c:40:90: warning: passing argument 4 of ‘_t64f_router_ipv4__send_icmpv4_message_to_in_ipv4_packet_source_host’ with different width due to prototype [-Wtraditional-conversion] | |
40 | _t64f_router_ipv4__send_icmpv4_message_to_in_ipv4_packet_source_host(context, 11, 0, 0); | |
| ^ | |
src/t64_router_ipv4.c: In function ‘t64f_router_ipv4__send_icmpv4_fragmentation_needed_message_to_in_ipv4_packet_source_host’: | |
src/t64_router_ipv4.c:44:83: warning: passing argument 2 of ‘_t64f_router_ipv4__send_icmpv4_message_to_in_ipv4_packet_source_host’ with different width due to prototype [-Wtraditional-conversion] | |
44 | _t64f_router_ipv4__send_icmpv4_message_to_in_ipv4_packet_source_host(context, 3, 4, mtu); | |
| ^ | |
src/t64_router_ipv4.c:44:86: warning: passing argument 3 of ‘_t64f_router_ipv4__send_icmpv4_message_to_in_ipv4_packet_source_host’ with different width due to prototype [-Wtraditional-conversion] | |
44 | _t64f_router_ipv4__send_icmpv4_message_to_in_ipv4_packet_source_host(context, 3, 4, mtu); | |
| ^ | |
src/t64_router_ipv4.c:44:89: warning: passing argument 4 of ‘_t64f_router_ipv4__send_icmpv4_message_to_in_ipv4_packet_source_host’ with different width due to prototype [-Wtraditional-conversion] | |
44 | _t64f_router_ipv4__send_icmpv4_message_to_in_ipv4_packet_source_host(context, 3, 4, mtu); | |
| ^~~ | |
src/t64_router_ipv4.c: In function ‘_t64f_router_ipv4__send_icmpv4_message_to_in_ipv4_packet_source_host’: | |
src/t64_router_ipv4.c:53:48: warning: passing argument 1 of ‘_t64f_router_ipv4__construct_icmpv4_header’ with different width due to prototype [-Wtraditional-conversion] | |
53 | _t64f_router_ipv4__construct_icmpv4_header(icmpv4_type, icmpv4_code, rest_of_header2, &icmpv4_header); | |
| ^~~~~~~~~~~ | |
src/t64_router_ipv4.c:53:61: warning: passing argument 2 of ‘_t64f_router_ipv4__construct_icmpv4_header’ with different width due to prototype [-Wtraditional-conversion] | |
53 | _t64f_router_ipv4__construct_icmpv4_header(icmpv4_type, icmpv4_code, rest_of_header2, &icmpv4_header); | |
| ^~~~~~~~~~~ | |
src/t64_router_ipv4.c:53:74: warning: passing argument 3 of ‘_t64f_router_ipv4__construct_icmpv4_header’ with different width due to prototype [-Wtraditional-conversion] | |
53 | _t64f_router_ipv4__construct_icmpv4_header(icmpv4_type, icmpv4_code, rest_of_header2, &icmpv4_header); | |
| ^~~~~~~~~~~~~~~ | |
src/t64_router_ipv4.c:63:115: warning: passing argument 2 of ‘t64f_checksum__calculate_rfc1071_checksum_for_ipv4’ with different width due to prototype [-Wtraditional-conversion] | |
63 | icmpv4_header.checksum = t64f_checksum__calculate_rfc1071_checksum_for_ipv4((const uint8_t *) &icmpv4_header, 8, icmpv4_payload_ptr, icmpv4_payload_size, NULL); | |
| ^ | |
src/t64_router_ipv4.c:65:93: warning: passing argument 4 of ‘t64f_xlat_io__send_ipv4_packet’ with different width due to prototype [-Wtraditional-conversion] | |
65 | t64f_xlat_io__send_ipv4_packet(context, &ipv4_header, (const uint8_t *) &icmpv4_header, 8, icmpv4_payload_ptr, icmpv4_payload_size); | |
| ^ | |
src/t64_router_ipv4.c: In function ‘_t64f_router_ipv4__construct_ipv4_header_for_icmpv4_message’: | |
src/t64_router_ipv4.c:72:42: warning: cast increases required alignment of target type [-Wcast-align] | |
72 | const struct iphdr *in_ipv4_header = (const struct iphdr *) context->in_packet_buffer; | |
| ^ | |
src/t64_router_ipv4.c:85:74: warning: passing argument 3 of ‘memcpy’ with different width due to prototype [-Wtraditional-conversion] | |
85 | memcpy(&out_ipv4_header->saddr, context->configuration->router_ipv4, 4); | |
| ^ | |
src/t64_router_ipv4.c:86:61: warning: passing argument 3 of ‘memcpy’ with different width due to prototype [-Wtraditional-conversion] | |
86 | memcpy(&out_ipv4_header->daddr, &in_ipv4_header->saddr, 4); | |
| ^ | |
In file included from /usr/include/arpa/inet.h:22, | |
from src/t64_tundra_includes.h:48, | |
from src/t64_tundra.h:49, | |
from src/t64_router_ipv4.c:22: | |
src/t64_router_ipv4.c: In function ‘_t64f_router_ipv4__construct_icmpv4_header’: | |
src/t64_router_ipv4.c:97:38: warning: passing argument 1 of ‘__bswap_16’ with different width due to prototype [-Wtraditional-conversion] | |
97 | out_icmpv4_header_raw[3] = htons(rest_of_header2); | |
| ^~~~~~~~~~~~~~~ | |
cc -MD -MP -std=c11 -Wall -Wextra -Wpedantic -fanalyzer -Wformat=2 -Wformat-overflow=2 -Wformat-truncation=2 -Wformat-security -Wnull-dereference -Wstack-protector -Wtrampolines -Walloca -Wvla -Warray-bounds=2 -Wimplicit-fallthrough=3 -Wtraditional-conversion -Wshift-overflow=2 -Wcast-qual -Wstringop-overflow=4 -Wconversion -Warith-conversion -Wlogical-op -Wduplicated-cond -Wduplicated-branches -Wformat-signedness -Wshadow -Wstrict-overflow=4 -Wundef -Wstrict-prototypes -Wswitch-default -Wswitch-enum -Wstack-usage=1000000 -Wcast-align=strict -O3 -flto -pthread -fstack-protector-strong -fstack-clash-protection -fPIE -fsanitize=bounds -fsanitize-undefined-trap-on-error -D_FORTIFY_SOURCE=3 -o src/t64_router_ipv6.o -c src/t64_router_ipv6.c | |
src/t64_router_ipv6.c: In function ‘t64f_router_ipv6__send_icmpv6_address_unreachable_message_to_in_ipv6_packet_source_host’: | |
src/t64_router_ipv6.c:36:83: warning: passing argument 2 of ‘_t64f_router_ipv6__send_icmpv6_message_to_in_ipv6_packet_source_host’ with different width due to prototype [-Wtraditional-conversion] | |
36 | _t64f_router_ipv6__send_icmpv6_message_to_in_ipv6_packet_source_host(context, 1, 3, 0); | |
| ^ | |
src/t64_router_ipv6.c:36:86: warning: passing argument 3 of ‘_t64f_router_ipv6__send_icmpv6_message_to_in_ipv6_packet_source_host’ with different width due to prototype [-Wtraditional-conversion] | |
36 | _t64f_router_ipv6__send_icmpv6_message_to_in_ipv6_packet_source_host(context, 1, 3, 0); | |
| ^ | |
src/t64_router_ipv6.c:36:89: warning: passing argument 4 of ‘_t64f_router_ipv6__send_icmpv6_message_to_in_ipv6_packet_source_host’ with different width due to prototype [-Wtraditional-conversion] | |
36 | _t64f_router_ipv6__send_icmpv6_message_to_in_ipv6_packet_source_host(context, 1, 3, 0); | |
| ^ | |
src/t64_router_ipv6.c: In function ‘t64f_router_ipv6__send_icmpv6_time_exceeded_message_to_in_ipv6_packet_source_host’: | |
src/t64_router_ipv6.c:40:83: warning: passing argument 2 of ‘_t64f_router_ipv6__send_icmpv6_message_to_in_ipv6_packet_source_host’ with different width due to prototype [-Wtraditional-conversion] | |
40 | _t64f_router_ipv6__send_icmpv6_message_to_in_ipv6_packet_source_host(context, 3, 0, 0); | |
| ^ | |
src/t64_router_ipv6.c:40:86: warning: passing argument 3 of ‘_t64f_router_ipv6__send_icmpv6_message_to_in_ipv6_packet_source_host’ with different width due to prototype [-Wtraditional-conversion] | |
40 | _t64f_router_ipv6__send_icmpv6_message_to_in_ipv6_packet_source_host(context, 3, 0, 0); | |
| ^ | |
src/t64_router_ipv6.c:40:89: warning: passing argument 4 of ‘_t64f_router_ipv6__send_icmpv6_message_to_in_ipv6_packet_source_host’ with different width due to prototype [-Wtraditional-conversion] | |
40 | _t64f_router_ipv6__send_icmpv6_message_to_in_ipv6_packet_source_host(context, 3, 0, 0); | |
| ^ | |
src/t64_router_ipv6.c: In function ‘t64f_router_ipv6__send_icmpv6_packet_too_big_message_to_in_ipv6_packet_source_host’: | |
src/t64_router_ipv6.c:44:83: warning: passing argument 2 of ‘_t64f_router_ipv6__send_icmpv6_message_to_in_ipv6_packet_source_host’ with different width due to prototype [-Wtraditional-conversion] | |
44 | _t64f_router_ipv6__send_icmpv6_message_to_in_ipv6_packet_source_host(context, 2, 0, mtu); | |
| ^ | |
src/t64_router_ipv6.c:44:86: warning: passing argument 3 of ‘_t64f_router_ipv6__send_icmpv6_message_to_in_ipv6_packet_source_host’ with different width due to prototype [-Wtraditional-conversion] | |
44 | _t64f_router_ipv6__send_icmpv6_message_to_in_ipv6_packet_source_host(context, 2, 0, mtu); | |
| ^ | |
src/t64_router_ipv6.c:44:89: warning: passing argument 4 of ‘_t64f_router_ipv6__send_icmpv6_message_to_in_ipv6_packet_source_host’ with different width due to prototype [-Wtraditional-conversion] | |
44 | _t64f_router_ipv6__send_icmpv6_message_to_in_ipv6_packet_source_host(context, 2, 0, mtu); | |
| ^~~ | |
src/t64_router_ipv6.c: In function ‘_t64f_router_ipv6__send_icmpv6_message_to_in_ipv6_packet_source_host’: | |
src/t64_router_ipv6.c:53:48: warning: passing argument 1 of ‘_t64f_router_ipv6__construct_icmpv6_header’ with different width due to prototype [-Wtraditional-conversion] | |
53 | _t64f_router_ipv6__construct_icmpv6_header(icmpv6_type, icmpv6_code, rest_of_header2, &icmpv6_header); | |
| ^~~~~~~~~~~ | |
src/t64_router_ipv6.c:53:61: warning: passing argument 2 of ‘_t64f_router_ipv6__construct_icmpv6_header’ with different width due to prototype [-Wtraditional-conversion] | |
53 | _t64f_router_ipv6__construct_icmpv6_header(icmpv6_type, icmpv6_code, rest_of_header2, &icmpv6_header); | |
| ^~~~~~~~~~~ | |
src/t64_router_ipv6.c:53:74: warning: passing argument 3 of ‘_t64f_router_ipv6__construct_icmpv6_header’ with different width due to prototype [-Wtraditional-conversion] | |
53 | _t64f_router_ipv6__construct_icmpv6_header(icmpv6_type, icmpv6_code, rest_of_header2, &icmpv6_header); | |
| ^~~~~~~~~~~~~~~ | |
src/t64_router_ipv6.c:62:118: warning: passing argument 2 of ‘t64f_checksum__calculate_rfc1071_checksum_for_ipv6’ with different width due to prototype [-Wtraditional-conversion] | |
62 | icmpv6_header.icmp6_cksum = t64f_checksum__calculate_rfc1071_checksum_for_ipv6((const uint8_t *) &icmpv6_header, 8, icmpv6_payload_ptr, icmpv6_payload_size, &ipv6_header, 58); | |
| ^ | |
src/t64_router_ipv6.c:62:176: warning: passing argument 6 of ‘t64f_checksum__calculate_rfc1071_checksum_for_ipv6’ with different width due to prototype [-Wtraditional-conversion] | |
62 | icmpv6_header.icmp6_cksum = t64f_checksum__calculate_rfc1071_checksum_for_ipv6((const uint8_t *) &icmpv6_header, 8, icmpv6_payload_ptr, icmpv6_payload_size, &ipv6_header, 58); | |
| ^~ | |
src/t64_router_ipv6.c:64:99: warning: passing argument 5 of ‘t64f_xlat_io__send_ipv6_packet’ with different width due to prototype [-Wtraditional-conversion] | |
64 | t64f_xlat_io__send_ipv6_packet(context, &ipv6_header, NULL, (const uint8_t *) &icmpv6_header, 8, icmpv6_payload_ptr, icmpv6_payload_size); | |
| ^ | |
src/t64_router_ipv6.c: In function ‘_t64f_router_ipv6__construct_ipv6_header_for_icmpv6_message’: | |
src/t64_router_ipv6.c:71:44: warning: cast increases required alignment of target type [-Wcast-align] | |
71 | const struct ipv6hdr *in_ipv6_header = (const struct ipv6hdr *) context->in_packet_buffer; | |
| ^ | |
In file included from src/t64_router_ipv6.c:25: | |
src/t64_utils.h:33:69: warning: passing argument 3 of ‘memset’ with different width due to prototype [-Wtraditional-conversion] | |
33 | #define T64M_UTILS__MEMORY_ZERO_OUT(memory, n) (memset((memory), 0, (n))) | |
| ^~~ | |
src/t64_router_ipv6.c:77:5: note: in expansion of macro ‘T64M_UTILS__MEMORY_ZERO_OUT’ | |
77 | T64M_UTILS__MEMORY_ZERO_OUT(out_ipv6_header->flow_lbl, 3); | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_router_ipv6.c:81:81: warning: passing argument 3 of ‘memcpy’ with different width due to prototype [-Wtraditional-conversion] | |
81 | memcpy(out_ipv6_header->saddr.s6_addr, context->configuration->router_ipv6, 16); | |
| ^~ | |
src/t64_router_ipv6.c:82:75: warning: passing argument 3 of ‘memcpy’ with different width due to prototype [-Wtraditional-conversion] | |
82 | memcpy(out_ipv6_header->daddr.s6_addr, in_ipv6_header->saddr.s6_addr, 16); | |
| ^~ | |
In file included from /usr/include/arpa/inet.h:22, | |
from src/t64_tundra_includes.h:48, | |
from src/t64_tundra.h:49, | |
from src/t64_router_ipv6.c:22: | |
src/t64_router_ipv6.c: In function ‘_t64f_router_ipv6__construct_icmpv6_header’: | |
src/t64_router_ipv6.c:93:38: warning: passing argument 1 of ‘__bswap_16’ with different width due to prototype [-Wtraditional-conversion] | |
93 | out_icmpv6_header_raw[3] = htons(rest_of_header2); | |
| ^~~~~~~~~~~~~~~ | |
cc -MD -MP -std=c11 -Wall -Wextra -Wpedantic -fanalyzer -Wformat=2 -Wformat-overflow=2 -Wformat-truncation=2 -Wformat-security -Wnull-dereference -Wstack-protector -Wtrampolines -Walloca -Wvla -Warray-bounds=2 -Wimplicit-fallthrough=3 -Wtraditional-conversion -Wshift-overflow=2 -Wcast-qual -Wstringop-overflow=4 -Wconversion -Warith-conversion -Wlogical-op -Wduplicated-cond -Wduplicated-branches -Wformat-signedness -Wshadow -Wstrict-overflow=4 -Wundef -Wstrict-prototypes -Wswitch-default -Wswitch-enum -Wstack-usage=1000000 -Wcast-align=strict -O3 -flto -pthread -fstack-protector-strong -fstack-clash-protection -fPIE -fsanitize=bounds -fsanitize-undefined-trap-on-error -D_FORTIFY_SOURCE=3 -o src/t64_signal.o -c src/t64_signal.c | |
src/t64_signal.c: In function ‘_t64f_signal__termination_signal_handler_function’: | |
src/t64_signal.c:63:45: warning: passing argument 1 of ‘syscall’ with different width due to prototype [-Wtraditional-conversion] | |
63 | pid_t this_thread_pid = (pid_t) syscall(SYS_gettid); // The gettid() wrapper function is not available on some platforms, namely on older versions of OpenWRT | |
| ^~~~~~~~~~ | |
src/t64_signal.c: In function ‘_t64f_signal__ignore_signal’: | |
src/t64_signal.c:84:25: warning: passing argument 1 of ‘t64f_log__crash’ with different width due to prototype [-Wtraditional-conversion] | |
84 | t64f_log__crash(true, "Failed to ignore the signal with number %d!", signal_number); | |
| ^~~~ | |
src/t64_signal.c: In function ‘_t64f_signal__set_signal_handler’: | |
src/t64_signal.c:96:25: warning: passing argument 1 of ‘t64f_log__crash’ with different width due to prototype [-Wtraditional-conversion] | |
96 | t64f_log__crash(true, "Failed to set a handler for the signal with number %d!", signal_number); | |
| ^~~~ | |
src/t64_signal.c: In function ‘_t64f_signal__termination_signal_handler_function’: | |
src/t64_signal.c:67:9: warning: ignoring return value of ‘write’ declared with attribute ‘warn_unused_result’ [-Wunused-result] | |
67 | write(STDERR_FILENO, _T64C_SIGNAL__MAIN_THREAD_TERMINATION_SIGNAL_MESSAGE, strlen(_T64C_SIGNAL__MAIN_THREAD_TERMINATION_SIGNAL_MESSAGE)); | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
cc -MD -MP -std=c11 -Wall -Wextra -Wpedantic -fanalyzer -Wformat=2 -Wformat-overflow=2 -Wformat-truncation=2 -Wformat-security -Wnull-dereference -Wstack-protector -Wtrampolines -Walloca -Wvla -Warray-bounds=2 -Wimplicit-fallthrough=3 -Wtraditional-conversion -Wshift-overflow=2 -Wcast-qual -Wstringop-overflow=4 -Wconversion -Warith-conversion -Wlogical-op -Wduplicated-cond -Wduplicated-branches -Wformat-signedness -Wshadow -Wstrict-overflow=4 -Wundef -Wstrict-prototypes -Wswitch-default -Wswitch-enum -Wstack-usage=1000000 -Wcast-align=strict -O3 -flto -pthread -fstack-protector-strong -fstack-clash-protection -fPIE -fsanitize=bounds -fsanitize-undefined-trap-on-error -D_FORTIFY_SOURCE=3 -o src/t64_utils.o -c src/t64_utils.c | |
src/t64_utils.c: In function ‘t64fa_utils__allocate_zeroed_out_memory’: | |
src/t64_utils.c:31:25: warning: passing argument 1 of ‘t64f_log__crash’ with different width due to prototype [-Wtraditional-conversion] | |
31 | t64f_log__crash(false, "Out of memory!"); | |
| ^~~~~ | |
src/t64_utils.c: In function ‘t64fa_utils__reallocate_memory’: | |
src/t64_utils.c:39:25: warning: passing argument 1 of ‘t64f_log__crash’ with different width due to prototype [-Wtraditional-conversion] | |
39 | t64f_log__crash(false, "Out of memory!"); | |
| ^~~~~ | |
src/t64_utils.c: In function ‘t64fa_utils__duplicate_string’: | |
src/t64_utils.c:47:25: warning: passing argument 1 of ‘t64f_log__crash’ with different width due to prototype [-Wtraditional-conversion] | |
47 | t64f_log__crash(false, "Out of memory!"); | |
| ^~~~~ | |
cc -MD -MP -std=c11 -Wall -Wextra -Wpedantic -fanalyzer -Wformat=2 -Wformat-overflow=2 -Wformat-truncation=2 -Wformat-security -Wnull-dereference -Wstack-protector -Wtrampolines -Walloca -Wvla -Warray-bounds=2 -Wimplicit-fallthrough=3 -Wtraditional-conversion -Wshift-overflow=2 -Wcast-qual -Wstringop-overflow=4 -Wconversion -Warith-conversion -Wlogical-op -Wduplicated-cond -Wduplicated-branches -Wformat-signedness -Wshadow -Wstrict-overflow=4 -Wundef -Wstrict-prototypes -Wswitch-default -Wswitch-enum -Wstack-usage=1000000 -Wcast-align=strict -O3 -flto -pthread -fstack-protector-strong -fstack-clash-protection -fPIE -fsanitize=bounds -fsanitize-undefined-trap-on-error -D_FORTIFY_SOURCE=3 -o src/t64_utils_ip.o -c src/t64_utils_ip.c | |
In file included from src/t64_utils_ip.h:26, | |
from src/t64_utils_ip.c:23: | |
src/t64_utils_ip.c: In function ‘t64f_utils_ip__is_ipv4_address_unusable’: | |
src/t64_utils.h:32:73: warning: passing argument 3 of ‘memcmp’ with different width due to prototype [-Wtraditional-conversion] | |
32 | #define T64M_UTILS__MEMORY_EQUAL(ptr1, ptr2, n) (memcmp((ptr1), (ptr2), (n)) == 0) | |
| ^~~ | |
src/t64_utils_ip.h:29:76: note: in expansion of macro ‘T64M_UTILS__MEMORY_EQUAL’ | |
29 | #define T64M_UTILS_IP__IPV4_ADDRESSES_EQUAL(ipv4_address1, ipv4_address2) (T64M_UTILS__MEMORY_EQUAL((ipv4_address1), (ipv4_address2), 4)) | |
| ^~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_utils_ip.c:38:10: note: in expansion of macro ‘T64M_UTILS_IP__IPV4_ADDRESSES_EQUAL’ | |
38 | (T64M_UTILS_IP__IPV4_ADDRESSES_EQUAL(ipv4_address, "\xff\xff\xff\xff")) // 255.255.255.255/32 (Limited broadcast) | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_utils_ip.c: In function ‘t64f_utils_ip__is_ipv6_address_unusable’: | |
src/t64_utils.h:32:73: warning: passing argument 3 of ‘memcmp’ with different width due to prototype [-Wtraditional-conversion] | |
32 | #define T64M_UTILS__MEMORY_EQUAL(ptr1, ptr2, n) (memcmp((ptr1), (ptr2), (n)) == 0) | |
| ^~~ | |
src/t64_utils_ip.h:30:76: note: in expansion of macro ‘T64M_UTILS__MEMORY_EQUAL’ | |
30 | #define T64M_UTILS_IP__IPV6_ADDRESSES_EQUAL(ipv6_address1, ipv6_address2) (T64M_UTILS__MEMORY_EQUAL((ipv6_address1), (ipv6_address2), 16)) | |
| ^~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_utils_ip.c:49:10: note: in expansion of macro ‘T64M_UTILS_IP__IPV6_ADDRESSES_EQUAL’ | |
49 | (T64M_UTILS_IP__IPV6_ADDRESSES_EQUAL(ipv6_address, "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00")) || // ::/128 (Unspecified address) | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_utils.h:32:73: warning: passing argument 3 of ‘memcmp’ with different width due to prototype [-Wtraditional-conversion] | |
32 | #define T64M_UTILS__MEMORY_EQUAL(ptr1, ptr2, n) (memcmp((ptr1), (ptr2), (n)) == 0) | |
| ^~~ | |
src/t64_utils_ip.h:30:76: note: in expansion of macro ‘T64M_UTILS__MEMORY_EQUAL’ | |
30 | #define T64M_UTILS_IP__IPV6_ADDRESSES_EQUAL(ipv6_address1, ipv6_address2) (T64M_UTILS__MEMORY_EQUAL((ipv6_address1), (ipv6_address2), 16)) | |
| ^~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_utils_ip.c:50:10: note: in expansion of macro ‘T64M_UTILS_IP__IPV6_ADDRESSES_EQUAL’ | |
50 | (T64M_UTILS_IP__IPV6_ADDRESSES_EQUAL(ipv6_address, "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01")) // ::1/128 (Loopback) | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_utils_ip.c: In function ‘t64f_utils_ip__is_ipv4_address_unusable_or_private’: | |
src/t64_utils.h:32:73: warning: passing argument 3 of ‘memcmp’ with different width due to prototype [-Wtraditional-conversion] | |
32 | #define T64M_UTILS__MEMORY_EQUAL(ptr1, ptr2, n) (memcmp((ptr1), (ptr2), (n)) == 0) | |
| ^~~ | |
src/t64_utils_ip.c:62:10: note: in expansion of macro ‘T64M_UTILS__MEMORY_EQUAL’ | |
62 | (T64M_UTILS__MEMORY_EQUAL(ipv4_address, "\xc0\x00\x00", 3)) || // 192.0.0.0/24 | |
| ^~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_utils.h:32:73: warning: passing argument 3 of ‘memcmp’ with different width due to prototype [-Wtraditional-conversion] | |
32 | #define T64M_UTILS__MEMORY_EQUAL(ptr1, ptr2, n) (memcmp((ptr1), (ptr2), (n)) == 0) | |
| ^~~ | |
src/t64_utils_ip.c:63:10: note: in expansion of macro ‘T64M_UTILS__MEMORY_EQUAL’ | |
63 | (T64M_UTILS__MEMORY_EQUAL(ipv4_address, "\xc0\x00\x02", 3)) || // 192.0.2.0/24 | |
| ^~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_utils.h:32:73: warning: passing argument 3 of ‘memcmp’ with different width due to prototype [-Wtraditional-conversion] | |
32 | #define T64M_UTILS__MEMORY_EQUAL(ptr1, ptr2, n) (memcmp((ptr1), (ptr2), (n)) == 0) | |
| ^~~ | |
src/t64_utils_ip.c:64:10: note: in expansion of macro ‘T64M_UTILS__MEMORY_EQUAL’ | |
64 | (T64M_UTILS__MEMORY_EQUAL(ipv4_address, "\xc0\x58\x63", 3)) || // 192.88.99.0/24 | |
| ^~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_utils.h:32:73: warning: passing argument 3 of ‘memcmp’ with different width due to prototype [-Wtraditional-conversion] | |
32 | #define T64M_UTILS__MEMORY_EQUAL(ptr1, ptr2, n) (memcmp((ptr1), (ptr2), (n)) == 0) | |
| ^~~ | |
src/t64_utils_ip.c:67:10: note: in expansion of macro ‘T64M_UTILS__MEMORY_EQUAL’ | |
67 | (T64M_UTILS__MEMORY_EQUAL(ipv4_address, "\xc6\x33\x64", 3)) || // 198.51.100.0/24 | |
| ^~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_utils.h:32:73: warning: passing argument 3 of ‘memcmp’ with different width due to prototype [-Wtraditional-conversion] | |
32 | #define T64M_UTILS__MEMORY_EQUAL(ptr1, ptr2, n) (memcmp((ptr1), (ptr2), (n)) == 0) | |
| ^~~ | |
src/t64_utils_ip.c:68:10: note: in expansion of macro ‘T64M_UTILS__MEMORY_EQUAL’ | |
68 | (T64M_UTILS__MEMORY_EQUAL(ipv4_address, "\xcb\x00\x71", 3)) || // 203.0.113.0/24 | |
| ^~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_utils_ip.c: In function ‘t64f_utils_ip__generate_ipv6_fragment_identifier’: | |
src/t64_utils_ip.c:95:39: warning: passing argument 3 of ‘memcpy’ with different width due to prototype [-Wtraditional-conversion] | |
95 | memcpy(destination, &fragment_id, 4); | |
| ^ | |
In file included from /usr/include/arpa/inet.h:22, | |
from src/t64_tundra_includes.h:48, | |
from src/t64_tundra.h:49, | |
from src/t64_utils_ip.c:22: | |
src/t64_utils_ip.c: In function ‘t64f_utils_ip__generate_ipv4_fragment_identifier’: | |
src/t64_utils_ip.c:99:47: warning: passing argument 1 of ‘__bswap_16’ with different width due to prototype [-Wtraditional-conversion] | |
99 | const uint16_t fragment_id = htons(context->fragment_identifier_ipv4); // This prevents the program from leaking the information about its endianness | |
| ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_utils_ip.c:102:39: warning: passing argument 3 of ‘memcpy’ with different width due to prototype [-Wtraditional-conversion] | |
102 | memcpy(destination, &fragment_id, 2); | |
| ^ | |
cc -MD -MP -std=c11 -Wall -Wextra -Wpedantic -fanalyzer -Wformat=2 -Wformat-overflow=2 -Wformat-truncation=2 -Wformat-security -Wnull-dereference -Wstack-protector -Wtrampolines -Walloca -Wvla -Warray-bounds=2 -Wimplicit-fallthrough=3 -Wtraditional-conversion -Wshift-overflow=2 -Wcast-qual -Wstringop-overflow=4 -Wconversion -Warith-conversion -Wlogical-op -Wduplicated-cond -Wduplicated-branches -Wformat-signedness -Wshadow -Wstrict-overflow=4 -Wundef -Wstrict-prototypes -Wswitch-default -Wswitch-enum -Wstack-usage=1000000 -Wcast-align=strict -O3 -flto -pthread -fstack-protector-strong -fstack-clash-protection -fPIE -fsanitize=bounds -fsanitize-undefined-trap-on-error -D_FORTIFY_SOURCE=3 -o src/t64_utils_xlat_addr.o -c src/t64_utils_xlat_addr.c | |
In file included from src/t64_utils_xlat_addr.c:25: | |
src/t64_utils_xlat_addr.c: In function ‘t64f_utils_xlat_addr__nat64_clat__perform_6to4_translator_ip_translation’: | |
src/t64_utils.h:32:73: warning: passing argument 3 of ‘memcmp’ with different width due to prototype [-Wtraditional-conversion] | |
32 | #define T64M_UTILS__MEMORY_EQUAL(ptr1, ptr2, n) (memcmp((ptr1), (ptr2), (n)) == 0) | |
| ^~~ | |
src/t64_utils_ip.h:30:76: note: in expansion of macro ‘T64M_UTILS__MEMORY_EQUAL’ | |
30 | #define T64M_UTILS_IP__IPV6_ADDRESSES_EQUAL(ipv6_address1, ipv6_address2) (T64M_UTILS__MEMORY_EQUAL((ipv6_address1), (ipv6_address2), 16)) | |
| ^~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_utils_xlat_addr.c:33:9: note: in expansion of macro ‘T64M_UTILS_IP__IPV6_ADDRESSES_EQUAL’ | |
33 | if(!T64M_UTILS_IP__IPV6_ADDRESSES_EQUAL(in_ipv6, context->configuration->addressing_nat64_clat_ipv6)) | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_utils_xlat_addr.c:36:74: warning: passing argument 3 of ‘memcpy’ with different width due to prototype [-Wtraditional-conversion] | |
36 | memcpy(out_ipv4, context->configuration->addressing_nat64_clat_ipv4, 4); | |
| ^ | |
src/t64_utils_xlat_addr.c: In function ‘t64f_utils_xlat_addr__nat64_clat__perform_4to6_translator_ip_translation’: | |
src/t64_utils.h:32:73: warning: passing argument 3 of ‘memcmp’ with different width due to prototype [-Wtraditional-conversion] | |
32 | #define T64M_UTILS__MEMORY_EQUAL(ptr1, ptr2, n) (memcmp((ptr1), (ptr2), (n)) == 0) | |
| ^~~ | |
src/t64_utils_ip.h:29:76: note: in expansion of macro ‘T64M_UTILS__MEMORY_EQUAL’ | |
29 | #define T64M_UTILS_IP__IPV4_ADDRESSES_EQUAL(ipv4_address1, ipv4_address2) (T64M_UTILS__MEMORY_EQUAL((ipv4_address1), (ipv4_address2), 4)) | |
| ^~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_utils_xlat_addr.c:42:9: note: in expansion of macro ‘T64M_UTILS_IP__IPV4_ADDRESSES_EQUAL’ | |
42 | if(!T64M_UTILS_IP__IPV4_ADDRESSES_EQUAL(in_ipv4, context->configuration->addressing_nat64_clat_ipv4)) | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_utils_xlat_addr.c:45:74: warning: passing argument 3 of ‘memcpy’ with different width due to prototype [-Wtraditional-conversion] | |
45 | memcpy(out_ipv6, context->configuration->addressing_nat64_clat_ipv6, 16); | |
| ^~ | |
src/t64_utils_xlat_addr.c: In function ‘t64f_utils_xlat_addr__nat64_clat__perform_6to4_prefix_translation_for_main_packet’: | |
src/t64_utils.h:32:73: warning: passing argument 3 of ‘memcmp’ with different width due to prototype [-Wtraditional-conversion] | |
32 | #define T64M_UTILS__MEMORY_EQUAL(ptr1, ptr2, n) (memcmp((ptr1), (ptr2), (n)) == 0) | |
| ^~~ | |
src/t64_utils_ip.h:30:76: note: in expansion of macro ‘T64M_UTILS__MEMORY_EQUAL’ | |
30 | #define T64M_UTILS_IP__IPV6_ADDRESSES_EQUAL(ipv6_address1, ipv6_address2) (T64M_UTILS__MEMORY_EQUAL((ipv6_address1), (ipv6_address2), 16)) | |
| ^~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_utils_xlat_addr.c:51:8: note: in expansion of macro ‘T64M_UTILS_IP__IPV6_ADDRESSES_EQUAL’ | |
51 | if(T64M_UTILS_IP__IPV6_ADDRESSES_EQUAL(in_ipv6, context->configuration->addressing_nat64_clat_ipv6)) | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_utils.h:32:73: warning: passing argument 3 of ‘memcmp’ with different width due to prototype [-Wtraditional-conversion] | |
32 | #define T64M_UTILS__MEMORY_EQUAL(ptr1, ptr2, n) (memcmp((ptr1), (ptr2), (n)) == 0) | |
| ^~~ | |
src/t64_utils_ip.h:29:76: note: in expansion of macro ‘T64M_UTILS__MEMORY_EQUAL’ | |
29 | #define T64M_UTILS_IP__IPV4_ADDRESSES_EQUAL(ipv4_address1, ipv4_address2) (T64M_UTILS__MEMORY_EQUAL((ipv4_address1), (ipv4_address2), 4)) | |
| ^~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_utils_xlat_addr.c:57:8: note: in expansion of macro ‘T64M_UTILS_IP__IPV4_ADDRESSES_EQUAL’ | |
57 | if(T64M_UTILS_IP__IPV4_ADDRESSES_EQUAL(out_ipv4, context->configuration->addressing_nat64_clat_ipv4)) | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_utils_xlat_addr.c: In function ‘t64f_utils_xlat_addr__nat64_clat__perform_4to6_prefix_translation_for_main_packet’: | |
src/t64_utils.h:32:73: warning: passing argument 3 of ‘memcmp’ with different width due to prototype [-Wtraditional-conversion] | |
32 | #define T64M_UTILS__MEMORY_EQUAL(ptr1, ptr2, n) (memcmp((ptr1), (ptr2), (n)) == 0) | |
| ^~~ | |
src/t64_utils_ip.h:29:76: note: in expansion of macro ‘T64M_UTILS__MEMORY_EQUAL’ | |
29 | #define T64M_UTILS_IP__IPV4_ADDRESSES_EQUAL(ipv4_address1, ipv4_address2) (T64M_UTILS__MEMORY_EQUAL((ipv4_address1), (ipv4_address2), 4)) | |
| ^~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_utils_xlat_addr.c:64:8: note: in expansion of macro ‘T64M_UTILS_IP__IPV4_ADDRESSES_EQUAL’ | |
64 | if(T64M_UTILS_IP__IPV4_ADDRESSES_EQUAL(in_ipv4, context->configuration->addressing_nat64_clat_ipv4)) | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_utils.h:32:73: warning: passing argument 3 of ‘memcmp’ with different width due to prototype [-Wtraditional-conversion] | |
32 | #define T64M_UTILS__MEMORY_EQUAL(ptr1, ptr2, n) (memcmp((ptr1), (ptr2), (n)) == 0) | |
| ^~~ | |
src/t64_utils_ip.h:30:76: note: in expansion of macro ‘T64M_UTILS__MEMORY_EQUAL’ | |
30 | #define T64M_UTILS_IP__IPV6_ADDRESSES_EQUAL(ipv6_address1, ipv6_address2) (T64M_UTILS__MEMORY_EQUAL((ipv6_address1), (ipv6_address2), 16)) | |
| ^~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_utils_xlat_addr.c:70:8: note: in expansion of macro ‘T64M_UTILS_IP__IPV6_ADDRESSES_EQUAL’ | |
70 | if(T64M_UTILS_IP__IPV6_ADDRESSES_EQUAL(out_ipv6, context->configuration->addressing_nat64_clat_ipv6)) | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_utils_xlat_addr.c: In function ‘t64f_utils_xlat_addr__siit__perform_6to4_prefix_translation_for_main_packet’: | |
src/t64_utils.h:32:73: warning: passing argument 3 of ‘memcmp’ with different width due to prototype [-Wtraditional-conversion] | |
32 | #define T64M_UTILS__MEMORY_EQUAL(ptr1, ptr2, n) (memcmp((ptr1), (ptr2), (n)) == 0) | |
| ^~~ | |
src/t64_utils_ip.h:30:76: note: in expansion of macro ‘T64M_UTILS__MEMORY_EQUAL’ | |
30 | #define T64M_UTILS_IP__IPV6_ADDRESSES_EQUAL(ipv6_address1, ipv6_address2) (T64M_UTILS__MEMORY_EQUAL((ipv6_address1), (ipv6_address2), 16)) | |
| ^~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_utils_xlat_addr.c:77:8: note: in expansion of macro ‘T64M_UTILS_IP__IPV6_ADDRESSES_EQUAL’ | |
77 | if(T64M_UTILS_IP__IPV6_ADDRESSES_EQUAL(in_ipv6, context->configuration->router_ipv6)) | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_utils.h:32:73: warning: passing argument 3 of ‘memcmp’ with different width due to prototype [-Wtraditional-conversion] | |
32 | #define T64M_UTILS__MEMORY_EQUAL(ptr1, ptr2, n) (memcmp((ptr1), (ptr2), (n)) == 0) | |
| ^~~ | |
src/t64_utils_ip.h:31:73: note: in expansion of macro ‘T64M_UTILS__MEMORY_EQUAL’ | |
31 | #define T64M_UTILS_IP__IPV6_PREFIXES_EQUAL(ipv6_prefix1, ipv6_prefix2) (T64M_UTILS__MEMORY_EQUAL((ipv6_prefix1), (ipv6_prefix2), 12)) | |
| ^~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_utils_xlat_addr.c:80:9: note: in expansion of macro ‘T64M_UTILS_IP__IPV6_PREFIXES_EQUAL’ | |
80 | if(!T64M_UTILS_IP__IPV6_PREFIXES_EQUAL(in_ipv6, context->configuration->addressing_nat64_clat_siit_prefix)) | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_utils_xlat_addr.c:86:36: warning: passing argument 3 of ‘memcpy’ with different width due to prototype [-Wtraditional-conversion] | |
86 | memcpy(out_ipv4, in_ipv6 + 12, 4); | |
| ^ | |
src/t64_utils_xlat_addr.c: In function ‘t64f_utils_xlat_addr__siit__perform_4to6_prefix_translation_for_main_packet’: | |
src/t64_utils_xlat_addr.c:95:81: warning: passing argument 3 of ‘memcpy’ with different width due to prototype [-Wtraditional-conversion] | |
95 | memcpy(out_ipv6, context->configuration->addressing_nat64_clat_siit_prefix, 12); | |
| ^~ | |
src/t64_utils_xlat_addr.c:96:36: warning: passing argument 3 of ‘memcpy’ with different width due to prototype [-Wtraditional-conversion] | |
96 | memcpy(out_ipv6 + 12, in_ipv4, 4); | |
| ^ | |
src/t64_utils.h:32:73: warning: passing argument 3 of ‘memcmp’ with different width due to prototype [-Wtraditional-conversion] | |
32 | #define T64M_UTILS__MEMORY_EQUAL(ptr1, ptr2, n) (memcmp((ptr1), (ptr2), (n)) == 0) | |
| ^~~ | |
src/t64_utils_ip.h:30:76: note: in expansion of macro ‘T64M_UTILS__MEMORY_EQUAL’ | |
30 | #define T64M_UTILS_IP__IPV6_ADDRESSES_EQUAL(ipv6_address1, ipv6_address2) (T64M_UTILS__MEMORY_EQUAL((ipv6_address1), (ipv6_address2), 16)) | |
| ^~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_utils_xlat_addr.c:98:8: note: in expansion of macro ‘T64M_UTILS_IP__IPV6_ADDRESSES_EQUAL’ | |
98 | if(T64M_UTILS_IP__IPV6_ADDRESSES_EQUAL(out_ipv6, context->configuration->router_ipv6)) | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_utils_xlat_addr.c: In function ‘t64f_utils_xlat_addr__nat64_clat_siit__perform_6to4_prefix_translation_for_icmp_error_packet’: | |
src/t64_utils.h:32:73: warning: passing argument 3 of ‘memcmp’ with different width due to prototype [-Wtraditional-conversion] | |
32 | #define T64M_UTILS__MEMORY_EQUAL(ptr1, ptr2, n) (memcmp((ptr1), (ptr2), (n)) == 0) | |
| ^~~ | |
src/t64_utils_ip.h:31:73: note: in expansion of macro ‘T64M_UTILS__MEMORY_EQUAL’ | |
31 | #define T64M_UTILS_IP__IPV6_PREFIXES_EQUAL(ipv6_prefix1, ipv6_prefix2) (T64M_UTILS__MEMORY_EQUAL((ipv6_prefix1), (ipv6_prefix2), 12)) | |
| ^~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_utils_xlat_addr.c:105:9: note: in expansion of macro ‘T64M_UTILS_IP__IPV6_PREFIXES_EQUAL’ | |
105 | if(!T64M_UTILS_IP__IPV6_PREFIXES_EQUAL(in_ipv6, context->configuration->addressing_nat64_clat_siit_prefix)) | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_utils_xlat_addr.c:109:36: warning: passing argument 3 of ‘memcpy’ with different width due to prototype [-Wtraditional-conversion] | |
109 | memcpy(out_ipv4, in_ipv6 + 12, 4); | |
| ^ | |
src/t64_utils_xlat_addr.c: In function ‘t64f_utils_xlat_addr__nat64_clat_siit__perform_4to6_prefix_translation_for_icmp_error_packet’: | |
src/t64_utils_xlat_addr.c:116:81: warning: passing argument 3 of ‘memcpy’ with different width due to prototype [-Wtraditional-conversion] | |
116 | memcpy(out_ipv6, context->configuration->addressing_nat64_clat_siit_prefix, 12); | |
| ^~ | |
src/t64_utils_xlat_addr.c:117:36: warning: passing argument 3 of ‘memcpy’ with different width due to prototype [-Wtraditional-conversion] | |
117 | memcpy(out_ipv6 + 12, in_ipv4, 4); | |
| ^ | |
src/t64_utils_xlat_addr.c: In function ‘_t64f_utils_xlat_addr__nat64_clat_siit__check_embeddability_of_ipv4_into_prefix’: | |
src/t64_utils.h:32:73: warning: passing argument 3 of ‘memcmp’ with different width due to prototype [-Wtraditional-conversion] | |
32 | #define T64M_UTILS__MEMORY_EQUAL(ptr1, ptr2, n) (memcmp((ptr1), (ptr2), (n)) == 0) | |
| ^~~ | |
src/t64_utils_ip.h:29:76: note: in expansion of macro ‘T64M_UTILS__MEMORY_EQUAL’ | |
29 | #define T64M_UTILS_IP__IPV4_ADDRESSES_EQUAL(ipv4_address1, ipv4_address2) (T64M_UTILS__MEMORY_EQUAL((ipv4_address1), (ipv4_address2), 4)) | |
| ^~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_utils_xlat_addr.c:121:8: note: in expansion of macro ‘T64M_UTILS_IP__IPV4_ADDRESSES_EQUAL’ | |
121 | if(T64M_UTILS_IP__IPV4_ADDRESSES_EQUAL(ipv4_address, context->configuration->router_ipv4)) | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
cc -MD -MP -std=c11 -Wall -Wextra -Wpedantic -fanalyzer -Wformat=2 -Wformat-overflow=2 -Wformat-truncation=2 -Wformat-security -Wnull-dereference -Wstack-protector -Wtrampolines -Walloca -Wvla -Warray-bounds=2 -Wimplicit-fallthrough=3 -Wtraditional-conversion -Wshift-overflow=2 -Wcast-qual -Wstringop-overflow=4 -Wconversion -Warith-conversion -Wlogical-op -Wduplicated-cond -Wduplicated-branches -Wformat-signedness -Wshadow -Wstrict-overflow=4 -Wundef -Wstrict-prototypes -Wswitch-default -Wswitch-enum -Wstack-usage=1000000 -Wcast-align=strict -O3 -flto -pthread -fstack-protector-strong -fstack-clash-protection -fPIE -fsanitize=bounds -fsanitize-undefined-trap-on-error -D_FORTIFY_SOURCE=3 -o src/t64_xlat_4to6.o -c src/t64_xlat_4to6.c | |
src/t64_xlat_4to6.c: In function ‘_t64f_xlat_4to6__validate_and_translate_ip_header’: | |
src/t64_xlat_4to6.c:91:42: warning: cast increases required alignment of target type [-Wcast-align] | |
91 | const struct iphdr *in_ipv4_header = (const struct iphdr *) context->in_packet_buffer; | |
| ^ | |
src/t64_xlat_4to6.c:104:37: warning: conversion from ‘unsigned char’ to ‘unsigned char:4’ may change value [-Wconversion] | |
104 | out_ipv6_header->priority = (uint8_t) (in_ipv4_header->tos >> 4); | |
| ^ | |
In file included from /usr/include/arpa/inet.h:22, | |
from src/t64_tundra_includes.h:48, | |
from src/t64_tundra.h:49, | |
from src/t64_xlat_4to6.c:22: | |
src/t64_xlat_4to6.c:114:28: warning: passing argument 1 of ‘__bswap_16’ with different width due to prototype [-Wtraditional-conversion] | |
114 | if(ntohs(in_ipv4_header->tot_len) != context->in_packet_size) | |
| ~~~~~~~~~~~~~~^~~~~~~~~ | |
src/t64_utils_ip.h:33:99: warning: passing argument 1 of ‘__bswap_16’ with different width due to prototype [-Wtraditional-conversion] | |
33 | #define T64M_UTILS_IP__GET_IPV4_FRAGMENT_RESERVED_BIT(ipv4_header_ptr) (!!(ntohs((ipv4_header_ptr)->frag_off) & 0x8000)) | |
| ~~~~~~~~~~~~~~~~~^~~~~~~~~~ | |
src/t64_xlat_4to6.c:119:8: note: in expansion of macro ‘T64M_UTILS_IP__GET_IPV4_FRAGMENT_RESERVED_BIT’ | |
119 | if(T64M_UTILS_IP__GET_IPV4_FRAGMENT_RESERVED_BIT(in_ipv4_header) != 0) | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_xlat_4to6.c:125:34: warning: conversion from ‘int’ to ‘__u8’ {aka ‘unsigned char’} may change value [-Warith-conversion] | |
125 | out_ipv6_header->hop_limit = (in_ipv4_header->ttl - 1); | |
| ^ | |
src/t64_xlat_4to6.c:172:70: warning: passing argument 1 of ‘t64f_utils_ip__is_ip_protocol_number_forbidden’ with different width due to prototype [-Wtraditional-conversion] | |
172 | t64f_utils_ip__is_ip_protocol_number_forbidden(in_ipv4_header->protocol) || | |
| ~~~~~~~~~~~~~~^~~~~~~~~~ | |
src/t64_utils_ip.h:34:95: warning: passing argument 1 of ‘__bswap_16’ with different width due to prototype [-Wtraditional-conversion] | |
34 | #define T64M_UTILS_IP__GET_IPV4_DONT_FRAGMENT_BIT(ipv4_header_ptr) (!!(ntohs((ipv4_header_ptr)->frag_off) & 0x4000)) | |
| ~~~~~~~~~~~~~~~~~^~~~~~~~~~ | |
src/t64_xlat_4to6.c:178:45: note: in expansion of macro ‘T64M_UTILS_IP__GET_IPV4_DONT_FRAGMENT_BIT’ | |
178 | out_packet_data->dont_fragment = (bool) T64M_UTILS_IP__GET_IPV4_DONT_FRAGMENT_BIT(in_ipv4_header); | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_utils_ip.h:36:90: warning: passing argument 1 of ‘__bswap_16’ with different width due to prototype [-Wtraditional-conversion] | |
36 | #define T64M_UTILS_IP__GET_IPV4_FRAGMENT_OFFSET(ipv4_header_ptr) (ntohs((ipv4_header_ptr)->frag_off) & 0x1fff) | |
| ~~~~~~~~~~~~~~~~~^~~~~~~~~~ | |
src/t64_xlat_4to6.c:181:38: note: in expansion of macro ‘T64M_UTILS_IP__GET_IPV4_FRAGMENT_OFFSET’ | |
181 | const uint16_t fragment_offset = T64M_UTILS_IP__GET_IPV4_FRAGMENT_OFFSET(in_ipv4_header); | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_utils_ip.h:35:96: warning: passing argument 1 of ‘__bswap_16’ with different width due to prototype [-Wtraditional-conversion] | |
35 | #define T64M_UTILS_IP__GET_IPV4_MORE_FRAGMENTS_BIT(ipv4_header_ptr) (!!(ntohs((ipv4_header_ptr)->frag_off) & 0x2000)) | |
| ~~~~~~~~~~~~~~~~~^~~~~~~~~~ | |
src/t64_xlat_4to6.c:185:37: note: in expansion of macro ‘T64M_UTILS_IP__GET_IPV4_MORE_FRAGMENTS_BIT’ | |
185 | const uint16_t more_fragments = T64M_UTILS_IP__GET_IPV4_MORE_FRAGMENTS_BIT(in_ipv4_header); | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_utils_ip.h:36:90: warning: passing argument 1 of ‘__bswap_16’ with different width due to prototype [-Wtraditional-conversion] | |
36 | #define T64M_UTILS_IP__GET_IPV4_FRAGMENT_OFFSET(ipv4_header_ptr) (ntohs((ipv4_header_ptr)->frag_off) & 0x1fff) | |
| ~~~~~~~~~~~~~~~~~^~~~~~~~~~ | |
src/t64_utils_ip.h:38:69: note: in expansion of macro ‘T64M_UTILS_IP__GET_IPV4_FRAGMENT_OFFSET’ | |
38 | #define T64MM_UTILS_IP__IS_IPV4_PACKET_FRAGMENTED(ipv4_header_ptr) (T64M_UTILS_IP__GET_IPV4_FRAGMENT_OFFSET((ipv4_header_ptr)) != 0 || T64M_UTILS_IP__GET_IPV4_MORE_FRAGMENTS_BIT((ipv4_header_ptr)) != 0) | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_xlat_4to6.c:189:8: note: in expansion of macro ‘T64MM_UTILS_IP__IS_IPV4_PACKET_FRAGMENTED’ | |
189 | if(T64MM_UTILS_IP__IS_IPV4_PACKET_FRAGMENTED(in_ipv4_header)) { | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_utils_ip.h:35:96: warning: passing argument 1 of ‘__bswap_16’ with different width due to prototype [-Wtraditional-conversion] | |
35 | #define T64M_UTILS_IP__GET_IPV4_MORE_FRAGMENTS_BIT(ipv4_header_ptr) (!!(ntohs((ipv4_header_ptr)->frag_off) & 0x2000)) | |
| ~~~~~~~~~~~~~~~~~^~~~~~~~~~ | |
src/t64_utils_ip.h:38:136: note: in expansion of macro ‘T64M_UTILS_IP__GET_IPV4_MORE_FRAGMENTS_BIT’ | |
38 | #define T64MM_UTILS_IP__IS_IPV4_PACKET_FRAGMENTED(ipv4_header_ptr) (T64M_UTILS_IP__GET_IPV4_FRAGMENT_OFFSET((ipv4_header_ptr)) != 0 || T64M_UTILS_IP__GET_IPV4_MORE_FRAGMENTS_BIT((ipv4_header_ptr)) != 0) | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_xlat_4to6.c:189:8: note: in expansion of macro ‘T64MM_UTILS_IP__IS_IPV4_PACKET_FRAGMENTED’ | |
189 | if(T64MM_UTILS_IP__IS_IPV4_PACKET_FRAGMENTED(in_ipv4_header)) { | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_utils_ip.h:43:111: warning: passing argument 1 of ‘__bswap_16’ with different width due to prototype [-Wtraditional-conversion] | |
43 | #define T64M_UTILS_IP__CONSTRUCT_IPV6_FRAGMENT_OFFSET_AND_FLAGS_FIELD(fragment_offset, more_fragments) (htons((uint16_t) ( (((uint16_t) (fragment_offset)) << 3) | ((uint16_t) (!!(more_fragments))) ))) | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_xlat_4to6.c:194:54: note: in expansion of macro ‘T64M_UTILS_IP__CONSTRUCT_IPV6_FRAGMENT_OFFSET_AND_FLAGS_FIELD’ | |
194 | out_ipv6_fragment_header->offset_and_flags = T64M_UTILS_IP__CONSTRUCT_IPV6_FRAGMENT_OFFSET_AND_FLAGS_FIELD(fragment_offset, more_fragments); | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_xlat_4to6.c: In function ‘_t64f_xlat_4to6__translate_icmpv4_payload_to_icmpv6_and_send’: | |
src/t64_xlat_4to6.c:237:126: warning: passing argument 4 of ‘t64f_checksum__calculate_rfc1071_checksum_for_ipv4’ with different width due to prototype [-Wtraditional-conversion] | |
237 | if(t64f_checksum__calculate_rfc1071_checksum_for_ipv4(out_packet_data->payload_ptr, out_packet_data->payload_size, NULL, 0, NULL) != 0) | |
| ^ | |
src/t64_xlat_4to6.c:253:24: warning: passing argument 8 of ‘_t64f_xlat_4to6__appropriately_send_ipv6_packet’ with different width due to prototype [-Wtraditional-conversion] | |
253 | out_packet_data->dont_fragment | |
| ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~ | |
src/t64_xlat_4to6.c: In function ‘_t64f_xlat_4to6__translate_tcp_payload_and_send’: | |
src/t64_xlat_4to6.c:260:41: warning: cast increases required alignment of target type [-Wcast-align] | |
260 | struct tcphdr *new_tcp_header = (struct tcphdr *) new_tcp_payload_start_buffer; | |
| ^ | |
src/t64_xlat_4to6.c:263:80: warning: passing argument 3 of ‘memcpy’ with different width due to prototype [-Wtraditional-conversion] | |
263 | memcpy(new_tcp_payload_start_buffer, out_packet_data->payload_ptr, 24); | |
| ^~ | |
src/t64_xlat_4to6.c:265:123: warning: cast increases required alignment of target type [-Wcast-align] | |
265 | new_tcp_header->check = t64f_checksum__incrementally_recalculate_rfc1071_checksum_4to6(new_tcp_header->check, (const struct iphdr *) context->in_packet_buffer, &out_packet_data->ipv6_header); | |
| ^ | |
src/t64_xlat_4to6.c:265:114: warning: passing argument 1 of ‘t64f_checksum__incrementally_recalculate_rfc1071_checksum_4to6’ with different width due to prototype [-Wtraditional-conversion] | |
265 | new_tcp_header->check = t64f_checksum__incrementally_recalculate_rfc1071_checksum_4to6(new_tcp_header->check, (const struct iphdr *) context->in_packet_buffer, &out_packet_data->ipv6_header); | |
| ~~~~~~~~~~~~~~^~~~~~~ | |
src/t64_xlat_4to6.c:269:47: warning: passing argument 5 of ‘_t64f_xlat_4to6__appropriately_send_ipv6_packet’ with different width due to prototype [-Wtraditional-conversion] | |
269 | new_tcp_payload_start_buffer, 24, | |
| ^~ | |
src/t64_xlat_4to6.c:271:32: warning: passing argument 8 of ‘_t64f_xlat_4to6__appropriately_send_ipv6_packet’ with different width due to prototype [-Wtraditional-conversion] | |
271 | out_packet_data->dont_fragment | |
| ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~ | |
src/t64_xlat_4to6.c:276:123: warning: cast increases required alignment of target type [-Wcast-align] | |
276 | new_tcp_header->check = t64f_checksum__incrementally_recalculate_rfc1071_checksum_4to6(new_tcp_header->check, (const struct iphdr *) context->in_packet_buffer, &out_packet_data->ipv6_header); | |
| ^ | |
src/t64_xlat_4to6.c:276:114: warning: passing argument 1 of ‘t64f_checksum__incrementally_recalculate_rfc1071_checksum_4to6’ with different width due to prototype [-Wtraditional-conversion] | |
276 | new_tcp_header->check = t64f_checksum__incrementally_recalculate_rfc1071_checksum_4to6(new_tcp_header->check, (const struct iphdr *) context->in_packet_buffer, &out_packet_data->ipv6_header); | |
| ~~~~~~~~~~~~~~^~~~~~~ | |
src/t64_xlat_4to6.c:280:23: warning: passing argument 5 of ‘_t64f_xlat_4to6__appropriately_send_ipv6_packet’ with different width due to prototype [-Wtraditional-conversion] | |
280 | NULL, 0, | |
| ^ | |
src/t64_xlat_4to6.c:282:32: warning: passing argument 8 of ‘_t64f_xlat_4to6__appropriately_send_ipv6_packet’ with different width due to prototype [-Wtraditional-conversion] | |
282 | out_packet_data->dont_fragment | |
| ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~ | |
src/t64_xlat_4to6.c:288:19: warning: passing argument 5 of ‘_t64f_xlat_4to6__appropriately_send_ipv6_packet’ with different width due to prototype [-Wtraditional-conversion] | |
288 | NULL, 0, | |
| ^ | |
src/t64_xlat_4to6.c:290:28: warning: passing argument 8 of ‘_t64f_xlat_4to6__appropriately_send_ipv6_packet’ with different width due to prototype [-Wtraditional-conversion] | |
290 | out_packet_data->dont_fragment | |
| ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~ | |
src/t64_xlat_4to6.c: In function ‘_t64f_xlat_4to6__translate_udp_payload_and_send’: | |
src/t64_xlat_4to6.c:298:63: warning: passing argument 3 of ‘memcpy’ with different width due to prototype [-Wtraditional-conversion] | |
298 | memcpy(&new_udp_header, out_packet_data->payload_ptr, 8); | |
| ^ | |
src/t64_xlat_4to6.c:303:124: warning: cast increases required alignment of target type [-Wcast-align] | |
303 | const uint16_t new_checksum = t64f_checksum__incrementally_recalculate_rfc1071_checksum_4to6(new_udp_header.check, (const struct iphdr *) context->in_packet_buffer, &out_packet_data->ipv6_header); | |
| ^ | |
src/t64_xlat_4to6.c:303:116: warning: passing argument 1 of ‘t64f_checksum__incrementally_recalculate_rfc1071_checksum_4to6’ with different width due to prototype [-Wtraditional-conversion] | |
303 | const uint16_t new_checksum = t64f_checksum__incrementally_recalculate_rfc1071_checksum_4to6(new_udp_header.check, (const struct iphdr *) context->in_packet_buffer, &out_packet_data->ipv6_header); | |
| ~~~~~~~~~~~~~~^~~~~~ | |
src/t64_xlat_4to6.c:308:48: warning: passing argument 5 of ‘_t64f_xlat_4to6__appropriately_send_ipv6_packet’ with different width due to prototype [-Wtraditional-conversion] | |
308 | (const uint8_t *) &new_udp_header, 8, | |
| ^ | |
src/t64_xlat_4to6.c:310:28: warning: passing argument 8 of ‘_t64f_xlat_4to6__appropriately_send_ipv6_packet’ with different width due to prototype [-Wtraditional-conversion] | |
310 | out_packet_data->dont_fragment | |
| ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~ | |
src/t64_xlat_4to6.c:315:19: warning: passing argument 5 of ‘_t64f_xlat_4to6__appropriately_send_ipv6_packet’ with different width due to prototype [-Wtraditional-conversion] | |
315 | NULL, 0, | |
| ^ | |
src/t64_xlat_4to6.c:317:28: warning: passing argument 8 of ‘_t64f_xlat_4to6__appropriately_send_ipv6_packet’ with different width due to prototype [-Wtraditional-conversion] | |
317 | out_packet_data->dont_fragment | |
| ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~ | |
src/t64_xlat_4to6.c: In function ‘_t64f_xlat_4to6__translate_generic_payload_and_send’: | |
src/t64_xlat_4to6.c:325:15: warning: passing argument 5 of ‘_t64f_xlat_4to6__appropriately_send_ipv6_packet’ with different width due to prototype [-Wtraditional-conversion] | |
325 | NULL, 0, | |
| ^ | |
src/t64_xlat_4to6.c:327:24: warning: passing argument 8 of ‘_t64f_xlat_4to6__appropriately_send_ipv6_packet’ with different width due to prototype [-Wtraditional-conversion] | |
327 | out_packet_data->dont_fragment | |
| ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~ | |
src/t64_xlat_4to6.c: In function ‘_t64f_xlat_4to6__appropriately_send_ipv6_packet’: | |
src/t64_xlat_4to6.c:341:91: warning: conversion to ‘size_t’ {aka ‘long unsigned int’} from ‘int’ may change the sign of the result [-Wsign-conversion] | |
341 | const size_t total_packet_size = 40 + (nullable_ipv6_fragment_header != NULL ? 8 : 0) + zeroable_payload1_size_m8 + payload2_size; | |
| ^ | |
src/t64_xlat_4to6.c:352:17: warning: passing argument 2 of ‘t64f_router_ipv4__send_icmpv4_fragmentation_needed_message_to_in_ipv4_packet_source_host’ with different width due to prototype [-Wtraditional-conversion] | |
352 | (uint16_t) (context->configuration->translator_ipv6_outbound_mtu - 28) | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_xlat_4to6.c: In function ‘_t64f_xlat_4to6__fragment_and_send_ipv6_packet’: | |
src/t64_xlat_4to6.c:383:74: warning: passing argument 3 of ‘memcpy’ with different width due to prototype [-Wtraditional-conversion] | |
383 | memcpy(&new_ipv6_fragment_header, nullable_ipv6_fragment_header, 8); | |
| ^ | |
src/t64_utils_ip.h:40:108: warning: passing argument 1 of ‘__bswap_16’ with different width due to prototype [-Wtraditional-conversion] | |
40 | #define T64M_UTILS_IP__GET_IPV6_FRAGMENT_OFFSET(ipv6_fragment_header_ptr) (ntohs((ipv6_fragment_header_ptr)->offset_and_flags) >> 3) | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ | |
src/t64_xlat_4to6.c:385:40: note: in expansion of macro ‘T64M_UTILS_IP__GET_IPV6_FRAGMENT_OFFSET’ | |
385 | fragment_offset_8byte_chunks = T64M_UTILS_IP__GET_IPV6_FRAGMENT_OFFSET(nullable_ipv6_fragment_header); | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_utils_ip.h:42:120: warning: passing argument 1 of ‘__bswap_16’ with different width due to prototype [-Wtraditional-conversion] | |
42 | #define T64M_UTILS_IP__GET_IPV6_FRAGMENT_MORE_FRAGMENTS_BIT(ipv6_fragment_header_ptr) (ntohs((ipv6_fragment_header_ptr)->offset_and_flags) & 0x1) | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ | |
src/t64_xlat_4to6.c:386:51: note: in expansion of macro ‘T64M_UTILS_IP__GET_IPV6_FRAGMENT_MORE_FRAGMENTS_BIT’ | |
386 | more_fragments_after_this_packet = (bool) T64M_UTILS_IP__GET_IPV6_FRAGMENT_MORE_FRAGMENTS_BIT(nullable_ipv6_fragment_header); | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_xlat_4to6.c:408:39: warning: passing argument 7 of ‘_t64f_xlat_4to6__fragment_and_send_ipv6_packet_part’ with different width due to prototype [-Wtraditional-conversion] | |
408 | (payload2_size > 0 ? true : more_fragments_after_this_packet), | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_xlat_4to6.c:422:13: warning: passing argument 7 of ‘_t64f_xlat_4to6__fragment_and_send_ipv6_packet_part’ with different width due to prototype [-Wtraditional-conversion] | |
422 | more_fragments_after_this_packet, | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_xlat_4to6.c: In function ‘_t64f_xlat_4to6__fragment_and_send_ipv6_packet_part’: | |
src/t64_utils_ip.h:43:111: warning: passing argument 1 of ‘__bswap_16’ with different width due to prototype [-Wtraditional-conversion] | |
43 | #define T64M_UTILS_IP__CONSTRUCT_IPV6_FRAGMENT_OFFSET_AND_FLAGS_FIELD(fragment_offset, more_fragments) (htons((uint16_t) ( (((uint16_t) (fragment_offset)) << 3) | ((uint16_t) (!!(more_fragments))) ))) | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_xlat_4to6.c:447:56: note: in expansion of macro ‘T64M_UTILS_IP__CONSTRUCT_IPV6_FRAGMENT_OFFSET_AND_FLAGS_FIELD’ | |
447 | ready_ipv6_fragment_header->offset_and_flags = T64M_UTILS_IP__CONSTRUCT_IPV6_FRAGMENT_OFFSET_AND_FLAGS_FIELD( | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_xlat_4to6.c:452:156: warning: passing argument 7 of ‘t64f_xlat_io__send_ipv6_packet’ with different width due to prototype [-Wtraditional-conversion] | |
452 | t64f_xlat_io__send_ipv6_packet(context, ready_ipv6_header, ready_ipv6_fragment_header, current_payload_part_ptr, this_fragment_payload_size, NULL, 0); | |
| ^ | |
src/t64_xlat_4to6.c: In function ‘_t64f_xlat_4to6__validate_and_translate_ip_header’: | |
src/t64_xlat_4to6.c:460:1: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow] | |
460 | } | |
| ^ | |
src/t64_xlat_4to6.c:460:1: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow] | |
cc -MD -MP -std=c11 -Wall -Wextra -Wpedantic -fanalyzer -Wformat=2 -Wformat-overflow=2 -Wformat-truncation=2 -Wformat-security -Wnull-dereference -Wstack-protector -Wtrampolines -Walloca -Wvla -Warray-bounds=2 -Wimplicit-fallthrough=3 -Wtraditional-conversion -Wshift-overflow=2 -Wcast-qual -Wstringop-overflow=4 -Wconversion -Warith-conversion -Wlogical-op -Wduplicated-cond -Wduplicated-branches -Wformat-signedness -Wshadow -Wstrict-overflow=4 -Wundef -Wstrict-prototypes -Wswitch-default -Wswitch-enum -Wstack-usage=1000000 -Wcast-align=strict -O3 -flto -pthread -fstack-protector-strong -fstack-clash-protection -fPIE -fsanitize=bounds -fsanitize-undefined-trap-on-error -D_FORTIFY_SOURCE=3 -o src/t64_xlat_4to6_icmp.o -c src/t64_xlat_4to6_icmp.c | |
src/t64_xlat_4to6_icmp.c: In function ‘t64f_xlat_4to6_icmp__translate_icmpv4_to_icmpv6’: | |
src/t64_xlat_4to6_icmp.c:58:46: warning: cast increases required alignment of target type [-Wcast-align] | |
58 | const struct icmphdr *in_icmpv4_header = (const struct icmphdr *) in_packet_payload_ptr; | |
| ^ | |
src/t64_xlat_4to6_icmp.c:59:42: warning: cast increases required alignment of target type [-Wcast-align] | |
59 | struct icmp6hdr *out_icmpv6_header = (struct icmp6hdr *) out_message_data->message_start_64b; | |
| ^ | |
src/t64_xlat_4to6_icmp.c:65:25: warning: passing argument 1 of ‘_t64f_xlat_4to6_icmp__validate_and_translate_icmp_type_and_code’ with different width due to prototype [-Wtraditional-conversion] | |
65 | in_icmpv4_header->type, | |
| ~~~~~~~~~~~~~~~~^~~~~~ | |
src/t64_xlat_4to6_icmp.c:66:25: warning: passing argument 2 of ‘_t64f_xlat_4to6_icmp__validate_and_translate_icmp_type_and_code’ with different width due to prototype [-Wtraditional-conversion] | |
66 | in_icmpv4_header->code, | |
| ~~~~~~~~~~~~~~~~^~~~~~ | |
src/t64_xlat_4to6_icmp.c:80:25: warning: passing argument 4 of ‘_t64f_xlat_4to6_icmp__validate_and_translate_rest_of_icmp_header’ with different width due to prototype [-Wtraditional-conversion] | |
80 | in_icmpv4_header->type, | |
| ~~~~~~~~~~~~~~~~^~~~~~ | |
src/t64_xlat_4to6_icmp.c:81:25: warning: passing argument 5 of ‘_t64f_xlat_4to6_icmp__validate_and_translate_rest_of_icmp_header’ with different width due to prototype [-Wtraditional-conversion] | |
81 | in_icmpv4_header->code, | |
| ~~~~~~~~~~~~~~~~^~~~~~ | |
src/t64_xlat_4to6_icmp.c:109:71: warning: cast increases required alignment of target type [-Wcast-align] | |
109 | struct icmp6hdr *new_icmpv6_packet_in_error_payload_ptr = (struct icmp6hdr *) (out_message_data->message_start_64b + 48); | |
| ^ | |
src/t64_xlat_4to6_icmp.c:110:98: warning: passing argument 3 of ‘memcpy’ with different width due to prototype [-Wtraditional-conversion] | |
110 | memcpy(new_icmpv6_packet_in_error_payload_ptr, out_packet_in_error_data.payload_ptr, 8); | |
| ^ | |
src/t64_xlat_4to6_icmp.c:155:9: warning: passing argument 6 of ‘t64f_checksum__calculate_rfc1071_checksum_for_ipv6’ with different width due to prototype [-Wtraditional-conversion] | |
155 | 58 | |
| ^~ | |
src/t64_xlat_4to6_icmp.c: In function ‘_t64f_xlat_4to6_icmp__validate_and_translate_rest_of_icmp_header’: | |
src/t64_xlat_4to6_icmp.c:257:70: warning: passing argument 3 of ‘memcpy’ with different width due to prototype [-Wtraditional-conversion] | |
257 | memcpy(new_icmpv6_rest_of_header, old_icmpv4_rest_of_header, 4); | |
| ^ | |
In file included from src/t64_xlat_4to6_icmp.c:25: | |
src/t64_utils.h:32:73: warning: passing argument 3 of ‘memcmp’ with different width due to prototype [-Wtraditional-conversion] | |
32 | #define T64M_UTILS__MEMORY_EQUAL(ptr1, ptr2, n) (memcmp((ptr1), (ptr2), (n)) == 0) | |
| ^~~ | |
src/t64_xlat_4to6_icmp.c:264:17: note: in expansion of macro ‘T64M_UTILS__MEMORY_EQUAL’ | |
264 | if(!T64M_UTILS__MEMORY_EQUAL(old_icmpv4_rest_of_header, "\x00\x00\x00\x00", 4)) | |
| ^~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_utils.h:33:69: warning: passing argument 3 of ‘memset’ with different width due to prototype [-Wtraditional-conversion] | |
33 | #define T64M_UTILS__MEMORY_ZERO_OUT(memory, n) (memset((memory), 0, (n))) | |
| ^~~ | |
src/t64_xlat_4to6_icmp.c:267:13: note: in expansion of macro ‘T64M_UTILS__MEMORY_ZERO_OUT’ | |
267 | T64M_UTILS__MEMORY_ZERO_OUT(new_icmpv6_rest_of_header, 3); | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_utils.h:32:73: warning: passing argument 3 of ‘memcmp’ with different width due to prototype [-Wtraditional-conversion] | |
32 | #define T64M_UTILS__MEMORY_EQUAL(ptr1, ptr2, n) (memcmp((ptr1), (ptr2), (n)) == 0) | |
| ^~~ | |
src/t64_xlat_4to6_icmp.c:273:17: note: in expansion of macro ‘T64M_UTILS__MEMORY_EQUAL’ | |
273 | if(!T64M_UTILS__MEMORY_EQUAL(old_icmpv4_rest_of_header, "\x00\x00", 2)) | |
| ^~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_utils.h:33:69: warning: passing argument 3 of ‘memset’ with different width due to prototype [-Wtraditional-conversion] | |
33 | #define T64M_UTILS__MEMORY_ZERO_OUT(memory, n) (memset((memory), 0, (n))) | |
| ^~~ | |
src/t64_xlat_4to6_icmp.c:275:13: note: in expansion of macro ‘T64M_UTILS__MEMORY_ZERO_OUT’ | |
275 | T64M_UTILS__MEMORY_ZERO_OUT(new_icmpv6_rest_of_header, 2); | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
In file included from /usr/include/arpa/inet.h:22, | |
from src/t64_tundra_includes.h:48, | |
from src/t64_tundra.h:49, | |
from src/t64_xlat_4to6_icmp.c:22: | |
src/t64_xlat_4to6_icmp.c:277:46: warning: cast increases required alignment of target type [-Wcast-align] | |
277 | const uint16_t old_mtu = ntohs(*((const uint16_t *) (old_icmpv4_rest_of_header + 2))); | |
| ^ | |
src/t64_xlat_4to6_icmp.c:277:44: warning: passing argument 1 of ‘__bswap_16’ with different width due to prototype [-Wtraditional-conversion] | |
277 | const uint16_t old_mtu = ntohs(*((const uint16_t *) (old_icmpv4_rest_of_header + 2))); | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_xlat_4to6_icmp.c:278:149: warning: passing argument 4 of ‘_t64f_xlat_4to6_icmp__recalculate_packet_too_big_mtu’ with different width due to prototype [-Wtraditional-conversion] | |
278 | const uint16_t new_mtu = _t64f_xlat_4to6_icmp__recalculate_packet_too_big_mtu(context, old_icmpv4_payload_ptr, old_icmpv4_payload_size, old_mtu); | |
| ^~~~~~~ | |
src/t64_xlat_4to6_icmp.c:279:15: warning: cast increases required alignment of target type [-Wcast-align] | |
279 | *((uint16_t *) (new_icmpv6_rest_of_header + 2)) = htons(new_mtu); | |
| ^ | |
src/t64_xlat_4to6_icmp.c:279:69: warning: passing argument 1 of ‘__bswap_16’ with different width due to prototype [-Wtraditional-conversion] | |
279 | *((uint16_t *) (new_icmpv6_rest_of_header + 2)) = htons(new_mtu); | |
| ^~~~~~~ | |
src/t64_utils.h:32:73: warning: passing argument 3 of ‘memcmp’ with different width due to prototype [-Wtraditional-conversion] | |
32 | #define T64M_UTILS__MEMORY_EQUAL(ptr1, ptr2, n) (memcmp((ptr1), (ptr2), (n)) == 0) | |
| ^~~ | |
src/t64_xlat_4to6_icmp.c:287:13: note: in expansion of macro ‘T64M_UTILS__MEMORY_EQUAL’ | |
287 | if(!T64M_UTILS__MEMORY_EQUAL(old_icmpv4_rest_of_header + 1, "\x00\x00\x00", 3)) | |
| ^~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_utils.h:33:69: warning: passing argument 3 of ‘memset’ with different width due to prototype [-Wtraditional-conversion] | |
33 | #define T64M_UTILS__MEMORY_ZERO_OUT(memory, n) (memset((memory), 0, (n))) | |
| ^~~ | |
src/t64_xlat_4to6_icmp.c:289:9: note: in expansion of macro ‘T64M_UTILS__MEMORY_ZERO_OUT’ | |
289 | T64M_UTILS__MEMORY_ZERO_OUT(new_icmpv6_rest_of_header, 3); | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_xlat_4to6_icmp.c:291:74: warning: passing argument 1 of ‘_t64f_xlat_4to6_icmp__translate_parameter_problem_pointer’ with different width due to prototype [-Wtraditional-conversion] | |
291 | return _t64f_xlat_4to6_icmp__translate_parameter_problem_pointer(*old_icmpv4_rest_of_header, new_icmpv6_rest_of_header + 3); | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_utils.h:32:73: warning: passing argument 3 of ‘memcmp’ with different width due to prototype [-Wtraditional-conversion] | |
32 | #define T64M_UTILS__MEMORY_EQUAL(ptr1, ptr2, n) (memcmp((ptr1), (ptr2), (n)) == 0) | |
| ^~~ | |
src/t64_xlat_4to6_icmp.c:295:9: note: in expansion of macro ‘T64M_UTILS__MEMORY_EQUAL’ | |
295 | if(!T64M_UTILS__MEMORY_EQUAL(old_icmpv4_rest_of_header, "\x00\x00\x00\x00", 4)) | |
| ^~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_utils.h:33:69: warning: passing argument 3 of ‘memset’ with different width due to prototype [-Wtraditional-conversion] | |
33 | #define T64M_UTILS__MEMORY_ZERO_OUT(memory, n) (memset((memory), 0, (n))) | |
| ^~~ | |
src/t64_xlat_4to6_icmp.c:298:5: note: in expansion of macro ‘T64M_UTILS__MEMORY_ZERO_OUT’ | |
298 | T64M_UTILS__MEMORY_ZERO_OUT(new_icmpv6_rest_of_header, 4); | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_xlat_4to6_icmp.c: In function ‘_t64f_xlat_4to6_icmp__recalculate_packet_too_big_mtu’: | |
src/t64_utils.h:35:42: warning: conversion from ‘int’ to ‘uint16_t’ {aka ‘short unsigned int’} may change value [-Warith-conversion] | |
35 | #define T64MM_UTILS__MINIMUM(num1, num2) (((num1) > (num2)) ? (num2) : (num1)) | |
| ^ | |
src/t64_xlat_4to6_icmp.c:311:11: note: in expansion of macro ‘T64MM_UTILS__MINIMUM’ | |
311 | mtu = T64MM_UTILS__MINIMUM(mtu + 20, (uint16_t) context->configuration->translator_ipv6_outbound_mtu); | |
| ^~~~~~~~~~~~~~~~~~~~ | |
src/t64_utils.h:35:42: warning: conversion from ‘int’ to ‘uint16_t’ {aka ‘short unsigned int’} may change value [-Wconversion] | |
35 | #define T64MM_UTILS__MINIMUM(num1, num2) (((num1) > (num2)) ? (num2) : (num1)) | |
| ^ | |
src/t64_xlat_4to6_icmp.c:312:11: note: in expansion of macro ‘T64MM_UTILS__MINIMUM’ | |
312 | mtu = T64MM_UTILS__MINIMUM(mtu, ((uint16_t) context->configuration->translator_ipv4_outbound_mtu) + 20); | |
| ^~~~~~~~~~~~~~~~~~~~ | |
src/t64_xlat_4to6_icmp.c: In function ‘_t64f_xlat_4to6_icmp__estimate_likely_mtu_as_per_rfc1191’: | |
src/t64_xlat_4to6_icmp.c:322:43: warning: cast increases required alignment of target type [-Wcast-align] | |
322 | const struct iphdr *packet_in_error = (const struct iphdr *) old_icmpv4_payload_ptr; | |
| ^ | |
src/t64_xlat_4to6_icmp.c:323:72: warning: passing argument 1 of ‘__bswap_16’ with different width due to prototype [-Wtraditional-conversion] | |
323 | const uint16_t packet_in_error_total_length = ntohs(packet_in_error->tot_len); | |
| ~~~~~~~~~~~~~~~^~~~~~~~~ | |
src/t64_xlat_4to6_icmp.c: In function ‘_t64f_xlat_4to6_icmp__validate_and_translate_ip_header_of_packet_in_error’: | |
src/t64_xlat_4to6_icmp.c:372:42: warning: cast increases required alignment of target type [-Wcast-align] | |
372 | const struct iphdr *in_ipv4_header = (const struct iphdr *) in_icmpv4_payload_ptr; | |
| ^ | |
src/t64_xlat_4to6_icmp.c:373:39: warning: cast increases required alignment of target type [-Wcast-align] | |
373 | struct ipv6hdr *out_ipv6_header = (struct ipv6hdr *) out_packet_in_error_buffer_56b; | |
| ^ | |
src/t64_xlat_4to6_icmp.c:385:33: warning: conversion from ‘unsigned char’ to ‘unsigned char:4’ may change value [-Wconversion] | |
385 | out_ipv6_header->priority = (uint8_t) (in_ipv4_header->tos >> 4); | |
| ^ | |
src/t64_xlat_4to6_icmp.c:389:62: warning: passing argument 1 of ‘__bswap_16’ with different width due to prototype [-Wtraditional-conversion] | |
389 | out_ipv6_header->payload_len = htons(ntohs(in_ipv4_header->tot_len) - ((uint16_t) in_ipv4_header_size)); | |
| ~~~~~~~~~~~~~~^~~~~~~~~ | |
src/t64_xlat_4to6_icmp.c:389:73: warning: passing argument 1 of ‘__bswap_16’ with different width due to prototype [-Wtraditional-conversion] | |
389 | out_ipv6_header->payload_len = htons(ntohs(in_ipv4_header->tot_len) - ((uint16_t) in_ipv4_header_size)); | |
| ^ | |
src/t64_xlat_4to6_icmp.c:389:73: warning: conversion from ‘int’ to ‘__uint16_t’ {aka ‘short unsigned int’} may change value [-Warith-conversion] | |
src/t64_utils_ip.h:36:90: warning: passing argument 1 of ‘__bswap_16’ with different width due to prototype [-Wtraditional-conversion] | |
36 | #define T64M_UTILS_IP__GET_IPV4_FRAGMENT_OFFSET(ipv4_header_ptr) (ntohs((ipv4_header_ptr)->frag_off) & 0x1fff) | |
| ~~~~~~~~~~~~~~~~~^~~~~~~~~~ | |
src/t64_utils_ip.h:38:69: note: in expansion of macro ‘T64M_UTILS_IP__GET_IPV4_FRAGMENT_OFFSET’ | |
38 | #define T64MM_UTILS_IP__IS_IPV4_PACKET_FRAGMENTED(ipv4_header_ptr) (T64M_UTILS_IP__GET_IPV4_FRAGMENT_OFFSET((ipv4_header_ptr)) != 0 || T64M_UTILS_IP__GET_IPV4_MORE_FRAGMENTS_BIT((ipv4_header_ptr)) != 0) | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_xlat_4to6_icmp.c:394:8: note: in expansion of macro ‘T64MM_UTILS_IP__IS_IPV4_PACKET_FRAGMENTED’ | |
394 | if(T64MM_UTILS_IP__IS_IPV4_PACKET_FRAGMENTED(in_ipv4_header)) { | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_utils_ip.h:35:96: warning: passing argument 1 of ‘__bswap_16’ with different width due to prototype [-Wtraditional-conversion] | |
35 | #define T64M_UTILS_IP__GET_IPV4_MORE_FRAGMENTS_BIT(ipv4_header_ptr) (!!(ntohs((ipv4_header_ptr)->frag_off) & 0x2000)) | |
| ~~~~~~~~~~~~~~~~~^~~~~~~~~~ | |
src/t64_utils_ip.h:38:136: note: in expansion of macro ‘T64M_UTILS_IP__GET_IPV4_MORE_FRAGMENTS_BIT’ | |
38 | #define T64MM_UTILS_IP__IS_IPV4_PACKET_FRAGMENTED(ipv4_header_ptr) (T64M_UTILS_IP__GET_IPV4_FRAGMENT_OFFSET((ipv4_header_ptr)) != 0 || T64M_UTILS_IP__GET_IPV4_MORE_FRAGMENTS_BIT((ipv4_header_ptr)) != 0) | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_xlat_4to6_icmp.c:394:8: note: in expansion of macro ‘T64MM_UTILS_IP__IS_IPV4_PACKET_FRAGMENTED’ | |
394 | if(T64MM_UTILS_IP__IS_IPV4_PACKET_FRAGMENTED(in_ipv4_header)) { | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_utils_ip.h:36:90: warning: passing argument 1 of ‘__bswap_16’ with different width due to prototype [-Wtraditional-conversion] | |
36 | #define T64M_UTILS_IP__GET_IPV4_FRAGMENT_OFFSET(ipv4_header_ptr) (ntohs((ipv4_header_ptr)->frag_off) & 0x1fff) | |
| ~~~~~~~~~~~~~~~~~^~~~~~~~~~ | |
src/t64_xlat_4to6_icmp.c:400:54: note: in expansion of macro ‘T64M_UTILS_IP__CONSTRUCT_IPV6_FRAGMENT_OFFSET_AND_FLAGS_FIELD’ | |
400 | out_ipv6_fragment_header->offset_and_flags = T64M_UTILS_IP__CONSTRUCT_IPV6_FRAGMENT_OFFSET_AND_FLAGS_FIELD( | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_xlat_4to6_icmp.c:401:13: note: in expansion of macro ‘T64M_UTILS_IP__GET_IPV4_FRAGMENT_OFFSET’ | |
401 | T64M_UTILS_IP__GET_IPV4_FRAGMENT_OFFSET(in_ipv4_header), | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_utils_ip.h:35:96: warning: passing argument 1 of ‘__bswap_16’ with different width due to prototype [-Wtraditional-conversion] | |
35 | #define T64M_UTILS_IP__GET_IPV4_MORE_FRAGMENTS_BIT(ipv4_header_ptr) (!!(ntohs((ipv4_header_ptr)->frag_off) & 0x2000)) | |
| ~~~~~~~~~~~~~~~~~^~~~~~~~~~ | |
src/t64_xlat_4to6_icmp.c:400:54: note: in expansion of macro ‘T64M_UTILS_IP__CONSTRUCT_IPV6_FRAGMENT_OFFSET_AND_FLAGS_FIELD’ | |
400 | out_ipv6_fragment_header->offset_and_flags = T64M_UTILS_IP__CONSTRUCT_IPV6_FRAGMENT_OFFSET_AND_FLAGS_FIELD( | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_xlat_4to6_icmp.c:402:13: note: in expansion of macro ‘T64M_UTILS_IP__GET_IPV4_MORE_FRAGMENTS_BIT’ | |
402 | T64M_UTILS_IP__GET_IPV4_MORE_FRAGMENTS_BIT(in_ipv4_header) | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_utils_ip.h:43:111: warning: passing argument 1 of ‘__bswap_16’ with different width due to prototype [-Wtraditional-conversion] | |
43 | #define T64M_UTILS_IP__CONSTRUCT_IPV6_FRAGMENT_OFFSET_AND_FLAGS_FIELD(fragment_offset, more_fragments) (htons((uint16_t) ( (((uint16_t) (fragment_offset)) << 3) | ((uint16_t) (!!(more_fragments))) ))) | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_xlat_4to6_icmp.c:400:54: note: in expansion of macro ‘T64M_UTILS_IP__CONSTRUCT_IPV6_FRAGMENT_OFFSET_AND_FLAGS_FIELD’ | |
400 | out_ipv6_fragment_header->offset_and_flags = T64M_UTILS_IP__CONSTRUCT_IPV6_FRAGMENT_OFFSET_AND_FLAGS_FIELD( | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
cc -MD -MP -std=c11 -Wall -Wextra -Wpedantic -fanalyzer -Wformat=2 -Wformat-overflow=2 -Wformat-truncation=2 -Wformat-security -Wnull-dereference -Wstack-protector -Wtrampolines -Walloca -Wvla -Warray-bounds=2 -Wimplicit-fallthrough=3 -Wtraditional-conversion -Wshift-overflow=2 -Wcast-qual -Wstringop-overflow=4 -Wconversion -Warith-conversion -Wlogical-op -Wduplicated-cond -Wduplicated-branches -Wformat-signedness -Wshadow -Wstrict-overflow=4 -Wundef -Wstrict-prototypes -Wswitch-default -Wswitch-enum -Wstack-usage=1000000 -Wcast-align=strict -O3 -flto -pthread -fstack-protector-strong -fstack-clash-protection -fPIE -fsanitize=bounds -fsanitize-undefined-trap-on-error -D_FORTIFY_SOURCE=3 -o src/t64_xlat_6to4.o -c src/t64_xlat_6to4.c | |
src/t64_xlat_6to4.c: In function ‘_t64f_xlat_6to4__validate_and_translate_ip_header’: | |
src/t64_xlat_6to4.c:88:44: warning: cast increases required alignment of target type [-Wcast-align] | |
88 | const struct ipv6hdr *in_ipv6_header = (const struct ipv6hdr *) context->in_packet_buffer; | |
| ^ | |
In file included from /usr/include/arpa/inet.h:22, | |
from src/t64_tundra_includes.h:48, | |
from src/t64_tundra.h:49, | |
from src/t64_xlat_6to4.c:22: | |
src/t64_xlat_6to4.c:107:28: warning: passing argument 1 of ‘__bswap_16’ with different width due to prototype [-Wtraditional-conversion] | |
107 | if(ntohs(in_ipv6_header->payload_len) != (context->in_packet_size - 40)) | |
| ~~~~~~~~~~~~~~^~~~~~~~~~~~~ | |
src/t64_xlat_6to4.c:114:28: warning: conversion from ‘int’ to ‘__u8’ {aka ‘unsigned char’} may change value [-Warith-conversion] | |
114 | out_ipv4_header->ttl = (in_ipv6_header->hop_limit - 1); | |
| ^ | |
src/t64_utils_ip.h:41:116: warning: passing argument 1 of ‘__bswap_16’ with different width due to prototype [-Wtraditional-conversion] | |
41 | #define T64M_UTILS_IP__GET_IPV6_FRAGMENT_RESERVED_BITS(ipv6_fragment_header_ptr) ((ntohs((ipv6_fragment_header_ptr)->offset_and_flags) >> 1) & 0x3) | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ | |
src/t64_xlat_6to4.c:148:63: note: in expansion of macro ‘T64M_UTILS_IP__GET_IPV6_FRAGMENT_RESERVED_BITS’ | |
148 | if(ipv6_fragment_header_ptr->reserved != 0 || T64M_UTILS_IP__GET_IPV6_FRAGMENT_RESERVED_BITS(ipv6_fragment_header_ptr) != 0) | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_xlat_6to4.c:164:60: warning: passing argument 1 of ‘t64f_utils_ip__is_ip_protocol_number_forbidden’ with different width due to prototype [-Wtraditional-conversion] | |
164 | t64f_utils_ip__is_ip_protocol_number_forbidden(current_header_number) || | |
| ^~~~~~~~~~~~~~~~~~~~~ | |
src/t64_utils_ip.h:42:120: warning: passing argument 1 of ‘__bswap_16’ with different width due to prototype [-Wtraditional-conversion] | |
42 | #define T64M_UTILS_IP__GET_IPV6_FRAGMENT_MORE_FRAGMENTS_BIT(ipv6_fragment_header_ptr) (ntohs((ipv6_fragment_header_ptr)->offset_and_flags) & 0x1) | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ | |
src/t64_xlat_6to4.c:177:45: note: in expansion of macro ‘T64M_UTILS_IP__GET_IPV6_FRAGMENT_MORE_FRAGMENTS_BIT’ | |
177 | const uint16_t more_fragments = T64M_UTILS_IP__GET_IPV6_FRAGMENT_MORE_FRAGMENTS_BIT(ipv6_fragment_header_ptr); | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_utils_ip.h:40:108: warning: passing argument 1 of ‘__bswap_16’ with different width due to prototype [-Wtraditional-conversion] | |
40 | #define T64M_UTILS_IP__GET_IPV6_FRAGMENT_OFFSET(ipv6_fragment_header_ptr) (ntohs((ipv6_fragment_header_ptr)->offset_and_flags) >> 3) | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ | |
src/t64_xlat_6to4.c:181:46: note: in expansion of macro ‘T64M_UTILS_IP__GET_IPV6_FRAGMENT_OFFSET’ | |
181 | const uint16_t fragment_offset = T64M_UTILS_IP__GET_IPV6_FRAGMENT_OFFSET(ipv6_fragment_header_ptr); | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_utils_ip.h:37:126: warning: passing argument 1 of ‘__bswap_16’ with different width due to prototype [-Wtraditional-conversion] | |
37 | #define T64M_UTILS_IP__CONSTRUCT_IPV4_FRAGMENT_OFFSET_AND_FLAGS_FIELD(dont_fragment, more_fragments, fragment_offset) (htons((uint16_t) ( (((uint16_t) (!!(dont_fragment))) << 14) | (((uint16_t) (!!(more_fragments))) << 13) | (((uint16_t) (fragment_offset)) & 0x1fff) ))) | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_xlat_6to4.c:184:41: note: in expansion of macro ‘T64M_UTILS_IP__CONSTRUCT_IPV4_FRAGMENT_OFFSET_AND_FLAGS_FIELD’ | |
184 | out_ipv4_header->frag_off = T64M_UTILS_IP__CONSTRUCT_IPV4_FRAGMENT_OFFSET_AND_FLAGS_FIELD(0, more_fragments, fragment_offset); | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_utils_ip.h:36:90: warning: passing argument 1 of ‘__bswap_16’ with different width due to prototype [-Wtraditional-conversion] | |
36 | #define T64M_UTILS_IP__GET_IPV4_FRAGMENT_OFFSET(ipv4_header_ptr) (ntohs((ipv4_header_ptr)->frag_off) & 0x1fff) | |
| ~~~~~~~~~~~~~~~~~^~~~~~~~~~ | |
src/t64_utils_ip.h:38:69: note: in expansion of macro ‘T64M_UTILS_IP__GET_IPV4_FRAGMENT_OFFSET’ | |
38 | #define T64MM_UTILS_IP__IS_IPV4_PACKET_FRAGMENTED(ipv4_header_ptr) (T64M_UTILS_IP__GET_IPV4_FRAGMENT_OFFSET((ipv4_header_ptr)) != 0 || T64M_UTILS_IP__GET_IPV4_MORE_FRAGMENTS_BIT((ipv4_header_ptr)) != 0) | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_xlat_6to4.c:210:43: note: in expansion of macro ‘T64MM_UTILS_IP__IS_IPV4_PACKET_FRAGMENTED’ | |
210 | out_packet_data->is_fragment = (bool) T64MM_UTILS_IP__IS_IPV4_PACKET_FRAGMENTED(out_ipv4_header); | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_utils_ip.h:35:96: warning: passing argument 1 of ‘__bswap_16’ with different width due to prototype [-Wtraditional-conversion] | |
35 | #define T64M_UTILS_IP__GET_IPV4_MORE_FRAGMENTS_BIT(ipv4_header_ptr) (!!(ntohs((ipv4_header_ptr)->frag_off) & 0x2000)) | |
| ~~~~~~~~~~~~~~~~~^~~~~~~~~~ | |
src/t64_utils_ip.h:38:136: note: in expansion of macro ‘T64M_UTILS_IP__GET_IPV4_MORE_FRAGMENTS_BIT’ | |
38 | #define T64MM_UTILS_IP__IS_IPV4_PACKET_FRAGMENTED(ipv4_header_ptr) (T64M_UTILS_IP__GET_IPV4_FRAGMENT_OFFSET((ipv4_header_ptr)) != 0 || T64M_UTILS_IP__GET_IPV4_MORE_FRAGMENTS_BIT((ipv4_header_ptr)) != 0) | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_xlat_6to4.c:210:43: note: in expansion of macro ‘T64MM_UTILS_IP__IS_IPV4_PACKET_FRAGMENTED’ | |
210 | out_packet_data->is_fragment = (bool) T64MM_UTILS_IP__IS_IPV4_PACKET_FRAGMENTED(out_ipv4_header); | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_xlat_6to4.c: In function ‘_t64f_xlat_6to4__translate_icmpv6_payload_to_icmpv4_and_send’: | |
src/t64_xlat_6to4.c:220:129: warning: cast increases required alignment of target type [-Wcast-align] | |
220 | if(t64f_checksum__calculate_rfc1071_checksum_for_ipv6(out_packet_data->payload_ptr, out_packet_data->payload_size, NULL, 0, (const struct ipv6hdr *) context->in_packet_buffer, 58) != 0) | |
| ^ | |
src/t64_xlat_6to4.c:220:126: warning: passing argument 4 of ‘t64f_checksum__calculate_rfc1071_checksum_for_ipv6’ with different width due to prototype [-Wtraditional-conversion] | |
220 | if(t64f_checksum__calculate_rfc1071_checksum_for_ipv6(out_packet_data->payload_ptr, out_packet_data->payload_size, NULL, 0, (const struct ipv6hdr *) context->in_packet_buffer, 58) != 0) | |
| ^ | |
src/t64_xlat_6to4.c:220:181: warning: passing argument 6 of ‘t64f_checksum__calculate_rfc1071_checksum_for_ipv6’ with different width due to prototype [-Wtraditional-conversion] | |
220 | if(t64f_checksum__calculate_rfc1071_checksum_for_ipv6(out_packet_data->payload_ptr, out_packet_data->payload_size, NULL, 0, (const struct ipv6hdr *) context->in_packet_buffer, 58) != 0) | |
| ^~ | |
src/t64_xlat_6to4.c:234:19: warning: passing argument 4 of ‘_t64f_xlat_6to4__appropriately_send_ipv4_packet’ with different width due to prototype [-Wtraditional-conversion] | |
234 | NULL, 0, | |
| ^ | |
src/t64_xlat_6to4.c: In function ‘_t64f_xlat_6to4__translate_tcp_payload_and_send’: | |
src/t64_xlat_6to4.c:248:41: warning: cast increases required alignment of target type [-Wcast-align] | |
248 | struct tcphdr *new_tcp_header = (struct tcphdr *) new_tcp_payload_start_buffer; | |
| ^ | |
src/t64_xlat_6to4.c:251:80: warning: passing argument 3 of ‘memcpy’ with different width due to prototype [-Wtraditional-conversion] | |
251 | memcpy(new_tcp_payload_start_buffer, out_packet_data->payload_ptr, 24); | |
| ^~ | |
src/t64_xlat_6to4.c:253:123: warning: cast increases required alignment of target type [-Wcast-align] | |
253 | new_tcp_header->check = t64f_checksum__incrementally_recalculate_rfc1071_checksum_6to4(new_tcp_header->check, (const struct ipv6hdr *) context->in_packet_buffer, &out_packet_data->ipv4_header); | |
| ^ | |
src/t64_xlat_6to4.c:253:114: warning: passing argument 1 of ‘t64f_checksum__incrementally_recalculate_rfc1071_checksum_6to4’ with different width due to prototype [-Wtraditional-conversion] | |
253 | new_tcp_header->check = t64f_checksum__incrementally_recalculate_rfc1071_checksum_6to4(new_tcp_header->check, (const struct ipv6hdr *) context->in_packet_buffer, &out_packet_data->ipv4_header); | |
| ~~~~~~~~~~~~~~^~~~~~~ | |
src/t64_xlat_6to4.c:257:47: warning: passing argument 4 of ‘_t64f_xlat_6to4__appropriately_send_ipv4_packet’ with different width due to prototype [-Wtraditional-conversion] | |
257 | new_tcp_payload_start_buffer, 24, | |
| ^~ | |
src/t64_xlat_6to4.c:263:123: warning: cast increases required alignment of target type [-Wcast-align] | |
263 | new_tcp_header->check = t64f_checksum__incrementally_recalculate_rfc1071_checksum_6to4(new_tcp_header->check, (const struct ipv6hdr *) context->in_packet_buffer, &out_packet_data->ipv4_header); | |
| ^ | |
src/t64_xlat_6to4.c:263:114: warning: passing argument 1 of ‘t64f_checksum__incrementally_recalculate_rfc1071_checksum_6to4’ with different width due to prototype [-Wtraditional-conversion] | |
263 | new_tcp_header->check = t64f_checksum__incrementally_recalculate_rfc1071_checksum_6to4(new_tcp_header->check, (const struct ipv6hdr *) context->in_packet_buffer, &out_packet_data->ipv4_header); | |
| ~~~~~~~~~~~~~~^~~~~~~ | |
src/t64_xlat_6to4.c:267:23: warning: passing argument 4 of ‘_t64f_xlat_6to4__appropriately_send_ipv4_packet’ with different width due to prototype [-Wtraditional-conversion] | |
267 | NULL, 0, | |
| ^ | |
src/t64_xlat_6to4.c:274:19: warning: passing argument 4 of ‘_t64f_xlat_6to4__appropriately_send_ipv4_packet’ with different width due to prototype [-Wtraditional-conversion] | |
274 | NULL, 0, | |
| ^ | |
src/t64_xlat_6to4.c: In function ‘_t64f_xlat_6to4__translate_udp_payload_and_send’: | |
src/t64_xlat_6to4.c:283:63: warning: passing argument 3 of ‘memcpy’ with different width due to prototype [-Wtraditional-conversion] | |
283 | memcpy(&new_udp_header, out_packet_data->payload_ptr, 8); | |
| ^ | |
src/t64_xlat_6to4.c:288:124: warning: cast increases required alignment of target type [-Wcast-align] | |
288 | const uint16_t new_checksum = t64f_checksum__incrementally_recalculate_rfc1071_checksum_6to4(new_udp_header.check, (const struct ipv6hdr *) context->in_packet_buffer, &out_packet_data->ipv4_header); | |
| ^ | |
src/t64_xlat_6to4.c:288:116: warning: passing argument 1 of ‘t64f_checksum__incrementally_recalculate_rfc1071_checksum_6to4’ with different width due to prototype [-Wtraditional-conversion] | |
288 | const uint16_t new_checksum = t64f_checksum__incrementally_recalculate_rfc1071_checksum_6to4(new_udp_header.check, (const struct ipv6hdr *) context->in_packet_buffer, &out_packet_data->ipv4_header); | |
| ~~~~~~~~~~~~~~^~~~~~ | |
src/t64_xlat_6to4.c:293:48: warning: passing argument 4 of ‘_t64f_xlat_6to4__appropriately_send_ipv4_packet’ with different width due to prototype [-Wtraditional-conversion] | |
293 | (const uint8_t *) &new_udp_header, 8, | |
| ^ | |
src/t64_xlat_6to4.c:299:19: warning: passing argument 4 of ‘_t64f_xlat_6to4__appropriately_send_ipv4_packet’ with different width due to prototype [-Wtraditional-conversion] | |
299 | NULL, 0, | |
| ^ | |
src/t64_xlat_6to4.c: In function ‘_t64f_xlat_6to4__translate_generic_payload_and_send’: | |
src/t64_xlat_6to4.c:308:15: warning: passing argument 4 of ‘_t64f_xlat_6to4__appropriately_send_ipv4_packet’ with different width due to prototype [-Wtraditional-conversion] | |
308 | NULL, 0, | |
| ^ | |
src/t64_xlat_6to4.c: In function ‘_t64f_xlat_6to4__appropriately_send_ipv4_packet’: | |
src/t64_utils_ip.h:35:96: warning: passing argument 1 of ‘__bswap_16’ with different width due to prototype [-Wtraditional-conversion] | |
35 | #define T64M_UTILS_IP__GET_IPV4_MORE_FRAGMENTS_BIT(ipv4_header_ptr) (!!(ntohs((ipv4_header_ptr)->frag_off) & 0x2000)) | |
| ~~~~~~~~~~~~~~~~~^~~~~~~~~~ | |
src/t64_xlat_6to4.c:322:37: note: in expansion of macro ‘T64M_UTILS_IP__GET_IPV4_MORE_FRAGMENTS_BIT’ | |
322 | const uint16_t more_fragments = T64M_UTILS_IP__GET_IPV4_MORE_FRAGMENTS_BIT(ipv4_header); | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_utils_ip.h:36:90: warning: passing argument 1 of ‘__bswap_16’ with different width due to prototype [-Wtraditional-conversion] | |
36 | #define T64M_UTILS_IP__GET_IPV4_FRAGMENT_OFFSET(ipv4_header_ptr) (ntohs((ipv4_header_ptr)->frag_off) & 0x1fff) | |
| ~~~~~~~~~~~~~~~~~^~~~~~~~~~ | |
src/t64_xlat_6to4.c:323:38: note: in expansion of macro ‘T64M_UTILS_IP__GET_IPV4_FRAGMENT_OFFSET’ | |
323 | const uint16_t fragment_offset = T64M_UTILS_IP__GET_IPV4_FRAGMENT_OFFSET(ipv4_header); | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_utils_ip.h:37:126: warning: passing argument 1 of ‘__bswap_16’ with different width due to prototype [-Wtraditional-conversion] | |
37 | #define T64M_UTILS_IP__CONSTRUCT_IPV4_FRAGMENT_OFFSET_AND_FLAGS_FIELD(dont_fragment, more_fragments, fragment_offset) (htons((uint16_t) ( (((uint16_t) (!!(dont_fragment))) << 14) | (((uint16_t) (!!(more_fragments))) << 13) | (((uint16_t) (fragment_offset)) & 0x1fff) ))) | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_xlat_6to4.c:326:33: note: in expansion of macro ‘T64M_UTILS_IP__CONSTRUCT_IPV4_FRAGMENT_OFFSET_AND_FLAGS_FIELD’ | |
326 | ipv4_header->frag_off = T64M_UTILS_IP__CONSTRUCT_IPV4_FRAGMENT_OFFSET_AND_FLAGS_FIELD(0, more_fragments, fragment_offset); | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
In file included from src/t64_xlat_6to4.c:25: | |
src/t64_utils.h:36:70: warning: passing argument 2 of ‘t64f_router_ipv6__send_icmpv6_packet_too_big_message_to_in_ipv6_packet_source_host’ with different width due to prototype [-Wtraditional-conversion] | |
36 | #define T64MM_UTILS__MAXIMUM(num1, num2) (((num1) > (num2)) ? (num1) : (num2)) | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~ | |
src/t64_xlat_6to4.c:348:17: note: in expansion of macro ‘T64MM_UTILS__MAXIMUM’ | |
348 | T64MM_UTILS__MAXIMUM(1280, (uint16_t) (context->configuration->translator_ipv4_outbound_mtu + 20)) | |
| ^~~~~~~~~~~~~~~~~~~~ | |
src/t64_utils_ip.h:37:126: warning: passing argument 1 of ‘__bswap_16’ with different width due to prototype [-Wtraditional-conversion] | |
37 | #define T64M_UTILS_IP__CONSTRUCT_IPV4_FRAGMENT_OFFSET_AND_FLAGS_FIELD(dont_fragment, more_fragments, fragment_offset) (htons((uint16_t) ( (((uint16_t) (!!(dont_fragment))) << 14) | (((uint16_t) (!!(more_fragments))) << 13) | (((uint16_t) (fragment_offset)) & 0x1fff) ))) | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_xlat_6to4.c:351:37: note: in expansion of macro ‘T64M_UTILS_IP__CONSTRUCT_IPV4_FRAGMENT_OFFSET_AND_FLAGS_FIELD’ | |
351 | ipv4_header->frag_off = T64M_UTILS_IP__CONSTRUCT_IPV4_FRAGMENT_OFFSET_AND_FLAGS_FIELD(1, more_fragments, fragment_offset); | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_xlat_6to4.c: In function ‘_t64f_xlat_6to4__fragment_and_send_ipv4_packet’: | |
src/t64_utils_ip.h:36:90: warning: passing argument 1 of ‘__bswap_16’ with different width due to prototype [-Wtraditional-conversion] | |
36 | #define T64M_UTILS_IP__GET_IPV4_FRAGMENT_OFFSET(ipv4_header_ptr) (ntohs((ipv4_header_ptr)->frag_off) & 0x1fff) | |
| ~~~~~~~~~~~~~~~~~^~~~~~~~~~ | |
src/t64_xlat_6to4.c:374:43: note: in expansion of macro ‘T64M_UTILS_IP__GET_IPV4_FRAGMENT_OFFSET’ | |
374 | size_t fragment_offset_8byte_chunks = T64M_UTILS_IP__GET_IPV4_FRAGMENT_OFFSET(ipv4_header); | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_utils_ip.h:35:96: warning: passing argument 1 of ‘__bswap_16’ with different width due to prototype [-Wtraditional-conversion] | |
35 | #define T64M_UTILS_IP__GET_IPV4_MORE_FRAGMENTS_BIT(ipv4_header_ptr) (!!(ntohs((ipv4_header_ptr)->frag_off) & 0x2000)) | |
| ~~~~~~~~~~~~~~~~~^~~~~~~~~~ | |
src/t64_xlat_6to4.c:375:58: note: in expansion of macro ‘T64M_UTILS_IP__GET_IPV4_MORE_FRAGMENTS_BIT’ | |
375 | const bool more_fragments_after_this_packet = (bool) T64M_UTILS_IP__GET_IPV4_MORE_FRAGMENTS_BIT(ipv4_header); | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_utils_ip.h:34:95: warning: passing argument 1 of ‘__bswap_16’ with different width due to prototype [-Wtraditional-conversion] | |
34 | #define T64M_UTILS_IP__GET_IPV4_DONT_FRAGMENT_BIT(ipv4_header_ptr) (!!(ntohs((ipv4_header_ptr)->frag_off) & 0x4000)) | |
| ~~~~~~~~~~~~~~~~~^~~~~~~~~~ | |
src/t64_xlat_6to4.c:376:39: note: in expansion of macro ‘T64M_UTILS_IP__GET_IPV4_DONT_FRAGMENT_BIT’ | |
376 | const bool dont_fragment = (bool) T64M_UTILS_IP__GET_IPV4_DONT_FRAGMENT_BIT(ipv4_header); | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_xlat_6to4.c:386:39: warning: passing argument 6 of ‘_t64f_xlat_6to4__fragment_and_send_ipv4_packet_part’ with different width due to prototype [-Wtraditional-conversion] | |
386 | (payload2_size > 0 ? true : more_fragments_after_this_packet), | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_xlat_6to4.c:387:13: warning: passing argument 7 of ‘_t64f_xlat_6to4__fragment_and_send_ipv4_packet_part’ with different width due to prototype [-Wtraditional-conversion] | |
387 | dont_fragment, | |
| ^~~~~~~~~~~~~ | |
src/t64_xlat_6to4.c:400:13: warning: passing argument 6 of ‘_t64f_xlat_6to4__fragment_and_send_ipv4_packet_part’ with different width due to prototype [-Wtraditional-conversion] | |
400 | more_fragments_after_this_packet, | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_xlat_6to4.c:401:13: warning: passing argument 7 of ‘_t64f_xlat_6to4__fragment_and_send_ipv4_packet_part’ with different width due to prototype [-Wtraditional-conversion] | |
401 | dont_fragment, | |
| ^~~~~~~~~~~~~ | |
src/t64_xlat_6to4.c: In function ‘_t64f_xlat_6to4__fragment_and_send_ipv4_packet_part’: | |
src/t64_utils_ip.h:37:126: warning: passing argument 1 of ‘__bswap_16’ with different width due to prototype [-Wtraditional-conversion] | |
37 | #define T64M_UTILS_IP__CONSTRUCT_IPV4_FRAGMENT_OFFSET_AND_FLAGS_FIELD(dont_fragment, more_fragments, fragment_offset) (htons((uint16_t) ( (((uint16_t) (!!(dont_fragment))) << 14) | (((uint16_t) (!!(more_fragments))) << 13) | (((uint16_t) (fragment_offset)) & 0x1fff) ))) | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_xlat_6to4.c:426:39: note: in expansion of macro ‘T64M_UTILS_IP__CONSTRUCT_IPV4_FRAGMENT_OFFSET_AND_FLAGS_FIELD’ | |
426 | ready_ipv4_header->frag_off = T64M_UTILS_IP__CONSTRUCT_IPV4_FRAGMENT_OFFSET_AND_FLAGS_FIELD( | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_xlat_6to4.c:432:128: warning: passing argument 6 of ‘t64f_xlat_io__send_ipv4_packet’ with different width due to prototype [-Wtraditional-conversion] | |
432 | t64f_xlat_io__send_ipv4_packet(context, ready_ipv4_header, current_payload_part_ptr, this_fragment_payload_size, NULL, 0); | |
| ^ | |
src/t64_xlat_6to4.c: In function ‘_t64f_xlat_6to4__validate_and_translate_ip_header’: | |
src/t64_xlat_6to4.c:440:1: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow] | |
440 | } | |
| ^ | |
cc -MD -MP -std=c11 -Wall -Wextra -Wpedantic -fanalyzer -Wformat=2 -Wformat-overflow=2 -Wformat-truncation=2 -Wformat-security -Wnull-dereference -Wstack-protector -Wtrampolines -Walloca -Wvla -Warray-bounds=2 -Wimplicit-fallthrough=3 -Wtraditional-conversion -Wshift-overflow=2 -Wcast-qual -Wstringop-overflow=4 -Wconversion -Warith-conversion -Wlogical-op -Wduplicated-cond -Wduplicated-branches -Wformat-signedness -Wshadow -Wstrict-overflow=4 -Wundef -Wstrict-prototypes -Wswitch-default -Wswitch-enum -Wstack-usage=1000000 -Wcast-align=strict -O3 -flto -pthread -fstack-protector-strong -fstack-clash-protection -fPIE -fsanitize=bounds -fsanitize-undefined-trap-on-error -D_FORTIFY_SOURCE=3 -o src/t64_xlat_6to4_icmp.o -c src/t64_xlat_6to4_icmp.c | |
src/t64_xlat_6to4_icmp.c: In function ‘t64f_xlat_6to4_icmp__translate_icmpv6_to_icmpv4’: | |
src/t64_xlat_6to4_icmp.c:50:47: warning: cast increases required alignment of target type [-Wcast-align] | |
50 | const struct icmp6hdr *in_icmpv6_header = (const struct icmp6hdr *) in_packet_payload_ptr; | |
| ^ | |
src/t64_xlat_6to4_icmp.c:51:41: warning: cast increases required alignment of target type [-Wcast-align] | |
51 | struct icmphdr *out_icmpv4_header = (struct icmphdr *) out_message_data->message_start_36b; | |
| ^ | |
src/t64_xlat_6to4_icmp.c:57:25: warning: passing argument 1 of ‘_t64f_xlat_6to4_icmp__validate_and_translate_icmp_type_and_code’ with different width due to prototype [-Wtraditional-conversion] | |
57 | in_icmpv6_header->icmp6_type, | |
| ~~~~~~~~~~~~~~~~^~~~~~~~~~~~ | |
src/t64_xlat_6to4_icmp.c:58:25: warning: passing argument 2 of ‘_t64f_xlat_6to4_icmp__validate_and_translate_icmp_type_and_code’ with different width due to prototype [-Wtraditional-conversion] | |
58 | in_icmpv6_header->icmp6_code, | |
| ~~~~~~~~~~~~~~~~^~~~~~~~~~~~ | |
src/t64_xlat_6to4_icmp.c:67:25: warning: passing argument 2 of ‘_t64f_xlat_6to4_icmp__validate_and_translate_rest_of_header’ with different width due to prototype [-Wtraditional-conversion] | |
67 | in_icmpv6_header->icmp6_type, | |
| ~~~~~~~~~~~~~~~~^~~~~~~~~~~~ | |
src/t64_xlat_6to4_icmp.c:68:25: warning: passing argument 3 of ‘_t64f_xlat_6to4_icmp__validate_and_translate_rest_of_header’ with different width due to prototype [-Wtraditional-conversion] | |
68 | in_icmpv6_header->icmp6_code, | |
| ~~~~~~~~~~~~~~~~^~~~~~~~~~~~ | |
src/t64_xlat_6to4_icmp.c:89:13: warning: passing argument 6 of ‘_t64f_xlat_6to4_icmp__validate_and_translate_ip_header_of_packet_in_error’ with different width due to prototype [-Wtraditional-conversion] | |
89 | (bool) (in_icmpv6_header->icmp6_type == 2) // "Packet too big" -> "Fragmentation Needed and DF was Set" (it literally says that DF must be set) | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_xlat_6to4_icmp.c:100:70: warning: cast increases required alignment of target type [-Wcast-align] | |
100 | struct icmphdr *new_icmpv4_packet_in_error_payload_ptr = (struct icmphdr *) (out_message_data->message_start_36b + 28); | |
| ^ | |
src/t64_xlat_6to4_icmp.c:101:98: warning: passing argument 3 of ‘memcpy’ with different width due to prototype [-Wtraditional-conversion] | |
101 | memcpy(new_icmpv4_packet_in_error_payload_ptr, out_packet_in_error_data.payload_ptr, 4); | |
| ^ | |
src/t64_xlat_6to4_icmp.c:127:100: warning: passing argument 3 of ‘memcpy’ with different width due to prototype [-Wtraditional-conversion] | |
127 | memcpy(out_message_data->message_start_36b + 28, out_packet_in_error_data.payload_ptr, 4); | |
| ^ | |
src/t64_xlat_6to4_icmp.c: In function ‘_t64f_xlat_6to4_icmp__validate_and_translate_rest_of_header’: | |
src/t64_xlat_6to4_icmp.c:259:70: warning: passing argument 3 of ‘memcpy’ with different width due to prototype [-Wtraditional-conversion] | |
259 | memcpy(new_icmpv4_rest_of_header, old_icmpv6_rest_of_header, 4); | |
| ^ | |
In file included from src/t64_xlat_6to4_icmp.c:25: | |
src/t64_utils.h:32:73: warning: passing argument 3 of ‘memcmp’ with different width due to prototype [-Wtraditional-conversion] | |
32 | #define T64M_UTILS__MEMORY_EQUAL(ptr1, ptr2, n) (memcmp((ptr1), (ptr2), (n)) == 0) | |
| ^~~ | |
src/t64_xlat_6to4_icmp.c:265:13: note: in expansion of macro ‘T64M_UTILS__MEMORY_EQUAL’ | |
265 | if(!T64M_UTILS__MEMORY_EQUAL(old_icmpv6_rest_of_header, "\x00\x00", 2)) | |
| ^~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_utils.h:33:69: warning: passing argument 3 of ‘memset’ with different width due to prototype [-Wtraditional-conversion] | |
33 | #define T64M_UTILS__MEMORY_ZERO_OUT(memory, n) (memset((memory), 0, (n))) | |
| ^~~ | |
src/t64_xlat_6to4_icmp.c:267:9: note: in expansion of macro ‘T64M_UTILS__MEMORY_ZERO_OUT’ | |
267 | T64M_UTILS__MEMORY_ZERO_OUT(new_icmpv4_rest_of_header, 2); | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
In file included from /usr/include/arpa/inet.h:22, | |
from src/t64_tundra_includes.h:48, | |
from src/t64_tundra.h:49, | |
from src/t64_xlat_6to4_icmp.c:22: | |
src/t64_xlat_6to4_icmp.c:269:42: warning: cast increases required alignment of target type [-Wcast-align] | |
269 | const uint16_t old_mtu = ntohs(*((const uint16_t *) (old_icmpv6_rest_of_header + 2))); | |
| ^ | |
src/t64_xlat_6to4_icmp.c:269:40: warning: passing argument 1 of ‘__bswap_16’ with different width due to prototype [-Wtraditional-conversion] | |
269 | const uint16_t old_mtu = ntohs(*((const uint16_t *) (old_icmpv6_rest_of_header + 2))); | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_xlat_6to4_icmp.c:270:96: warning: passing argument 2 of ‘_t64f_xlat_6to4_icmp__recalculate_packet_too_big_mtu’ with different width due to prototype [-Wtraditional-conversion] | |
270 | const uint16_t new_mtu = _t64f_xlat_6to4_icmp__recalculate_packet_too_big_mtu(context, old_mtu); | |
| ^~~~~~~ | |
src/t64_xlat_6to4_icmp.c:271:11: warning: cast increases required alignment of target type [-Wcast-align] | |
271 | *((uint16_t *) (new_icmpv4_rest_of_header + 2)) = htons(new_mtu); | |
| ^ | |
src/t64_xlat_6to4_icmp.c:271:65: warning: passing argument 1 of ‘__bswap_16’ with different width due to prototype [-Wtraditional-conversion] | |
271 | *((uint16_t *) (new_icmpv4_rest_of_header + 2)) = htons(new_mtu); | |
| ^~~~~~~ | |
src/t64_utils.h:32:73: warning: passing argument 3 of ‘memcmp’ with different width due to prototype [-Wtraditional-conversion] | |
32 | #define T64M_UTILS__MEMORY_EQUAL(ptr1, ptr2, n) (memcmp((ptr1), (ptr2), (n)) == 0) | |
| ^~~ | |
src/t64_xlat_6to4_icmp.c:279:17: note: in expansion of macro ‘T64M_UTILS__MEMORY_EQUAL’ | |
279 | if(!T64M_UTILS__MEMORY_EQUAL(old_icmpv6_rest_of_header, "\x00\x00\x00", 3)) | |
| ^~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_utils.h:33:69: warning: passing argument 3 of ‘memset’ with different width due to prototype [-Wtraditional-conversion] | |
33 | #define T64M_UTILS__MEMORY_ZERO_OUT(memory, n) (memset((memory), 0, (n))) | |
| ^~~ | |
src/t64_xlat_6to4_icmp.c:281:13: note: in expansion of macro ‘T64M_UTILS__MEMORY_ZERO_OUT’ | |
281 | T64M_UTILS__MEMORY_ZERO_OUT(new_icmpv4_rest_of_header + 1, 3); | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_xlat_6to4_icmp.c:283:103: warning: passing argument 1 of ‘_t64f_xlat_6to4_icmp__translate_parameter_problem_pointer’ with different width due to prototype [-Wtraditional-conversion] | |
283 | return _t64f_xlat_6to4_icmp__translate_parameter_problem_pointer(old_icmpv6_rest_of_header[3], new_icmpv4_rest_of_header); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~^~~ | |
src/t64_utils.h:33:69: warning: passing argument 3 of ‘memset’ with different width due to prototype [-Wtraditional-conversion] | |
33 | #define T64M_UTILS__MEMORY_ZERO_OUT(memory, n) (memset((memory), 0, (n))) | |
| ^~~ | |
src/t64_xlat_6to4_icmp.c:287:9: note: in expansion of macro ‘T64M_UTILS__MEMORY_ZERO_OUT’ | |
287 | T64M_UTILS__MEMORY_ZERO_OUT(new_icmpv4_rest_of_header, 4); | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_utils.h:32:73: warning: passing argument 3 of ‘memcmp’ with different width due to prototype [-Wtraditional-conversion] | |
32 | #define T64M_UTILS__MEMORY_EQUAL(ptr1, ptr2, n) (memcmp((ptr1), (ptr2), (n)) == 0) | |
| ^~~ | |
src/t64_xlat_6to4_icmp.c:292:9: note: in expansion of macro ‘T64M_UTILS__MEMORY_EQUAL’ | |
292 | if(!T64M_UTILS__MEMORY_EQUAL(old_icmpv6_rest_of_header, "\x00\x00\x00\x00", 4)) | |
| ^~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_utils.h:33:69: warning: passing argument 3 of ‘memset’ with different width due to prototype [-Wtraditional-conversion] | |
33 | #define T64M_UTILS__MEMORY_ZERO_OUT(memory, n) (memset((memory), 0, (n))) | |
| ^~~ | |
src/t64_xlat_6to4_icmp.c:295:5: note: in expansion of macro ‘T64M_UTILS__MEMORY_ZERO_OUT’ | |
295 | T64M_UTILS__MEMORY_ZERO_OUT(new_icmpv4_rest_of_header, 4); | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_xlat_6to4_icmp.c: In function ‘_t64f_xlat_6to4_icmp__recalculate_packet_too_big_mtu’: | |
src/t64_utils.h:35:42: warning: conversion from ‘int’ to ‘uint16_t’ {aka ‘short unsigned int’} may change value [-Wconversion] | |
35 | #define T64MM_UTILS__MINIMUM(num1, num2) (((num1) > (num2)) ? (num2) : (num1)) | |
| ^ | |
src/t64_xlat_6to4_icmp.c:305:11: note: in expansion of macro ‘T64MM_UTILS__MINIMUM’ | |
305 | mtu = T64MM_UTILS__MINIMUM(mtu - 20, (uint16_t) context->configuration->translator_ipv4_outbound_mtu); | |
| ^~~~~~~~~~~~~~~~~~~~ | |
src/t64_utils.h:35:42: warning: conversion from ‘int’ to ‘uint16_t’ {aka ‘short unsigned int’} may change value [-Warith-conversion] | |
35 | #define T64MM_UTILS__MINIMUM(num1, num2) (((num1) > (num2)) ? (num2) : (num1)) | |
| ^ | |
src/t64_xlat_6to4_icmp.c:306:11: note: in expansion of macro ‘T64MM_UTILS__MINIMUM’ | |
306 | mtu = T64MM_UTILS__MINIMUM(mtu, ((uint16_t) context->configuration->translator_ipv6_outbound_mtu) - 20); | |
| ^~~~~~~~~~~~~~~~~~~~ | |
src/t64_xlat_6to4_icmp.c: In function ‘_t64f_xlat_6to4_icmp__validate_and_translate_ip_header_of_packet_in_error’: | |
src/t64_xlat_6to4_icmp.c:353:44: warning: cast increases required alignment of target type [-Wcast-align] | |
353 | const struct ipv6hdr *in_ipv6_header = (const struct ipv6hdr *) in_icmpv6_payload_ptr; | |
| ^ | |
src/t64_xlat_6to4_icmp.c:354:37: warning: cast increases required alignment of target type [-Wcast-align] | |
354 | struct iphdr *out_ipv4_header = (struct iphdr *) out_packet_in_error_buffer_28b; | |
| ^ | |
src/t64_xlat_6to4_icmp.c:363:58: warning: passing argument 1 of ‘__bswap_16’ with different width due to prototype [-Wtraditional-conversion] | |
363 | out_ipv4_header->tot_len = htons(ntohs(in_ipv6_header->payload_len) + 20); | |
| ~~~~~~~~~~~~~~^~~~~~~~~~~~~ | |
src/t64_xlat_6to4_icmp.c:363:73: warning: passing argument 1 of ‘__bswap_16’ with different width due to prototype [-Wtraditional-conversion] | |
363 | out_ipv4_header->tot_len = htons(ntohs(in_ipv6_header->payload_len) + 20); | |
| ^ | |
src/t64_xlat_6to4_icmp.c:363:73: warning: conversion from ‘int’ to ‘__uint16_t’ {aka ‘short unsigned int’} may change value [-Warith-conversion] | |
src/t64_utils_ip.h:42:120: warning: passing argument 1 of ‘__bswap_16’ with different width due to prototype [-Wtraditional-conversion] | |
42 | #define T64M_UTILS_IP__GET_IPV6_FRAGMENT_MORE_FRAGMENTS_BIT(ipv6_fragment_header_ptr) (ntohs((ipv6_fragment_header_ptr)->offset_and_flags) & 0x1) | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ | |
src/t64_xlat_6to4_icmp.c:397:41: note: in expansion of macro ‘T64M_UTILS_IP__CONSTRUCT_IPV4_FRAGMENT_OFFSET_AND_FLAGS_FIELD’ | |
397 | out_ipv4_header->frag_off = T64M_UTILS_IP__CONSTRUCT_IPV4_FRAGMENT_OFFSET_AND_FLAGS_FIELD( | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_xlat_6to4_icmp.c:399:17: note: in expansion of macro ‘T64M_UTILS_IP__GET_IPV6_FRAGMENT_MORE_FRAGMENTS_BIT’ | |
399 | T64M_UTILS_IP__GET_IPV6_FRAGMENT_MORE_FRAGMENTS_BIT(ipv6_fragment_header_ptr), | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_utils_ip.h:40:108: warning: passing argument 1 of ‘__bswap_16’ with different width due to prototype [-Wtraditional-conversion] | |
40 | #define T64M_UTILS_IP__GET_IPV6_FRAGMENT_OFFSET(ipv6_fragment_header_ptr) (ntohs((ipv6_fragment_header_ptr)->offset_and_flags) >> 3) | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ | |
src/t64_xlat_6to4_icmp.c:397:41: note: in expansion of macro ‘T64M_UTILS_IP__CONSTRUCT_IPV4_FRAGMENT_OFFSET_AND_FLAGS_FIELD’ | |
397 | out_ipv4_header->frag_off = T64M_UTILS_IP__CONSTRUCT_IPV4_FRAGMENT_OFFSET_AND_FLAGS_FIELD( | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_xlat_6to4_icmp.c:400:17: note: in expansion of macro ‘T64M_UTILS_IP__GET_IPV6_FRAGMENT_OFFSET’ | |
400 | T64M_UTILS_IP__GET_IPV6_FRAGMENT_OFFSET(ipv6_fragment_header_ptr) | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_utils_ip.h:37:126: warning: passing argument 1 of ‘__bswap_16’ with different width due to prototype [-Wtraditional-conversion] | |
37 | #define T64M_UTILS_IP__CONSTRUCT_IPV4_FRAGMENT_OFFSET_AND_FLAGS_FIELD(dont_fragment, more_fragments, fragment_offset) (htons((uint16_t) ( (((uint16_t) (!!(dont_fragment))) << 14) | (((uint16_t) (!!(more_fragments))) << 13) | (((uint16_t) (fragment_offset)) & 0x1fff) ))) | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_xlat_6to4_icmp.c:397:41: note: in expansion of macro ‘T64M_UTILS_IP__CONSTRUCT_IPV4_FRAGMENT_OFFSET_AND_FLAGS_FIELD’ | |
397 | out_ipv4_header->frag_off = T64M_UTILS_IP__CONSTRUCT_IPV4_FRAGMENT_OFFSET_AND_FLAGS_FIELD( | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_utils_ip.h:37:126: warning: passing argument 1 of ‘__bswap_16’ with different width due to prototype [-Wtraditional-conversion] | |
37 | #define T64M_UTILS_IP__CONSTRUCT_IPV4_FRAGMENT_OFFSET_AND_FLAGS_FIELD(dont_fragment, more_fragments, fragment_offset) (htons((uint16_t) ( (((uint16_t) (!!(dont_fragment))) << 14) | (((uint16_t) (!!(more_fragments))) << 13) | (((uint16_t) (fragment_offset)) & 0x1fff) ))) | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_xlat_6to4_icmp.c:404:41: note: in expansion of macro ‘T64M_UTILS_IP__CONSTRUCT_IPV4_FRAGMENT_OFFSET_AND_FLAGS_FIELD’ | |
404 | out_ipv4_header->frag_off = T64M_UTILS_IP__CONSTRUCT_IPV4_FRAGMENT_OFFSET_AND_FLAGS_FIELD((uint16_t) dont_fragment, 0, 0); | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_utils_ip.h:36:90: warning: passing argument 1 of ‘__bswap_16’ with different width due to prototype [-Wtraditional-conversion] | |
36 | #define T64M_UTILS_IP__GET_IPV4_FRAGMENT_OFFSET(ipv4_header_ptr) (ntohs((ipv4_header_ptr)->frag_off) & 0x1fff) | |
| ~~~~~~~~~~~~~~~~~^~~~~~~~~~ | |
src/t64_utils_ip.h:38:69: note: in expansion of macro ‘T64M_UTILS_IP__GET_IPV4_FRAGMENT_OFFSET’ | |
38 | #define T64MM_UTILS_IP__IS_IPV4_PACKET_FRAGMENTED(ipv4_header_ptr) (T64M_UTILS_IP__GET_IPV4_FRAGMENT_OFFSET((ipv4_header_ptr)) != 0 || T64M_UTILS_IP__GET_IPV4_MORE_FRAGMENTS_BIT((ipv4_header_ptr)) != 0) | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_xlat_6to4_icmp.c:423:52: note: in expansion of macro ‘T64MM_UTILS_IP__IS_IPV4_PACKET_FRAGMENTED’ | |
423 | out_packet_in_error_data->is_fragment = (bool) T64MM_UTILS_IP__IS_IPV4_PACKET_FRAGMENTED(out_ipv4_header); | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_utils_ip.h:35:96: warning: passing argument 1 of ‘__bswap_16’ with different width due to prototype [-Wtraditional-conversion] | |
35 | #define T64M_UTILS_IP__GET_IPV4_MORE_FRAGMENTS_BIT(ipv4_header_ptr) (!!(ntohs((ipv4_header_ptr)->frag_off) & 0x2000)) | |
| ~~~~~~~~~~~~~~~~~^~~~~~~~~~ | |
src/t64_utils_ip.h:38:136: note: in expansion of macro ‘T64M_UTILS_IP__GET_IPV4_MORE_FRAGMENTS_BIT’ | |
38 | #define T64MM_UTILS_IP__IS_IPV4_PACKET_FRAGMENTED(ipv4_header_ptr) (T64M_UTILS_IP__GET_IPV4_FRAGMENT_OFFSET((ipv4_header_ptr)) != 0 || T64M_UTILS_IP__GET_IPV4_MORE_FRAGMENTS_BIT((ipv4_header_ptr)) != 0) | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_xlat_6to4_icmp.c:423:52: note: in expansion of macro ‘T64MM_UTILS_IP__IS_IPV4_PACKET_FRAGMENTED’ | |
423 | out_packet_in_error_data->is_fragment = (bool) T64MM_UTILS_IP__IS_IPV4_PACKET_FRAGMENTED(out_ipv4_header); | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_xlat_6to4_icmp.c:426:1: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow] | |
426 | } | |
| ^ | |
cc -MD -MP -std=c11 -Wall -Wextra -Wpedantic -fanalyzer -Wformat=2 -Wformat-overflow=2 -Wformat-truncation=2 -Wformat-security -Wnull-dereference -Wstack-protector -Wtrampolines -Walloca -Wvla -Warray-bounds=2 -Wimplicit-fallthrough=3 -Wtraditional-conversion -Wshift-overflow=2 -Wcast-qual -Wstringop-overflow=4 -Wconversion -Warith-conversion -Wlogical-op -Wduplicated-cond -Wduplicated-branches -Wformat-signedness -Wshadow -Wstrict-overflow=4 -Wundef -Wstrict-prototypes -Wswitch-default -Wswitch-enum -Wstack-usage=1000000 -Wcast-align=strict -O3 -flto -pthread -fstack-protector-strong -fstack-clash-protection -fPIE -fsanitize=bounds -fsanitize-undefined-trap-on-error -D_FORTIFY_SOURCE=3 -o src/t64_xlat_addr.o -c src/t64_xlat_addr.c | |
cc -MD -MP -std=c11 -Wall -Wextra -Wpedantic -fanalyzer -Wformat=2 -Wformat-overflow=2 -Wformat-truncation=2 -Wformat-security -Wnull-dereference -Wstack-protector -Wtrampolines -Walloca -Wvla -Warray-bounds=2 -Wimplicit-fallthrough=3 -Wtraditional-conversion -Wshift-overflow=2 -Wcast-qual -Wstringop-overflow=4 -Wconversion -Warith-conversion -Wlogical-op -Wduplicated-cond -Wduplicated-branches -Wformat-signedness -Wshadow -Wstrict-overflow=4 -Wundef -Wstrict-prototypes -Wswitch-default -Wswitch-enum -Wstack-usage=1000000 -Wcast-align=strict -O3 -flto -pthread -fstack-protector-strong -fstack-clash-protection -fPIE -fsanitize=bounds -fsanitize-undefined-trap-on-error -D_FORTIFY_SOURCE=3 -o src/t64_xlat_addr_clat.o -c src/t64_xlat_addr_clat.c | |
cc -MD -MP -std=c11 -Wall -Wextra -Wpedantic -fanalyzer -Wformat=2 -Wformat-overflow=2 -Wformat-truncation=2 -Wformat-security -Wnull-dereference -Wstack-protector -Wtrampolines -Walloca -Wvla -Warray-bounds=2 -Wimplicit-fallthrough=3 -Wtraditional-conversion -Wshift-overflow=2 -Wcast-qual -Wstringop-overflow=4 -Wconversion -Warith-conversion -Wlogical-op -Wduplicated-cond -Wduplicated-branches -Wformat-signedness -Wshadow -Wstrict-overflow=4 -Wundef -Wstrict-prototypes -Wswitch-default -Wswitch-enum -Wstack-usage=1000000 -Wcast-align=strict -O3 -flto -pthread -fstack-protector-strong -fstack-clash-protection -fPIE -fsanitize=bounds -fsanitize-undefined-trap-on-error -D_FORTIFY_SOURCE=3 -o src/t64_xlat_addr_external.o -c src/t64_xlat_addr_external.c | |
src/t64_xlat_addr_external.c: In function ‘t64f_xlat_addr_external__perform_4to6_address_translation_for_main_packet’: | |
src/t64_xlat_addr_external.c:39:65: warning: passing argument 2 of ‘_t64f_xlat_addr_external__perform_external_address_translation’ with different width due to prototype [-Wtraditional-conversion] | |
39 | #define _T64C_XLAT_ADDR_EXTERNAL__MESSAGE_TYPE_4TO6_MAIN_PACKET ((uint8_t) 1) | |
| ^~~~~~~~~~~~~ | |
src/t64_xlat_addr_external.c:71:81: note: in expansion of macro ‘_T64C_XLAT_ADDR_EXTERNAL__MESSAGE_TYPE_4TO6_MAIN_PACKET’ | |
71 | if(!_t64f_xlat_addr_external__perform_external_address_translation(context, _T64C_XLAT_ADDR_EXTERNAL__MESSAGE_TYPE_4TO6_MAIN_PACKET, in_src_ipv4, in_dst_ipv4, out_src_ipv6, out_dst_ipv6, &cache_lifetime)) | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_xlat_addr_external.c: In function ‘t64f_xlat_addr_external__perform_4to6_address_translation_for_icmp_error_packet’: | |
src/t64_xlat_addr_external.c:40:71: warning: passing argument 2 of ‘_t64f_xlat_addr_external__perform_external_address_translation’ with different width due to prototype [-Wtraditional-conversion] | |
40 | #define _T64C_XLAT_ADDR_EXTERNAL__MESSAGE_TYPE_4TO6_ICMP_ERROR_PACKET ((uint8_t) 2) | |
| ^~~~~~~~~~~~~ | |
src/t64_xlat_addr_external.c:92:81: note: in expansion of macro ‘_T64C_XLAT_ADDR_EXTERNAL__MESSAGE_TYPE_4TO6_ICMP_ERROR_PACKET’ | |
92 | if(!_t64f_xlat_addr_external__perform_external_address_translation(context, _T64C_XLAT_ADDR_EXTERNAL__MESSAGE_TYPE_4TO6_ICMP_ERROR_PACKET, in_src_ipv4, in_dst_ipv4, out_src_ipv6, out_dst_ipv6, &cache_lifetime)) | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_xlat_addr_external.c: In function ‘t64f_xlat_addr_external__perform_6to4_address_translation_for_main_packet’: | |
src/t64_xlat_addr_external.c:41:65: warning: passing argument 2 of ‘_t64f_xlat_addr_external__perform_external_address_translation’ with different width due to prototype [-Wtraditional-conversion] | |
41 | #define _T64C_XLAT_ADDR_EXTERNAL__MESSAGE_TYPE_6TO4_MAIN_PACKET ((uint8_t) 3) | |
| ^~~~~~~~~~~~~ | |
src/t64_xlat_addr_external.c:113:81: note: in expansion of macro ‘_T64C_XLAT_ADDR_EXTERNAL__MESSAGE_TYPE_6TO4_MAIN_PACKET’ | |
113 | if(!_t64f_xlat_addr_external__perform_external_address_translation(context, _T64C_XLAT_ADDR_EXTERNAL__MESSAGE_TYPE_6TO4_MAIN_PACKET, in_src_ipv6, in_dst_ipv6, out_src_ipv4, out_dst_ipv4, &cache_lifetime)) | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_xlat_addr_external.c: In function ‘t64f_xlat_addr_external__perform_6to4_address_translation_for_icmp_error_packet’: | |
src/t64_xlat_addr_external.c:42:71: warning: passing argument 2 of ‘_t64f_xlat_addr_external__perform_external_address_translation’ with different width due to prototype [-Wtraditional-conversion] | |
42 | #define _T64C_XLAT_ADDR_EXTERNAL__MESSAGE_TYPE_6TO4_ICMP_ERROR_PACKET ((uint8_t) 4) | |
| ^~~~~~~~~~~~~ | |
src/t64_xlat_addr_external.c:134:81: note: in expansion of macro ‘_T64C_XLAT_ADDR_EXTERNAL__MESSAGE_TYPE_6TO4_ICMP_ERROR_PACKET’ | |
134 | if(!_t64f_xlat_addr_external__perform_external_address_translation(context, _T64C_XLAT_ADDR_EXTERNAL__MESSAGE_TYPE_6TO4_ICMP_ERROR_PACKET, in_src_ipv6, in_dst_ipv6, out_src_ipv4, out_dst_ipv4, &cache_lifetime)) | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_xlat_addr_external.c: In function ‘_t64f_xlat_addr_external__perform_external_address_translation’: | |
src/t64_xlat_addr_external.c:156:116: warning: passing argument 3 of ‘_t64f_xlat_addr_external__construct_and_send_request_message_to_external_translation_fd’ with different width due to prototype [-Wtraditional-conversion] | |
156 | if(!_t64f_xlat_addr_external__construct_and_send_request_message_to_external_translation_fd(context, &message, message_type, message_identifier, in_src_ip, in_dst_ip)) | |
| ^~~~~~~~~~~~ | |
src/t64_xlat_addr_external.c:159:121: warning: passing argument 3 of ‘_t64f_xlat_addr_external__receive_and_parse_response_message_from_external_translation_fd’ with different width due to prototype [-Wtraditional-conversion] | |
159 | return _t64f_xlat_addr_external__receive_and_parse_response_message_from_external_translation_fd(context, &message, message_type, message_identifier, out_src_ip, out_dst_ip, out_cache_lifetime); | |
| ^~~~~~~~~~~~ | |
In file included from src/t64_xlat_addr_external.c:25: | |
src/t64_xlat_addr_external.c: In function ‘_t64f_xlat_addr_external__construct_and_send_request_message_to_external_translation_fd’: | |
src/t64_utils.h:32:73: warning: passing argument 3 of ‘memcmp’ with different width due to prototype [-Wtraditional-conversion] | |
32 | #define T64M_UTILS__MEMORY_EQUAL(ptr1, ptr2, n) (memcmp((ptr1), (ptr2), (n)) == 0) | |
| ^~~ | |
src/t64_utils_ip.h:29:76: note: in expansion of macro ‘T64M_UTILS__MEMORY_EQUAL’ | |
29 | #define T64M_UTILS_IP__IPV4_ADDRESSES_EQUAL(ipv4_address1, ipv4_address2) (T64M_UTILS__MEMORY_EQUAL((ipv4_address1), (ipv4_address2), 4)) | |
| ^~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_xlat_addr_external.c:173:71: note: in expansion of macro ‘T64M_UTILS_IP__IPV4_ADDRESSES_EQUAL’ | |
173 | t64f_utils_ip__is_ipv4_address_unusable(in_src_ip) || T64M_UTILS_IP__IPV4_ADDRESSES_EQUAL(in_src_ip, context->configuration->router_ipv4) || | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_utils.h:32:73: warning: passing argument 3 of ‘memcmp’ with different width due to prototype [-Wtraditional-conversion] | |
32 | #define T64M_UTILS__MEMORY_EQUAL(ptr1, ptr2, n) (memcmp((ptr1), (ptr2), (n)) == 0) | |
| ^~~ | |
src/t64_utils_ip.h:29:76: note: in expansion of macro ‘T64M_UTILS__MEMORY_EQUAL’ | |
29 | #define T64M_UTILS_IP__IPV4_ADDRESSES_EQUAL(ipv4_address1, ipv4_address2) (T64M_UTILS__MEMORY_EQUAL((ipv4_address1), (ipv4_address2), 4)) | |
| ^~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_xlat_addr_external.c:174:71: note: in expansion of macro ‘T64M_UTILS_IP__IPV4_ADDRESSES_EQUAL’ | |
174 | t64f_utils_ip__is_ipv4_address_unusable(in_dst_ip) || T64M_UTILS_IP__IPV4_ADDRESSES_EQUAL(in_dst_ip, context->configuration->router_ipv4) | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_xlat_addr_external.c:179:52: warning: passing argument 3 of ‘memcpy’ with different width due to prototype [-Wtraditional-conversion] | |
179 | memcpy(message_buf->src_ip, in_src_ip, 4); | |
| ^ | |
src/t64_xlat_addr_external.c:180:52: warning: passing argument 3 of ‘memcpy’ with different width due to prototype [-Wtraditional-conversion] | |
180 | memcpy(message_buf->dst_ip, in_dst_ip, 4); | |
| ^ | |
src/t64_utils.h:32:73: warning: passing argument 3 of ‘memcmp’ with different width due to prototype [-Wtraditional-conversion] | |
32 | #define T64M_UTILS__MEMORY_EQUAL(ptr1, ptr2, n) (memcmp((ptr1), (ptr2), (n)) == 0) | |
| ^~~ | |
src/t64_utils_ip.h:30:76: note: in expansion of macro ‘T64M_UTILS__MEMORY_EQUAL’ | |
30 | #define T64M_UTILS_IP__IPV6_ADDRESSES_EQUAL(ipv6_address1, ipv6_address2) (T64M_UTILS__MEMORY_EQUAL((ipv6_address1), (ipv6_address2), 16)) | |
| ^~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_xlat_addr_external.c:185:71: note: in expansion of macro ‘T64M_UTILS_IP__IPV6_ADDRESSES_EQUAL’ | |
185 | t64f_utils_ip__is_ipv6_address_unusable(in_src_ip) || T64M_UTILS_IP__IPV6_ADDRESSES_EQUAL(in_src_ip, context->configuration->router_ipv6) || | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_utils.h:32:73: warning: passing argument 3 of ‘memcmp’ with different width due to prototype [-Wtraditional-conversion] | |
32 | #define T64M_UTILS__MEMORY_EQUAL(ptr1, ptr2, n) (memcmp((ptr1), (ptr2), (n)) == 0) | |
| ^~~ | |
src/t64_utils_ip.h:30:76: note: in expansion of macro ‘T64M_UTILS__MEMORY_EQUAL’ | |
30 | #define T64M_UTILS_IP__IPV6_ADDRESSES_EQUAL(ipv6_address1, ipv6_address2) (T64M_UTILS__MEMORY_EQUAL((ipv6_address1), (ipv6_address2), 16)) | |
| ^~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_xlat_addr_external.c:186:71: note: in expansion of macro ‘T64M_UTILS_IP__IPV6_ADDRESSES_EQUAL’ | |
186 | t64f_utils_ip__is_ipv6_address_unusable(in_dst_ip) || T64M_UTILS_IP__IPV6_ADDRESSES_EQUAL(in_dst_ip, context->configuration->router_ipv6) | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_xlat_addr_external.c:191:52: warning: passing argument 3 of ‘memcpy’ with different width due to prototype [-Wtraditional-conversion] | |
191 | memcpy(message_buf->src_ip, in_src_ip, 16); | |
| ^~ | |
src/t64_xlat_addr_external.c:192:52: warning: passing argument 3 of ‘memcpy’ with different width due to prototype [-Wtraditional-conversion] | |
192 | memcpy(message_buf->dst_ip, in_dst_ip, 16); | |
| ^~ | |
src/t64_xlat_addr_external.c: In function ‘_t64f_xlat_addr_external__receive_and_parse_response_message_from_external_translation_fd’: | |
src/t64_utils.h:32:73: warning: passing argument 3 of ‘memcmp’ with different width due to prototype [-Wtraditional-conversion] | |
32 | #define T64M_UTILS__MEMORY_EQUAL(ptr1, ptr2, n) (memcmp((ptr1), (ptr2), (n)) == 0) | |
| ^~~ | |
src/t64_utils_ip.h:30:76: note: in expansion of macro ‘T64M_UTILS__MEMORY_EQUAL’ | |
30 | #define T64M_UTILS_IP__IPV6_ADDRESSES_EQUAL(ipv6_address1, ipv6_address2) (T64M_UTILS__MEMORY_EQUAL((ipv6_address1), (ipv6_address2), 16)) | |
| ^~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_xlat_addr_external.c:251:85: note: in expansion of macro ‘T64M_UTILS_IP__IPV6_ADDRESSES_EQUAL’ | |
251 | t64f_utils_ip__is_ipv6_address_unusable(message_buf->src_ip) || T64M_UTILS_IP__IPV6_ADDRESSES_EQUAL(message_buf->src_ip, context->configuration->router_ipv6) || | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_utils.h:32:73: warning: passing argument 3 of ‘memcmp’ with different width due to prototype [-Wtraditional-conversion] | |
32 | #define T64M_UTILS__MEMORY_EQUAL(ptr1, ptr2, n) (memcmp((ptr1), (ptr2), (n)) == 0) | |
| ^~~ | |
src/t64_utils_ip.h:30:76: note: in expansion of macro ‘T64M_UTILS__MEMORY_EQUAL’ | |
30 | #define T64M_UTILS_IP__IPV6_ADDRESSES_EQUAL(ipv6_address1, ipv6_address2) (T64M_UTILS__MEMORY_EQUAL((ipv6_address1), (ipv6_address2), 16)) | |
| ^~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_xlat_addr_external.c:252:85: note: in expansion of macro ‘T64M_UTILS_IP__IPV6_ADDRESSES_EQUAL’ | |
252 | t64f_utils_ip__is_ipv6_address_unusable(message_buf->dst_ip) || T64M_UTILS_IP__IPV6_ADDRESSES_EQUAL(message_buf->dst_ip, context->configuration->router_ipv6) | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_xlat_addr_external.c:257:57: warning: passing argument 3 of ‘memcpy’ with different width due to prototype [-Wtraditional-conversion] | |
257 | memcpy(out_src_ip, message_buf->src_ip, 16); | |
| ^~ | |
src/t64_xlat_addr_external.c:258:57: warning: passing argument 3 of ‘memcpy’ with different width due to prototype [-Wtraditional-conversion] | |
258 | memcpy(out_dst_ip, message_buf->dst_ip, 16); | |
| ^~ | |
src/t64_utils.h:32:73: warning: passing argument 3 of ‘memcmp’ with different width due to prototype [-Wtraditional-conversion] | |
32 | #define T64M_UTILS__MEMORY_EQUAL(ptr1, ptr2, n) (memcmp((ptr1), (ptr2), (n)) == 0) | |
| ^~~ | |
src/t64_utils_ip.h:29:76: note: in expansion of macro ‘T64M_UTILS__MEMORY_EQUAL’ | |
29 | #define T64M_UTILS_IP__IPV4_ADDRESSES_EQUAL(ipv4_address1, ipv4_address2) (T64M_UTILS__MEMORY_EQUAL((ipv4_address1), (ipv4_address2), 4)) | |
| ^~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_xlat_addr_external.c:263:85: note: in expansion of macro ‘T64M_UTILS_IP__IPV4_ADDRESSES_EQUAL’ | |
263 | t64f_utils_ip__is_ipv4_address_unusable(message_buf->src_ip) || T64M_UTILS_IP__IPV4_ADDRESSES_EQUAL(message_buf->src_ip, context->configuration->router_ipv4) || | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_utils.h:32:73: warning: passing argument 3 of ‘memcmp’ with different width due to prototype [-Wtraditional-conversion] | |
32 | #define T64M_UTILS__MEMORY_EQUAL(ptr1, ptr2, n) (memcmp((ptr1), (ptr2), (n)) == 0) | |
| ^~~ | |
src/t64_utils_ip.h:29:76: note: in expansion of macro ‘T64M_UTILS__MEMORY_EQUAL’ | |
29 | #define T64M_UTILS_IP__IPV4_ADDRESSES_EQUAL(ipv4_address1, ipv4_address2) (T64M_UTILS__MEMORY_EQUAL((ipv4_address1), (ipv4_address2), 4)) | |
| ^~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_xlat_addr_external.c:264:85: note: in expansion of macro ‘T64M_UTILS_IP__IPV4_ADDRESSES_EQUAL’ | |
264 | t64f_utils_ip__is_ipv4_address_unusable(message_buf->dst_ip) || T64M_UTILS_IP__IPV4_ADDRESSES_EQUAL(message_buf->dst_ip, context->configuration->router_ipv4) | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_utils.h:32:73: warning: passing argument 3 of ‘memcmp’ with different width due to prototype [-Wtraditional-conversion] | |
32 | #define T64M_UTILS__MEMORY_EQUAL(ptr1, ptr2, n) (memcmp((ptr1), (ptr2), (n)) == 0) | |
| ^~~ | |
src/t64_xlat_addr_external.c:269:21: note: in expansion of macro ‘T64M_UTILS__MEMORY_EQUAL’ | |
269 | if(!T64M_UTILS__MEMORY_EQUAL(((uint8_t *) message_buf->src_ip) + 4, "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", 12) || !T64M_UTILS__MEMORY_EQUAL(((uint8_t *) message_buf->dst_ip) + 4, "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", 12)) { | |
| ^~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_utils.h:32:73: warning: passing argument 3 of ‘memcmp’ with different width due to prototype [-Wtraditional-conversion] | |
32 | #define T64M_UTILS__MEMORY_EQUAL(ptr1, ptr2, n) (memcmp((ptr1), (ptr2), (n)) == 0) | |
| ^~~ | |
src/t64_xlat_addr_external.c:269:145: note: in expansion of macro ‘T64M_UTILS__MEMORY_EQUAL’ | |
269 | if(!T64M_UTILS__MEMORY_EQUAL(((uint8_t *) message_buf->src_ip) + 4, "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", 12) || !T64M_UTILS__MEMORY_EQUAL(((uint8_t *) message_buf->dst_ip) + 4, "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", 12)) { | |
| ^~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_xlat_addr_external.c:273:57: warning: passing argument 3 of ‘memcpy’ with different width due to prototype [-Wtraditional-conversion] | |
273 | memcpy(out_src_ip, message_buf->src_ip, 4); | |
| ^ | |
src/t64_xlat_addr_external.c:274:57: warning: passing argument 3 of ‘memcpy’ with different width due to prototype [-Wtraditional-conversion] | |
274 | memcpy(out_dst_ip, message_buf->dst_ip, 4); | |
| ^ | |
src/t64_xlat_addr_external.c: In function ‘_t64f_xlat_addr_external__ensure_external_translation_fds_are_open’: | |
src/t64_xlat_addr_external.c:301:56: warning: passing argument 2 of ‘t64f_log__thread_crash’ with different width due to prototype [-Wtraditional-conversion] | |
301 | t64f_log__thread_crash(context->thread_id, false, "At least one of the inherited file descriptors for the '"T64C_CONF_FILE__ADDRESSING_EXTERNAL_TRANSPORT_INHERITED_FDS"' transport of the '"T64C_CONF_FILE__ADDRESSING_MODE_EXTERNAL"' addressing mode failed!"); | |
| ^~~~~ | |
src/t64_xlat_addr_external.c:297:5: warning: enumeration value ‘T64TE_TUNDRA__ADDRESSING_EXTERNAL_TRANSPORT_NONE’ not handled in switch [-Wswitch-enum] | |
297 | switch(context->configuration->addressing_external_transport) { | |
| ^~~~~~ | |
src/t64_xlat_addr_external.c: In function ‘_t64f_xlat_addr_external__open_external_translation_socket’: | |
src/t64_xlat_addr_external.c:345:75: warning: passing argument 4 of ‘t64f_xlat_interrupt__connect’ with different width due to prototype [-Wtraditional-conversion] | |
345 | (t64f_xlat_interrupt__connect(socket_fd, address, address_length, true) < 0) || | |
| ^~~~ | |
src/t64_xlat_addr_external.c:346:66: warning: passing argument 5 of ‘setsockopt’ with different width due to prototype [-Wtraditional-conversion] | |
346 | (setsockopt(socket_fd, SOL_SOCKET, SO_RCVTIMEO, timeout, sizeof(struct timeval)) < 0) || | |
| ^~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_xlat_addr_external.c:347:66: warning: passing argument 5 of ‘setsockopt’ with different width due to prototype [-Wtraditional-conversion] | |
347 | (setsockopt(socket_fd, SOL_SOCKET, SO_SNDTIMEO, timeout, sizeof(struct timeval)) < 0) | |
| ^~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_xlat_addr_external.c: In function ‘_t64f_xlat_addr_external__attempt_to_perform_4to6_address_translation_using_cache’: | |
src/t64_xlat_addr_external.c:399:152: warning: cast increases required alignment of target type [-Wcast-align] | |
399 | const t64ts_tundra__external_addr_xlat_cache_entry *target_entry = (cache + _t64f_xlat_addr_external__compute_cache_hash_from_in_ipv4_address_pair((const uint32_t *) in_src_ipv4, (const uint32_t *) in_dst_ipv4, cache_size)); | |
| ^ | |
src/t64_xlat_addr_external.c:399:184: warning: cast increases required alignment of target type [-Wcast-align] | |
399 | const t64ts_tundra__external_addr_xlat_cache_entry *target_entry = (cache + _t64f_xlat_addr_external__compute_cache_hash_from_in_ipv4_address_pair((const uint32_t *) in_src_ipv4, (const uint32_t *) in_dst_ipv4, cache_size)); | |
| ^ | |
src/t64_utils.h:32:73: warning: passing argument 3 of ‘memcmp’ with different width due to prototype [-Wtraditional-conversion] | |
32 | #define T64M_UTILS__MEMORY_EQUAL(ptr1, ptr2, n) (memcmp((ptr1), (ptr2), (n)) == 0) | |
| ^~~ | |
src/t64_utils_ip.h:29:76: note: in expansion of macro ‘T64M_UTILS__MEMORY_EQUAL’ | |
29 | #define T64M_UTILS_IP__IPV4_ADDRESSES_EQUAL(ipv4_address1, ipv4_address2) (T64M_UTILS__MEMORY_EQUAL((ipv4_address1), (ipv4_address2), 4)) | |
| ^~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_xlat_addr_external.c:402:10: note: in expansion of macro ‘T64M_UTILS_IP__IPV4_ADDRESSES_EQUAL’ | |
402 | !T64M_UTILS_IP__IPV4_ADDRESSES_EQUAL(in_src_ipv4, target_entry->src_ipv4) || | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_utils.h:32:73: warning: passing argument 3 of ‘memcmp’ with different width due to prototype [-Wtraditional-conversion] | |
32 | #define T64M_UTILS__MEMORY_EQUAL(ptr1, ptr2, n) (memcmp((ptr1), (ptr2), (n)) == 0) | |
| ^~~ | |
src/t64_utils_ip.h:29:76: note: in expansion of macro ‘T64M_UTILS__MEMORY_EQUAL’ | |
29 | #define T64M_UTILS_IP__IPV4_ADDRESSES_EQUAL(ipv4_address1, ipv4_address2) (T64M_UTILS__MEMORY_EQUAL((ipv4_address1), (ipv4_address2), 4)) | |
| ^~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_xlat_addr_external.c:403:10: note: in expansion of macro ‘T64M_UTILS_IP__IPV4_ADDRESSES_EQUAL’ | |
403 | !T64M_UTILS_IP__IPV4_ADDRESSES_EQUAL(in_dst_ipv4, target_entry->dst_ipv4) || | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_xlat_addr_external.c:411:50: warning: passing argument 3 of ‘memcpy’ with different width due to prototype [-Wtraditional-conversion] | |
411 | memcpy(out_src_ipv6, target_entry->src_ipv6, 16); | |
| ^~ | |
src/t64_xlat_addr_external.c:412:50: warning: passing argument 3 of ‘memcpy’ with different width due to prototype [-Wtraditional-conversion] | |
412 | memcpy(out_dst_ipv6, target_entry->dst_ipv6, 16); | |
| ^~ | |
src/t64_xlat_addr_external.c: In function ‘_t64f_xlat_addr_external__attempt_to_perform_6to4_address_translation_using_cache’: | |
src/t64_xlat_addr_external.c:422:152: warning: cast increases required alignment of target type [-Wcast-align] | |
422 | const t64ts_tundra__external_addr_xlat_cache_entry *target_entry = (cache + _t64f_xlat_addr_external__compute_cache_hash_from_in_ipv6_address_pair((const uint64_t *) in_src_ipv6, (const uint64_t *) in_dst_ipv6, cache_size)); | |
| ^ | |
src/t64_xlat_addr_external.c:422:184: warning: cast increases required alignment of target type [-Wcast-align] | |
422 | const t64ts_tundra__external_addr_xlat_cache_entry *target_entry = (cache + _t64f_xlat_addr_external__compute_cache_hash_from_in_ipv6_address_pair((const uint64_t *) in_src_ipv6, (const uint64_t *) in_dst_ipv6, cache_size)); | |
| ^ | |
src/t64_utils.h:32:73: warning: passing argument 3 of ‘memcmp’ with different width due to prototype [-Wtraditional-conversion] | |
32 | #define T64M_UTILS__MEMORY_EQUAL(ptr1, ptr2, n) (memcmp((ptr1), (ptr2), (n)) == 0) | |
| ^~~ | |
src/t64_utils_ip.h:30:76: note: in expansion of macro ‘T64M_UTILS__MEMORY_EQUAL’ | |
30 | #define T64M_UTILS_IP__IPV6_ADDRESSES_EQUAL(ipv6_address1, ipv6_address2) (T64M_UTILS__MEMORY_EQUAL((ipv6_address1), (ipv6_address2), 16)) | |
| ^~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_xlat_addr_external.c:425:10: note: in expansion of macro ‘T64M_UTILS_IP__IPV6_ADDRESSES_EQUAL’ | |
425 | !T64M_UTILS_IP__IPV6_ADDRESSES_EQUAL(in_src_ipv6, target_entry->src_ipv6) || | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_utils.h:32:73: warning: passing argument 3 of ‘memcmp’ with different width due to prototype [-Wtraditional-conversion] | |
32 | #define T64M_UTILS__MEMORY_EQUAL(ptr1, ptr2, n) (memcmp((ptr1), (ptr2), (n)) == 0) | |
| ^~~ | |
src/t64_utils_ip.h:30:76: note: in expansion of macro ‘T64M_UTILS__MEMORY_EQUAL’ | |
30 | #define T64M_UTILS_IP__IPV6_ADDRESSES_EQUAL(ipv6_address1, ipv6_address2) (T64M_UTILS__MEMORY_EQUAL((ipv6_address1), (ipv6_address2), 16)) | |
| ^~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_xlat_addr_external.c:426:10: note: in expansion of macro ‘T64M_UTILS_IP__IPV6_ADDRESSES_EQUAL’ | |
426 | !T64M_UTILS_IP__IPV6_ADDRESSES_EQUAL(in_dst_ipv6, target_entry->dst_ipv6) || | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_xlat_addr_external.c:434:50: warning: passing argument 3 of ‘memcpy’ with different width due to prototype [-Wtraditional-conversion] | |
434 | memcpy(out_src_ipv4, target_entry->src_ipv4, 4); | |
| ^ | |
src/t64_xlat_addr_external.c:435:50: warning: passing argument 3 of ‘memcpy’ with different width due to prototype [-Wtraditional-conversion] | |
435 | memcpy(out_dst_ipv4, target_entry->dst_ipv4, 4); | |
| ^ | |
src/t64_xlat_addr_external.c: In function ‘_t64f_xlat_addr_external__save_4to6_address_mapping_to_cache’: | |
src/t64_xlat_addr_external.c:445:146: warning: cast increases required alignment of target type [-Wcast-align] | |
445 | t64ts_tundra__external_addr_xlat_cache_entry *target_entry = (cache + _t64f_xlat_addr_external__compute_cache_hash_from_in_ipv4_address_pair((const uint32_t *) in_src_ipv4, (const uint32_t *) in_dst_ipv4, cache_size)); | |
| ^ | |
src/t64_xlat_addr_external.c:445:178: warning: cast increases required alignment of target type [-Wcast-align] | |
445 | t64ts_tundra__external_addr_xlat_cache_entry *target_entry = (cache + _t64f_xlat_addr_external__compute_cache_hash_from_in_ipv4_address_pair((const uint32_t *) in_src_ipv4, (const uint32_t *) in_dst_ipv4, cache_size)); | |
| ^ | |
src/t64_xlat_addr_external.c: In function ‘_t64f_xlat_addr_external__save_6to4_address_mapping_to_cache’: | |
src/t64_xlat_addr_external.c:455:146: warning: cast increases required alignment of target type [-Wcast-align] | |
455 | t64ts_tundra__external_addr_xlat_cache_entry *target_entry = (cache + _t64f_xlat_addr_external__compute_cache_hash_from_in_ipv6_address_pair((const uint64_t *) in_src_ipv6, (const uint64_t *) in_dst_ipv6, cache_size)); | |
| ^ | |
src/t64_xlat_addr_external.c:455:178: warning: cast increases required alignment of target type [-Wcast-align] | |
455 | t64ts_tundra__external_addr_xlat_cache_entry *target_entry = (cache + _t64f_xlat_addr_external__compute_cache_hash_from_in_ipv6_address_pair((const uint64_t *) in_src_ipv6, (const uint64_t *) in_dst_ipv6, cache_size)); | |
| ^ | |
src/t64_xlat_addr_external.c: In function ‘_t64f_xlat_addr_external__save_address_mapping_to_target_cache_entry’: | |
src/t64_xlat_addr_external.c:470:46: warning: passing argument 3 of ‘memcpy’ with different width due to prototype [-Wtraditional-conversion] | |
470 | memcpy(target_entry->src_ipv4, src_ipv4, 4); | |
| ^ | |
src/t64_xlat_addr_external.c:471:46: warning: passing argument 3 of ‘memcpy’ with different width due to prototype [-Wtraditional-conversion] | |
471 | memcpy(target_entry->dst_ipv4, dst_ipv4, 4); | |
| ^ | |
src/t64_xlat_addr_external.c:472:46: warning: passing argument 3 of ‘memcpy’ with different width due to prototype [-Wtraditional-conversion] | |
472 | memcpy(target_entry->src_ipv6, src_ipv6, 16); | |
| ^~ | |
src/t64_xlat_addr_external.c:473:46: warning: passing argument 3 of ‘memcpy’ with different width due to prototype [-Wtraditional-conversion] | |
473 | memcpy(target_entry->dst_ipv6, dst_ipv6, 16); | |
| ^~ | |
cc -MD -MP -std=c11 -Wall -Wextra -Wpedantic -fanalyzer -Wformat=2 -Wformat-overflow=2 -Wformat-truncation=2 -Wformat-security -Wnull-dereference -Wstack-protector -Wtrampolines -Walloca -Wvla -Warray-bounds=2 -Wimplicit-fallthrough=3 -Wtraditional-conversion -Wshift-overflow=2 -Wcast-qual -Wstringop-overflow=4 -Wconversion -Warith-conversion -Wlogical-op -Wduplicated-cond -Wduplicated-branches -Wformat-signedness -Wshadow -Wstrict-overflow=4 -Wundef -Wstrict-prototypes -Wswitch-default -Wswitch-enum -Wstack-usage=1000000 -Wcast-align=strict -O3 -flto -pthread -fstack-protector-strong -fstack-clash-protection -fPIE -fsanitize=bounds -fsanitize-undefined-trap-on-error -D_FORTIFY_SOURCE=3 -o src/t64_xlat_addr_nat64.o -c src/t64_xlat_addr_nat64.c | |
cc -MD -MP -std=c11 -Wall -Wextra -Wpedantic -fanalyzer -Wformat=2 -Wformat-overflow=2 -Wformat-truncation=2 -Wformat-security -Wnull-dereference -Wstack-protector -Wtrampolines -Walloca -Wvla -Warray-bounds=2 -Wimplicit-fallthrough=3 -Wtraditional-conversion -Wshift-overflow=2 -Wcast-qual -Wstringop-overflow=4 -Wconversion -Warith-conversion -Wlogical-op -Wduplicated-cond -Wduplicated-branches -Wformat-signedness -Wshadow -Wstrict-overflow=4 -Wundef -Wstrict-prototypes -Wswitch-default -Wswitch-enum -Wstack-usage=1000000 -Wcast-align=strict -O3 -flto -pthread -fstack-protector-strong -fstack-clash-protection -fPIE -fsanitize=bounds -fsanitize-undefined-trap-on-error -D_FORTIFY_SOURCE=3 -o src/t64_xlat_addr_siit.o -c src/t64_xlat_addr_siit.c | |
cc -MD -MP -std=c11 -Wall -Wextra -Wpedantic -fanalyzer -Wformat=2 -Wformat-overflow=2 -Wformat-truncation=2 -Wformat-security -Wnull-dereference -Wstack-protector -Wtrampolines -Walloca -Wvla -Warray-bounds=2 -Wimplicit-fallthrough=3 -Wtraditional-conversion -Wshift-overflow=2 -Wcast-qual -Wstringop-overflow=4 -Wconversion -Warith-conversion -Wlogical-op -Wduplicated-cond -Wduplicated-branches -Wformat-signedness -Wshadow -Wstrict-overflow=4 -Wundef -Wstrict-prototypes -Wswitch-default -Wswitch-enum -Wstack-usage=1000000 -Wcast-align=strict -O3 -flto -pthread -fstack-protector-strong -fstack-clash-protection -fPIE -fsanitize=bounds -fsanitize-undefined-trap-on-error -D_FORTIFY_SOURCE=3 -o src/t64_xlat.o -c src/t64_xlat.c | |
cc -MD -MP -std=c11 -Wall -Wextra -Wpedantic -fanalyzer -Wformat=2 -Wformat-overflow=2 -Wformat-truncation=2 -Wformat-security -Wnull-dereference -Wstack-protector -Wtrampolines -Walloca -Wvla -Warray-bounds=2 -Wimplicit-fallthrough=3 -Wtraditional-conversion -Wshift-overflow=2 -Wcast-qual -Wstringop-overflow=4 -Wconversion -Warith-conversion -Wlogical-op -Wduplicated-cond -Wduplicated-branches -Wformat-signedness -Wshadow -Wstrict-overflow=4 -Wundef -Wstrict-prototypes -Wswitch-default -Wswitch-enum -Wstack-usage=1000000 -Wcast-align=strict -O3 -flto -pthread -fstack-protector-strong -fstack-clash-protection -fPIE -fsanitize=bounds -fsanitize-undefined-trap-on-error -D_FORTIFY_SOURCE=3 -o src/t64_xlat_interrupt.o -c src/t64_xlat_interrupt.c | |
cc -MD -MP -std=c11 -Wall -Wextra -Wpedantic -fanalyzer -Wformat=2 -Wformat-overflow=2 -Wformat-truncation=2 -Wformat-security -Wnull-dereference -Wstack-protector -Wtrampolines -Walloca -Wvla -Warray-bounds=2 -Wimplicit-fallthrough=3 -Wtraditional-conversion -Wshift-overflow=2 -Wcast-qual -Wstringop-overflow=4 -Wconversion -Warith-conversion -Wlogical-op -Wduplicated-cond -Wduplicated-branches -Wformat-signedness -Wshadow -Wstrict-overflow=4 -Wundef -Wstrict-prototypes -Wswitch-default -Wswitch-enum -Wstack-usage=1000000 -Wcast-align=strict -O3 -flto -pthread -fstack-protector-strong -fstack-clash-protection -fPIE -fsanitize=bounds -fsanitize-undefined-trap-on-error -D_FORTIFY_SOURCE=3 -o src/t64_xlat_io.o -c src/t64_xlat_io.c | |
src/t64_xlat_io.c: In function ‘t64f_xlat_io__receive_packet_into_in_packet_buffer’: | |
src/t64_xlat_io.c:38:52: warning: passing argument 2 of ‘t64f_log__thread_crash’ with different width due to prototype [-Wtraditional-conversion] | |
38 | t64f_log__thread_crash(context->thread_id, true, "An error occurred while receiving a packet!"); | |
| ^~~~ | |
src/t64_xlat_io.c:41:52: warning: passing argument 2 of ‘t64f_log__thread_crash’ with different width due to prototype [-Wtraditional-conversion] | |
41 | t64f_log__thread_crash(context->thread_id, false, "An end-of-file occurred while receiving a packet!"); | |
| ^~~~~ | |
src/t64_xlat_io.c: In function ‘t64f_xlat_io__send_ipv4_packet’: | |
src/t64_xlat_io.c:58:32: warning: cast discards ‘const’ qualifier from pointer target type [-Wcast-qual] | |
58 | iov[iovcnt].iov_base = (void *) nullable_payload1_ptr; | |
| ^ | |
src/t64_xlat_io.c:64:32: warning: cast discards ‘const’ qualifier from pointer target type [-Wcast-qual] | |
64 | iov[iovcnt].iov_base = (void *) nullable_payload2_ptr; | |
| ^ | |
In file included from /usr/include/arpa/inet.h:22, | |
from src/t64_tundra_includes.h:48, | |
from src/t64_tundra.h:49, | |
from src/t64_xlat_io.c:22: | |
src/t64_xlat_io.c:73:34: warning: passing argument 1 of ‘__bswap_16’ with different width due to prototype [-Wtraditional-conversion] | |
73 | ipv4_header->tot_len = htons((uint16_t) total_packet_size); | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_xlat_io.c: In function ‘t64f_xlat_io__send_ipv6_packet’: | |
src/t64_xlat_io.c:93:32: warning: cast discards ‘const’ qualifier from pointer target type [-Wcast-qual] | |
93 | iov[iovcnt].iov_base = (void *) nullable_ipv6_fragment_header; | |
| ^ | |
src/t64_xlat_io.c:99:32: warning: cast discards ‘const’ qualifier from pointer target type [-Wcast-qual] | |
99 | iov[iovcnt].iov_base = (void *) nullable_payload1_ptr; | |
| ^ | |
src/t64_xlat_io.c:105:32: warning: cast discards ‘const’ qualifier from pointer target type [-Wcast-qual] | |
105 | iov[iovcnt].iov_base = (void *) nullable_payload2_ptr; | |
| ^ | |
src/t64_xlat_io.c:114:38: warning: passing argument 1 of ‘__bswap_16’ with different width due to prototype [-Wtraditional-conversion] | |
114 | ipv6_header->payload_len = htons((uint16_t) (total_packet_size - 40)); | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_xlat_io.c: In function ‘_t64f_xlat_io__send_packet’: | |
src/t64_xlat_io.c:124:52: warning: passing argument 2 of ‘t64f_log__thread_crash’ with different width due to prototype [-Wtraditional-conversion] | |
124 | t64f_log__thread_crash(context->thread_id, true, "An error occurred while sending a packet!"); | |
| ^~~~ | |
src/t64_xlat_io.c:127:52: warning: passing argument 2 of ‘t64f_log__thread_crash’ with different width due to prototype [-Wtraditional-conversion] | |
127 | t64f_log__thread_crash(context->thread_id, false, "Only a part of the packet could be sent out (sent = %zu, total packet size = %zu)!", (size_t) ret_value, total_packet_size); | |
| ^~~~~ | |
cc -O3 -flto -Wl,-z,relro -Wl,-z,now -Wl,-z,noexecstack -Wl,-z,separate-code -pthread -fstack-protector-strong -fstack-clash-protection -fPIE -fsanitize=bounds -fsanitize-undefined-trap-on-error -o tundra-nat64 src/t64_checksum.o src/t64_conf_cmdline.o src/t64_conf_file.o src/t64_conf_file_load.o src/t64_conf_rfc7050.o src/t64_init.o src/t64_init_io.o src/t64_log.o src/t64_main.o src/t64_opmode_mktun.o src/t64_opmode_print_config.o src/t64_opmode_rmtun.o src/t64_opmode_translate.o src/t64_opmode_validate_config.o src/t64_router_ipv4.o src/t64_router_ipv6.o src/t64_signal.o src/t64_utils.o src/t64_utils_ip.o src/t64_utils_xlat_addr.o src/t64_xlat_4to6.o src/t64_xlat_4to6_icmp.o src/t64_xlat_6to4.o src/t64_xlat_6to4_icmp.o src/t64_xlat_addr.o src/t64_xlat_addr_clat.o src/t64_xlat_addr_external.o src/t64_xlat_addr_nat64.o src/t64_xlat_addr_siit.o src/t64_xlat.o src/t64_xlat_interrupt.o src/t64_xlat_io.o | |
rm src/*.o | |
rm src/*.d | |
rm *.8 | |
rm: cannot remove '*.8': No such file or directory | |
make: [Makefile:47: clean] Error 1 (ignored) | |
clang -MD -MP -std=c11 -Wall -Wextra -Wpedantic -Weverything -O3 -flto -pthread -o src/t64_checksum.o -c src/t64_checksum.c | |
In file included from src/t64_checksum.c:22: | |
src/t64_tundra.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_H | |
^ | |
In file included from src/t64_checksum.c:22: | |
In file included from src/t64_tundra.h:49: | |
src/t64_tundra_includes.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_INCLUDES_H | |
^ | |
In file included from src/t64_checksum.c:22: | |
In file included from src/t64_tundra.h:50: | |
src/t64_tundra_defs.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_DEFS_H | |
^ | |
In file included from src/t64_checksum.c:22: | |
In file included from src/t64_tundra.h:51: | |
src/t64_tundra_typedefs.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_TYPEDEFS_H | |
^ | |
In file included from src/t64_checksum.c:23: | |
src/t64_checksum.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_CHECKSUM_H | |
^ | |
In file included from src/t64_checksum.c:25: | |
src/t64_utils.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_UTILS_H | |
^ | |
src/t64_checksum.c:28:17: warning: identifier '_t64f_checksum__sum_ipv4_pseudo_header' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static uint32_t _t64f_checksum__sum_ipv4_pseudo_header(const struct iphdr *ipv4_header, const size_t transport_header_and_data_length); | |
^ | |
src/t64_checksum.c:29:17: warning: identifier '_t64f_checksum__sum_ipv6_pseudo_header' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static uint32_t _t64f_checksum__sum_ipv6_pseudo_header(const struct ipv6hdr *ipv6_header, const uint8_t carried_protocol, const size_t transport_header_and_data_length); | |
^ | |
src/t64_checksum.c:30:17: warning: identifier '_t64f_checksum__sum_16bit_words' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static uint32_t _t64f_checksum__sum_16bit_words(const uint8_t *bytes, size_t length); | |
^ | |
src/t64_checksum.c:31:17: warning: identifier '_t64f_checksum__pack_into_16bits' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static uint16_t _t64f_checksum__pack_into_16bits(uint32_t packed_32bit_number); | |
^ | |
src/t64_checksum.c:116:62: warning: cast from 'volatile struct (unnamed at src/t64_checksum.c:102:14) *' to 'const unsigned char *' drops volatile qualifier [-Wcast-qual] | |
return _t64f_checksum__sum_16bit_words((const uint8_t *) &ipv4_pseudo_header, sizeof(ipv4_pseudo_header)); | |
^ | |
src/t64_checksum.c:130:21: warning: cast from 'volatile unsigned char *' to 'void *' drops volatile qualifier [-Wcast-qual] | |
memcpy((void *) ipv6_pseudo_header.source_address, ipv6_header->saddr.s6_addr, 16); | |
^ | |
src/t64_checksum.c:131:21: warning: cast from 'volatile unsigned char *' to 'void *' drops volatile qualifier [-Wcast-qual] | |
memcpy((void *) ipv6_pseudo_header.destination_address, ipv6_header->daddr.s6_addr, 16); | |
^ | |
src/t64_checksum.c:133:42: warning: cast from 'volatile unsigned char *' to 'void *' drops volatile qualifier [-Wcast-qual] | |
T64M_UTILS__MEMORY_ZERO_OUT((void *) ipv6_pseudo_header.zeroes, 3); | |
^ | |
src/t64_checksum.c:136:62: warning: cast from 'volatile struct (unnamed at src/t64_checksum.c:122:14) *' to 'const unsigned char *' drops volatile qualifier [-Wcast-qual] | |
return _t64f_checksum__sum_16bit_words((const uint8_t *) &ipv6_pseudo_header, sizeof(ipv6_pseudo_header)); | |
^ | |
src/t64_checksum.c:143:18: warning: cast from 'const uint8_t *' (aka 'const unsigned char *') to 'const uint16_t *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] | |
sum += *((const uint16_t *) bytes); | |
^~~~~~~~~~~~~~~~~~~~~~~~ | |
16 warnings generated. | |
clang -MD -MP -std=c11 -Wall -Wextra -Wpedantic -Weverything -O3 -flto -pthread -o src/t64_conf_cmdline.o -c src/t64_conf_cmdline.c | |
In file included from src/t64_conf_cmdline.c:22: | |
src/t64_tundra.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_H | |
^ | |
In file included from src/t64_conf_cmdline.c:22: | |
In file included from src/t64_tundra.h:49: | |
src/t64_tundra_includes.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_INCLUDES_H | |
^ | |
In file included from src/t64_conf_cmdline.c:22: | |
In file included from src/t64_tundra.h:50: | |
src/t64_tundra_defs.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_DEFS_H | |
^ | |
In file included from src/t64_conf_cmdline.c:22: | |
In file included from src/t64_tundra.h:51: | |
src/t64_tundra_typedefs.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_TYPEDEFS_H | |
^ | |
In file included from src/t64_conf_cmdline.c:23: | |
src/t64_conf_cmdline.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_CONF_CMDLINE_H | |
^ | |
In file included from src/t64_conf_cmdline.c:25: | |
src/t64_utils.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_UTILS_H | |
^ | |
In file included from src/t64_conf_cmdline.c:26: | |
src/t64_log.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_LOG_H | |
^ | |
In file included from src/t64_conf_cmdline.c:27: | |
src/t64_conf_file.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_CONF_FILE_H | |
^ | |
src/t64_conf_cmdline.c:30:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64C_CONF_CMDLINE__HELP_FORMAT_STRING "\ | |
^ | |
src/t64_conf_cmdline.c:72:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64C_CONF_CMDLINE__LICENSE_STRING "\ | |
^ | |
src/t64_conf_cmdline.c:95:13: warning: identifier '_t64f_conf_cmdline__parse_cmdline_options' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static void _t64f_conf_cmdline__parse_cmdline_options(t64ts_tundra__conf_cmdline *cmdline_configuration, int argc, char **argv); | |
^ | |
src/t64_conf_cmdline.c:96:13: warning: identifier '_t64f_conf_cmdline__parse_cmdline_arguments' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static void _t64f_conf_cmdline__parse_cmdline_arguments(t64ts_tundra__conf_cmdline *cmdline_configuration, int argc, char **argv); | |
^ | |
src/t64_conf_cmdline.c:97:22: warning: identifier '_t64f_conf_cmdline__print_help_and_exit' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static noreturn void _t64f_conf_cmdline__print_help_and_exit(const char *argv_0); | |
^ | |
src/t64_conf_cmdline.c:98:22: warning: identifier '_t64f_conf_cmdline__print_version_and_exit' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static noreturn void _t64f_conf_cmdline__print_version_and_exit(void); | |
^ | |
src/t64_conf_cmdline.c:99:22: warning: identifier '_t64f_conf_cmdline__print_license_and_exit' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static noreturn void _t64f_conf_cmdline__print_license_and_exit(void); | |
^ | |
src/t64_conf_cmdline.c:100:37: warning: identifier '_t64f_conf_cmdline__determine_operation_mode_from_string' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static t64te_tundra__operation_mode _t64f_conf_cmdline__determine_operation_mode_from_string(const char *mode_of_operation_string); | |
^ | |
In file included from src/t64_conf_cmdline.c:22: | |
In file included from src/t64_tundra.h:51: | |
src/t64_tundra_typedefs.h:53:9: warning: padding size of 't64ts_tundra__conf_cmdline' with 4 bytes to alignment boundary [-Wpadded] | |
typedef struct { | |
^ | |
src/t64_conf_cmdline.c:107:33: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] | |
t64ts_tundra__conf_cmdline *cmdline_configuration = t64fa_utils__allocate_zeroed_out_memory(1, sizeof(t64ts_tundra__conf_cmdline)); | |
^ | |
src/t64_conf_cmdline.c:241:8: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#undef _T64C_CONF_CMDLINE__HELP_FORMAT_STRING | |
^ | |
src/t64_conf_cmdline.c:242:8: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#undef _T64C_CONF_CMDLINE__LICENSE_STRING | |
^ | |
20 warnings generated. | |
clang -MD -MP -std=c11 -Wall -Wextra -Wpedantic -Weverything -O3 -flto -pthread -o src/t64_conf_file.o -c src/t64_conf_file.c | |
In file included from src/t64_conf_file.c:22: | |
src/t64_tundra.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_H | |
^ | |
In file included from src/t64_conf_file.c:22: | |
In file included from src/t64_tundra.h:49: | |
src/t64_tundra_includes.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_INCLUDES_H | |
^ | |
In file included from src/t64_conf_file.c:22: | |
In file included from src/t64_tundra.h:50: | |
src/t64_tundra_defs.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_DEFS_H | |
^ | |
In file included from src/t64_conf_file.c:22: | |
In file included from src/t64_tundra.h:51: | |
src/t64_tundra_typedefs.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_TYPEDEFS_H | |
^ | |
In file included from src/t64_conf_file.c:23: | |
src/t64_conf_file.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_CONF_FILE_H | |
^ | |
In file included from src/t64_conf_file.c:25: | |
src/t64_utils.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_UTILS_H | |
^ | |
In file included from src/t64_conf_file.c:26: | |
src/t64_utils_ip.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_UTILS_IP_H | |
^ | |
In file included from src/t64_conf_file.c:27: | |
src/t64_log.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_LOG_H | |
^ | |
In file included from src/t64_conf_file.c:28: | |
src/t64_conf_file_load.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_CONF_FILE_LOAD_H | |
^ | |
In file included from src/t64_conf_file.c:29: | |
src/t64_conf_rfc7050.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_CONF_RFC7050_H | |
^ | |
src/t64_conf_file.c:32:33: warning: identifier '_t64fa_conf_file__parse_configuration_file' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static t64ts_tundra__conf_file *_t64fa_conf_file__parse_configuration_file(t64ts_tundra__conf_file_entry **config_file_entries); | |
^ | |
src/t64_conf_file.c:33:13: warning: identifier '_t64fa_conf_file__parse_program_configuration_entries' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static void _t64fa_conf_file__parse_program_configuration_entries(t64ts_tundra__conf_file_entry **config_file_entries, t64ts_tundra__conf_file *file_configuration); | |
^ | |
src/t64_conf_file.c:34:13: warning: identifier '_t64fa_conf_file__parse_io_configuration_entries' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static void _t64fa_conf_file__parse_io_configuration_entries(t64ts_tundra__conf_file_entry **config_file_entries, t64ts_tundra__conf_file *file_configuration); | |
^ | |
src/t64_conf_file.c:35:13: warning: identifier '_t64fa_conf_file__parse_io_tun_configuration_entries' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static void _t64fa_conf_file__parse_io_tun_configuration_entries(t64ts_tundra__conf_file_entry **config_file_entries, t64ts_tundra__conf_file *file_configuration); | |
^ | |
src/t64_conf_file.c:36:13: warning: identifier '_t64f_conf_file__parse_router_configuration_entries' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static void _t64f_conf_file__parse_router_configuration_entries(t64ts_tundra__conf_file_entry **config_file_entries, t64ts_tundra__conf_file *file_configuration); | |
^ | |
src/t64_conf_file.c:37:13: warning: identifier '_t64f_conf_file__parse_addressing_configuration_entries' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static void _t64f_conf_file__parse_addressing_configuration_entries(t64ts_tundra__conf_file_entry **config_file_entries, t64ts_tundra__conf_file *file_configuration); | |
^ | |
src/t64_conf_file.c:38:13: warning: identifier '_t64f_conf_file__parse_addressing_nat64_clat_configuration_entries' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static void _t64f_conf_file__parse_addressing_nat64_clat_configuration_entries(t64ts_tundra__conf_file_entry **config_file_entries, t64ts_tundra__conf_file *file_configuration); | |
^ | |
src/t64_conf_file.c:39:13: warning: identifier '_t64f_conf_file__parse_addressing_nat64_clat_siit_configuration_entries' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static void _t64f_conf_file__parse_addressing_nat64_clat_siit_configuration_entries(t64ts_tundra__conf_file_entry **config_file_entries, t64ts_tundra__conf_file *file_configuration); | |
^ | |
src/t64_conf_file.c:40:13: warning: identifier '_t64f_conf_file__parse_addressing_external_configuration_entries' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static void _t64f_conf_file__parse_addressing_external_configuration_entries(t64ts_tundra__conf_file_entry **config_file_entries, t64ts_tundra__conf_file *file_configuration); | |
^ | |
src/t64_conf_file.c:41:13: warning: identifier '_t64f_conf_file__parse_addressing_external_unix_configuration_entries' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static void _t64f_conf_file__parse_addressing_external_unix_configuration_entries(t64ts_tundra__conf_file_entry **config_file_entries, t64ts_tundra__conf_file *file_configuration); | |
^ | |
src/t64_conf_file.c:42:13: warning: identifier '_t64f_conf_file__parse_addressing_external_tcp_configuration_entries' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static void _t64f_conf_file__parse_addressing_external_tcp_configuration_entries(t64ts_tundra__conf_file_entry **config_file_entries, t64ts_tundra__conf_file *file_configuration); | |
^ | |
src/t64_conf_file.c:43:13: warning: identifier '_t64f_conf_file__parse_addressing_external_unix_tcp_configuration_entries' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static void _t64f_conf_file__parse_addressing_external_unix_tcp_configuration_entries(t64ts_tundra__conf_file_entry **config_file_entries, t64ts_tundra__conf_file *file_configuration); | |
^ | |
src/t64_conf_file.c:44:13: warning: identifier '_t64f_conf_file__parse_translator_configuration_entries' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static void _t64f_conf_file__parse_translator_configuration_entries(t64ts_tundra__conf_file_entry **config_file_entries, t64ts_tundra__conf_file *file_configuration); | |
^ | |
src/t64_conf_file.c:45:14: warning: identifier '_t64f_conf_file__get_uid_by_username' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static uid_t _t64f_conf_file__get_uid_by_username(const char *username); | |
^ | |
src/t64_conf_file.c:46:14: warning: identifier '_t64f_conf_file__get_gid_by_groupname' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static gid_t _t64f_conf_file__get_gid_by_groupname(const char *groupname); | |
^ | |
src/t64_conf_file.c:47:30: warning: identifier '_t64f_conf_file__determine_io_mode_from_string' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static t64te_tundra__io_mode _t64f_conf_file__determine_io_mode_from_string(const char *io_mode_string); | |
^ | |
src/t64_conf_file.c:48:38: warning: identifier '_t64f_conf_file__determine_addressing_mode_from_string' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static t64te_tundra__addressing_mode _t64f_conf_file__determine_addressing_mode_from_string(const char *addressing_mode_string); | |
^ | |
src/t64_conf_file.c:49:52: warning: identifier '_t64f_conf_file__determine_addressing_external_transport_from_string' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static t64te_tundra__addressing_external_transport _t64f_conf_file__determine_addressing_external_transport_from_string(const char *addressing_external_transport_string); | |
^ | |
src/t64_conf_file.c:50:17: warning: identifier '_t64f_conf_file__get_fallback_translator_thread_count' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static uint64_t _t64f_conf_file__get_fallback_translator_thread_count(void); | |
^ | |
In file included from src/t64_conf_file.c:22: | |
In file included from src/t64_tundra.h:51: | |
src/t64_tundra_typedefs.h:71:20: warning: padding struct 't64ts_tundra__conf_file' with 2 bytes to align 'addressing_external_unix_tcp_timeout' [-Wpadded] | |
struct timeval addressing_external_unix_tcp_timeout; | |
^ | |
src/t64_tundra_typedefs.h:65:9: warning: padding size of 't64ts_tundra__conf_file' with 3 bytes to alignment boundary [-Wpadded] | |
typedef struct { | |
^ | |
src/t64_conf_file.c:272:19: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] | |
const int gai_return_value = getaddrinfo(host, port, (const struct addrinfo *) &hints, &file_configuration->addressing_external_tcp_socket_info); | |
^ | |
32 warnings generated. | |
clang -MD -MP -std=c11 -Wall -Wextra -Wpedantic -Weverything -O3 -flto -pthread -o src/t64_conf_file_load.o -c src/t64_conf_file_load.c | |
In file included from src/t64_conf_file_load.c:22: | |
src/t64_tundra.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_H | |
^ | |
In file included from src/t64_conf_file_load.c:22: | |
In file included from src/t64_tundra.h:49: | |
src/t64_tundra_includes.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_INCLUDES_H | |
^ | |
In file included from src/t64_conf_file_load.c:22: | |
In file included from src/t64_tundra.h:50: | |
src/t64_tundra_defs.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_DEFS_H | |
^ | |
In file included from src/t64_conf_file_load.c:22: | |
In file included from src/t64_tundra.h:51: | |
src/t64_tundra_typedefs.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_TYPEDEFS_H | |
^ | |
In file included from src/t64_conf_file_load.c:23: | |
src/t64_conf_file_load.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_CONF_FILE_LOAD_H | |
^ | |
In file included from src/t64_conf_file_load.c:25: | |
src/t64_utils.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_UTILS_H | |
^ | |
In file included from src/t64_conf_file_load.c:26: | |
src/t64_utils_ip.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_UTILS_IP_H | |
^ | |
In file included from src/t64_conf_file_load.c:27: | |
src/t64_log.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_LOG_H | |
^ | |
src/t64_conf_file_load.c:30:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64C_CONF_FILE_LOAD__LINE_BUFFER_SIZE 4096 | |
^ | |
src/t64_conf_file_load.c:31:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64C_CONF_FILE_LOAD__STOP_PARSING_CONFIG_SYMBOL "!STOP" | |
^ | |
src/t64_conf_file_load.c:34:40: warning: identifier '_t64fa_conf_file_load__read_open_config_file' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static t64ts_tundra__conf_file_entry **_t64fa_conf_file_load__read_open_config_file(FILE *conf_file_stream); | |
^ | |
src/t64_conf_file_load.c:35:14: warning: identifier '_t64f_conf_file_load__strip_whitespace_from_string' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static char *_t64f_conf_file_load__strip_whitespace_from_string(char *string); | |
^ | |
src/t64_conf_file_load.c:36:20: warning: identifier '_t64f_conf_file_load__get_entry_value_by_key' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static const char *_t64f_conf_file_load__get_entry_value_by_key(t64ts_tundra__conf_file_entry **config_file_entries, const char *key); | |
^ | |
src/t64_conf_file_load.c:49:19: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] | |
const int conf_file_fd = fileno(conf_file_stream); | |
^ | |
src/t64_conf_file_load.c:81:15: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] | |
char *value_ptr = strchr(key_ptr, '='); | |
^ | |
src/t64_conf_file_load.c:73:10: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] | |
char line_buffer[_T64C_CONF_FILE_LOAD__LINE_BUFFER_SIZE]; | |
^ | |
src/t64_conf_file_load.c:112:11: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] | |
char *end = string + strlen(string) - 1; | |
^ | |
src/t64_conf_file_load.c:150:12: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] | |
size_t string_length = strlen(string_value); | |
^ | |
src/t64_conf_file_load.c:240:8: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#undef _T64C_CONF_FILE_LOAD__LINE_BUFFER_SIZE | |
^ | |
src/t64_conf_file_load.c:241:8: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#undef _T64C_CONF_FILE_LOAD__STOP_PARSING_CONFIG_SYMBOL | |
^ | |
20 warnings generated. | |
clang -MD -MP -std=c11 -Wall -Wextra -Wpedantic -Weverything -O3 -flto -pthread -o src/t64_conf_rfc7050.o -c src/t64_conf_rfc7050.c | |
In file included from src/t64_conf_rfc7050.c:22: | |
src/t64_tundra.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_H | |
^ | |
In file included from src/t64_conf_rfc7050.c:22: | |
In file included from src/t64_tundra.h:49: | |
src/t64_tundra_includes.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_INCLUDES_H | |
^ | |
In file included from src/t64_conf_rfc7050.c:22: | |
In file included from src/t64_tundra.h:50: | |
src/t64_tundra_defs.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_DEFS_H | |
^ | |
In file included from src/t64_conf_rfc7050.c:22: | |
In file included from src/t64_tundra.h:51: | |
src/t64_tundra_typedefs.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_TYPEDEFS_H | |
^ | |
In file included from src/t64_conf_rfc7050.c:23: | |
src/t64_conf_rfc7050.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_CONF_RFC7050_H | |
^ | |
In file included from src/t64_conf_rfc7050.c:25: | |
src/t64_utils.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_UTILS_H | |
^ | |
In file included from src/t64_conf_rfc7050.c:26: | |
src/t64_utils_ip.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_UTILS_IP_H | |
^ | |
In file included from src/t64_conf_rfc7050.c:27: | |
src/t64_log.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_LOG_H | |
^ | |
src/t64_conf_rfc7050.c:30:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64C_CONF_RFC7050__DNS_NAME "ipv4only.arpa." | |
^ | |
src/t64_conf_rfc7050.c:31:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64C_CONF_RFC7050__TARGET_IPV4_1 "\xc0\x00\x00\xaa" // 192.0.0.170 | |
^ | |
src/t64_conf_rfc7050.c:32:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64C_CONF_RFC7050__TARGET_IPV4_2 "\xc0\x00\x00\xab" // 192.0.0.171 | |
^ | |
src/t64_conf_rfc7050.c:33:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64C_CONF_RFC7050__RETRY_INTERVAL_SECONDS ((unsigned int) 3) | |
^ | |
src/t64_conf_rfc7050.c:36:13: warning: identifier '_t64f_conf_rfc7050__print_info_log_message_on_start' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static void _t64f_conf_rfc7050__print_info_log_message_on_start(void); | |
^ | |
src/t64_conf_rfc7050.c:37:13: warning: identifier '_t64f_conf_rfc7050__print_info_log_message_on_finish' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static void _t64f_conf_rfc7050__print_info_log_message_on_finish(const uint8_t *found_ipv6_prefix); | |
^ | |
src/t64_conf_rfc7050.c:59:63: warning: cast from 'struct sockaddr *' to 'struct sockaddr_in6 *' increases required alignment from 2 to 4 [-Wcast-align] | |
const uint8_t *ipv6_address = (const uint8_t *) (((struct sockaddr_in6 *) current_result->ai_addr)->sin6_addr.s6_addr); | |
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_conf_rfc7050.c:59:28: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] | |
const uint8_t *ipv6_address = (const uint8_t *) (((struct sockaddr_in6 *) current_result->ai_addr)->sin6_addr.s6_addr); | |
^ | |
src/t64_conf_rfc7050.c:92:8: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#undef _T64C_CONF_RFC7050__DNS_NAME | |
^ | |
src/t64_conf_rfc7050.c:93:8: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#undef _T64C_CONF_RFC7050__TARGET_IPV4_1 | |
^ | |
src/t64_conf_rfc7050.c:94:8: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#undef _T64C_CONF_RFC7050__TARGET_IPV4_2 | |
^ | |
src/t64_conf_rfc7050.c:95:8: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#undef _T64C_CONF_RFC7050__RETRY_INTERVAL_SECONDS | |
^ | |
src/t64_conf_rfc7050.c:84:10: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] | |
char found_ipv6_prefix_string[INET6_ADDRSTRLEN] = {'\0'}; | |
^ | |
21 warnings generated. | |
clang -MD -MP -std=c11 -Wall -Wextra -Wpedantic -Weverything -O3 -flto -pthread -o src/t64_init.o -c src/t64_init.c | |
In file included from src/t64_init.c:22: | |
src/t64_tundra.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_H | |
^ | |
In file included from src/t64_init.c:22: | |
In file included from src/t64_tundra.h:49: | |
src/t64_tundra_includes.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_INCLUDES_H | |
^ | |
In file included from src/t64_init.c:22: | |
In file included from src/t64_tundra.h:50: | |
src/t64_tundra_defs.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_DEFS_H | |
^ | |
In file included from src/t64_init.c:22: | |
In file included from src/t64_tundra.h:51: | |
src/t64_tundra_typedefs.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_TYPEDEFS_H | |
^ | |
In file included from src/t64_init.c:23: | |
src/t64_init.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_INIT_H | |
^ | |
In file included from src/t64_init.c:25: | |
src/t64_log.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_LOG_H | |
^ | |
In file included from src/t64_init.c:26: | |
src/t64_signal.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_SIGNAL_H | |
^ | |
In file included from src/t64_init.c:27: | |
src/t64_conf_cmdline.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_CONF_CMDLINE_H | |
^ | |
In file included from src/t64_init.c:28: | |
src/t64_conf_file.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_CONF_FILE_H | |
^ | |
In file included from src/t64_init.c:29: | |
src/t64_opmode_translate.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_OPMODE_TRANSLATE_H | |
^ | |
In file included from src/t64_init.c:30: | |
src/t64_opmode_mktun.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_OPMODE_MKTUN_H | |
^ | |
In file included from src/t64_init.c:31: | |
src/t64_opmode_rmtun.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_OPMODE_RMTUN_H | |
^ | |
In file included from src/t64_init.c:32: | |
src/t64_opmode_validate_config.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_OPMODE_VALIDATE_CONFIG_H | |
^ | |
In file included from src/t64_init.c:33: | |
src/t64_opmode_print_config.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_OPMODE_PRINT_CONFIG_H | |
^ | |
src/t64_init.c:36:13: warning: identifier '_t64f_init__check_compile_time_config' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static void _t64f_init__check_compile_time_config(void); | |
^ | |
src/t64_init.c:37:13: warning: identifier '_t64f_init__initialize_program' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static void _t64f_init__initialize_program(void); | |
^ | |
src/t64_init.c:38:13: warning: identifier '_t64f_init__finalize_program' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static void _t64f_init__finalize_program(void); | |
^ | |
src/t64_init.c:39:13: warning: identifier '_t64f_init__run_program_according_to_operation_mode' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static void _t64f_init__run_program_according_to_operation_mode(const t64ts_tundra__conf_cmdline *cmdline_configuration, const t64ts_tundra__conf_file *file_configuration); | |
^ | |
In file included from src/t64_init.c:22: | |
In file included from src/t64_tundra.h:51: | |
src/t64_tundra_typedefs.h:53:9: warning: padding size of 't64ts_tundra__conf_cmdline' with 4 bytes to alignment boundary [-Wpadded] | |
typedef struct { | |
^ | |
src/t64_tundra_typedefs.h:71:20: warning: padding struct 't64ts_tundra__conf_file' with 2 bytes to align 'addressing_external_unix_tcp_timeout' [-Wpadded] | |
struct timeval addressing_external_unix_tcp_timeout; | |
^ | |
src/t64_tundra_typedefs.h:65:9: warning: padding size of 't64ts_tundra__conf_file' with 3 bytes to alignment boundary [-Wpadded] | |
typedef struct { | |
^ | |
src/t64_init.c:47:33: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] | |
t64ts_tundra__conf_cmdline *cmdline_configuration = t64fa_conf_cmdline__parse_cmdline_configuration(argc, argv); | |
^ | |
src/t64_init.c:119:9: warning: default label in switch which covers all enumeration values [-Wcovered-switch-default] | |
default: | |
^ | |
23 warnings generated. | |
clang -MD -MP -std=c11 -Wall -Wextra -Wpedantic -Weverything -O3 -flto -pthread -o src/t64_init_io.o -c src/t64_init_io.c | |
In file included from src/t64_init_io.c:22: | |
src/t64_tundra.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_H | |
^ | |
In file included from src/t64_init_io.c:22: | |
In file included from src/t64_tundra.h:49: | |
src/t64_tundra_includes.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_INCLUDES_H | |
^ | |
In file included from src/t64_init_io.c:22: | |
In file included from src/t64_tundra.h:50: | |
src/t64_tundra_defs.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_DEFS_H | |
^ | |
In file included from src/t64_init_io.c:22: | |
In file included from src/t64_tundra.h:51: | |
src/t64_tundra_typedefs.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_TYPEDEFS_H | |
^ | |
In file included from src/t64_init_io.c:23: | |
src/t64_init_io.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_INIT_IO_H | |
^ | |
In file included from src/t64_init_io.c:25: | |
src/t64_utils.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_UTILS_H | |
^ | |
In file included from src/t64_init_io.c:26: | |
src/t64_log.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_LOG_H | |
^ | |
src/t64_init_io.c:37:39: warning: implicit conversion loses integer precision: 'int' to 'short' [-Wimplicit-int-conversion] | |
tun_interface_request.ifr_flags = tun_flags; | |
~ ^~~~~~~~~ | |
src/t64_init_io.c:35:18: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] | |
struct ifreq tun_interface_request; | |
^ | |
In file included from src/t64_init_io.c:22: | |
In file included from src/t64_tundra.h:51: | |
src/t64_tundra_typedefs.h:71:20: warning: padding struct 't64ts_tundra__conf_file' with 2 bytes to align 'addressing_external_unix_tcp_timeout' [-Wpadded] | |
struct timeval addressing_external_unix_tcp_timeout; | |
^ | |
src/t64_tundra_typedefs.h:65:9: warning: padding size of 't64ts_tundra__conf_file' with 3 bytes to alignment boundary [-Wpadded] | |
typedef struct { | |
^ | |
src/t64_init_io.c:79:11: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] | |
char *separator_ptr = strchr(next_fds_string_ptr, ';'); | |
^ | |
12 warnings generated. | |
clang -MD -MP -std=c11 -Wall -Wextra -Wpedantic -Weverything -O3 -flto -pthread -o src/t64_log.o -c src/t64_log.c | |
In file included from src/t64_log.c:22: | |
src/t64_tundra.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_H | |
^ | |
In file included from src/t64_log.c:22: | |
In file included from src/t64_tundra.h:49: | |
src/t64_tundra_includes.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_INCLUDES_H | |
^ | |
In file included from src/t64_log.c:22: | |
In file included from src/t64_tundra.h:50: | |
src/t64_tundra_defs.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_DEFS_H | |
^ | |
In file included from src/t64_log.c:22: | |
In file included from src/t64_tundra.h:51: | |
src/t64_tundra_typedefs.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_TYPEDEFS_H | |
^ | |
In file included from src/t64_log.c:23: | |
src/t64_log.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_LOG_H | |
^ | |
src/t64_log.c:26:24: warning: identifier '_t64g_log__log_output_mutex' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static pthread_mutex_t _t64g_log__log_output_mutex; | |
^ | |
src/t64_log.c:29:13: warning: identifier '_t64f_log__print_log_message' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static void _t64f_log__print_log_message(const size_t thread_id, const bool print_errno, const char *level, const char *format, va_list argument_list); | |
^ | |
src/t64_log.c:94:22: warning: format string is not a string literal [-Wformat-nonliteral] | |
vfprintf(stderr, format, argument_list); | |
^~~~~~ | |
8 warnings generated. | |
clang -MD -MP -std=c11 -Wall -Wextra -Wpedantic -Weverything -O3 -flto -pthread -o src/t64_main.o -c src/t64_main.c | |
In file included from src/t64_main.c:22: | |
src/t64_tundra.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_H | |
^ | |
In file included from src/t64_main.c:22: | |
In file included from src/t64_tundra.h:49: | |
src/t64_tundra_includes.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_INCLUDES_H | |
^ | |
In file included from src/t64_main.c:22: | |
In file included from src/t64_tundra.h:50: | |
src/t64_tundra_defs.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_DEFS_H | |
^ | |
In file included from src/t64_main.c:22: | |
In file included from src/t64_tundra.h:51: | |
src/t64_tundra_typedefs.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_TYPEDEFS_H | |
^ | |
In file included from src/t64_main.c:24: | |
src/t64_init.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_INIT_H | |
^ | |
5 warnings generated. | |
clang -MD -MP -std=c11 -Wall -Wextra -Wpedantic -Weverything -O3 -flto -pthread -o src/t64_opmode_mktun.o -c src/t64_opmode_mktun.c | |
In file included from src/t64_opmode_mktun.c:22: | |
src/t64_tundra.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_H | |
^ | |
In file included from src/t64_opmode_mktun.c:22: | |
In file included from src/t64_tundra.h:49: | |
src/t64_tundra_includes.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_INCLUDES_H | |
^ | |
In file included from src/t64_opmode_mktun.c:22: | |
In file included from src/t64_tundra.h:50: | |
src/t64_tundra_defs.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_DEFS_H | |
^ | |
In file included from src/t64_opmode_mktun.c:22: | |
In file included from src/t64_tundra.h:51: | |
src/t64_tundra_typedefs.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_TYPEDEFS_H | |
^ | |
In file included from src/t64_opmode_mktun.c:23: | |
src/t64_opmode_mktun.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_OPMODE_MKTUN_H | |
^ | |
In file included from src/t64_opmode_mktun.c:25: | |
src/t64_log.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_LOG_H | |
^ | |
In file included from src/t64_opmode_mktun.c:26: | |
src/t64_init_io.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_INIT_IO_H | |
^ | |
In file included from src/t64_opmode_mktun.c:27: | |
src/t64_conf_file.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_CONF_FILE_H | |
^ | |
In file included from src/t64_opmode_mktun.c:22: | |
In file included from src/t64_tundra.h:51: | |
src/t64_tundra_typedefs.h:71:20: warning: padding struct 't64ts_tundra__conf_file' with 2 bytes to align 'addressing_external_unix_tcp_timeout' [-Wpadded] | |
struct timeval addressing_external_unix_tcp_timeout; | |
^ | |
src/t64_tundra_typedefs.h:65:9: warning: padding size of 't64ts_tundra__conf_file' with 3 bytes to alignment boundary [-Wpadded] | |
typedef struct { | |
^ | |
10 warnings generated. | |
clang -MD -MP -std=c11 -Wall -Wextra -Wpedantic -Weverything -O3 -flto -pthread -o src/t64_opmode_print_config.o -c src/t64_opmode_print_config.c | |
In file included from src/t64_opmode_print_config.c:22: | |
src/t64_tundra.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_H | |
^ | |
In file included from src/t64_opmode_print_config.c:22: | |
In file included from src/t64_tundra.h:49: | |
src/t64_tundra_includes.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_INCLUDES_H | |
^ | |
In file included from src/t64_opmode_print_config.c:22: | |
In file included from src/t64_tundra.h:50: | |
src/t64_tundra_defs.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_DEFS_H | |
^ | |
In file included from src/t64_opmode_print_config.c:22: | |
In file included from src/t64_tundra.h:51: | |
src/t64_tundra_typedefs.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_TYPEDEFS_H | |
^ | |
In file included from src/t64_opmode_print_config.c:23: | |
src/t64_opmode_print_config.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_OPMODE_PRINT_CONFIG_H | |
^ | |
In file included from src/t64_opmode_print_config.c:25: | |
src/t64_utils.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_UTILS_H | |
^ | |
In file included from src/t64_opmode_print_config.c:26: | |
src/t64_log.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_LOG_H | |
^ | |
In file included from src/t64_opmode_print_config.c:27: | |
src/t64_conf_cmdline.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_CONF_CMDLINE_H | |
^ | |
In file included from src/t64_opmode_print_config.c:28: | |
src/t64_conf_file.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_CONF_FILE_H | |
^ | |
src/t64_opmode_print_config.c:32:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64M_OPMODE_PRINT_CONFIG__STRINGIFY(to_str) #to_str | |
^ | |
src/t64_opmode_print_config.c:34:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64C_OPMODE_PRINT_CONFIG__NULL_REPRESENTATION "<not specified>" | |
^ | |
src/t64_opmode_print_config.c:35:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64C_OPMODE_PRINT_CONFIG__EMPTY_STRING_REPRESENTATION "<empty>" | |
^ | |
src/t64_opmode_print_config.c:36:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64C_OPMODE_PRINT_CONFIG__TRUE_BOOLEAN_REPRESENTATION "<yes>" | |
^ | |
src/t64_opmode_print_config.c:37:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64C_OPMODE_PRINT_CONFIG__FALSE_BOOLEAN_REPRESENTATION "<no>" | |
^ | |
src/t64_opmode_print_config.c:40:13: warning: identifier '_t64f_opmode_print_config__print_compile_time_config' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static void _t64f_opmode_print_config__print_compile_time_config(void); | |
^ | |
src/t64_opmode_print_config.c:41:13: warning: identifier '_t64f_opmode_print_config__print_command_line_config' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static void _t64f_opmode_print_config__print_command_line_config(const t64ts_tundra__conf_cmdline *cmdline_configuration); | |
^ | |
src/t64_opmode_print_config.c:42:13: warning: identifier '_t64f_opmode_print_config__print_file_config' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static void _t64f_opmode_print_config__print_file_config(const t64ts_tundra__conf_file *file_configuration); | |
^ | |
src/t64_opmode_print_config.c:43:13: warning: identifier '_t64f_opmode_print_config__print_file_program_config' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static void _t64f_opmode_print_config__print_file_program_config(const t64ts_tundra__conf_file *file_configuration); | |
^ | |
src/t64_opmode_print_config.c:44:13: warning: identifier '_t64f_opmode_print_config__print_file_io_config' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static void _t64f_opmode_print_config__print_file_io_config(const t64ts_tundra__conf_file *file_configuration); | |
^ | |
src/t64_opmode_print_config.c:45:13: warning: identifier '_t64f_opmode_print_config__print_file_router_config' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static void _t64f_opmode_print_config__print_file_router_config(const t64ts_tundra__conf_file *file_configuration); | |
^ | |
src/t64_opmode_print_config.c:46:13: warning: identifier '_t64f_opmode_print_config__print_file_addressing_config' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static void _t64f_opmode_print_config__print_file_addressing_config(const t64ts_tundra__conf_file *file_configuration); | |
^ | |
src/t64_opmode_print_config.c:47:13: warning: identifier '_t64f_opmode_print_config__print_file_addressing_nat64_clat_config' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static void _t64f_opmode_print_config__print_file_addressing_nat64_clat_config(const t64ts_tundra__conf_file *file_configuration); | |
^ | |
src/t64_opmode_print_config.c:48:13: warning: identifier '_t64f_opmode_print_config__print_file_addressing_siit_config' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static void _t64f_opmode_print_config__print_file_addressing_siit_config(const t64ts_tundra__conf_file *file_configuration); | |
^ | |
src/t64_opmode_print_config.c:49:13: warning: identifier '_t64f_opmode_print_config__print_file_addressing_external_config' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static void _t64f_opmode_print_config__print_file_addressing_external_config(const t64ts_tundra__conf_file *file_configuration); | |
^ | |
src/t64_opmode_print_config.c:50:13: warning: identifier '_t64f_opmode_print_config__print_file_addressing_external_unix_config' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static void _t64f_opmode_print_config__print_file_addressing_external_unix_config(const t64ts_tundra__conf_file *file_configuration); | |
^ | |
src/t64_opmode_print_config.c:51:13: warning: identifier '_t64f_opmode_print_config__print_file_addressing_external_tcp_config' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static void _t64f_opmode_print_config__print_file_addressing_external_tcp_config(const t64ts_tundra__conf_file *file_configuration); | |
^ | |
src/t64_opmode_print_config.c:52:13: warning: identifier '_t64f_opmode_print_config__print_file_translator_config' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static void _t64f_opmode_print_config__print_file_translator_config(const t64ts_tundra__conf_file *file_configuration); | |
^ | |
src/t64_opmode_print_config.c:53:20: warning: identifier '_t64f_opmode_print_config__get_printable_representation_of_string' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static const char *_t64f_opmode_print_config__get_printable_representation_of_string(const char *string); | |
^ | |
src/t64_opmode_print_config.c:54:20: warning: identifier '_t64f_opmode_print_config__get_printable_representation_of_boolean' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static const char *_t64f_opmode_print_config__get_printable_representation_of_boolean(const bool boolean_value); | |
^ | |
src/t64_opmode_print_config.c:55:14: warning: identifier '_t64f_opmode_print_config__get_printable_representation_of_ipv4_address' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static char *_t64f_opmode_print_config__get_printable_representation_of_ipv4_address(const uint8_t *ipv4_address, char *out_string_buf); | |
^ | |
src/t64_opmode_print_config.c:56:14: warning: identifier '_t64f_opmode_print_config__get_printable_representation_of_ipv6_address' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static char *_t64f_opmode_print_config__get_printable_representation_of_ipv6_address(const uint8_t *ipv6_address, char *out_string_buf); | |
^ | |
src/t64_opmode_print_config.c:57:20: warning: identifier '_t64f_opmode_print_config__get_string_representation_of_operation_mode' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static const char *_t64f_opmode_print_config__get_string_representation_of_operation_mode(const t64te_tundra__operation_mode mode_of_operation); | |
^ | |
src/t64_opmode_print_config.c:58:20: warning: identifier '_t64f_opmode_print_config__get_string_representation_of_io_mode' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static const char *_t64f_opmode_print_config__get_string_representation_of_io_mode(const t64te_tundra__io_mode io_mode); | |
^ | |
src/t64_opmode_print_config.c:59:20: warning: identifier '_t64f_opmode_print_config__get_string_representation_of_addressing_mode' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static const char *_t64f_opmode_print_config__get_string_representation_of_addressing_mode(const t64te_tundra__addressing_mode addressing_mode); | |
^ | |
src/t64_opmode_print_config.c:60:20: warning: identifier '_t64f_opmode_print_config__get_string_representation_of_addressing_external_transport' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static const char *_t64f_opmode_print_config__get_string_representation_of_addressing_external_transport(const t64te_tundra__addressing_external_transport addressing_external_transport); | |
^ | |
In file included from src/t64_opmode_print_config.c:22: | |
In file included from src/t64_tundra.h:51: | |
src/t64_tundra_typedefs.h:53:9: warning: padding size of 't64ts_tundra__conf_cmdline' with 4 bytes to alignment boundary [-Wpadded] | |
typedef struct { | |
^ | |
src/t64_tundra_typedefs.h:71:20: warning: padding struct 't64ts_tundra__conf_file' with 2 bytes to align 'addressing_external_unix_tcp_timeout' [-Wpadded] | |
struct timeval addressing_external_unix_tcp_timeout; | |
^ | |
src/t64_tundra_typedefs.h:65:9: warning: padding size of 't64ts_tundra__conf_file' with 3 bytes to alignment boundary [-Wpadded] | |
typedef struct { | |
^ | |
src/t64_opmode_print_config.c:204:9: warning: default label in switch which covers all enumeration values [-Wcovered-switch-default] | |
default: | |
^ | |
src/t64_opmode_print_config.c:228:12: warning: enumeration value 'T64TE_TUNDRA__ADDRESSING_EXTERNAL_TRANSPORT_NONE' not explicitly handled in switch [-Wswitch-enum] | |
switch(file_configuration->addressing_external_transport) { | |
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_opmode_print_config.c:266:62: warning: cast from 'struct sockaddr *' to 'struct sockaddr_in *' increases required alignment from 2 to 4 [-Wcast-align] | |
struct sockaddr_in *sockaddr_in_struct = (struct sockaddr_in *) (current_addrinfo->ai_addr); | |
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_opmode_print_config.c:266:41: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] | |
struct sockaddr_in *sockaddr_in_struct = (struct sockaddr_in *) (current_addrinfo->ai_addr); | |
^ | |
src/t64_opmode_print_config.c:277:64: warning: cast from 'struct sockaddr *' to 'struct sockaddr_in6 *' increases required alignment from 2 to 4 [-Wcast-align] | |
struct sockaddr_in6 *sockaddr_in6_struct = (struct sockaddr_in6 *) (current_addrinfo->ai_addr); | |
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_opmode_print_config.c:277:42: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] | |
struct sockaddr_in6 *sockaddr_in6_struct = (struct sockaddr_in6 *) (current_addrinfo->ai_addr); | |
^ | |
src/t64_opmode_print_config.c:352:9: warning: default label in switch which covers all enumeration values [-Wcovered-switch-default] | |
default: | |
^ | |
src/t64_opmode_print_config.c:365:9: warning: default label in switch which covers all enumeration values [-Wcovered-switch-default] | |
default: | |
^ | |
src/t64_opmode_print_config.c:384:9: warning: default label in switch which covers all enumeration values [-Wcovered-switch-default] | |
default: | |
^ | |
src/t64_opmode_print_config.c:390:12: warning: enumeration value 'T64TE_TUNDRA__ADDRESSING_EXTERNAL_TRANSPORT_NONE' not explicitly handled in switch [-Wswitch-enum] | |
switch(addressing_external_transport) { | |
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_opmode_print_config.c:406:8: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#undef _T64M_OPMODE_PRINT_CONFIG__STRINGIFY | |
^ | |
src/t64_opmode_print_config.c:408:8: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#undef _T64C_OPMODE_PRINT_CONFIG__NULL_REPRESENTATION | |
^ | |
src/t64_opmode_print_config.c:409:8: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#undef _T64C_OPMODE_PRINT_CONFIG__EMPTY_STRING_REPRESENTATION | |
^ | |
src/t64_opmode_print_config.c:410:8: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#undef _T64C_OPMODE_PRINT_CONFIG__TRUE_BOOLEAN_REPRESENTATION | |
^ | |
src/t64_opmode_print_config.c:411:8: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#undef _T64C_OPMODE_PRINT_CONFIG__FALSE_BOOLEAN_REPRESENTATION | |
^ | |
53 warnings generated. | |
clang -MD -MP -std=c11 -Wall -Wextra -Wpedantic -Weverything -O3 -flto -pthread -o src/t64_opmode_rmtun.o -c src/t64_opmode_rmtun.c | |
In file included from src/t64_opmode_rmtun.c:22: | |
src/t64_tundra.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_H | |
^ | |
In file included from src/t64_opmode_rmtun.c:22: | |
In file included from src/t64_tundra.h:49: | |
src/t64_tundra_includes.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_INCLUDES_H | |
^ | |
In file included from src/t64_opmode_rmtun.c:22: | |
In file included from src/t64_tundra.h:50: | |
src/t64_tundra_defs.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_DEFS_H | |
^ | |
In file included from src/t64_opmode_rmtun.c:22: | |
In file included from src/t64_tundra.h:51: | |
src/t64_tundra_typedefs.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_TYPEDEFS_H | |
^ | |
In file included from src/t64_opmode_rmtun.c:23: | |
src/t64_opmode_rmtun.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_OPMODE_RMTUN_H | |
^ | |
In file included from src/t64_opmode_rmtun.c:25: | |
src/t64_log.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_LOG_H | |
^ | |
In file included from src/t64_opmode_rmtun.c:26: | |
src/t64_init_io.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_INIT_IO_H | |
^ | |
In file included from src/t64_opmode_rmtun.c:27: | |
src/t64_conf_file.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_CONF_FILE_H | |
^ | |
In file included from src/t64_opmode_rmtun.c:22: | |
In file included from src/t64_tundra.h:51: | |
src/t64_tundra_typedefs.h:71:20: warning: padding struct 't64ts_tundra__conf_file' with 2 bytes to align 'addressing_external_unix_tcp_timeout' [-Wpadded] | |
struct timeval addressing_external_unix_tcp_timeout; | |
^ | |
src/t64_tundra_typedefs.h:65:9: warning: padding size of 't64ts_tundra__conf_file' with 3 bytes to alignment boundary [-Wpadded] | |
typedef struct { | |
^ | |
10 warnings generated. | |
clang -MD -MP -std=c11 -Wall -Wextra -Wpedantic -Weverything -O3 -flto -pthread -o src/t64_opmode_translate.o -c src/t64_opmode_translate.c | |
In file included from src/t64_opmode_translate.c:22: | |
src/t64_tundra.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_H | |
^ | |
In file included from src/t64_opmode_translate.c:22: | |
In file included from src/t64_tundra.h:49: | |
src/t64_tundra_includes.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_INCLUDES_H | |
^ | |
In file included from src/t64_opmode_translate.c:22: | |
In file included from src/t64_tundra.h:50: | |
src/t64_tundra_defs.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_DEFS_H | |
^ | |
In file included from src/t64_opmode_translate.c:22: | |
In file included from src/t64_tundra.h:51: | |
src/t64_tundra_typedefs.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_TYPEDEFS_H | |
^ | |
In file included from src/t64_opmode_translate.c:23: | |
src/t64_opmode_translate.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_OPMODE_TRANSLATE_H | |
^ | |
In file included from src/t64_opmode_translate.c:25: | |
src/t64_utils.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_UTILS_H | |
^ | |
In file included from src/t64_opmode_translate.c:26: | |
src/t64_log.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_LOG_H | |
^ | |
In file included from src/t64_opmode_translate.c:27: | |
src/t64_init_io.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_INIT_IO_H | |
^ | |
In file included from src/t64_opmode_translate.c:28: | |
src/t64_signal.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_SIGNAL_H | |
^ | |
In file included from src/t64_opmode_translate.c:29: | |
src/t64_xlat.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_XLAT_H | |
^ | |
In file included from src/t64_opmode_translate.c:30: | |
src/t64_conf_file.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_CONF_FILE_H | |
^ | |
In file included from src/t64_opmode_translate.c:31: | |
src/t64_conf_cmdline.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_CONF_CMDLINE_H | |
^ | |
src/t64_opmode_translate.c:34:43: warning: identifier '_t64fa_opmode_translate__initialize_xlat_thread_contexts' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static t64ts_tundra__xlat_thread_context *_t64fa_opmode_translate__initialize_xlat_thread_contexts(const t64ts_tundra__conf_cmdline *cmdline_configuration, const t64ts_tundra__conf_file *file_configuration); | |
^ | |
src/t64_opmode_translate.c:35:48: warning: identifier '_t64fa_opmode_translate__initialize_external_addr_xlat_state_struct' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static t64ts_tundra__external_addr_xlat_state *_t64fa_opmode_translate__initialize_external_addr_xlat_state_struct(const t64ts_tundra__conf_file *file_configuration, char **addressing_external_next_fds_string_ptr); | |
^ | |
src/t64_opmode_translate.c:36:13: warning: identifier '_t64f_opmode_translate__free_xlat_thread_contexts' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static void _t64f_opmode_translate__free_xlat_thread_contexts(const t64ts_tundra__conf_file *file_configuration, t64ts_tundra__xlat_thread_context *thread_contexts); | |
^ | |
src/t64_opmode_translate.c:37:13: warning: identifier '_t64f_opmode_translate__free_external_addr_xlat_state_struct' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static void _t64f_opmode_translate__free_external_addr_xlat_state_struct(t64ts_tundra__external_addr_xlat_state *external_addr_xlat_state); | |
^ | |
src/t64_opmode_translate.c:38:13: warning: identifier '_t64f_opmode_translate__daemonize' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static void _t64f_opmode_translate__daemonize(const t64ts_tundra__conf_file *file_configuration); | |
^ | |
src/t64_opmode_translate.c:39:13: warning: identifier '_t64f_opmode_translate__start_xlat_threads' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static void _t64f_opmode_translate__start_xlat_threads(const t64ts_tundra__conf_file *file_configuration, t64ts_tundra__xlat_thread_context *thread_contexts); | |
^ | |
src/t64_opmode_translate.c:40:13: warning: identifier '_t64f_opmode_translate__print_information_about_translation_start' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static void _t64f_opmode_translate__print_information_about_translation_start(const t64ts_tundra__conf_file *file_configuration); | |
^ | |
src/t64_opmode_translate.c:41:13: warning: identifier '_t64f_opmode_translate__monitor_xlat_threads' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static void _t64f_opmode_translate__monitor_xlat_threads(const t64ts_tundra__conf_file *file_configuration, t64ts_tundra__xlat_thread_context *thread_contexts); | |
^ | |
src/t64_opmode_translate.c:42:13: warning: identifier '_t64f_opmode_translate__terminate_xlat_threads' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static void _t64f_opmode_translate__terminate_xlat_threads(const t64ts_tundra__conf_file *file_configuration, t64ts_tundra__xlat_thread_context *thread_contexts); | |
^ | |
In file included from src/t64_opmode_translate.c:22: | |
In file included from src/t64_tundra.h:51: | |
src/t64_tundra_typedefs.h:53:9: warning: padding size of 't64ts_tundra__conf_cmdline' with 4 bytes to alignment boundary [-Wpadded] | |
typedef struct { | |
^ | |
src/t64_tundra_typedefs.h:71:20: warning: padding struct 't64ts_tundra__conf_file' with 2 bytes to align 'addressing_external_unix_tcp_timeout' [-Wpadded] | |
struct timeval addressing_external_unix_tcp_timeout; | |
^ | |
src/t64_tundra_typedefs.h:65:9: warning: padding size of 't64ts_tundra__conf_file' with 3 bytes to alignment boundary [-Wpadded] | |
typedef struct { | |
^ | |
src/t64_tundra_typedefs.h:143:9: warning: padding size of 't64ts_tundra__xlat_thread_context' with 1 byte to alignment boundary [-Wpadded] | |
typedef struct { | |
^ | |
src/t64_opmode_translate.c:51:40: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] | |
t64ts_tundra__xlat_thread_context *thread_contexts = _t64fa_opmode_translate__initialize_xlat_thread_contexts(cmdline_configuration, file_configuration); | |
^ | |
In file included from src/t64_opmode_translate.c:22: | |
In file included from src/t64_tundra.h:51: | |
src/t64_tundra_typedefs.h:112:9: warning: padding size of 't64ts_tundra__external_addr_xlat_state' with 4 bytes to alignment boundary [-Wpadded] | |
typedef struct { | |
^ | |
src/t64_opmode_translate.c:111:13: warning: default label in switch which covers all enumeration values [-Wcovered-switch-default] | |
default: | |
^ | |
src/t64_opmode_translate.c:72:11: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] | |
char *io_next_fds_string_ptr = cmdline_configuration->io_inherited_fds; | |
^ | |
src/t64_opmode_translate.c:219:9: warning: default label in switch which covers all enumeration values [-Wcovered-switch-default] | |
default: t64f_log__crash_invalid_internal_state("Invalid addressing mode"); | |
^ | |
src/t64_opmode_translate.c:231:9: warning: default label in switch which covers all enumeration values [-Wcovered-switch-default] | |
default: | |
^ | |
31 warnings generated. | |
clang -MD -MP -std=c11 -Wall -Wextra -Wpedantic -Weverything -O3 -flto -pthread -o src/t64_opmode_validate_config.o -c src/t64_opmode_validate_config.c | |
In file included from src/t64_opmode_validate_config.c:22: | |
src/t64_tundra.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_H | |
^ | |
In file included from src/t64_opmode_validate_config.c:22: | |
In file included from src/t64_tundra.h:49: | |
src/t64_tundra_includes.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_INCLUDES_H | |
^ | |
In file included from src/t64_opmode_validate_config.c:22: | |
In file included from src/t64_tundra.h:50: | |
src/t64_tundra_defs.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_DEFS_H | |
^ | |
In file included from src/t64_opmode_validate_config.c:22: | |
In file included from src/t64_tundra.h:51: | |
src/t64_tundra_typedefs.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_TYPEDEFS_H | |
^ | |
In file included from src/t64_opmode_validate_config.c:23: | |
src/t64_opmode_validate_config.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_OPMODE_VALIDATE_CONFIG_H | |
^ | |
src/t64_opmode_validate_config.c:26:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64C_OPMODE_VALIDATE_CONFIG__CONFIGURATION_SUCCESSFUL_MESSAGE "Tundra has been successfully configured!" | |
^ | |
src/t64_opmode_validate_config.c:35:8: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#undef _T64C_OPMODE_VALIDATE_CONFIG__CONFIGURATION_SUCCESSFUL_MESSAGE | |
^ | |
7 warnings generated. | |
clang -MD -MP -std=c11 -Wall -Wextra -Wpedantic -Weverything -O3 -flto -pthread -o src/t64_router_ipv4.o -c src/t64_router_ipv4.c | |
In file included from src/t64_router_ipv4.c:22: | |
src/t64_tundra.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_H | |
^ | |
In file included from src/t64_router_ipv4.c:22: | |
In file included from src/t64_tundra.h:49: | |
src/t64_tundra_includes.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_INCLUDES_H | |
^ | |
In file included from src/t64_router_ipv4.c:22: | |
In file included from src/t64_tundra.h:50: | |
src/t64_tundra_defs.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_DEFS_H | |
^ | |
In file included from src/t64_router_ipv4.c:22: | |
In file included from src/t64_tundra.h:51: | |
src/t64_tundra_typedefs.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_TYPEDEFS_H | |
^ | |
In file included from src/t64_router_ipv4.c:23: | |
src/t64_router_ipv4.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_ROUTER_IPV4_H | |
^ | |
In file included from src/t64_router_ipv4.c:25: | |
src/t64_utils_ip.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_UTILS_IP_H | |
^ | |
In file included from src/t64_router_ipv4.c:25: | |
In file included from src/t64_utils_ip.h:26: | |
src/t64_utils.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_UTILS_H | |
^ | |
In file included from src/t64_router_ipv4.c:26: | |
src/t64_checksum.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_CHECKSUM_H | |
^ | |
In file included from src/t64_router_ipv4.c:27: | |
src/t64_xlat_io.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_XLAT_IO_H | |
^ | |
src/t64_router_ipv4.c:30:13: warning: identifier '_t64f_router_ipv4__send_icmpv4_message_to_in_ipv4_packet_source_host' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static void _t64f_router_ipv4__send_icmpv4_message_to_in_ipv4_packet_source_host(t64ts_tundra__xlat_thread_context *context, const uint8_t icmpv4_type, const uint8_t icmpv4_code, const uint16_t rest_of_header2); | |
^ | |
src/t64_router_ipv4.c:31:13: warning: identifier '_t64f_router_ipv4__construct_ipv4_header_for_icmpv4_message' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static bool _t64f_router_ipv4__construct_ipv4_header_for_icmpv4_message(t64ts_tundra__xlat_thread_context *context, struct iphdr *out_ipv4_header); | |
^ | |
src/t64_router_ipv4.c:32:13: warning: identifier '_t64f_router_ipv4__construct_icmpv4_header' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static void _t64f_router_ipv4__construct_icmpv4_header(const uint8_t icmpv4_type, const uint8_t icmpv4_code, const uint16_t rest_of_header2, struct icmphdr *out_icmpv4_header); | |
^ | |
In file included from src/t64_router_ipv4.c:22: | |
In file included from src/t64_tundra.h:51: | |
src/t64_tundra_typedefs.h:143:9: warning: padding size of 't64ts_tundra__xlat_thread_context' with 1 byte to alignment boundary [-Wpadded] | |
typedef struct { | |
^ | |
src/t64_tundra_typedefs.h:71:20: warning: padding struct 't64ts_tundra__conf_file' with 2 bytes to align 'addressing_external_unix_tcp_timeout' [-Wpadded] | |
struct timeval addressing_external_unix_tcp_timeout; | |
^ | |
src/t64_tundra_typedefs.h:65:9: warning: padding size of 't64ts_tundra__conf_file' with 3 bytes to alignment boundary [-Wpadded] | |
typedef struct { | |
^ | |
src/t64_tundra_typedefs.h:112:9: warning: padding size of 't64ts_tundra__external_addr_xlat_state' with 4 bytes to alignment boundary [-Wpadded] | |
typedef struct { | |
^ | |
src/t64_router_ipv4.c:52:20: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] | |
struct icmphdr icmpv4_header; // 8 bytes | |
^ | |
src/t64_router_ipv4.c:72:42: warning: cast from 'uint8_t *' (aka 'unsigned char *') to 'const struct iphdr *' increases required alignment from 1 to 4 [-Wcast-align] | |
const struct iphdr *in_ipv4_header = (const struct iphdr *) context->in_packet_buffer; | |
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_router_ipv4.c:72:25: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] | |
const struct iphdr *in_ipv4_header = (const struct iphdr *) context->in_packet_buffer; | |
^ | |
src/t64_router_ipv4.c:95:15: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] | |
uint16_t *out_icmpv4_header_raw = (uint16_t *) out_icmpv4_header; | |
^ | |
20 warnings generated. | |
clang -MD -MP -std=c11 -Wall -Wextra -Wpedantic -Weverything -O3 -flto -pthread -o src/t64_router_ipv6.o -c src/t64_router_ipv6.c | |
In file included from src/t64_router_ipv6.c:22: | |
src/t64_tundra.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_H | |
^ | |
In file included from src/t64_router_ipv6.c:22: | |
In file included from src/t64_tundra.h:49: | |
src/t64_tundra_includes.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_INCLUDES_H | |
^ | |
In file included from src/t64_router_ipv6.c:22: | |
In file included from src/t64_tundra.h:50: | |
src/t64_tundra_defs.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_DEFS_H | |
^ | |
In file included from src/t64_router_ipv6.c:22: | |
In file included from src/t64_tundra.h:51: | |
src/t64_tundra_typedefs.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_TYPEDEFS_H | |
^ | |
In file included from src/t64_router_ipv6.c:23: | |
src/t64_router_ipv6.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_ROUTER_IPV6_H | |
^ | |
In file included from src/t64_router_ipv6.c:25: | |
src/t64_utils.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_UTILS_H | |
^ | |
In file included from src/t64_router_ipv6.c:26: | |
src/t64_checksum.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_CHECKSUM_H | |
^ | |
In file included from src/t64_router_ipv6.c:27: | |
src/t64_xlat_io.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_XLAT_IO_H | |
^ | |
src/t64_router_ipv6.c:30:13: warning: identifier '_t64f_router_ipv6__send_icmpv6_message_to_in_ipv6_packet_source_host' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static void _t64f_router_ipv6__send_icmpv6_message_to_in_ipv6_packet_source_host(const t64ts_tundra__xlat_thread_context *context, const uint8_t icmpv6_type, const uint8_t icmpv6_code, const uint16_t rest_of_header2); | |
^ | |
src/t64_router_ipv6.c:31:13: warning: identifier '_t64f_router_ipv6__construct_ipv6_header_for_icmpv6_message' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static bool _t64f_router_ipv6__construct_ipv6_header_for_icmpv6_message(const t64ts_tundra__xlat_thread_context *context, struct ipv6hdr *out_ipv6_header); | |
^ | |
src/t64_router_ipv6.c:32:13: warning: identifier '_t64f_router_ipv6__construct_icmpv6_header' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static void _t64f_router_ipv6__construct_icmpv6_header(const uint8_t icmpv6_type, const uint8_t icmpv6_code, const uint16_t rest_of_header2, struct icmp6hdr *out_icmpv6_header); | |
^ | |
In file included from src/t64_router_ipv6.c:22: | |
In file included from src/t64_tundra.h:51: | |
src/t64_tundra_typedefs.h:143:9: warning: padding size of 't64ts_tundra__xlat_thread_context' with 1 byte to alignment boundary [-Wpadded] | |
typedef struct { | |
^ | |
src/t64_tundra_typedefs.h:71:20: warning: padding struct 't64ts_tundra__conf_file' with 2 bytes to align 'addressing_external_unix_tcp_timeout' [-Wpadded] | |
struct timeval addressing_external_unix_tcp_timeout; | |
^ | |
src/t64_tundra_typedefs.h:65:9: warning: padding size of 't64ts_tundra__conf_file' with 3 bytes to alignment boundary [-Wpadded] | |
typedef struct { | |
^ | |
src/t64_tundra_typedefs.h:112:9: warning: padding size of 't64ts_tundra__external_addr_xlat_state' with 4 bytes to alignment boundary [-Wpadded] | |
typedef struct { | |
^ | |
src/t64_router_ipv6.c:52:21: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] | |
struct icmp6hdr icmpv6_header; // 8 bytes | |
^ | |
src/t64_router_ipv6.c:71:44: warning: cast from 'uint8_t *' (aka 'unsigned char *') to 'const struct ipv6hdr *' increases required alignment from 1 to 4 [-Wcast-align] | |
const struct ipv6hdr *in_ipv6_header = (const struct ipv6hdr *) context->in_packet_buffer; | |
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_router_ipv6.c:71:27: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] | |
const struct ipv6hdr *in_ipv6_header = (const struct ipv6hdr *) context->in_packet_buffer; | |
^ | |
src/t64_router_ipv6.c:91:15: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] | |
uint16_t *out_icmpv6_header_raw = (uint16_t *) out_icmpv6_header; | |
^ | |
19 warnings generated. | |
clang -MD -MP -std=c11 -Wall -Wextra -Wpedantic -Weverything -O3 -flto -pthread -o src/t64_signal.o -c src/t64_signal.c | |
In file included from src/t64_signal.c:22: | |
src/t64_tundra.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_H | |
^ | |
In file included from src/t64_signal.c:22: | |
In file included from src/t64_tundra.h:49: | |
src/t64_tundra_includes.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_INCLUDES_H | |
^ | |
In file included from src/t64_signal.c:22: | |
In file included from src/t64_tundra.h:50: | |
src/t64_tundra_defs.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_DEFS_H | |
^ | |
In file included from src/t64_signal.c:22: | |
In file included from src/t64_tundra.h:51: | |
src/t64_tundra_typedefs.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_TYPEDEFS_H | |
^ | |
In file included from src/t64_signal.c:23: | |
src/t64_signal.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_SIGNAL_H | |
^ | |
In file included from src/t64_signal.c:25: | |
src/t64_utils.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_UTILS_H | |
^ | |
In file included from src/t64_signal.c:26: | |
src/t64_log.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_LOG_H | |
^ | |
src/t64_signal.c:29:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64C_SIGNAL__MAIN_THREAD_TERMINATION_SIGNAL_MESSAGE "[T0 :: "T64C_LOG__CATEGORY_BANNER_SIGNAL"] A signal was received - the translator will shut down soon.\n" | |
^ | |
src/t64_signal.c:32:39: warning: identifier '_t64gt_signal__termination_signal_caught' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static __thread volatile sig_atomic_t _t64gt_signal__termination_signal_caught = 0; | |
^ | |
src/t64_signal.c:35:13: warning: identifier '_t64f_signal__termination_signal_handler_function' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static void _t64f_signal__termination_signal_handler_function(__attribute__((unused)) int sig, siginfo_t *info, __attribute__((unused)) void *ucontext); | |
^ | |
src/t64_signal.c:36:13: warning: identifier '_t64f_signal__ignore_signal' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static void _t64f_signal__ignore_signal(const int signal_number); | |
^ | |
src/t64_signal.c:37:13: warning: identifier '_t64f_signal__set_signal_handler' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static void _t64f_signal__set_signal_handler(const int signal_number, void (*signal_handler)(int, siginfo_t *, void *)); | |
^ | |
src/t64_signal.c:38:17: warning: identifier '_t64f_signal__generate_empty_signal_mask' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static sigset_t _t64f_signal__generate_empty_signal_mask(void); | |
^ | |
src/t64_signal.c:69:21: warning: disabled expansion of recursive macro [-Wdisabled-macro-expansion] | |
} else if(info->si_pid == process_pid) { // If the signal has been sent from within this process | |
^ | |
/usr/include/x86_64-linux-gnu/bits/types/siginfo_t.h:128:33: note: expanded from macro 'si_pid' | |
#define si_pid _sifields._kill.si_pid | |
^ | |
src/t64_signal.c:78:19: warning: disabled expansion of recursive macro [-Wdisabled-macro-expansion] | |
signal_action.sa_handler = SIG_IGN; | |
^ | |
/usr/include/x86_64-linux-gnu/bits/sigaction.h:39:41: note: expanded from macro 'sa_handler' | |
# define sa_handler __sigaction_handler.sa_handler | |
^ | |
src/t64_signal.c:90:19: warning: disabled expansion of recursive macro [-Wdisabled-macro-expansion] | |
signal_action.sa_sigaction = signal_handler; | |
^ | |
/usr/include/x86_64-linux-gnu/bits/sigaction.h:40:43: note: expanded from macro 'sa_sigaction' | |
# define sa_sigaction __sigaction_handler.sa_sigaction | |
^ | |
src/t64_signal.c:108:8: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#undef _T64C_SIGNAL__MAIN_THREAD_TERMINATION_SIGNAL_MESSAGE | |
^ | |
17 warnings generated. | |
clang -MD -MP -std=c11 -Wall -Wextra -Wpedantic -Weverything -O3 -flto -pthread -o src/t64_utils.o -c src/t64_utils.c | |
In file included from src/t64_utils.c:22: | |
src/t64_tundra.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_H | |
^ | |
In file included from src/t64_utils.c:22: | |
In file included from src/t64_tundra.h:49: | |
src/t64_tundra_includes.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_INCLUDES_H | |
^ | |
In file included from src/t64_utils.c:22: | |
In file included from src/t64_tundra.h:50: | |
src/t64_tundra_defs.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_DEFS_H | |
^ | |
In file included from src/t64_utils.c:22: | |
In file included from src/t64_tundra.h:51: | |
src/t64_tundra_typedefs.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_TYPEDEFS_H | |
^ | |
In file included from src/t64_utils.c:23: | |
src/t64_utils.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_UTILS_H | |
^ | |
In file included from src/t64_utils.c:25: | |
src/t64_log.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_LOG_H | |
^ | |
6 warnings generated. | |
clang -MD -MP -std=c11 -Wall -Wextra -Wpedantic -Weverything -O3 -flto -pthread -o src/t64_utils_ip.o -c src/t64_utils_ip.c | |
In file included from src/t64_utils_ip.c:22: | |
src/t64_tundra.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_H | |
^ | |
In file included from src/t64_utils_ip.c:22: | |
In file included from src/t64_tundra.h:49: | |
src/t64_tundra_includes.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_INCLUDES_H | |
^ | |
In file included from src/t64_utils_ip.c:22: | |
In file included from src/t64_tundra.h:50: | |
src/t64_tundra_defs.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_DEFS_H | |
^ | |
In file included from src/t64_utils_ip.c:22: | |
In file included from src/t64_tundra.h:51: | |
src/t64_tundra_typedefs.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_TYPEDEFS_H | |
^ | |
In file included from src/t64_utils_ip.c:23: | |
src/t64_utils_ip.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_UTILS_IP_H | |
^ | |
In file included from src/t64_utils_ip.c:23: | |
In file included from src/t64_utils_ip.h:26: | |
src/t64_utils.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_UTILS_H | |
^ | |
In file included from src/t64_utils_ip.c:22: | |
In file included from src/t64_tundra.h:51: | |
src/t64_tundra_typedefs.h:143:9: warning: padding size of 't64ts_tundra__xlat_thread_context' with 1 byte to alignment boundary [-Wpadded] | |
typedef struct { | |
^ | |
src/t64_tundra_typedefs.h:71:20: warning: padding struct 't64ts_tundra__conf_file' with 2 bytes to align 'addressing_external_unix_tcp_timeout' [-Wpadded] | |
struct timeval addressing_external_unix_tcp_timeout; | |
^ | |
src/t64_tundra_typedefs.h:65:9: warning: padding size of 't64ts_tundra__conf_file' with 3 bytes to alignment boundary [-Wpadded] | |
typedef struct { | |
^ | |
src/t64_tundra_typedefs.h:112:9: warning: padding size of 't64ts_tundra__external_addr_xlat_state' with 4 bytes to alignment boundary [-Wpadded] | |
typedef struct { | |
^ | |
10 warnings generated. | |
clang -MD -MP -std=c11 -Wall -Wextra -Wpedantic -Weverything -O3 -flto -pthread -o src/t64_utils_xlat_addr.o -c src/t64_utils_xlat_addr.c | |
In file included from src/t64_utils_xlat_addr.c:22: | |
src/t64_tundra.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_H | |
^ | |
In file included from src/t64_utils_xlat_addr.c:22: | |
In file included from src/t64_tundra.h:49: | |
src/t64_tundra_includes.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_INCLUDES_H | |
^ | |
In file included from src/t64_utils_xlat_addr.c:22: | |
In file included from src/t64_tundra.h:50: | |
src/t64_tundra_defs.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_DEFS_H | |
^ | |
In file included from src/t64_utils_xlat_addr.c:22: | |
In file included from src/t64_tundra.h:51: | |
src/t64_tundra_typedefs.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_TYPEDEFS_H | |
^ | |
In file included from src/t64_utils_xlat_addr.c:23: | |
src/t64_utils_xlat_addr.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_UTILS_XLAT_ADDR_H | |
^ | |
In file included from src/t64_utils_xlat_addr.c:25: | |
src/t64_utils.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_UTILS_H | |
^ | |
In file included from src/t64_utils_xlat_addr.c:26: | |
src/t64_utils_ip.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_UTILS_IP_H | |
^ | |
src/t64_utils_xlat_addr.c:29:13: warning: identifier '_t64f_utils_xlat_addr__nat64_clat_siit__check_embeddability_of_ipv4_into_prefix' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static bool _t64f_utils_xlat_addr__nat64_clat_siit__check_embeddability_of_ipv4_into_prefix(const t64ts_tundra__xlat_thread_context *context, const uint8_t *ipv4); | |
^ | |
In file included from src/t64_utils_xlat_addr.c:22: | |
In file included from src/t64_tundra.h:51: | |
src/t64_tundra_typedefs.h:143:9: warning: padding size of 't64ts_tundra__xlat_thread_context' with 1 byte to alignment boundary [-Wpadded] | |
typedef struct { | |
^ | |
src/t64_tundra_typedefs.h:71:20: warning: padding struct 't64ts_tundra__conf_file' with 2 bytes to align 'addressing_external_unix_tcp_timeout' [-Wpadded] | |
struct timeval addressing_external_unix_tcp_timeout; | |
^ | |
src/t64_tundra_typedefs.h:65:9: warning: padding size of 't64ts_tundra__conf_file' with 3 bytes to alignment boundary [-Wpadded] | |
typedef struct { | |
^ | |
src/t64_tundra_typedefs.h:112:9: warning: padding size of 't64ts_tundra__external_addr_xlat_state' with 4 bytes to alignment boundary [-Wpadded] | |
typedef struct { | |
^ | |
12 warnings generated. | |
clang -MD -MP -std=c11 -Wall -Wextra -Wpedantic -Weverything -O3 -flto -pthread -o src/t64_xlat_4to6.o -c src/t64_xlat_4to6.c | |
In file included from src/t64_xlat_4to6.c:22: | |
src/t64_tundra.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_H | |
^ | |
In file included from src/t64_xlat_4to6.c:22: | |
In file included from src/t64_tundra.h:49: | |
src/t64_tundra_includes.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_INCLUDES_H | |
^ | |
In file included from src/t64_xlat_4to6.c:22: | |
In file included from src/t64_tundra.h:50: | |
src/t64_tundra_defs.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_DEFS_H | |
^ | |
In file included from src/t64_xlat_4to6.c:22: | |
In file included from src/t64_tundra.h:51: | |
src/t64_tundra_typedefs.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_TYPEDEFS_H | |
^ | |
In file included from src/t64_xlat_4to6.c:23: | |
src/t64_xlat_4to6.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_XLAT_4TO6_H | |
^ | |
In file included from src/t64_xlat_4to6.c:25: | |
src/t64_utils.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_UTILS_H | |
^ | |
In file included from src/t64_xlat_4to6.c:26: | |
src/t64_utils_ip.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_UTILS_IP_H | |
^ | |
In file included from src/t64_xlat_4to6.c:27: | |
src/t64_checksum.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_CHECKSUM_H | |
^ | |
In file included from src/t64_xlat_4to6.c:28: | |
src/t64_xlat_io.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_XLAT_IO_H | |
^ | |
In file included from src/t64_xlat_4to6.c:29: | |
src/t64_xlat_4to6_icmp.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_XLAT_4TO6_ICMP_H | |
^ | |
In file included from src/t64_xlat_4to6.c:30: | |
src/t64_router_ipv4.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_ROUTER_IPV4_H | |
^ | |
In file included from src/t64_xlat_4to6.c:31: | |
src/t64_xlat_addr.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_XLAT_ADDR_H | |
^ | |
src/t64_xlat_4to6.c:43:3: warning: identifier '_t64ts_xlat_4to6__out_ipv6_packet_data' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
} _t64ts_xlat_4to6__out_ipv6_packet_data; | |
^ | |
src/t64_xlat_4to6.c:46:13: warning: identifier '_t64f_xlat_4to6__validate_and_translate_ip_header' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static bool _t64f_xlat_4to6__validate_and_translate_ip_header(t64ts_tundra__xlat_thread_context *context, _t64ts_xlat_4to6__out_ipv6_packet_data *out_packet_data); | |
^ | |
src/t64_xlat_4to6.c:47:13: warning: identifier '_t64f_xlat_4to6__translate_icmpv4_payload_to_icmpv6_and_send' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static void _t64f_xlat_4to6__translate_icmpv4_payload_to_icmpv6_and_send(t64ts_tundra__xlat_thread_context *context, _t64ts_xlat_4to6__out_ipv6_packet_data *out_packet_data); | |
^ | |
src/t64_xlat_4to6.c:48:13: warning: identifier '_t64f_xlat_4to6__translate_tcp_payload_and_send' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static void _t64f_xlat_4to6__translate_tcp_payload_and_send(t64ts_tundra__xlat_thread_context *context, _t64ts_xlat_4to6__out_ipv6_packet_data *out_packet_data); | |
^ | |
src/t64_xlat_4to6.c:49:13: warning: identifier '_t64f_xlat_4to6__translate_udp_payload_and_send' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static void _t64f_xlat_4to6__translate_udp_payload_and_send(t64ts_tundra__xlat_thread_context *context, _t64ts_xlat_4to6__out_ipv6_packet_data *out_packet_data); | |
^ | |
src/t64_xlat_4to6.c:50:13: warning: identifier '_t64f_xlat_4to6__translate_generic_payload_and_send' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static void _t64f_xlat_4to6__translate_generic_payload_and_send(t64ts_tundra__xlat_thread_context *context, _t64ts_xlat_4to6__out_ipv6_packet_data *out_packet_data); | |
^ | |
src/t64_xlat_4to6.c:51:13: warning: identifier '_t64f_xlat_4to6__appropriately_send_ipv6_packet' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static void _t64f_xlat_4to6__appropriately_send_ipv6_packet(t64ts_tundra__xlat_thread_context *context, struct ipv6hdr *ipv6_header, const t64ts_tundra__ipv6_fragment_header *nullable_ipv6_fragment_header, const uint8_t *nullable_payload1_ptr, const size_t zeroable_payload1_size_m8, const uint8_t *payload2_ptr, const size_t payload2_size, const bool dont_fragment); | |
^ | |
src/t64_xlat_4to6.c:52:13: warning: identifier '_t64f_xlat_4to6__fragment_and_send_ipv6_packet' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static void _t64f_xlat_4to6__fragment_and_send_ipv6_packet(t64ts_tundra__xlat_thread_context *context, struct ipv6hdr *ipv6_header, const t64ts_tundra__ipv6_fragment_header *nullable_ipv6_fragment_header, const uint8_t *nullable_payload1_ptr, const size_t zeroable_payload1_size_m8, const uint8_t *payload2_ptr, const size_t payload2_size); | |
^ | |
src/t64_xlat_4to6.c:53:13: warning: identifier '_t64f_xlat_4to6__fragment_and_send_ipv6_packet_part' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static bool _t64f_xlat_4to6__fragment_and_send_ipv6_packet_part(const t64ts_tundra__xlat_thread_context *context, struct ipv6hdr *ready_ipv6_header, t64ts_tundra__ipv6_fragment_header *ready_ipv6_fragment_header, const uint8_t *payload_part_ptr, const size_t payload_part_size, size_t *fragment_offset_8byte_chunks, const bool more_fragments_after_this_part, const size_t max_fragment_payload_size); | |
^ | |
In file included from src/t64_xlat_4to6.c:22: | |
In file included from src/t64_tundra.h:51: | |
src/t64_tundra_typedefs.h:143:9: warning: padding size of 't64ts_tundra__xlat_thread_context' with 1 byte to alignment boundary [-Wpadded] | |
typedef struct { | |
^ | |
src/t64_xlat_4to6.c:34:9: warning: padding size of '_t64ts_xlat_4to6__out_ipv6_packet_data' with 4 bytes to alignment boundary [-Wpadded] | |
typedef struct { | |
^ | |
In file included from src/t64_xlat_4to6.c:22: | |
In file included from src/t64_tundra.h:51: | |
src/t64_tundra_typedefs.h:71:20: warning: padding struct 't64ts_tundra__conf_file' with 2 bytes to align 'addressing_external_unix_tcp_timeout' [-Wpadded] | |
struct timeval addressing_external_unix_tcp_timeout; | |
^ | |
src/t64_tundra_typedefs.h:65:9: warning: padding size of 't64ts_tundra__conf_file' with 3 bytes to alignment boundary [-Wpadded] | |
typedef struct { | |
^ | |
src/t64_tundra_typedefs.h:112:9: warning: padding size of 't64ts_tundra__external_addr_xlat_state' with 4 bytes to alignment boundary [-Wpadded] | |
typedef struct { | |
^ | |
src/t64_xlat_4to6.c:91:42: warning: cast from 'uint8_t *' (aka 'unsigned char *') to 'const struct iphdr *' increases required alignment from 1 to 4 [-Wcast-align] | |
const struct iphdr *in_ipv4_header = (const struct iphdr *) context->in_packet_buffer; | |
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_xlat_4to6.c:151:21: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] | |
ssize_t current_option_size; // https://www.iana.org/assignments/ip-parameters/ip-parameters.xhtml | |
^ | |
src/t64_xlat_4to6.c:91:25: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] | |
const struct iphdr *in_ipv4_header = (const struct iphdr *) context->in_packet_buffer; | |
^ | |
src/t64_xlat_4to6.c:240:51: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] | |
t64ts_xlat_4to6_icmp__out_icmpv6_message_data out_message_data; | |
^ | |
src/t64_xlat_4to6.c:265:123: warning: cast from 'uint8_t *' (aka 'unsigned char *') to 'const struct iphdr *' increases required alignment from 1 to 4 [-Wcast-align] | |
new_tcp_header->check = t64f_checksum__incrementally_recalculate_rfc1071_checksum_4to6(new_tcp_header->check, (const struct iphdr *) context->in_packet_buffer, &out_packet_data->ipv6_header); | |
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_xlat_4to6.c:276:123: warning: cast from 'uint8_t *' (aka 'unsigned char *') to 'const struct iphdr *' increases required alignment from 1 to 4 [-Wcast-align] | |
new_tcp_header->check = t64f_checksum__incrementally_recalculate_rfc1071_checksum_4to6(new_tcp_header->check, (const struct iphdr *) context->in_packet_buffer, &out_packet_data->ipv6_header); | |
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_xlat_4to6.c:303:124: warning: cast from 'uint8_t *' (aka 'unsigned char *') to 'const struct iphdr *' increases required alignment from 1 to 4 [-Wcast-align] | |
const uint16_t new_checksum = t64f_checksum__incrementally_recalculate_rfc1071_checksum_4to6(new_udp_header.check, (const struct iphdr *) context->in_packet_buffer, &out_packet_data->ipv6_header); | |
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_xlat_4to6.c:303:24: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] | |
const uint16_t new_checksum = t64f_checksum__incrementally_recalculate_rfc1071_checksum_4to6(new_udp_header.check, (const struct iphdr *) context->in_packet_buffer, &out_packet_data->ipv6_header); | |
^ | |
src/t64_xlat_4to6.c:375:12: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] | |
size_t max_fragment_payload_size = (context->configuration->translator_ipv6_outbound_mtu - 48); | |
^ | |
35 warnings generated. | |
clang -MD -MP -std=c11 -Wall -Wextra -Wpedantic -Weverything -O3 -flto -pthread -o src/t64_xlat_4to6_icmp.o -c src/t64_xlat_4to6_icmp.c | |
In file included from src/t64_xlat_4to6_icmp.c:22: | |
src/t64_tundra.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_H | |
^ | |
In file included from src/t64_xlat_4to6_icmp.c:22: | |
In file included from src/t64_tundra.h:49: | |
src/t64_tundra_includes.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_INCLUDES_H | |
^ | |
In file included from src/t64_xlat_4to6_icmp.c:22: | |
In file included from src/t64_tundra.h:50: | |
src/t64_tundra_defs.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_DEFS_H | |
^ | |
In file included from src/t64_xlat_4to6_icmp.c:22: | |
In file included from src/t64_tundra.h:51: | |
src/t64_tundra_typedefs.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_TYPEDEFS_H | |
^ | |
In file included from src/t64_xlat_4to6_icmp.c:23: | |
src/t64_xlat_4to6_icmp.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_XLAT_4TO6_ICMP_H | |
^ | |
In file included from src/t64_xlat_4to6_icmp.c:25: | |
src/t64_utils.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_UTILS_H | |
^ | |
In file included from src/t64_xlat_4to6_icmp.c:26: | |
src/t64_utils_ip.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_UTILS_IP_H | |
^ | |
In file included from src/t64_xlat_4to6_icmp.c:27: | |
src/t64_checksum.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_CHECKSUM_H | |
^ | |
In file included from src/t64_xlat_4to6_icmp.c:28: | |
src/t64_xlat_addr.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_XLAT_ADDR_H | |
^ | |
src/t64_xlat_4to6_icmp.c:36:3: warning: identifier '_t64ts_xlat_4to6_icmp__out_ipv6_packet_in_error_data' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
} _t64ts_xlat_4to6_icmp__out_ipv6_packet_in_error_data; | |
^ | |
src/t64_xlat_4to6_icmp.c:40:23: warning: identifier '_t64gc_xlat_4to6_icmp__rfc1191_plateau_mtu_values' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static const uint16_t _t64gc_xlat_4to6_icmp__rfc1191_plateau_mtu_values[] = { | |
^ | |
src/t64_xlat_4to6_icmp.c:43:23: warning: identifier '_t64gc_xlat_4to6_icmp__rfc1191_default_plateau_mtu_value' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static const uint16_t _t64gc_xlat_4to6_icmp__rfc1191_default_plateau_mtu_value = 68; // Used when the MTU value cannot be decided from the above defined array (for whatever reason). | |
^ | |
src/t64_xlat_4to6_icmp.c:46:13: warning: identifier '_t64f_xlat_4to6_icmp__validate_and_translate_icmp_type_and_code' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static bool _t64f_xlat_4to6_icmp__validate_and_translate_icmp_type_and_code(const uint8_t old_icmpv4_type, const uint8_t old_icmpv4_code, uint8_t *new_icmpv6_type, uint8_t *new_icmpv6_code); | |
^ | |
src/t64_xlat_4to6_icmp.c:47:13: warning: identifier '_t64f_xlat_4to6_icmp__validate_and_translate_rest_of_icmp_header' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static bool _t64f_xlat_4to6_icmp__validate_and_translate_rest_of_icmp_header(const t64ts_tundra__xlat_thread_context *context, const uint8_t *old_icmpv4_payload_ptr, const size_t old_icmpv4_payload_size, const uint8_t old_icmpv4_type, const uint8_t old_icmpv4_code, const uint8_t *old_icmpv4_rest_of_header, uint8_t *new_icmpv6_rest_of_header); | |
^ | |
src/t64_xlat_4to6_icmp.c:48:17: warning: identifier '_t64f_xlat_4to6_icmp__recalculate_packet_too_big_mtu' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static uint16_t _t64f_xlat_4to6_icmp__recalculate_packet_too_big_mtu(const t64ts_tundra__xlat_thread_context *context, const uint8_t *old_icmpv4_payload_ptr, const size_t old_icmpv4_payload_size, uint16_t mtu); | |
^ | |
src/t64_xlat_4to6_icmp.c:49:17: warning: identifier '_t64f_xlat_4to6_icmp__estimate_likely_mtu_as_per_rfc1191' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static uint16_t _t64f_xlat_4to6_icmp__estimate_likely_mtu_as_per_rfc1191(const uint8_t *old_icmpv4_payload_ptr, const size_t old_icmpv4_payload_size); | |
^ | |
src/t64_xlat_4to6_icmp.c:50:13: warning: identifier '_t64f_xlat_4to6_icmp__translate_parameter_problem_pointer' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static bool _t64f_xlat_4to6_icmp__translate_parameter_problem_pointer(const uint8_t old_pointer, uint8_t *new_pointer); | |
^ | |
src/t64_xlat_4to6_icmp.c:51:13: warning: identifier '_t64f_xlat_4to6_icmp__validate_and_translate_ip_header_of_packet_in_error' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static bool _t64f_xlat_4to6_icmp__validate_and_translate_ip_header_of_packet_in_error(t64ts_tundra__xlat_thread_context *context, const uint8_t *in_icmpv4_payload_ptr, const size_t in_icmpv4_payload_size, uint8_t *out_packet_in_error_buffer_56b, _t64ts_xlat_4to6_icmp__out_ipv6_packet_in_error_data *out_packet_in_error_data); | |
^ | |
src/t64_xlat_4to6_icmp.c:58:46: warning: cast from 'const uint8_t *' (aka 'const unsigned char *') to 'const struct icmphdr *' increases required alignment from 1 to 4 [-Wcast-align] | |
const struct icmphdr *in_icmpv4_header = (const struct icmphdr *) in_packet_payload_ptr; | |
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_xlat_4to6_icmp.c:59:42: warning: cast from 'uint8_t *' (aka 'unsigned char *') to 'struct icmp6hdr *' increases required alignment from 1 to 4 [-Wcast-align] | |
struct icmp6hdr *out_icmpv6_header = (struct icmp6hdr *) out_message_data->message_start_64b; | |
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
In file included from src/t64_xlat_4to6_icmp.c:22: | |
In file included from src/t64_tundra.h:51: | |
src/t64_tundra_typedefs.h:143:9: warning: padding size of 't64ts_tundra__xlat_thread_context' with 1 byte to alignment boundary [-Wpadded] | |
typedef struct { | |
^ | |
src/t64_xlat_4to6_icmp.c:31:9: warning: padding size of '_t64ts_xlat_4to6_icmp__out_ipv6_packet_in_error_data' with 6 bytes to alignment boundary [-Wpadded] | |
typedef struct { | |
^ | |
src/t64_xlat_4to6_icmp.c:109:71: warning: cast from 'uint8_t *' (aka 'unsigned char *') to 'struct icmp6hdr *' increases required alignment from 1 to 4 [-Wcast-align] | |
struct icmp6hdr *new_icmpv6_packet_in_error_payload_ptr = (struct icmp6hdr *) (out_message_data->message_start_64b + 48); | |
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_xlat_4to6_icmp.c:109:30: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] | |
struct icmp6hdr *new_icmpv6_packet_in_error_payload_ptr = (struct icmp6hdr *) (out_message_data->message_start_64b + 48); | |
^ | |
src/t64_xlat_4to6_icmp.c:58:27: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] | |
const struct icmphdr *in_icmpv4_header = (const struct icmphdr *) in_packet_payload_ptr; | |
^ | |
In file included from src/t64_xlat_4to6_icmp.c:22: | |
In file included from src/t64_tundra.h:51: | |
src/t64_tundra_typedefs.h:71:20: warning: padding struct 't64ts_tundra__conf_file' with 2 bytes to align 'addressing_external_unix_tcp_timeout' [-Wpadded] | |
struct timeval addressing_external_unix_tcp_timeout; | |
^ | |
src/t64_tundra_typedefs.h:65:9: warning: padding size of 't64ts_tundra__conf_file' with 3 bytes to alignment boundary [-Wpadded] | |
typedef struct { | |
^ | |
src/t64_tundra_typedefs.h:112:9: warning: padding size of 't64ts_tundra__external_addr_xlat_state' with 4 bytes to alignment boundary [-Wpadded] | |
typedef struct { | |
^ | |
src/t64_xlat_4to6_icmp.c:277:46: warning: cast from 'const uint8_t *' (aka 'const unsigned char *') to 'const uint16_t *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] | |
const uint16_t old_mtu = ntohs(*((const uint16_t *) (old_icmpv4_rest_of_header + 2))); | |
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
/usr/include/netinet/in.h:423:33: note: expanded from macro 'ntohs' | |
# define ntohs(x) __bswap_16 (x) | |
^ | |
src/t64_xlat_4to6_icmp.c:279:15: warning: cast from 'uint8_t *' (aka 'unsigned char *') to 'uint16_t *' (aka 'unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] | |
*((uint16_t *) (new_icmpv6_rest_of_header + 2)) = htons(new_mtu); | |
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_xlat_4to6_icmp.c:277:28: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] | |
const uint16_t old_mtu = ntohs(*((const uint16_t *) (old_icmpv4_rest_of_header + 2))); | |
^ | |
src/t64_xlat_4to6_icmp.c:322:43: warning: cast from 'const uint8_t *' (aka 'const unsigned char *') to 'const struct iphdr *' increases required alignment from 1 to 4 [-Wcast-align] | |
const struct iphdr *packet_in_error = (const struct iphdr *) old_icmpv4_payload_ptr; | |
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_xlat_4to6_icmp.c:322:25: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] | |
const struct iphdr *packet_in_error = (const struct iphdr *) old_icmpv4_payload_ptr; | |
^ | |
src/t64_xlat_4to6_icmp.c:372:42: warning: cast from 'const uint8_t *' (aka 'const unsigned char *') to 'const struct iphdr *' increases required alignment from 1 to 4 [-Wcast-align] | |
const struct iphdr *in_ipv4_header = (const struct iphdr *) in_icmpv4_payload_ptr; | |
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_xlat_4to6_icmp.c:373:39: warning: cast from 'uint8_t *' (aka 'unsigned char *') to 'struct ipv6hdr *' increases required alignment from 1 to 4 [-Wcast-align] | |
struct ipv6hdr *out_ipv6_header = (struct ipv6hdr *) out_packet_in_error_buffer_56b; | |
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_xlat_4to6_icmp.c:397:45: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] | |
t64ts_tundra__ipv6_fragment_header *out_ipv6_fragment_header = (t64ts_tundra__ipv6_fragment_header *) (out_packet_in_error_buffer_56b + 40); | |
^ | |
src/t64_xlat_4to6_icmp.c:372:25: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] | |
const struct iphdr *in_ipv4_header = (const struct iphdr *) in_icmpv4_payload_ptr; | |
^ | |
37 warnings generated. | |
clang -MD -MP -std=c11 -Wall -Wextra -Wpedantic -Weverything -O3 -flto -pthread -o src/t64_xlat_6to4.o -c src/t64_xlat_6to4.c | |
In file included from src/t64_xlat_6to4.c:22: | |
src/t64_tundra.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_H | |
^ | |
In file included from src/t64_xlat_6to4.c:22: | |
In file included from src/t64_tundra.h:49: | |
src/t64_tundra_includes.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_INCLUDES_H | |
^ | |
In file included from src/t64_xlat_6to4.c:22: | |
In file included from src/t64_tundra.h:50: | |
src/t64_tundra_defs.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_DEFS_H | |
^ | |
In file included from src/t64_xlat_6to4.c:22: | |
In file included from src/t64_tundra.h:51: | |
src/t64_tundra_typedefs.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_TYPEDEFS_H | |
^ | |
In file included from src/t64_xlat_6to4.c:23: | |
src/t64_xlat_6to4.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_XLAT_6TO4_H | |
^ | |
In file included from src/t64_xlat_6to4.c:25: | |
src/t64_utils.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_UTILS_H | |
^ | |
In file included from src/t64_xlat_6to4.c:26: | |
src/t64_utils_ip.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_UTILS_IP_H | |
^ | |
In file included from src/t64_xlat_6to4.c:27: | |
src/t64_checksum.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_CHECKSUM_H | |
^ | |
In file included from src/t64_xlat_6to4.c:28: | |
src/t64_xlat_io.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_XLAT_IO_H | |
^ | |
In file included from src/t64_xlat_6to4.c:29: | |
src/t64_xlat_6to4_icmp.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_XLAT_6TO4_ICMP_H | |
^ | |
In file included from src/t64_xlat_6to4.c:30: | |
src/t64_router_ipv6.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_ROUTER_IPV6_H | |
^ | |
In file included from src/t64_xlat_6to4.c:31: | |
src/t64_xlat_addr.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_XLAT_ADDR_H | |
^ | |
src/t64_xlat_6to4.c:40:3: warning: identifier '_t64ts_xlat_6to4__out_ipv4_packet_data' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
} _t64ts_xlat_6to4__out_ipv4_packet_data; | |
^ | |
src/t64_xlat_6to4.c:43:13: warning: identifier '_t64f_xlat_6to4__validate_and_translate_ip_header' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static bool _t64f_xlat_6to4__validate_and_translate_ip_header(t64ts_tundra__xlat_thread_context *context, _t64ts_xlat_6to4__out_ipv4_packet_data *out_packet_data); | |
^ | |
src/t64_xlat_6to4.c:44:13: warning: identifier '_t64f_xlat_6to4__translate_icmpv6_payload_to_icmpv4_and_send' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static void _t64f_xlat_6to4__translate_icmpv6_payload_to_icmpv4_and_send(t64ts_tundra__xlat_thread_context *context, _t64ts_xlat_6to4__out_ipv4_packet_data *out_packet_data); | |
^ | |
src/t64_xlat_6to4.c:45:13: warning: identifier '_t64f_xlat_6to4__translate_tcp_payload_and_send' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static void _t64f_xlat_6to4__translate_tcp_payload_and_send(const t64ts_tundra__xlat_thread_context *context, _t64ts_xlat_6to4__out_ipv4_packet_data *out_packet_data); | |
^ | |
src/t64_xlat_6to4.c:46:13: warning: identifier '_t64f_xlat_6to4__translate_udp_payload_and_send' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static void _t64f_xlat_6to4__translate_udp_payload_and_send(const t64ts_tundra__xlat_thread_context *context, _t64ts_xlat_6to4__out_ipv4_packet_data *out_packet_data); | |
^ | |
src/t64_xlat_6to4.c:47:13: warning: identifier '_t64f_xlat_6to4__translate_generic_payload_and_send' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static void _t64f_xlat_6to4__translate_generic_payload_and_send(const t64ts_tundra__xlat_thread_context *context, _t64ts_xlat_6to4__out_ipv4_packet_data *out_packet_data); | |
^ | |
src/t64_xlat_6to4.c:48:13: warning: identifier '_t64f_xlat_6to4__appropriately_send_ipv4_packet' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static void _t64f_xlat_6to4__appropriately_send_ipv4_packet(const t64ts_tundra__xlat_thread_context *context, struct iphdr *ipv4_header, const uint8_t *nullable_payload1_ptr, const size_t zeroable_payload1_size_m8, const uint8_t *payload2_ptr, const size_t payload2_size); | |
^ | |
src/t64_xlat_6to4.c:49:13: warning: identifier '_t64f_xlat_6to4__fragment_and_send_ipv4_packet' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static void _t64f_xlat_6to4__fragment_and_send_ipv4_packet(const t64ts_tundra__xlat_thread_context *context, struct iphdr *ipv4_header, const uint8_t *nullable_payload1_ptr, const size_t zeroable_payload1_size_m8, const uint8_t *payload2_ptr, const size_t payload2_size); | |
^ | |
src/t64_xlat_6to4.c:50:13: warning: identifier '_t64f_xlat_6to4__fragment_and_send_ipv4_packet_part' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static bool _t64f_xlat_6to4__fragment_and_send_ipv4_packet_part(const t64ts_tundra__xlat_thread_context *context, struct iphdr *ready_ipv4_header, const uint8_t *current_payload_part_ptr, size_t remaining_payload_part_size, size_t *fragment_offset_8byte_chunks, const bool more_fragments_after_this_part, const bool dont_fragment, const size_t max_fragment_payload_size); | |
^ | |
In file included from src/t64_xlat_6to4.c:22: | |
In file included from src/t64_tundra.h:51: | |
src/t64_tundra_typedefs.h:143:9: warning: padding size of 't64ts_tundra__xlat_thread_context' with 1 byte to alignment boundary [-Wpadded] | |
typedef struct { | |
^ | |
src/t64_xlat_6to4.c:36:20: warning: padding struct '_t64ts_xlat_6to4__out_ipv4_packet_data' with 4 bytes to align 'payload_ptr' [-Wpadded] | |
const uint8_t *payload_ptr; // Points to a part of 'context->in_packet_buffer' --> must not be modified! | |
^ | |
src/t64_xlat_6to4.c:34:9: warning: padding size of '_t64ts_xlat_6to4__out_ipv4_packet_data' with 6 bytes to alignment boundary [-Wpadded] | |
typedef struct { | |
^ | |
In file included from src/t64_xlat_6to4.c:22: | |
In file included from src/t64_tundra.h:51: | |
src/t64_tundra_typedefs.h:71:20: warning: padding struct 't64ts_tundra__conf_file' with 2 bytes to align 'addressing_external_unix_tcp_timeout' [-Wpadded] | |
struct timeval addressing_external_unix_tcp_timeout; | |
^ | |
src/t64_tundra_typedefs.h:65:9: warning: padding size of 't64ts_tundra__conf_file' with 3 bytes to alignment boundary [-Wpadded] | |
typedef struct { | |
^ | |
src/t64_tundra_typedefs.h:112:9: warning: padding size of 't64ts_tundra__external_addr_xlat_state' with 4 bytes to alignment boundary [-Wpadded] | |
typedef struct { | |
^ | |
src/t64_xlat_6to4.c:88:44: warning: cast from 'uint8_t *' (aka 'unsigned char *') to 'const struct ipv6hdr *' increases required alignment from 1 to 4 [-Wcast-align] | |
const struct ipv6hdr *in_ipv6_header = (const struct ipv6hdr *) context->in_packet_buffer; | |
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_xlat_6to4.c:155:27: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] | |
const ssize_t current_header_size = 8 + (((ssize_t) current_header_ptr[1]) * 8); | |
^ | |
src/t64_xlat_6to4.c:181:28: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] | |
const uint16_t fragment_offset = T64M_UTILS_IP__GET_IPV6_FRAGMENT_OFFSET(ipv6_fragment_header_ptr); | |
^ | |
src/t64_xlat_6to4.c:88:27: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] | |
const struct ipv6hdr *in_ipv6_header = (const struct ipv6hdr *) context->in_packet_buffer; | |
^ | |
src/t64_xlat_6to4.c:220:129: warning: cast from 'uint8_t *' (aka 'unsigned char *') to 'const struct ipv6hdr *' increases required alignment from 1 to 4 [-Wcast-align] | |
if(t64f_checksum__calculate_rfc1071_checksum_for_ipv6(out_packet_data->payload_ptr, out_packet_data->payload_size, NULL, 0, (const struct ipv6hdr *) context->in_packet_buffer, 58) != 0) | |
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
In file included from src/t64_xlat_6to4.c:29: | |
src/t64_xlat_6to4_icmp.h:30:20: warning: padding struct 't64ts_xlat_6to4_icmp__out_icmpv4_message_data' with 4 bytes to align 'nullable_message_end_ptr' [-Wpadded] | |
const uint8_t *nullable_message_end_ptr; // Points to a part of 'context->in_packet_buffer' --> must not be modified! | |
^ | |
src/t64_xlat_6to4.c:223:51: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] | |
t64ts_xlat_6to4_icmp__out_icmpv4_message_data out_message_data; | |
^ | |
src/t64_xlat_6to4.c:253:123: warning: cast from 'uint8_t *' (aka 'unsigned char *') to 'const struct ipv6hdr *' increases required alignment from 1 to 4 [-Wcast-align] | |
new_tcp_header->check = t64f_checksum__incrementally_recalculate_rfc1071_checksum_6to4(new_tcp_header->check, (const struct ipv6hdr *) context->in_packet_buffer, &out_packet_data->ipv4_header); | |
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_xlat_6to4.c:263:123: warning: cast from 'uint8_t *' (aka 'unsigned char *') to 'const struct ipv6hdr *' increases required alignment from 1 to 4 [-Wcast-align] | |
new_tcp_header->check = t64f_checksum__incrementally_recalculate_rfc1071_checksum_6to4(new_tcp_header->check, (const struct ipv6hdr *) context->in_packet_buffer, &out_packet_data->ipv4_header); | |
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_xlat_6to4.c:288:124: warning: cast from 'uint8_t *' (aka 'unsigned char *') to 'const struct ipv6hdr *' increases required alignment from 1 to 4 [-Wcast-align] | |
const uint16_t new_checksum = t64f_checksum__incrementally_recalculate_rfc1071_checksum_6to4(new_udp_header.check, (const struct ipv6hdr *) context->in_packet_buffer, &out_packet_data->ipv4_header); | |
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_xlat_6to4.c:288:24: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] | |
const uint16_t new_checksum = t64f_checksum__incrementally_recalculate_rfc1071_checksum_6to4(new_udp_header.check, (const struct ipv6hdr *) context->in_packet_buffer, &out_packet_data->ipv4_header); | |
^ | |
src/t64_xlat_6to4.c:370:12: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] | |
size_t max_fragment_payload_size = (context->configuration->translator_ipv4_outbound_mtu - 20); | |
^ | |
39 warnings generated. | |
clang -MD -MP -std=c11 -Wall -Wextra -Wpedantic -Weverything -O3 -flto -pthread -o src/t64_xlat_6to4_icmp.o -c src/t64_xlat_6to4_icmp.c | |
In file included from src/t64_xlat_6to4_icmp.c:22: | |
src/t64_tundra.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_H | |
^ | |
In file included from src/t64_xlat_6to4_icmp.c:22: | |
In file included from src/t64_tundra.h:49: | |
src/t64_tundra_includes.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_INCLUDES_H | |
^ | |
In file included from src/t64_xlat_6to4_icmp.c:22: | |
In file included from src/t64_tundra.h:50: | |
src/t64_tundra_defs.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_DEFS_H | |
^ | |
In file included from src/t64_xlat_6to4_icmp.c:22: | |
In file included from src/t64_tundra.h:51: | |
src/t64_tundra_typedefs.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_TYPEDEFS_H | |
^ | |
In file included from src/t64_xlat_6to4_icmp.c:23: | |
src/t64_xlat_6to4_icmp.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_XLAT_6TO4_ICMP_H | |
^ | |
In file included from src/t64_xlat_6to4_icmp.c:25: | |
src/t64_utils.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_UTILS_H | |
^ | |
In file included from src/t64_xlat_6to4_icmp.c:26: | |
src/t64_utils_ip.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_UTILS_IP_H | |
^ | |
In file included from src/t64_xlat_6to4_icmp.c:27: | |
src/t64_checksum.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_CHECKSUM_H | |
^ | |
In file included from src/t64_xlat_6to4_icmp.c:28: | |
src/t64_xlat_addr.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_XLAT_ADDR_H | |
^ | |
src/t64_xlat_6to4_icmp.c:36:3: warning: identifier '_t64ts_xlat_6to4_icmp__out_ipv4_packet_in_error_data' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
} _t64ts_xlat_6to4_icmp__out_ipv4_packet_in_error_data; | |
^ | |
src/t64_xlat_6to4_icmp.c:39:13: warning: identifier '_t64f_xlat_6to4_icmp__validate_and_translate_icmp_type_and_code' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static bool _t64f_xlat_6to4_icmp__validate_and_translate_icmp_type_and_code(const uint8_t old_icmpv6_type, const uint8_t old_icmpv6_code, uint8_t *new_icmpv4_type, uint8_t *new_icmpv4_code); | |
^ | |
src/t64_xlat_6to4_icmp.c:40:13: warning: identifier '_t64f_xlat_6to4_icmp__validate_and_translate_rest_of_header' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static bool _t64f_xlat_6to4_icmp__validate_and_translate_rest_of_header(const t64ts_tundra__xlat_thread_context *context, const uint8_t old_icmpv6_type, const uint8_t old_icmpv6_code, const uint8_t *old_icmpv6_rest_of_header, uint8_t *new_icmpv4_rest_of_header); | |
^ | |
src/t64_xlat_6to4_icmp.c:41:17: warning: identifier '_t64f_xlat_6to4_icmp__recalculate_packet_too_big_mtu' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static uint16_t _t64f_xlat_6to4_icmp__recalculate_packet_too_big_mtu(const t64ts_tundra__xlat_thread_context *context, uint16_t mtu); | |
^ | |
src/t64_xlat_6to4_icmp.c:42:13: warning: identifier '_t64f_xlat_6to4_icmp__translate_parameter_problem_pointer' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static bool _t64f_xlat_6to4_icmp__translate_parameter_problem_pointer(const uint8_t old_pointer, uint8_t *new_pointer); | |
^ | |
src/t64_xlat_6to4_icmp.c:43:13: warning: identifier '_t64f_xlat_6to4_icmp__validate_and_translate_ip_header_of_packet_in_error' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static bool _t64f_xlat_6to4_icmp__validate_and_translate_ip_header_of_packet_in_error(t64ts_tundra__xlat_thread_context *context, const uint8_t *in_icmpv6_payload_ptr, const size_t in_icmpv6_payload_size, uint8_t *out_packet_in_error_buffer_28b, _t64ts_xlat_6to4_icmp__out_ipv4_packet_in_error_data *out_packet_in_error_data, const bool dont_fragment); | |
^ | |
src/t64_xlat_6to4_icmp.c:50:47: warning: cast from 'const uint8_t *' (aka 'const unsigned char *') to 'const struct icmp6hdr *' increases required alignment from 1 to 4 [-Wcast-align] | |
const struct icmp6hdr *in_icmpv6_header = (const struct icmp6hdr *) in_packet_payload_ptr; | |
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_xlat_6to4_icmp.c:51:41: warning: cast from 'uint8_t *' (aka 'unsigned char *') to 'struct icmphdr *' increases required alignment from 1 to 4 [-Wcast-align] | |
struct icmphdr *out_icmpv4_header = (struct icmphdr *) out_message_data->message_start_36b; | |
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
In file included from src/t64_xlat_6to4_icmp.c:22: | |
In file included from src/t64_tundra.h:51: | |
src/t64_tundra_typedefs.h:143:9: warning: padding size of 't64ts_tundra__xlat_thread_context' with 1 byte to alignment boundary [-Wpadded] | |
typedef struct { | |
^ | |
src/t64_xlat_6to4_icmp.c:31:9: warning: padding size of '_t64ts_xlat_6to4_icmp__out_ipv4_packet_in_error_data' with 6 bytes to alignment boundary [-Wpadded] | |
typedef struct { | |
^ | |
src/t64_xlat_6to4_icmp.c:100:70: warning: cast from 'uint8_t *' (aka 'unsigned char *') to 'struct icmphdr *' increases required alignment from 1 to 4 [-Wcast-align] | |
struct icmphdr *new_icmpv4_packet_in_error_payload_ptr = (struct icmphdr *) (out_message_data->message_start_36b + 28); | |
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_xlat_6to4_icmp.c:100:29: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] | |
struct icmphdr *new_icmpv4_packet_in_error_payload_ptr = (struct icmphdr *) (out_message_data->message_start_36b + 28); | |
^ | |
src/t64_xlat_6to4_icmp.c:50:28: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] | |
const struct icmp6hdr *in_icmpv6_header = (const struct icmp6hdr *) in_packet_payload_ptr; | |
^ | |
In file included from src/t64_xlat_6to4_icmp.c:22: | |
In file included from src/t64_tundra.h:51: | |
src/t64_tundra_typedefs.h:71:20: warning: padding struct 't64ts_tundra__conf_file' with 2 bytes to align 'addressing_external_unix_tcp_timeout' [-Wpadded] | |
struct timeval addressing_external_unix_tcp_timeout; | |
^ | |
src/t64_tundra_typedefs.h:65:9: warning: padding size of 't64ts_tundra__conf_file' with 3 bytes to alignment boundary [-Wpadded] | |
typedef struct { | |
^ | |
src/t64_tundra_typedefs.h:112:9: warning: padding size of 't64ts_tundra__external_addr_xlat_state' with 4 bytes to alignment boundary [-Wpadded] | |
typedef struct { | |
^ | |
In file included from src/t64_xlat_6to4_icmp.c:23: | |
src/t64_xlat_6to4_icmp.h:30:20: warning: padding struct 't64ts_xlat_6to4_icmp__out_icmpv4_message_data' with 4 bytes to align 'nullable_message_end_ptr' [-Wpadded] | |
const uint8_t *nullable_message_end_ptr; // Points to a part of 'context->in_packet_buffer' --> must not be modified! | |
^ | |
src/t64_xlat_6to4_icmp.c:269:42: warning: cast from 'const uint8_t *' (aka 'const unsigned char *') to 'const uint16_t *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] | |
const uint16_t old_mtu = ntohs(*((const uint16_t *) (old_icmpv6_rest_of_header + 2))); | |
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
/usr/include/netinet/in.h:423:33: note: expanded from macro 'ntohs' | |
# define ntohs(x) __bswap_16 (x) | |
^ | |
src/t64_xlat_6to4_icmp.c:271:11: warning: cast from 'uint8_t *' (aka 'unsigned char *') to 'uint16_t *' (aka 'unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] | |
*((uint16_t *) (new_icmpv4_rest_of_header + 2)) = htons(new_mtu); | |
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_xlat_6to4_icmp.c:269:24: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] | |
const uint16_t old_mtu = ntohs(*((const uint16_t *) (old_icmpv6_rest_of_header + 2))); | |
^ | |
src/t64_xlat_6to4_icmp.c:353:44: warning: cast from 'const uint8_t *' (aka 'const unsigned char *') to 'const struct ipv6hdr *' increases required alignment from 1 to 4 [-Wcast-align] | |
const struct ipv6hdr *in_ipv6_header = (const struct ipv6hdr *) in_icmpv6_payload_ptr; | |
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_xlat_6to4_icmp.c:354:37: warning: cast from 'uint8_t *' (aka 'unsigned char *') to 'struct iphdr *' increases required alignment from 1 to 4 [-Wcast-align] | |
struct iphdr *out_ipv4_header = (struct iphdr *) out_packet_in_error_buffer_28b; | |
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_xlat_6to4_icmp.c:384:27: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] | |
const ssize_t current_header_size = 8 + (((ssize_t) current_header_ptr[1]) * 8); | |
^ | |
src/t64_xlat_6to4_icmp.c:407:23: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] | |
const uint8_t ipv4_protocol = (current_header_number == 58) ? 1 : current_header_number; | |
^ | |
src/t64_xlat_6to4_icmp.c:353:27: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] | |
const struct ipv6hdr *in_ipv6_header = (const struct ipv6hdr *) in_icmpv6_payload_ptr; | |
^ | |
34 warnings generated. | |
clang -MD -MP -std=c11 -Wall -Wextra -Wpedantic -Weverything -O3 -flto -pthread -o src/t64_xlat_addr.o -c src/t64_xlat_addr.c | |
In file included from src/t64_xlat_addr.c:22: | |
src/t64_tundra.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_H | |
^ | |
In file included from src/t64_xlat_addr.c:22: | |
In file included from src/t64_tundra.h:49: | |
src/t64_tundra_includes.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_INCLUDES_H | |
^ | |
In file included from src/t64_xlat_addr.c:22: | |
In file included from src/t64_tundra.h:50: | |
src/t64_tundra_defs.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_DEFS_H | |
^ | |
In file included from src/t64_xlat_addr.c:22: | |
In file included from src/t64_tundra.h:51: | |
src/t64_tundra_typedefs.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_TYPEDEFS_H | |
^ | |
In file included from src/t64_xlat_addr.c:23: | |
src/t64_xlat_addr.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_XLAT_ADDR_H | |
^ | |
In file included from src/t64_xlat_addr.c:25: | |
src/t64_log.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_LOG_H | |
^ | |
In file included from src/t64_xlat_addr.c:26: | |
src/t64_xlat_addr_nat64.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_XLAT_ADDR_NAT64_H | |
^ | |
In file included from src/t64_xlat_addr.c:27: | |
src/t64_xlat_addr_clat.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_XLAT_ADDR_CLAT_H | |
^ | |
In file included from src/t64_xlat_addr.c:28: | |
src/t64_xlat_addr_siit.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_XLAT_ADDR_SIIT_H | |
^ | |
In file included from src/t64_xlat_addr.c:29: | |
src/t64_xlat_addr_external.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_XLAT_ADDR_EXTERNAL_H | |
^ | |
In file included from src/t64_xlat_addr.c:22: | |
In file included from src/t64_tundra.h:51: | |
src/t64_tundra_typedefs.h:143:9: warning: padding size of 't64ts_tundra__xlat_thread_context' with 1 byte to alignment boundary [-Wpadded] | |
typedef struct { | |
^ | |
src/t64_xlat_addr.c:48:9: warning: default label in switch which covers all enumeration values [-Wcovered-switch-default] | |
default: | |
^ | |
In file included from src/t64_xlat_addr.c:22: | |
In file included from src/t64_tundra.h:51: | |
src/t64_tundra_typedefs.h:71:20: warning: padding struct 't64ts_tundra__conf_file' with 2 bytes to align 'addressing_external_unix_tcp_timeout' [-Wpadded] | |
struct timeval addressing_external_unix_tcp_timeout; | |
^ | |
src/t64_tundra_typedefs.h:65:9: warning: padding size of 't64ts_tundra__conf_file' with 3 bytes to alignment boundary [-Wpadded] | |
typedef struct { | |
^ | |
src/t64_tundra_typedefs.h:112:9: warning: padding size of 't64ts_tundra__external_addr_xlat_state' with 4 bytes to alignment boundary [-Wpadded] | |
typedef struct { | |
^ | |
src/t64_xlat_addr.c:69:9: warning: default label in switch which covers all enumeration values [-Wcovered-switch-default] | |
default: | |
^ | |
src/t64_xlat_addr.c:90:9: warning: default label in switch which covers all enumeration values [-Wcovered-switch-default] | |
default: | |
^ | |
src/t64_xlat_addr.c:111:9: warning: default label in switch which covers all enumeration values [-Wcovered-switch-default] | |
default: | |
^ | |
18 warnings generated. | |
clang -MD -MP -std=c11 -Wall -Wextra -Wpedantic -Weverything -O3 -flto -pthread -o src/t64_xlat_addr_clat.o -c src/t64_xlat_addr_clat.c | |
In file included from src/t64_xlat_addr_clat.c:22: | |
src/t64_tundra.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_H | |
^ | |
In file included from src/t64_xlat_addr_clat.c:22: | |
In file included from src/t64_tundra.h:49: | |
src/t64_tundra_includes.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_INCLUDES_H | |
^ | |
In file included from src/t64_xlat_addr_clat.c:22: | |
In file included from src/t64_tundra.h:50: | |
src/t64_tundra_defs.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_DEFS_H | |
^ | |
In file included from src/t64_xlat_addr_clat.c:22: | |
In file included from src/t64_tundra.h:51: | |
src/t64_tundra_typedefs.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_TYPEDEFS_H | |
^ | |
In file included from src/t64_xlat_addr_clat.c:23: | |
src/t64_xlat_addr_clat.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_XLAT_ADDR_CLAT_H | |
^ | |
In file included from src/t64_xlat_addr_clat.c:25: | |
src/t64_utils_xlat_addr.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_UTILS_XLAT_ADDR_H | |
^ | |
In file included from src/t64_xlat_addr_clat.c:22: | |
In file included from src/t64_tundra.h:51: | |
src/t64_tundra_typedefs.h:143:9: warning: padding size of 't64ts_tundra__xlat_thread_context' with 1 byte to alignment boundary [-Wpadded] | |
typedef struct { | |
^ | |
src/t64_tundra_typedefs.h:71:20: warning: padding struct 't64ts_tundra__conf_file' with 2 bytes to align 'addressing_external_unix_tcp_timeout' [-Wpadded] | |
struct timeval addressing_external_unix_tcp_timeout; | |
^ | |
src/t64_tundra_typedefs.h:65:9: warning: padding size of 't64ts_tundra__conf_file' with 3 bytes to alignment boundary [-Wpadded] | |
typedef struct { | |
^ | |
src/t64_tundra_typedefs.h:112:9: warning: padding size of 't64ts_tundra__external_addr_xlat_state' with 4 bytes to alignment boundary [-Wpadded] | |
typedef struct { | |
^ | |
10 warnings generated. | |
clang -MD -MP -std=c11 -Wall -Wextra -Wpedantic -Weverything -O3 -flto -pthread -o src/t64_xlat_addr_external.o -c src/t64_xlat_addr_external.c | |
In file included from src/t64_xlat_addr_external.c:22: | |
src/t64_tundra.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_H | |
^ | |
In file included from src/t64_xlat_addr_external.c:22: | |
In file included from src/t64_tundra.h:49: | |
src/t64_tundra_includes.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_INCLUDES_H | |
^ | |
In file included from src/t64_xlat_addr_external.c:22: | |
In file included from src/t64_tundra.h:50: | |
src/t64_tundra_defs.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_DEFS_H | |
^ | |
In file included from src/t64_xlat_addr_external.c:22: | |
In file included from src/t64_tundra.h:51: | |
src/t64_tundra_typedefs.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_TYPEDEFS_H | |
^ | |
In file included from src/t64_xlat_addr_external.c:23: | |
src/t64_xlat_addr_external.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_XLAT_ADDR_EXTERNAL_H | |
^ | |
In file included from src/t64_xlat_addr_external.c:25: | |
src/t64_utils.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_UTILS_H | |
^ | |
In file included from src/t64_xlat_addr_external.c:26: | |
src/t64_utils_ip.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_UTILS_IP_H | |
^ | |
In file included from src/t64_xlat_addr_external.c:27: | |
src/t64_log.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_LOG_H | |
^ | |
In file included from src/t64_xlat_addr_external.c:28: | |
src/t64_conf_file.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_CONF_FILE_H | |
^ | |
In file included from src/t64_xlat_addr_external.c:29: | |
src/t64_router_ipv4.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_ROUTER_IPV4_H | |
^ | |
In file included from src/t64_xlat_addr_external.c:30: | |
src/t64_router_ipv6.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_ROUTER_IPV6_H | |
^ | |
In file included from src/t64_xlat_addr_external.c:31: | |
src/t64_xlat_interrupt.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_XLAT_INTERRUPT_H | |
^ | |
src/t64_xlat_addr_external.c:34:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64C_XLAT_ADDR_EXTERNAL__MESSAGE_MAGIC_BYTE ((uint8_t) 0x54) | |
^ | |
src/t64_xlat_addr_external.c:35:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64C_XLAT_ADDR_EXTERNAL__MESSAGE_VERSION ((uint8_t) 1) | |
^ | |
src/t64_xlat_addr_external.c:39:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64C_XLAT_ADDR_EXTERNAL__MESSAGE_TYPE_4TO6_MAIN_PACKET ((uint8_t) 1) | |
^ | |
src/t64_xlat_addr_external.c:40:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64C_XLAT_ADDR_EXTERNAL__MESSAGE_TYPE_4TO6_ICMP_ERROR_PACKET ((uint8_t) 2) | |
^ | |
src/t64_xlat_addr_external.c:41:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64C_XLAT_ADDR_EXTERNAL__MESSAGE_TYPE_6TO4_MAIN_PACKET ((uint8_t) 3) | |
^ | |
src/t64_xlat_addr_external.c:42:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64C_XLAT_ADDR_EXTERNAL__MESSAGE_TYPE_6TO4_ICMP_ERROR_PACKET ((uint8_t) 4) | |
^ | |
src/t64_xlat_addr_external.c:45:13: warning: identifier '_t64f_xlat_addr_external__perform_external_address_translation' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static bool _t64f_xlat_addr_external__perform_external_address_translation(t64ts_tundra__xlat_thread_context *context, const uint8_t message_type, const uint8_t *in_src_ip, const uint8_t *in_dst_ip, uint8_t *out_src_ip, uint8_t *out_dst_ip, uint8_t *out_cache_lifetime); | |
^ | |
src/t64_xlat_addr_external.c:46:13: warning: identifier '_t64f_xlat_addr_external__construct_and_send_request_message_to_external_translation_fd' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static bool _t64f_xlat_addr_external__construct_and_send_request_message_to_external_translation_fd(t64ts_tundra__xlat_thread_context *context, t64ts_tundra__external_addr_xlat_message *message_buf, const uint8_t message_type, const uint32_t message_identifier, const uint8_t *in_src_ip, const uint8_t *in_dst_ip); | |
^ | |
src/t64_xlat_addr_external.c:47:13: warning: identifier '_t64f_xlat_addr_external__receive_and_parse_response_message_from_external_translation_fd' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static bool _t64f_xlat_addr_external__receive_and_parse_response_message_from_external_translation_fd(t64ts_tundra__xlat_thread_context *context, t64ts_tundra__external_addr_xlat_message *message_buf, const uint8_t message_type, const uint32_t message_identifier, uint8_t *out_src_ip, uint8_t *out_dst_ip, uint8_t *out_cache_lifetime); | |
^ | |
src/t64_xlat_addr_external.c:48:13: warning: identifier '_t64f_xlat_addr_external__ensure_external_translation_fds_are_open' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static bool _t64f_xlat_addr_external__ensure_external_translation_fds_are_open(t64ts_tundra__xlat_thread_context *context); | |
^ | |
src/t64_xlat_addr_external.c:49:13: warning: identifier '_t64f_xlat_addr_external__close_external_translation_fds_if_necessary' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static void _t64f_xlat_addr_external__close_external_translation_fds_if_necessary(t64ts_tundra__xlat_thread_context *context); | |
^ | |
src/t64_xlat_addr_external.c:50:12: warning: identifier '_t64f_xlat_addr_external__open_external_translation_socket' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static int _t64f_xlat_addr_external__open_external_translation_socket(const int family, const int protocol, const struct sockaddr *address, const socklen_t address_length, const struct timeval *timeout); | |
^ | |
src/t64_xlat_addr_external.c:51:13: warning: identifier '_t64f_xlat_addr_external__receive_message_from_external_translation_fd' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static bool _t64f_xlat_addr_external__receive_message_from_external_translation_fd(t64ts_tundra__xlat_thread_context *context, t64ts_tundra__external_addr_xlat_message *message_buf); | |
^ | |
src/t64_xlat_addr_external.c:52:13: warning: identifier '_t64f_xlat_addr_external__send_message_to_external_translation_fd' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static bool _t64f_xlat_addr_external__send_message_to_external_translation_fd(t64ts_tundra__xlat_thread_context *context, const t64ts_tundra__external_addr_xlat_message *message_buf); | |
^ | |
src/t64_xlat_addr_external.c:53:13: warning: identifier '_t64f_xlat_addr_external__attempt_to_perform_4to6_address_translation_using_cache' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static bool _t64f_xlat_addr_external__attempt_to_perform_4to6_address_translation_using_cache(const t64ts_tundra__external_addr_xlat_cache_entry *cache, const size_t cache_size, const uint8_t *in_src_ipv4, const uint8_t *in_dst_ipv4, uint8_t *out_src_ipv6, uint8_t *out_dst_ipv6); | |
^ | |
src/t64_xlat_addr_external.c:54:13: warning: identifier '_t64f_xlat_addr_external__attempt_to_perform_6to4_address_translation_using_cache' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static bool _t64f_xlat_addr_external__attempt_to_perform_6to4_address_translation_using_cache(const t64ts_tundra__external_addr_xlat_cache_entry *cache, const size_t cache_size, const uint8_t *in_src_ipv6, const uint8_t *in_dst_ipv6, uint8_t *out_src_ipv4, uint8_t *out_dst_ipv4); | |
^ | |
src/t64_xlat_addr_external.c:55:13: warning: identifier '_t64f_xlat_addr_external__save_4to6_address_mapping_to_cache' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static void _t64f_xlat_addr_external__save_4to6_address_mapping_to_cache(t64ts_tundra__external_addr_xlat_cache_entry *cache, const size_t cache_size, const uint8_t *in_src_ipv4, const uint8_t *in_dst_ipv4, const uint8_t *out_src_ipv6, const uint8_t *out_dst_ipv6, const time_t cache_lifetime); | |
^ | |
src/t64_xlat_addr_external.c:56:13: warning: identifier '_t64f_xlat_addr_external__save_6to4_address_mapping_to_cache' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static void _t64f_xlat_addr_external__save_6to4_address_mapping_to_cache(t64ts_tundra__external_addr_xlat_cache_entry *cache, const size_t cache_size, const uint8_t *in_src_ipv6, const uint8_t *in_dst_ipv6, const uint8_t *out_src_ipv4, const uint8_t *out_dst_ipv4, const time_t cache_lifetime); | |
^ | |
src/t64_xlat_addr_external.c:57:13: warning: identifier '_t64f_xlat_addr_external__save_address_mapping_to_target_cache_entry' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static void _t64f_xlat_addr_external__save_address_mapping_to_target_cache_entry(t64ts_tundra__external_addr_xlat_cache_entry *target_entry, const uint8_t *src_ipv4, const uint8_t *dst_ipv4, const uint8_t *src_ipv6, const uint8_t *dst_ipv6, const time_t cache_lifetime); | |
^ | |
src/t64_xlat_addr_external.c:58:22: warning: identifier '_t64f_xlat_addr_external__compute_cache_hash_from_in_ipv4_address_pair' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static inline size_t _t64f_xlat_addr_external__compute_cache_hash_from_in_ipv4_address_pair(const uint32_t *in_src_ipv4, const uint32_t *in_dst_ipv4, const size_t cache_size); | |
^ | |
src/t64_xlat_addr_external.c:59:22: warning: identifier '_t64f_xlat_addr_external__compute_cache_hash_from_in_ipv6_address_pair' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static inline size_t _t64f_xlat_addr_external__compute_cache_hash_from_in_ipv6_address_pair(const uint64_t *in_src_ipv6, const uint64_t *in_dst_ipv6, const size_t cache_size); | |
^ | |
src/t64_xlat_addr_external.c:60:22: warning: identifier '_t64f_xlat_addr_external__get_current_timestamp_in_seconds' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static inline time_t _t64f_xlat_addr_external__get_current_timestamp_in_seconds(void); | |
^ | |
In file included from src/t64_xlat_addr_external.c:22: | |
In file included from src/t64_tundra.h:51: | |
src/t64_tundra_typedefs.h:143:9: warning: padding size of 't64ts_tundra__xlat_thread_context' with 1 byte to alignment boundary [-Wpadded] | |
typedef struct { | |
^ | |
src/t64_xlat_addr_external.c:70:13: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] | |
uint8_t cache_lifetime = 0; | |
^ | |
In file included from src/t64_xlat_addr_external.c:22: | |
In file included from src/t64_tundra.h:51: | |
src/t64_tundra_typedefs.h:71:20: warning: padding struct 't64ts_tundra__conf_file' with 2 bytes to align 'addressing_external_unix_tcp_timeout' [-Wpadded] | |
struct timeval addressing_external_unix_tcp_timeout; | |
^ | |
src/t64_tundra_typedefs.h:65:9: warning: padding size of 't64ts_tundra__conf_file' with 3 bytes to alignment boundary [-Wpadded] | |
typedef struct { | |
^ | |
src/t64_tundra_typedefs.h:112:9: warning: padding size of 't64ts_tundra__external_addr_xlat_state' with 4 bytes to alignment boundary [-Wpadded] | |
typedef struct { | |
^ | |
src/t64_xlat_addr_external.c:91:13: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] | |
uint8_t cache_lifetime = 0; | |
^ | |
src/t64_xlat_addr_external.c:112:13: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] | |
uint8_t cache_lifetime = 0; | |
^ | |
src/t64_xlat_addr_external.c:133:13: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] | |
uint8_t cache_lifetime = 0; | |
^ | |
src/t64_xlat_addr_external.c:151:20: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] | |
const uint32_t message_identifier = htonl(context->external_addr_xlat_state->message_identifier); | |
^ | |
src/t64_xlat_addr_external.c:297:12: warning: enumeration value 'T64TE_TUNDRA__ADDRESSING_EXTERNAL_TRANSPORT_NONE' not explicitly handled in switch [-Wswitch-enum] | |
switch(context->configuration->addressing_external_transport) { | |
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_xlat_addr_external.c:399:152: warning: cast from 'const uint8_t *' (aka 'const unsigned char *') to 'const uint32_t *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align] | |
const t64ts_tundra__external_addr_xlat_cache_entry *target_entry = (cache + _t64f_xlat_addr_external__compute_cache_hash_from_in_ipv4_address_pair((const uint32_t *) in_src_ipv4, (const uint32_t *) in_dst_ipv4, cache_size)); | |
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_xlat_addr_external.c:399:184: warning: cast from 'const uint8_t *' (aka 'const unsigned char *') to 'const uint32_t *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align] | |
const t64ts_tundra__external_addr_xlat_cache_entry *target_entry = (cache + _t64f_xlat_addr_external__compute_cache_hash_from_in_ipv4_address_pair((const uint32_t *) in_src_ipv4, (const uint32_t *) in_dst_ipv4, cache_size)); | |
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_xlat_addr_external.c:399:57: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] | |
const t64ts_tundra__external_addr_xlat_cache_entry *target_entry = (cache + _t64f_xlat_addr_external__compute_cache_hash_from_in_ipv4_address_pair((const uint32_t *) in_src_ipv4, (const uint32_t *) in_dst_ipv4, cache_size)); | |
^ | |
src/t64_xlat_addr_external.c:422:152: warning: cast from 'const uint8_t *' (aka 'const unsigned char *') to 'const uint64_t *' (aka 'const unsigned long *') increases required alignment from 1 to 8 [-Wcast-align] | |
const t64ts_tundra__external_addr_xlat_cache_entry *target_entry = (cache + _t64f_xlat_addr_external__compute_cache_hash_from_in_ipv6_address_pair((const uint64_t *) in_src_ipv6, (const uint64_t *) in_dst_ipv6, cache_size)); | |
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_xlat_addr_external.c:422:184: warning: cast from 'const uint8_t *' (aka 'const unsigned char *') to 'const uint64_t *' (aka 'const unsigned long *') increases required alignment from 1 to 8 [-Wcast-align] | |
const t64ts_tundra__external_addr_xlat_cache_entry *target_entry = (cache + _t64f_xlat_addr_external__compute_cache_hash_from_in_ipv6_address_pair((const uint64_t *) in_src_ipv6, (const uint64_t *) in_dst_ipv6, cache_size)); | |
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_xlat_addr_external.c:422:57: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] | |
const t64ts_tundra__external_addr_xlat_cache_entry *target_entry = (cache + _t64f_xlat_addr_external__compute_cache_hash_from_in_ipv6_address_pair((const uint64_t *) in_src_ipv6, (const uint64_t *) in_dst_ipv6, cache_size)); | |
^ | |
src/t64_xlat_addr_external.c:445:146: warning: cast from 'const uint8_t *' (aka 'const unsigned char *') to 'const uint32_t *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align] | |
t64ts_tundra__external_addr_xlat_cache_entry *target_entry = (cache + _t64f_xlat_addr_external__compute_cache_hash_from_in_ipv4_address_pair((const uint32_t *) in_src_ipv4, (const uint32_t *) in_dst_ipv4, cache_size)); | |
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_xlat_addr_external.c:445:178: warning: cast from 'const uint8_t *' (aka 'const unsigned char *') to 'const uint32_t *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align] | |
t64ts_tundra__external_addr_xlat_cache_entry *target_entry = (cache + _t64f_xlat_addr_external__compute_cache_hash_from_in_ipv4_address_pair((const uint32_t *) in_src_ipv4, (const uint32_t *) in_dst_ipv4, cache_size)); | |
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_xlat_addr_external.c:445:51: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] | |
t64ts_tundra__external_addr_xlat_cache_entry *target_entry = (cache + _t64f_xlat_addr_external__compute_cache_hash_from_in_ipv4_address_pair((const uint32_t *) in_src_ipv4, (const uint32_t *) in_dst_ipv4, cache_size)); | |
^ | |
src/t64_xlat_addr_external.c:455:146: warning: cast from 'const uint8_t *' (aka 'const unsigned char *') to 'const uint64_t *' (aka 'const unsigned long *') increases required alignment from 1 to 8 [-Wcast-align] | |
t64ts_tundra__external_addr_xlat_cache_entry *target_entry = (cache + _t64f_xlat_addr_external__compute_cache_hash_from_in_ipv6_address_pair((const uint64_t *) in_src_ipv6, (const uint64_t *) in_dst_ipv6, cache_size)); | |
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_xlat_addr_external.c:455:178: warning: cast from 'const uint8_t *' (aka 'const unsigned char *') to 'const uint64_t *' (aka 'const unsigned long *') increases required alignment from 1 to 8 [-Wcast-align] | |
t64ts_tundra__external_addr_xlat_cache_entry *target_entry = (cache + _t64f_xlat_addr_external__compute_cache_hash_from_in_ipv6_address_pair((const uint64_t *) in_src_ipv6, (const uint64_t *) in_dst_ipv6, cache_size)); | |
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
src/t64_xlat_addr_external.c:455:51: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] | |
t64ts_tundra__external_addr_xlat_cache_entry *target_entry = (cache + _t64f_xlat_addr_external__compute_cache_hash_from_in_ipv6_address_pair((const uint64_t *) in_src_ipv6, (const uint64_t *) in_dst_ipv6, cache_size)); | |
^ | |
src/t64_xlat_addr_external.c:464:18: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] | |
const time_t current_timestamp = _t64f_xlat_addr_external__get_current_timestamp_in_seconds(); | |
^ | |
src/t64_xlat_addr_external.c:495:8: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#undef _T64C_XLAT_ADDR_EXTERNAL__MESSAGE_MAGIC_BYTE | |
^ | |
src/t64_xlat_addr_external.c:496:8: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#undef _T64C_XLAT_ADDR_EXTERNAL__MESSAGE_VERSION | |
^ | |
src/t64_xlat_addr_external.c:498:8: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#undef _T64C_XLAT_ADDR_EXTERNAL__MESSAGE_TYPE_4TO6_MAIN_PACKET | |
^ | |
src/t64_xlat_addr_external.c:499:8: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#undef _T64C_XLAT_ADDR_EXTERNAL__MESSAGE_TYPE_4TO6_ICMP_ERROR_PACKET | |
^ | |
src/t64_xlat_addr_external.c:500:8: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#undef _T64C_XLAT_ADDR_EXTERNAL__MESSAGE_TYPE_6TO4_MAIN_PACKET | |
^ | |
src/t64_xlat_addr_external.c:501:8: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#undef _T64C_XLAT_ADDR_EXTERNAL__MESSAGE_TYPE_6TO4_ICMP_ERROR_PACKET | |
^ | |
63 warnings generated. | |
clang -MD -MP -std=c11 -Wall -Wextra -Wpedantic -Weverything -O3 -flto -pthread -o src/t64_xlat_addr_nat64.o -c src/t64_xlat_addr_nat64.c | |
In file included from src/t64_xlat_addr_nat64.c:22: | |
src/t64_tundra.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_H | |
^ | |
In file included from src/t64_xlat_addr_nat64.c:22: | |
In file included from src/t64_tundra.h:49: | |
src/t64_tundra_includes.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_INCLUDES_H | |
^ | |
In file included from src/t64_xlat_addr_nat64.c:22: | |
In file included from src/t64_tundra.h:50: | |
src/t64_tundra_defs.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_DEFS_H | |
^ | |
In file included from src/t64_xlat_addr_nat64.c:22: | |
In file included from src/t64_tundra.h:51: | |
src/t64_tundra_typedefs.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_TYPEDEFS_H | |
^ | |
In file included from src/t64_xlat_addr_nat64.c:23: | |
src/t64_xlat_addr_nat64.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_XLAT_ADDR_NAT64_H | |
^ | |
In file included from src/t64_xlat_addr_nat64.c:25: | |
src/t64_utils_xlat_addr.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_UTILS_XLAT_ADDR_H | |
^ | |
In file included from src/t64_xlat_addr_nat64.c:22: | |
In file included from src/t64_tundra.h:51: | |
src/t64_tundra_typedefs.h:143:9: warning: padding size of 't64ts_tundra__xlat_thread_context' with 1 byte to alignment boundary [-Wpadded] | |
typedef struct { | |
^ | |
src/t64_tundra_typedefs.h:71:20: warning: padding struct 't64ts_tundra__conf_file' with 2 bytes to align 'addressing_external_unix_tcp_timeout' [-Wpadded] | |
struct timeval addressing_external_unix_tcp_timeout; | |
^ | |
src/t64_tundra_typedefs.h:65:9: warning: padding size of 't64ts_tundra__conf_file' with 3 bytes to alignment boundary [-Wpadded] | |
typedef struct { | |
^ | |
src/t64_tundra_typedefs.h:112:9: warning: padding size of 't64ts_tundra__external_addr_xlat_state' with 4 bytes to alignment boundary [-Wpadded] | |
typedef struct { | |
^ | |
10 warnings generated. | |
clang -MD -MP -std=c11 -Wall -Wextra -Wpedantic -Weverything -O3 -flto -pthread -o src/t64_xlat_addr_siit.o -c src/t64_xlat_addr_siit.c | |
In file included from src/t64_xlat_addr_siit.c:22: | |
src/t64_tundra.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_H | |
^ | |
In file included from src/t64_xlat_addr_siit.c:22: | |
In file included from src/t64_tundra.h:49: | |
src/t64_tundra_includes.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_INCLUDES_H | |
^ | |
In file included from src/t64_xlat_addr_siit.c:22: | |
In file included from src/t64_tundra.h:50: | |
src/t64_tundra_defs.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_DEFS_H | |
^ | |
In file included from src/t64_xlat_addr_siit.c:22: | |
In file included from src/t64_tundra.h:51: | |
src/t64_tundra_typedefs.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_TYPEDEFS_H | |
^ | |
In file included from src/t64_xlat_addr_siit.c:23: | |
src/t64_xlat_addr_siit.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_XLAT_ADDR_SIIT_H | |
^ | |
In file included from src/t64_xlat_addr_siit.c:25: | |
src/t64_utils_xlat_addr.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_UTILS_XLAT_ADDR_H | |
^ | |
In file included from src/t64_xlat_addr_siit.c:22: | |
In file included from src/t64_tundra.h:51: | |
src/t64_tundra_typedefs.h:143:9: warning: padding size of 't64ts_tundra__xlat_thread_context' with 1 byte to alignment boundary [-Wpadded] | |
typedef struct { | |
^ | |
src/t64_tundra_typedefs.h:71:20: warning: padding struct 't64ts_tundra__conf_file' with 2 bytes to align 'addressing_external_unix_tcp_timeout' [-Wpadded] | |
struct timeval addressing_external_unix_tcp_timeout; | |
^ | |
src/t64_tundra_typedefs.h:65:9: warning: padding size of 't64ts_tundra__conf_file' with 3 bytes to alignment boundary [-Wpadded] | |
typedef struct { | |
^ | |
src/t64_tundra_typedefs.h:112:9: warning: padding size of 't64ts_tundra__external_addr_xlat_state' with 4 bytes to alignment boundary [-Wpadded] | |
typedef struct { | |
^ | |
10 warnings generated. | |
clang -MD -MP -std=c11 -Wall -Wextra -Wpedantic -Weverything -O3 -flto -pthread -o src/t64_xlat.o -c src/t64_xlat.c | |
In file included from src/t64_xlat.c:22: | |
src/t64_tundra.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_H | |
^ | |
In file included from src/t64_xlat.c:22: | |
In file included from src/t64_tundra.h:49: | |
src/t64_tundra_includes.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_INCLUDES_H | |
^ | |
In file included from src/t64_xlat.c:22: | |
In file included from src/t64_tundra.h:50: | |
src/t64_tundra_defs.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_DEFS_H | |
^ | |
In file included from src/t64_xlat.c:22: | |
In file included from src/t64_tundra.h:51: | |
src/t64_tundra_typedefs.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_TYPEDEFS_H | |
^ | |
In file included from src/t64_xlat.c:23: | |
src/t64_xlat.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_XLAT_H | |
^ | |
In file included from src/t64_xlat.c:25: | |
src/t64_signal.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_SIGNAL_H | |
^ | |
In file included from src/t64_xlat.c:26: | |
src/t64_xlat_io.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_XLAT_IO_H | |
^ | |
In file included from src/t64_xlat.c:27: | |
src/t64_xlat_4to6.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_XLAT_4TO6_H | |
^ | |
In file included from src/t64_xlat.c:28: | |
src/t64_xlat_6to4.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_XLAT_6TO4_H | |
^ | |
src/t64_xlat.c:31:13: warning: identifier '_t64f_xlat__translate_packet' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static void _t64f_xlat__translate_packet(t64ts_tundra__xlat_thread_context *context); | |
^ | |
In file included from src/t64_xlat.c:22: | |
In file included from src/t64_tundra.h:51: | |
src/t64_tundra_typedefs.h:143:9: warning: padding size of 't64ts_tundra__xlat_thread_context' with 1 byte to alignment boundary [-Wpadded] | |
typedef struct { | |
^ | |
src/t64_tundra_typedefs.h:71:20: warning: padding struct 't64ts_tundra__conf_file' with 2 bytes to align 'addressing_external_unix_tcp_timeout' [-Wpadded] | |
struct timeval addressing_external_unix_tcp_timeout; | |
^ | |
src/t64_tundra_typedefs.h:65:9: warning: padding size of 't64ts_tundra__conf_file' with 3 bytes to alignment boundary [-Wpadded] | |
typedef struct { | |
^ | |
src/t64_tundra_typedefs.h:112:9: warning: padding size of 't64ts_tundra__external_addr_xlat_state' with 4 bytes to alignment boundary [-Wpadded] | |
typedef struct { | |
^ | |
src/t64_xlat.c:50:19: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] | |
const uint8_t ip_version = (*context->in_packet_buffer) >> 4; | |
^ | |
15 warnings generated. | |
clang -MD -MP -std=c11 -Wall -Wextra -Wpedantic -Weverything -O3 -flto -pthread -o src/t64_xlat_interrupt.o -c src/t64_xlat_interrupt.c | |
In file included from src/t64_xlat_interrupt.c:22: | |
src/t64_tundra.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_H | |
^ | |
In file included from src/t64_xlat_interrupt.c:22: | |
In file included from src/t64_tundra.h:49: | |
src/t64_tundra_includes.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_INCLUDES_H | |
^ | |
In file included from src/t64_xlat_interrupt.c:22: | |
In file included from src/t64_tundra.h:50: | |
src/t64_tundra_defs.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_DEFS_H | |
^ | |
In file included from src/t64_xlat_interrupt.c:22: | |
In file included from src/t64_tundra.h:51: | |
src/t64_tundra_typedefs.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_TYPEDEFS_H | |
^ | |
In file included from src/t64_xlat_interrupt.c:23: | |
src/t64_xlat_interrupt.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_XLAT_INTERRUPT_H | |
^ | |
In file included from src/t64_xlat_interrupt.c:25: | |
src/t64_signal.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_SIGNAL_H | |
^ | |
src/t64_xlat_interrupt.c:33:23: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] | |
const ssize_t ret_value = read(fd, buf, count); | |
^ | |
src/t64_xlat_interrupt.c:47:23: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] | |
const ssize_t ret_value = write(fd, buf, count); | |
^ | |
src/t64_xlat_interrupt.c:61:23: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] | |
const ssize_t ret_value = writev(fd, iov, iovcnt); | |
^ | |
src/t64_xlat_interrupt.c:82:19: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] | |
const int ret_value = connect(sockfd, addr, addrlen); | |
^ | |
src/t64_xlat_interrupt.c:101:19: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] | |
const int ret_value = close(fd); | |
^ | |
11 warnings generated. | |
clang -MD -MP -std=c11 -Wall -Wextra -Wpedantic -Weverything -O3 -flto -pthread -o src/t64_xlat_io.o -c src/t64_xlat_io.c | |
In file included from src/t64_xlat_io.c:22: | |
src/t64_tundra.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_H | |
^ | |
In file included from src/t64_xlat_io.c:22: | |
In file included from src/t64_tundra.h:49: | |
src/t64_tundra_includes.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_INCLUDES_H | |
^ | |
In file included from src/t64_xlat_io.c:22: | |
In file included from src/t64_tundra.h:50: | |
src/t64_tundra_defs.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_DEFS_H | |
^ | |
In file included from src/t64_xlat_io.c:22: | |
In file included from src/t64_tundra.h:51: | |
src/t64_tundra_typedefs.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_TUNDRA_TYPEDEFS_H | |
^ | |
In file included from src/t64_xlat_io.c:23: | |
src/t64_xlat_io.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_XLAT_IO_H | |
^ | |
In file included from src/t64_xlat_io.c:25: | |
src/t64_utils.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_UTILS_H | |
^ | |
In file included from src/t64_xlat_io.c:26: | |
src/t64_checksum.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_CHECKSUM_H | |
^ | |
In file included from src/t64_xlat_io.c:27: | |
src/t64_log.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_LOG_H | |
^ | |
In file included from src/t64_xlat_io.c:28: | |
src/t64_xlat_interrupt.h:23:9: warning: macro name is a reserved identifier [-Wreserved-macro-identifier] | |
#define _T64I_XLAT_INTERRUPT_H | |
^ | |
src/t64_xlat_io.c:31:13: warning: identifier '_t64f_xlat_io__send_packet' is reserved because it starts with '_' at global scope [-Wreserved-identifier] | |
static void _t64f_xlat_io__send_packet(const t64ts_tundra__xlat_thread_context *context, const struct iovec *iov, const int iovcnt, const size_t total_packet_size); | |
^ | |
In file included from src/t64_xlat_io.c:22: | |
In file included from src/t64_tundra.h:51: | |
src/t64_tundra_typedefs.h:143:9: warning: padding size of 't64ts_tundra__xlat_thread_context' with 1 byte to alignment boundary [-Wpadded] | |
typedef struct { | |
^ | |
src/t64_tundra_typedefs.h:71:20: warning: padding struct 't64ts_tundra__conf_file' with 2 bytes to align 'addressing_external_unix_tcp_timeout' [-Wpadded] | |
struct timeval addressing_external_unix_tcp_timeout; | |
^ | |
src/t64_tundra_typedefs.h:65:9: warning: padding size of 't64ts_tundra__conf_file' with 3 bytes to alignment boundary [-Wpadded] | |
typedef struct { | |
^ | |
src/t64_tundra_typedefs.h:112:9: warning: padding size of 't64ts_tundra__external_addr_xlat_state' with 4 bytes to alignment boundary [-Wpadded] | |
typedef struct { | |
^ | |
src/t64_xlat_io.c:58:41: warning: cast from 'const unsigned char *' to 'void *' drops const qualifier [-Wcast-qual] | |
iov[iovcnt].iov_base = (void *) nullable_payload1_ptr; | |
^ | |
src/t64_xlat_io.c:64:41: warning: cast from 'const unsigned char *' to 'void *' drops const qualifier [-Wcast-qual] | |
iov[iovcnt].iov_base = (void *) nullable_payload2_ptr; | |
^ | |
src/t64_xlat_io.c:49:9: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] | |
int iovcnt = 0; | |
^ | |
src/t64_xlat_io.c:93:41: warning: cast from 'const t64ts_tundra__ipv6_fragment_header *' to 'void *' drops const qualifier [-Wcast-qual] | |
iov[iovcnt].iov_base = (void *) nullable_ipv6_fragment_header; | |
^ | |
src/t64_xlat_io.c:99:41: warning: cast from 'const unsigned char *' to 'void *' drops const qualifier [-Wcast-qual] | |
iov[iovcnt].iov_base = (void *) nullable_payload1_ptr; | |
^ | |
src/t64_xlat_io.c:105:41: warning: cast from 'const unsigned char *' to 'void *' drops const qualifier [-Wcast-qual] | |
iov[iovcnt].iov_base = (void *) nullable_payload2_ptr; | |
^ | |
src/t64_xlat_io.c:84:9: warning: mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement] | |
int iovcnt = 0; | |
^ | |
21 warnings generated. | |
clang -O3 -flto -pthread -o tundra-nat64 src/t64_checksum.o src/t64_conf_cmdline.o src/t64_conf_file.o src/t64_conf_file_load.o src/t64_conf_rfc7050.o src/t64_init.o src/t64_init_io.o src/t64_log.o src/t64_main.o src/t64_opmode_mktun.o src/t64_opmode_print_config.o src/t64_opmode_rmtun.o src/t64_opmode_translate.o src/t64_opmode_validate_config.o src/t64_router_ipv4.o src/t64_router_ipv6.o src/t64_signal.o src/t64_utils.o src/t64_utils_ip.o src/t64_utils_xlat_addr.o src/t64_xlat_4to6.o src/t64_xlat_4to6_icmp.o src/t64_xlat_6to4.o src/t64_xlat_6to4_icmp.o src/t64_xlat_addr.o src/t64_xlat_addr_clat.o src/t64_xlat_addr_external.o src/t64_xlat_addr_nat64.o src/t64_xlat_addr_siit.o src/t64_xlat.o src/t64_xlat_interrupt.o src/t64_xlat_io.o |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment