]> git.ipfire.org Git - thirdparty/iptables.git/commitdiff
fix to save() and restore() functions of ah/esp match.
authorHarald Welte <laforge@gnumonks.org>
Tue, 26 Mar 2002 12:50:28 +0000 (12:50 +0000)
committerHarald Welte <laforge@gnumonks.org>
Tue, 26 Mar 2002 12:50:28 +0000 (12:50 +0000)
extensions/libipt_ah.c
extensions/libipt_esp.c

index 86863266beaa089299039316ada2946110defc98..1b139c272070a7cf07e917c039d6705a9e6314fd 100644 (file)
@@ -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]);
        }
 
index 8890ff7fad0f2c9ce71a623fb2c12c36d66ab0ef..8804495a3f3aab2a692b79e4e2267e5c45a3c4af 100644 (file)
@@ -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]);
        }