diff options
author | Florian Westphal <fw@strlen.de> | 2018-04-11 10:24:37 +0200 |
---|---|---|
committer | Florian Westphal <fw@strlen.de> | 2018-04-11 10:51:46 +0200 |
commit | 03ecffe6c2cc0c71f5ece161d39368d56930e241 (patch) | |
tree | 1c6ab0aacf902c707004b27000a5a586df6ba3b0 /extensions/libebt_log.c | |
parent | 57af67de905c9f68b9f011b9a7cfcff12ada8012 (diff) |
ebtables-compat: add initial translations
add translations for ip, limit, log, mark, mark_m, nflog.
Signed-off-by: Florian Westphal <fw@strlen.de>
Diffstat (limited to 'extensions/libebt_log.c')
-rw-r--r-- | extensions/libebt_log.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/extensions/libebt_log.c b/extensions/libebt_log.c index f170af03..a86bdeba 100644 --- a/extensions/libebt_log.c +++ b/extensions/libebt_log.c @@ -176,6 +176,27 @@ static void brlog_print(const void *ip, const struct xt_entry_target *target, printf(" "); } +static int brlog_xlate(struct xt_xlate *xl, + const struct xt_xlate_tg_params *params) +{ + const struct ebt_log_info *loginfo = (const void *)params->target->data; + + xt_xlate_add(xl, "log"); + if (loginfo->prefix[0]) { + if (params->escape_quotes) + xt_xlate_add(xl, " prefix \\\"%s\\\"", loginfo->prefix); + else + xt_xlate_add(xl, " prefix \"%s\"", loginfo->prefix); + } + + if (loginfo->loglevel != LOG_DEFAULT_LEVEL) + xt_xlate_add(xl, " level %s", eight_priority[loginfo->loglevel].c_name); + + xt_xlate_add(xl, " flags ether "); + + return 1; +} + static struct xtables_target brlog_target = { .name = "log", .revision = 0, @@ -188,6 +209,7 @@ static struct xtables_target brlog_target = { .parse = brlog_parse, .final_check = brlog_final_check, .print = brlog_print, + .xlate = brlog_xlate, .extra_opts = brlog_opts, }; |