diff --git a/extensions/libxt_CHAOS.c b/extensions/libxt_CHAOS.c index e6e6212..1fdcbf3 100644 --- a/extensions/libxt_CHAOS.c +++ b/extensions/libxt_CHAOS.c @@ -106,8 +106,7 @@ static struct xtables_target chaos_tg_reg = { .extra_opts = chaos_tg_opts, }; -void _init(void); -void _init(void) +static __attribute__((constructor)) void chaos_tg_ldr(void) { xtables_register_target(&chaos_tg_reg); } diff --git a/extensions/libxt_DELUDE.c b/extensions/libxt_DELUDE.c index 8c7085e..42c8ef0 100644 --- a/extensions/libxt_DELUDE.c +++ b/extensions/libxt_DELUDE.c @@ -41,8 +41,7 @@ static struct xtables_target delude_tg_reg = { .final_check = delude_tg_check, }; -void _init(void); -void _init(void) +static __attribute__((constructor)) void delude_tg_ldr(void) { xtables_register_target(&delude_tg_reg); } diff --git a/extensions/libxt_DHCPADDR.c b/extensions/libxt_DHCPADDR.c index 4171e5a..28cbb40 100644 --- a/extensions/libxt_DHCPADDR.c +++ b/extensions/libxt_DHCPADDR.c @@ -95,7 +95,7 @@ static struct xtables_target dhcpaddr_tg_reg = { .extra_opts = dhcpaddr_tg_opts, }; -static void _init(void) +static __attribute__((constructor)) void dhcpaddr_tg_ldr(void) { xtables_register_target(&dhcpaddr_tg_reg); } diff --git a/extensions/libxt_ECHO.c b/extensions/libxt_ECHO.c index c3454f2..39b9183 100644 --- a/extensions/libxt_ECHO.c +++ b/extensions/libxt_ECHO.c @@ -37,7 +37,7 @@ static struct xtables_target echo_tg_reg = { .final_check = echo_tg_check, }; -static void _init(void) +static __attribute__((constructor)) void echo_tg_ldr(void) { xtables_register_target(&echo_tg_reg); } diff --git a/extensions/libxt_IPMARK.c b/extensions/libxt_IPMARK.c index fa1a6dc..f440758 100644 --- a/extensions/libxt_IPMARK.c +++ b/extensions/libxt_IPMARK.c @@ -68,7 +68,7 @@ static int ipmark_tg_parse(int c, char **argv, int invert, unsigned int *flags, exit_error(PARAMETER_PROBLEM, "Bad addr value `%s' - should be `src' or `dst'", optarg); *flags |= FL_ADDR_USED; return true; - + case '2': param_act(P_ONLY_ONCE, "IPMARK", "and-mask", *flags & FL_AND_MASK_USED); param_act(P_NO_INVERT, "IPMARK", "and-mask", invert); @@ -175,7 +175,7 @@ static struct xtables_target ipmark_tg6_reg = { .extra_opts = ipmark_tg_opts, }; -static void _init(void) +static __attribute__((constructor)) void ipmark_tg_ldr(void) { xtables_register_target(&ipmark_tg4_reg); xtables_register_target(&ipmark_tg6_reg); diff --git a/extensions/libxt_LOGMARK.c b/extensions/libxt_LOGMARK.c index a92e2eb..42659d9 100644 --- a/extensions/libxt_LOGMARK.c +++ b/extensions/libxt_LOGMARK.c @@ -111,8 +111,7 @@ static struct xtables_target logmark_tg_reg = { .extra_opts = logmark_tg_opts, }; -void _init(void); -void _init(void) +static __attribute__((constructor)) void logmark_tg_ldr(void) { xtables_register_target(&logmark_tg_reg); } diff --git a/extensions/libxt_SYSRQ.c b/extensions/libxt_SYSRQ.c index 6041805..8f97bc1 100644 --- a/extensions/libxt_SYSRQ.c +++ b/extensions/libxt_SYSRQ.c @@ -43,7 +43,7 @@ static struct xtables_target sysrq_tg6_reg = { .final_check = sysrq_tg_check, }; -static void _init(void) +static __attribute__((constructor)) void sysrq_tg_ldr(void) { xtables_register_target(&sysrq_tg4_reg); xtables_register_target(&sysrq_tg6_reg); diff --git a/extensions/libxt_TARPIT.c b/extensions/libxt_TARPIT.c index f7edb24..0e072b2 100644 --- a/extensions/libxt_TARPIT.c +++ b/extensions/libxt_TARPIT.c @@ -32,7 +32,7 @@ static struct xtables_target tarpit_tg_reg = { .final_check = tarpit_tg_check, }; -static void _init(void) +static __attribute__((constructor)) void tarpit_tg_ldr(void) { xtables_register_target(&tarpit_tg_reg); } diff --git a/extensions/libxt_TEE.c b/extensions/libxt_TEE.c index 408c0ae..18638b8 100644 --- a/extensions/libxt_TEE.c +++ b/extensions/libxt_TEE.c @@ -108,7 +108,7 @@ static struct xtables_target tee_tg_reg = { .extra_opts = tee_tg_opts, }; -static void _init(void) +static __attribute__((constructor)) void tee_tg_ldr(void) { xtables_register_target(&tee_tg_reg); } diff --git a/extensions/libxt_condition.c b/extensions/libxt_condition.c index ba8eacf..18b1ca3 100644 --- a/extensions/libxt_condition.c +++ b/extensions/libxt_condition.c @@ -92,7 +92,7 @@ static struct xtables_match condition_mt_reg = { .extra_opts = condition_opts, }; -static void _init(void) +static __attribute__((constructor)) void condition_mt_ldr(void) { xtables_register_match(&condition_mt_reg); } diff --git a/extensions/libxt_dhcpaddr.c b/extensions/libxt_dhcpaddr.c index ac4da32..089a722 100644 --- a/extensions/libxt_dhcpaddr.c +++ b/extensions/libxt_dhcpaddr.c @@ -96,7 +96,7 @@ static struct xtables_match dhcpaddr_mt_reg = { .extra_opts = dhcpaddr_mt_opts, }; -static void _init(void) +static __attribute__((constructor)) void dhcpaddr_mt_ldr(void) { xtables_register_match(&dhcpaddr_mt_reg); } diff --git a/extensions/libxt_fuzzy.c b/extensions/libxt_fuzzy.c index 8ed2649..a588ed3 100644 --- a/extensions/libxt_fuzzy.c +++ b/extensions/libxt_fuzzy.c @@ -112,7 +112,7 @@ static struct xtables_match fuzzy_mt_reg = { .extra_opts = fuzzy_mt_opts, }; -static void _init(void) +static __attribute__((constructor)) void fuzzy_mt_ldr(void) { xtables_register_match(&fuzzy_mt_reg); } diff --git a/extensions/libxt_geoip.c b/extensions/libxt_geoip.c index 2f83e53..f0927e3 100644 --- a/extensions/libxt_geoip.c +++ b/extensions/libxt_geoip.c @@ -272,7 +272,7 @@ static struct xtables_match geoip_match = { .extra_opts = geoip_opts, }; -static void _init(void) +static __attribute__((constructor)) void geoip_mt_ldr(void) { xtables_register_match(&geoip_match); } diff --git a/extensions/libxt_ipp2p.c b/extensions/libxt_ipp2p.c index bc22191..eb0d1f0 100644 --- a/extensions/libxt_ipp2p.c +++ b/extensions/libxt_ipp2p.c @@ -242,7 +242,7 @@ static struct xtables_match ipp2p_mt_reg = { .extra_opts = ipp2p_mt_opts, }; -static void _init(void) +static __attribute__((constructor)) void ipp2p_mt_ldr(void) { xtables_register_match(&ipp2p_mt_reg); } diff --git a/extensions/libxt_portscan.c b/extensions/libxt_portscan.c index 1be9e40..f460e5a 100644 --- a/extensions/libxt_portscan.c +++ b/extensions/libxt_portscan.c @@ -116,8 +116,7 @@ static struct xtables_match portscan_mt_reg = { .extra_opts = portscan_mt_opts, }; -void _init(void); -void _init(void) +static __attribute__((constructor)) void portscan_mt_ldr(void) { xtables_register_match(&portscan_mt_reg); } diff --git a/extensions/libxt_quota2.c b/extensions/libxt_quota2.c index 5fb2bd4..de7a5f4 100644 --- a/extensions/libxt_quota2.c +++ b/extensions/libxt_quota2.c @@ -133,7 +133,7 @@ static struct xtables_match quota_mt2_reg = { .extra_opts = quota_mt2_opts, }; -static void _init(void) +static __attribute__((constructor)) void quota2_mt_ldr(void) { xtables_register_match("a_mt2_reg); }