summaryrefslogtreecommitdiffstats
path: root/extensions
diff options
context:
space:
mode:
authorrusty <rusty>2000-04-19 11:24:02 +0000
committerrusty <rusty>2000-04-19 11:24:02 +0000
commit1f8839338831882fe1cce577242bd348b4525d29 (patch)
tree78cec0175c5c48ff47a6a63b4578b810f5b53dc2 /extensions
parentac217e72218b48416dea9045f45be6d6dbac2197 (diff)
Put ports in network order.
Diffstat (limited to 'extensions')
-rw-r--r--extensions/libipt_MASQUERADE.c17
-rw-r--r--extensions/libipt_REDIRECT.c16
2 files changed, 18 insertions, 15 deletions
diff --git a/extensions/libipt_MASQUERADE.c b/extensions/libipt_MASQUERADE.c
index a1151bb..902f06f 100644
--- a/extensions/libipt_MASQUERADE.c
+++ b/extensions/libipt_MASQUERADE.c
@@ -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,
diff --git a/extensions/libipt_REDIRECT.c b/extensions/libipt_REDIRECT.c
index aaafaaf..32b8c6f 100644
--- a/extensions/libipt_REDIRECT.c
+++ b/extensions/libipt_REDIRECT.c
@@ -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,