1
0
Fork 0
mirror of https://github.com/moby/moby.git synced 2022-11-09 12:21:53 -05:00
Signed-off-by: Madhu Venugopal <madhu@docker.com>
This commit is contained in:
Madhu Venugopal 2015-05-19 15:28:48 -07:00
parent f38ad0c939
commit 56375f3687

View file

@ -5,7 +5,6 @@ import (
"fmt" "fmt"
"net" "net"
"os/exec" "os/exec"
"regexp"
"strconv" "strconv"
"strings" "strings"
"sync" "sync"
@ -282,14 +281,7 @@ func Exists(table Table, chain string, rule ...string) bool {
ruleString := strings.Join(rule, " ") ruleString := strings.Join(rule, " ")
existingRules, _ := exec.Command(iptablesPath, "-t", string(table), "-S", chain).Output() existingRules, _ := exec.Command(iptablesPath, "-t", string(table), "-S", chain).Output()
// regex to replace ips in rule return strings.Contains(string(existingRules), ruleString)
// because MASQUERADE rule will not be exactly what was passed
re := regexp.MustCompile(`[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\/[0-9]{1,2}`)
return strings.Contains(
re.ReplaceAllString(string(existingRules), "?"),
re.ReplaceAllString(ruleString, "?"),
)
} }
// Raw calls 'iptables' system command, passing supplied arguments. // Raw calls 'iptables' system command, passing supplied arguments.