mirror of https://github.com/containers/podman.git
				
				
				
			Bump github.com/containernetworking/plugins to v0.9.1
Signed-off-by: TomSweeneyRedHat <tsweeney@redhat.com>
This commit is contained in:
		
							parent
							
								
									2a7815726c
								
							
						
					
					
						commit
						803e58b363
					
				
							
								
								
									
										2
									
								
								go.mod
								
								
								
								
							
							
						
						
									
										2
									
								
								go.mod
								
								
								
								
							|  | @ -10,7 +10,7 @@ require ( | |||
| 	github.com/checkpoint-restore/go-criu v0.0.0-20190109184317-bdb7599cd87b | ||||
| 	github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd // indirect | ||||
| 	github.com/containernetworking/cni v0.8.1 | ||||
| 	github.com/containernetworking/plugins v0.9.0 | ||||
| 	github.com/containernetworking/plugins v0.9.1 | ||||
| 	github.com/containers/buildah v1.19.7 | ||||
| 	github.com/containers/common v0.35.0 | ||||
| 	github.com/containers/conmon v2.0.20+incompatible | ||||
|  |  | |||
							
								
								
									
										6
									
								
								go.sum
								
								
								
								
							
							
						
						
									
										6
									
								
								go.sum
								
								
								
								
							|  | @ -95,8 +95,8 @@ github.com/containernetworking/cni v0.8.0/go.mod h1:LGwApLUm2FpoOfxTDEeq8T9ipbpZ | |||
| github.com/containernetworking/cni v0.8.1 h1:7zpDnQ3T3s4ucOuJ/ZCLrYBxzkg0AELFfII3Epo9TmI= | ||||
| github.com/containernetworking/cni v0.8.1/go.mod h1:LGwApLUm2FpoOfxTDEeq8T9ipbpZ61X79hmU3w8FmsY= | ||||
| github.com/containernetworking/plugins v0.8.7/go.mod h1:R7lXeZaBzpfqapcAbHRW8/CYwm0dHzbz0XEjofx0uB0= | ||||
| github.com/containernetworking/plugins v0.9.0 h1:c+1gegKhR7+d0Caum9pEHugZlyhXPOG6v3V6xJgIGCI= | ||||
| github.com/containernetworking/plugins v0.9.0/go.mod h1:dbWv4dI0QrBGuVgj+TuVQ6wJRZVOhrCQj91YyC92sxg= | ||||
| github.com/containernetworking/plugins v0.9.1 h1:FD1tADPls2EEi3flPc2OegIY1M9pUa9r2Quag7HMLV8= | ||||
| github.com/containernetworking/plugins v0.9.1/go.mod h1:xP/idU2ldlzN6m4p5LmGiwRDjeJr6FLK6vuiUwoH7P8= | ||||
| github.com/containers/buildah v1.19.7 h1:/g11GlhTo177xFex+5GHlF22hq01SyWaJuSA26UGFNU= | ||||
| github.com/containers/buildah v1.19.7/go.mod h1:VnyHWgNmfR1d89/zJ/F4cbwOzaQS+6sBky46W7dCo3E= | ||||
| github.com/containers/common v0.33.4/go.mod h1:PhgL71XuC4jJ/1BIqeP7doke3aMFkCP90YBXwDeUr9g= | ||||
|  | @ -124,6 +124,8 @@ github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkE | |||
| github.com/coreos/etcd v3.3.13+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= | ||||
| github.com/coreos/go-iptables v0.4.5 h1:DpHb9vJrZQEFMcVLFKAAGMUVX0XoRC0ptCthinRYm38= | ||||
| github.com/coreos/go-iptables v0.4.5/go.mod h1:/mVI274lEDI2ns62jHCDnCyBF9Iwsmekav8Dbxlm1MU= | ||||
| github.com/coreos/go-iptables v0.5.0 h1:mw6SAibtHKZcNzAsOxjoHIG0gy5YFHhypWSSNc6EjbQ= | ||||
| github.com/coreos/go-iptables v0.5.0/go.mod h1:/mVI274lEDI2ns62jHCDnCyBF9Iwsmekav8Dbxlm1MU= | ||||
| github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= | ||||
| github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= | ||||
| github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e h1:Wf6HqHfScWJN9/ZjdUKyjop4mf3Qdd+1TvvltAvM3m8= | ||||
|  |  | |||
|  | @ -31,7 +31,6 @@ type Error struct { | |||
| 	exec.ExitError | ||||
| 	cmd        exec.Cmd | ||||
| 	msg        string | ||||
| 	proto      Protocol | ||||
| 	exitStatus *int //for overriding
 | ||||
| } | ||||
| 
 | ||||
|  | @ -51,9 +50,8 @@ func (e *Error) IsNotExist() bool { | |||
| 	if e.ExitStatus() != 1 { | ||||
| 		return false | ||||
| 	} | ||||
| 	cmdIptables := getIptablesCommand(e.proto) | ||||
| 	msgNoRuleExist := fmt.Sprintf("%s: Bad rule (does a matching rule exist in that chain?).\n", cmdIptables) | ||||
| 	msgNoChainExist := fmt.Sprintf("%s: No chain/target/match by that name.\n", cmdIptables) | ||||
| 	msgNoRuleExist := "Bad rule (does a matching rule exist in that chain?).\n" | ||||
| 	msgNoChainExist := "No chain/target/match by that name.\n" | ||||
| 	return strings.Contains(e.msg, msgNoRuleExist) || strings.Contains(e.msg, msgNoChainExist) | ||||
| } | ||||
| 
 | ||||
|  | @ -75,6 +73,7 @@ type IPTables struct { | |||
| 	v2             int | ||||
| 	v3             int | ||||
| 	mode           string // the underlying iptables operating mode, e.g. nf_tables
 | ||||
| 	timeout        int    // time to wait for the iptables lock, default waits forever
 | ||||
| } | ||||
| 
 | ||||
| // Stat represents a structured statistic entry.
 | ||||
|  | @ -91,19 +90,42 @@ type Stat struct { | |||
| 	Options     string     `json:"options"` | ||||
| } | ||||
| 
 | ||||
| // New creates a new IPTables.
 | ||||
| // For backwards compatibility, this always uses IPv4, i.e. "iptables".
 | ||||
| func New() (*IPTables, error) { | ||||
| 	return NewWithProtocol(ProtocolIPv4) | ||||
| type option func(*IPTables) | ||||
| 
 | ||||
| func IPFamily(proto Protocol) option { | ||||
| 	return func(ipt *IPTables) { | ||||
| 		ipt.proto = proto | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| // New creates a new IPTables for the given proto.
 | ||||
| // The proto will determine which command is used, either "iptables" or "ip6tables".
 | ||||
| func NewWithProtocol(proto Protocol) (*IPTables, error) { | ||||
| 	path, err := exec.LookPath(getIptablesCommand(proto)) | ||||
| func Timeout(timeout int) option { | ||||
| 	return func(ipt *IPTables) { | ||||
| 		ipt.timeout = timeout | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| // New creates a new IPTables configured with the options passed as parameter.
 | ||||
| // For backwards compatibility, by default always uses IPv4 and timeout 0.
 | ||||
| // i.e. you can create an IPv6 IPTables using a timeout of 5 seconds passing
 | ||||
| // the IPFamily and Timeout options as follow:
 | ||||
| //	ip6t := New(IPFamily(ProtocolIPv6), Timeout(5))
 | ||||
| func New(opts ...option) (*IPTables, error) { | ||||
| 
 | ||||
| 	ipt := &IPTables{ | ||||
| 		proto:   ProtocolIPv4, | ||||
| 		timeout: 0, | ||||
| 	} | ||||
| 
 | ||||
| 	for _, opt := range opts { | ||||
| 		opt(ipt) | ||||
| 	} | ||||
| 
 | ||||
| 	path, err := exec.LookPath(getIptablesCommand(ipt.proto)) | ||||
| 	if err != nil { | ||||
| 		return nil, err | ||||
| 	} | ||||
| 	ipt.path = path | ||||
| 
 | ||||
| 	vstring, err := getIptablesVersionString(path) | ||||
| 	if err != nil { | ||||
| 		return nil, fmt.Errorf("could not get iptables version: %v", err) | ||||
|  | @ -112,21 +134,23 @@ func NewWithProtocol(proto Protocol) (*IPTables, error) { | |||
| 	if err != nil { | ||||
| 		return nil, fmt.Errorf("failed to extract iptables version from [%s]: %v", vstring, err) | ||||
| 	} | ||||
| 	ipt.v1 = v1 | ||||
| 	ipt.v2 = v2 | ||||
| 	ipt.v3 = v3 | ||||
| 	ipt.mode = mode | ||||
| 
 | ||||
| 	checkPresent, waitPresent, randomFullyPresent := getIptablesCommandSupport(v1, v2, v3) | ||||
| 	ipt.hasCheck = checkPresent | ||||
| 	ipt.hasWait = waitPresent | ||||
| 	ipt.hasRandomFully = randomFullyPresent | ||||
| 
 | ||||
| 	ipt := IPTables{ | ||||
| 		path:           path, | ||||
| 		proto:          proto, | ||||
| 		hasCheck:       checkPresent, | ||||
| 		hasWait:        waitPresent, | ||||
| 		hasRandomFully: randomFullyPresent, | ||||
| 		v1:             v1, | ||||
| 		v2:             v2, | ||||
| 		v3:             v3, | ||||
| 		mode:           mode, | ||||
| 	} | ||||
| 	return &ipt, nil | ||||
| 	return ipt, nil | ||||
| } | ||||
| 
 | ||||
| // New creates a new IPTables for the given proto.
 | ||||
| // The proto will determine which command is used, either "iptables" or "ip6tables".
 | ||||
| func NewWithProtocol(proto Protocol) (*IPTables, error) { | ||||
| 	return New(IPFamily(proto), Timeout(0)) | ||||
| } | ||||
| 
 | ||||
| // Proto returns the protocol used by this IPTables.
 | ||||
|  | @ -185,6 +209,14 @@ func (ipt *IPTables) Delete(table, chain string, rulespec ...string) error { | |||
| 	return ipt.run(cmd...) | ||||
| } | ||||
| 
 | ||||
| func (ipt *IPTables) DeleteIfExists(table, chain string, rulespec ...string) error { | ||||
| 	exists, err := ipt.Exists(table, chain, rulespec...) | ||||
| 	if err == nil && exists { | ||||
| 		err = ipt.Delete(table, chain, rulespec...) | ||||
| 	} | ||||
| 	return err | ||||
| } | ||||
| 
 | ||||
| // List rules in specified table/chain
 | ||||
| func (ipt *IPTables) List(table, chain string) ([]string, error) { | ||||
| 	args := []string{"-t", table, "-S", chain} | ||||
|  | @ -222,6 +254,21 @@ func (ipt *IPTables) ListChains(table string) ([]string, error) { | |||
| 	return chains, nil | ||||
| } | ||||
| 
 | ||||
| // '-S' is fine with non existing rule index as long as the chain exists
 | ||||
| // therefore pass index 1 to reduce overhead for large chains
 | ||||
| func (ipt *IPTables) ChainExists(table, chain string) (bool, error) { | ||||
| 	err := ipt.run("-t", table, "-S", chain, "1") | ||||
| 	eerr, eok := err.(*Error) | ||||
| 	switch { | ||||
| 	case err == nil: | ||||
| 		return true, nil | ||||
| 	case eok && eerr.ExitStatus() == 1: | ||||
| 		return false, nil | ||||
| 	default: | ||||
| 		return false, err | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| // Stats lists rules including the byte and packet counts
 | ||||
| func (ipt *IPTables) Stats(table, chain string) ([][]string, error) { | ||||
| 	args := []string{"-t", table, "-L", chain, "-n", "-v", "-x"} | ||||
|  | @ -401,6 +448,18 @@ func (ipt *IPTables) DeleteChain(table, chain string) error { | |||
| 	return ipt.run("-t", table, "-X", chain) | ||||
| } | ||||
| 
 | ||||
| func (ipt *IPTables) ClearAndDeleteChain(table, chain string) error { | ||||
| 	exists, err := ipt.ChainExists(table, chain) | ||||
| 	if err != nil || !exists { | ||||
| 		return err | ||||
| 	} | ||||
| 	err = ipt.run("-t", table, "-F", chain) | ||||
| 	if err == nil { | ||||
| 		err = ipt.run("-t", table, "-X", chain) | ||||
| 	} | ||||
| 	return err | ||||
| } | ||||
| 
 | ||||
| // ChangePolicy changes policy on chain to target
 | ||||
| func (ipt *IPTables) ChangePolicy(table, chain, target string) error { | ||||
| 	return ipt.run("-t", table, "-P", chain, target) | ||||
|  | @ -428,6 +487,9 @@ func (ipt *IPTables) runWithOutput(args []string, stdout io.Writer) error { | |||
| 	args = append([]string{ipt.path}, args...) | ||||
| 	if ipt.hasWait { | ||||
| 		args = append(args, "--wait") | ||||
| 		if ipt.timeout != 0 { | ||||
| 			args = append(args, strconv.Itoa(ipt.timeout)) | ||||
| 		} | ||||
| 	} else { | ||||
| 		fmu, err := newXtablesFileLock() | ||||
| 		if err != nil { | ||||
|  | @ -452,7 +514,7 @@ func (ipt *IPTables) runWithOutput(args []string, stdout io.Writer) error { | |||
| 	if err := cmd.Run(); err != nil { | ||||
| 		switch e := err.(type) { | ||||
| 		case *exec.ExitError: | ||||
| 			return &Error{*e, cmd, stderr.String(), ipt.proto, nil} | ||||
| 			return &Error{*e, cmd, stderr.String(), nil} | ||||
| 		default: | ||||
| 			return err | ||||
| 		} | ||||
|  |  | |||
|  | @ -65,7 +65,7 @@ github.com/containernetworking/cni/pkg/types/020 | |||
| github.com/containernetworking/cni/pkg/types/current | ||||
| github.com/containernetworking/cni/pkg/utils | ||||
| github.com/containernetworking/cni/pkg/version | ||||
| # github.com/containernetworking/plugins v0.9.0 | ||||
| # github.com/containernetworking/plugins v0.9.1 | ||||
| github.com/containernetworking/plugins/pkg/ip | ||||
| github.com/containernetworking/plugins/pkg/ns | ||||
| github.com/containernetworking/plugins/pkg/utils/hwaddr | ||||
|  | @ -226,7 +226,7 @@ github.com/containers/storage/pkg/system | |||
| github.com/containers/storage/pkg/tarlog | ||||
| github.com/containers/storage/pkg/truncindex | ||||
| github.com/containers/storage/pkg/unshare | ||||
| # github.com/coreos/go-iptables v0.4.5 | ||||
| # github.com/coreos/go-iptables v0.5.0 | ||||
| github.com/coreos/go-iptables/iptables | ||||
| # github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e | ||||
| github.com/coreos/go-systemd/activation | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue