mirror of
https://github.com/jrbrtsn/ban2fail
synced 2024-06-16 11:58:01 +00:00
Fixed ipv6 problem in iptables.c
This commit is contained in:
parent
af57115d23
commit
41f9de69f1
@ -92,7 +92,7 @@ struct Global G= {
|
|||||||
.version= {
|
.version= {
|
||||||
.major= 0,
|
.major= 0,
|
||||||
.minor= 14,
|
.minor= 14,
|
||||||
.patch= 4
|
.patch= 5
|
||||||
},
|
},
|
||||||
|
|
||||||
.bitTuples.flags= GlobalFlagBitTuples
|
.bitTuples.flags= GlobalFlagBitTuples
|
||||||
|
21
iptables.c
21
iptables.c
@ -320,14 +320,12 @@ _control_addresses(const char *cmdFlag, PTRVEC *h_vec)
|
|||||||
|
|
||||||
{ // ipv6 addresses
|
{ // ipv6 addresses
|
||||||
argv[0]= IP6TABLES;
|
argv[0]= IP6TABLES;
|
||||||
// Load up ipv6 addresses in string buffer
|
// Prepare to load up ipv6 addresses in string buffer
|
||||||
STR_reset(&addr_sb);
|
STR_reset(&addr_sb);
|
||||||
|
|
||||||
unsigned naddr= 0;
|
unsigned naddr= 0;
|
||||||
|
|
||||||
do { /* Work through ipv6 addresses in the vector */
|
for(;;) { /* Work through ipv6 addresses in the vector */
|
||||||
|
|
||||||
addr= PTRVEC_remHead(h_vec);
|
|
||||||
|
|
||||||
if(addr) {
|
if(addr) {
|
||||||
/* Need comma after 1st address */
|
/* Need comma after 1st address */
|
||||||
@ -336,10 +334,16 @@ _control_addresses(const char *cmdFlag, PTRVEC *h_vec)
|
|||||||
|
|
||||||
/* Put address in place */
|
/* Put address in place */
|
||||||
STR_append(&addr_sb, addr, -1);
|
STR_append(&addr_sb, addr, -1);
|
||||||
|
|
||||||
|
/* Note that we will use this address */
|
||||||
|
++naddr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* See if there is another address */
|
||||||
|
addr= PTRVEC_remHead(h_vec);
|
||||||
|
|
||||||
/* Keep adding addresses until we bump up against iptables maximum,
|
/* Keep adding addresses until we bump up against iptables maximum,
|
||||||
* or run out of ipv4 addresses
|
* or run out of addresses
|
||||||
*/
|
*/
|
||||||
if(!naddr || (naddr < IPTABLES_MAX_ADDR && addr))
|
if(!naddr || (naddr < IPTABLES_MAX_ADDR && addr))
|
||||||
continue;
|
continue;
|
||||||
@ -351,11 +355,14 @@ _control_addresses(const char *cmdFlag, PTRVEC *h_vec)
|
|||||||
goto abort;
|
goto abort;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Bail out now if we are done with the list */
|
||||||
|
if(!addr)
|
||||||
|
break;
|
||||||
|
|
||||||
/* Reset for next command */
|
/* Reset for next command */
|
||||||
naddr= 0;
|
naddr= 0;
|
||||||
STR_reset(&addr_sb);
|
STR_reset(&addr_sb);
|
||||||
|
}
|
||||||
} while(addr);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
rtn= 0;
|
rtn= 0;
|
||||||
|
Loading…
Reference in New Issue
Block a user