From f0ac814a2137abe334bd0000d59e9be4721e1ddc Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Tue, 26 Mar 2002 12:50:28 +0000 Subject: fix to save() and restore() functions of ah/esp match. --- extensions/libipt_ah.c | 14 +++++++------- extensions/libipt_esp.c | 14 +++++++------- 2 files changed, 14 insertions(+), 14 deletions(-) (limited to 'extensions') diff --git a/extensions/libipt_ah.c b/extensions/libipt_ah.c index 86863266..1b139c27 100644 --- a/extensions/libipt_ah.c +++ b/extensions/libipt_ah.c @@ -91,7 +91,7 @@ parse(int c, char **argv, int invert, unsigned int *flags, case '1': if (*flags & AH_SPI) exit_error(PARAMETER_PROBLEM, - "Only one `--spi' allowed"); + "Only one `--ahspi' allowed"); check_inverse(optarg, &invert, &optind, 0); parse_ah_spis(argv[optind-1], ahinfo->spis); if (invert) @@ -152,17 +152,17 @@ static void save(const struct ipt_ip *ip, const struct ipt_entry_match *match) { const struct ipt_ah *ahinfo = (struct ipt_ah *)match->data; - if (ahinfo->spis[0] != 0 - && ahinfo->spis[1] != 0xFFFFFFFF) { - if (ahinfo->invflags & IPT_AH_INV_SPI) - printf("! "); + if (!(ahinfo->spis[0] == 0 + && ahinfo->spis[1] == 0xFFFFFFFF)) { + printf("--ahspi %s", + (ahinfo->invflags & IPT_AH_INV_SPI) ? "! " : ""); if (ahinfo->spis[0] != ahinfo->spis[1]) - printf("--spi %u-%u ", + printf("%u:%u ", ahinfo->spis[0], ahinfo->spis[1]); else - printf("--spi %u ", + printf("%u ", ahinfo->spis[0]); } diff --git a/extensions/libipt_esp.c b/extensions/libipt_esp.c index 8890ff7f..8804495a 100644 --- a/extensions/libipt_esp.c +++ b/extensions/libipt_esp.c @@ -91,7 +91,7 @@ parse(int c, char **argv, int invert, unsigned int *flags, case '1': if (*flags & ESP_SPI) exit_error(PARAMETER_PROBLEM, - "Only one `--spi' allowed"); + "Only one `--espspi' allowed"); check_inverse(optarg, &invert, &optind, 0); parse_esp_spis(argv[optind-1], espinfo->spis); if (invert) @@ -152,17 +152,17 @@ static void save(const struct ipt_ip *ip, const struct ipt_entry_match *match) { const struct ipt_esp *espinfo = (struct ipt_esp *)match->data; - if (espinfo->spis[0] != 0 - && espinfo->spis[1] != 0xFFFFFFFF) { - if (espinfo->invflags & IPT_ESP_INV_SPI) - printf("! "); + if (!(espinfo->spis[0] == 0 + && espinfo->spis[1] == 0xFFFFFFFF)) { + printf("--espspi %s", + (espinfo->invflags & IPT_ESP_INV_SPI) ? "! " : ""); if (espinfo->spis[0] != espinfo->spis[1]) - printf("--spi %u-%u ", + printf("%u:%u ", espinfo->spis[0], espinfo->spis[1]); else - printf("--spi %u ", + printf("%u ", espinfo->spis[0]); } -- cgit v1.2.3