소스 검색

Reset the encryption keys on swarm leave

Signed-off-by: Santhosh Manohar <santhosh@docker.com>
Santhosh Manohar 9 년 전
부모
커밋
6e965c03ad
2개의 변경된 파일6개의 추가작업 그리고 0개의 파일을 삭제
  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.networkDB.Close()
+
+	c.Lock()
 	c.agent = nil
+	c.Unlock()
 }
 
 func (n *network) isClusterEligible() bool {

+ 3 - 0
libnetwork/controller.go

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