diff --git a/CHANGELOG.md b/CHANGELOG.md index c25117d01..d792f48a2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -24,8 +24,10 @@ The following emojis are used to highlight certain changes: ### Fixed +- Improvements to support WASM builds - `gateway`: Fixed suffix range-requests and updated tests to [gateway-conformance v0.8](https://github.com/ipfs/gateway-conformance/releases/tag/v0.8.0) [#922](https://github.com/ipfs/boxo/pull/922) + ### Security diff --git a/files/filewriter_js.go b/files/filewriter_js.go new file mode 100644 index 000000000..f2c2aebb5 --- /dev/null +++ b/files/filewriter_js.go @@ -0,0 +1,18 @@ +//go:build js + +package files + +import ( + "os" + "strings" +) + +var invalidChars = `/` + "\x00" + +func isValidFilename(filename string) bool { + return !strings.ContainsAny(filename, invalidChars) +} + +func createNewFile(path string) (*os.File, error) { + return os.OpenFile(path, os.O_EXCL|os.O_CREATE|os.O_WRONLY, 0o666) +} diff --git a/files/filewriter_unix.go b/files/filewriter_unix.go index cd99aeb9a..a92334083 100644 --- a/files/filewriter_unix.go +++ b/files/filewriter_unix.go @@ -1,4 +1,4 @@ -//go:build darwin || linux || netbsd || openbsd || freebsd || dragonfly || js || wasip1 +//go:build darwin || linux || netbsd || openbsd || freebsd || dragonfly package files