|
|
74da1b |
From aba564ecc621345fcfea2fe883cbfd8d02e54026 Mon Sep 17 00:00:00 2001
|
|
|
74da1b |
From: Jozsef Kadlecsik <kadlec@netfilter.org>
|
|
|
74da1b |
Date: Sun, 20 Nov 2022 22:43:59 +0100
|
|
|
74da1b |
Subject: [PATCH] Fix all debug mode warnings
|
|
|
74da1b |
|
|
|
74da1b |
(cherry picked from commit e39e3466d2d38cdfe83447f391b550e607bc3ce8)
|
|
|
74da1b |
|
|
|
74da1b |
Conflicts:
|
|
|
74da1b |
lib/parse.c
|
|
|
74da1b |
- Fixed code does not exist due to missing commit 79184e760edfb
|
|
|
74da1b |
("Add missing hunk to patch "Allow specifying protocols by number"")
|
|
|
74da1b |
---
|
|
|
74da1b |
include/libipset/list_sort.h | 4 ++--
|
|
|
74da1b |
lib/ipset.c | 32 +++++++++++++++++++-------------
|
|
|
74da1b |
2 files changed, 21 insertions(+), 15 deletions(-)
|
|
|
74da1b |
|
|
|
74da1b |
diff --git a/include/libipset/list_sort.h b/include/libipset/list_sort.h
|
|
|
74da1b |
index 70bb02d3d1b68..d9d7b36b8380f 100644
|
|
|
74da1b |
--- a/include/libipset/list_sort.h
|
|
|
74da1b |
+++ b/include/libipset/list_sort.h
|
|
|
74da1b |
@@ -61,7 +61,7 @@ static inline void list_del(struct list_head *entry)
|
|
|
74da1b |
// entry->prev = (void *) 0;
|
|
|
74da1b |
}
|
|
|
74da1b |
|
|
|
74da1b |
-static inline void __list_splice(const struct list_head *list,
|
|
|
74da1b |
+static inline void __list_splice(struct list_head *list,
|
|
|
74da1b |
struct list_head *prev,
|
|
|
74da1b |
struct list_head *next)
|
|
|
74da1b |
{
|
|
|
74da1b |
@@ -75,7 +75,7 @@ static inline void __list_splice(const struct list_head *list,
|
|
|
74da1b |
next->prev = last;
|
|
|
74da1b |
}
|
|
|
74da1b |
|
|
|
74da1b |
-static inline void list_splice(const struct list_head *list,
|
|
|
74da1b |
+static inline void list_splice(struct list_head *list,
|
|
|
74da1b |
struct list_head *head)
|
|
|
74da1b |
{
|
|
|
74da1b |
if (!list_empty(list))
|
|
|
74da1b |
diff --git a/lib/ipset.c b/lib/ipset.c
|
|
|
74da1b |
index 50f86aee045bc..f57b07413cba5 100644
|
|
|
74da1b |
--- a/lib/ipset.c
|
|
|
74da1b |
+++ b/lib/ipset.c
|
|
|
74da1b |
@@ -30,6 +30,7 @@
|
|
|
74da1b |
#include <libipset/ipset.h> /* prototypes */
|
|
|
74da1b |
#include <libipset/ip_set_compiler.h> /* compiler attributes */
|
|
|
74da1b |
#include <libipset/list_sort.h> /* lists */
|
|
|
74da1b |
+#include <libipset/xlate.h> /* ipset_xlate_argv */
|
|
|
74da1b |
|
|
|
74da1b |
static char program_name[] = PACKAGE;
|
|
|
74da1b |
static char program_version[] = PACKAGE_VERSION;
|
|
|
74da1b |
@@ -936,10 +937,10 @@ static const char *cmd_prefix[] = {
|
|
|
74da1b |
[IPSET_TEST] = "test SETNAME",
|
|
|
74da1b |
};
|
|
|
74da1b |
|
|
|
74da1b |
-static const struct ipset_xlate_set *
|
|
|
74da1b |
+static struct ipset_xlate_set *
|
|
|
74da1b |
ipset_xlate_set_get(struct ipset *ipset, const char *name)
|
|
|
74da1b |
{
|
|
|
74da1b |
- const struct ipset_xlate_set *set;
|
|
|
74da1b |
+ struct ipset_xlate_set *set;
|
|
|
74da1b |
|
|
|
74da1b |
list_for_each_entry(set, &ipset->xlate_sets, list) {
|
|
|
74da1b |
if (!strcmp(set->name, name))
|
|
|
74da1b |
@@ -958,7 +959,7 @@ ipset_parser(struct ipset *ipset, int oargc, char *oargv[])
|
|
|
74da1b |
char *arg0 = NULL, *arg1 = NULL;
|
|
|
74da1b |
const struct ipset_envopts *opt;
|
|
|
74da1b |
const struct ipset_commands *command;
|
|
|
74da1b |
- const struct ipset_type *type;
|
|
|
74da1b |
+ const struct ipset_type *type = NULL;
|
|
|
74da1b |
struct ipset_session *session = ipset->session;
|
|
|
74da1b |
void *p = ipset_session_printf_private(session);
|
|
|
74da1b |
int argc = oargc;
|
|
|
74da1b |
@@ -1127,6 +1128,7 @@ ipset_parser(struct ipset *ipset, int oargc, char *oargv[])
|
|
|
74da1b |
if (arg0) {
|
|
|
74da1b |
const struct ipset_arg *arg;
|
|
|
74da1b |
int k;
|
|
|
74da1b |
+ enum ipset_adt c;
|
|
|
74da1b |
|
|
|
74da1b |
/* Type-specific help, without kernel checking */
|
|
|
74da1b |
type = type_find(arg0);
|
|
|
74da1b |
@@ -1136,11 +1138,11 @@ ipset_parser(struct ipset *ipset, int oargc, char *oargv[])
|
|
|
74da1b |
"Unknown settype: `%s'", arg0);
|
|
|
74da1b |
printf("\n%s type specific options:\n\n", type->name);
|
|
|
74da1b |
for (i = 0; cmd_help_order[i] != IPSET_CADT_MAX; i++) {
|
|
|
74da1b |
- cmd = cmd_help_order[i];
|
|
|
74da1b |
+ c = cmd_help_order[i];
|
|
|
74da1b |
printf("%s %s %s\n",
|
|
|
74da1b |
- cmd_prefix[cmd], type->name, type->cmd[cmd].help);
|
|
|
74da1b |
- for (k = 0; type->cmd[cmd].args[k] != IPSET_ARG_NONE; k++) {
|
|
|
74da1b |
- arg = ipset_keyword(type->cmd[cmd].args[k]);
|
|
|
74da1b |
+ cmd_prefix[c], type->name, type->cmd[c].help);
|
|
|
74da1b |
+ for (k = 0; type->cmd[c].args[k] != IPSET_ARG_NONE; k++) {
|
|
|
74da1b |
+ arg = ipset_keyword(type->cmd[c].args[k]);
|
|
|
74da1b |
if (!arg->help || arg->help[0] == '\0')
|
|
|
74da1b |
continue;
|
|
|
74da1b |
printf(" %s\n", arg->help);
|
|
|
74da1b |
@@ -1548,7 +1550,7 @@ ipset_fini(struct ipset *ipset)
|
|
|
74da1b |
}
|
|
|
74da1b |
|
|
|
74da1b |
/* Ignore the set family, use inet. */
|
|
|
74da1b |
-static const char *ipset_xlate_family(uint8_t family)
|
|
|
74da1b |
+static const char *ipset_xlate_family(uint8_t family UNUSED)
|
|
|
74da1b |
{
|
|
|
74da1b |
return "inet";
|
|
|
74da1b |
}
|
|
|
74da1b |
@@ -1705,6 +1707,10 @@ ipset_xlate_type_to_nftables(int family, enum ipset_xlate_set_type type,
|
|
|
74da1b |
else if (family == AF_INET6)
|
|
|
74da1b |
return "ipv6_addr";
|
|
|
74da1b |
break;
|
|
|
74da1b |
+ case IPSET_XLATE_TYPE_UNKNOWN:
|
|
|
74da1b |
+ break;
|
|
|
74da1b |
+ default:
|
|
|
74da1b |
+ break;
|
|
|
74da1b |
}
|
|
|
74da1b |
/* This should not ever happen. */
|
|
|
74da1b |
return "unknown";
|
|
|
74da1b |
@@ -1729,7 +1735,6 @@ static int ipset_xlate(struct ipset *ipset, enum ipset_cmd cmd,
|
|
|
74da1b |
char buf[64];
|
|
|
74da1b |
bool concat;
|
|
|
74da1b |
char *term;
|
|
|
74da1b |
- int i;
|
|
|
74da1b |
|
|
|
74da1b |
session = ipset_session(ipset);
|
|
|
74da1b |
data = ipset_session_data(session);
|
|
|
74da1b |
@@ -1843,7 +1848,7 @@ static int ipset_xlate(struct ipset *ipset, enum ipset_cmd cmd,
|
|
|
74da1b |
return -1;
|
|
|
74da1b |
case IPSET_CMD_LIST:
|
|
|
74da1b |
if (!set) {
|
|
|
74da1b |
- printf("list sets %s\n",
|
|
|
74da1b |
+ printf("list sets %s %s\n",
|
|
|
74da1b |
ipset_xlate_family(family), table);
|
|
|
74da1b |
} else {
|
|
|
74da1b |
printf("list set %s %s %s\n",
|
|
|
74da1b |
@@ -1902,6 +1907,8 @@ static int ipset_xlate(struct ipset *ipset, enum ipset_cmd cmd,
|
|
|
74da1b |
}
|
|
|
74da1b |
if (ipset_data_test(data, IPSET_OPT_ETHER)) {
|
|
|
74da1b |
ipset_print_ether(buf, sizeof(buf), data, IPSET_OPT_ETHER, 0);
|
|
|
74da1b |
+ size_t i;
|
|
|
74da1b |
+
|
|
|
74da1b |
for (i = 0; i < strlen(buf); i++)
|
|
|
74da1b |
buf[i] = tolower(buf[i]);
|
|
|
74da1b |
|
|
|
74da1b |
@@ -1964,7 +1971,6 @@ static int ipset_xlate_restore(struct ipset *ipset)
|
|
|
74da1b |
struct ipset_session *session = ipset_session(ipset);
|
|
|
74da1b |
struct ipset_data *data = ipset_session_data(session);
|
|
|
74da1b |
void *p = ipset_session_printf_private(session);
|
|
|
74da1b |
- const char *filename;
|
|
|
74da1b |
enum ipset_cmd cmd;
|
|
|
74da1b |
FILE *f = stdin;
|
|
|
74da1b |
int ret = 0;
|
|
|
74da1b |
@@ -1973,7 +1979,7 @@ static int ipset_xlate_restore(struct ipset *ipset)
|
|
|
74da1b |
if (ipset->filename) {
|
|
|
74da1b |
f = fopen(ipset->filename, "r");
|
|
|
74da1b |
if (!f) {
|
|
|
74da1b |
- fprintf(stderr, "cannot open file `%s'\n", filename);
|
|
|
74da1b |
+ fprintf(stderr, "cannot open file `%s'\n", ipset->filename);
|
|
|
74da1b |
return -1;
|
|
|
74da1b |
}
|
|
|
74da1b |
}
|
|
|
74da1b |
@@ -2007,7 +2013,7 @@ static int ipset_xlate_restore(struct ipset *ipset)
|
|
|
74da1b |
ipset_data_reset(data);
|
|
|
74da1b |
}
|
|
|
74da1b |
|
|
|
74da1b |
- if (filename)
|
|
|
74da1b |
+ if (ipset->filename)
|
|
|
74da1b |
fclose(f);
|
|
|
74da1b |
|
|
|
74da1b |
return ret;
|
|
|
74da1b |
--
|
|
|
74da1b |
2.38.0
|
|
|
74da1b |
|