this repo has no description
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

all: rely on umask when creating files and directories

That is, create directories with permission bits 0o777
and files with permission bits 0o666, and let the user's umask setting
decide whether groups and other users should also have access.

This is pretty common in Go, and works as best as can be expected
on all platforms including Windows.

We fix all code except the copied golangorgx gopls code.

Signed-off-by: Daniel Martí <mvdan@mvdan.cc>
Change-Id: I306613b35caab7d8ac8db2ec05a856802b1eb08b
Reviewed-on: https://review.gerrithub.io/c/cue-lang/cue/+/1200569
TryBot-Result: CUEcueckoo <cueckoo@cuelang.org>
Unity-Result: CUE porcuepine <cue.porcuepine@gmail.com>
Reviewed-by: Matthew Sackman <matthew@cue.works>

+24 -24
+2 -2
cmd/cue/cmd/add.go
··· 202 202 if len(fo.contents) == 0 { 203 203 return os.Remove(fo.filename) 204 204 } 205 - return os.WriteFile(fo.filename, fo.contents, 0644) 205 + return os.WriteFile(fo.filename, fo.contents, 0666) 206 206 } 207 207 208 208 type fileInfo struct { ··· 287 287 return originalFile{}, err 288 288 } 289 289 290 - if err = os.WriteFile(fi.filename, b, 0644); err != nil { 290 + if err = os.WriteFile(fi.filename, b, 0666); err != nil { 291 291 // Just in case, attempt to restore original file. 292 292 _ = fo.restore() 293 293 return originalFile{}, err
+1 -1
cmd/cue/cmd/fix.go
··· 104 104 return err 105 105 } 106 106 } else { 107 - if err := os.WriteFile(f.Filename, b, 0644); err != nil { 107 + if err := os.WriteFile(f.Filename, b, 0666); err != nil { 108 108 errs = errors.Append(errs, errors.Promote(err, "write")) 109 109 } 110 110 }
+1 -1
cmd/cue/cmd/fmt.go
··· 223 223 case file.Filename == "-": 224 224 // already wrote the formatted source to stdout above 225 225 default: 226 - if err := os.WriteFile(file.Filename, formatted, 0644); err != nil { 226 + if err := os.WriteFile(file.Filename, formatted, 0666); err != nil { 227 227 return false, err 228 228 } 229 229 }
+2 -2
cmd/cue/cmd/import.go
··· 496 496 _, err := p.cmd.OutOrStdout().Write(b) 497 497 return err 498 498 } 499 - _ = os.MkdirAll(filepath.Dir(cueFile), 0755) 500 - return os.WriteFile(cueFile, b, 0644) 499 + _ = os.MkdirAll(filepath.Dir(cueFile), 0777) 500 + return os.WriteFile(cueFile, b, 0666) 501 501 } 502 502 503 503 type hoister struct {
+3 -3
cmd/cue/cmd/modinit.go
··· 84 84 return err 85 85 } 86 86 87 - err = os.Mkdir(mod, 0755) 87 + err = os.Mkdir(mod, 0777) 88 88 if err != nil && !os.IsExist(err) { 89 89 return err 90 90 } ··· 97 97 return err 98 98 } 99 99 100 - if err = os.Mkdir(filepath.Join(mod, "usr"), 0755); err != nil { 100 + if err = os.Mkdir(filepath.Join(mod, "usr"), 0777); err != nil { 101 101 return err 102 102 } 103 - if err = os.Mkdir(filepath.Join(mod, "pkg"), 0755); err != nil { 103 + if err = os.Mkdir(filepath.Join(mod, "pkg"), 0777); err != nil { 104 104 return err 105 105 } 106 106
+1 -1
cmd/cue/cmd/trim.go
··· 181 181 filename = dst 182 182 } 183 183 184 - err = os.WriteFile(filename, b, 0644) 184 + err = os.WriteFile(filename, b, 0666) 185 185 if err != nil { 186 186 return err 187 187 }
+1 -1
cue/interpreter/wasm/wasm_test.go
··· 117 117 golden := filepath.Join("testdata", dir) + ".golden" 118 118 119 119 if cuetest.UpdateGoldenFiles { 120 - os.WriteFile(golden, []byte(got), 0644) 120 + os.WriteFile(golden, []byte(got), 0666) 121 121 } 122 122 123 123 want := string(must(os.ReadFile(golden))(t))
+1 -1
cue/load/loader_test.go
··· 731 731 732 732 x: 1 733 733 `, string(c)) 734 - err := os.WriteFile(filepath.Join(testDir, string(c)+".cue"), []byte(contents), 0o644) 734 + err := os.WriteFile(filepath.Join(testDir, string(c)+".cue"), []byte(contents), 0o666) 735 735 qt.Assert(t, qt.IsNil(err)) 736 736 } 737 737
+2 -2
cue/testdata/gen.go
··· 259 259 260 260 e.a.Comment = e.header.Bytes() 261 261 262 - _ = os.Mkdir(e.dir, 0755) 262 + _ = os.Mkdir(e.dir, 0777) 263 263 264 264 name := fmt.Sprintf("%03d", e.count) 265 265 if e.name != "" { ··· 268 268 name = strings.ReplaceAll(name, " ", "_") 269 269 name = strings.ReplaceAll(name, ":", "_") 270 270 filename := filepath.Join(e.dir, name+".txtar") 271 - err := os.WriteFile(filename, txtar.Format(e.a), 0644) 271 + err := os.WriteFile(filename, txtar.Format(e.a), 0666) 272 272 if err != nil { 273 273 e.fatalf("Could not write file: %v", err) 274 274 }
+1 -1
encoding/gocode/testdata/gen.go
··· 58 58 } 59 59 60 60 goFile := filepath.Join("testdata", d.Name(), "cue_gen.go") 61 - if err := os.WriteFile(goFile, b, 0644); err != nil { 61 + if err := os.WriteFile(goFile, b, 0666); err != nil { 62 62 log.Fatal(err) 63 63 } 64 64 }
+1 -1
encoding/openapi/decode_test.go
··· 110 110 if cuetest.UpdateGoldenFiles { 111 111 a.Files[outIndex].Data = b 112 112 b = txtar.Format(a) 113 - err = os.WriteFile(fullpath, b, 0644) 113 + err = os.WriteFile(fullpath, b, 0666) 114 114 if err != nil { 115 115 t.Fatal(err) 116 116 }
+1 -1
encoding/openapi/openapi_test.go
··· 251 251 252 252 wantFile := filepath.Join("testdata", tc.out) 253 253 if cuetest.UpdateGoldenFiles { 254 - _ = os.WriteFile(wantFile, out.Bytes(), 0644) 254 + _ = os.WriteFile(wantFile, out.Bytes(), 0666) 255 255 return 256 256 } 257 257
+3 -3
encoding/protobuf/protobuf_test.go
··· 57 57 58 58 wantFile := filepath.Join("testdata", filepath.Base(file)+".out.cue") 59 59 if cuetest.UpdateGoldenFiles { 60 - _ = os.WriteFile(wantFile, out.Bytes(), 0644) 60 + _ = os.WriteFile(wantFile, out.Bytes(), 0666) 61 61 return 62 62 } 63 63 ··· 102 102 if err != nil { 103 103 t.Fatal(err) 104 104 } 105 - _ = os.MkdirAll(filepath.Dir(f.Filename), 0755) 106 - err = os.WriteFile(f.Filename, b, 0644) 105 + _ = os.MkdirAll(filepath.Dir(f.Filename), 0777) 106 + err = os.WriteFile(f.Filename, b, 0666) 107 107 if err != nil { 108 108 t.Fatal(err) 109 109 }
+1 -1
internal/core/adt/debug.go
··· 68 68 } 69 69 numberOpened++ 70 70 71 - err := os.MkdirAll(path, 0755) 71 + err := os.MkdirAll(path, 0777) 72 72 if err != nil { 73 73 log.Fatal(err) 74 74 }
+1 -1
internal/encoding/encoder.go
··· 310 310 // Swap O_EXCL for O_TRUNC to allow replacing an entire existing file. 311 311 mode = os.O_WRONLY | os.O_CREATE | os.O_TRUNC 312 312 } 313 - f, err := os.OpenFile(path, mode, 0o644) 313 + f, err := os.OpenFile(path, mode, 0o666) 314 314 if err != nil { 315 315 if errors.Is(err, fs.ErrExist) { 316 316 return errors.Wrapf(fs.ErrExist, token.NoPos, "error writing %q", path)
+1 -1
internal/encoding/yaml/decode_test.go
··· 971 971 } 972 972 got := cueStr(expr) 973 973 if cuetest.UpdateGoldenFiles { 974 - os.WriteFile(filename, []byte(got), 0644) 974 + os.WriteFile(filename, []byte(got), 0666) 975 975 return 976 976 } 977 977 b, err := os.ReadFile(filename)
+1 -1
pkg/qgo.go
··· 155 155 if err != nil { 156 156 log.Fatal(err) 157 157 } 158 - err = os.WriteFile(lastPkg+".go", b, 0644) 158 + err = os.WriteFile(lastPkg+".go", b, 0666) 159 159 if err != nil { 160 160 log.Fatal(err) 161 161 }