mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05:00
Merge pull request #24389 from Microsoft/jjh/silentsecurity
Windows: No security warning on quiet
This commit is contained in:
commit
db435560b3
2 changed files with 11 additions and 29 deletions
|
@ -289,7 +289,7 @@ func runBuild(dockerCli *client.DockerCli, options buildOptions) error {
|
|||
|
||||
// Windows: show error message about modified file permissions if the
|
||||
// daemon isn't running Windows.
|
||||
if response.OSType != "windows" && runtime.GOOS == "windows" {
|
||||
if response.OSType != "windows" && runtime.GOOS == "windows" && !options.quiet {
|
||||
fmt.Fprintln(dockerCli.Err(), `SECURITY WARNING: You are building a Docker image from Windows against a non-Windows Docker host. All files and directories added to build context will have '-rwxr-xr-x' permissions. It is recommended to double check and reset permissions for sensitive files and directories.`)
|
||||
}
|
||||
|
||||
|
|
|
@ -4599,26 +4599,9 @@ func (s *DockerSuite) TestBuildNotVerboseSuccess(c *check.C) {
|
|||
if outRegexp.Find([]byte(stdout)) == nil {
|
||||
c.Fatalf("Test %s expected stdout to match the [%v] regexp, but it is [%v]", te.Name, outRegexp, stdout)
|
||||
}
|
||||
if runtime.GOOS == "windows" {
|
||||
// stderr contains a security warning on Windows if the daemon isn't Windows
|
||||
lines := strings.Split(stderr, "\n")
|
||||
warningCount := 0
|
||||
for _, v := range lines {
|
||||
warningText := "SECURITY WARNING: You are building a Docker image from Windows against a non-Windows Docker host."
|
||||
if strings.Contains(v, warningText) {
|
||||
warningCount++
|
||||
}
|
||||
if v != "" && !strings.Contains(v, warningText) {
|
||||
c.Fatalf("Stderr contains unexpected output line: %q", v)
|
||||
}
|
||||
}
|
||||
if warningCount != 1 && daemonPlatform != "windows" {
|
||||
c.Fatalf("Test %s didn't get security warning running from Windows to non-Windows", te.Name)
|
||||
}
|
||||
} else {
|
||||
if stderr != "" {
|
||||
c.Fatalf("Test %s expected stderr to be empty, but it is [%#v]", te.Name, stderr)
|
||||
}
|
||||
|
||||
if stderr != "" {
|
||||
c.Fatalf("Test %s expected stderr to be empty, but it is [%#v]", te.Name, stderr)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -4691,17 +4674,16 @@ func (s *DockerSuite) TestBuildStderr(c *check.C) {
|
|||
c.Fatal(err)
|
||||
}
|
||||
|
||||
if runtime.GOOS == "windows" {
|
||||
// stderr might contain a security warning on windows
|
||||
lines := strings.Split(stderr, "\n")
|
||||
for _, v := range lines {
|
||||
if v != "" && !strings.Contains(v, "SECURITY WARNING:") {
|
||||
c.Fatalf("Stderr contains unexpected output line: %q", v)
|
||||
}
|
||||
if runtime.GOOS == "windows" &&
|
||||
daemonPlatform != "windows" {
|
||||
// Windows to non-Windows should have a security warning
|
||||
if !strings.Contains(stderr, "SECURITY WARNING:") {
|
||||
c.Fatalf("Stderr contains unexpected output: %q", stderr)
|
||||
}
|
||||
} else {
|
||||
// Other platform combinations should have no stderr written too
|
||||
if stderr != "" {
|
||||
c.Fatalf("Stderr should have been empty, instead its: %q", stderr)
|
||||
c.Fatalf("Stderr should have been empty, instead it's: %q", stderr)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue