This is used from extensions and included in libxtables, so we have to make them public. Fixes: 31f1434dfe37 ("libxtables: Integrate getethertype.c from xtables core") Reported-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> --- extensions/libebt_arp.c | 4 ++-- extensions/libebt_vlan.c | 1 - include/ebtables/ethernetdb.h | 45 ----------------------------------------- include/xtables.h | 12 +++++++++++ iptables/nft-bridge.c | 1 - iptables/xtables-eb-translate.c | 3 +-- iptables/xtables-eb.c | 2 +- libxtables/getethertype.c | 7 +++---- 8 files changed, 19 insertions(+), 56 deletions(-) delete mode 100644 include/ebtables/ethernetdb.h diff --git a/extensions/libebt_arp.c b/extensions/libebt_arp.c index 3a4c29b5fd3e..522c57c0156d 100644 --- a/extensions/libebt_arp.c +++ b/extensions/libebt_arp.c @@ -14,7 +14,7 @@ #include <xtables.h> #include <netinet/ether.h> -#include <ebtables/ethernetdb.h> +#include <xtables.h> #include <net/if_arp.h> #include <linux/netfilter_bridge/ebt_arp.h> #include "iptables/nft.h" @@ -75,7 +75,7 @@ static void brarp_print_help(void) printf(" %d = %s\n", i + 1, opcodes[i]); printf( " hardware type string: 1 = Ethernet\n" -" protocol type string: see "_XT_PATH_ETHERTYPES"\n"); +" protocol type string: see "XT_PATH_ETHERTYPES"\n"); } #define OPT_OPCODE 0x01 diff --git a/extensions/libebt_vlan.c b/extensions/libebt_vlan.c index 57c4dd5bca5d..a2a9dcce531c 100644 --- a/extensions/libebt_vlan.c +++ b/extensions/libebt_vlan.c @@ -12,7 +12,6 @@ #include <getopt.h> #include <ctype.h> #include <xtables.h> -#include <ebtables/ethernetdb.h> #include <linux/netfilter_bridge/ebt_vlan.h> #include <linux/if_ether.h> #include "iptables/nft.h" diff --git a/include/ebtables/ethernetdb.h b/include/ebtables/ethernetdb.h deleted file mode 100644 index 08b433543c67..000000000000 --- a/include/ebtables/ethernetdb.h +++ /dev/null @@ -1,45 +0,0 @@ -/* -* This program is free software; you can redistribute it and/or modify -* it under the terms of the GNU General Public License as published by -* the Free Software Foundation; either version 2 of the License, or -* (at your option) any later version. -* -* This program is distributed in the hope that it will be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -* GNU General Public License for more details. -* -* You should have received a copy of the GNU General Public License -* along with this program; if not, write to the Free Software -* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -*/ - -/* All data returned by the network data base library are supplied in - host order and returned in network order (suitable for use in - system calls). */ - -#ifndef _ETHERNETDB_H -#define _ETHERNETDB_H 1 - -#include <features.h> -#include <netinet/in.h> -#include <stdint.h> - -/* Absolute file name for network data base files. */ -#ifndef _XT_PATH_ETHERTYPES -#define _XT_PATH_ETHERTYPES "/etc/ethertypes" -#endif /* _PATH_ETHERTYPES */ - -struct xt_ethertypeent { - char *e_name; /* Official ethernet type name. */ - char **e_aliases; /* Alias list. */ - int e_ethertype; /* Ethernet type number. */ -}; - -/* Return entry from ethertype data base for network with NAME. */ -extern struct xt_ethertypeent *xtables_getethertypebyname(__const char *__name); - -/* Return entry from ethertype data base which number is PROTO. */ -extern struct xt_ethertypeent *xtables_getethertypebynumber(int __ethertype); - -#endif /* ethernetdb.h */ diff --git a/include/xtables.h b/include/xtables.h index bf169b08186f..8fb8843ac4f4 100644 --- a/include/xtables.h +++ b/include/xtables.h @@ -521,6 +521,18 @@ extern void xtables_ip6parse_any(const char *, struct in6_addr **, extern void xtables_ip6parse_multiple(const char *, struct in6_addr **, struct in6_addr **, unsigned int *); +/* Absolute file name for network data base files. */ +#define XT_PATH_ETHERTYPES "/etc/ethertypes" + +struct xt_ethertypeent { + char *e_name; /* Official ethernet type name. */ + char **e_aliases; /* Alias list. */ + int e_ethertype; /* Ethernet type number. */ +}; + +extern struct xt_ethertypeent *xtables_getethertypebyname(const char *name); +extern struct xt_ethertypeent *xtables_getethertypebynumber(int ethertype); + /** * Print the specified value to standard output, quoting dangerous * characters if required. diff --git a/iptables/nft-bridge.c b/iptables/nft-bridge.c index 876981ac5862..35c862cfda81 100644 --- a/iptables/nft-bridge.c +++ b/iptables/nft-bridge.c @@ -16,7 +16,6 @@ #include <xtables.h> #include <libiptc/libxtc.h> #include <linux/netfilter/nf_tables.h> -#include <ebtables/ethernetdb.h> #include "nft-shared.h" #include "nft-bridge.h" diff --git a/iptables/xtables-eb-translate.c b/iptables/xtables-eb-translate.c index 44419751fc85..f98c385555eb 100644 --- a/iptables/xtables-eb-translate.c +++ b/iptables/xtables-eb-translate.c @@ -14,7 +14,6 @@ #include <linux/netfilter_bridge.h> #include <linux/netfilter/nf_tables.h> -#include <ebtables/ethernetdb.h> #include <libiptc/libxtc.h> #include "xshared.h" @@ -474,7 +473,7 @@ print_zero: ent = xtables_getethertypebyname(optarg); if (!ent) xtables_error(PARAMETER_PROBLEM, - "Problem with the specified Ethernet protocol '%s', perhaps "_XT_PATH_ETHERTYPES " is missing", optarg); + "Problem with the specified Ethernet protocol '%s', perhaps "XT_PATH_ETHERTYPES " is missing", optarg); cs.eb.ethproto = ent->e_ethertype; } else cs.eb.ethproto = i; diff --git a/iptables/xtables-eb.c b/iptables/xtables-eb.c index ecb758c65c77..e3fd82686e68 100644 --- a/iptables/xtables-eb.c +++ b/iptables/xtables-eb.c @@ -1129,7 +1129,7 @@ print_zero: ent = xtables_getethertypebyname(optarg); if (!ent) xtables_error(PARAMETER_PROBLEM, - "Problem with the specified Ethernet protocol '%s', perhaps "_XT_PATH_ETHERTYPES " is missing", optarg); + "Problem with the specified Ethernet protocol '%s', perhaps "XT_PATH_ETHERTYPES " is missing", optarg); cs.eb.ethproto = ent->e_ethertype; } else cs.eb.ethproto = i; diff --git a/libxtables/getethertype.c b/libxtables/getethertype.c index a4c1407cf87c..59949b790361 100644 --- a/libxtables/getethertype.c +++ b/libxtables/getethertype.c @@ -42,8 +42,7 @@ #include <string.h> #include <netinet/ether.h> #include <net/ethernet.h> - -#include <ebtables/ethernetdb.h> +#include <xtables.h> #define MAXALIASES 35 @@ -56,7 +55,7 @@ static int ethertype_stayopen; static void setethertypeent(int f) { if (etherf == NULL) - etherf = fopen(_XT_PATH_ETHERTYPES, "r"); + etherf = fopen(XT_PATH_ETHERTYPES, "r"); else rewind(etherf); ethertype_stayopen |= f; @@ -79,7 +78,7 @@ static struct xt_ethertypeent *getethertypeent(void) register char *cp, **q; if (etherf == NULL - && (etherf = fopen(_XT_PATH_ETHERTYPES, "r")) == NULL) { + && (etherf = fopen(XT_PATH_ETHERTYPES, "r")) == NULL) { return (NULL); } -- 2.11.0