mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05:00
Ignore the OldHash if the resolvConfPath is invalid
If resolvConfPath is unavailable and if the internally generated .hash file is still present, then updateDNS should not consider the presence of internally generated .hash. Rather, it must handle it as a case of using this resolvConfPath for the first time. Signed-off-by: Madhu Venugopal <madhu@docker.com>
This commit is contained in:
parent
8d4460a208
commit
e2fea0f945
2 changed files with 12 additions and 8 deletions
|
@ -526,8 +526,16 @@ func (ep *endpoint) updateDNS(resolvConf []byte) error {
|
|||
return ErrNoContainer
|
||||
}
|
||||
|
||||
oldHash := []byte{}
|
||||
hashFile := container.config.resolvConfPath + ".hash"
|
||||
oldHash, err := ioutil.ReadFile(hashFile)
|
||||
|
||||
resolvBytes, err := ioutil.ReadFile(container.config.resolvConfPath)
|
||||
if err != nil {
|
||||
if !os.IsNotExist(err) {
|
||||
return err
|
||||
}
|
||||
} else {
|
||||
oldHash, err = ioutil.ReadFile(hashFile)
|
||||
if err != nil {
|
||||
if !os.IsNotExist(err) {
|
||||
return err
|
||||
|
@ -535,12 +543,6 @@ func (ep *endpoint) updateDNS(resolvConf []byte) error {
|
|||
|
||||
oldHash = []byte{}
|
||||
}
|
||||
|
||||
resolvBytes, err := ioutil.ReadFile(container.config.resolvConfPath)
|
||||
if err != nil {
|
||||
if !os.IsNotExist(err) {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
curHash, err := ioutils.HashData(bytes.NewReader(resolvBytes))
|
||||
|
|
|
@ -995,6 +995,7 @@ func TestEnableIPv6(t *testing.T) {
|
|||
}
|
||||
|
||||
resolvConfPath := "/tmp/libnetwork_test/resolv.conf"
|
||||
defer os.Remove(resolvConfPath)
|
||||
|
||||
_, err = ep1.Join(containerID,
|
||||
libnetwork.JoinOptionResolvConfPath(resolvConfPath))
|
||||
|
@ -1061,6 +1062,7 @@ func TestResolvConf(t *testing.T) {
|
|||
}
|
||||
|
||||
resolvConfPath := "/tmp/libnetwork_test/resolv.conf"
|
||||
defer os.Remove(resolvConfPath)
|
||||
|
||||
_, err = ep1.Join(containerID,
|
||||
libnetwork.JoinOptionResolvConfPath(resolvConfPath))
|
||||
|
|
Loading…
Reference in a new issue