feat(server): activate projected authentication safely
This commit is contained in:
@@ -225,6 +225,24 @@ func TestEnsureFilesIncludesServerStorageLocations(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestEnsureFilesProjectedServerRefusesBeforeAnyWriteWhenNotRoot(t *testing.T) {
|
||||
root := newProject(t, "projected server non-root")
|
||||
setNonInteractiveAnswers(t, newExternalSecrets(t, root))
|
||||
previous := effectiveUID
|
||||
effectiveUID = func() int { return 1000 }
|
||||
t.Cleanup(func() { effectiveUID = previous })
|
||||
|
||||
_, err := EnsureFiles(Request{
|
||||
ProjectRoot: root, InstallationID: "server", Profile: "server", NonInteractive: true,
|
||||
}, strings.NewReader(""), ioDiscard{})
|
||||
if err == nil || !strings.Contains(err.Error(), "root") {
|
||||
t.Fatalf("EnsureFiles() error = %v, want root refusal", err)
|
||||
}
|
||||
if _, statErr := os.Lstat(filepath.Join(root, "deploy", "server")); !errors.Is(statErr, os.ErrNotExist) {
|
||||
t.Fatalf("projected server path was created before root refusal: %v", statErr)
|
||||
}
|
||||
}
|
||||
|
||||
func TestEnsureFilesRejectsUnsafeServiceEndpointsBeforeWritingConfiguration(t *testing.T) {
|
||||
for _, test := range []struct {
|
||||
name, environment, value string
|
||||
|
||||
Reference in New Issue
Block a user