├── .github ├── dependabot.yml └── workflows │ └── ci.yml ├── .golangci.yml ├── CHANGELOG.md ├── COPYING.md ├── LICENSE.BSD ├── LICENSE.MPL-2.0 ├── README.md ├── VERSION ├── codecov.yml ├── doc.go ├── go.mod ├── go.sum ├── hack └── test.sh ├── internal ├── consts │ └── consts.go └── testutils │ ├── iface.go │ └── os.go ├── join.go ├── join_test.go ├── join_windows_test.go ├── pathrs-lite ├── README.md ├── doc.go ├── internal │ ├── assert │ │ ├── assert.go │ │ └── assert_test.go │ ├── errors_linux.go │ ├── errors_linux_test.go │ ├── fd │ │ ├── at_linux.go │ │ ├── fd.go │ │ ├── fd_linux.go │ │ ├── fd_test.go │ │ ├── mount_linux.go │ │ └── openat2_linux.go │ ├── gocompat │ │ ├── README.md │ │ ├── doc.go │ │ ├── gocompat_atomic_go119.go │ │ ├── gocompat_atomic_unsupported.go │ │ ├── gocompat_errors_go120.go │ │ ├── gocompat_errors_test.go │ │ ├── gocompat_errors_unsupported.go │ │ ├── gocompat_generics_go121.go │ │ └── gocompat_generics_unsupported.go │ ├── gopathrs │ │ ├── doc.go │ │ ├── lookup_linux.go │ │ ├── lookup_linux_test.go │ │ ├── mkdir_linux.go │ │ ├── mkdir_linux_test.go │ │ ├── open_linux.go │ │ └── openat2_linux.go │ ├── kernelversion │ │ ├── kernel_linux.go │ │ └── kernel_linux_test.go │ ├── linux │ │ ├── doc.go │ │ ├── mount_linux.go │ │ └── openat2_linux.go │ ├── procfs │ │ ├── procfs_linux.go │ │ ├── procfs_linux_test.go │ │ ├── procfs_lookup_linux.go │ │ ├── procfs_lookup_linux_test.go │ │ ├── testing_mocks_linux_test.go │ │ └── util_linux_test.go │ └── testutils │ │ ├── iface.go │ │ ├── linux.go │ │ └── os.go ├── mkdir.go ├── mkdir_libpathrs.go ├── mkdir_linux_test.go ├── mkdir_purego.go ├── open.go ├── open_libpathrs.go ├── open_linux_test.go ├── open_purego.go └── procfs │ ├── procfs_libpathrs.go │ ├── procfs_linux_test.go │ └── procfs_purego.go └── vfs.go /.github/dependabot.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cyphar/filepath-securejoin/HEAD/.github/dependabot.yml -------------------------------------------------------------------------------- /.github/workflows/ci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cyphar/filepath-securejoin/HEAD/.github/workflows/ci.yml -------------------------------------------------------------------------------- /.golangci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cyphar/filepath-securejoin/HEAD/.golangci.yml -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cyphar/filepath-securejoin/HEAD/CHANGELOG.md -------------------------------------------------------------------------------- /COPYING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cyphar/filepath-securejoin/HEAD/COPYING.md -------------------------------------------------------------------------------- /LICENSE.BSD: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cyphar/filepath-securejoin/HEAD/LICENSE.BSD -------------------------------------------------------------------------------- /LICENSE.MPL-2.0: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cyphar/filepath-securejoin/HEAD/LICENSE.MPL-2.0 -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cyphar/filepath-securejoin/HEAD/README.md -------------------------------------------------------------------------------- /VERSION: -------------------------------------------------------------------------------- 1 | 0.6.1+dev 2 | -------------------------------------------------------------------------------- /codecov.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cyphar/filepath-securejoin/HEAD/codecov.yml -------------------------------------------------------------------------------- /doc.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cyphar/filepath-securejoin/HEAD/doc.go -------------------------------------------------------------------------------- /go.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cyphar/filepath-securejoin/HEAD/go.mod -------------------------------------------------------------------------------- /go.sum: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cyphar/filepath-securejoin/HEAD/go.sum -------------------------------------------------------------------------------- /hack/test.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cyphar/filepath-securejoin/HEAD/hack/test.sh -------------------------------------------------------------------------------- /internal/consts/consts.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cyphar/filepath-securejoin/HEAD/internal/consts/consts.go -------------------------------------------------------------------------------- /internal/testutils/iface.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cyphar/filepath-securejoin/HEAD/internal/testutils/iface.go -------------------------------------------------------------------------------- /internal/testutils/os.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cyphar/filepath-securejoin/HEAD/internal/testutils/os.go -------------------------------------------------------------------------------- /join.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cyphar/filepath-securejoin/HEAD/join.go -------------------------------------------------------------------------------- /join_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cyphar/filepath-securejoin/HEAD/join_test.go -------------------------------------------------------------------------------- /join_windows_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cyphar/filepath-securejoin/HEAD/join_windows_test.go -------------------------------------------------------------------------------- /pathrs-lite/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cyphar/filepath-securejoin/HEAD/pathrs-lite/README.md -------------------------------------------------------------------------------- /pathrs-lite/doc.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cyphar/filepath-securejoin/HEAD/pathrs-lite/doc.go -------------------------------------------------------------------------------- /pathrs-lite/internal/assert/assert.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cyphar/filepath-securejoin/HEAD/pathrs-lite/internal/assert/assert.go -------------------------------------------------------------------------------- /pathrs-lite/internal/assert/assert_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cyphar/filepath-securejoin/HEAD/pathrs-lite/internal/assert/assert_test.go -------------------------------------------------------------------------------- /pathrs-lite/internal/errors_linux.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cyphar/filepath-securejoin/HEAD/pathrs-lite/internal/errors_linux.go -------------------------------------------------------------------------------- /pathrs-lite/internal/errors_linux_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cyphar/filepath-securejoin/HEAD/pathrs-lite/internal/errors_linux_test.go -------------------------------------------------------------------------------- /pathrs-lite/internal/fd/at_linux.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cyphar/filepath-securejoin/HEAD/pathrs-lite/internal/fd/at_linux.go -------------------------------------------------------------------------------- /pathrs-lite/internal/fd/fd.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cyphar/filepath-securejoin/HEAD/pathrs-lite/internal/fd/fd.go -------------------------------------------------------------------------------- /pathrs-lite/internal/fd/fd_linux.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cyphar/filepath-securejoin/HEAD/pathrs-lite/internal/fd/fd_linux.go -------------------------------------------------------------------------------- /pathrs-lite/internal/fd/fd_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cyphar/filepath-securejoin/HEAD/pathrs-lite/internal/fd/fd_test.go -------------------------------------------------------------------------------- /pathrs-lite/internal/fd/mount_linux.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cyphar/filepath-securejoin/HEAD/pathrs-lite/internal/fd/mount_linux.go -------------------------------------------------------------------------------- /pathrs-lite/internal/fd/openat2_linux.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cyphar/filepath-securejoin/HEAD/pathrs-lite/internal/fd/openat2_linux.go -------------------------------------------------------------------------------- /pathrs-lite/internal/gocompat/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cyphar/filepath-securejoin/HEAD/pathrs-lite/internal/gocompat/README.md -------------------------------------------------------------------------------- /pathrs-lite/internal/gocompat/doc.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cyphar/filepath-securejoin/HEAD/pathrs-lite/internal/gocompat/doc.go -------------------------------------------------------------------------------- /pathrs-lite/internal/gocompat/gocompat_atomic_go119.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cyphar/filepath-securejoin/HEAD/pathrs-lite/internal/gocompat/gocompat_atomic_go119.go -------------------------------------------------------------------------------- /pathrs-lite/internal/gocompat/gocompat_atomic_unsupported.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cyphar/filepath-securejoin/HEAD/pathrs-lite/internal/gocompat/gocompat_atomic_unsupported.go -------------------------------------------------------------------------------- /pathrs-lite/internal/gocompat/gocompat_errors_go120.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cyphar/filepath-securejoin/HEAD/pathrs-lite/internal/gocompat/gocompat_errors_go120.go -------------------------------------------------------------------------------- /pathrs-lite/internal/gocompat/gocompat_errors_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cyphar/filepath-securejoin/HEAD/pathrs-lite/internal/gocompat/gocompat_errors_test.go -------------------------------------------------------------------------------- /pathrs-lite/internal/gocompat/gocompat_errors_unsupported.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cyphar/filepath-securejoin/HEAD/pathrs-lite/internal/gocompat/gocompat_errors_unsupported.go -------------------------------------------------------------------------------- /pathrs-lite/internal/gocompat/gocompat_generics_go121.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cyphar/filepath-securejoin/HEAD/pathrs-lite/internal/gocompat/gocompat_generics_go121.go -------------------------------------------------------------------------------- /pathrs-lite/internal/gocompat/gocompat_generics_unsupported.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cyphar/filepath-securejoin/HEAD/pathrs-lite/internal/gocompat/gocompat_generics_unsupported.go -------------------------------------------------------------------------------- /pathrs-lite/internal/gopathrs/doc.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cyphar/filepath-securejoin/HEAD/pathrs-lite/internal/gopathrs/doc.go -------------------------------------------------------------------------------- /pathrs-lite/internal/gopathrs/lookup_linux.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cyphar/filepath-securejoin/HEAD/pathrs-lite/internal/gopathrs/lookup_linux.go -------------------------------------------------------------------------------- /pathrs-lite/internal/gopathrs/lookup_linux_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cyphar/filepath-securejoin/HEAD/pathrs-lite/internal/gopathrs/lookup_linux_test.go -------------------------------------------------------------------------------- /pathrs-lite/internal/gopathrs/mkdir_linux.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cyphar/filepath-securejoin/HEAD/pathrs-lite/internal/gopathrs/mkdir_linux.go -------------------------------------------------------------------------------- /pathrs-lite/internal/gopathrs/mkdir_linux_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cyphar/filepath-securejoin/HEAD/pathrs-lite/internal/gopathrs/mkdir_linux_test.go -------------------------------------------------------------------------------- /pathrs-lite/internal/gopathrs/open_linux.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cyphar/filepath-securejoin/HEAD/pathrs-lite/internal/gopathrs/open_linux.go -------------------------------------------------------------------------------- /pathrs-lite/internal/gopathrs/openat2_linux.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cyphar/filepath-securejoin/HEAD/pathrs-lite/internal/gopathrs/openat2_linux.go -------------------------------------------------------------------------------- /pathrs-lite/internal/kernelversion/kernel_linux.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cyphar/filepath-securejoin/HEAD/pathrs-lite/internal/kernelversion/kernel_linux.go -------------------------------------------------------------------------------- /pathrs-lite/internal/kernelversion/kernel_linux_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cyphar/filepath-securejoin/HEAD/pathrs-lite/internal/kernelversion/kernel_linux_test.go -------------------------------------------------------------------------------- /pathrs-lite/internal/linux/doc.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cyphar/filepath-securejoin/HEAD/pathrs-lite/internal/linux/doc.go -------------------------------------------------------------------------------- /pathrs-lite/internal/linux/mount_linux.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cyphar/filepath-securejoin/HEAD/pathrs-lite/internal/linux/mount_linux.go -------------------------------------------------------------------------------- /pathrs-lite/internal/linux/openat2_linux.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cyphar/filepath-securejoin/HEAD/pathrs-lite/internal/linux/openat2_linux.go -------------------------------------------------------------------------------- /pathrs-lite/internal/procfs/procfs_linux.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cyphar/filepath-securejoin/HEAD/pathrs-lite/internal/procfs/procfs_linux.go -------------------------------------------------------------------------------- /pathrs-lite/internal/procfs/procfs_linux_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cyphar/filepath-securejoin/HEAD/pathrs-lite/internal/procfs/procfs_linux_test.go -------------------------------------------------------------------------------- /pathrs-lite/internal/procfs/procfs_lookup_linux.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cyphar/filepath-securejoin/HEAD/pathrs-lite/internal/procfs/procfs_lookup_linux.go -------------------------------------------------------------------------------- /pathrs-lite/internal/procfs/procfs_lookup_linux_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cyphar/filepath-securejoin/HEAD/pathrs-lite/internal/procfs/procfs_lookup_linux_test.go -------------------------------------------------------------------------------- /pathrs-lite/internal/procfs/testing_mocks_linux_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cyphar/filepath-securejoin/HEAD/pathrs-lite/internal/procfs/testing_mocks_linux_test.go -------------------------------------------------------------------------------- /pathrs-lite/internal/procfs/util_linux_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cyphar/filepath-securejoin/HEAD/pathrs-lite/internal/procfs/util_linux_test.go -------------------------------------------------------------------------------- /pathrs-lite/internal/testutils/iface.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cyphar/filepath-securejoin/HEAD/pathrs-lite/internal/testutils/iface.go -------------------------------------------------------------------------------- /pathrs-lite/internal/testutils/linux.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cyphar/filepath-securejoin/HEAD/pathrs-lite/internal/testutils/linux.go -------------------------------------------------------------------------------- /pathrs-lite/internal/testutils/os.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cyphar/filepath-securejoin/HEAD/pathrs-lite/internal/testutils/os.go -------------------------------------------------------------------------------- /pathrs-lite/mkdir.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cyphar/filepath-securejoin/HEAD/pathrs-lite/mkdir.go -------------------------------------------------------------------------------- /pathrs-lite/mkdir_libpathrs.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cyphar/filepath-securejoin/HEAD/pathrs-lite/mkdir_libpathrs.go -------------------------------------------------------------------------------- /pathrs-lite/mkdir_linux_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cyphar/filepath-securejoin/HEAD/pathrs-lite/mkdir_linux_test.go -------------------------------------------------------------------------------- /pathrs-lite/mkdir_purego.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cyphar/filepath-securejoin/HEAD/pathrs-lite/mkdir_purego.go -------------------------------------------------------------------------------- /pathrs-lite/open.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cyphar/filepath-securejoin/HEAD/pathrs-lite/open.go -------------------------------------------------------------------------------- /pathrs-lite/open_libpathrs.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cyphar/filepath-securejoin/HEAD/pathrs-lite/open_libpathrs.go -------------------------------------------------------------------------------- /pathrs-lite/open_linux_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cyphar/filepath-securejoin/HEAD/pathrs-lite/open_linux_test.go -------------------------------------------------------------------------------- /pathrs-lite/open_purego.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cyphar/filepath-securejoin/HEAD/pathrs-lite/open_purego.go -------------------------------------------------------------------------------- /pathrs-lite/procfs/procfs_libpathrs.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cyphar/filepath-securejoin/HEAD/pathrs-lite/procfs/procfs_libpathrs.go -------------------------------------------------------------------------------- /pathrs-lite/procfs/procfs_linux_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cyphar/filepath-securejoin/HEAD/pathrs-lite/procfs/procfs_linux_test.go -------------------------------------------------------------------------------- /pathrs-lite/procfs/procfs_purego.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cyphar/filepath-securejoin/HEAD/pathrs-lite/procfs/procfs_purego.go -------------------------------------------------------------------------------- /vfs.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cyphar/filepath-securejoin/HEAD/vfs.go --------------------------------------------------------------------------------