Vendor update go-iptables to obtain commit f1d0510cabcb710d5c5dd284096f81444b9d8d10
Update go.mod & go.sub
This commit is contained in:
2
go.mod
2
go.mod
@ -8,7 +8,7 @@ require (
|
|||||||
github.com/alexflint/go-filemutex v0.0.0-20171022225611-72bdc8eae2ae
|
github.com/alexflint/go-filemutex v0.0.0-20171022225611-72bdc8eae2ae
|
||||||
github.com/buger/jsonparser v0.0.0-20180808090653-f4dd9f5a6b44
|
github.com/buger/jsonparser v0.0.0-20180808090653-f4dd9f5a6b44
|
||||||
github.com/containernetworking/cni v0.7.0
|
github.com/containernetworking/cni v0.7.0
|
||||||
github.com/coreos/go-iptables v0.4.1
|
github.com/coreos/go-iptables v0.4.2
|
||||||
github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7
|
github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7
|
||||||
github.com/d2g/dhcp4 v0.0.0-20170904100407-a1d1b6c41b1c
|
github.com/d2g/dhcp4 v0.0.0-20170904100407-a1d1b6c41b1c
|
||||||
github.com/d2g/dhcp4client v1.0.0
|
github.com/d2g/dhcp4client v1.0.0
|
||||||
|
10
go.sum
10
go.sum
@ -8,20 +8,14 @@ github.com/buger/jsonparser v0.0.0-20180808090653-f4dd9f5a6b44 h1:y853v6rXx+zefE
|
|||||||
github.com/buger/jsonparser v0.0.0-20180808090653-f4dd9f5a6b44/go.mod h1:bbYlZJ7hK1yFx9hf58LP0zeX7UjIGs20ufpu3evjr+s=
|
github.com/buger/jsonparser v0.0.0-20180808090653-f4dd9f5a6b44/go.mod h1:bbYlZJ7hK1yFx9hf58LP0zeX7UjIGs20ufpu3evjr+s=
|
||||||
github.com/containernetworking/cni v0.7.0 h1:1Qy7EwdC08mx5wUB0DpjCuBrk6e/uXg9yI9TvAvgox8=
|
github.com/containernetworking/cni v0.7.0 h1:1Qy7EwdC08mx5wUB0DpjCuBrk6e/uXg9yI9TvAvgox8=
|
||||||
github.com/containernetworking/cni v0.7.0/go.mod h1:LGwApLUm2FpoOfxTDEeq8T9ipbpZ61X79hmU3w8FmsY=
|
github.com/containernetworking/cni v0.7.0/go.mod h1:LGwApLUm2FpoOfxTDEeq8T9ipbpZ61X79hmU3w8FmsY=
|
||||||
github.com/coreos/go-iptables v0.3.0 h1:UTQkjHl9rPwwtXZhXbY3T932cV9aUnKlSsZ7YGfJVXM=
|
github.com/coreos/go-iptables v0.4.2 h1:KH0EwId05JwWIfb96gWvkiT2cbuOu8ygqUaB+yPAwIg=
|
||||||
github.com/coreos/go-iptables v0.3.0/go.mod h1:/mVI274lEDI2ns62jHCDnCyBF9Iwsmekav8Dbxlm1MU=
|
github.com/coreos/go-iptables v0.4.2/go.mod h1:/mVI274lEDI2ns62jHCDnCyBF9Iwsmekav8Dbxlm1MU=
|
||||||
github.com/coreos/go-iptables v0.4.1 h1:TyEMaK2xD/EcB0385QcvX/OvI2XI7s4SJEI2EhZFfEU=
|
|
||||||
github.com/coreos/go-iptables v0.4.1/go.mod h1:/mVI274lEDI2ns62jHCDnCyBF9Iwsmekav8Dbxlm1MU=
|
|
||||||
github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7 h1:u9SHYsPQNyt5tgDm3YN7+9dYrpK96E5wFilTFWIDZOM=
|
github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7 h1:u9SHYsPQNyt5tgDm3YN7+9dYrpK96E5wFilTFWIDZOM=
|
||||||
github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4=
|
github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4=
|
||||||
github.com/d2g/dhcp4 v0.0.0-20150413103026-f0e4d29ff023 h1:V8CudRUx05/Y7gMvaz8QM5i3nj1aNHTvgEX2bklfFN8=
|
|
||||||
github.com/d2g/dhcp4 v0.0.0-20150413103026-f0e4d29ff023/go.mod h1:Ct2BUK8SB0YC1SMSibvLzxjeJLnrYEVLULFNiHY9YfQ=
|
|
||||||
github.com/d2g/dhcp4 v0.0.0-20170904100407-a1d1b6c41b1c h1:Xo2rK1pzOm0jO6abTPIQwbAmqBIOj132otexc1mmzFc=
|
github.com/d2g/dhcp4 v0.0.0-20170904100407-a1d1b6c41b1c h1:Xo2rK1pzOm0jO6abTPIQwbAmqBIOj132otexc1mmzFc=
|
||||||
github.com/d2g/dhcp4 v0.0.0-20170904100407-a1d1b6c41b1c/go.mod h1:Ct2BUK8SB0YC1SMSibvLzxjeJLnrYEVLULFNiHY9YfQ=
|
github.com/d2g/dhcp4 v0.0.0-20170904100407-a1d1b6c41b1c/go.mod h1:Ct2BUK8SB0YC1SMSibvLzxjeJLnrYEVLULFNiHY9YfQ=
|
||||||
github.com/d2g/dhcp4client v1.0.0 h1:suYBsYZIkSlUMEz4TAYCczKf62IA2UWC+O8+KtdOhCo=
|
github.com/d2g/dhcp4client v1.0.0 h1:suYBsYZIkSlUMEz4TAYCczKf62IA2UWC+O8+KtdOhCo=
|
||||||
github.com/d2g/dhcp4client v1.0.0/go.mod h1:j0hNfjhrt2SxUOw55nL0ATM/z4Yt3t2Kd1mW34z5W5s=
|
github.com/d2g/dhcp4client v1.0.0/go.mod h1:j0hNfjhrt2SxUOw55nL0ATM/z4Yt3t2Kd1mW34z5W5s=
|
||||||
github.com/d2g/dhcp4server v0.0.0-20180209090800-477b11cea4dc h1:uZyv74u2GQcs7Co/gTUlhpl4UH8qftOCL4mUU+Ri7qs=
|
|
||||||
github.com/d2g/dhcp4server v0.0.0-20180209090800-477b11cea4dc/go.mod h1:Eo87+Kg/IX2hfWJfwxMzLyuSZyxSoAug2nGa1G2QAi8=
|
|
||||||
github.com/d2g/dhcp4server v0.0.0-20181031114812-7d4a0a7f59a5 h1:+CpLbZIeUn94m02LdEKPcgErLJ347NUwxPKs5u8ieiY=
|
github.com/d2g/dhcp4server v0.0.0-20181031114812-7d4a0a7f59a5 h1:+CpLbZIeUn94m02LdEKPcgErLJ347NUwxPKs5u8ieiY=
|
||||||
github.com/d2g/dhcp4server v0.0.0-20181031114812-7d4a0a7f59a5/go.mod h1:Eo87+Kg/IX2hfWJfwxMzLyuSZyxSoAug2nGa1G2QAi8=
|
github.com/d2g/dhcp4server v0.0.0-20181031114812-7d4a0a7f59a5/go.mod h1:Eo87+Kg/IX2hfWJfwxMzLyuSZyxSoAug2nGa1G2QAi8=
|
||||||
github.com/d2g/hardwareaddr v0.0.0-20190221164911-e7d9fbe030e4 h1:itqmmf1PFpC4n5JW+j4BU7X4MTfVurhYRTjODoPb2Y8=
|
github.com/d2g/hardwareaddr v0.0.0-20190221164911-e7d9fbe030e4 h1:itqmmf1PFpC4n5JW+j4BU7X4MTfVurhYRTjODoPb2Y8=
|
||||||
|
93
vendor/github.com/coreos/go-iptables/iptables/iptables.go
generated
vendored
93
vendor/github.com/coreos/go-iptables/iptables/iptables.go
generated
vendored
@ -73,6 +73,20 @@ type IPTables struct {
|
|||||||
mode string // the underlying iptables operating mode, e.g. nf_tables
|
mode string // the underlying iptables operating mode, e.g. nf_tables
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Stat represents a structured statistic entry.
|
||||||
|
type Stat struct {
|
||||||
|
Packets uint64 `json:"pkts"`
|
||||||
|
Bytes uint64 `json:"bytes"`
|
||||||
|
Target string `json:"target"`
|
||||||
|
Protocol string `json:"prot"`
|
||||||
|
Opt string `json:"opt"`
|
||||||
|
Input string `json:"in"`
|
||||||
|
Output string `json:"out"`
|
||||||
|
Source *net.IPNet `json:"source"`
|
||||||
|
Destination *net.IPNet `json:"destination"`
|
||||||
|
Options string `json:"options"`
|
||||||
|
}
|
||||||
|
|
||||||
// New creates a new IPTables.
|
// New creates a new IPTables.
|
||||||
// For backwards compatibility, this always uses IPv4, i.e. "iptables".
|
// For backwards compatibility, this always uses IPv4, i.e. "iptables".
|
||||||
func New() (*IPTables, error) {
|
func New() (*IPTables, error) {
|
||||||
@ -264,6 +278,63 @@ func (ipt *IPTables) Stats(table, chain string) ([][]string, error) {
|
|||||||
return rows, nil
|
return rows, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ParseStat parses a single statistic row into a Stat struct. The input should
|
||||||
|
// be a string slice that is returned from calling the Stat method.
|
||||||
|
func (ipt *IPTables) ParseStat(stat []string) (parsed Stat, err error) {
|
||||||
|
// For forward-compatibility, expect at least 10 fields in the stat
|
||||||
|
if len(stat) < 10 {
|
||||||
|
return parsed, fmt.Errorf("stat contained fewer fields than expected")
|
||||||
|
}
|
||||||
|
|
||||||
|
// Convert the fields that are not plain strings
|
||||||
|
parsed.Packets, err = strconv.ParseUint(stat[0], 0, 64)
|
||||||
|
if err != nil {
|
||||||
|
return parsed, fmt.Errorf(err.Error(), "could not parse packets")
|
||||||
|
}
|
||||||
|
parsed.Bytes, err = strconv.ParseUint(stat[1], 0, 64)
|
||||||
|
if err != nil {
|
||||||
|
return parsed, fmt.Errorf(err.Error(), "could not parse bytes")
|
||||||
|
}
|
||||||
|
_, parsed.Source, err = net.ParseCIDR(stat[7])
|
||||||
|
if err != nil {
|
||||||
|
return parsed, fmt.Errorf(err.Error(), "could not parse source")
|
||||||
|
}
|
||||||
|
_, parsed.Destination, err = net.ParseCIDR(stat[8])
|
||||||
|
if err != nil {
|
||||||
|
return parsed, fmt.Errorf(err.Error(), "could not parse destination")
|
||||||
|
}
|
||||||
|
|
||||||
|
// Put the fields that are strings
|
||||||
|
parsed.Target = stat[2]
|
||||||
|
parsed.Protocol = stat[3]
|
||||||
|
parsed.Opt = stat[4]
|
||||||
|
parsed.Input = stat[5]
|
||||||
|
parsed.Output = stat[6]
|
||||||
|
parsed.Options = stat[9]
|
||||||
|
|
||||||
|
return parsed, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// StructuredStats returns statistics as structured data which may be further
|
||||||
|
// parsed and marshaled.
|
||||||
|
func (ipt *IPTables) StructuredStats(table, chain string) ([]Stat, error) {
|
||||||
|
rawStats, err := ipt.Stats(table, chain)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
structStats := []Stat{}
|
||||||
|
for _, rawStat := range rawStats {
|
||||||
|
stat, err := ipt.ParseStat(rawStat)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
structStats = append(structStats, stat)
|
||||||
|
}
|
||||||
|
|
||||||
|
return structStats, nil
|
||||||
|
}
|
||||||
|
|
||||||
func (ipt *IPTables) executeList(args []string) ([]string, error) {
|
func (ipt *IPTables) executeList(args []string) ([]string, error) {
|
||||||
var stdout bytes.Buffer
|
var stdout bytes.Buffer
|
||||||
if err := ipt.runWithOutput(args, &stdout); err != nil {
|
if err := ipt.runWithOutput(args, &stdout); err != nil {
|
||||||
@ -277,18 +348,6 @@ func (ipt *IPTables) executeList(args []string) ([]string, error) {
|
|||||||
rules = rules[:len(rules)-1]
|
rules = rules[:len(rules)-1]
|
||||||
}
|
}
|
||||||
|
|
||||||
// nftables mode doesn't return an error code when listing a non-existent
|
|
||||||
// chain. Patch that up.
|
|
||||||
if len(rules) == 0 && ipt.mode == "nf_tables" {
|
|
||||||
v := 1
|
|
||||||
return nil, &Error{
|
|
||||||
cmd: exec.Cmd{Args: args},
|
|
||||||
msg: fmt.Sprintf("%s: No chain/target/match by that name.\n", getIptablesCommand(ipt.proto)),
|
|
||||||
proto: ipt.proto,
|
|
||||||
exitStatus: &v,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
for i, rule := range rules {
|
for i, rule := range rules {
|
||||||
rules[i] = filterRuleOutput(rule)
|
rules[i] = filterRuleOutput(rule)
|
||||||
}
|
}
|
||||||
@ -302,18 +361,13 @@ func (ipt *IPTables) NewChain(table, chain string) error {
|
|||||||
return ipt.run("-t", table, "-N", chain)
|
return ipt.run("-t", table, "-N", chain)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const existsErr = 1
|
||||||
|
|
||||||
// ClearChain flushed (deletes all rules) in the specified table/chain.
|
// ClearChain flushed (deletes all rules) in the specified table/chain.
|
||||||
// If the chain does not exist, a new one will be created
|
// If the chain does not exist, a new one will be created
|
||||||
func (ipt *IPTables) ClearChain(table, chain string) error {
|
func (ipt *IPTables) ClearChain(table, chain string) error {
|
||||||
err := ipt.NewChain(table, chain)
|
err := ipt.NewChain(table, chain)
|
||||||
|
|
||||||
// the exit code for "this table already exists" is different for
|
|
||||||
// different iptables modes
|
|
||||||
existsErr := 1
|
|
||||||
if ipt.mode == "nf_tables" {
|
|
||||||
existsErr = 4
|
|
||||||
}
|
|
||||||
|
|
||||||
eerr, eok := err.(*Error)
|
eerr, eok := err.(*Error)
|
||||||
switch {
|
switch {
|
||||||
case err == nil:
|
case err == nil:
|
||||||
@ -371,6 +425,7 @@ func (ipt *IPTables) runWithOutput(args []string, stdout io.Writer) error {
|
|||||||
}
|
}
|
||||||
ul, err := fmu.tryLock()
|
ul, err := fmu.tryLock()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
syscall.Close(fmu.fd)
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
defer ul.Unlock()
|
defer ul.Unlock()
|
||||||
|
2
vendor/modules.txt
vendored
2
vendor/modules.txt
vendored
@ -32,7 +32,7 @@ github.com/containernetworking/cni/pkg/skel
|
|||||||
github.com/containernetworking/cni/pkg/version
|
github.com/containernetworking/cni/pkg/version
|
||||||
github.com/containernetworking/cni/pkg/types/020
|
github.com/containernetworking/cni/pkg/types/020
|
||||||
github.com/containernetworking/cni/libcni
|
github.com/containernetworking/cni/libcni
|
||||||
# github.com/coreos/go-iptables v0.4.1
|
# github.com/coreos/go-iptables v0.4.2
|
||||||
github.com/coreos/go-iptables/iptables
|
github.com/coreos/go-iptables/iptables
|
||||||
# github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7
|
# github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7
|
||||||
github.com/coreos/go-systemd/activation
|
github.com/coreos/go-systemd/activation
|
||||||
|
Reference in New Issue
Block a user