Parcourir la source

Reset the encryption keys on swarm leave

Signed-off-by: Santhosh Manohar <santhosh@docker.com>
Santhosh Manohar il y a 9 ans
Parent
commit
6e965c03ad
2 fichiers modifiés avec 6 ajouts et 0 suppressions
  1. 3 0
      libnetwork/agent.go
  2. 3 0
      libnetwork/controller.go

+ 3 - 0
libnetwork/agent.go

@@ -328,7 +328,10 @@ func (c *controller) agentClose() {
 	c.agent.epTblCancel()
 	c.agent.epTblCancel()
 
 
 	c.agent.networkDB.Close()
 	c.agent.networkDB.Close()
+
+	c.Lock()
 	c.agent = nil
 	c.agent = nil
+	c.Unlock()
 }
 }
 
 
 func (n *network) isClusterEligible() bool {
 func (n *network) isClusterEligible() bool {

+ 3 - 0
libnetwork/controller.go

@@ -307,13 +307,16 @@ func (c *controller) clusterAgentInit() {
 			c.Lock()
 			c.Lock()
 			c.clusterConfigAvailable = false
 			c.clusterConfigAvailable = false
 			c.agentInitDone = make(chan struct{})
 			c.agentInitDone = make(chan struct{})
+			c.keys = nil
 			c.Unlock()
 			c.Unlock()
 
 
 			if err := c.ingressSandbox.Delete(); err != nil {
 			if err := c.ingressSandbox.Delete(); err != nil {
 				log.Warnf("Could not delete ingress sandbox while leaving: %v", err)
 				log.Warnf("Could not delete ingress sandbox while leaving: %v", err)
 			}
 			}
 
 
+			c.Lock()
 			c.ingressSandbox = nil
 			c.ingressSandbox = nil
+			c.Unlock()
 
 
 			n, err := c.NetworkByName("ingress")
 			n, err := c.NetworkByName("ingress")
 			if err != nil {
 			if err != nil {