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