]> git.proxmox.com Git - iproute2.git/blob - debian/patches/0004-sync-iptables-header.patch
bump version to 4.13.0-1
[iproute2.git] / debian / patches / 0004-sync-iptables-header.patch
1 Description: Sync header from iptables
2 The current versions in several suites have the same content:
3 - 1.6.0+snapshot20161117-6 (stretch)
4 - 1.6.1-2 (unstable)
5 Bug: https://bugs.debian.og/868059
6 Forwarded: not-needed
7 Author: Cyril Brulebois <cyril@debamax.com>
8 Last-Update: 2017-11-22
9 --- a/include/xtables.h
10 +++ b/include/xtables.h
11 @@ -205,9 +205,24 @@ enum xtables_ext_flags {
12 XTABLES_EXT_ALIAS = 1 << 0,
13 };
14
15 +struct xt_xlate;
16 +
17 +struct xt_xlate_mt_params {
18 + const void *ip;
19 + const struct xt_entry_match *match;
20 + int numeric;
21 + bool escape_quotes;
22 +};
23 +
24 +struct xt_xlate_tg_params {
25 + const void *ip;
26 + const struct xt_entry_target *target;
27 + int numeric;
28 + bool escape_quotes;
29 +};
30 +
31 /* Include file for additions: new matches and targets. */
32 -struct xtables_match
33 -{
34 +struct xtables_match {
35 /*
36 * ABI/API version this module requires. Must be first member,
37 * as the rest of this struct may be subject to ABI changes.
38 @@ -269,6 +284,10 @@ struct xtables_match
39 void (*x6_fcheck)(struct xt_fcheck_call *);
40 const struct xt_option_entry *x6_options;
41
42 + /* Translate iptables to nft */
43 + int (*xlate)(struct xt_xlate *xl,
44 + const struct xt_xlate_mt_params *params);
45 +
46 /* Size of per-extension instance extra "global" scratch space */
47 size_t udata_size;
48
49 @@ -280,8 +299,7 @@ struct xtables_match
50 unsigned int loaded; /* simulate loading so options are merged properly */
51 };
52
53 -struct xtables_target
54 -{
55 +struct xtables_target {
56 /*
57 * ABI/API version this module requires. Must be first member,
58 * as the rest of this struct may be subject to ABI changes.
59 @@ -346,6 +364,10 @@ struct xtables_target
60 void (*x6_fcheck)(struct xt_fcheck_call *);
61 const struct xt_option_entry *x6_options;
62
63 + /* Translate iptables to nft */
64 + int (*xlate)(struct xt_xlate *xl,
65 + const struct xt_xlate_tg_params *params);
66 +
67 size_t udata_size;
68
69 /* Ignore these men behind the curtain: */
70 @@ -406,6 +428,17 @@ struct xtables_globals
71
72 #define XT_GETOPT_TABLEEND {.name = NULL, .has_arg = false}
73
74 +/*
75 + * enum op-
76 + *
77 + * For writing clean nftables translations code
78 + */
79 +enum xt_op {
80 + XT_OP_EQ,
81 + XT_OP_NEQ,
82 + XT_OP_MAX,
83 +};
84 +
85 #ifdef __cplusplus
86 extern "C" {
87 #endif
88 @@ -548,6 +581,14 @@ extern void xtables_lmap_free(struct xta
89 extern int xtables_lmap_name2id(const struct xtables_lmap *, const char *);
90 extern const char *xtables_lmap_id2name(const struct xtables_lmap *, int);
91
92 +/* xlate infrastructure */
93 +struct xt_xlate *xt_xlate_alloc(int size);
94 +void xt_xlate_free(struct xt_xlate *xl);
95 +void xt_xlate_add(struct xt_xlate *xl, const char *fmt, ...);
96 +void xt_xlate_add_comment(struct xt_xlate *xl, const char *comment);
97 +const char *xt_xlate_get_comment(struct xt_xlate *xl);
98 +const char *xt_xlate_get(struct xt_xlate *xl);
99 +
100 #ifdef XTABLES_INTERNAL
101
102 /* Shipped modules rely on this... */