diff options
author | /C=EU/ST=EU/CN=Patrick McHardy/emailAddress=kaber@trash.net </C=EU/ST=EU/CN=Patrick McHardy/emailAddress=kaber@trash.net> | 2007-04-18 14:00:11 +0000 |
---|---|---|
committer | /C=EU/ST=EU/CN=Patrick McHardy/emailAddress=kaber@trash.net </C=EU/ST=EU/CN=Patrick McHardy/emailAddress=kaber@trash.net> | 2007-04-18 14:00:11 +0000 |
commit | a1fa2c7d6a8232f8440b9996800a0c5543e97a55 (patch) | |
tree | 889eff4944055c8e7ba12f31ff82549d1fd70db3 /extensions/libipt_SAME.c | |
parent | 1b183daa8eed30aba4384a4bf39558bc97255b0b (diff) |
Fix iptables-save with --random option
Diffstat (limited to 'extensions/libipt_SAME.c')
-rw-r--r-- | extensions/libipt_SAME.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/extensions/libipt_SAME.c b/extensions/libipt_SAME.c index 1a37958..7211f60 100644 --- a/extensions/libipt_SAME.c +++ b/extensions/libipt_SAME.c @@ -190,6 +190,7 @@ save(const struct ipt_ip *ip, const struct ipt_entry_target *target) int count; struct ipt_same_info *mr = (struct ipt_same_info *)target->data; + int random = 0; for (count = 0; count < mr->rangesize; count++) { struct ip_nat_range *r = &mr->range[count]; @@ -203,10 +204,15 @@ save(const struct ipt_ip *ip, const struct ipt_entry_target *target) printf(" "); else printf("-%s ", addr_to_dotted(&a)); + if (r->flags & IP_NAT_RANGE_PROTO_RANDOM) + random = 1; } if (mr->info & IPT_SAME_NODST) printf("--nodst "); + + if (random) + printf("--random "); } static struct iptables_target same = { |