]> git.ipfire.org Git - thirdparty/iptables.git/commitdiff
Put ports in network order.
authorRusty Russell <rusty@linuxcare.com.au>
Wed, 19 Apr 2000 11:24:02 +0000 (11:24 +0000)
committerRusty Russell <rusty@rustcorp.com.au>
Wed, 19 Apr 2000 11:24:02 +0000 (11:24 +0000)
extensions/libipt_MASQUERADE.c
extensions/libipt_REDIRECT.c

index a1151bbcd642ce6ab2d8c38bd2a47933b5b4262a..902f06f33e509484466b7b0f8dfde207b78fe00f 100644 (file)
@@ -54,7 +54,7 @@ parse_ports(const char *arg, struct ip_nat_multi_range *mr)
        if (!dash) {
                mr->range[0].min.tcp.port
                        = mr->range[0].max.tcp.port
-                       = port;
+                       = htons(port);
        } else {
                int maxport;
 
@@ -66,8 +66,8 @@ parse_ports(const char *arg, struct ip_nat_multi_range *mr)
                        /* People are stupid.  Present reader excepted. */
                        exit_error(PARAMETER_PROBLEM,
                                   "Port range `%s' funky\n", arg);
-               mr->range[0].min.tcp.port = port;
-               mr->range[0].max.tcp.port = maxport;
+               mr->range[0].min.tcp.port = htons(port);
+               mr->range[0].max.tcp.port = htons(maxport);
        }
 }
 
@@ -121,11 +121,11 @@ print(const struct ipt_ip *ip,
                = (struct ip_nat_multi_range *)target->data;
        struct ip_nat_range *r = &mr->range[0];
 
-       printf("MASQUERADE ");
        if (r->flags & IP_NAT_RANGE_PROTO_SPECIFIED) {
-               printf("%hu", r->min.tcp.port);
+               printf("masq ports: ");
+               printf("%hu", ntohs(r->min.tcp.port));
                if (r->max.tcp.port != r->min.tcp.port)
-                       printf("-%hu", r->max.tcp.port);
+                       printf("-%hu", ntohs(r->max.tcp.port));
                printf(" ");
        }
 }
@@ -139,9 +139,9 @@ save(const struct ipt_ip *ip, const struct ipt_entry_target *target)
        struct ip_nat_range *r = &mr->range[0];
 
        if (r->flags & IP_NAT_RANGE_PROTO_SPECIFIED) {
-               printf("%hu", r->min.tcp.port);
+               printf("%hu", ntohs(r->min.tcp.port));
                if (r->max.tcp.port != r->min.tcp.port)
-                       printf("-%hu", r->max.tcp.port);
+                       printf("-%hu", ntohs(r->max.tcp.port));
                printf(" ");
        }
 }
@@ -151,6 +151,7 @@ struct iptables_target masq
     "MASQUERADE",
     NETFILTER_VERSION,
     sizeof(struct ip_nat_multi_range),
+    sizeof(struct ip_nat_multi_range),
     &help,
     &init,
     &parse,
index aaafaaf172e39b32605f93a5c5a9991bedbd3937..32b8c6f09cfcd4ba68eb2b0e4f376c70bad7c8eb 100644 (file)
@@ -54,7 +54,7 @@ parse_ports(const char *arg, struct ip_nat_multi_range *mr)
        if (!dash) {
                mr->range[0].min.tcp.port
                        = mr->range[0].max.tcp.port
-                       = port;
+                       = htons(port);
        } else {
                int maxport;
 
@@ -66,8 +66,8 @@ parse_ports(const char *arg, struct ip_nat_multi_range *mr)
                        /* People are stupid. */
                        exit_error(PARAMETER_PROBLEM,
                                   "Port range `%s' funky\n", arg);
-               mr->range[0].min.tcp.port = port;
-               mr->range[0].max.tcp.port = maxport;
+               mr->range[0].min.tcp.port = htons(port);
+               mr->range[0].max.tcp.port = htons(maxport);
        }
 }
 
@@ -123,9 +123,9 @@ print(const struct ipt_ip *ip,
 
        printf("REDIRECT ");
        if (r->flags & IP_NAT_RANGE_PROTO_SPECIFIED) {
-               printf("%hu", r->min.tcp.port);
+               printf("%hu", ntohs(r->min.tcp.port));
                if (r->max.tcp.port != r->min.tcp.port)
-                       printf("-%hu", r->max.tcp.port);
+                       printf("-%hu", ntohs(r->max.tcp.port));
                printf(" ");
        }
 }
@@ -139,9 +139,10 @@ save(const struct ipt_ip *ip, const struct ipt_entry_target *target)
        struct ip_nat_range *r = &mr->range[0];
 
        if (r->flags & IP_NAT_RANGE_PROTO_SPECIFIED) {
-               printf("%hu", r->min.tcp.port);
+               printf("redir ports: ");
+               printf("%hu", ntohs(r->min.tcp.port));
                if (r->max.tcp.port != r->min.tcp.port)
-                       printf("-%hu", r->max.tcp.port);
+                       printf("-%hu", ntohs(r->max.tcp.port));
                printf(" ");
        }
 }
@@ -151,6 +152,7 @@ struct iptables_target redir
     "REDIRECT",
     NETFILTER_VERSION,
     sizeof(struct ip_nat_multi_range),
+    sizeof(struct ip_nat_multi_range),
     &help,
     &init,
     &parse,