OXIESEC PANEL
- Current Dir:
/
/
opt
/
golang
/
1.19.4
/
src
/
os
Server IP: 191.96.63.230
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
12/01/2022 06:13:58 PM
rwxr-xr-x
📄
dir.go
4.4 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
dir_darwin.go
2.92 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
dir_plan9.go
2.03 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
dir_unix.go
4.95 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
dir_windows.go
1.69 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
dirent_aix.go
759 bytes
12/01/2022 06:12:59 PM
rw-r--r--
📄
dirent_dragonfly.go
1.28 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
dirent_freebsd.go
1.16 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
dirent_js.go
678 bytes
12/01/2022 06:12:59 PM
rw-r--r--
📄
dirent_linux.go
1.18 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
dirent_netbsd.go
1.16 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
dirent_openbsd.go
1.16 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
dirent_solaris.go
759 bytes
12/01/2022 06:12:59 PM
rw-r--r--
📄
endian_big.go
244 bytes
12/01/2022 06:12:59 PM
rw-r--r--
📄
endian_little.go
304 bytes
12/01/2022 06:12:59 PM
rw-r--r--
📄
env.go
3.84 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
env_test.go
5.03 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
env_unix_test.go
1.22 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
error.go
4.84 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
error_errno.go
247 bytes
12/01/2022 06:12:59 PM
rw-r--r--
📄
error_plan9.go
234 bytes
12/01/2022 06:12:59 PM
rw-r--r--
📄
error_posix.go
527 bytes
12/01/2022 06:12:59 PM
rw-r--r--
📄
error_test.go
4.92 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
error_unix_test.go
1.48 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
error_windows_test.go
1.72 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
example_test.go
5.25 KB
12/01/2022 06:12:59 PM
rw-r--r--
📁
exec
-
12/01/2022 06:13:56 PM
rwxr-xr-x
📄
exec.go
5.95 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
exec_plan9.go
3.27 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
exec_posix.go
3.42 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
exec_unix.go
2.1 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
exec_unix_test.go
643 bytes
12/01/2022 06:12:59 PM
rw-r--r--
📄
exec_windows.go
4.87 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
executable.go
774 bytes
12/01/2022 06:12:59 PM
rw-r--r--
📄
executable_darwin.go
613 bytes
12/01/2022 06:12:59 PM
rw-r--r--
📄
executable_dragonfly.go
293 bytes
12/01/2022 06:12:59 PM
rw-r--r--
📄
executable_freebsd.go
292 bytes
12/01/2022 06:12:59 PM
rw-r--r--
📄
executable_path.go
2.31 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
executable_plan9.go
427 bytes
12/01/2022 06:12:59 PM
rw-r--r--
📄
executable_procfs.go
920 bytes
12/01/2022 06:12:59 PM
rw-r--r--
📄
executable_solaris.go
695 bytes
12/01/2022 06:12:59 PM
rw-r--r--
📄
executable_sysctl.go
891 bytes
12/01/2022 06:12:59 PM
rw-r--r--
📄
executable_test.go
3.38 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
executable_windows.go
641 bytes
12/01/2022 06:12:59 PM
rw-r--r--
📄
export_linux_test.go
216 bytes
12/01/2022 06:12:59 PM
rw-r--r--
📄
export_test.go
395 bytes
12/01/2022 06:12:59 PM
rw-r--r--
📄
export_unix_test.go
231 bytes
12/01/2022 06:12:59 PM
rw-r--r--
📄
export_windows_test.go
349 bytes
12/01/2022 06:12:59 PM
rw-r--r--
📄
fifo_test.go
1.78 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
file.go
22.12 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
file_plan9.go
14.91 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
file_posix.go
6.95 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
file_unix.go
12.09 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
file_windows.go
13.69 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
getwd.go
2.52 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
os_test.go
66.08 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
os_unix_test.go
8.4 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
os_windows_test.go
32.18 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
path.go
2.01 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
path_plan9.go
497 bytes
12/01/2022 06:12:59 PM
rw-r--r--
📄
path_test.go
2.84 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
path_unix.go
1.55 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
path_windows.go
5.97 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
path_windows_test.go
2.73 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
pipe2_unix.go
658 bytes
12/01/2022 06:12:59 PM
rw-r--r--
📄
pipe_test.go
11.1 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
pipe_unix.go
794 bytes
12/01/2022 06:12:59 PM
rw-r--r--
📄
proc.go
2.09 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
rawconn.go
993 bytes
12/01/2022 06:12:59 PM
rw-r--r--
📄
rawconn_test.go
1.13 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
read_test.go
3.04 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
readfrom_linux.go
1.03 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
readfrom_linux_test.go
9.58 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
readfrom_stub.go
302 bytes
12/01/2022 06:12:59 PM
rw-r--r--
📄
removeall_at.go
4.73 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
removeall_noat.go
3.13 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
removeall_test.go
10.09 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
rlimit.go
1.24 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
rlimit_darwin.go
622 bytes
12/01/2022 06:12:59 PM
rw-r--r--
📄
rlimit_stub.go
412 bytes
12/01/2022 06:12:59 PM
rw-r--r--
📄
rlimit_test.go
927 bytes
12/01/2022 06:12:59 PM
rw-r--r--
📁
signal
-
12/01/2022 06:13:56 PM
rwxr-xr-x
📄
stat.go
733 bytes
12/01/2022 06:12:59 PM
rw-r--r--
📄
stat_aix.go
1.18 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
stat_darwin.go
1.09 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
stat_dragonfly.go
1.06 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
stat_freebsd.go
1.07 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
stat_js.go
1.11 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
stat_linux.go
1.06 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
stat_netbsd.go
1.07 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
stat_openbsd.go
1.06 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
stat_plan9.go
2.29 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
stat_solaris.go
1.3 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
stat_test.go
5.98 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
stat_unix.go
1.22 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
stat_windows.go
3.56 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
sticky_bsd.go
415 bytes
12/01/2022 06:12:59 PM
rw-r--r--
📄
sticky_notbsd.go
320 bytes
12/01/2022 06:12:59 PM
rw-r--r--
📄
str.go
817 bytes
12/01/2022 06:12:59 PM
rw-r--r--
📄
sys.go
294 bytes
12/01/2022 06:12:59 PM
rw-r--r--
📄
sys_aix.go
682 bytes
12/01/2022 06:12:59 PM
rw-r--r--
📄
sys_bsd.go
456 bytes
12/01/2022 06:12:59 PM
rw-r--r--
📄
sys_js.go
313 bytes
12/01/2022 06:12:59 PM
rw-r--r--
📄
sys_linux.go
1.04 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
sys_plan9.go
453 bytes
12/01/2022 06:12:59 PM
rw-r--r--
📄
sys_solaris.go
265 bytes
12/01/2022 06:12:59 PM
rw-r--r--
📄
sys_unix.go
493 bytes
12/01/2022 06:12:59 PM
rw-r--r--
📄
sys_windows.go
874 bytes
12/01/2022 06:12:59 PM
rw-r--r--
📄
tempfile.go
3.84 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
tempfile_test.go
5.4 KB
12/01/2022 06:12:59 PM
rw-r--r--
📁
testdata
-
12/01/2022 06:13:56 PM
rwxr-xr-x
📄
timeout_test.go
17.04 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
types.go
2.79 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
types_plan9.go
815 bytes
12/01/2022 06:12:59 PM
rw-r--r--
📄
types_unix.go
776 bytes
12/01/2022 06:12:59 PM
rw-r--r--
📄
types_windows.go
6.31 KB
12/01/2022 06:12:59 PM
rw-r--r--
📁
user
-
12/01/2022 06:13:56 PM
rwxr-xr-x
📄
wait_unimp.go
899 bytes
12/01/2022 06:12:59 PM
rw-r--r--
📄
wait_wait6.go
1.48 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
wait_waitid.go
1.32 KB
12/01/2022 06:12:59 PM
rw-r--r--
Editing: removeall_at.go
Close
// Copyright 2018 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. //go:build unix package os import ( "internal/syscall/unix" "io" "syscall" ) func removeAll(path string) error { if path == "" { // fail silently to retain compatibility with previous behavior // of RemoveAll. See issue 28830. return nil } // The rmdir system call does not permit removing ".", // so we don't permit it either. if endsWithDot(path) { return &PathError{Op: "RemoveAll", Path: path, Err: syscall.EINVAL} } // Simple case: if Remove works, we're done. err := Remove(path) if err == nil || IsNotExist(err) { return nil } // RemoveAll recurses by deleting the path base from // its parent directory parentDir, base := splitPath(path) parent, err := Open(parentDir) if IsNotExist(err) { // If parent does not exist, base cannot exist. Fail silently return nil } if err != nil { return err } defer parent.Close() if err := removeAllFrom(parent, base); err != nil { if pathErr, ok := err.(*PathError); ok { pathErr.Path = parentDir + string(PathSeparator) + pathErr.Path err = pathErr } return err } return nil } func removeAllFrom(parent *File, base string) error { parentFd := int(parent.Fd()) // Simple case: if Unlink (aka remove) works, we're done. err := unix.Unlinkat(parentFd, base, 0) if err == nil || IsNotExist(err) { return nil } // EISDIR means that we have a directory, and we need to // remove its contents. // EPERM or EACCES means that we don't have write permission on // the parent directory, but this entry might still be a directory // whose contents need to be removed. // Otherwise just return the error. if err != syscall.EISDIR && err != syscall.EPERM && err != syscall.EACCES { return &PathError{Op: "unlinkat", Path: base, Err: err} } // Is this a directory we need to recurse into? var statInfo syscall.Stat_t statErr := unix.Fstatat(parentFd, base, &statInfo, unix.AT_SYMLINK_NOFOLLOW) if statErr != nil { if IsNotExist(statErr) { return nil } return &PathError{Op: "fstatat", Path: base, Err: statErr} } if statInfo.Mode&syscall.S_IFMT != syscall.S_IFDIR { // Not a directory; return the error from the unix.Unlinkat. return &PathError{Op: "unlinkat", Path: base, Err: err} } // Remove the directory's entries. var recurseErr error for { const reqSize = 1024 var respSize int // Open the directory to recurse into file, err := openFdAt(parentFd, base) if err != nil { if IsNotExist(err) { return nil } recurseErr = &PathError{Op: "openfdat", Path: base, Err: err} break } for { numErr := 0 names, readErr := file.Readdirnames(reqSize) // Errors other than EOF should stop us from continuing. if readErr != nil && readErr != io.EOF { file.Close() if IsNotExist(readErr) { return nil } return &PathError{Op: "readdirnames", Path: base, Err: readErr} } respSize = len(names) for _, name := range names { err := removeAllFrom(file, name) if err != nil { if pathErr, ok := err.(*PathError); ok { pathErr.Path = base + string(PathSeparator) + pathErr.Path } numErr++ if recurseErr == nil { recurseErr = err } } } // If we can delete any entry, break to start new iteration. // Otherwise, we discard current names, get next entries and try deleting them. if numErr != reqSize { break } } // Removing files from the directory may have caused // the OS to reshuffle it. Simply calling Readdirnames // again may skip some entries. The only reliable way // to avoid this is to close and re-open the // directory. See issue 20841. file.Close() // Finish when the end of the directory is reached if respSize < reqSize { break } } // Remove the directory itself. unlinkError := unix.Unlinkat(parentFd, base, unix.AT_REMOVEDIR) if unlinkError == nil || IsNotExist(unlinkError) { return nil } if recurseErr != nil { return recurseErr } return &PathError{Op: "unlinkat", Path: base, Err: unlinkError} } // openFdAt opens path relative to the directory in fd. // Other than that this should act like openFileNolog. // This acts like openFileNolog rather than OpenFile because // we are going to (try to) remove the file. // The contents of this file are not relevant for test caching. func openFdAt(dirfd int, name string) (*File, error) { var r int for { var e error r, e = unix.Openat(dirfd, name, O_RDONLY|syscall.O_CLOEXEC, 0) if e == nil { break } // See comment in openFileNolog. if e == syscall.EINTR { continue } return nil, e } if !supportsCloseOnExec { syscall.CloseOnExec(r) } return newFile(uintptr(r), name, kindOpenFile), nil }