Kill program_name, program_version and xtables_program_name.
Signed-off-by: Jamal Hadi Salim <hadi@cyberus.ca>
void (*exit_err)(enum xtables_exittype status, const char *msg, ...) __attribute__((noreturn, format(printf,2,3)));
};
-extern const char *xtables_program_name;
extern const char *xtables_modprobe_program;
extern struct xtables_match *xtables_matches;
extern struct xtables_target *xtables_targets;
if (!handle) {
exit_error(PARAMETER_PROBLEM, "%s: unable to initialize "
- "table '%s'\n", program_name, tablename);
+ "table '%s'\n", ip6tables_globals.program_name,
+ tablename);
exit(1);
}
return handle;
FILE *in;
int in_table = 0, testing = 0;
- program_name = "ip6tables-restore";
- program_version = IPTABLES_VERSION;
line = 0;
- xtables_program_name = program_name;
ip6tables_globals.program_name = "ip6tables-restore";
c = xtables_init_all(&ip6tables_globals, NFPROTO_IPV6);
if (c < 0) {
if (!table) {
exit_error(PARAMETER_PROBLEM,
"%s: line %u table name invalid\n",
- program_name, line);
+ ip6tables_globals.program_name,
+ line);
exit(1);
}
strncpy(curtable, table, IP6T_TABLE_MAXNAMELEN);
if (!chain) {
exit_error(PARAMETER_PROBLEM,
"%s: line %u chain name invalid\n",
- program_name, line);
+ ip6tables_globals.program_name,
+ line);
exit(1);
}
if (!policy) {
exit_error(PARAMETER_PROBLEM,
"%s: line %u policy invalid\n",
- program_name, line);
+ ip6tables_globals.program_name,
+ line);
exit(1);
}
}
if (!ret) {
fprintf(stderr, "%s: line %u failed\n",
- program_name, line);
+ ip6tables_globals.program_name,
+ line);
exit(1);
}
}
if (in_table) {
fprintf(stderr, "%s: COMMIT expected at line %u\n",
- program_name, line + 1);
+ ip6tables_globals.program_name,
+ line + 1);
exit(1);
}
const char *tablename = NULL;
int c;
- program_name = "ip6tables-save";
- program_version = IPTABLES_VERSION;
-
- xtables_program_name = program_name;
ip6tables_globals.program_name = "ip6tables-save";
c = xtables_init_all(&ip6tables_globals, NFPROTO_IPV6);
if (c < 0) {
char *table = "filter";
struct ip6tc_handle *handle = NULL;
- program_name = "ip6tables";
- program_version = IPTABLES_VERSION;
-
- xtables_program_name = program_name;
ip6tables_globals.program_name = "ip6tables";
ret = xtables_init_all(&ip6tables_globals, NFPROTO_IPV6);
if (ret < 0) {
/* -c */ 0,
};
-const char *program_version;
-const char *program_name;
-
+#define prog_name ip6tables_globals.program_name
+#define prog_vers ip6tables_globals.program_version
/* A few hardcoded protocols for 'all' and in case the user has no
/etc/protocols */
struct pprot {
if (line != -1)
fprintf(stderr, "Error occurred at line: %d\n", line);
fprintf(stderr, "Try `%s -h' or '%s --help' for more information.\n",
- program_name, program_name );
+ prog_name, prog_name);
xtables_free_opts(1);
exit(status);
}
" %s -E old-chain-name new-chain-name\n"
" %s -P chain target [options]\n"
" %s -h (print this help information)\n\n",
- program_name, program_version, program_name, program_name,
- program_name, program_name, program_name, program_name,
- program_name, program_name, program_name);
+ prog_name, prog_vers, prog_name, prog_name,
+ prog_name, prog_name, prog_name, prog_name,
+ prog_name, prog_name, prog_name);
printf(
"Commands:\n"
va_list args;
va_start(args, msg);
- fprintf(stderr, "%s v%s: ", program_name, program_version);
+ fprintf(stderr, "%s v%s: ", prog_name, prog_vers);
vfprintf(stderr, msg, args);
va_end(args);
fprintf(stderr, "\n");
case 'V':
if (invert)
- printf("Not %s ;-)\n", program_version);
+ printf("Not %s ;-)\n", prog_vers);
else
printf("%s v%s\n",
- program_name, program_version);
+ prog_name, prog_vers);
exit(0);
case '0':
static void print_usage(const char *name, const char *version) __attribute__((noreturn));
+#define prog_name iptables_globals.program_name
+
static void print_usage(const char *name, const char *version)
{
fprintf(stderr, "Usage: %s [-b] [-c] [-v] [-t] [-h]\n"
if (!handle) {
exit_error(PARAMETER_PROBLEM, "%s: unable to initialize "
- "table '%s'\n", program_name, tablename);
+ "table '%s'\n", prog_name, tablename);
exit(1);
}
return handle;
int in_table = 0, testing = 0;
const char *tablename = NULL;
- program_name = "iptables-restore";
- program_version = IPTABLES_VERSION;
line = 0;
- xtables_program_name = program_name;
iptables_globals.program_name = "iptables-restore";
c = xtables_init_all(&iptables_globals, NFPROTO_IPV4);
if (c < 0) {
if (!table) {
exit_error(PARAMETER_PROBLEM,
"%s: line %u table name invalid\n",
- program_name, line);
+ prog_name, line);
exit(1);
}
strncpy(curtable, table, IPT_TABLE_MAXNAMELEN);
if (!chain) {
exit_error(PARAMETER_PROBLEM,
"%s: line %u chain name invalid\n",
- program_name, line);
+ prog_name, line);
exit(1);
}
if (!policy) {
exit_error(PARAMETER_PROBLEM,
"%s: line %u policy invalid\n",
- program_name, line);
+ prog_name, line);
exit(1);
}
continue;
if (!ret) {
fprintf(stderr, "%s: line %u failed\n",
- program_name, line);
+ prog_name, line);
exit(1);
}
}
if (in_table) {
fprintf(stderr, "%s: COMMIT expected at line %u\n",
- program_name, line + 1);
+ prog_name, line + 1);
exit(1);
}
const char *tablename = NULL;
int c;
- program_name = "iptables-save";
- program_version = IPTABLES_VERSION;
-
- xtables_program_name = program_name;
iptables_globals.program_name = "iptables-save";
c = xtables_init_all(&iptables_globals, NFPROTO_IPV4);
if (c < 0) {
char *table = "filter";
struct iptc_handle *handle = NULL;
- program_name = "iptables";
- program_version = IPTABLES_VERSION;
-
- xtables_program_name = program_name;
iptables_globals.program_name = "iptables";
ret = xtables_init_all(&iptables_globals, NFPROTO_IPV4);
if (ret < 0) {
#define DEBUGP(x, args...)
#endif
-/* no need to link with iptables.o */
-const char *program_name;
-const char *program_version;
-
#ifndef IPTABLES_MULTI
int line = 0;
#endif
+struct xtables_globals iptables_xml_globals = {
+ .option_offset = 0,
+ .program_version = IPTABLES_VERSION,
+ .program_name = "iptables-xml",
+};
+#define prog_name iptables_xml_globals.program_name
+#define prog_vers iptables_xml_globals.program_version
+
static void print_usage(const char *name, const char *version)
__attribute__ ((noreturn));
if (nextChain >= maxChains) {
exit_error(PARAMETER_PROBLEM,
"%s: line %u chain name invalid\n",
- program_name, line);
+ prog_name, line);
exit(1);
};
chains[nextChain].chain = strdup(chain);
do_rule_part(NULL, NULL, 1, argc, argv, argvattr);
}
-struct xtables_globals iptables_xml_globals = {
- .option_offset = 0,
- .program_version = IPTABLES_VERSION,
- .program_name = "iptables-xml",
-};
-
#ifdef IPTABLES_MULTI
int
iptables_xml_main(int argc, char *argv[])
int c;
FILE *in;
- program_name = "iptables-xml";
- program_version = IPTABLES_VERSION;
line = 0;
xtables_set_params(&iptables_xml_globals);
if (!table) {
exit_error(PARAMETER_PROBLEM,
"%s: line %u table name invalid\n",
- program_name, line);
+ prog_name, line);
exit(1);
}
openTable(table);
if (!chain) {
exit_error(PARAMETER_PROBLEM,
"%s: line %u chain name invalid\n",
- program_name, line);
+ prog_name, line);
exit(1);
}
if (!policy) {
exit_error(PARAMETER_PROBLEM,
"%s: line %u policy invalid\n",
- program_name, line);
+ prog_name, line);
exit(1);
}
}
if (!ret) {
fprintf(stderr, "%s: line %u failed\n",
- program_name, line);
+ prog_name, line);
exit(1);
}
}
if (curTable[0]) {
fprintf(stderr, "%s: COMMIT expected at line %u\n",
- program_name, line + 1);
+ prog_name, line + 1);
exit(1);
}
/* -c */ 0,
};
-const char *program_version;
-const char *program_name;
+#define prog_name iptables_globals.program_name
+#define prog_vers iptables_globals.program_version
int kernel_version;
if (line != -1)
fprintf(stderr, "Error occurred at line: %d\n", line);
fprintf(stderr, "Try `%s -h' or '%s --help' for more information.\n",
- program_name, program_name );
+ prog_name, prog_name);
xtables_free_opts(1);
exit(status);
}
" %s -E old-chain-name new-chain-name\n"
" %s -P chain target [options]\n"
" %s -h (print this help information)\n\n",
- program_name, program_version, program_name, program_name,
- program_name, program_name, program_name, program_name,
- program_name, program_name, program_name);
+ prog_name, prog_vers, prog_name, prog_name,
+ prog_name, prog_name, prog_name, prog_name,
+ prog_name, prog_name, prog_name);
printf(
"Commands:\n"
va_list args;
va_start(args, msg);
- fprintf(stderr, "%s v%s: ", program_name, program_version);
+ fprintf(stderr, "%s v%s: ", prog_name, prog_vers);
vfprintf(stderr, msg, args);
va_end(args);
fprintf(stderr, "\n");
case 'V':
if (invert)
- printf("Not %s ;-)\n", program_version);
+ printf("Not %s ;-)\n", prog_vers);
else
printf("%s v%s\n",
- program_name, program_version);
+ prog_name, prog_vers);
exit(0);
case '0':
static const struct xtables_afinfo *afinfo;
-/**
- * Program will set this to its own name.
- */
-const char *xtables_program_name;
-
/* Search path for Xtables .so files */
static const char *xtables_libdir;
if (strcmp(me->version, XTABLES_VERSION) != 0) {
fprintf(stderr, "%s: match \"%s\" has version \"%s\", "
"but \"%s\" is required.\n",
- xtables_program_name, me->name,
+ xt_params->program_name, me->name,
me->version, XTABLES_VERSION);
exit(1);
}
/* Revision field stole a char from name. */
if (strlen(me->name) >= XT_FUNCTION_MAXNAMELEN-1) {
fprintf(stderr, "%s: target `%s' has invalid name\n",
- xtables_program_name, me->name);
+ xt_params->program_name, me->name);
exit(1);
}
if (me->family >= NPROTO) {
fprintf(stderr,
"%s: BUG: match %s has invalid protocol family\n",
- xtables_program_name, me->name);
+ xt_params->program_name, me->name);
exit(1);
}
old->family == me->family) {
fprintf(stderr,
"%s: match `%s' already registered.\n",
- xtables_program_name, me->name);
+ xt_params->program_name, me->name);
exit(1);
}
if (me->size != XT_ALIGN(me->size)) {
fprintf(stderr, "%s: match `%s' has invalid size %u.\n",
- xtables_program_name, me->name, (unsigned int)me->size);
+ xt_params->program_name, me->name,
+ (unsigned int)me->size);
exit(1);
}
if (strcmp(me->version, XTABLES_VERSION) != 0) {
fprintf(stderr, "%s: target \"%s\" has version \"%s\", "
"but \"%s\" is required.\n",
- xtables_program_name, me->name,
+ xt_params->program_name, me->name,
me->version, XTABLES_VERSION);
exit(1);
}
/* Revision field stole a char from name. */
if (strlen(me->name) >= XT_FUNCTION_MAXNAMELEN-1) {
fprintf(stderr, "%s: target `%s' has invalid name\n",
- xtables_program_name, me->name);
+ xt_params->program_name, me->name);
exit(1);
}
if (me->family >= NPROTO) {
fprintf(stderr,
"%s: BUG: target %s has invalid protocol family\n",
- xtables_program_name, me->name);
+ xt_params->program_name, me->name);
exit(1);
}
old->family == me->family) {
fprintf(stderr,
"%s: target `%s' already registered.\n",
- xtables_program_name, me->name);
+ xt_params->program_name, me->name);
exit(1);
}
if (me->size != XT_ALIGN(me->size)) {
fprintf(stderr, "%s: target `%s' has invalid size %u.\n",
- xtables_program_name, me->name, (unsigned int)me->size);
+ xt_params->program_name, me->name,
+ (unsigned int)me->size);
exit(1);
}