├── benchmark └── __init__.py ├── .github ├── CODEOWNERS ├── semgrep-rules.yaml ├── dependabot.yml └── workflows │ └── docker.yml ├── vendor ├── github.com │ ├── lanrat │ │ └── extsort │ │ │ ├── .gitignore │ │ │ ├── .cspell.json │ │ │ ├── uniq.go │ │ │ ├── tempfile │ │ │ └── types.go │ │ │ ├── Makefile │ │ │ └── types.go │ ├── termie │ │ └── go-shutil │ │ │ ├── .gitignore │ │ │ ├── LICENSE │ │ │ └── README.rst │ ├── BurntSushi │ │ └── toml │ │ │ ├── .gitignore │ │ │ ├── decode_go116.go │ │ │ ├── doc.go │ │ │ └── deprecated.go │ ├── urfave │ │ └── cli │ │ │ └── v2 │ │ │ ├── .flake8 │ │ │ ├── .gitignore │ │ │ ├── mkdocs-requirements.txt │ │ │ ├── sliceflag_pre18.go │ │ │ ├── sort.go │ │ │ ├── cli.go │ │ │ └── README.md │ ├── VividCortex │ │ └── ewma │ │ │ ├── .gitignore │ │ │ ├── .whitesource │ │ │ └── codecov.yml │ ├── mattn │ │ ├── go-isatty │ │ │ ├── doc.go │ │ │ ├── go.test.sh │ │ │ ├── isatty_others.go │ │ │ ├── isatty_tcgets.go │ │ │ ├── isatty_plan9.go │ │ │ ├── isatty_bsd.go │ │ │ └── isatty_solaris.go │ │ ├── go-runewidth │ │ │ ├── runewidth_appengine.go │ │ │ ├── runewidth_js.go │ │ │ ├── runewidth_windows.go │ │ │ └── README.md │ │ └── go-colorable │ │ │ ├── go.test.sh │ │ │ ├── colorable_appengine.go │ │ │ └── colorable_others.go │ ├── jmespath │ │ └── go-jmespath │ │ │ ├── .gitignore │ │ │ ├── .travis.yml │ │ │ ├── LICENSE │ │ │ ├── toktype_string.go │ │ │ └── astnodetype_string.go │ ├── russross │ │ └── blackfriday │ │ │ └── v2 │ │ │ ├── .gitignore │ │ │ └── .travis.yml │ ├── igungor │ │ └── gofakes3 │ │ │ ├── logo.sketch │ │ │ ├── GoFakeS3.png │ │ │ ├── .gitmodules │ │ │ ├── .gitignore │ │ │ ├── Dockerfile │ │ │ └── internal │ │ │ └── s3io │ │ │ └── io.go │ ├── iancoleman │ │ └── strcase │ │ │ ├── acronyms.go │ │ │ ├── .travis.yml │ │ │ └── doc.go │ ├── aws │ │ └── aws-sdk-go │ │ │ ├── NOTICE.txt │ │ │ ├── aws │ │ │ ├── credentials │ │ │ │ ├── ssocreds │ │ │ │ │ ├── os_windows.go │ │ │ │ │ └── os.go │ │ │ │ ├── example.ini │ │ │ │ ├── context_go1.9.go │ │ │ │ ├── context_background_go1.7.go │ │ │ │ └── context_background_go1.5.go │ │ │ ├── signer │ │ │ │ └── v4 │ │ │ │ │ ├── options.go │ │ │ │ │ ├── request_context_go1.7.go │ │ │ │ │ ├── request_context_go1.5.go │ │ │ │ │ └── uri_path.go │ │ │ ├── version.go │ │ │ ├── url.go │ │ │ ├── jsonvalue.go │ │ │ ├── context_1_9.go │ │ │ ├── client │ │ │ │ ├── metadata │ │ │ │ │ └── client_info.go │ │ │ │ └── no_op_retryer.go │ │ │ ├── request │ │ │ │ ├── connection_reset_error.go │ │ │ │ ├── http_request.go │ │ │ │ ├── request_context_1_6.go │ │ │ │ └── request_context.go │ │ │ ├── csm │ │ │ │ └── metric_exception.go │ │ │ ├── errors.go │ │ │ ├── session │ │ │ │ ├── custom_transport_go1.5.go │ │ │ │ ├── custom_transport_go1.6.go │ │ │ │ ├── custom_transport_go1.12.go │ │ │ │ └── custom_transport.go │ │ │ ├── corehandlers │ │ │ │ └── param_validator.go │ │ │ ├── endpoints │ │ │ │ └── legacy_regions.go │ │ │ ├── context_sleep.go │ │ │ ├── context_background_1_7.go │ │ │ ├── url_1_7.go │ │ │ ├── context_background_1_5.go │ │ │ ├── defaults │ │ │ │ └── shared_config.go │ │ │ └── awsutil │ │ │ │ └── equal.go │ │ │ ├── internal │ │ │ ├── ini │ │ │ │ ├── empty_token.go │ │ │ │ ├── comma_token.go │ │ │ │ ├── fuzz.go │ │ │ │ ├── ws_token.go │ │ │ │ ├── newline_token.go │ │ │ │ ├── walker.go │ │ │ │ ├── expression.go │ │ │ │ ├── comment_token.go │ │ │ │ ├── op_tokens.go │ │ │ │ └── sep_tokens.go │ │ │ ├── shareddefaults │ │ │ │ ├── shared_config_resolve_home_go1.12.go │ │ │ │ ├── shared_config_resolve_home.go │ │ │ │ └── ecs_container.go │ │ │ ├── sdkio │ │ │ │ ├── byte.go │ │ │ │ ├── io_go1.6.go │ │ │ │ └── io_go1.7.go │ │ │ ├── sdkrand │ │ │ │ ├── read.go │ │ │ │ ├── read_1_5.go │ │ │ │ └── locked_source.go │ │ │ ├── strings │ │ │ │ └── strings.go │ │ │ ├── sdkmath │ │ │ │ └── floor.go │ │ │ ├── s3shared │ │ │ │ └── arn │ │ │ │ │ └── s3_object_lambda_arn.go │ │ │ ├── sdkuri │ │ │ │ └── path.go │ │ │ └── context │ │ │ │ └── background_go1.5.go │ │ │ ├── service │ │ │ ├── s3 │ │ │ │ ├── s3manager │ │ │ │ │ ├── doc.go │ │ │ │ │ ├── default_writer_read_from.go │ │ │ │ │ ├── default_read_seeker_write_to.go │ │ │ │ │ ├── default_read_seeker_write_to_windows.go │ │ │ │ │ ├── default_writer_read_from_windows.go │ │ │ │ │ └── arn.go │ │ │ │ ├── platform_handlers.go │ │ │ │ └── platform_handlers_go1.6.go │ │ │ └── sts │ │ │ │ └── customizations.go │ │ │ ├── private │ │ │ └── protocol │ │ │ │ ├── eventstream │ │ │ │ ├── eventstreamapi │ │ │ │ │ ├── transport.go │ │ │ │ │ ├── transport_go1.17.go │ │ │ │ │ └── shared.go │ │ │ │ └── error.go │ │ │ │ ├── xml │ │ │ │ └── xmlutil │ │ │ │ │ └── sort.go │ │ │ │ └── unmarshal.go │ │ │ └── awstesting │ │ │ └── unit │ │ │ └── unit.go │ ├── kballard │ │ └── go-shellquote │ │ │ └── doc.go │ ├── xrash │ │ └── smetrics │ │ │ ├── .travis.yml │ │ │ ├── hamming.go │ │ │ ├── doc.go │ │ │ └── soundex.go │ ├── karrick │ │ └── godirwalk │ │ │ ├── debug_release.go │ │ │ ├── inoWithIno.go │ │ │ ├── reclenFromNamlen.go │ │ │ ├── inoWithFileno.go │ │ │ ├── reclenFromReclen.go │ │ │ ├── debug_development.go │ │ │ ├── .gitignore │ │ │ ├── modeTypeWithoutType.go │ │ │ ├── modeType.go │ │ │ └── nameWithNamlen.go │ ├── pkg │ │ └── errors │ │ │ ├── .travis.yml │ │ │ ├── .gitignore │ │ │ ├── appveyor.yml │ │ │ └── Makefile │ ├── cheggaaa │ │ └── pb │ │ │ └── v3 │ │ │ ├── termutil │ │ │ ├── term_linux.go │ │ │ ├── term_solaris.go │ │ │ ├── term_nix.go │ │ │ ├── term_bsd.go │ │ │ ├── term_appengine.go │ │ │ └── term_plan9.go │ │ │ └── preset.go │ ├── rivo │ │ └── uniseg │ │ │ └── doc.go │ ├── google │ │ └── go-cmp │ │ │ └── cmp │ │ │ └── internal │ │ │ ├── flags │ │ │ └── flags.go │ │ │ ├── diff │ │ │ └── debug_disable.go │ │ │ └── value │ │ │ └── pointer.go │ ├── ryszard │ │ └── goskiplist │ │ │ └── AUTHORS │ ├── cpuguy83 │ │ └── go-md2man │ │ │ └── v2 │ │ │ └── md2man │ │ │ └── md2man.go │ ├── hashicorp │ │ └── go-multierror │ │ │ ├── sort.go │ │ │ ├── flatten.go │ │ │ ├── format.go │ │ │ ├── group.go │ │ │ ├── Makefile │ │ │ └── prefix.go │ ├── fatih │ │ └── color │ │ │ └── color_windows.go │ └── shabbyrobe │ │ └── gocovmerge │ │ └── README.md ├── golang.org │ └── x │ │ ├── sys │ │ ├── unix │ │ │ ├── .gitignore │ │ │ ├── ptrace_ios.go │ │ │ ├── syscall_linux_amd64_gc.go │ │ │ ├── endian_big.go │ │ │ ├── ptrace_darwin.go │ │ │ ├── constants.go │ │ │ ├── endian_little.go │ │ │ ├── mmap_nomremap.go │ │ │ ├── aliases.go │ │ │ ├── readdirent_getdents.go │ │ │ ├── pagesize_unix.go │ │ │ ├── sysvshm_unix_other.go │ │ │ ├── asm_aix_ppc64.s │ │ │ ├── syscall_linux_gc_arm.go │ │ │ ├── asm_solaris_amd64.s │ │ │ ├── fcntl_linux_32bit.go │ │ │ ├── syscall_linux_alarm.go │ │ │ ├── gccgo_linux_amd64.go │ │ │ ├── syscall_linux_gc.go │ │ │ ├── syscall_hurd_386.go │ │ │ ├── sysvshm_linux.go │ │ │ ├── sockcmsg_dragonfly.go │ │ │ ├── race0.go │ │ │ ├── syscall_linux_gc_386.go │ │ │ ├── syscall_linux_gccgo_arm.go │ │ │ ├── syscall_unix_gc.go │ │ │ ├── syscall_solaris_amd64.go │ │ │ ├── race.go │ │ │ ├── syscall_hurd.go │ │ │ ├── env_unix.go │ │ │ ├── asm_bsd_arm.s │ │ │ ├── readdirent_getdirentries.go │ │ │ ├── zptrace_linux_arm64.go │ │ │ ├── asm_openbsd_mips64.s │ │ │ ├── asm_bsd_386.s │ │ │ ├── asm_bsd_arm64.s │ │ │ ├── asm_bsd_riscv64.s │ │ │ ├── asm_bsd_amd64.s │ │ │ ├── asm_bsd_ppc64.s │ │ │ ├── bluetooth_linux.go │ │ │ ├── dev_aix_ppc.go │ │ │ ├── dev_darwin.go │ │ │ ├── syscall_unix_gc_ppc64x.go │ │ │ ├── fdset.go │ │ │ ├── fcntl_darwin.go │ │ │ ├── dev_zos.go │ │ │ ├── dev_aix_ppc64.go │ │ │ ├── syscall_netbsd_amd64.go │ │ │ ├── syscall_netbsd_arm64.go │ │ │ ├── syscall_netbsd_386.go │ │ │ ├── syscall_netbsd_arm.go │ │ │ ├── dev_netbsd.go │ │ │ ├── dev_openbsd.go │ │ │ └── asm_linux_ppc64x.s │ │ └── windows │ │ │ ├── aliases.go │ │ │ ├── mksyscall.go │ │ │ ├── race0.go │ │ │ ├── str.go │ │ │ ├── race.go │ │ │ ├── eventlog.go │ │ │ ├── types_windows_amd64.go │ │ │ ├── types_windows_arm64.go │ │ │ ├── types_windows_386.go │ │ │ └── types_windows_arm.go │ │ ├── tools │ │ ├── internal │ │ │ ├── pkgbits │ │ │ │ ├── flags.go │ │ │ │ ├── support.go │ │ │ │ ├── frames_go1.go │ │ │ │ ├── frames_go17.go │ │ │ │ └── reloc.go │ │ │ ├── event │ │ │ │ ├── doc.go │ │ │ │ └── keys │ │ │ │ │ ├── util.go │ │ │ │ │ └── standard.go │ │ │ ├── gcimporter │ │ │ │ ├── unified_yes.go │ │ │ │ ├── unified_no.go │ │ │ │ ├── newInterface11.go │ │ │ │ ├── newInterface10.go │ │ │ │ └── support_go118.go │ │ │ ├── versions │ │ │ │ ├── toolchain_go119.go │ │ │ │ ├── toolchain_go120.go │ │ │ │ ├── toolchain_go121.go │ │ │ │ ├── toolchain.go │ │ │ │ ├── types.go │ │ │ │ └── types_go121.go │ │ │ └── packagesinternal │ │ │ │ └── packages.go │ │ └── go │ │ │ ├── ssa │ │ │ └── TODO │ │ │ ├── ast │ │ │ └── astutil │ │ │ │ └── util.go │ │ │ └── types │ │ │ └── typeutil │ │ │ └── imports.go │ │ └── sync │ │ └── errgroup │ │ ├── go120.go │ │ └── pre_go120.go ├── go.etcd.io │ └── bbolt │ │ ├── .gitignore │ │ ├── boltsync_unix.go │ │ ├── bolt_linux.go │ │ ├── bolt_386.go │ │ ├── bolt_arm.go │ │ ├── bolt_amd64.go │ │ ├── bolt_ppc.go │ │ ├── bolt_arm64.go │ │ ├── bolt_mipsx.go │ │ ├── bolt_ppc64.go │ │ ├── bolt_s390x.go │ │ ├── bolt_ppc64le.go │ │ ├── bolt_riscv64.go │ │ ├── bolt_mips64x.go │ │ ├── mlock_windows.go │ │ ├── .travis.yml │ │ ├── bolt_openbsd.go │ │ └── mlock_unix.go ├── mvdan.cc │ └── unparam │ │ ├── .gitattributes │ │ └── README.md ├── honnef.co │ └── go │ │ └── tools │ │ ├── knowledge │ │ └── doc.go │ │ ├── go │ │ ├── ir │ │ │ ├── write.go │ │ │ ├── UPSTREAM │ │ │ └── irutil │ │ │ │ └── stub.go │ │ ├── buildid │ │ │ └── UPSTREAM │ │ ├── types │ │ │ └── typeutil │ │ │ │ └── ext.go │ │ └── ast │ │ │ └── astutil │ │ │ └── upstream.go │ │ ├── internal │ │ ├── renameio │ │ │ └── UPSTREAM │ │ ├── robustio │ │ │ ├── UPSTREAM │ │ │ ├── robustio_darwin.go │ │ │ ├── robustio_other.go │ │ │ └── robustio_windows.go │ │ └── sync │ │ │ └── sync.go │ │ ├── printf │ │ └── fuzz.go │ │ ├── lintcmd │ │ ├── stats_posix.go │ │ ├── stats_bsd.go │ │ ├── stats.go │ │ ├── cache │ │ │ └── UPSTREAM │ │ └── version │ │ │ └── buildinfo.go │ │ ├── cmd │ │ └── staticcheck │ │ │ └── README.md │ │ ├── staticcheck │ │ ├── buildtag.go │ │ └── fakexml │ │ │ └── xml.go │ │ ├── analysis │ │ └── facts │ │ │ ├── directives │ │ │ └── directives.go │ │ │ └── tokenfile │ │ │ └── token.go │ │ └── config │ │ └── example.conf ├── go.uber.org │ └── mock │ │ ├── AUTHORS │ │ └── mockgen │ │ └── version.go └── gotest.tools │ └── v3 │ ├── fs │ ├── manifest_windows.go │ └── manifest_unix.go │ ├── LICENSE │ ├── internal │ └── format │ │ └── format.go │ └── icmd │ └── exitcode.go ├── doc ├── usage.png ├── benchmark1.png ├── benchmark2.png ├── benchmark3.png └── s5cmd_header.jpg ├── .gitignore ├── e2e ├── testdata │ └── parquet │ │ ├── five_line_simple.parquet │ │ ├── output.csv │ │ └── output.json ├── main_test.go ├── version_test.go └── presign_test.go ├── parallel ├── fdlimit │ ├── fdlimit_windows.go │ └── fdlimit_unix.go └── global.go ├── internal └── tools │ └── tools.go ├── Dockerfile ├── storage └── fs_test.go ├── main.go ├── command └── version.go └── version └── version.go /benchmark/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.github/CODEOWNERS: -------------------------------------------------------------------------------- 1 | * @peak/big-data 2 | -------------------------------------------------------------------------------- /vendor/github.com/lanrat/extsort/.gitignore: -------------------------------------------------------------------------------- 1 | coverage.out -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/.gitignore: -------------------------------------------------------------------------------- 1 | _obj/ 2 | unix.test 3 | -------------------------------------------------------------------------------- /vendor/github.com/termie/go-shutil/.gitignore: -------------------------------------------------------------------------------- 1 | test/testfile3 2 | -------------------------------------------------------------------------------- /doc/usage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peak/s5cmd/HEAD/doc/usage.png -------------------------------------------------------------------------------- /vendor/github.com/BurntSushi/toml/.gitignore: -------------------------------------------------------------------------------- 1 | /toml.test 2 | /toml-test 3 | -------------------------------------------------------------------------------- /vendor/github.com/urfave/cli/v2/.flake8: -------------------------------------------------------------------------------- 1 | [flake8] 2 | max-line-length = 120 3 | -------------------------------------------------------------------------------- /doc/benchmark1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peak/s5cmd/HEAD/doc/benchmark1.png -------------------------------------------------------------------------------- /doc/benchmark2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peak/s5cmd/HEAD/doc/benchmark2.png -------------------------------------------------------------------------------- /doc/benchmark3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peak/s5cmd/HEAD/doc/benchmark3.png -------------------------------------------------------------------------------- /vendor/github.com/VividCortex/ewma/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | .*.sw? 3 | /coverage.txt -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .idea/ 2 | .vscode/ 3 | /s5cmd 4 | /s5cmd.exe 5 | /*.iml 6 | .DS_Store 7 | -------------------------------------------------------------------------------- /doc/s5cmd_header.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peak/s5cmd/HEAD/doc/s5cmd_header.jpg -------------------------------------------------------------------------------- /vendor/github.com/termie/go-shutil/LICENSE: -------------------------------------------------------------------------------- 1 | I guess Python's? If that doesn't apply then MIT. Have fun. 2 | -------------------------------------------------------------------------------- /vendor/github.com/mattn/go-isatty/doc.go: -------------------------------------------------------------------------------- 1 | // Package isatty implements interface to isatty 2 | package isatty 3 | -------------------------------------------------------------------------------- /vendor/go.etcd.io/bbolt/.gitignore: -------------------------------------------------------------------------------- 1 | *.prof 2 | *.test 3 | *.swp 4 | /bin/ 5 | cover.out 6 | /.idea 7 | *.iml 8 | -------------------------------------------------------------------------------- /vendor/github.com/jmespath/go-jmespath/.gitignore: -------------------------------------------------------------------------------- 1 | /jpgo 2 | jmespath-fuzz.zip 3 | cpu.out 4 | go-jmespath.test 5 | -------------------------------------------------------------------------------- /vendor/github.com/VividCortex/ewma/.whitesource: -------------------------------------------------------------------------------- 1 | { 2 | "settingsInheritedFrom": "VividCortex/whitesource-config@master" 3 | } -------------------------------------------------------------------------------- /vendor/mvdan.cc/unparam/.gitattributes: -------------------------------------------------------------------------------- 1 | # To prevent CRLF breakages on Windows for fragile files, like testdata. 2 | * -text 3 | -------------------------------------------------------------------------------- /vendor/github.com/russross/blackfriday/v2/.gitignore: -------------------------------------------------------------------------------- 1 | *.out 2 | *.swp 3 | *.8 4 | *.6 5 | _obj 6 | _test* 7 | markdown 8 | tags 9 | -------------------------------------------------------------------------------- /e2e/testdata/parquet/five_line_simple.parquet: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peak/s5cmd/HEAD/e2e/testdata/parquet/five_line_simple.parquet -------------------------------------------------------------------------------- /vendor/github.com/igungor/gofakes3/logo.sketch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peak/s5cmd/HEAD/vendor/github.com/igungor/gofakes3/logo.sketch -------------------------------------------------------------------------------- /vendor/github.com/iancoleman/strcase/acronyms.go: -------------------------------------------------------------------------------- 1 | package strcase 2 | 3 | var uppercaseAcronym = map[string]bool{ 4 | "ID": true, 5 | } 6 | -------------------------------------------------------------------------------- /vendor/github.com/igungor/gofakes3/GoFakeS3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peak/s5cmd/HEAD/vendor/github.com/igungor/gofakes3/GoFakeS3.png -------------------------------------------------------------------------------- /e2e/testdata/parquet/output.csv: -------------------------------------------------------------------------------- 1 | 0,id0,some event 0 2 | 1,id1,some event 1 3 | 2,id2,some event 2 4 | 3,id3,some event 3 5 | 4,id4,some event 4 6 | -------------------------------------------------------------------------------- /parallel/fdlimit/fdlimit_windows.go: -------------------------------------------------------------------------------- 1 | //go:build windows 2 | // +build windows 3 | 4 | package fdlimit 5 | 6 | func Raise() error { return nil } 7 | -------------------------------------------------------------------------------- /vendor/honnef.co/go/tools/knowledge/doc.go: -------------------------------------------------------------------------------- 1 | // Package knowledge contains manually collected information about Go APIs. 2 | package knowledge 3 | -------------------------------------------------------------------------------- /vendor/github.com/igungor/gofakes3/.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "s3test/s3-tests"] 2 | path = s3test/s3-tests 3 | url = https://github.com/ceph/s3-tests 4 | -------------------------------------------------------------------------------- /vendor/github.com/VividCortex/ewma/codecov.yml: -------------------------------------------------------------------------------- 1 | coverage: 2 | status: 3 | project: 4 | default: 5 | threshold: 15% 6 | patch: off 7 | -------------------------------------------------------------------------------- /vendor/honnef.co/go/tools/go/ir/write.go: -------------------------------------------------------------------------------- 1 | package ir 2 | 3 | func NewJump(parent *BasicBlock) *Jump { 4 | return &Jump{anInstruction{block: parent}} 5 | } 6 | -------------------------------------------------------------------------------- /vendor/github.com/aws/aws-sdk-go/NOTICE.txt: -------------------------------------------------------------------------------- 1 | AWS SDK for Go 2 | Copyright 2015 Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | Copyright 2014-2015 Stripe, Inc. 4 | -------------------------------------------------------------------------------- /vendor/github.com/igungor/gofakes3/.gitignore: -------------------------------------------------------------------------------- 1 | .idea/ 2 | *.DS_Store 3 | DS_Store 4 | node_modules/ 5 | logs/ 6 | *.db 7 | s3f_* 8 | *.test 9 | *.out 10 | build/ 11 | -------------------------------------------------------------------------------- /vendor/github.com/kballard/go-shellquote/doc.go: -------------------------------------------------------------------------------- 1 | // Shellquote provides utilities for joining/splitting strings using sh's 2 | // word-splitting rules. 3 | package shellquote 4 | -------------------------------------------------------------------------------- /vendor/github.com/igungor/gofakes3/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM scratch 2 | ADD ca-certificates.crt /etc/ssl/certs/ 3 | ADD build/main / 4 | EXPOSE 9000 5 | CMD ["/main", "-backend", "mem"] 6 | -------------------------------------------------------------------------------- /vendor/github.com/iancoleman/strcase/.travis.yml: -------------------------------------------------------------------------------- 1 | sudo: false 2 | language: go 3 | go: 4 | - 1.7.x 5 | - 1.8.x 6 | - 1.9.x 7 | - 1.10.x 8 | - 1.11.x 9 | - master 10 | -------------------------------------------------------------------------------- /vendor/github.com/urfave/cli/v2/.gitignore: -------------------------------------------------------------------------------- 1 | *.coverprofile 2 | *.orig 3 | vendor 4 | .idea 5 | internal/*/built-example 6 | coverage.txt 7 | /.local/ 8 | /site/ 9 | 10 | *.exe 11 | -------------------------------------------------------------------------------- /vendor/github.com/aws/aws-sdk-go/aws/credentials/ssocreds/os_windows.go: -------------------------------------------------------------------------------- 1 | package ssocreds 2 | 3 | import "os" 4 | 5 | func getHomeDirectory() string { 6 | return os.Getenv("USERPROFILE") 7 | } 8 | -------------------------------------------------------------------------------- /vendor/github.com/xrash/smetrics/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | go: 3 | - 1.11 4 | - 1.12 5 | - 1.13 6 | - 1.14.x 7 | - master 8 | script: 9 | - cd tests && make 10 | -------------------------------------------------------------------------------- /vendor/github.com/aws/aws-sdk-go/internal/ini/empty_token.go: -------------------------------------------------------------------------------- 1 | package ini 2 | 3 | // emptyToken is used to satisfy the Token interface 4 | var emptyToken = newToken(TokenNone, []rune{}, NoneType) 5 | -------------------------------------------------------------------------------- /vendor/github.com/urfave/cli/v2/mkdocs-requirements.txt: -------------------------------------------------------------------------------- 1 | mkdocs-git-revision-date-localized-plugin~=1.0 2 | mkdocs-material-extensions~=1.0 3 | mkdocs-material~=8.2 4 | mkdocs~=1.3 5 | pygments~=2.12 6 | -------------------------------------------------------------------------------- /internal/tools/tools.go: -------------------------------------------------------------------------------- 1 | //go:build tools 2 | 3 | package tools 4 | 5 | import ( 6 | _ "go.uber.org/mock/mockgen" 7 | _ "honnef.co/go/tools/cmd/staticcheck" 8 | _ "mvdan.cc/unparam" 9 | ) 10 | -------------------------------------------------------------------------------- /vendor/github.com/karrick/godirwalk/debug_release.go: -------------------------------------------------------------------------------- 1 | // +build !godirwalk_debug 2 | 3 | package godirwalk 4 | 5 | // debug is a no-op for release builds 6 | func debug(_ string, _ ...interface{}) {} 7 | -------------------------------------------------------------------------------- /vendor/github.com/pkg/errors/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | go_import_path: github.com/pkg/errors 3 | go: 4 | - 1.11.x 5 | - 1.12.x 6 | - 1.13.x 7 | - tip 8 | 9 | script: 10 | - make check 11 | -------------------------------------------------------------------------------- /vendor/honnef.co/go/tools/internal/renameio/UPSTREAM: -------------------------------------------------------------------------------- 1 | This package is a copy of cmd/go/internal/renameio. 2 | The upstream package no longer exists, as the Go project replaced all of its uses with the lockedfile package. 3 | -------------------------------------------------------------------------------- /vendor/github.com/aws/aws-sdk-go/service/s3/s3manager/doc.go: -------------------------------------------------------------------------------- 1 | // Package s3manager provides utilities to upload and download objects from 2 | // S3 concurrently. Helpful for when working with large objects. 3 | package s3manager 4 | -------------------------------------------------------------------------------- /vendor/github.com/urfave/cli/v2/sliceflag_pre18.go: -------------------------------------------------------------------------------- 1 | //go:build !go1.18 2 | // +build !go1.18 3 | 4 | package cli 5 | 6 | import ( 7 | "flag" 8 | ) 9 | 10 | func unwrapFlagValue(v flag.Value) flag.Value { return v } 11 | -------------------------------------------------------------------------------- /vendor/go.etcd.io/bbolt/boltsync_unix.go: -------------------------------------------------------------------------------- 1 | // +build !windows,!plan9,!linux,!openbsd 2 | 3 | package bbolt 4 | 5 | // fdatasync flushes written data to a file descriptor. 6 | func fdatasync(db *DB) error { 7 | return db.file.Sync() 8 | } 9 | -------------------------------------------------------------------------------- /vendor/github.com/aws/aws-sdk-go/aws/credentials/ssocreds/os.go: -------------------------------------------------------------------------------- 1 | //go:build !windows 2 | // +build !windows 3 | 4 | package ssocreds 5 | 6 | import "os" 7 | 8 | func getHomeDirectory() string { 9 | return os.Getenv("HOME") 10 | } 11 | -------------------------------------------------------------------------------- /vendor/github.com/aws/aws-sdk-go/service/s3/s3manager/default_writer_read_from.go: -------------------------------------------------------------------------------- 1 | //go:build !windows 2 | // +build !windows 3 | 4 | package s3manager 5 | 6 | func defaultDownloadBufferProvider() WriterReadFromProvider { 7 | return nil 8 | } 9 | -------------------------------------------------------------------------------- /vendor/github.com/karrick/godirwalk/inoWithIno.go: -------------------------------------------------------------------------------- 1 | // +build aix darwin linux nacl solaris 2 | 3 | package godirwalk 4 | 5 | import "syscall" 6 | 7 | func inoFromDirent(de *syscall.Dirent) uint64 { 8 | return uint64(de.Ino) 9 | } 10 | -------------------------------------------------------------------------------- /vendor/github.com/karrick/godirwalk/reclenFromNamlen.go: -------------------------------------------------------------------------------- 1 | // +build dragonfly 2 | 3 | package godirwalk 4 | 5 | import "syscall" 6 | 7 | func reclen(de *syscall.Dirent) uint64 { 8 | return (16 + uint64(de.Namlen) + 1 + 7) &^ 7 9 | } 10 | -------------------------------------------------------------------------------- /vendor/github.com/aws/aws-sdk-go/service/s3/s3manager/default_read_seeker_write_to.go: -------------------------------------------------------------------------------- 1 | //go:build !windows 2 | // +build !windows 3 | 4 | package s3manager 5 | 6 | func defaultUploadBufferProvider() ReadSeekerWriteToProvider { 7 | return nil 8 | } 9 | -------------------------------------------------------------------------------- /vendor/github.com/aws/aws-sdk-go/service/s3/s3manager/default_read_seeker_write_to_windows.go: -------------------------------------------------------------------------------- 1 | package s3manager 2 | 3 | func defaultUploadBufferProvider() ReadSeekerWriteToProvider { 4 | return NewBufferedReadSeekerWriteToPool(1024 * 1024) 5 | } 6 | -------------------------------------------------------------------------------- /vendor/github.com/aws/aws-sdk-go/service/s3/s3manager/default_writer_read_from_windows.go: -------------------------------------------------------------------------------- 1 | package s3manager 2 | 3 | func defaultDownloadBufferProvider() WriterReadFromProvider { 4 | return NewPooledBufferedWriterReadFromProvider(1024 * 1024) 5 | } 6 | -------------------------------------------------------------------------------- /vendor/github.com/karrick/godirwalk/inoWithFileno.go: -------------------------------------------------------------------------------- 1 | // +build dragonfly freebsd openbsd netbsd 2 | 3 | package godirwalk 4 | 5 | import "syscall" 6 | 7 | func inoFromDirent(de *syscall.Dirent) uint64 { 8 | return uint64(de.Fileno) 9 | } 10 | -------------------------------------------------------------------------------- /vendor/honnef.co/go/tools/printf/fuzz.go: -------------------------------------------------------------------------------- 1 | //go:build gofuzz 2 | // +build gofuzz 3 | 4 | package printf 5 | 6 | func Fuzz(data []byte) int { 7 | _, err := Parse(string(data)) 8 | if err == nil { 9 | return 1 10 | } 11 | return 0 12 | } 13 | -------------------------------------------------------------------------------- /vendor/github.com/aws/aws-sdk-go/aws/signer/v4/options.go: -------------------------------------------------------------------------------- 1 | package v4 2 | 3 | // WithUnsignedPayload will enable and set the UnsignedPayload field to 4 | // true of the signer. 5 | func WithUnsignedPayload(v4 *Signer) { 6 | v4.UnsignedPayload = true 7 | } 8 | -------------------------------------------------------------------------------- /vendor/github.com/aws/aws-sdk-go/service/s3/platform_handlers.go: -------------------------------------------------------------------------------- 1 | //go:build !go1.6 2 | // +build !go1.6 3 | 4 | package s3 5 | 6 | import "github.com/aws/aws-sdk-go/aws/request" 7 | 8 | func platformRequestHandlers(r *request.Request) { 9 | } 10 | -------------------------------------------------------------------------------- /vendor/github.com/cheggaaa/pb/v3/termutil/term_linux.go: -------------------------------------------------------------------------------- 1 | //go:build linux && !appengine 2 | // +build linux,!appengine 3 | 4 | package termutil 5 | 6 | const ioctlReadTermios = 0x5401 // syscall.TCGETS 7 | const ioctlWriteTermios = 0x5402 // syscall.TCSETS 8 | -------------------------------------------------------------------------------- /vendor/go.etcd.io/bbolt/bolt_linux.go: -------------------------------------------------------------------------------- 1 | package bbolt 2 | 3 | import ( 4 | "syscall" 5 | ) 6 | 7 | // fdatasync flushes written data to a file descriptor. 8 | func fdatasync(db *DB) error { 9 | return syscall.Fdatasync(int(db.file.Fd())) 10 | } 11 | -------------------------------------------------------------------------------- /e2e/main_test.go: -------------------------------------------------------------------------------- 1 | package e2e 2 | 3 | import ( 4 | "flag" 5 | "os" 6 | "testing" 7 | ) 8 | 9 | func TestMain(m *testing.M) { 10 | flag.Parse() 11 | 12 | cleanup := goBuildS5cmd() 13 | code := m.Run() 14 | cleanup() 15 | os.Exit(code) 16 | } 17 | -------------------------------------------------------------------------------- /vendor/github.com/mattn/go-runewidth/runewidth_appengine.go: -------------------------------------------------------------------------------- 1 | //go:build appengine 2 | // +build appengine 3 | 4 | package runewidth 5 | 6 | // IsEastAsian return true if the current locale is CJK 7 | func IsEastAsian() bool { 8 | return false 9 | } 10 | -------------------------------------------------------------------------------- /vendor/github.com/karrick/godirwalk/reclenFromReclen.go: -------------------------------------------------------------------------------- 1 | // +build nacl linux js solaris aix darwin freebsd netbsd openbsd 2 | 3 | package godirwalk 4 | 5 | import "syscall" 6 | 7 | func reclen(de *syscall.Dirent) uint64 { 8 | return uint64(de.Reclen) 9 | } 10 | -------------------------------------------------------------------------------- /vendor/go.etcd.io/bbolt/bolt_386.go: -------------------------------------------------------------------------------- 1 | package bbolt 2 | 3 | // maxMapSize represents the largest mmap size supported by Bolt. 4 | const maxMapSize = 0x7FFFFFFF // 2GB 5 | 6 | // maxAllocSize is the size used when creating array pointers. 7 | const maxAllocSize = 0xFFFFFFF 8 | -------------------------------------------------------------------------------- /vendor/go.etcd.io/bbolt/bolt_arm.go: -------------------------------------------------------------------------------- 1 | package bbolt 2 | 3 | // maxMapSize represents the largest mmap size supported by Bolt. 4 | const maxMapSize = 0x7FFFFFFF // 2GB 5 | 6 | // maxAllocSize is the size used when creating array pointers. 7 | const maxAllocSize = 0xFFFFFFF 8 | -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- 1 | FROM golang:1.22-alpine AS build 2 | COPY . /s5cmd/ 3 | RUN apk add --no-cache git make && \ 4 | cd /s5cmd/ && \ 5 | CGO_ENABLED=0 make build 6 | 7 | FROM alpine:3.20 8 | COPY --from=build /s5cmd/s5cmd . 9 | WORKDIR /aws 10 | ENTRYPOINT ["/s5cmd"] 11 | -------------------------------------------------------------------------------- /e2e/testdata/parquet/output.json: -------------------------------------------------------------------------------- 1 | {"line":"0","id":"id0","data":"some event 0"} 2 | {"line":"1","id":"id1","data":"some event 1"} 3 | {"line":"2","id":"id2","data":"some event 2"} 4 | {"line":"3","id":"id3","data":"some event 3"} 5 | {"line":"4","id":"id4","data":"some event 4"} 6 | -------------------------------------------------------------------------------- /vendor/honnef.co/go/tools/lintcmd/stats_posix.go: -------------------------------------------------------------------------------- 1 | //go:build aix || android || linux || solaris 2 | // +build aix android linux solaris 3 | 4 | package lintcmd 5 | 6 | import ( 7 | "os" 8 | "syscall" 9 | ) 10 | 11 | var infoSignals = []os.Signal{syscall.SIGUSR1} 12 | -------------------------------------------------------------------------------- /vendor/go.etcd.io/bbolt/bolt_amd64.go: -------------------------------------------------------------------------------- 1 | package bbolt 2 | 3 | // maxMapSize represents the largest mmap size supported by Bolt. 4 | const maxMapSize = 0xFFFFFFFFFFFF // 256TB 5 | 6 | // maxAllocSize is the size used when creating array pointers. 7 | const maxAllocSize = 0x7FFFFFFF 8 | -------------------------------------------------------------------------------- /vendor/github.com/aws/aws-sdk-go/internal/ini/comma_token.go: -------------------------------------------------------------------------------- 1 | package ini 2 | 3 | var commaRunes = []rune(",") 4 | 5 | func isComma(b rune) bool { 6 | return b == ',' 7 | } 8 | 9 | func newCommaToken() Token { 10 | return newToken(TokenComma, commaRunes, NoneType) 11 | } 12 | -------------------------------------------------------------------------------- /vendor/github.com/cheggaaa/pb/v3/termutil/term_solaris.go: -------------------------------------------------------------------------------- 1 | //go:build solaris && !appengine 2 | // +build solaris,!appengine 3 | 4 | package termutil 5 | 6 | const ioctlReadTermios = 0x5401 // syscall.TCGETS 7 | const ioctlWriteTermios = 0x5402 // syscall.TCSETS 8 | const sysIoctl = 54 9 | -------------------------------------------------------------------------------- /storage/fs_test.go: -------------------------------------------------------------------------------- 1 | package storage 2 | 3 | import "testing" 4 | 5 | func TestFilesystemImplementsStorageInterface(t *testing.T) { 6 | var i interface{} = new(Filesystem) 7 | if _, ok := i.(Storage); !ok { 8 | t.Errorf("expected %t to implement Storage interface", i) 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /vendor/github.com/rivo/uniseg/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Package uniseg implements Unicode Text Segmentation according to Unicode 3 | Standard Annex #29 (http://unicode.org/reports/tr29/). 4 | 5 | At this point, only the determination of grapheme cluster boundaries is 6 | implemented. 7 | */ 8 | package uniseg 9 | -------------------------------------------------------------------------------- /vendor/github.com/mattn/go-runewidth/runewidth_js.go: -------------------------------------------------------------------------------- 1 | //go:build js && !appengine 2 | // +build js,!appengine 3 | 4 | package runewidth 5 | 6 | func IsEastAsian() bool { 7 | // TODO: Implement this for the web. Detect east asian in a compatible way, and return true. 8 | return false 9 | } 10 | -------------------------------------------------------------------------------- /vendor/github.com/aws/aws-sdk-go/aws/version.go: -------------------------------------------------------------------------------- 1 | // Package aws provides core functionality for making requests to AWS services. 2 | package aws 3 | 4 | // SDKName is the name of this AWS SDK 5 | const SDKName = "aws-sdk-go" 6 | 7 | // SDKVersion is the version of this SDK 8 | const SDKVersion = "1.44.298" 9 | -------------------------------------------------------------------------------- /vendor/github.com/aws/aws-sdk-go/internal/shareddefaults/shared_config_resolve_home_go1.12.go: -------------------------------------------------------------------------------- 1 | //go:build go1.12 2 | // +build go1.12 3 | 4 | package shareddefaults 5 | 6 | import ( 7 | "os" 8 | ) 9 | 10 | func userHomeDir() string { 11 | home, _ := os.UserHomeDir() 12 | return home 13 | } 14 | -------------------------------------------------------------------------------- /vendor/go.etcd.io/bbolt/bolt_ppc.go: -------------------------------------------------------------------------------- 1 | // +build ppc 2 | 3 | package bbolt 4 | 5 | // maxMapSize represents the largest mmap size supported by Bolt. 6 | const maxMapSize = 0x7FFFFFFF // 2GB 7 | 8 | // maxAllocSize is the size used when creating array pointers. 9 | const maxAllocSize = 0xFFFFFFF 10 | -------------------------------------------------------------------------------- /vendor/honnef.co/go/tools/lintcmd/stats_bsd.go: -------------------------------------------------------------------------------- 1 | //go:build darwin || dragonfly || freebsd || netbsd || openbsd 2 | // +build darwin dragonfly freebsd netbsd openbsd 3 | 4 | package lintcmd 5 | 6 | import ( 7 | "os" 8 | "syscall" 9 | ) 10 | 11 | var infoSignals = []os.Signal{syscall.SIGINFO} 12 | -------------------------------------------------------------------------------- /vendor/github.com/aws/aws-sdk-go/aws/signer/v4/request_context_go1.7.go: -------------------------------------------------------------------------------- 1 | //go:build go1.7 2 | // +build go1.7 3 | 4 | package v4 5 | 6 | import ( 7 | "net/http" 8 | 9 | "github.com/aws/aws-sdk-go/aws" 10 | ) 11 | 12 | func requestContext(r *http.Request) aws.Context { 13 | return r.Context() 14 | } 15 | -------------------------------------------------------------------------------- /vendor/go.etcd.io/bbolt/bolt_arm64.go: -------------------------------------------------------------------------------- 1 | // +build arm64 2 | 3 | package bbolt 4 | 5 | // maxMapSize represents the largest mmap size supported by Bolt. 6 | const maxMapSize = 0xFFFFFFFFFFFF // 256TB 7 | 8 | // maxAllocSize is the size used when creating array pointers. 9 | const maxAllocSize = 0x7FFFFFFF 10 | -------------------------------------------------------------------------------- /vendor/go.etcd.io/bbolt/bolt_mipsx.go: -------------------------------------------------------------------------------- 1 | // +build mips mipsle 2 | 3 | package bbolt 4 | 5 | // maxMapSize represents the largest mmap size supported by Bolt. 6 | const maxMapSize = 0x40000000 // 1GB 7 | 8 | // maxAllocSize is the size used when creating array pointers. 9 | const maxAllocSize = 0xFFFFFFF 10 | -------------------------------------------------------------------------------- /vendor/go.etcd.io/bbolt/bolt_ppc64.go: -------------------------------------------------------------------------------- 1 | // +build ppc64 2 | 3 | package bbolt 4 | 5 | // maxMapSize represents the largest mmap size supported by Bolt. 6 | const maxMapSize = 0xFFFFFFFFFFFF // 256TB 7 | 8 | // maxAllocSize is the size used when creating array pointers. 9 | const maxAllocSize = 0x7FFFFFFF 10 | -------------------------------------------------------------------------------- /vendor/go.etcd.io/bbolt/bolt_s390x.go: -------------------------------------------------------------------------------- 1 | // +build s390x 2 | 3 | package bbolt 4 | 5 | // maxMapSize represents the largest mmap size supported by Bolt. 6 | const maxMapSize = 0xFFFFFFFFFFFF // 256TB 7 | 8 | // maxAllocSize is the size used when creating array pointers. 9 | const maxAllocSize = 0x7FFFFFFF 10 | -------------------------------------------------------------------------------- /vendor/go.etcd.io/bbolt/bolt_ppc64le.go: -------------------------------------------------------------------------------- 1 | // +build ppc64le 2 | 3 | package bbolt 4 | 5 | // maxMapSize represents the largest mmap size supported by Bolt. 6 | const maxMapSize = 0xFFFFFFFFFFFF // 256TB 7 | 8 | // maxAllocSize is the size used when creating array pointers. 9 | const maxAllocSize = 0x7FFFFFFF 10 | -------------------------------------------------------------------------------- /vendor/go.etcd.io/bbolt/bolt_riscv64.go: -------------------------------------------------------------------------------- 1 | // +build riscv64 2 | 3 | package bbolt 4 | 5 | // maxMapSize represents the largest mmap size supported by Bolt. 6 | const maxMapSize = 0xFFFFFFFFFFFF // 256TB 7 | 8 | // maxAllocSize is the size used when creating array pointers. 9 | const maxAllocSize = 0x7FFFFFFF 10 | -------------------------------------------------------------------------------- /vendor/honnef.co/go/tools/go/buildid/UPSTREAM: -------------------------------------------------------------------------------- 1 | This package extracts buildid.go and note.go from cmd/internal/buildid/. 2 | 3 | We have modified it to remove support for AIX big archive files, to cut down on our dependencies. 4 | 5 | The last upstream commit we've looked at was: 639acdc833bfd12b7edd43092d1b380d70cb2874 6 | -------------------------------------------------------------------------------- /vendor/github.com/aws/aws-sdk-go/aws/signer/v4/request_context_go1.5.go: -------------------------------------------------------------------------------- 1 | //go:build !go1.7 2 | // +build !go1.7 3 | 4 | package v4 5 | 6 | import ( 7 | "net/http" 8 | 9 | "github.com/aws/aws-sdk-go/aws" 10 | ) 11 | 12 | func requestContext(r *http.Request) aws.Context { 13 | return aws.BackgroundContext() 14 | } 15 | -------------------------------------------------------------------------------- /vendor/go.etcd.io/bbolt/bolt_mips64x.go: -------------------------------------------------------------------------------- 1 | // +build mips64 mips64le 2 | 3 | package bbolt 4 | 5 | // maxMapSize represents the largest mmap size supported by Bolt. 6 | const maxMapSize = 0x8000000000 // 512GB 7 | 8 | // maxAllocSize is the size used when creating array pointers. 9 | const maxAllocSize = 0x7FFFFFFF 10 | -------------------------------------------------------------------------------- /vendor/honnef.co/go/tools/lintcmd/stats.go: -------------------------------------------------------------------------------- 1 | //go:build !aix && !android && !darwin && !dragonfly && !freebsd && !linux && !netbsd && !openbsd && !solaris 2 | // +build !aix,!android,!darwin,!dragonfly,!freebsd,!linux,!netbsd,!openbsd,!solaris 3 | 4 | package lintcmd 5 | 6 | import "os" 7 | 8 | var infoSignals = []os.Signal{} 9 | -------------------------------------------------------------------------------- /vendor/github.com/aws/aws-sdk-go/internal/ini/fuzz.go: -------------------------------------------------------------------------------- 1 | //go:build gofuzz 2 | // +build gofuzz 3 | 4 | package ini 5 | 6 | import ( 7 | "bytes" 8 | ) 9 | 10 | func Fuzz(data []byte) int { 11 | b := bytes.NewReader(data) 12 | 13 | if _, err := Parse(b); err != nil { 14 | return 0 15 | } 16 | 17 | return 1 18 | } 19 | -------------------------------------------------------------------------------- /vendor/github.com/cheggaaa/pb/v3/termutil/term_nix.go: -------------------------------------------------------------------------------- 1 | //go:build (linux || darwin || freebsd || netbsd || openbsd || dragonfly) && !appengine 2 | // +build linux darwin freebsd netbsd openbsd dragonfly 3 | // +build !appengine 4 | 5 | package termutil 6 | 7 | import "syscall" 8 | 9 | const sysIoctl = syscall.SYS_IOCTL 10 | -------------------------------------------------------------------------------- /vendor/github.com/aws/aws-sdk-go/internal/sdkio/byte.go: -------------------------------------------------------------------------------- 1 | package sdkio 2 | 3 | const ( 4 | // Byte is 8 bits 5 | Byte int64 = 1 6 | // KibiByte (KiB) is 1024 Bytes 7 | KibiByte = Byte * 1024 8 | // MebiByte (MiB) is 1024 KiB 9 | MebiByte = KibiByte * 1024 10 | // GibiByte (GiB) is 1024 MiB 11 | GibiByte = MebiByte * 1024 12 | ) 13 | -------------------------------------------------------------------------------- /vendor/golang.org/x/tools/internal/pkgbits/flags.go: -------------------------------------------------------------------------------- 1 | // Copyright 2022 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package pkgbits 6 | 7 | const ( 8 | flagSyncMarkers = 1 << iota // file format contains sync markers 9 | ) 10 | -------------------------------------------------------------------------------- /vendor/github.com/aws/aws-sdk-go/internal/sdkrand/read.go: -------------------------------------------------------------------------------- 1 | //go:build go1.6 2 | // +build go1.6 3 | 4 | package sdkrand 5 | 6 | import "math/rand" 7 | 8 | // Read provides the stub for math.Rand.Read method support for go version's 9 | // 1.6 and greater. 10 | func Read(r *rand.Rand, p []byte) (int, error) { 11 | return r.Read(p) 12 | } 13 | -------------------------------------------------------------------------------- /vendor/go.etcd.io/bbolt/mlock_windows.go: -------------------------------------------------------------------------------- 1 | package bbolt 2 | 3 | // mlock locks memory of db file 4 | func mlock(_ *DB, _ int) error { 5 | panic("mlock is supported only on UNIX systems") 6 | } 7 | 8 | //munlock unlocks memory of db file 9 | func munlock(_ *DB, _ int) error { 10 | panic("munlock is supported only on UNIX systems") 11 | } 12 | -------------------------------------------------------------------------------- /vendor/github.com/aws/aws-sdk-go/private/protocol/eventstream/eventstreamapi/transport.go: -------------------------------------------------------------------------------- 1 | //go:build go1.18 2 | // +build go1.18 3 | 4 | package eventstreamapi 5 | 6 | import "github.com/aws/aws-sdk-go/aws/request" 7 | 8 | // ApplyHTTPTransportFixes is a no-op for Go 1.18 and above. 9 | func ApplyHTTPTransportFixes(r *request.Request) { 10 | } 11 | -------------------------------------------------------------------------------- /vendor/github.com/aws/aws-sdk-go/service/sts/customizations.go: -------------------------------------------------------------------------------- 1 | package sts 2 | 3 | import "github.com/aws/aws-sdk-go/aws/request" 4 | 5 | func init() { 6 | initRequest = customizeRequest 7 | } 8 | 9 | func customizeRequest(r *request.Request) { 10 | r.RetryErrorCodes = append(r.RetryErrorCodes, ErrCodeIDPCommunicationErrorException) 11 | } 12 | -------------------------------------------------------------------------------- /vendor/github.com/aws/aws-sdk-go/aws/credentials/example.ini: -------------------------------------------------------------------------------- 1 | [default] 2 | aws_access_key_id = accessKey 3 | aws_secret_access_key = secret 4 | aws_session_token = token 5 | 6 | [no_token] 7 | aws_access_key_id = accessKey 8 | aws_secret_access_key = secret 9 | 10 | [with_colon] 11 | aws_access_key_id: accessKey 12 | aws_secret_access_key: secret 13 | -------------------------------------------------------------------------------- /vendor/golang.org/x/tools/internal/event/doc.go: -------------------------------------------------------------------------------- 1 | // Copyright 2019 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // Package event provides a set of packages that cover the main 6 | // concepts of telemetry in an implementation agnostic way. 7 | package event 8 | -------------------------------------------------------------------------------- /vendor/github.com/cheggaaa/pb/v3/termutil/term_bsd.go: -------------------------------------------------------------------------------- 1 | //go:build (darwin || freebsd || netbsd || openbsd || dragonfly) && !appengine 2 | // +build darwin freebsd netbsd openbsd dragonfly 3 | // +build !appengine 4 | 5 | package termutil 6 | 7 | import "syscall" 8 | 9 | const ioctlReadTermios = syscall.TIOCGETA 10 | const ioctlWriteTermios = syscall.TIOCSETA 11 | -------------------------------------------------------------------------------- /vendor/github.com/mattn/go-isatty/go.test.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -e 4 | echo "" > coverage.txt 5 | 6 | for d in $(go list ./... | grep -v vendor); do 7 | go test -race -coverprofile=profile.out -covermode=atomic "$d" 8 | if [ -f profile.out ]; then 9 | cat profile.out >> coverage.txt 10 | rm profile.out 11 | fi 12 | done 13 | -------------------------------------------------------------------------------- /vendor/golang.org/x/tools/internal/gcimporter/unified_yes.go: -------------------------------------------------------------------------------- 1 | // Copyright 2022 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build goexperiment.unified 6 | // +build goexperiment.unified 7 | 8 | package gcimporter 9 | 10 | const unifiedIR = true 11 | -------------------------------------------------------------------------------- /vendor/github.com/mattn/go-colorable/go.test.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -e 4 | echo "" > coverage.txt 5 | 6 | for d in $(go list ./... | grep -v vendor); do 7 | go test -race -coverprofile=profile.out -covermode=atomic "$d" 8 | if [ -f profile.out ]; then 9 | cat profile.out >> coverage.txt 10 | rm profile.out 11 | fi 12 | done 13 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/ptrace_ios.go: -------------------------------------------------------------------------------- 1 | // Copyright 2020 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build ios 6 | 7 | package unix 8 | 9 | func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { 10 | return ENOTSUP 11 | } 12 | -------------------------------------------------------------------------------- /vendor/golang.org/x/tools/internal/gcimporter/unified_no.go: -------------------------------------------------------------------------------- 1 | // Copyright 2022 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build !goexperiment.unified 6 | // +build !goexperiment.unified 7 | 8 | package gcimporter 9 | 10 | const unifiedIR = false 11 | -------------------------------------------------------------------------------- /vendor/honnef.co/go/tools/internal/robustio/UPSTREAM: -------------------------------------------------------------------------------- 1 | This package is a copy of cmd/go/internal/robustio. 2 | It is mostly in sync with upstream according to the last commit we've looked at, 3 | with the exception of still using I/O functions that work with older Go versions. 4 | 5 | The last upstream commit we've looked at was: 6 | dc04f3ba1f25313bc9c97e728620206c235db9ee 7 | -------------------------------------------------------------------------------- /vendor/github.com/aws/aws-sdk-go/internal/sdkio/io_go1.6.go: -------------------------------------------------------------------------------- 1 | //go:build !go1.7 2 | // +build !go1.7 3 | 4 | package sdkio 5 | 6 | // Copy of Go 1.7 io package's Seeker constants. 7 | const ( 8 | SeekStart = 0 // seek relative to the origin of the file 9 | SeekCurrent = 1 // seek relative to the current offset 10 | SeekEnd = 2 // seek relative to the end 11 | ) 12 | -------------------------------------------------------------------------------- /vendor/go.etcd.io/bbolt/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | go_import_path: go.etcd.io/bbolt 3 | 4 | sudo: false 5 | 6 | go: 7 | - 1.15 8 | 9 | before_install: 10 | - go get -v golang.org/x/sys/unix 11 | - go get -v honnef.co/go/tools/... 12 | - go get -v github.com/kisielk/errcheck 13 | 14 | script: 15 | - make fmt 16 | - make test 17 | - make race 18 | # - make errcheck 19 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/windows/aliases.go: -------------------------------------------------------------------------------- 1 | // Copyright 2018 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build windows 6 | 7 | package windows 8 | 9 | import "syscall" 10 | 11 | type Errno = syscall.Errno 12 | type SysProcAttr = syscall.SysProcAttr 13 | -------------------------------------------------------------------------------- /vendor/github.com/aws/aws-sdk-go/aws/url.go: -------------------------------------------------------------------------------- 1 | //go:build go1.8 2 | // +build go1.8 3 | 4 | package aws 5 | 6 | import "net/url" 7 | 8 | // URLHostname will extract the Hostname without port from the URL value. 9 | // 10 | // Wrapper of net/url#URL.Hostname for backwards Go version compatibility. 11 | func URLHostname(url *url.URL) string { 12 | return url.Hostname() 13 | } 14 | -------------------------------------------------------------------------------- /main.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "os" 6 | "os/signal" 7 | "syscall" 8 | 9 | "github.com/peak/s5cmd/v2/command" 10 | ) 11 | 12 | func main() { 13 | ctx, cancel := signal.NotifyContext(context.Background(), os.Interrupt, syscall.SIGTERM) 14 | defer cancel() 15 | 16 | if err := command.Main(ctx, os.Args); err != nil { 17 | os.Exit(1) 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /vendor/github.com/aws/aws-sdk-go/aws/jsonvalue.go: -------------------------------------------------------------------------------- 1 | package aws 2 | 3 | // JSONValue is a representation of a grab bag type that will be marshaled 4 | // into a json string. This type can be used just like any other map. 5 | // 6 | // Example: 7 | // 8 | // values := aws.JSONValue{ 9 | // "Foo": "Bar", 10 | // } 11 | // values["Baz"] = "Qux" 12 | type JSONValue map[string]interface{} 13 | -------------------------------------------------------------------------------- /vendor/github.com/aws/aws-sdk-go/internal/strings/strings.go: -------------------------------------------------------------------------------- 1 | package strings 2 | 3 | import ( 4 | "strings" 5 | ) 6 | 7 | // HasPrefixFold tests whether the string s begins with prefix, interpreted as UTF-8 strings, 8 | // under Unicode case-folding. 9 | func HasPrefixFold(s, prefix string) bool { 10 | return len(s) >= len(prefix) && strings.EqualFold(s[0:len(prefix)], prefix) 11 | } 12 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/syscall_linux_amd64_gc.go: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build amd64 && linux && gc 6 | 7 | package unix 8 | 9 | import "syscall" 10 | 11 | //go:noescape 12 | func gettimeofday(tv *Timeval) (err syscall.Errno) 13 | -------------------------------------------------------------------------------- /vendor/github.com/karrick/godirwalk/debug_development.go: -------------------------------------------------------------------------------- 1 | // +build godirwalk_debug 2 | 3 | package godirwalk 4 | 5 | import ( 6 | "fmt" 7 | "os" 8 | ) 9 | 10 | // debug formats and prints arguments to stderr for development builds 11 | func debug(f string, a ...interface{}) { 12 | // fmt.Fprintf(os.Stderr, f, a...) 13 | os.Stderr.Write([]byte("godirwalk: " + fmt.Sprintf(f, a...))) 14 | } 15 | -------------------------------------------------------------------------------- /vendor/github.com/aws/aws-sdk-go/aws/context_1_9.go: -------------------------------------------------------------------------------- 1 | //go:build go1.9 2 | // +build go1.9 3 | 4 | package aws 5 | 6 | import "context" 7 | 8 | // Context is an alias of the Go stdlib's context.Context interface. 9 | // It can be used within the SDK's API operation "WithContext" methods. 10 | // 11 | // See https://golang.org/pkg/context on how to use contexts. 12 | type Context = context.Context 13 | -------------------------------------------------------------------------------- /vendor/github.com/aws/aws-sdk-go/internal/sdkmath/floor.go: -------------------------------------------------------------------------------- 1 | //go:build go1.10 2 | // +build go1.10 3 | 4 | package sdkmath 5 | 6 | import "math" 7 | 8 | // Round returns the nearest integer, rounding half away from zero. 9 | // 10 | // Special cases are: 11 | // Round(±0) = ±0 12 | // Round(±Inf) = ±Inf 13 | // Round(NaN) = NaN 14 | func Round(x float64) float64 { 15 | return math.Round(x) 16 | } 17 | -------------------------------------------------------------------------------- /vendor/github.com/aws/aws-sdk-go/internal/shareddefaults/shared_config_resolve_home.go: -------------------------------------------------------------------------------- 1 | //go:build !go1.12 2 | // +build !go1.12 3 | 4 | package shareddefaults 5 | 6 | import ( 7 | "os" 8 | "runtime" 9 | ) 10 | 11 | func userHomeDir() string { 12 | if runtime.GOOS == "windows" { // Windows 13 | return os.Getenv("USERPROFILE") 14 | } 15 | 16 | // *nix 17 | return os.Getenv("HOME") 18 | } 19 | -------------------------------------------------------------------------------- /vendor/github.com/google/go-cmp/cmp/internal/flags/flags.go: -------------------------------------------------------------------------------- 1 | // Copyright 2019, The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package flags 6 | 7 | // Deterministic controls whether the output of Diff should be deterministic. 8 | // This is only used for testing. 9 | var Deterministic bool 10 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/endian_big.go: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | // 5 | //go:build armbe || arm64be || m68k || mips || mips64 || mips64p32 || ppc || ppc64 || s390 || s390x || shbe || sparc || sparc64 6 | 7 | package unix 8 | 9 | const isBigEndian = true 10 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/ptrace_darwin.go: -------------------------------------------------------------------------------- 1 | // Copyright 2020 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build darwin && !ios 6 | 7 | package unix 8 | 9 | func ptrace(request int, pid int, addr uintptr, data uintptr) error { 10 | return ptrace1(request, pid, addr, data) 11 | } 12 | -------------------------------------------------------------------------------- /vendor/github.com/cheggaaa/pb/v3/termutil/term_appengine.go: -------------------------------------------------------------------------------- 1 | //go:build appengine 2 | // +build appengine 3 | 4 | package termutil 5 | 6 | import "errors" 7 | 8 | // terminalWidth returns width of the terminal, which is not supported 9 | // and should always failed on appengine classic which is a sandboxed PaaS. 10 | func TerminalWidth() (int, error) { 11 | return 0, errors.New("Not supported") 12 | } 13 | -------------------------------------------------------------------------------- /vendor/github.com/igungor/gofakes3/internal/s3io/io.go: -------------------------------------------------------------------------------- 1 | package s3io 2 | 3 | import "io" 4 | 5 | type ReaderWithDummyCloser struct{ io.Reader } 6 | 7 | func (d ReaderWithDummyCloser) Close() error { return nil } 8 | 9 | type NoOpReadCloser struct{} 10 | 11 | func (d NoOpReadCloser) Read(b []byte) (n int, err error) { return 0, io.EOF } 12 | 13 | func (d NoOpReadCloser) Close() error { return nil } 14 | -------------------------------------------------------------------------------- /vendor/github.com/pkg/errors/.gitignore: -------------------------------------------------------------------------------- 1 | # Compiled Object files, Static and Dynamic libs (Shared Objects) 2 | *.o 3 | *.a 4 | *.so 5 | 6 | # Folders 7 | _obj 8 | _test 9 | 10 | # Architecture specific extensions/prefixes 11 | *.[568vq] 12 | [568vq].out 13 | 14 | *.cgo1.go 15 | *.cgo2.c 16 | _cgo_defun.c 17 | _cgo_gotypes.go 18 | _cgo_export.* 19 | 20 | _testmain.go 21 | 22 | *.exe 23 | *.test 24 | *.prof 25 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/constants.go: -------------------------------------------------------------------------------- 1 | // Copyright 2015 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos 6 | 7 | package unix 8 | 9 | const ( 10 | R_OK = 0x4 11 | W_OK = 0x2 12 | X_OK = 0x1 13 | ) 14 | -------------------------------------------------------------------------------- /vendor/golang.org/x/tools/go/ssa/TODO: -------------------------------------------------------------------------------- 1 | -*- text -*- 2 | 3 | SSA Generics to-do list 4 | =========================== 5 | 6 | DOCUMENTATION: 7 | - Read me for internals 8 | 9 | TYPE PARAMETERIZED GENERIC FUNCTIONS: 10 | - sanity.go updates. 11 | - Check source functions going to generics. 12 | - Tests, tests, tests... 13 | 14 | USAGE: 15 | - Back fill users for handling ssa.InstantiateGenerics being off. 16 | 17 | -------------------------------------------------------------------------------- /vendor/golang.org/x/tools/internal/versions/toolchain_go119.go: -------------------------------------------------------------------------------- 1 | // Copyright 2024 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build go1.19 6 | // +build go1.19 7 | 8 | package versions 9 | 10 | func init() { 11 | if Compare(toolchain, Go1_19) < 0 { 12 | toolchain = Go1_19 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /vendor/golang.org/x/tools/internal/versions/toolchain_go120.go: -------------------------------------------------------------------------------- 1 | // Copyright 2024 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build go1.20 6 | // +build go1.20 7 | 8 | package versions 9 | 10 | func init() { 11 | if Compare(toolchain, Go1_20) < 0 { 12 | toolchain = Go1_20 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /vendor/golang.org/x/tools/internal/versions/toolchain_go121.go: -------------------------------------------------------------------------------- 1 | // Copyright 2024 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build go1.21 6 | // +build go1.21 7 | 8 | package versions 9 | 10 | func init() { 11 | if Compare(toolchain, Go1_21) < 0 { 12 | toolchain = Go1_21 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sync/errgroup/go120.go: -------------------------------------------------------------------------------- 1 | // Copyright 2023 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build go1.20 6 | 7 | package errgroup 8 | 9 | import "context" 10 | 11 | func withCancelCause(parent context.Context) (context.Context, func(error)) { 12 | return context.WithCancelCause(parent) 13 | } 14 | -------------------------------------------------------------------------------- /.github/semgrep-rules.yaml: -------------------------------------------------------------------------------- 1 | rules: 2 | - id: err-commented-debug-statements 3 | message: "Commented debug statements" 4 | languages: [go] 5 | severity: ERROR 6 | patterns: 7 | - pattern-regex: //\s*(fmt\.Print|println) 8 | 9 | - id: err-trailing-whitespaces 10 | message: "Trailing whitespace" 11 | languages: [go] 12 | severity: ERROR 13 | patterns: 14 | - pattern-regex: '[ \t]+$' 15 | -------------------------------------------------------------------------------- /vendor/github.com/aws/aws-sdk-go/internal/sdkio/io_go1.7.go: -------------------------------------------------------------------------------- 1 | //go:build go1.7 2 | // +build go1.7 3 | 4 | package sdkio 5 | 6 | import "io" 7 | 8 | // Alias for Go 1.7 io package Seeker constants 9 | const ( 10 | SeekStart = io.SeekStart // seek relative to the origin of the file 11 | SeekCurrent = io.SeekCurrent // seek relative to the current offset 12 | SeekEnd = io.SeekEnd // seek relative to the end 13 | ) 14 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/endian_little.go: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | // 5 | //go:build 386 || amd64 || amd64p32 || alpha || arm || arm64 || loong64 || mipsle || mips64le || mips64p32le || nios2 || ppc64le || riscv || riscv64 || sh 6 | 7 | package unix 8 | 9 | const isBigEndian = false 10 | -------------------------------------------------------------------------------- /vendor/github.com/lanrat/extsort/.cspell.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "0.2", 3 | "ignorePaths": [], 4 | "dictionaryDefinitions": [], 5 | "dictionaries": [], 6 | "words": [ 7 | "errgroup", 8 | "extsort", 9 | "lanrat", 10 | "lessfunc", 11 | "psilva", 12 | "tempfile", 13 | "tempfiles", 14 | "timsort" 15 | ], 16 | "ignoreWords": [], 17 | "import": [] 18 | } 19 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/mmap_nomremap.go: -------------------------------------------------------------------------------- 1 | // Copyright 2023 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build aix || darwin || dragonfly || freebsd || openbsd || solaris || zos 6 | 7 | package unix 8 | 9 | var mapper = &mmapper{ 10 | active: make(map[*byte][]byte), 11 | mmap: mmap, 12 | munmap: munmap, 13 | } 14 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/windows/mksyscall.go: -------------------------------------------------------------------------------- 1 | // Copyright 2009 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build generate 6 | 7 | package windows 8 | 9 | //go:generate go run golang.org/x/sys/windows/mkwinsyscall -output zsyscall_windows.go eventlog.go service.go syscall_windows.go security_windows.go setupapi_windows.go 10 | -------------------------------------------------------------------------------- /vendor/go.uber.org/mock/AUTHORS: -------------------------------------------------------------------------------- 1 | # This is the official list of GoMock authors for copyright purposes. 2 | # This file is distinct from the CONTRIBUTORS files. 3 | # See the latter for an explanation. 4 | 5 | # Names should be added to this file as 6 | # Name or Organization 7 | # The email address is not required for organizations. 8 | 9 | # Please keep the list sorted. 10 | 11 | Alex Reece 12 | Google Inc. 13 | -------------------------------------------------------------------------------- /command/version.go: -------------------------------------------------------------------------------- 1 | package command 2 | 3 | import ( 4 | "fmt" 5 | 6 | "github.com/urfave/cli/v2" 7 | 8 | "github.com/peak/s5cmd/v2/version" 9 | ) 10 | 11 | func NewVersionCommand() *cli.Command { 12 | return &cli.Command{ 13 | Name: "version", 14 | HelpName: "version", 15 | Usage: "print version", 16 | Action: func(c *cli.Context) error { 17 | fmt.Println(version.GetHumanVersion()) 18 | return nil 19 | }, 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /e2e/version_test.go: -------------------------------------------------------------------------------- 1 | package e2e 2 | 3 | import ( 4 | "testing" 5 | 6 | "gotest.tools/v3/icmd" 7 | ) 8 | 9 | func TestVersion(t *testing.T) { 10 | t.Parallel() 11 | 12 | _, s5cmd := setup(t) 13 | 14 | cmd := s5cmd("version") 15 | result := icmd.RunCmd(cmd) 16 | 17 | // make sure that version subcommand works as expected: 18 | // https://github.com/peak/s5cmd/issues/70#issuecomment-592218542 19 | result.Assert(t, icmd.Success) 20 | } 21 | -------------------------------------------------------------------------------- /vendor/github.com/ryszard/goskiplist/AUTHORS: -------------------------------------------------------------------------------- 1 | # This is the official list of goskiplist authors for copyright purposes. 2 | # This file is distinct from the CONTRIBUTORS files. 3 | # See the latter for an explanation. 4 | 5 | # Names should be added to this file as 6 | # Name or Organization 7 | # The email address is not required for organizations. 8 | 9 | # Please keep the list sorted. 10 | 11 | Google Inc. 12 | SoundCloud, Ltd. 13 | -------------------------------------------------------------------------------- /vendor/github.com/jmespath/go-jmespath/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | 3 | sudo: false 4 | 5 | go: 6 | - 1.5.x 7 | - 1.6.x 8 | - 1.7.x 9 | - 1.8.x 10 | - 1.9.x 11 | - 1.10.x 12 | - 1.11.x 13 | - 1.12.x 14 | - 1.13.x 15 | - 1.14.x 16 | - 1.15.x 17 | - tip 18 | 19 | allow_failures: 20 | - go: tip 21 | 22 | script: make build 23 | 24 | matrix: 25 | include: 26 | - language: go 27 | go: 1.15.x 28 | script: make test 29 | -------------------------------------------------------------------------------- /vendor/github.com/cpuguy83/go-md2man/v2/md2man/md2man.go: -------------------------------------------------------------------------------- 1 | package md2man 2 | 3 | import ( 4 | "github.com/russross/blackfriday/v2" 5 | ) 6 | 7 | // Render converts a markdown document into a roff formatted document. 8 | func Render(doc []byte) []byte { 9 | renderer := NewRoffRenderer() 10 | 11 | return blackfriday.Run(doc, 12 | []blackfriday.Option{blackfriday.WithRenderer(renderer), 13 | blackfriday.WithExtensions(renderer.GetExtensions())}...) 14 | } 15 | -------------------------------------------------------------------------------- /vendor/golang.org/x/tools/internal/pkgbits/support.go: -------------------------------------------------------------------------------- 1 | // Copyright 2022 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package pkgbits 6 | 7 | import "fmt" 8 | 9 | func assert(b bool) { 10 | if !b { 11 | panic("assertion failed") 12 | } 13 | } 14 | 15 | func errorf(format string, args ...interface{}) { 16 | panic(fmt.Errorf(format, args...)) 17 | } 18 | -------------------------------------------------------------------------------- /vendor/github.com/aws/aws-sdk-go/aws/client/metadata/client_info.go: -------------------------------------------------------------------------------- 1 | package metadata 2 | 3 | // ClientInfo wraps immutable data from the client.Client structure. 4 | type ClientInfo struct { 5 | ServiceName string 6 | ServiceID string 7 | APIVersion string 8 | PartitionID string 9 | Endpoint string 10 | SigningName string 11 | SigningRegion string 12 | JSONVersion string 13 | TargetPrefix string 14 | ResolvedRegion string 15 | } 16 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/aliases.go: -------------------------------------------------------------------------------- 1 | // Copyright 2018 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos 6 | 7 | package unix 8 | 9 | import "syscall" 10 | 11 | type Signal = syscall.Signal 12 | type Errno = syscall.Errno 13 | type SysProcAttr = syscall.SysProcAttr 14 | -------------------------------------------------------------------------------- /vendor/honnef.co/go/tools/lintcmd/cache/UPSTREAM: -------------------------------------------------------------------------------- 1 | This package is a copy of cmd/go/internal/cache. 2 | 3 | Differences from upstream: 4 | - we continue to use renameio instead of lockedfile for writing trim.txt 5 | - we still use I/O helpers that work with earlier versions of Go. 6 | - we use a cache directory specific to Staticcheck 7 | - we use a Staticcheck-specific salt 8 | 9 | The last upstream commit we've looked at was: 10 | 06ac303f6a14b133254f757e54599c48e3c2a4ad 11 | -------------------------------------------------------------------------------- /vendor/github.com/aws/aws-sdk-go/aws/signer/v4/uri_path.go: -------------------------------------------------------------------------------- 1 | //go:build go1.5 2 | // +build go1.5 3 | 4 | package v4 5 | 6 | import ( 7 | "net/url" 8 | "strings" 9 | ) 10 | 11 | func getURIPath(u *url.URL) string { 12 | var uri string 13 | 14 | if len(u.Opaque) > 0 { 15 | uri = "/" + strings.Join(strings.Split(u.Opaque, "/")[3:], "/") 16 | } else { 17 | uri = u.EscapedPath() 18 | } 19 | 20 | if len(uri) == 0 { 21 | uri = "/" 22 | } 23 | 24 | return uri 25 | } 26 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sync/errgroup/pre_go120.go: -------------------------------------------------------------------------------- 1 | // Copyright 2023 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build !go1.20 6 | 7 | package errgroup 8 | 9 | import "context" 10 | 11 | func withCancelCause(parent context.Context) (context.Context, func(error)) { 12 | ctx, cancel := context.WithCancel(parent) 13 | return ctx, func(error) { cancel() } 14 | } 15 | -------------------------------------------------------------------------------- /vendor/github.com/BurntSushi/toml/decode_go116.go: -------------------------------------------------------------------------------- 1 | //go:build go1.16 2 | // +build go1.16 3 | 4 | package toml 5 | 6 | import ( 7 | "io/fs" 8 | ) 9 | 10 | // DecodeFS reads the contents of a file from [fs.FS] and decodes it with 11 | // [Decode]. 12 | func DecodeFS(fsys fs.FS, path string, v interface{}) (MetaData, error) { 13 | fp, err := fsys.Open(path) 14 | if err != nil { 15 | return MetaData{}, err 16 | } 17 | defer fp.Close() 18 | return NewDecoder(fp).Decode(v) 19 | } 20 | -------------------------------------------------------------------------------- /vendor/golang.org/x/tools/internal/gcimporter/newInterface11.go: -------------------------------------------------------------------------------- 1 | // Copyright 2018 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build go1.11 6 | // +build go1.11 7 | 8 | package gcimporter 9 | 10 | import "go/types" 11 | 12 | func newInterface(methods []*types.Func, embeddeds []types.Type) *types.Interface { 13 | return types.NewInterfaceType(methods, embeddeds) 14 | } 15 | -------------------------------------------------------------------------------- /vendor/github.com/aws/aws-sdk-go/aws/credentials/context_go1.9.go: -------------------------------------------------------------------------------- 1 | //go:build go1.9 2 | // +build go1.9 3 | 4 | package credentials 5 | 6 | import "context" 7 | 8 | // Context is an alias of the Go stdlib's context.Context interface. 9 | // It can be used within the SDK's API operation "WithContext" methods. 10 | // 11 | // This type, aws.Context, and context.Context are equivalent. 12 | // 13 | // See https://golang.org/pkg/context on how to use contexts. 14 | type Context = context.Context 15 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/readdirent_getdents.go: -------------------------------------------------------------------------------- 1 | // Copyright 2019 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build aix || dragonfly || freebsd || linux || netbsd || openbsd 6 | 7 | package unix 8 | 9 | // ReadDirent reads directory entries from fd and writes them into buf. 10 | func ReadDirent(fd int, buf []byte) (n int, err error) { 11 | return Getdents(fd, buf) 12 | } 13 | -------------------------------------------------------------------------------- /vendor/golang.org/x/tools/go/ast/astutil/util.go: -------------------------------------------------------------------------------- 1 | // Copyright 2015 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package astutil 6 | 7 | import "go/ast" 8 | 9 | // Unparen returns e with any enclosing parentheses stripped. 10 | func Unparen(e ast.Expr) ast.Expr { 11 | for { 12 | p, ok := e.(*ast.ParenExpr) 13 | if !ok { 14 | return e 15 | } 16 | e = p.X 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/pagesize_unix.go: -------------------------------------------------------------------------------- 1 | // Copyright 2017 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos 6 | 7 | // For Unix, get the pagesize from the runtime. 8 | 9 | package unix 10 | 11 | import "syscall" 12 | 13 | func Getpagesize() int { 14 | return syscall.Getpagesize() 15 | } 16 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/sysvshm_unix_other.go: -------------------------------------------------------------------------------- 1 | // Copyright 2021 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build (darwin && !ios) || zos 6 | 7 | package unix 8 | 9 | // SysvShmCtl performs control operations on the shared memory segment 10 | // specified by id. 11 | func SysvShmCtl(id, cmd int, desc *SysvShmDesc) (result int, err error) { 12 | return shmctl(id, cmd, desc) 13 | } 14 | -------------------------------------------------------------------------------- /vendor/honnef.co/go/tools/go/types/typeutil/ext.go: -------------------------------------------------------------------------------- 1 | package typeutil 2 | 3 | import ( 4 | "fmt" 5 | "go/types" 6 | ) 7 | 8 | type Iterator struct { 9 | elem types.Type 10 | } 11 | 12 | func (t *Iterator) Underlying() types.Type { return t } 13 | func (t *Iterator) String() string { return fmt.Sprintf("iterator(%s)", t.elem) } 14 | func (t *Iterator) Elem() types.Type { return t.elem } 15 | 16 | func NewIterator(elem types.Type) *Iterator { 17 | return &Iterator{elem: elem} 18 | } 19 | -------------------------------------------------------------------------------- /vendor/github.com/aws/aws-sdk-go/internal/s3shared/arn/s3_object_lambda_arn.go: -------------------------------------------------------------------------------- 1 | package arn 2 | 3 | // S3ObjectLambdaARN represents an ARN for the s3-object-lambda service 4 | type S3ObjectLambdaARN interface { 5 | Resource 6 | 7 | isS3ObjectLambdasARN() 8 | } 9 | 10 | // S3ObjectLambdaAccessPointARN is an S3ObjectLambdaARN for the Access Point resource type 11 | type S3ObjectLambdaAccessPointARN struct { 12 | AccessPointARN 13 | } 14 | 15 | func (s S3ObjectLambdaAccessPointARN) isS3ObjectLambdasARN() {} 16 | -------------------------------------------------------------------------------- /vendor/github.com/russross/blackfriday/v2/.travis.yml: -------------------------------------------------------------------------------- 1 | sudo: false 2 | language: go 3 | go: 4 | - "1.10.x" 5 | - "1.11.x" 6 | - tip 7 | matrix: 8 | fast_finish: true 9 | allow_failures: 10 | - go: tip 11 | install: 12 | - # Do nothing. This is needed to prevent default install action "go get -t -v ./..." from happening here (we want it to happen inside script step). 13 | script: 14 | - go get -t -v ./... 15 | - diff -u <(echo -n) <(gofmt -d -s .) 16 | - go tool vet . 17 | - go test -v ./... 18 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/asm_aix_ppc64.s: -------------------------------------------------------------------------------- 1 | // Copyright 2018 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build gc 6 | 7 | #include "textflag.h" 8 | 9 | // 10 | // System calls for ppc64, AIX are implemented in runtime/syscall_aix.go 11 | // 12 | 13 | TEXT ·syscall6(SB),NOSPLIT,$0-88 14 | JMP syscall·syscall6(SB) 15 | 16 | TEXT ·rawSyscall6(SB),NOSPLIT,$0-88 17 | JMP syscall·rawSyscall6(SB) 18 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/syscall_linux_gc_arm.go: -------------------------------------------------------------------------------- 1 | // Copyright 2009 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build arm && gc && linux 6 | 7 | package unix 8 | 9 | import "syscall" 10 | 11 | // Underlying system call writes to newoffset via pointer. 12 | // Implemented in assembly to avoid allocation. 13 | func seek(fd int, offset int64, whence int) (newoffset int64, err syscall.Errno) 14 | -------------------------------------------------------------------------------- /vendor/honnef.co/go/tools/cmd/staticcheck/README.md: -------------------------------------------------------------------------------- 1 | # staticcheck 2 | 3 | _staticcheck_ offers extensive analysis of Go code, covering a myriad 4 | of categories. It will detect bugs, suggest code simplifications, 5 | point out dead code, and more. 6 | 7 | ## Installation 8 | 9 | See [the main README](https://github.com/dominikh/go-tools#installation) for installation instructions. 10 | 11 | ## Documentation 12 | 13 | Detailed documentation can be found on 14 | [staticcheck.io](https://staticcheck.io/docs/). 15 | 16 | -------------------------------------------------------------------------------- /vendor/github.com/aws/aws-sdk-go/aws/request/connection_reset_error.go: -------------------------------------------------------------------------------- 1 | package request 2 | 3 | import ( 4 | "strings" 5 | ) 6 | 7 | func isErrConnectionReset(err error) bool { 8 | if strings.Contains(err.Error(), "read: connection reset") { 9 | return false 10 | } 11 | 12 | if strings.Contains(err.Error(), "use of closed network connection") || 13 | strings.Contains(err.Error(), "connection reset") || 14 | strings.Contains(err.Error(), "broken pipe") { 15 | return true 16 | } 17 | 18 | return false 19 | } 20 | -------------------------------------------------------------------------------- /vendor/github.com/aws/aws-sdk-go/aws/request/http_request.go: -------------------------------------------------------------------------------- 1 | package request 2 | 3 | import ( 4 | "io" 5 | "net/http" 6 | "net/url" 7 | ) 8 | 9 | func copyHTTPRequest(r *http.Request, body io.ReadCloser) *http.Request { 10 | req := new(http.Request) 11 | *req = *r 12 | req.URL = &url.URL{} 13 | *req.URL = *r.URL 14 | req.Body = body 15 | 16 | req.Header = http.Header{} 17 | for k, v := range r.Header { 18 | for _, vv := range v { 19 | req.Header.Add(k, vv) 20 | } 21 | } 22 | 23 | return req 24 | } 25 | -------------------------------------------------------------------------------- /vendor/honnef.co/go/tools/go/ir/UPSTREAM: -------------------------------------------------------------------------------- 1 | This package started as a copy of golang.org/x/tools/go/ssa, imported from an unknown commit in 2016. 2 | It has since been heavily modified to match our own needs in an IR. 3 | The changes are too many to list here, and it is best to consider this package independent of go/ssa. 4 | 5 | Upstream changes still get applied when they address bugs in portions of code we have inherited. 6 | 7 | The last upstream commit we've looked at was: 8 | e854e0228e2ef1cc6e42bbfde1951925096a1272 9 | 10 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/asm_solaris_amd64.s: -------------------------------------------------------------------------------- 1 | // Copyright 2014 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build gc 6 | 7 | #include "textflag.h" 8 | 9 | // 10 | // System calls for amd64, Solaris are implemented in runtime/syscall_solaris.go 11 | // 12 | 13 | TEXT ·sysvicall6(SB),NOSPLIT,$0-88 14 | JMP syscall·sysvicall6(SB) 15 | 16 | TEXT ·rawSysvicall6(SB),NOSPLIT,$0-88 17 | JMP syscall·rawSysvicall6(SB) 18 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/fcntl_linux_32bit.go: -------------------------------------------------------------------------------- 1 | // Copyright 2014 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build (linux && 386) || (linux && arm) || (linux && mips) || (linux && mipsle) || (linux && ppc) 6 | 7 | package unix 8 | 9 | func init() { 10 | // On 32-bit Linux systems, the fcntl syscall that matches Go's 11 | // Flock_t type is SYS_FCNTL64, not SYS_FCNTL. 12 | fcntl64Syscall = SYS_FCNTL64 13 | } 14 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/syscall_linux_alarm.go: -------------------------------------------------------------------------------- 1 | // Copyright 2022 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build linux && (386 || amd64 || mips || mipsle || mips64 || mipsle || ppc64 || ppc64le || ppc || s390x || sparc64) 6 | 7 | package unix 8 | 9 | // SYS_ALARM is not defined on arm or riscv, but is available for other GOARCH 10 | // values. 11 | 12 | //sys Alarm(seconds uint) (remaining uint, err error) 13 | -------------------------------------------------------------------------------- /vendor/github.com/aws/aws-sdk-go/aws/request/request_context_1_6.go: -------------------------------------------------------------------------------- 1 | //go:build !go1.7 2 | // +build !go1.7 3 | 4 | package request 5 | 6 | import "github.com/aws/aws-sdk-go/aws" 7 | 8 | // setContext updates the Request to use the passed in context for cancellation. 9 | // Context will also be used for request retry delay. 10 | // 11 | // Creates shallow copy of the http.Request with the WithContext method. 12 | func setRequestContext(r *Request, ctx aws.Context) { 13 | r.context = ctx 14 | r.HTTPRequest.Cancel = ctx.Done() 15 | } 16 | -------------------------------------------------------------------------------- /version/version.go: -------------------------------------------------------------------------------- 1 | package version 2 | 3 | import "strings" 4 | 5 | var ( 6 | // Version represents the git tag of a particular release. 7 | Version = "v0.0.0" 8 | 9 | // GitCommit represents git commit hash of a particular release. 10 | GitCommit = "dev" 11 | ) 12 | 13 | // GetHumanVersion returns human readable version information. 14 | func GetHumanVersion() string { 15 | version := Version 16 | if !strings.HasPrefix(version, "v") { 17 | version = "v" + Version 18 | } 19 | 20 | return version + "-" + GitCommit 21 | } 22 | -------------------------------------------------------------------------------- /vendor/github.com/aws/aws-sdk-go/aws/request/request_context.go: -------------------------------------------------------------------------------- 1 | //go:build go1.7 2 | // +build go1.7 3 | 4 | package request 5 | 6 | import "github.com/aws/aws-sdk-go/aws" 7 | 8 | // setContext updates the Request to use the passed in context for cancellation. 9 | // Context will also be used for request retry delay. 10 | // 11 | // Creates shallow copy of the http.Request with the WithContext method. 12 | func setRequestContext(r *Request, ctx aws.Context) { 13 | r.context = ctx 14 | r.HTTPRequest = r.HTTPRequest.WithContext(ctx) 15 | } 16 | -------------------------------------------------------------------------------- /vendor/github.com/aws/aws-sdk-go/service/s3/s3manager/arn.go: -------------------------------------------------------------------------------- 1 | package s3manager 2 | 3 | import ( 4 | "fmt" 5 | "github.com/aws/aws-sdk-go/aws/arn" 6 | ) 7 | 8 | func validateSupportedARNType(bucket string) error { 9 | if !arn.IsARN(bucket) { 10 | return nil 11 | } 12 | 13 | parsedARN, err := arn.Parse(bucket) 14 | if err != nil { 15 | return err 16 | } 17 | 18 | if parsedARN.Service == "s3-object-lambda" { 19 | return fmt.Errorf("manager does not support s3-object-lambda service ARNs") 20 | } 21 | 22 | return nil 23 | } 24 | -------------------------------------------------------------------------------- /vendor/github.com/google/go-cmp/cmp/internal/diff/debug_disable.go: -------------------------------------------------------------------------------- 1 | // Copyright 2017, The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build !cmp_debug 6 | // +build !cmp_debug 7 | 8 | package diff 9 | 10 | var debug debugger 11 | 12 | type debugger struct{} 13 | 14 | func (debugger) Begin(_, _ int, f EqualFunc, _, _ *EditScript) EqualFunc { 15 | return f 16 | } 17 | func (debugger) Update() {} 18 | func (debugger) Finish() {} 19 | -------------------------------------------------------------------------------- /vendor/github.com/karrick/godirwalk/.gitignore: -------------------------------------------------------------------------------- 1 | # Binaries for programs and plugins 2 | *.exe 3 | *.dll 4 | *.so 5 | *.dylib 6 | 7 | # Test binary, build with `go test -c` 8 | *.test 9 | 10 | # Output of the go coverage tool, specifically when used with LiteIDE 11 | *.out 12 | 13 | # Project-local glide cache, RE: https://github.com/Masterminds/glide/issues/736 14 | .glide/ 15 | 16 | examples/remove-empty-directories/remove-empty-directories 17 | examples/sizes/sizes 18 | examples/walk-fast/walk-fast 19 | examples/walk-stdlib/walk-stdlib 20 | -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | version: 2 2 | updates: 3 | # Dependencies listed in go.mod 4 | - package-ecosystem: "gomod" 5 | directory: "/" # Location of package manifests 6 | schedule: 7 | interval: "weekly" 8 | # Create security fix PRs only 9 | open-pull-requests-limit: 0 10 | 11 | 12 | # Dependencies listed in .github/workflows/*.yml 13 | - package-ecosystem: "github-actions" 14 | directory: "/" 15 | schedule: 16 | interval: "weekly" 17 | # Create security fix PRs only 18 | open-pull-requests-limit: 0 19 | -------------------------------------------------------------------------------- /vendor/github.com/aws/aws-sdk-go/aws/csm/metric_exception.go: -------------------------------------------------------------------------------- 1 | package csm 2 | 3 | type metricException interface { 4 | Exception() string 5 | Message() string 6 | } 7 | 8 | type requestException struct { 9 | exception string 10 | message string 11 | } 12 | 13 | func (e requestException) Exception() string { 14 | return e.exception 15 | } 16 | func (e requestException) Message() string { 17 | return e.message 18 | } 19 | 20 | type awsException struct { 21 | requestException 22 | } 23 | 24 | type sdkException struct { 25 | requestException 26 | } 27 | -------------------------------------------------------------------------------- /vendor/github.com/aws/aws-sdk-go/internal/shareddefaults/ecs_container.go: -------------------------------------------------------------------------------- 1 | package shareddefaults 2 | 3 | const ( 4 | // ECSCredsProviderEnvVar is an environmental variable key used to 5 | // determine which path needs to be hit. 6 | ECSCredsProviderEnvVar = "AWS_CONTAINER_CREDENTIALS_RELATIVE_URI" 7 | ) 8 | 9 | // ECSContainerCredentialsURI is the endpoint to retrieve container 10 | // credentials. This can be overridden to test to ensure the credential process 11 | // is behaving correctly. 12 | var ECSContainerCredentialsURI = "http://169.254.170.2" 13 | -------------------------------------------------------------------------------- /vendor/honnef.co/go/tools/staticcheck/buildtag.go: -------------------------------------------------------------------------------- 1 | package staticcheck 2 | 3 | import ( 4 | "go/ast" 5 | "strings" 6 | 7 | "honnef.co/go/tools/go/ast/astutil" 8 | ) 9 | 10 | func buildTags(f *ast.File) [][]string { 11 | var out [][]string 12 | for _, line := range strings.Split(astutil.Preamble(f), "\n") { 13 | if !strings.HasPrefix(line, "+build ") { 14 | continue 15 | } 16 | line = strings.TrimSpace(strings.TrimPrefix(line, "+build ")) 17 | fields := strings.Fields(line) 18 | out = append(out, fields) 19 | } 20 | return out 21 | } 22 | -------------------------------------------------------------------------------- /vendor/github.com/hashicorp/go-multierror/sort.go: -------------------------------------------------------------------------------- 1 | package multierror 2 | 3 | // Len implements sort.Interface function for length 4 | func (err Error) Len() int { 5 | return len(err.Errors) 6 | } 7 | 8 | // Swap implements sort.Interface function for swapping elements 9 | func (err Error) Swap(i, j int) { 10 | err.Errors[i], err.Errors[j] = err.Errors[j], err.Errors[i] 11 | } 12 | 13 | // Less implements sort.Interface function for determining order 14 | func (err Error) Less(i, j int) bool { 15 | return err.Errors[i].Error() < err.Errors[j].Error() 16 | } 17 | -------------------------------------------------------------------------------- /vendor/honnef.co/go/tools/go/ast/astutil/upstream.go: -------------------------------------------------------------------------------- 1 | package astutil 2 | 3 | import ( 4 | "go/ast" 5 | "go/token" 6 | _ "unsafe" 7 | 8 | "golang.org/x/tools/go/ast/astutil" 9 | ) 10 | 11 | type Cursor = astutil.Cursor 12 | type ApplyFunc = astutil.ApplyFunc 13 | 14 | func Apply(root ast.Node, pre, post ApplyFunc) (result ast.Node) { 15 | return astutil.Apply(root, pre, post) 16 | } 17 | 18 | func PathEnclosingInterval(root *ast.File, start, end token.Pos) (path []ast.Node, exact bool) { 19 | return astutil.PathEnclosingInterval(root, start, end) 20 | } 21 | -------------------------------------------------------------------------------- /vendor/github.com/aws/aws-sdk-go/aws/errors.go: -------------------------------------------------------------------------------- 1 | package aws 2 | 3 | import "github.com/aws/aws-sdk-go/aws/awserr" 4 | 5 | var ( 6 | // ErrMissingRegion is an error that is returned if region configuration is 7 | // not found. 8 | ErrMissingRegion = awserr.New("MissingRegion", "could not find region configuration", nil) 9 | 10 | // ErrMissingEndpoint is an error that is returned if an endpoint cannot be 11 | // resolved for a service. 12 | ErrMissingEndpoint = awserr.New("MissingEndpoint", "'Endpoint' configuration is required for this service", nil) 13 | ) 14 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/gccgo_linux_amd64.go: -------------------------------------------------------------------------------- 1 | // Copyright 2015 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build gccgo && linux && amd64 6 | 7 | package unix 8 | 9 | import "syscall" 10 | 11 | //extern gettimeofday 12 | func realGettimeofday(*Timeval, *byte) int32 13 | 14 | func gettimeofday(tv *Timeval) (err syscall.Errno) { 15 | r := realGettimeofday(tv, nil) 16 | if r < 0 { 17 | return syscall.GetErrno() 18 | } 19 | return 0 20 | } 21 | -------------------------------------------------------------------------------- /vendor/github.com/BurntSushi/toml/doc.go: -------------------------------------------------------------------------------- 1 | // Package toml implements decoding and encoding of TOML files. 2 | // 3 | // This package supports TOML v1.0.0, as specified at https://toml.io 4 | // 5 | // There is also support for delaying decoding with the Primitive type, and 6 | // querying the set of keys in a TOML document with the MetaData type. 7 | // 8 | // The github.com/BurntSushi/toml/cmd/tomlv package implements a TOML validator, 9 | // and can be used to verify if TOML document is valid. It can also be used to 10 | // print the type of each key. 11 | package toml 12 | -------------------------------------------------------------------------------- /vendor/github.com/lanrat/extsort/uniq.go: -------------------------------------------------------------------------------- 1 | package extsort 2 | 3 | // UniqStringChan returns a channel identical to the input but only with uniq elements 4 | // only works on sorted inputs 5 | func UniqStringChan(in chan string) chan string { 6 | out := make(chan string) 7 | go func() { 8 | var prior string 9 | priorSet := false 10 | for d := range in { 11 | if priorSet { 12 | if d == prior { 13 | continue 14 | } 15 | } else { 16 | priorSet = true 17 | } 18 | out <- d 19 | prior = d 20 | } 21 | close(out) 22 | }() 23 | return out 24 | } 25 | -------------------------------------------------------------------------------- /vendor/github.com/mattn/go-isatty/isatty_others.go: -------------------------------------------------------------------------------- 1 | //go:build appengine || js || nacl || wasm 2 | // +build appengine js nacl wasm 3 | 4 | package isatty 5 | 6 | // IsTerminal returns true if the file descriptor is terminal which 7 | // is always false on js and appengine classic which is a sandboxed PaaS. 8 | func IsTerminal(fd uintptr) bool { 9 | return false 10 | } 11 | 12 | // IsCygwinTerminal() return true if the file descriptor is a cygwin or msys2 13 | // terminal. This is also always false on this environment. 14 | func IsCygwinTerminal(fd uintptr) bool { 15 | return false 16 | } 17 | -------------------------------------------------------------------------------- /vendor/gotest.tools/v3/fs/manifest_windows.go: -------------------------------------------------------------------------------- 1 | package fs 2 | 3 | import "os" 4 | 5 | const ( 6 | defaultRootDirMode = os.ModeDir | 0777 7 | defaultSymlinkMode = os.ModeSymlink | 0666 8 | ) 9 | 10 | func newResourceFromInfo(info os.FileInfo) resource { 11 | return resource{mode: info.Mode()} 12 | } 13 | 14 | func (p *filePath) SetMode(mode os.FileMode) { 15 | bits := mode & 0600 16 | p.file.mode = bits + bits/010 + bits/0100 17 | } 18 | 19 | // TODO: is mode ignored on windows? 20 | func (p *directoryPath) SetMode(mode os.FileMode) { 21 | p.directory.mode = defaultRootDirMode 22 | } 23 | -------------------------------------------------------------------------------- /vendor/github.com/aws/aws-sdk-go/internal/ini/ws_token.go: -------------------------------------------------------------------------------- 1 | package ini 2 | 3 | import ( 4 | "unicode" 5 | ) 6 | 7 | // isWhitespace will return whether or not the character is 8 | // a whitespace character. 9 | // 10 | // Whitespace is defined as a space or tab. 11 | func isWhitespace(c rune) bool { 12 | return unicode.IsSpace(c) && c != '\n' && c != '\r' 13 | } 14 | 15 | func newWSToken(b []rune) (Token, int, error) { 16 | i := 0 17 | for ; i < len(b); i++ { 18 | if !isWhitespace(b[i]) { 19 | break 20 | } 21 | } 22 | 23 | return newToken(TokenWS, b[:i], NoneType), i, nil 24 | } 25 | -------------------------------------------------------------------------------- /vendor/github.com/lanrat/extsort/tempfile/types.go: -------------------------------------------------------------------------------- 1 | package tempfile 2 | 3 | import ( 4 | "bufio" 5 | "io" 6 | ) 7 | 8 | // TempWriter interface defines the virtual tempfile creation/writing stage 9 | type TempWriter interface { 10 | io.Closer 11 | Size() int 12 | Write(p []byte) (int, error) 13 | WriteString(s string) (int, error) 14 | Next() (int64, error) 15 | Save() (TempReader, error) 16 | } 17 | 18 | // TempReader defines the methods to allow reading the sections from tempfiles 19 | type TempReader interface { 20 | io.Closer 21 | Size() int 22 | Read(i int) *bufio.Reader 23 | } 24 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/syscall_linux_gc.go: -------------------------------------------------------------------------------- 1 | // Copyright 2018 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build linux && gc 6 | 7 | package unix 8 | 9 | // SyscallNoError may be used instead of Syscall for syscalls that don't fail. 10 | func SyscallNoError(trap, a1, a2, a3 uintptr) (r1, r2 uintptr) 11 | 12 | // RawSyscallNoError may be used instead of RawSyscall for syscalls that don't 13 | // fail. 14 | func RawSyscallNoError(trap, a1, a2, a3 uintptr) (r1, r2 uintptr) 15 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/windows/race0.go: -------------------------------------------------------------------------------- 1 | // Copyright 2012 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build windows && !race 6 | 7 | package windows 8 | 9 | import ( 10 | "unsafe" 11 | ) 12 | 13 | const raceenabled = false 14 | 15 | func raceAcquire(addr unsafe.Pointer) { 16 | } 17 | 18 | func raceReleaseMerge(addr unsafe.Pointer) { 19 | } 20 | 21 | func raceReadRange(addr unsafe.Pointer, len int) { 22 | } 23 | 24 | func raceWriteRange(addr unsafe.Pointer, len int) { 25 | } 26 | -------------------------------------------------------------------------------- /vendor/github.com/aws/aws-sdk-go/aws/session/custom_transport_go1.5.go: -------------------------------------------------------------------------------- 1 | //go:build !go1.6 && go1.5 2 | // +build !go1.6,go1.5 3 | 4 | package session 5 | 6 | import ( 7 | "net" 8 | "net/http" 9 | "time" 10 | ) 11 | 12 | // Transport that should be used when a custom CA bundle is specified with the 13 | // SDK. 14 | func getCustomTransport() *http.Transport { 15 | return &http.Transport{ 16 | Proxy: http.ProxyFromEnvironment, 17 | Dial: (&net.Dialer{ 18 | Timeout: 30 * time.Second, 19 | KeepAlive: 30 * time.Second, 20 | }).Dial, 21 | TLSHandshakeTimeout: 10 * time.Second, 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /vendor/github.com/aws/aws-sdk-go/internal/sdkuri/path.go: -------------------------------------------------------------------------------- 1 | package sdkuri 2 | 3 | import ( 4 | "path" 5 | "strings" 6 | ) 7 | 8 | // PathJoin will join the elements of the path delimited by the "/" 9 | // character. Similar to path.Join with the exception the trailing "/" 10 | // character is preserved if present. 11 | func PathJoin(elems ...string) string { 12 | if len(elems) == 0 { 13 | return "" 14 | } 15 | 16 | hasTrailing := strings.HasSuffix(elems[len(elems)-1], "/") 17 | str := path.Join(elems...) 18 | if hasTrailing && str != "/" { 19 | str += "/" 20 | } 21 | 22 | return str 23 | } 24 | -------------------------------------------------------------------------------- /vendor/golang.org/x/tools/internal/versions/toolchain.go: -------------------------------------------------------------------------------- 1 | // Copyright 2024 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package versions 6 | 7 | // toolchain is maximum version (<1.22) that the go toolchain used 8 | // to build the current tool is known to support. 9 | // 10 | // When a tool is built with >=1.22, the value of toolchain is unused. 11 | // 12 | // x/tools does not support building with go <1.18. So we take this 13 | // as the minimum possible maximum. 14 | var toolchain string = Go1_18 15 | -------------------------------------------------------------------------------- /vendor/honnef.co/go/tools/analysis/facts/directives/directives.go: -------------------------------------------------------------------------------- 1 | package directives 2 | 3 | import ( 4 | "reflect" 5 | 6 | "golang.org/x/tools/go/analysis" 7 | "honnef.co/go/tools/analysis/lint" 8 | ) 9 | 10 | func directives(pass *analysis.Pass) (interface{}, error) { 11 | return lint.ParseDirectives(pass.Files, pass.Fset), nil 12 | } 13 | 14 | var Analyzer = &analysis.Analyzer{ 15 | Name: "directives", 16 | Doc: "extracts linter directives", 17 | Run: directives, 18 | RunDespiteErrors: true, 19 | ResultType: reflect.TypeOf([]lint.Directive{}), 20 | } 21 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/syscall_hurd_386.go: -------------------------------------------------------------------------------- 1 | // Copyright 2022 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build 386 && hurd 6 | 7 | package unix 8 | 9 | const ( 10 | TIOCGETA = 0x62251713 11 | ) 12 | 13 | type Winsize struct { 14 | Row uint16 15 | Col uint16 16 | Xpixel uint16 17 | Ypixel uint16 18 | } 19 | 20 | type Termios struct { 21 | Iflag uint32 22 | Oflag uint32 23 | Cflag uint32 24 | Lflag uint32 25 | Cc [20]uint8 26 | Ispeed int32 27 | Ospeed int32 28 | } 29 | -------------------------------------------------------------------------------- /vendor/golang.org/x/tools/internal/pkgbits/frames_go1.go: -------------------------------------------------------------------------------- 1 | // Copyright 2021 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build !go1.7 6 | // +build !go1.7 7 | 8 | // TODO(mdempsky): Remove after #44505 is resolved 9 | 10 | package pkgbits 11 | 12 | import "runtime" 13 | 14 | func walkFrames(pcs []uintptr, visit frameVisitor) { 15 | for _, pc := range pcs { 16 | fn := runtime.FuncForPC(pc) 17 | file, line := fn.FileLine(pc) 18 | 19 | visit(file, line, fn.Name(), pc-fn.Entry()) 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /vendor/honnef.co/go/tools/internal/robustio/robustio_darwin.go: -------------------------------------------------------------------------------- 1 | // Copyright 2019 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package robustio 6 | 7 | import ( 8 | "errors" 9 | "syscall" 10 | ) 11 | 12 | const errFileNotFound = syscall.ENOENT 13 | 14 | // isEphemeralError returns true if err may be resolved by waiting. 15 | func isEphemeralError(err error) bool { 16 | var errno syscall.Errno 17 | if errors.As(err, &errno) { 18 | return errno == errFileNotFound 19 | } 20 | return false 21 | } 22 | -------------------------------------------------------------------------------- /vendor/github.com/aws/aws-sdk-go/awstesting/unit/unit.go: -------------------------------------------------------------------------------- 1 | // Package unit performs initialization and validation for unit tests 2 | package unit 3 | 4 | import ( 5 | "time" 6 | 7 | "github.com/aws/aws-sdk-go/aws" 8 | "github.com/aws/aws-sdk-go/aws/credentials" 9 | "github.com/aws/aws-sdk-go/aws/session" 10 | ) 11 | 12 | // Session is a shared session for unit tests to use. 13 | var Session = session.Must(session.NewSession(&aws.Config{ 14 | Credentials: credentials.NewStaticCredentials("AKID", "SECRET", "SESSION"), 15 | Region: aws.String("mock-region"), 16 | SleepDelay: func(time.Duration) {}, 17 | })) 18 | -------------------------------------------------------------------------------- /vendor/github.com/fatih/color/color_windows.go: -------------------------------------------------------------------------------- 1 | package color 2 | 3 | import ( 4 | "os" 5 | 6 | "golang.org/x/sys/windows" 7 | ) 8 | 9 | func init() { 10 | // Opt-in for ansi color support for current process. 11 | // https://learn.microsoft.com/en-us/windows/console/console-virtual-terminal-sequences#output-sequences 12 | var outMode uint32 13 | out := windows.Handle(os.Stdout.Fd()) 14 | if err := windows.GetConsoleMode(out, &outMode); err != nil { 15 | return 16 | } 17 | outMode |= windows.ENABLE_PROCESSED_OUTPUT | windows.ENABLE_VIRTUAL_TERMINAL_PROCESSING 18 | _ = windows.SetConsoleMode(out, outMode) 19 | } 20 | -------------------------------------------------------------------------------- /vendor/golang.org/x/tools/internal/event/keys/util.go: -------------------------------------------------------------------------------- 1 | // Copyright 2023 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package keys 6 | 7 | import ( 8 | "sort" 9 | "strings" 10 | ) 11 | 12 | // Join returns a canonical join of the keys in S: 13 | // a sorted comma-separated string list. 14 | func Join[S ~[]T, T ~string](s S) string { 15 | strs := make([]string, 0, len(s)) 16 | for _, v := range s { 17 | strs = append(strs, string(v)) 18 | } 19 | sort.Strings(strs) 20 | return strings.Join(strs, ",") 21 | } 22 | -------------------------------------------------------------------------------- /parallel/fdlimit/fdlimit_unix.go: -------------------------------------------------------------------------------- 1 | //go:build !windows 2 | // +build !windows 3 | 4 | package fdlimit 5 | 6 | import ( 7 | "syscall" 8 | ) 9 | 10 | const ( 11 | minOpenFilesLimit = 1024 12 | ) 13 | 14 | func Raise() error { 15 | var rLimit syscall.Rlimit 16 | err := syscall.Getrlimit(syscall.RLIMIT_NOFILE, &rLimit) 17 | if err != nil { 18 | return err 19 | } 20 | 21 | if rLimit.Cur >= minOpenFilesLimit { 22 | return nil 23 | } 24 | 25 | if rLimit.Max < minOpenFilesLimit { 26 | return nil 27 | } 28 | 29 | rLimit.Cur = minOpenFilesLimit 30 | 31 | return syscall.Setrlimit(syscall.RLIMIT_NOFILE, &rLimit) 32 | } 33 | -------------------------------------------------------------------------------- /parallel/global.go: -------------------------------------------------------------------------------- 1 | package parallel 2 | 3 | import "github.com/peak/s5cmd/v2/parallel/fdlimit" 4 | 5 | var global *Manager 6 | 7 | // Init tries to increase the soft limit of open files and 8 | // creates new global ParallelManager. 9 | func Init(workercount int) { 10 | _ = fdlimit.Raise() 11 | global = New(workercount) 12 | } 13 | 14 | // Close waits all jobs to finish and 15 | // closes the semaphore of global ParallelManager. 16 | func Close() { 17 | if global != nil { 18 | global.Close() 19 | } 20 | } 21 | 22 | // Run runs global ParallelManager. 23 | func Run(task Task, waiter *Waiter) { global.Run(task, waiter) } 24 | -------------------------------------------------------------------------------- /vendor/github.com/aws/aws-sdk-go/internal/sdkrand/read_1_5.go: -------------------------------------------------------------------------------- 1 | //go:build !go1.6 2 | // +build !go1.6 3 | 4 | package sdkrand 5 | 6 | import "math/rand" 7 | 8 | // Read backfills Go 1.6's math.Rand.Reader for Go 1.5 9 | func Read(r *rand.Rand, p []byte) (n int, err error) { 10 | // Copy of Go standard libraries math package's read function not added to 11 | // standard library until Go 1.6. 12 | var pos int8 13 | var val int64 14 | for n = 0; n < len(p); n++ { 15 | if pos == 0 { 16 | val = r.Int63() 17 | pos = 7 18 | } 19 | p[n] = byte(val) 20 | val >>= 8 21 | pos-- 22 | } 23 | 24 | return n, err 25 | } 26 | -------------------------------------------------------------------------------- /vendor/github.com/mattn/go-isatty/isatty_tcgets.go: -------------------------------------------------------------------------------- 1 | //go:build (linux || aix || zos) && !appengine 2 | // +build linux aix zos 3 | // +build !appengine 4 | 5 | package isatty 6 | 7 | import "golang.org/x/sys/unix" 8 | 9 | // IsTerminal return true if the file descriptor is terminal. 10 | func IsTerminal(fd uintptr) bool { 11 | _, err := unix.IoctlGetTermios(int(fd), unix.TCGETS) 12 | return err == nil 13 | } 14 | 15 | // IsCygwinTerminal return true if the file descriptor is a cygwin or msys2 16 | // terminal. This is also always false on this environment. 17 | func IsCygwinTerminal(fd uintptr) bool { 18 | return false 19 | } 20 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/windows/str.go: -------------------------------------------------------------------------------- 1 | // Copyright 2009 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build windows 6 | 7 | package windows 8 | 9 | func itoa(val int) string { // do it here rather than with fmt to avoid dependency 10 | if val < 0 { 11 | return "-" + itoa(-val) 12 | } 13 | var buf [32]byte // big enough for int64 14 | i := len(buf) - 1 15 | for val >= 10 { 16 | buf[i] = byte(val%10 + '0') 17 | i-- 18 | val /= 10 19 | } 20 | buf[i] = byte(val + '0') 21 | return string(buf[i:]) 22 | } 23 | -------------------------------------------------------------------------------- /vendor/gotest.tools/v3/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright 2018 gotest.tools authors 2 | 3 | Licensed under the Apache License, Version 2.0 (the "License"); 4 | you may not use this file except in compliance with the License. 5 | You may obtain a copy of the License at 6 | 7 | http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | Unless required by applicable law or agreed to in writing, software 10 | distributed under the License is distributed on an "AS IS" BASIS, 11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | See the License for the specific language governing permissions and 13 | limitations under the License. 14 | -------------------------------------------------------------------------------- /vendor/github.com/aws/aws-sdk-go/aws/corehandlers/param_validator.go: -------------------------------------------------------------------------------- 1 | package corehandlers 2 | 3 | import "github.com/aws/aws-sdk-go/aws/request" 4 | 5 | // ValidateParametersHandler is a request handler to validate the input parameters. 6 | // Validating parameters only has meaning if done prior to the request being sent. 7 | var ValidateParametersHandler = request.NamedHandler{Name: "core.ValidateParametersHandler", Fn: func(r *request.Request) { 8 | if !r.ParamsFilled() { 9 | return 10 | } 11 | 12 | if v, ok := r.Params.(request.Validator); ok { 13 | if err := v.Validate(); err != nil { 14 | r.Error = err 15 | } 16 | } 17 | }} 18 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/sysvshm_linux.go: -------------------------------------------------------------------------------- 1 | // Copyright 2021 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build linux 6 | 7 | package unix 8 | 9 | import "runtime" 10 | 11 | // SysvShmCtl performs control operations on the shared memory segment 12 | // specified by id. 13 | func SysvShmCtl(id, cmd int, desc *SysvShmDesc) (result int, err error) { 14 | if runtime.GOARCH == "arm" || 15 | runtime.GOARCH == "mips64" || runtime.GOARCH == "mips64le" { 16 | cmd |= ipc_64 17 | } 18 | 19 | return shmctl(id, cmd, desc) 20 | } 21 | -------------------------------------------------------------------------------- /vendor/github.com/aws/aws-sdk-go/aws/endpoints/legacy_regions.go: -------------------------------------------------------------------------------- 1 | package endpoints 2 | 3 | var legacyGlobalRegions = map[string]map[string]struct{}{ 4 | "sts": { 5 | "ap-northeast-1": {}, 6 | "ap-south-1": {}, 7 | "ap-southeast-1": {}, 8 | "ap-southeast-2": {}, 9 | "ca-central-1": {}, 10 | "eu-central-1": {}, 11 | "eu-north-1": {}, 12 | "eu-west-1": {}, 13 | "eu-west-2": {}, 14 | "eu-west-3": {}, 15 | "sa-east-1": {}, 16 | "us-east-1": {}, 17 | "us-east-2": {}, 18 | "us-west-1": {}, 19 | "us-west-2": {}, 20 | }, 21 | "s3": { 22 | "us-east-1": {}, 23 | }, 24 | } 25 | -------------------------------------------------------------------------------- /vendor/github.com/aws/aws-sdk-go/internal/ini/newline_token.go: -------------------------------------------------------------------------------- 1 | package ini 2 | 3 | func isNewline(b []rune) bool { 4 | if len(b) == 0 { 5 | return false 6 | } 7 | 8 | if b[0] == '\n' { 9 | return true 10 | } 11 | 12 | if len(b) < 2 { 13 | return false 14 | } 15 | 16 | return b[0] == '\r' && b[1] == '\n' 17 | } 18 | 19 | func newNewlineToken(b []rune) (Token, int, error) { 20 | i := 1 21 | if b[0] == '\r' && isNewline(b[1:]) { 22 | i++ 23 | } 24 | 25 | if !isNewline([]rune(b[:i])) { 26 | return emptyToken, 0, NewParseError("invalid new line token") 27 | } 28 | 29 | return newToken(TokenNL, b[:i], NoneType), i, nil 30 | } 31 | -------------------------------------------------------------------------------- /vendor/github.com/jmespath/go-jmespath/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright 2015 James Saryerwinnie 2 | 3 | Licensed under the Apache License, Version 2.0 (the "License"); 4 | you may not use this file except in compliance with the License. 5 | You may obtain a copy of the License at 6 | 7 | http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | Unless required by applicable law or agreed to in writing, software 10 | distributed under the License is distributed on an "AS IS" BASIS, 11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | See the License for the specific language governing permissions and 13 | limitations under the License. 14 | -------------------------------------------------------------------------------- /vendor/github.com/aws/aws-sdk-go/aws/context_sleep.go: -------------------------------------------------------------------------------- 1 | package aws 2 | 3 | import ( 4 | "time" 5 | ) 6 | 7 | // SleepWithContext will wait for the timer duration to expire, or the context 8 | // is canceled. Which ever happens first. If the context is canceled the Context's 9 | // error will be returned. 10 | // 11 | // Expects Context to always return a non-nil error if the Done channel is closed. 12 | func SleepWithContext(ctx Context, dur time.Duration) error { 13 | t := time.NewTimer(dur) 14 | defer t.Stop() 15 | 16 | select { 17 | case <-t.C: 18 | break 19 | case <-ctx.Done(): 20 | return ctx.Err() 21 | } 22 | 23 | return nil 24 | } 25 | -------------------------------------------------------------------------------- /vendor/github.com/aws/aws-sdk-go/aws/session/custom_transport_go1.6.go: -------------------------------------------------------------------------------- 1 | //go:build !go1.7 && go1.6 2 | // +build !go1.7,go1.6 3 | 4 | package session 5 | 6 | import ( 7 | "net" 8 | "net/http" 9 | "time" 10 | ) 11 | 12 | // Transport that should be used when a custom CA bundle is specified with the 13 | // SDK. 14 | func getCustomTransport() *http.Transport { 15 | return &http.Transport{ 16 | Proxy: http.ProxyFromEnvironment, 17 | Dial: (&net.Dialer{ 18 | Timeout: 30 * time.Second, 19 | KeepAlive: 30 * time.Second, 20 | }).Dial, 21 | TLSHandshakeTimeout: 10 * time.Second, 22 | ExpectContinueTimeout: 1 * time.Second, 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /vendor/github.com/mattn/go-isatty/isatty_plan9.go: -------------------------------------------------------------------------------- 1 | //go:build plan9 2 | // +build plan9 3 | 4 | package isatty 5 | 6 | import ( 7 | "syscall" 8 | ) 9 | 10 | // IsTerminal returns true if the given file descriptor is a terminal. 11 | func IsTerminal(fd uintptr) bool { 12 | path, err := syscall.Fd2path(int(fd)) 13 | if err != nil { 14 | return false 15 | } 16 | return path == "/dev/cons" || path == "/mnt/term/dev/cons" 17 | } 18 | 19 | // IsCygwinTerminal return true if the file descriptor is a cygwin or msys2 20 | // terminal. This is also always false on this environment. 21 | func IsCygwinTerminal(fd uintptr) bool { 22 | return false 23 | } 24 | -------------------------------------------------------------------------------- /vendor/github.com/mattn/go-runewidth/runewidth_windows.go: -------------------------------------------------------------------------------- 1 | //go:build windows && !appengine 2 | // +build windows,!appengine 3 | 4 | package runewidth 5 | 6 | import ( 7 | "syscall" 8 | ) 9 | 10 | var ( 11 | kernel32 = syscall.NewLazyDLL("kernel32") 12 | procGetConsoleOutputCP = kernel32.NewProc("GetConsoleOutputCP") 13 | ) 14 | 15 | // IsEastAsian return true if the current locale is CJK 16 | func IsEastAsian() bool { 17 | r1, _, _ := procGetConsoleOutputCP.Call() 18 | if r1 == 0 { 19 | return false 20 | } 21 | 22 | switch int(r1) { 23 | case 932, 51932, 936, 949, 950: 24 | return true 25 | } 26 | 27 | return false 28 | } 29 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/sockcmsg_dragonfly.go: -------------------------------------------------------------------------------- 1 | // Copyright 2019 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package unix 6 | 7 | // Round the length of a raw sockaddr up to align it properly. 8 | func cmsgAlignOf(salen int) int { 9 | salign := SizeofPtr 10 | if SizeofPtr == 8 && !supportsABI(_dragonflyABIChangeVersion) { 11 | // 64-bit Dragonfly before the September 2019 ABI changes still requires 12 | // 32-bit aligned access to network subsystem. 13 | salign = 4 14 | } 15 | return (salen + salign - 1) & ^(salign - 1) 16 | } 17 | -------------------------------------------------------------------------------- /vendor/golang.org/x/tools/internal/versions/types.go: -------------------------------------------------------------------------------- 1 | // Copyright 2023 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package versions 6 | 7 | import ( 8 | "go/types" 9 | ) 10 | 11 | // GoVersion returns the Go version of the type package. 12 | // It returns zero if no version can be determined. 13 | func GoVersion(pkg *types.Package) string { 14 | // TODO(taking): x/tools can call GoVersion() [from 1.21] after 1.25. 15 | if pkg, ok := any(pkg).(interface{ GoVersion() string }); ok { 16 | return pkg.GoVersion() 17 | } 18 | return "" 19 | } 20 | -------------------------------------------------------------------------------- /vendor/github.com/aws/aws-sdk-go/internal/ini/walker.go: -------------------------------------------------------------------------------- 1 | package ini 2 | 3 | // Walk will traverse the AST using the v, the Visitor. 4 | func Walk(tree []AST, v Visitor) error { 5 | for _, node := range tree { 6 | switch node.Kind { 7 | case ASTKindExpr, 8 | ASTKindExprStatement: 9 | 10 | if err := v.VisitExpr(node); err != nil { 11 | return err 12 | } 13 | case ASTKindStatement, 14 | ASTKindCompletedSectionStatement, 15 | ASTKindNestedSectionStatement, 16 | ASTKindCompletedNestedSectionStatement: 17 | 18 | if err := v.VisitStatement(node); err != nil { 19 | return err 20 | } 21 | } 22 | } 23 | 24 | return nil 25 | } 26 | -------------------------------------------------------------------------------- /vendor/github.com/karrick/godirwalk/modeTypeWithoutType.go: -------------------------------------------------------------------------------- 1 | // +build aix js nacl solaris 2 | 3 | package godirwalk 4 | 5 | import ( 6 | "os" 7 | "path/filepath" 8 | "syscall" 9 | ) 10 | 11 | // modeTypeFromDirent converts a syscall defined constant, which is in purview 12 | // of OS, to a constant defined by Go, assumed by this project to be stable. 13 | // 14 | // Because some operating system syscall.Dirent structures do not include a Type 15 | // field, fall back on Stat of the file system. 16 | func modeTypeFromDirent(_ *syscall.Dirent, osDirname, osBasename string) (os.FileMode, error) { 17 | return modeType(filepath.Join(osDirname, osBasename)) 18 | } 19 | -------------------------------------------------------------------------------- /vendor/gotest.tools/v3/fs/manifest_unix.go: -------------------------------------------------------------------------------- 1 | // +build !windows 2 | 3 | package fs 4 | 5 | import ( 6 | "os" 7 | "syscall" 8 | ) 9 | 10 | const ( 11 | defaultRootDirMode = os.ModeDir | 0700 12 | defaultSymlinkMode = os.ModeSymlink | 0777 13 | ) 14 | 15 | func newResourceFromInfo(info os.FileInfo) resource { 16 | statT := info.Sys().(*syscall.Stat_t) 17 | return resource{ 18 | mode: info.Mode(), 19 | uid: statT.Uid, 20 | gid: statT.Gid, 21 | } 22 | } 23 | 24 | func (p *filePath) SetMode(mode os.FileMode) { 25 | p.file.mode = mode 26 | } 27 | 28 | func (p *directoryPath) SetMode(mode os.FileMode) { 29 | p.directory.mode = mode | os.ModeDir 30 | } 31 | -------------------------------------------------------------------------------- /vendor/honnef.co/go/tools/analysis/facts/tokenfile/token.go: -------------------------------------------------------------------------------- 1 | package tokenfile 2 | 3 | import ( 4 | "go/ast" 5 | "go/token" 6 | "reflect" 7 | 8 | "golang.org/x/tools/go/analysis" 9 | ) 10 | 11 | var Analyzer = &analysis.Analyzer{ 12 | Name: "tokenfileanalyzer", 13 | Doc: "creates a mapping of *token.File to *ast.File", 14 | Run: func(pass *analysis.Pass) (interface{}, error) { 15 | m := map[*token.File]*ast.File{} 16 | for _, af := range pass.Files { 17 | tf := pass.Fset.File(af.Pos()) 18 | m[tf] = af 19 | } 20 | return m, nil 21 | }, 22 | RunDespiteErrors: true, 23 | ResultType: reflect.TypeOf(map[*token.File]*ast.File{}), 24 | } 25 | -------------------------------------------------------------------------------- /vendor/github.com/aws/aws-sdk-go/private/protocol/eventstream/error.go: -------------------------------------------------------------------------------- 1 | package eventstream 2 | 3 | import "fmt" 4 | 5 | // LengthError provides the error for items being larger than a maximum length. 6 | type LengthError struct { 7 | Part string 8 | Want int 9 | Have int 10 | Value interface{} 11 | } 12 | 13 | func (e LengthError) Error() string { 14 | return fmt.Sprintf("%s length invalid, %d/%d, %v", 15 | e.Part, e.Want, e.Have, e.Value) 16 | } 17 | 18 | // ChecksumError provides the error for message checksum invalidation errors. 19 | type ChecksumError struct{} 20 | 21 | func (e ChecksumError) Error() string { 22 | return "message checksum mismatch" 23 | } 24 | -------------------------------------------------------------------------------- /vendor/go.etcd.io/bbolt/bolt_openbsd.go: -------------------------------------------------------------------------------- 1 | package bbolt 2 | 3 | import ( 4 | "syscall" 5 | "unsafe" 6 | ) 7 | 8 | const ( 9 | msAsync = 1 << iota // perform asynchronous writes 10 | msSync // perform synchronous writes 11 | msInvalidate // invalidate cached data 12 | ) 13 | 14 | func msync(db *DB) error { 15 | _, _, errno := syscall.Syscall(syscall.SYS_MSYNC, uintptr(unsafe.Pointer(db.data)), uintptr(db.datasz), msInvalidate) 16 | if errno != 0 { 17 | return errno 18 | } 19 | return nil 20 | } 21 | 22 | func fdatasync(db *DB) error { 23 | if db.data != nil { 24 | return msync(db) 25 | } 26 | return db.file.Sync() 27 | } 28 | -------------------------------------------------------------------------------- /vendor/github.com/urfave/cli/v2/sort.go: -------------------------------------------------------------------------------- 1 | package cli 2 | 3 | import "unicode" 4 | 5 | // lexicographicLess compares strings alphabetically considering case. 6 | func lexicographicLess(i, j string) bool { 7 | iRunes := []rune(i) 8 | jRunes := []rune(j) 9 | 10 | lenShared := len(iRunes) 11 | if lenShared > len(jRunes) { 12 | lenShared = len(jRunes) 13 | } 14 | 15 | for index := 0; index < lenShared; index++ { 16 | ir := iRunes[index] 17 | jr := jRunes[index] 18 | 19 | if lir, ljr := unicode.ToLower(ir), unicode.ToLower(jr); lir != ljr { 20 | return lir < ljr 21 | } 22 | 23 | if ir != jr { 24 | return ir < jr 25 | } 26 | } 27 | 28 | return i < j 29 | } 30 | -------------------------------------------------------------------------------- /vendor/github.com/xrash/smetrics/hamming.go: -------------------------------------------------------------------------------- 1 | package smetrics 2 | 3 | import ( 4 | "fmt" 5 | ) 6 | 7 | // The Hamming distance is the minimum number of substitutions required to change string A into string B. Both strings must have the same size. If the strings have different sizes, the function returns an error. 8 | func Hamming(a, b string) (int, error) { 9 | al := len(a) 10 | bl := len(b) 11 | 12 | if al != bl { 13 | return -1, fmt.Errorf("strings are not equal (len(a)=%d, len(b)=%d)", al, bl) 14 | } 15 | 16 | var difference = 0 17 | 18 | for i := range a { 19 | if a[i] != b[i] { 20 | difference = difference + 1 21 | } 22 | } 23 | 24 | return difference, nil 25 | } 26 | -------------------------------------------------------------------------------- /vendor/honnef.co/go/tools/internal/robustio/robustio_other.go: -------------------------------------------------------------------------------- 1 | // Copyright 2019 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build !windows && !darwin 6 | 7 | package robustio 8 | 9 | import ( 10 | "os" 11 | ) 12 | 13 | func rename(oldpath, newpath string) error { 14 | return os.Rename(oldpath, newpath) 15 | } 16 | 17 | func readFile(filename string) ([]byte, error) { 18 | return os.ReadFile(filename) 19 | } 20 | 21 | func removeAll(path string) error { 22 | return os.RemoveAll(path) 23 | } 24 | 25 | func isEphemeralError(err error) bool { 26 | return false 27 | } 28 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/race0.go: -------------------------------------------------------------------------------- 1 | // Copyright 2012 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build aix || (darwin && !race) || (linux && !race) || (freebsd && !race) || netbsd || openbsd || solaris || dragonfly || zos 6 | 7 | package unix 8 | 9 | import ( 10 | "unsafe" 11 | ) 12 | 13 | const raceenabled = false 14 | 15 | func raceAcquire(addr unsafe.Pointer) { 16 | } 17 | 18 | func raceReleaseMerge(addr unsafe.Pointer) { 19 | } 20 | 21 | func raceReadRange(addr unsafe.Pointer, len int) { 22 | } 23 | 24 | func raceWriteRange(addr unsafe.Pointer, len int) { 25 | } 26 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/syscall_linux_gc_386.go: -------------------------------------------------------------------------------- 1 | // Copyright 2018 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build linux && gc && 386 6 | 7 | package unix 8 | 9 | import "syscall" 10 | 11 | // Underlying system call writes to newoffset via pointer. 12 | // Implemented in assembly to avoid allocation. 13 | func seek(fd int, offset int64, whence int) (newoffset int64, err syscall.Errno) 14 | 15 | func socketcall(call int, a0, a1, a2, a3, a4, a5 uintptr) (n int, err syscall.Errno) 16 | func rawsocketcall(call int, a0, a1, a2, a3, a4, a5 uintptr) (n int, err syscall.Errno) 17 | -------------------------------------------------------------------------------- /vendor/github.com/lanrat/extsort/Makefile: -------------------------------------------------------------------------------- 1 | 2 | ALL_SOURCES := $(shell find . -type f -name '*.go') 3 | 4 | .PHONY: fmt check test cover coverhtml 5 | 6 | test: 7 | go test -v ./... 8 | @echo "< ALL TESTS PASS >" 9 | 10 | update-deps: go.mod 11 | GOPROXY=direct go get -u ./... 12 | go mod tidy 13 | 14 | deps: go.mod 15 | go mod download 16 | 17 | fmt: 18 | gofmt -s -w -l . 19 | 20 | coverage.out: $(ALL_SOURCES) 21 | go test -coverprofile=coverage.out ./... 22 | 23 | cover: coverage.out 24 | go tool cover -func=coverage.out 25 | 26 | coverhtml: coverage.out 27 | go tool cover -html=coverage.out 28 | 29 | check: 30 | golangci-lint run ./... || true 31 | staticcheck -checks all ./... 32 | -------------------------------------------------------------------------------- /vendor/github.com/mattn/go-isatty/isatty_bsd.go: -------------------------------------------------------------------------------- 1 | //go:build (darwin || freebsd || openbsd || netbsd || dragonfly || hurd) && !appengine 2 | // +build darwin freebsd openbsd netbsd dragonfly hurd 3 | // +build !appengine 4 | 5 | package isatty 6 | 7 | import "golang.org/x/sys/unix" 8 | 9 | // IsTerminal return true if the file descriptor is terminal. 10 | func IsTerminal(fd uintptr) bool { 11 | _, err := unix.IoctlGetTermios(int(fd), unix.TIOCGETA) 12 | return err == nil 13 | } 14 | 15 | // IsCygwinTerminal return true if the file descriptor is a cygwin or msys2 16 | // terminal. This is also always false on this environment. 17 | func IsCygwinTerminal(fd uintptr) bool { 18 | return false 19 | } 20 | -------------------------------------------------------------------------------- /vendor/honnef.co/go/tools/internal/sync/sync.go: -------------------------------------------------------------------------------- 1 | package sync 2 | 3 | type Semaphore struct { 4 | ch chan struct{} 5 | } 6 | 7 | func NewSemaphore(size int) Semaphore { 8 | return Semaphore{ 9 | ch: make(chan struct{}, size), 10 | } 11 | } 12 | 13 | func (sem Semaphore) Acquire() { 14 | sem.ch <- struct{}{} 15 | } 16 | 17 | func (sem Semaphore) AcquireMaybe() bool { 18 | select { 19 | case sem.ch <- struct{}{}: 20 | return true 21 | default: 22 | return false 23 | } 24 | } 25 | 26 | func (sem Semaphore) Release() { 27 | <-sem.ch 28 | } 29 | 30 | func (sem Semaphore) Len() int { 31 | return len(sem.ch) 32 | } 33 | 34 | func (sem Semaphore) Cap() int { 35 | return cap(sem.ch) 36 | } 37 | -------------------------------------------------------------------------------- /vendor/github.com/lanrat/extsort/types.go: -------------------------------------------------------------------------------- 1 | package extsort 2 | 3 | import "context" 4 | 5 | // SortType defines the interface required by the extsort library to be able to sort the items 6 | type SortType interface { 7 | ToBytes() []byte // ToBytes used for marshaling with gob 8 | } 9 | 10 | // FromBytes unmarshal bytes from gob to create a SortType when reading back the sorted items 11 | type FromBytes func([]byte) SortType 12 | 13 | // CompareLessFunc compares two SortType items and returns true if a is less than b 14 | type CompareLessFunc func(a, b SortType) bool 15 | 16 | // Sorter is the interface that all extsort sorters must satisfy 17 | type Sorter interface { 18 | Sort(context.Context) 19 | } 20 | -------------------------------------------------------------------------------- /vendor/honnef.co/go/tools/config/example.conf: -------------------------------------------------------------------------------- 1 | checks = ["all", "-ST1000", "-ST1003", "-ST1016", "-ST1020", "-ST1021", "-ST1022", "-ST1023"] 2 | initialisms = ["ACL", "API", "ASCII", "CPU", "CSS", "DNS", 3 | "EOF", "GUID", "HTML", "HTTP", "HTTPS", "ID", 4 | "IP", "JSON", "QPS", "RAM", "RPC", "SLA", 5 | "SMTP", "SQL", "SSH", "TCP", "TLS", "TTL", 6 | "UDP", "UI", "GID", "UID", "UUID", "URI", 7 | "URL", "UTF8", "VM", "XML", "XMPP", "XSRF", 8 | "XSS", "SIP", "RTP", "AMQP", "DB", "TS"] 9 | dot_import_whitelist = [ 10 | "github.com/mmcloughlin/avo/build", 11 | "github.com/mmcloughlin/avo/operand", 12 | "github.com/mmcloughlin/avo/reg", 13 | ] 14 | http_status_code_whitelist = ["200", "400", "404", "500"] 15 | -------------------------------------------------------------------------------- /vendor/github.com/BurntSushi/toml/deprecated.go: -------------------------------------------------------------------------------- 1 | package toml 2 | 3 | import ( 4 | "encoding" 5 | "io" 6 | ) 7 | 8 | // Deprecated: use encoding.TextMarshaler 9 | type TextMarshaler encoding.TextMarshaler 10 | 11 | // Deprecated: use encoding.TextUnmarshaler 12 | type TextUnmarshaler encoding.TextUnmarshaler 13 | 14 | // Deprecated: use MetaData.PrimitiveDecode. 15 | func PrimitiveDecode(primValue Primitive, v interface{}) error { 16 | md := MetaData{decoded: make(map[string]struct{})} 17 | return md.unify(primValue.undecoded, rvalue(v)) 18 | } 19 | 20 | // Deprecated: use NewDecoder(reader).Decode(&value). 21 | func DecodeReader(r io.Reader, v interface{}) (MetaData, error) { return NewDecoder(r).Decode(v) } 22 | -------------------------------------------------------------------------------- /vendor/github.com/mattn/go-isatty/isatty_solaris.go: -------------------------------------------------------------------------------- 1 | //go:build solaris && !appengine 2 | // +build solaris,!appengine 3 | 4 | package isatty 5 | 6 | import ( 7 | "golang.org/x/sys/unix" 8 | ) 9 | 10 | // IsTerminal returns true if the given file descriptor is a terminal. 11 | // see: https://src.illumos.org/source/xref/illumos-gate/usr/src/lib/libc/port/gen/isatty.c 12 | func IsTerminal(fd uintptr) bool { 13 | _, err := unix.IoctlGetTermio(int(fd), unix.TCGETA) 14 | return err == nil 15 | } 16 | 17 | // IsCygwinTerminal return true if the file descriptor is a cygwin or msys2 18 | // terminal. This is also always false on this environment. 19 | func IsCygwinTerminal(fd uintptr) bool { 20 | return false 21 | } 22 | -------------------------------------------------------------------------------- /vendor/github.com/aws/aws-sdk-go/internal/ini/expression.go: -------------------------------------------------------------------------------- 1 | package ini 2 | 3 | // newExpression will return an expression AST. 4 | // Expr represents an expression 5 | // 6 | // grammar: 7 | // expr -> string | number 8 | func newExpression(tok Token) AST { 9 | return newASTWithRootToken(ASTKindExpr, tok) 10 | } 11 | 12 | func newEqualExpr(left AST, tok Token) AST { 13 | return newASTWithRootToken(ASTKindEqualExpr, tok, left) 14 | } 15 | 16 | // EqualExprKey will return a LHS value in the equal expr 17 | func EqualExprKey(ast AST) string { 18 | children := ast.GetChildren() 19 | if len(children) == 0 || ast.Kind != ASTKindEqualExpr { 20 | return "" 21 | } 22 | 23 | return string(children[0].Root.Raw()) 24 | } 25 | -------------------------------------------------------------------------------- /vendor/github.com/aws/aws-sdk-go/internal/sdkrand/locked_source.go: -------------------------------------------------------------------------------- 1 | package sdkrand 2 | 3 | import ( 4 | "math/rand" 5 | "sync" 6 | "time" 7 | ) 8 | 9 | // lockedSource is a thread-safe implementation of rand.Source 10 | type lockedSource struct { 11 | lk sync.Mutex 12 | src rand.Source 13 | } 14 | 15 | func (r *lockedSource) Int63() (n int64) { 16 | r.lk.Lock() 17 | n = r.src.Int63() 18 | r.lk.Unlock() 19 | return 20 | } 21 | 22 | func (r *lockedSource) Seed(seed int64) { 23 | r.lk.Lock() 24 | r.src.Seed(seed) 25 | r.lk.Unlock() 26 | } 27 | 28 | // SeededRand is a new RNG using a thread safe implementation of rand.Source 29 | var SeededRand = rand.New(&lockedSource{src: rand.NewSource(time.Now().UnixNano())}) 30 | -------------------------------------------------------------------------------- /vendor/github.com/hashicorp/go-multierror/flatten.go: -------------------------------------------------------------------------------- 1 | package multierror 2 | 3 | // Flatten flattens the given error, merging any *Errors together into 4 | // a single *Error. 5 | func Flatten(err error) error { 6 | // If it isn't an *Error, just return the error as-is 7 | if _, ok := err.(*Error); !ok { 8 | return err 9 | } 10 | 11 | // Otherwise, make the result and flatten away! 12 | flatErr := new(Error) 13 | flatten(err, flatErr) 14 | return flatErr 15 | } 16 | 17 | func flatten(err error, flatErr *Error) { 18 | switch err := err.(type) { 19 | case *Error: 20 | for _, e := range err.Errors { 21 | flatten(e, flatErr) 22 | } 23 | default: 24 | flatErr.Errors = append(flatErr.Errors, err) 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/syscall_linux_gccgo_arm.go: -------------------------------------------------------------------------------- 1 | // Copyright 2018 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build linux && gccgo && arm 6 | 7 | package unix 8 | 9 | import ( 10 | "syscall" 11 | "unsafe" 12 | ) 13 | 14 | func seek(fd int, offset int64, whence int) (int64, syscall.Errno) { 15 | var newoffset int64 16 | offsetLow := uint32(offset & 0xffffffff) 17 | offsetHigh := uint32((offset >> 32) & 0xffffffff) 18 | _, _, err := Syscall6(SYS__LLSEEK, uintptr(fd), uintptr(offsetHigh), uintptr(offsetLow), uintptr(unsafe.Pointer(&newoffset)), uintptr(whence), 0) 19 | return newoffset, err 20 | } 21 | -------------------------------------------------------------------------------- /e2e/presign_test.go: -------------------------------------------------------------------------------- 1 | package e2e 2 | 3 | import ( 4 | "fmt" 5 | "testing" 6 | 7 | "gotest.tools/v3/icmd" 8 | ) 9 | 10 | func TestPresign(t *testing.T) { 11 | t.Parallel() 12 | 13 | s3client, s5cmd := setup(t) 14 | 15 | bucket := s3BucketFromTestName(t) 16 | 17 | createBucket(t, s3client, bucket) 18 | 19 | const ( 20 | filename = "test.txt" 21 | content = "file content" 22 | ) 23 | putFile(t, s3client, bucket, filename, content) 24 | 25 | src := fmt.Sprintf("s3://%v/%v", bucket, filename) 26 | 27 | cmd := s5cmd("presign", src) 28 | result := icmd.RunCmd(cmd) 29 | 30 | result.Assert(t, icmd.Success) 31 | 32 | assertLines(t, result.Stdout(), map[int]compareFunc{ 33 | 0: contains(filename), 34 | }) 35 | } 36 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/syscall_unix_gc.go: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build (darwin || dragonfly || freebsd || (linux && !ppc64 && !ppc64le) || netbsd || openbsd || solaris) && gc 6 | 7 | package unix 8 | 9 | import "syscall" 10 | 11 | func Syscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.Errno) 12 | func Syscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno) 13 | func RawSyscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.Errno) 14 | func RawSyscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno) 15 | -------------------------------------------------------------------------------- /vendor/golang.org/x/tools/internal/gcimporter/newInterface10.go: -------------------------------------------------------------------------------- 1 | // Copyright 2018 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build !go1.11 6 | // +build !go1.11 7 | 8 | package gcimporter 9 | 10 | import "go/types" 11 | 12 | func newInterface(methods []*types.Func, embeddeds []types.Type) *types.Interface { 13 | named := make([]*types.Named, len(embeddeds)) 14 | for i, e := range embeddeds { 15 | var ok bool 16 | named[i], ok = e.(*types.Named) 17 | if !ok { 18 | panic("embedding of non-defined interfaces in interfaces is not supported before Go 1.11") 19 | } 20 | } 21 | return types.NewInterface(methods, named) 22 | } 23 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/syscall_solaris_amd64.go: -------------------------------------------------------------------------------- 1 | // Copyright 2009 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build amd64 && solaris 6 | 7 | package unix 8 | 9 | func setTimespec(sec, nsec int64) Timespec { 10 | return Timespec{Sec: sec, Nsec: nsec} 11 | } 12 | 13 | func setTimeval(sec, usec int64) Timeval { 14 | return Timeval{Sec: sec, Usec: usec} 15 | } 16 | 17 | func (iov *Iovec) SetLen(length int) { 18 | iov.Len = uint64(length) 19 | } 20 | 21 | func (msghdr *Msghdr) SetIovlen(length int) { 22 | msghdr.Iovlen = int32(length) 23 | } 24 | 25 | func (cmsg *Cmsghdr) SetLen(length int) { 26 | cmsg.Len = uint32(length) 27 | } 28 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/windows/race.go: -------------------------------------------------------------------------------- 1 | // Copyright 2012 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build windows && race 6 | 7 | package windows 8 | 9 | import ( 10 | "runtime" 11 | "unsafe" 12 | ) 13 | 14 | const raceenabled = true 15 | 16 | func raceAcquire(addr unsafe.Pointer) { 17 | runtime.RaceAcquire(addr) 18 | } 19 | 20 | func raceReleaseMerge(addr unsafe.Pointer) { 21 | runtime.RaceReleaseMerge(addr) 22 | } 23 | 24 | func raceReadRange(addr unsafe.Pointer, len int) { 25 | runtime.RaceReadRange(addr, len) 26 | } 27 | 28 | func raceWriteRange(addr unsafe.Pointer, len int) { 29 | runtime.RaceWriteRange(addr, len) 30 | } 31 | -------------------------------------------------------------------------------- /vendor/github.com/aws/aws-sdk-go/aws/context_background_1_7.go: -------------------------------------------------------------------------------- 1 | //go:build go1.7 2 | // +build go1.7 3 | 4 | package aws 5 | 6 | import "context" 7 | 8 | // BackgroundContext returns a context that will never be canceled, has no 9 | // values, and no deadline. This context is used by the SDK to provide 10 | // backwards compatibility with non-context API operations and functionality. 11 | // 12 | // Go 1.6 and before: 13 | // This context function is equivalent to context.Background in the Go stdlib. 14 | // 15 | // Go 1.7 and later: 16 | // The context returned will be the value returned by context.Background() 17 | // 18 | // See https://golang.org/pkg/context for more information on Contexts. 19 | func BackgroundContext() Context { 20 | return context.Background() 21 | } 22 | -------------------------------------------------------------------------------- /vendor/github.com/aws/aws-sdk-go/aws/session/custom_transport_go1.12.go: -------------------------------------------------------------------------------- 1 | //go:build !go1.13 && go1.7 2 | // +build !go1.13,go1.7 3 | 4 | package session 5 | 6 | import ( 7 | "net" 8 | "net/http" 9 | "time" 10 | ) 11 | 12 | // Transport that should be used when a custom CA bundle is specified with the 13 | // SDK. 14 | func getCustomTransport() *http.Transport { 15 | return &http.Transport{ 16 | Proxy: http.ProxyFromEnvironment, 17 | DialContext: (&net.Dialer{ 18 | Timeout: 30 * time.Second, 19 | KeepAlive: 30 * time.Second, 20 | DualStack: true, 21 | }).DialContext, 22 | MaxIdleConns: 100, 23 | IdleConnTimeout: 90 * time.Second, 24 | TLSHandshakeTimeout: 10 * time.Second, 25 | ExpectContinueTimeout: 1 * time.Second, 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /vendor/honnef.co/go/tools/internal/robustio/robustio_windows.go: -------------------------------------------------------------------------------- 1 | // Copyright 2019 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package robustio 6 | 7 | import ( 8 | "errors" 9 | "syscall" 10 | ) 11 | 12 | const ERROR_SHARING_VIOLATION = 32 13 | const errFileNotFound = syscall.ERROR_FILE_NOT_FOUND 14 | 15 | // isEphemeralError returns true if err may be resolved by waiting. 16 | func isEphemeralError(err error) bool { 17 | var errno syscall.Errno 18 | if errors.As(err, &errno) { 19 | switch errno { 20 | case syscall.ERROR_ACCESS_DENIED, 21 | syscall.ERROR_FILE_NOT_FOUND, 22 | ERROR_SHARING_VIOLATION: 23 | return true 24 | } 25 | } 26 | return false 27 | } 28 | -------------------------------------------------------------------------------- /vendor/github.com/aws/aws-sdk-go/aws/session/custom_transport.go: -------------------------------------------------------------------------------- 1 | //go:build go1.13 2 | // +build go1.13 3 | 4 | package session 5 | 6 | import ( 7 | "net" 8 | "net/http" 9 | "time" 10 | ) 11 | 12 | // Transport that should be used when a custom CA bundle is specified with the 13 | // SDK. 14 | func getCustomTransport() *http.Transport { 15 | return &http.Transport{ 16 | Proxy: http.ProxyFromEnvironment, 17 | DialContext: (&net.Dialer{ 18 | Timeout: 30 * time.Second, 19 | KeepAlive: 30 * time.Second, 20 | DualStack: true, 21 | }).DialContext, 22 | ForceAttemptHTTP2: true, 23 | MaxIdleConns: 100, 24 | IdleConnTimeout: 90 * time.Second, 25 | TLSHandshakeTimeout: 10 * time.Second, 26 | ExpectContinueTimeout: 1 * time.Second, 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /vendor/github.com/aws/aws-sdk-go/internal/ini/comment_token.go: -------------------------------------------------------------------------------- 1 | package ini 2 | 3 | // isComment will return whether or not the next byte(s) is a 4 | // comment. 5 | func isComment(b []rune) bool { 6 | if len(b) == 0 { 7 | return false 8 | } 9 | 10 | switch b[0] { 11 | case ';': 12 | return true 13 | case '#': 14 | return true 15 | } 16 | 17 | return false 18 | } 19 | 20 | // newCommentToken will create a comment token and 21 | // return how many bytes were read. 22 | func newCommentToken(b []rune) (Token, int, error) { 23 | i := 0 24 | for ; i < len(b); i++ { 25 | if b[i] == '\n' { 26 | break 27 | } 28 | 29 | if len(b)-i > 2 && b[i] == '\r' && b[i+1] == '\n' { 30 | break 31 | } 32 | } 33 | 34 | return newToken(TokenComment, b[:i], NoneType), i, nil 35 | } 36 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/race.go: -------------------------------------------------------------------------------- 1 | // Copyright 2012 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build (darwin && race) || (linux && race) || (freebsd && race) 6 | 7 | package unix 8 | 9 | import ( 10 | "runtime" 11 | "unsafe" 12 | ) 13 | 14 | const raceenabled = true 15 | 16 | func raceAcquire(addr unsafe.Pointer) { 17 | runtime.RaceAcquire(addr) 18 | } 19 | 20 | func raceReleaseMerge(addr unsafe.Pointer) { 21 | runtime.RaceReleaseMerge(addr) 22 | } 23 | 24 | func raceReadRange(addr unsafe.Pointer, len int) { 25 | runtime.RaceReadRange(addr, len) 26 | } 27 | 28 | func raceWriteRange(addr unsafe.Pointer, len int) { 29 | runtime.RaceWriteRange(addr, len) 30 | } 31 | -------------------------------------------------------------------------------- /vendor/github.com/aws/aws-sdk-go/aws/credentials/context_background_go1.7.go: -------------------------------------------------------------------------------- 1 | //go:build go1.7 2 | // +build go1.7 3 | 4 | package credentials 5 | 6 | import "context" 7 | 8 | // backgroundContext returns a context that will never be canceled, has no 9 | // values, and no deadline. This context is used by the SDK to provide 10 | // backwards compatibility with non-context API operations and functionality. 11 | // 12 | // Go 1.6 and before: 13 | // This context function is equivalent to context.Background in the Go stdlib. 14 | // 15 | // Go 1.7 and later: 16 | // The context returned will be the value returned by context.Background() 17 | // 18 | // See https://golang.org/pkg/context for more information on Contexts. 19 | func backgroundContext() Context { 20 | return context.Background() 21 | } 22 | -------------------------------------------------------------------------------- /vendor/github.com/aws/aws-sdk-go/internal/ini/op_tokens.go: -------------------------------------------------------------------------------- 1 | package ini 2 | 3 | import ( 4 | "fmt" 5 | ) 6 | 7 | var ( 8 | equalOp = []rune("=") 9 | equalColonOp = []rune(":") 10 | ) 11 | 12 | func isOp(b []rune) bool { 13 | if len(b) == 0 { 14 | return false 15 | } 16 | 17 | switch b[0] { 18 | case '=': 19 | return true 20 | case ':': 21 | return true 22 | default: 23 | return false 24 | } 25 | } 26 | 27 | func newOpToken(b []rune) (Token, int, error) { 28 | tok := Token{} 29 | 30 | switch b[0] { 31 | case '=': 32 | tok = newToken(TokenOp, equalOp, NoneType) 33 | case ':': 34 | tok = newToken(TokenOp, equalColonOp, NoneType) 35 | default: 36 | return tok, 0, NewParseError(fmt.Sprintf("unexpected op type, %v", b[0])) 37 | } 38 | return tok, 1, nil 39 | } 40 | -------------------------------------------------------------------------------- /vendor/github.com/xrash/smetrics/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Package smetrics provides a bunch of algorithms for calculating 3 | the distance between strings. 4 | 5 | There are implementations for calculating the popular Levenshtein 6 | distance (aka Edit Distance or Wagner-Fischer), as well as the Jaro 7 | distance, the Jaro-Winkler distance, and more. 8 | 9 | For the Levenshtein distance, you can use the functions WagnerFischer() 10 | and Ukkonen(). Read the documentation on these functions. 11 | 12 | For the Jaro and Jaro-Winkler algorithms, check the functions 13 | Jaro() and JaroWinkler(). Read the documentation on these functions. 14 | 15 | For the Soundex algorithm, check the function Soundex(). 16 | 17 | For the Hamming distance algorithm, check the function Hamming(). 18 | */ 19 | package smetrics 20 | -------------------------------------------------------------------------------- /vendor/github.com/iancoleman/strcase/doc.go: -------------------------------------------------------------------------------- 1 | // Package strcase converts strings to various cases. See the conversion table below: 2 | // | Function | Result | 3 | // |---------------------------------|--------------------| 4 | // | ToSnake(s) | any_kind_of_string | 5 | // | ToScreamingSnake(s) | ANY_KIND_OF_STRING | 6 | // | ToKebab(s) | any-kind-of-string | 7 | // | ToScreamingKebab(s) | ANY-KIND-OF-STRING | 8 | // | ToDelimited(s, '.') | any.kind.of.string | 9 | // | ToScreamingDelimited(s, '.') | ANY.KIND.OF.STRING | 10 | // | ToCamel(s) | AnyKindOfString | 11 | // | ToLowerCamel(s) | anyKindOfString | 12 | package strcase 13 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/syscall_hurd.go: -------------------------------------------------------------------------------- 1 | // Copyright 2022 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build hurd 6 | 7 | package unix 8 | 9 | /* 10 | #include 11 | int ioctl(int, unsigned long int, uintptr_t); 12 | */ 13 | import "C" 14 | 15 | func ioctl(fd int, req uint, arg uintptr) (err error) { 16 | r0, er := C.ioctl(C.int(fd), C.ulong(req), C.uintptr_t(arg)) 17 | if r0 == -1 && er != nil { 18 | err = er 19 | } 20 | return 21 | } 22 | 23 | func ioctlPtr(fd int, req uint, arg unsafe.Pointer) (err error) { 24 | r0, er := C.ioctl(C.int(fd), C.ulong(req), C.uintptr_t(uintptr(arg))) 25 | if r0 == -1 && er != nil { 26 | err = er 27 | } 28 | return 29 | } 30 | -------------------------------------------------------------------------------- /vendor/golang.org/x/tools/internal/pkgbits/frames_go17.go: -------------------------------------------------------------------------------- 1 | // Copyright 2021 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build go1.7 6 | // +build go1.7 7 | 8 | package pkgbits 9 | 10 | import "runtime" 11 | 12 | // walkFrames calls visit for each call frame represented by pcs. 13 | // 14 | // pcs should be a slice of PCs, as returned by runtime.Callers. 15 | func walkFrames(pcs []uintptr, visit frameVisitor) { 16 | if len(pcs) == 0 { 17 | return 18 | } 19 | 20 | frames := runtime.CallersFrames(pcs) 21 | for { 22 | frame, more := frames.Next() 23 | visit(frame.File, frame.Line, frame.Function, frame.PC-frame.Entry) 24 | if !more { 25 | return 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /vendor/github.com/jmespath/go-jmespath/toktype_string.go: -------------------------------------------------------------------------------- 1 | // generated by stringer -type=tokType; DO NOT EDIT 2 | 3 | package jmespath 4 | 5 | import "fmt" 6 | 7 | const _tokType_name = "tUnknowntStartDottFiltertFlattentLparentRparentLbrackettRbrackettLbracetRbracetOrtPipetNumbertUnquotedIdentifiertQuotedIdentifiertCommatColontLTtLTEtGTtGTEtEQtNEtJSONLiteraltStringLiteraltCurrenttExpreftAndtNottEOF" 8 | 9 | var _tokType_index = [...]uint8{0, 8, 13, 17, 24, 32, 39, 46, 55, 64, 71, 78, 81, 86, 93, 112, 129, 135, 141, 144, 148, 151, 155, 158, 161, 173, 187, 195, 202, 206, 210, 214} 10 | 11 | func (i tokType) String() string { 12 | if i < 0 || i >= tokType(len(_tokType_index)-1) { 13 | return fmt.Sprintf("tokType(%d)", i) 14 | } 15 | return _tokType_name[_tokType_index[i]:_tokType_index[i+1]] 16 | } 17 | -------------------------------------------------------------------------------- /vendor/github.com/urfave/cli/v2/cli.go: -------------------------------------------------------------------------------- 1 | // Package cli provides a minimal framework for creating and organizing command line 2 | // Go applications. cli is designed to be easy to understand and write, the most simple 3 | // cli application can be written as follows: 4 | // func main() { 5 | // (&cli.App{}).Run(os.Args) 6 | // } 7 | // 8 | // Of course this application does not do much, so let's make this an actual application: 9 | // func main() { 10 | // app := &cli.App{ 11 | // Name: "greet", 12 | // Usage: "say a greeting", 13 | // Action: func(c *cli.Context) error { 14 | // fmt.Println("Greetings") 15 | // return nil 16 | // }, 17 | // } 18 | // 19 | // app.Run(os.Args) 20 | // } 21 | package cli 22 | 23 | //go:generate go run internal/genflags/cmd/genflags/main.go 24 | -------------------------------------------------------------------------------- /vendor/github.com/aws/aws-sdk-go/aws/url_1_7.go: -------------------------------------------------------------------------------- 1 | //go:build !go1.8 2 | // +build !go1.8 3 | 4 | package aws 5 | 6 | import ( 7 | "net/url" 8 | "strings" 9 | ) 10 | 11 | // URLHostname will extract the Hostname without port from the URL value. 12 | // 13 | // Copy of Go 1.8's net/url#URL.Hostname functionality. 14 | func URLHostname(url *url.URL) string { 15 | return stripPort(url.Host) 16 | 17 | } 18 | 19 | // stripPort is copy of Go 1.8 url#URL.Hostname functionality. 20 | // https://golang.org/src/net/url/url.go 21 | func stripPort(hostport string) string { 22 | colon := strings.IndexByte(hostport, ':') 23 | if colon == -1 { 24 | return hostport 25 | } 26 | if i := strings.IndexByte(hostport, ']'); i != -1 { 27 | return strings.TrimPrefix(hostport[:i], "[") 28 | } 29 | return hostport[:colon] 30 | } 31 | -------------------------------------------------------------------------------- /vendor/github.com/aws/aws-sdk-go/internal/ini/sep_tokens.go: -------------------------------------------------------------------------------- 1 | package ini 2 | 3 | import ( 4 | "fmt" 5 | ) 6 | 7 | var ( 8 | emptyRunes = []rune{} 9 | ) 10 | 11 | func isSep(b []rune) bool { 12 | if len(b) == 0 { 13 | return false 14 | } 15 | 16 | switch b[0] { 17 | case '[', ']': 18 | return true 19 | default: 20 | return false 21 | } 22 | } 23 | 24 | var ( 25 | openBrace = []rune("[") 26 | closeBrace = []rune("]") 27 | ) 28 | 29 | func newSepToken(b []rune) (Token, int, error) { 30 | tok := Token{} 31 | 32 | switch b[0] { 33 | case '[': 34 | tok = newToken(TokenSep, openBrace, NoneType) 35 | case ']': 36 | tok = newToken(TokenSep, closeBrace, NoneType) 37 | default: 38 | return tok, 0, NewParseError(fmt.Sprintf("unexpected sep type, %v", b[0])) 39 | } 40 | return tok, 1, nil 41 | } 42 | -------------------------------------------------------------------------------- /vendor/github.com/pkg/errors/appveyor.yml: -------------------------------------------------------------------------------- 1 | version: build-{build}.{branch} 2 | 3 | clone_folder: C:\gopath\src\github.com\pkg\errors 4 | shallow_clone: true # for startup speed 5 | 6 | environment: 7 | GOPATH: C:\gopath 8 | 9 | platform: 10 | - x64 11 | 12 | # http://www.appveyor.com/docs/installed-software 13 | install: 14 | # some helpful output for debugging builds 15 | - go version 16 | - go env 17 | # pre-installed MinGW at C:\MinGW is 32bit only 18 | # but MSYS2 at C:\msys64 has mingw64 19 | - set PATH=C:\msys64\mingw64\bin;%PATH% 20 | - gcc --version 21 | - g++ --version 22 | 23 | build_script: 24 | - go install -v ./... 25 | 26 | test_script: 27 | - set PATH=C:\gopath\bin;%PATH% 28 | - go test -v ./... 29 | 30 | #artifacts: 31 | # - path: '%GOPATH%\bin\*.exe' 32 | deploy: off 33 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/env_unix.go: -------------------------------------------------------------------------------- 1 | // Copyright 2010 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos 6 | 7 | // Unix environment variables. 8 | 9 | package unix 10 | 11 | import "syscall" 12 | 13 | func Getenv(key string) (value string, found bool) { 14 | return syscall.Getenv(key) 15 | } 16 | 17 | func Setenv(key, value string) error { 18 | return syscall.Setenv(key, value) 19 | } 20 | 21 | func Clearenv() { 22 | syscall.Clearenv() 23 | } 24 | 25 | func Environ() []string { 26 | return syscall.Environ() 27 | } 28 | 29 | func Unsetenv(key string) error { 30 | return syscall.Unsetenv(key) 31 | } 32 | -------------------------------------------------------------------------------- /vendor/github.com/karrick/godirwalk/modeType.go: -------------------------------------------------------------------------------- 1 | package godirwalk 2 | 3 | import ( 4 | "os" 5 | ) 6 | 7 | // modeType returns the mode type of the file system entry identified by 8 | // osPathname by calling os.LStat function, to intentionally not follow symbolic 9 | // links. 10 | // 11 | // Even though os.LStat provides all file mode bits, we want to ensure same 12 | // values returned to caller regardless of whether we obtained file mode bits 13 | // from syscall or stat call. Therefore mask out the additional file mode bits 14 | // that are provided by stat but not by the syscall, so users can rely on their 15 | // values. 16 | func modeType(osPathname string) (os.FileMode, error) { 17 | fi, err := os.Lstat(osPathname) 18 | if err == nil { 19 | return fi.Mode() & os.ModeType, nil 20 | } 21 | return 0, err 22 | } 23 | -------------------------------------------------------------------------------- /vendor/github.com/aws/aws-sdk-go/aws/context_background_1_5.go: -------------------------------------------------------------------------------- 1 | //go:build !go1.7 2 | // +build !go1.7 3 | 4 | package aws 5 | 6 | import ( 7 | "github.com/aws/aws-sdk-go/internal/context" 8 | ) 9 | 10 | // BackgroundContext returns a context that will never be canceled, has no 11 | // values, and no deadline. This context is used by the SDK to provide 12 | // backwards compatibility with non-context API operations and functionality. 13 | // 14 | // Go 1.6 and before: 15 | // This context function is equivalent to context.Background in the Go stdlib. 16 | // 17 | // Go 1.7 and later: 18 | // The context returned will be the value returned by context.Background() 19 | // 20 | // See https://golang.org/pkg/context for more information on Contexts. 21 | func BackgroundContext() Context { 22 | return context.BackgroundCtx 23 | } 24 | -------------------------------------------------------------------------------- /vendor/github.com/aws/aws-sdk-go/service/s3/platform_handlers_go1.6.go: -------------------------------------------------------------------------------- 1 | //go:build go1.6 2 | // +build go1.6 3 | 4 | package s3 5 | 6 | import ( 7 | "github.com/aws/aws-sdk-go/aws" 8 | "github.com/aws/aws-sdk-go/aws/request" 9 | ) 10 | 11 | func platformRequestHandlers(r *request.Request) { 12 | if r.Operation.HTTPMethod == "PUT" { 13 | // 100-Continue should only be used on put requests. 14 | r.Handlers.Sign.PushBack(add100Continue) 15 | } 16 | } 17 | 18 | func add100Continue(r *request.Request) { 19 | if aws.BoolValue(r.Config.S3Disable100Continue) { 20 | return 21 | } 22 | if r.HTTPRequest.ContentLength < 1024*1024*2 { 23 | // Ignore requests smaller than 2MB. This helps prevent delaying 24 | // requests unnecessarily. 25 | return 26 | } 27 | 28 | r.HTTPRequest.Header.Set("Expect", "100-continue") 29 | } 30 | -------------------------------------------------------------------------------- /vendor/github.com/hashicorp/go-multierror/format.go: -------------------------------------------------------------------------------- 1 | package multierror 2 | 3 | import ( 4 | "fmt" 5 | "strings" 6 | ) 7 | 8 | // ErrorFormatFunc is a function callback that is called by Error to 9 | // turn the list of errors into a string. 10 | type ErrorFormatFunc func([]error) string 11 | 12 | // ListFormatFunc is a basic formatter that outputs the number of errors 13 | // that occurred along with a bullet point list of the errors. 14 | func ListFormatFunc(es []error) string { 15 | if len(es) == 1 { 16 | return fmt.Sprintf("1 error occurred:\n\t* %s\n\n", es[0]) 17 | } 18 | 19 | points := make([]string, len(es)) 20 | for i, err := range es { 21 | points[i] = fmt.Sprintf("* %s", err) 22 | } 23 | 24 | return fmt.Sprintf( 25 | "%d errors occurred:\n\t%s\n\n", 26 | len(es), strings.Join(points, "\n\t")) 27 | } 28 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/asm_bsd_arm.s: -------------------------------------------------------------------------------- 1 | // Copyright 2021 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build (freebsd || netbsd || openbsd) && gc 6 | 7 | #include "textflag.h" 8 | 9 | // System call support for ARM BSD 10 | 11 | // Just jump to package syscall's implementation for all these functions. 12 | // The runtime may know about them. 13 | 14 | TEXT ·Syscall(SB),NOSPLIT,$0-28 15 | B syscall·Syscall(SB) 16 | 17 | TEXT ·Syscall6(SB),NOSPLIT,$0-40 18 | B syscall·Syscall6(SB) 19 | 20 | TEXT ·Syscall9(SB),NOSPLIT,$0-52 21 | B syscall·Syscall9(SB) 22 | 23 | TEXT ·RawSyscall(SB),NOSPLIT,$0-28 24 | B syscall·RawSyscall(SB) 25 | 26 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 27 | B syscall·RawSyscall6(SB) 28 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/readdirent_getdirentries.go: -------------------------------------------------------------------------------- 1 | // Copyright 2019 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build darwin || zos 6 | 7 | package unix 8 | 9 | import "unsafe" 10 | 11 | // ReadDirent reads directory entries from fd and writes them into buf. 12 | func ReadDirent(fd int, buf []byte) (n int, err error) { 13 | // Final argument is (basep *uintptr) and the syscall doesn't take nil. 14 | // 64 bits should be enough. (32 bits isn't even on 386). Since the 15 | // actual system call is getdirentries64, 64 is a good guess. 16 | // TODO(rsc): Can we use a single global basep for all calls? 17 | var base = (*uintptr)(unsafe.Pointer(new(uint64))) 18 | return Getdirentries(fd, buf, base) 19 | } 20 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/zptrace_linux_arm64.go: -------------------------------------------------------------------------------- 1 | // Code generated by linux/mkall.go generatePtraceRegSet("arm64"). DO NOT EDIT. 2 | 3 | package unix 4 | 5 | import "unsafe" 6 | 7 | // PtraceGetRegSetArm64 fetches the registers used by arm64 binaries. 8 | func PtraceGetRegSetArm64(pid, addr int, regsout *PtraceRegsArm64) error { 9 | iovec := Iovec{(*byte)(unsafe.Pointer(regsout)), uint64(unsafe.Sizeof(*regsout))} 10 | return ptracePtr(PTRACE_GETREGSET, pid, uintptr(addr), unsafe.Pointer(&iovec)) 11 | } 12 | 13 | // PtraceSetRegSetArm64 sets the registers used by arm64 binaries. 14 | func PtraceSetRegSetArm64(pid, addr int, regs *PtraceRegsArm64) error { 15 | iovec := Iovec{(*byte)(unsafe.Pointer(regs)), uint64(unsafe.Sizeof(*regs))} 16 | return ptracePtr(PTRACE_SETREGSET, pid, uintptr(addr), unsafe.Pointer(&iovec)) 17 | } 18 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/asm_openbsd_mips64.s: -------------------------------------------------------------------------------- 1 | // Copyright 2019 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build gc 6 | 7 | #include "textflag.h" 8 | 9 | // 10 | // System call support for mips64, OpenBSD 11 | // 12 | 13 | // Just jump to package syscall's implementation for all these functions. 14 | // The runtime may know about them. 15 | 16 | TEXT ·Syscall(SB),NOSPLIT,$0-56 17 | JMP syscall·Syscall(SB) 18 | 19 | TEXT ·Syscall6(SB),NOSPLIT,$0-80 20 | JMP syscall·Syscall6(SB) 21 | 22 | TEXT ·Syscall9(SB),NOSPLIT,$0-104 23 | JMP syscall·Syscall9(SB) 24 | 25 | TEXT ·RawSyscall(SB),NOSPLIT,$0-56 26 | JMP syscall·RawSyscall(SB) 27 | 28 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 29 | JMP syscall·RawSyscall6(SB) 30 | -------------------------------------------------------------------------------- /vendor/github.com/aws/aws-sdk-go/private/protocol/eventstream/eventstreamapi/transport_go1.17.go: -------------------------------------------------------------------------------- 1 | //go:build !go1.18 2 | // +build !go1.18 3 | 4 | package eventstreamapi 5 | 6 | import "github.com/aws/aws-sdk-go/aws/request" 7 | 8 | // ApplyHTTPTransportFixes applies fixes to the HTTP request for proper event 9 | // stream functionality. Go 1.15 through 1.17 HTTP client could hang forever 10 | // when an HTTP/2 connection failed with an non-200 status code and err. Using 11 | // Expect 100-Continue, allows the HTTP client to gracefully handle the non-200 12 | // status code, and close the connection. 13 | // 14 | // This is a no-op for Go 1.18 and above. 15 | func ApplyHTTPTransportFixes(r *request.Request) { 16 | r.Handlers.Sign.PushBack(func(r *request.Request) { 17 | r.HTTPRequest.Header.Set("Expect", "100-Continue") 18 | }) 19 | } 20 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/asm_bsd_386.s: -------------------------------------------------------------------------------- 1 | // Copyright 2021 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build (freebsd || netbsd || openbsd) && gc 6 | 7 | #include "textflag.h" 8 | 9 | // System call support for 386 BSD 10 | 11 | // Just jump to package syscall's implementation for all these functions. 12 | // The runtime may know about them. 13 | 14 | TEXT ·Syscall(SB),NOSPLIT,$0-28 15 | JMP syscall·Syscall(SB) 16 | 17 | TEXT ·Syscall6(SB),NOSPLIT,$0-40 18 | JMP syscall·Syscall6(SB) 19 | 20 | TEXT ·Syscall9(SB),NOSPLIT,$0-52 21 | JMP syscall·Syscall9(SB) 22 | 23 | TEXT ·RawSyscall(SB),NOSPLIT,$0-28 24 | JMP syscall·RawSyscall(SB) 25 | 26 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 27 | JMP syscall·RawSyscall6(SB) 28 | -------------------------------------------------------------------------------- /vendor/github.com/aws/aws-sdk-go/aws/credentials/context_background_go1.5.go: -------------------------------------------------------------------------------- 1 | //go:build !go1.7 2 | // +build !go1.7 3 | 4 | package credentials 5 | 6 | import ( 7 | "github.com/aws/aws-sdk-go/internal/context" 8 | ) 9 | 10 | // backgroundContext returns a context that will never be canceled, has no 11 | // values, and no deadline. This context is used by the SDK to provide 12 | // backwards compatibility with non-context API operations and functionality. 13 | // 14 | // Go 1.6 and before: 15 | // This context function is equivalent to context.Background in the Go stdlib. 16 | // 17 | // Go 1.7 and later: 18 | // The context returned will be the value returned by context.Background() 19 | // 20 | // See https://golang.org/pkg/context for more information on Contexts. 21 | func backgroundContext() Context { 22 | return context.BackgroundCtx 23 | } 24 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/asm_bsd_arm64.s: -------------------------------------------------------------------------------- 1 | // Copyright 2021 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build (darwin || freebsd || netbsd || openbsd) && gc 6 | 7 | #include "textflag.h" 8 | 9 | // System call support for ARM64 BSD 10 | 11 | // Just jump to package syscall's implementation for all these functions. 12 | // The runtime may know about them. 13 | 14 | TEXT ·Syscall(SB),NOSPLIT,$0-56 15 | JMP syscall·Syscall(SB) 16 | 17 | TEXT ·Syscall6(SB),NOSPLIT,$0-80 18 | JMP syscall·Syscall6(SB) 19 | 20 | TEXT ·Syscall9(SB),NOSPLIT,$0-104 21 | JMP syscall·Syscall9(SB) 22 | 23 | TEXT ·RawSyscall(SB),NOSPLIT,$0-56 24 | JMP syscall·RawSyscall(SB) 25 | 26 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 27 | JMP syscall·RawSyscall6(SB) 28 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/asm_bsd_riscv64.s: -------------------------------------------------------------------------------- 1 | // Copyright 2021 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build (darwin || freebsd || netbsd || openbsd) && gc 6 | 7 | #include "textflag.h" 8 | 9 | // System call support for RISCV64 BSD 10 | 11 | // Just jump to package syscall's implementation for all these functions. 12 | // The runtime may know about them. 13 | 14 | TEXT ·Syscall(SB),NOSPLIT,$0-56 15 | JMP syscall·Syscall(SB) 16 | 17 | TEXT ·Syscall6(SB),NOSPLIT,$0-80 18 | JMP syscall·Syscall6(SB) 19 | 20 | TEXT ·Syscall9(SB),NOSPLIT,$0-104 21 | JMP syscall·Syscall9(SB) 22 | 23 | TEXT ·RawSyscall(SB),NOSPLIT,$0-56 24 | JMP syscall·RawSyscall(SB) 25 | 26 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 27 | JMP syscall·RawSyscall6(SB) 28 | -------------------------------------------------------------------------------- /vendor/gotest.tools/v3/internal/format/format.go: -------------------------------------------------------------------------------- 1 | package format // import "gotest.tools/v3/internal/format" 2 | 3 | import "fmt" 4 | 5 | // Message accepts a msgAndArgs varargs and formats it using fmt.Sprintf 6 | func Message(msgAndArgs ...interface{}) string { 7 | switch len(msgAndArgs) { 8 | case 0: 9 | return "" 10 | case 1: 11 | return fmt.Sprintf("%v", msgAndArgs[0]) 12 | default: 13 | return fmt.Sprintf(msgAndArgs[0].(string), msgAndArgs[1:]...) 14 | } 15 | } 16 | 17 | // WithCustomMessage accepts one or two messages and formats them appropriately 18 | func WithCustomMessage(source string, msgAndArgs ...interface{}) string { 19 | custom := Message(msgAndArgs...) 20 | switch { 21 | case custom == "": 22 | return source 23 | case source == "": 24 | return custom 25 | } 26 | return fmt.Sprintf("%s: %s", source, custom) 27 | } 28 | -------------------------------------------------------------------------------- /vendor/github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil/sort.go: -------------------------------------------------------------------------------- 1 | package xmlutil 2 | 3 | import ( 4 | "encoding/xml" 5 | "strings" 6 | ) 7 | 8 | type xmlAttrSlice []xml.Attr 9 | 10 | func (x xmlAttrSlice) Len() int { 11 | return len(x) 12 | } 13 | 14 | func (x xmlAttrSlice) Less(i, j int) bool { 15 | spaceI, spaceJ := x[i].Name.Space, x[j].Name.Space 16 | localI, localJ := x[i].Name.Local, x[j].Name.Local 17 | valueI, valueJ := x[i].Value, x[j].Value 18 | 19 | spaceCmp := strings.Compare(spaceI, spaceJ) 20 | localCmp := strings.Compare(localI, localJ) 21 | valueCmp := strings.Compare(valueI, valueJ) 22 | 23 | if spaceCmp == -1 || (spaceCmp == 0 && (localCmp == -1 || (localCmp == 0 && valueCmp == -1))) { 24 | return true 25 | } 26 | 27 | return false 28 | } 29 | 30 | func (x xmlAttrSlice) Swap(i, j int) { 31 | x[i], x[j] = x[j], x[i] 32 | } 33 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/asm_bsd_amd64.s: -------------------------------------------------------------------------------- 1 | // Copyright 2021 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build (darwin || dragonfly || freebsd || netbsd || openbsd) && gc 6 | 7 | #include "textflag.h" 8 | 9 | // System call support for AMD64 BSD 10 | 11 | // Just jump to package syscall's implementation for all these functions. 12 | // The runtime may know about them. 13 | 14 | TEXT ·Syscall(SB),NOSPLIT,$0-56 15 | JMP syscall·Syscall(SB) 16 | 17 | TEXT ·Syscall6(SB),NOSPLIT,$0-80 18 | JMP syscall·Syscall6(SB) 19 | 20 | TEXT ·Syscall9(SB),NOSPLIT,$0-104 21 | JMP syscall·Syscall9(SB) 22 | 23 | TEXT ·RawSyscall(SB),NOSPLIT,$0-56 24 | JMP syscall·RawSyscall(SB) 25 | 26 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 27 | JMP syscall·RawSyscall6(SB) 28 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/asm_bsd_ppc64.s: -------------------------------------------------------------------------------- 1 | // Copyright 2022 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build (darwin || freebsd || netbsd || openbsd) && gc 6 | 7 | #include "textflag.h" 8 | 9 | // 10 | // System call support for ppc64, BSD 11 | // 12 | 13 | // Just jump to package syscall's implementation for all these functions. 14 | // The runtime may know about them. 15 | 16 | TEXT ·Syscall(SB),NOSPLIT,$0-56 17 | JMP syscall·Syscall(SB) 18 | 19 | TEXT ·Syscall6(SB),NOSPLIT,$0-80 20 | JMP syscall·Syscall6(SB) 21 | 22 | TEXT ·Syscall9(SB),NOSPLIT,$0-104 23 | JMP syscall·Syscall9(SB) 24 | 25 | TEXT ·RawSyscall(SB),NOSPLIT,$0-56 26 | JMP syscall·RawSyscall(SB) 27 | 28 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 29 | JMP syscall·RawSyscall6(SB) 30 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/bluetooth_linux.go: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // Bluetooth sockets and messages 6 | 7 | package unix 8 | 9 | // Bluetooth Protocols 10 | const ( 11 | BTPROTO_L2CAP = 0 12 | BTPROTO_HCI = 1 13 | BTPROTO_SCO = 2 14 | BTPROTO_RFCOMM = 3 15 | BTPROTO_BNEP = 4 16 | BTPROTO_CMTP = 5 17 | BTPROTO_HIDP = 6 18 | BTPROTO_AVDTP = 7 19 | ) 20 | 21 | const ( 22 | HCI_CHANNEL_RAW = 0 23 | HCI_CHANNEL_USER = 1 24 | HCI_CHANNEL_MONITOR = 2 25 | HCI_CHANNEL_CONTROL = 3 26 | HCI_CHANNEL_LOGGING = 4 27 | ) 28 | 29 | // Socketoption Level 30 | const ( 31 | SOL_BLUETOOTH = 0x112 32 | SOL_HCI = 0x0 33 | SOL_L2CAP = 0x6 34 | SOL_RFCOMM = 0x12 35 | SOL_SCO = 0x11 36 | ) 37 | -------------------------------------------------------------------------------- /vendor/github.com/shabbyrobe/gocovmerge/README.md: -------------------------------------------------------------------------------- 1 | gocovmerge 2 | ========== 3 | 4 | This is a fork of https://github.com/wadey/gocovmerge. It converts it into a 5 | library and introduces idiomatic error handling. The original command's 6 | functionality is provided by github.com/shabbyrobe/gocovmerge/cmd/gocovmerge. 7 | 8 | -- 9 | 10 | gocovmerge takes the results from multiple `go test -coverprofile` runs and 11 | merges them into one profile. 12 | 13 | usage 14 | ----- 15 | 16 | gocovmerge [coverprofiles...] 17 | 18 | gocovmerge takes the source coverprofiles as the arguments (output from 19 | `go test -coverprofile coverage.out`) and outputs a merged version of the 20 | files to standard out. You can only merge profiles that were generated from the 21 | same source code. If there are source lines that overlap or do not merge, the 22 | process will exit with an error code. 23 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/dev_aix_ppc.go: -------------------------------------------------------------------------------- 1 | // Copyright 2018 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build aix && ppc 6 | 7 | // Functions to access/create device major and minor numbers matching the 8 | // encoding used by AIX. 9 | 10 | package unix 11 | 12 | // Major returns the major component of a Linux device number. 13 | func Major(dev uint64) uint32 { 14 | return uint32((dev >> 16) & 0xffff) 15 | } 16 | 17 | // Minor returns the minor component of a Linux device number. 18 | func Minor(dev uint64) uint32 { 19 | return uint32(dev & 0xffff) 20 | } 21 | 22 | // Mkdev returns a Linux device number generated from the given major and minor 23 | // components. 24 | func Mkdev(major, minor uint32) uint64 { 25 | return uint64(((major) << 16) | (minor)) 26 | } 27 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/dev_darwin.go: -------------------------------------------------------------------------------- 1 | // Copyright 2017 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // Functions to access/create device major and minor numbers matching the 6 | // encoding used in Darwin's sys/types.h header. 7 | 8 | package unix 9 | 10 | // Major returns the major component of a Darwin device number. 11 | func Major(dev uint64) uint32 { 12 | return uint32((dev >> 24) & 0xff) 13 | } 14 | 15 | // Minor returns the minor component of a Darwin device number. 16 | func Minor(dev uint64) uint32 { 17 | return uint32(dev & 0xffffff) 18 | } 19 | 20 | // Mkdev returns a Darwin device number generated from the given major and minor 21 | // components. 22 | func Mkdev(major, minor uint32) uint64 { 23 | return (uint64(major) << 24) | uint64(minor) 24 | } 25 | -------------------------------------------------------------------------------- /vendor/github.com/aws/aws-sdk-go/private/protocol/eventstream/eventstreamapi/shared.go: -------------------------------------------------------------------------------- 1 | package eventstreamapi 2 | 3 | // EventStream headers with specific meaning to async API functionality. 4 | const ( 5 | ChunkSignatureHeader = `:chunk-signature` // chunk signature for message 6 | DateHeader = `:date` // Date header for signature 7 | 8 | // Message header and values 9 | MessageTypeHeader = `:message-type` // Identifies type of message. 10 | EventMessageType = `event` 11 | ErrorMessageType = `error` 12 | ExceptionMessageType = `exception` 13 | 14 | // Message Events 15 | EventTypeHeader = `:event-type` // Identifies message event type e.g. "Stats". 16 | 17 | // Message Error 18 | ErrorCodeHeader = `:error-code` 19 | ErrorMessageHeader = `:error-message` 20 | 21 | // Message Exception 22 | ExceptionTypeHeader = `:exception-type` 23 | ) 24 | -------------------------------------------------------------------------------- /vendor/go.etcd.io/bbolt/mlock_unix.go: -------------------------------------------------------------------------------- 1 | // +build !windows 2 | 3 | package bbolt 4 | 5 | import "golang.org/x/sys/unix" 6 | 7 | // mlock locks memory of db file 8 | func mlock(db *DB, fileSize int) error { 9 | sizeToLock := fileSize 10 | if sizeToLock > db.datasz { 11 | // Can't lock more than mmaped slice 12 | sizeToLock = db.datasz 13 | } 14 | if err := unix.Mlock(db.dataref[:sizeToLock]); err != nil { 15 | return err 16 | } 17 | return nil 18 | } 19 | 20 | //munlock unlocks memory of db file 21 | func munlock(db *DB, fileSize int) error { 22 | if db.dataref == nil { 23 | return nil 24 | } 25 | 26 | sizeToUnlock := fileSize 27 | if sizeToUnlock > db.datasz { 28 | // Can't unlock more than mmaped slice 29 | sizeToUnlock = db.datasz 30 | } 31 | 32 | if err := unix.Munlock(db.dataref[:sizeToUnlock]); err != nil { 33 | return err 34 | } 35 | return nil 36 | } 37 | -------------------------------------------------------------------------------- /vendor/github.com/aws/aws-sdk-go/private/protocol/unmarshal.go: -------------------------------------------------------------------------------- 1 | package protocol 2 | 3 | import ( 4 | "io" 5 | "io/ioutil" 6 | 7 | "github.com/aws/aws-sdk-go/aws/request" 8 | ) 9 | 10 | // UnmarshalDiscardBodyHandler is a named request handler to empty and close a response's body 11 | var UnmarshalDiscardBodyHandler = request.NamedHandler{Name: "awssdk.shared.UnmarshalDiscardBody", Fn: UnmarshalDiscardBody} 12 | 13 | // UnmarshalDiscardBody is a request handler to empty a response's body and closing it. 14 | func UnmarshalDiscardBody(r *request.Request) { 15 | if r.HTTPResponse == nil || r.HTTPResponse.Body == nil { 16 | return 17 | } 18 | 19 | io.Copy(ioutil.Discard, r.HTTPResponse.Body) 20 | r.HTTPResponse.Body.Close() 21 | } 22 | 23 | // ResponseMetadata provides the SDK response metadata attributes. 24 | type ResponseMetadata struct { 25 | StatusCode int 26 | RequestID string 27 | } 28 | -------------------------------------------------------------------------------- /vendor/github.com/jmespath/go-jmespath/astnodetype_string.go: -------------------------------------------------------------------------------- 1 | // generated by stringer -type astNodeType; DO NOT EDIT 2 | 3 | package jmespath 4 | 5 | import "fmt" 6 | 7 | const _astNodeType_name = "ASTEmptyASTComparatorASTCurrentNodeASTExpRefASTFunctionExpressionASTFieldASTFilterProjectionASTFlattenASTIdentityASTIndexASTIndexExpressionASTKeyValPairASTLiteralASTMultiSelectHashASTMultiSelectListASTOrExpressionASTAndExpressionASTNotExpressionASTPipeASTProjectionASTSubexpressionASTSliceASTValueProjection" 8 | 9 | var _astNodeType_index = [...]uint16{0, 8, 21, 35, 44, 65, 73, 92, 102, 113, 121, 139, 152, 162, 180, 198, 213, 229, 245, 252, 265, 281, 289, 307} 10 | 11 | func (i astNodeType) String() string { 12 | if i < 0 || i >= astNodeType(len(_astNodeType_index)-1) { 13 | return fmt.Sprintf("astNodeType(%d)", i) 14 | } 15 | return _astNodeType_name[_astNodeType_index[i]:_astNodeType_index[i+1]] 16 | } 17 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/syscall_unix_gc_ppc64x.go: -------------------------------------------------------------------------------- 1 | // Copyright 2018 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build linux && (ppc64le || ppc64) && gc 6 | 7 | package unix 8 | 9 | import "syscall" 10 | 11 | func Syscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.Errno) { 12 | return syscall.Syscall(trap, a1, a2, a3) 13 | } 14 | func Syscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno) { 15 | return syscall.Syscall6(trap, a1, a2, a3, a4, a5, a6) 16 | } 17 | func RawSyscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.Errno) { 18 | return syscall.RawSyscall(trap, a1, a2, a3) 19 | } 20 | func RawSyscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno) { 21 | return syscall.RawSyscall6(trap, a1, a2, a3, a4, a5, a6) 22 | } 23 | -------------------------------------------------------------------------------- /vendor/github.com/aws/aws-sdk-go/aws/defaults/shared_config.go: -------------------------------------------------------------------------------- 1 | package defaults 2 | 3 | import ( 4 | "github.com/aws/aws-sdk-go/internal/shareddefaults" 5 | ) 6 | 7 | // SharedCredentialsFilename returns the SDK's default file path 8 | // for the shared credentials file. 9 | // 10 | // Builds the shared config file path based on the OS's platform. 11 | // 12 | // - Linux/Unix: $HOME/.aws/credentials 13 | // - Windows: %USERPROFILE%\.aws\credentials 14 | func SharedCredentialsFilename() string { 15 | return shareddefaults.SharedCredentialsFilename() 16 | } 17 | 18 | // SharedConfigFilename returns the SDK's default file path for 19 | // the shared config file. 20 | // 21 | // Builds the shared config file path based on the OS's platform. 22 | // 23 | // - Linux/Unix: $HOME/.aws/config 24 | // - Windows: %USERPROFILE%\.aws\config 25 | func SharedConfigFilename() string { 26 | return shareddefaults.SharedConfigFilename() 27 | } 28 | -------------------------------------------------------------------------------- /vendor/github.com/urfave/cli/v2/README.md: -------------------------------------------------------------------------------- 1 | # cli 2 | 3 | [![GoDoc](https://godoc.org/github.com/urfave/cli?status.svg)](https://pkg.go.dev/github.com/urfave/cli/v2) 4 | [![codebeat](https://codebeat.co/badges/0a8f30aa-f975-404b-b878-5fab3ae1cc5f)](https://codebeat.co/projects/github-com-urfave-cli) 5 | [![Go Report Card](https://goreportcard.com/badge/urfave/cli)](https://goreportcard.com/report/urfave/cli) 6 | [![codecov](https://codecov.io/gh/urfave/cli/branch/main/graph/badge.svg)](https://codecov.io/gh/urfave/cli) 7 | 8 | cli is a simple, fast, and fun package for building command line apps in Go. The 9 | goal is to enable developers to write fast and distributable command line 10 | applications in an expressive way. 11 | 12 | ## Documentation 13 | 14 | More documentation is available in [`./docs`](./docs) or the hosted 15 | documentation site at . 16 | 17 | ## License 18 | 19 | See [`LICENSE`](./LICENSE) 20 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/fdset.go: -------------------------------------------------------------------------------- 1 | // Copyright 2019 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos 6 | 7 | package unix 8 | 9 | // Set adds fd to the set fds. 10 | func (fds *FdSet) Set(fd int) { 11 | fds.Bits[fd/NFDBITS] |= (1 << (uintptr(fd) % NFDBITS)) 12 | } 13 | 14 | // Clear removes fd from the set fds. 15 | func (fds *FdSet) Clear(fd int) { 16 | fds.Bits[fd/NFDBITS] &^= (1 << (uintptr(fd) % NFDBITS)) 17 | } 18 | 19 | // IsSet returns whether fd is in the set fds. 20 | func (fds *FdSet) IsSet(fd int) bool { 21 | return fds.Bits[fd/NFDBITS]&(1<<(uintptr(fd)%NFDBITS)) != 0 22 | } 23 | 24 | // Zero clears the set fds. 25 | func (fds *FdSet) Zero() { 26 | for i := range fds.Bits { 27 | fds.Bits[i] = 0 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /vendor/gotest.tools/v3/icmd/exitcode.go: -------------------------------------------------------------------------------- 1 | package icmd 2 | 3 | import ( 4 | "os/exec" 5 | "syscall" 6 | 7 | "github.com/pkg/errors" 8 | ) 9 | 10 | // getExitCode returns the ExitStatus of a process from the error returned by 11 | // exec.Run(). If the exit status could not be parsed an error is returned. 12 | func getExitCode(err error) (int, error) { 13 | if exiterr, ok := err.(*exec.ExitError); ok { 14 | if procExit, ok := exiterr.Sys().(syscall.WaitStatus); ok { 15 | return procExit.ExitStatus(), nil 16 | } 17 | } 18 | return 0, errors.Wrap(err, "failed to get exit code") 19 | } 20 | 21 | func processExitCode(err error) (exitCode int) { 22 | if err == nil { 23 | return 0 24 | } 25 | exitCode, exiterr := getExitCode(err) 26 | if exiterr != nil { 27 | // TODO: Fix this so we check the error's text. 28 | // we've failed to retrieve exit code, so we set it to 127 29 | return 127 30 | } 31 | return exitCode 32 | } 33 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/fcntl_darwin.go: -------------------------------------------------------------------------------- 1 | // Copyright 2019 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package unix 6 | 7 | import "unsafe" 8 | 9 | // FcntlInt performs a fcntl syscall on fd with the provided command and argument. 10 | func FcntlInt(fd uintptr, cmd, arg int) (int, error) { 11 | return fcntl(int(fd), cmd, arg) 12 | } 13 | 14 | // FcntlFlock performs a fcntl syscall for the F_GETLK, F_SETLK or F_SETLKW command. 15 | func FcntlFlock(fd uintptr, cmd int, lk *Flock_t) error { 16 | _, err := fcntl(int(fd), cmd, int(uintptr(unsafe.Pointer(lk)))) 17 | return err 18 | } 19 | 20 | // FcntlFstore performs a fcntl syscall for the F_PREALLOCATE command. 21 | func FcntlFstore(fd uintptr, cmd int, fstore *Fstore_t) error { 22 | _, err := fcntl(int(fd), cmd, int(uintptr(unsafe.Pointer(fstore)))) 23 | return err 24 | } 25 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/windows/eventlog.go: -------------------------------------------------------------------------------- 1 | // Copyright 2012 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build windows 6 | 7 | package windows 8 | 9 | const ( 10 | EVENTLOG_SUCCESS = 0 11 | EVENTLOG_ERROR_TYPE = 1 12 | EVENTLOG_WARNING_TYPE = 2 13 | EVENTLOG_INFORMATION_TYPE = 4 14 | EVENTLOG_AUDIT_SUCCESS = 8 15 | EVENTLOG_AUDIT_FAILURE = 16 16 | ) 17 | 18 | //sys RegisterEventSource(uncServerName *uint16, sourceName *uint16) (handle Handle, err error) [failretval==0] = advapi32.RegisterEventSourceW 19 | //sys DeregisterEventSource(handle Handle) (err error) = advapi32.DeregisterEventSource 20 | //sys ReportEvent(log Handle, etype uint16, category uint16, eventId uint32, usrSId uintptr, numStrings uint16, dataSize uint32, strings **uint16, rawData *byte) (err error) = advapi32.ReportEventW 21 | -------------------------------------------------------------------------------- /vendor/github.com/hashicorp/go-multierror/group.go: -------------------------------------------------------------------------------- 1 | package multierror 2 | 3 | import "sync" 4 | 5 | // Group is a collection of goroutines which return errors that need to be 6 | // coalesced. 7 | type Group struct { 8 | mutex sync.Mutex 9 | err *Error 10 | wg sync.WaitGroup 11 | } 12 | 13 | // Go calls the given function in a new goroutine. 14 | // 15 | // If the function returns an error it is added to the group multierror which 16 | // is returned by Wait. 17 | func (g *Group) Go(f func() error) { 18 | g.wg.Add(1) 19 | 20 | go func() { 21 | defer g.wg.Done() 22 | 23 | if err := f(); err != nil { 24 | g.mutex.Lock() 25 | g.err = Append(g.err, err) 26 | g.mutex.Unlock() 27 | } 28 | }() 29 | } 30 | 31 | // Wait blocks until all function calls from the Go method have returned, then 32 | // returns the multierror. 33 | func (g *Group) Wait() *Error { 34 | g.wg.Wait() 35 | g.mutex.Lock() 36 | defer g.mutex.Unlock() 37 | return g.err 38 | } 39 | -------------------------------------------------------------------------------- /vendor/github.com/mattn/go-runewidth/README.md: -------------------------------------------------------------------------------- 1 | go-runewidth 2 | ============ 3 | 4 | [![Build Status](https://github.com/mattn/go-runewidth/workflows/test/badge.svg?branch=master)](https://github.com/mattn/go-runewidth/actions?query=workflow%3Atest) 5 | [![Codecov](https://codecov.io/gh/mattn/go-runewidth/branch/master/graph/badge.svg)](https://codecov.io/gh/mattn/go-runewidth) 6 | [![GoDoc](https://godoc.org/github.com/mattn/go-runewidth?status.svg)](http://godoc.org/github.com/mattn/go-runewidth) 7 | [![Go Report Card](https://goreportcard.com/badge/github.com/mattn/go-runewidth)](https://goreportcard.com/report/github.com/mattn/go-runewidth) 8 | 9 | Provides functions to get fixed width of the character or string. 10 | 11 | Usage 12 | ----- 13 | 14 | ```go 15 | runewidth.StringWidth("つのだ☆HIRO") == 12 16 | ``` 17 | 18 | 19 | Author 20 | ------ 21 | 22 | Yasuhiro Matsumoto 23 | 24 | License 25 | ------- 26 | 27 | under the MIT License: http://mattn.mit-license.org/2013 28 | -------------------------------------------------------------------------------- /vendor/github.com/cheggaaa/pb/v3/preset.go: -------------------------------------------------------------------------------- 1 | package pb 2 | 3 | var ( 4 | // Full - preset with all default available elements 5 | // Example: 'Prefix 20/100 [-->______] 20% 1 p/s ETA 1m Suffix' 6 | Full ProgressBarTemplate = `{{with string . "prefix"}}{{.}} {{end}}{{counters . }} {{bar . }} {{percent . }} {{speed . }} {{rtime . "ETA %s"}}{{with string . "suffix"}} {{.}}{{end}}` 7 | 8 | // Default - preset like Full but without elapsed time 9 | // Example: 'Prefix 20/100 [-->______] 20% 1 p/s Suffix' 10 | Default ProgressBarTemplate = `{{with string . "prefix"}}{{.}} {{end}}{{counters . }} {{bar . }} {{percent . }} {{speed . }}{{with string . "suffix"}} {{.}}{{end}}` 11 | 12 | // Simple - preset without speed and any timers. Only counters, bar and percents 13 | // Example: 'Prefix 20/100 [-->______] 20% Suffix' 14 | Simple ProgressBarTemplate = `{{with string . "prefix"}}{{.}} {{end}}{{counters . }} {{bar . }} {{percent . }}{{with string . "suffix"}} {{.}}{{end}}` 15 | ) 16 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/dev_zos.go: -------------------------------------------------------------------------------- 1 | // Copyright 2020 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build zos && s390x 6 | 7 | // Functions to access/create device major and minor numbers matching the 8 | // encoding used by z/OS. 9 | // 10 | // The information below is extracted and adapted from macros. 11 | 12 | package unix 13 | 14 | // Major returns the major component of a z/OS device number. 15 | func Major(dev uint64) uint32 { 16 | return uint32((dev >> 16) & 0x0000FFFF) 17 | } 18 | 19 | // Minor returns the minor component of a z/OS device number. 20 | func Minor(dev uint64) uint32 { 21 | return uint32(dev & 0x0000FFFF) 22 | } 23 | 24 | // Mkdev returns a z/OS device number generated from the given major and minor 25 | // components. 26 | func Mkdev(major, minor uint32) uint64 { 27 | return (uint64(major) << 16) | uint64(minor) 28 | } 29 | -------------------------------------------------------------------------------- /vendor/mvdan.cc/unparam/README.md: -------------------------------------------------------------------------------- 1 | # unparam 2 | 3 | go install mvdan.cc/unparam@latest 4 | 5 | Reports unused function parameters and results in your code. 6 | 7 | To minimise false positives, it ignores certain cases such as: 8 | 9 | * Exported functions (by default, see `-exported`) 10 | * Unnamed and underscore parameters (like `_` and `_foo`) 11 | * Funcs that may satisfy an interface 12 | * Funcs that may satisfy a function signature 13 | * Funcs that are stubs (empty, only error, immediately return, etc) 14 | * Funcs that have multiple implementations via build tags 15 | 16 | It also reports results that always return the same value, parameters 17 | that always receive the same value, and results that are never used. In 18 | the last two cases, a minimum number of calls is required to ensure that 19 | the warnings are useful. 20 | 21 | False positives can still occur by design. The aim of the tool is to be 22 | as precise as possible - if you find any mistakes, file a bug. 23 | -------------------------------------------------------------------------------- /vendor/github.com/aws/aws-sdk-go/aws/client/no_op_retryer.go: -------------------------------------------------------------------------------- 1 | package client 2 | 3 | import ( 4 | "time" 5 | 6 | "github.com/aws/aws-sdk-go/aws/request" 7 | ) 8 | 9 | // NoOpRetryer provides a retryer that performs no retries. 10 | // It should be used when we do not want retries to be performed. 11 | type NoOpRetryer struct{} 12 | 13 | // MaxRetries returns the number of maximum returns the service will use to make 14 | // an individual API; For NoOpRetryer the MaxRetries will always be zero. 15 | func (d NoOpRetryer) MaxRetries() int { 16 | return 0 17 | } 18 | 19 | // ShouldRetry will always return false for NoOpRetryer, as it should never retry. 20 | func (d NoOpRetryer) ShouldRetry(_ *request.Request) bool { 21 | return false 22 | } 23 | 24 | // RetryRules returns the delay duration before retrying this request again; 25 | // since NoOpRetryer does not retry, RetryRules always returns 0. 26 | func (d NoOpRetryer) RetryRules(_ *request.Request) time.Duration { 27 | return 0 28 | } 29 | -------------------------------------------------------------------------------- /vendor/github.com/termie/go-shutil/README.rst: -------------------------------------------------------------------------------- 1 | ========================================= 2 | High-level Filesystem Operations (for Go) 3 | ========================================= 4 | 5 | 6 | A direct port of a few of the functions from Python's shutil package for 7 | high-level filesystem operations. 8 | 9 | This project pretty much only exists so that other people don't have to keep 10 | re-writing this code in their projects, at this time we have been unable to 11 | find any helpful packages for this in the stdlib or elsewhere. 12 | 13 | We don't expect it to be perfect, just better than whatever your first draft 14 | would have been. Patches welcome. 15 | 16 | See also: https://docs.python.org/3.5/library/shutil.html 17 | 18 | ================ 19 | Functions So Far 20 | ================ 21 | 22 | We support Copy, CopyFile, CopyMode, and CopyTree. CopyStat would be nice if 23 | anybody wants to write that. Also the other functions that might be useful in 24 | the python library :D 25 | -------------------------------------------------------------------------------- /vendor/github.com/hashicorp/go-multierror/Makefile: -------------------------------------------------------------------------------- 1 | TEST?=./... 2 | 3 | default: test 4 | 5 | # test runs the test suite and vets the code. 6 | test: generate 7 | @echo "==> Running tests..." 8 | @go list $(TEST) \ 9 | | grep -v "/vendor/" \ 10 | | xargs -n1 go test -timeout=60s -parallel=10 ${TESTARGS} 11 | 12 | # testrace runs the race checker 13 | testrace: generate 14 | @echo "==> Running tests (race)..." 15 | @go list $(TEST) \ 16 | | grep -v "/vendor/" \ 17 | | xargs -n1 go test -timeout=60s -race ${TESTARGS} 18 | 19 | # updatedeps installs all the dependencies needed to run and build. 20 | updatedeps: 21 | @sh -c "'${CURDIR}/scripts/deps.sh' '${NAME}'" 22 | 23 | # generate runs `go generate` to build the dynamically generated source files. 24 | generate: 25 | @echo "==> Generating..." 26 | @find . -type f -name '.DS_Store' -delete 27 | @go list ./... \ 28 | | grep -v "/vendor/" \ 29 | | xargs -n1 go generate 30 | 31 | .PHONY: default test testrace updatedeps generate 32 | -------------------------------------------------------------------------------- /vendor/github.com/karrick/godirwalk/nameWithNamlen.go: -------------------------------------------------------------------------------- 1 | // +build aix darwin dragonfly freebsd netbsd openbsd 2 | 3 | package godirwalk 4 | 5 | import ( 6 | "reflect" 7 | "syscall" 8 | "unsafe" 9 | ) 10 | 11 | func nameFromDirent(de *syscall.Dirent) []byte { 12 | // Because this GOOS' syscall.Dirent provides a Namlen field that says how 13 | // long the name is, this function does not need to search for the NULL 14 | // byte. 15 | ml := int(de.Namlen) 16 | 17 | // Convert syscall.Dirent.Name, which is array of int8, to []byte, by 18 | // overwriting Cap, Len, and Data slice header fields to values from 19 | // syscall.Dirent fields. Setting the Cap, Len, and Data field values for 20 | // the slice header modifies what the slice header points to, and in this 21 | // case, the name buffer. 22 | var name []byte 23 | sh := (*reflect.SliceHeader)(unsafe.Pointer(&name)) 24 | sh.Cap = ml 25 | sh.Len = ml 26 | sh.Data = uintptr(unsafe.Pointer(&de.Name[0])) 27 | 28 | return name 29 | } 30 | -------------------------------------------------------------------------------- /vendor/github.com/hashicorp/go-multierror/prefix.go: -------------------------------------------------------------------------------- 1 | package multierror 2 | 3 | import ( 4 | "fmt" 5 | 6 | "github.com/hashicorp/errwrap" 7 | ) 8 | 9 | // Prefix is a helper function that will prefix some text 10 | // to the given error. If the error is a multierror.Error, then 11 | // it will be prefixed to each wrapped error. 12 | // 13 | // This is useful to use when appending multiple multierrors 14 | // together in order to give better scoping. 15 | func Prefix(err error, prefix string) error { 16 | if err == nil { 17 | return nil 18 | } 19 | 20 | format := fmt.Sprintf("%s {{err}}", prefix) 21 | switch err := err.(type) { 22 | case *Error: 23 | // Typed nils can reach here, so initialize if we are nil 24 | if err == nil { 25 | err = new(Error) 26 | } 27 | 28 | // Wrap each of the errors 29 | for i, e := range err.Errors { 30 | err.Errors[i] = errwrap.Wrapf(format, e) 31 | } 32 | 33 | return err 34 | default: 35 | return errwrap.Wrapf(format, err) 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/windows/types_windows_amd64.go: -------------------------------------------------------------------------------- 1 | // Copyright 2011 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package windows 6 | 7 | type WSAData struct { 8 | Version uint16 9 | HighVersion uint16 10 | MaxSockets uint16 11 | MaxUdpDg uint16 12 | VendorInfo *byte 13 | Description [WSADESCRIPTION_LEN + 1]byte 14 | SystemStatus [WSASYS_STATUS_LEN + 1]byte 15 | } 16 | 17 | type Servent struct { 18 | Name *byte 19 | Aliases **byte 20 | Proto *byte 21 | Port uint16 22 | } 23 | 24 | type JOBOBJECT_BASIC_LIMIT_INFORMATION struct { 25 | PerProcessUserTimeLimit int64 26 | PerJobUserTimeLimit int64 27 | LimitFlags uint32 28 | MinimumWorkingSetSize uintptr 29 | MaximumWorkingSetSize uintptr 30 | ActiveProcessLimit uint32 31 | Affinity uintptr 32 | PriorityClass uint32 33 | SchedulingClass uint32 34 | } 35 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/windows/types_windows_arm64.go: -------------------------------------------------------------------------------- 1 | // Copyright 2011 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package windows 6 | 7 | type WSAData struct { 8 | Version uint16 9 | HighVersion uint16 10 | MaxSockets uint16 11 | MaxUdpDg uint16 12 | VendorInfo *byte 13 | Description [WSADESCRIPTION_LEN + 1]byte 14 | SystemStatus [WSASYS_STATUS_LEN + 1]byte 15 | } 16 | 17 | type Servent struct { 18 | Name *byte 19 | Aliases **byte 20 | Proto *byte 21 | Port uint16 22 | } 23 | 24 | type JOBOBJECT_BASIC_LIMIT_INFORMATION struct { 25 | PerProcessUserTimeLimit int64 26 | PerJobUserTimeLimit int64 27 | LimitFlags uint32 28 | MinimumWorkingSetSize uintptr 29 | MaximumWorkingSetSize uintptr 30 | ActiveProcessLimit uint32 31 | Affinity uintptr 32 | PriorityClass uint32 33 | SchedulingClass uint32 34 | } 35 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/dev_aix_ppc64.go: -------------------------------------------------------------------------------- 1 | // Copyright 2018 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build aix && ppc64 6 | 7 | // Functions to access/create device major and minor numbers matching the 8 | // encoding used AIX. 9 | 10 | package unix 11 | 12 | // Major returns the major component of a Linux device number. 13 | func Major(dev uint64) uint32 { 14 | return uint32((dev & 0x3fffffff00000000) >> 32) 15 | } 16 | 17 | // Minor returns the minor component of a Linux device number. 18 | func Minor(dev uint64) uint32 { 19 | return uint32((dev & 0x00000000ffffffff) >> 0) 20 | } 21 | 22 | // Mkdev returns a Linux device number generated from the given major and minor 23 | // components. 24 | func Mkdev(major, minor uint32) uint64 { 25 | var DEVNO64 uint64 26 | DEVNO64 = 0x8000000000000000 27 | return ((uint64(major) << 32) | (uint64(minor) & 0x00000000FFFFFFFF) | DEVNO64) 28 | } 29 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/syscall_netbsd_amd64.go: -------------------------------------------------------------------------------- 1 | // Copyright 2009 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build amd64 && netbsd 6 | 7 | package unix 8 | 9 | func setTimespec(sec, nsec int64) Timespec { 10 | return Timespec{Sec: sec, Nsec: nsec} 11 | } 12 | 13 | func setTimeval(sec, usec int64) Timeval { 14 | return Timeval{Sec: sec, Usec: int32(usec)} 15 | } 16 | 17 | func SetKevent(k *Kevent_t, fd, mode, flags int) { 18 | k.Ident = uint64(fd) 19 | k.Filter = uint32(mode) 20 | k.Flags = uint32(flags) 21 | } 22 | 23 | func (iov *Iovec) SetLen(length int) { 24 | iov.Len = uint64(length) 25 | } 26 | 27 | func (msghdr *Msghdr) SetControllen(length int) { 28 | msghdr.Controllen = uint32(length) 29 | } 30 | 31 | func (msghdr *Msghdr) SetIovlen(length int) { 32 | msghdr.Iovlen = int32(length) 33 | } 34 | 35 | func (cmsg *Cmsghdr) SetLen(length int) { 36 | cmsg.Len = uint32(length) 37 | } 38 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/syscall_netbsd_arm64.go: -------------------------------------------------------------------------------- 1 | // Copyright 2019 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build arm64 && netbsd 6 | 7 | package unix 8 | 9 | func setTimespec(sec, nsec int64) Timespec { 10 | return Timespec{Sec: sec, Nsec: nsec} 11 | } 12 | 13 | func setTimeval(sec, usec int64) Timeval { 14 | return Timeval{Sec: sec, Usec: int32(usec)} 15 | } 16 | 17 | func SetKevent(k *Kevent_t, fd, mode, flags int) { 18 | k.Ident = uint64(fd) 19 | k.Filter = uint32(mode) 20 | k.Flags = uint32(flags) 21 | } 22 | 23 | func (iov *Iovec) SetLen(length int) { 24 | iov.Len = uint64(length) 25 | } 26 | 27 | func (msghdr *Msghdr) SetControllen(length int) { 28 | msghdr.Controllen = uint32(length) 29 | } 30 | 31 | func (msghdr *Msghdr) SetIovlen(length int) { 32 | msghdr.Iovlen = int32(length) 33 | } 34 | 35 | func (cmsg *Cmsghdr) SetLen(length int) { 36 | cmsg.Len = uint32(length) 37 | } 38 | -------------------------------------------------------------------------------- /vendor/honnef.co/go/tools/go/ir/irutil/stub.go: -------------------------------------------------------------------------------- 1 | package irutil 2 | 3 | import ( 4 | "honnef.co/go/tools/go/ir" 5 | ) 6 | 7 | // IsStub reports whether a function is a stub. A function is 8 | // considered a stub if it has no instructions or if all it does is 9 | // return a constant value. 10 | func IsStub(fn *ir.Function) bool { 11 | for _, b := range fn.Blocks { 12 | for _, instr := range b.Instrs { 13 | switch instr.(type) { 14 | case *ir.Const: 15 | // const naturally has no side-effects 16 | case *ir.Panic: 17 | // panic is a stub if it only uses constants 18 | case *ir.Return: 19 | // return is a stub if it only uses constants 20 | case *ir.DebugRef: 21 | case *ir.Jump: 22 | // if there are no disallowed instructions, then we're 23 | // only jumping to the exit block (or possibly 24 | // somewhere else that's stubby?) 25 | default: 26 | // all other instructions are assumed to do actual work 27 | return false 28 | } 29 | } 30 | } 31 | return true 32 | } 33 | -------------------------------------------------------------------------------- /vendor/github.com/mattn/go-colorable/colorable_appengine.go: -------------------------------------------------------------------------------- 1 | //go:build appengine 2 | // +build appengine 3 | 4 | package colorable 5 | 6 | import ( 7 | "io" 8 | "os" 9 | 10 | _ "github.com/mattn/go-isatty" 11 | ) 12 | 13 | // NewColorable returns new instance of Writer which handles escape sequence. 14 | func NewColorable(file *os.File) io.Writer { 15 | if file == nil { 16 | panic("nil passed instead of *os.File to NewColorable()") 17 | } 18 | 19 | return file 20 | } 21 | 22 | // NewColorableStdout returns new instance of Writer which handles escape sequence for stdout. 23 | func NewColorableStdout() io.Writer { 24 | return os.Stdout 25 | } 26 | 27 | // NewColorableStderr returns new instance of Writer which handles escape sequence for stderr. 28 | func NewColorableStderr() io.Writer { 29 | return os.Stderr 30 | } 31 | 32 | // EnableColorsStdout enable colors if possible. 33 | func EnableColorsStdout(enabled *bool) func() { 34 | if enabled != nil { 35 | *enabled = true 36 | } 37 | return func() {} 38 | } 39 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/syscall_netbsd_386.go: -------------------------------------------------------------------------------- 1 | // Copyright 2009 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build 386 && netbsd 6 | 7 | package unix 8 | 9 | func setTimespec(sec, nsec int64) Timespec { 10 | return Timespec{Sec: sec, Nsec: int32(nsec)} 11 | } 12 | 13 | func setTimeval(sec, usec int64) Timeval { 14 | return Timeval{Sec: sec, Usec: int32(usec)} 15 | } 16 | 17 | func SetKevent(k *Kevent_t, fd, mode, flags int) { 18 | k.Ident = uint32(fd) 19 | k.Filter = uint32(mode) 20 | k.Flags = uint32(flags) 21 | } 22 | 23 | func (iov *Iovec) SetLen(length int) { 24 | iov.Len = uint32(length) 25 | } 26 | 27 | func (msghdr *Msghdr) SetControllen(length int) { 28 | msghdr.Controllen = uint32(length) 29 | } 30 | 31 | func (msghdr *Msghdr) SetIovlen(length int) { 32 | msghdr.Iovlen = int32(length) 33 | } 34 | 35 | func (cmsg *Cmsghdr) SetLen(length int) { 36 | cmsg.Len = uint32(length) 37 | } 38 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/syscall_netbsd_arm.go: -------------------------------------------------------------------------------- 1 | // Copyright 2013 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build arm && netbsd 6 | 7 | package unix 8 | 9 | func setTimespec(sec, nsec int64) Timespec { 10 | return Timespec{Sec: sec, Nsec: int32(nsec)} 11 | } 12 | 13 | func setTimeval(sec, usec int64) Timeval { 14 | return Timeval{Sec: sec, Usec: int32(usec)} 15 | } 16 | 17 | func SetKevent(k *Kevent_t, fd, mode, flags int) { 18 | k.Ident = uint32(fd) 19 | k.Filter = uint32(mode) 20 | k.Flags = uint32(flags) 21 | } 22 | 23 | func (iov *Iovec) SetLen(length int) { 24 | iov.Len = uint32(length) 25 | } 26 | 27 | func (msghdr *Msghdr) SetControllen(length int) { 28 | msghdr.Controllen = uint32(length) 29 | } 30 | 31 | func (msghdr *Msghdr) SetIovlen(length int) { 32 | msghdr.Iovlen = int32(length) 33 | } 34 | 35 | func (cmsg *Cmsghdr) SetLen(length int) { 36 | cmsg.Len = uint32(length) 37 | } 38 | -------------------------------------------------------------------------------- /vendor/golang.org/x/tools/internal/gcimporter/support_go118.go: -------------------------------------------------------------------------------- 1 | // Copyright 2021 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package gcimporter 6 | 7 | import "go/types" 8 | 9 | const iexportVersion = iexportVersionGenerics 10 | 11 | // additionalPredeclared returns additional predeclared types in go.1.18. 12 | func additionalPredeclared() []types.Type { 13 | return []types.Type{ 14 | // comparable 15 | types.Universe.Lookup("comparable").Type(), 16 | 17 | // any 18 | types.Universe.Lookup("any").Type(), 19 | } 20 | } 21 | 22 | // See cmd/compile/internal/types.SplitVargenSuffix. 23 | func splitVargenSuffix(name string) (base, suffix string) { 24 | i := len(name) 25 | for i > 0 && name[i-1] >= '0' && name[i-1] <= '9' { 26 | i-- 27 | } 28 | const dot = "·" 29 | if i >= len(dot) && name[i-len(dot):i] == dot { 30 | i -= len(dot) 31 | return name[:i], name[i:] 32 | } 33 | return name, "" 34 | } 35 | -------------------------------------------------------------------------------- /vendor/golang.org/x/tools/internal/packagesinternal/packages.go: -------------------------------------------------------------------------------- 1 | // Copyright 2020 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // Package packagesinternal exposes internal-only fields from go/packages. 6 | package packagesinternal 7 | 8 | var GetForTest = func(p interface{}) string { return "" } 9 | var GetDepsErrors = func(p interface{}) []*PackageError { return nil } 10 | 11 | type PackageError struct { 12 | ImportStack []string // shortest path from package named on command line to this one 13 | Pos string // position of error (if present, file:line:col) 14 | Err string // the error itself 15 | } 16 | 17 | var TypecheckCgo int 18 | var DepsErrors int // must be set as a LoadMode to call GetDepsErrors 19 | var ForTest int // must be set as a LoadMode to call GetForTest 20 | 21 | var SetModFlag = func(config interface{}, value string) {} 22 | var SetModFile = func(config interface{}, value string) {} 23 | -------------------------------------------------------------------------------- /vendor/honnef.co/go/tools/lintcmd/version/buildinfo.go: -------------------------------------------------------------------------------- 1 | package version 2 | 3 | import ( 4 | "fmt" 5 | "runtime/debug" 6 | ) 7 | 8 | func printBuildInfo() { 9 | if info, ok := debug.ReadBuildInfo(); ok { 10 | fmt.Println("Main module:") 11 | printModule(&info.Main) 12 | fmt.Println("Dependencies:") 13 | for _, dep := range info.Deps { 14 | printModule(dep) 15 | } 16 | } else { 17 | fmt.Println("Built without Go modules") 18 | } 19 | } 20 | 21 | func buildInfoVersion() (string, bool) { 22 | info, ok := debug.ReadBuildInfo() 23 | if !ok { 24 | return "", false 25 | } 26 | if info.Main.Version == "(devel)" { 27 | return "", false 28 | } 29 | return info.Main.Version, true 30 | } 31 | 32 | func printModule(m *debug.Module) { 33 | fmt.Printf("\t%s", m.Path) 34 | if m.Version != "(devel)" { 35 | fmt.Printf("@%s", m.Version) 36 | } 37 | if m.Sum != "" { 38 | fmt.Printf(" (sum: %s)", m.Sum) 39 | } 40 | if m.Replace != nil { 41 | fmt.Printf(" (replace: %s)", m.Replace.Path) 42 | } 43 | fmt.Println() 44 | } 45 | -------------------------------------------------------------------------------- /vendor/github.com/mattn/go-colorable/colorable_others.go: -------------------------------------------------------------------------------- 1 | //go:build !windows && !appengine 2 | // +build !windows,!appengine 3 | 4 | package colorable 5 | 6 | import ( 7 | "io" 8 | "os" 9 | 10 | _ "github.com/mattn/go-isatty" 11 | ) 12 | 13 | // NewColorable returns new instance of Writer which handles escape sequence. 14 | func NewColorable(file *os.File) io.Writer { 15 | if file == nil { 16 | panic("nil passed instead of *os.File to NewColorable()") 17 | } 18 | 19 | return file 20 | } 21 | 22 | // NewColorableStdout returns new instance of Writer which handles escape sequence for stdout. 23 | func NewColorableStdout() io.Writer { 24 | return os.Stdout 25 | } 26 | 27 | // NewColorableStderr returns new instance of Writer which handles escape sequence for stderr. 28 | func NewColorableStderr() io.Writer { 29 | return os.Stderr 30 | } 31 | 32 | // EnableColorsStdout enable colors if possible. 33 | func EnableColorsStdout(enabled *bool) func() { 34 | if enabled != nil { 35 | *enabled = true 36 | } 37 | return func() {} 38 | } 39 | -------------------------------------------------------------------------------- /vendor/honnef.co/go/tools/staticcheck/fakexml/xml.go: -------------------------------------------------------------------------------- 1 | // Copyright 2009 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package fakexml 6 | 7 | // References: 8 | // Annotated XML spec: https://www.xml.com/axml/testaxml.htm 9 | // XML name spaces: https://www.w3.org/TR/REC-xml-names/ 10 | 11 | // TODO(rsc): 12 | // Test error handling. 13 | 14 | // A Name represents an XML name (Local) annotated 15 | // with a name space identifier (Space). 16 | // In tokens returned by Decoder.Token, the Space identifier 17 | // is given as a canonical URL, not the short prefix used 18 | // in the document being parsed. 19 | type Name struct { 20 | Space, Local string 21 | } 22 | 23 | // An Attr represents an attribute in an XML element (Name=Value). 24 | type Attr struct { 25 | Name Name 26 | Value string 27 | } 28 | 29 | // A StartElement represents an XML start element. 30 | type StartElement struct { 31 | Name Name 32 | Attr []Attr 33 | } 34 | -------------------------------------------------------------------------------- /vendor/github.com/xrash/smetrics/soundex.go: -------------------------------------------------------------------------------- 1 | package smetrics 2 | 3 | import ( 4 | "strings" 5 | ) 6 | 7 | // The Soundex encoding. It is a phonetic algorithm that considers how the words sound in English. Soundex maps a string to a 4-byte code consisting of the first letter of the original string and three numbers. Strings that sound similar should map to the same code. 8 | func Soundex(s string) string { 9 | m := map[byte]string{ 10 | 'B': "1", 'P': "1", 'F': "1", 'V': "1", 11 | 'C': "2", 'S': "2", 'K': "2", 'G': "2", 'J': "2", 'Q': "2", 'X': "2", 'Z': "2", 12 | 'D': "3", 'T': "3", 13 | 'L': "4", 14 | 'M': "5", 'N': "5", 15 | 'R': "6", 16 | } 17 | 18 | s = strings.ToUpper(s) 19 | 20 | r := string(s[0]) 21 | p := s[0] 22 | for i := 1; i < len(s) && len(r) < 4; i++ { 23 | c := s[i] 24 | 25 | if (c < 'A' || c > 'Z') || (c == p) { 26 | continue 27 | } 28 | 29 | p = c 30 | 31 | if n, ok := m[c]; ok { 32 | r += n 33 | } 34 | } 35 | 36 | for i := len(r); i < 4; i++ { 37 | r += "0" 38 | } 39 | 40 | return r 41 | } 42 | -------------------------------------------------------------------------------- /vendor/golang.org/x/tools/go/types/typeutil/imports.go: -------------------------------------------------------------------------------- 1 | // Copyright 2014 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package typeutil 6 | 7 | import "go/types" 8 | 9 | // Dependencies returns all dependencies of the specified packages. 10 | // 11 | // Dependent packages appear in topological order: if package P imports 12 | // package Q, Q appears earlier than P in the result. 13 | // The algorithm follows import statements in the order they 14 | // appear in the source code, so the result is a total order. 15 | func Dependencies(pkgs ...*types.Package) []*types.Package { 16 | var result []*types.Package 17 | seen := make(map[*types.Package]bool) 18 | var visit func(pkgs []*types.Package) 19 | visit = func(pkgs []*types.Package) { 20 | for _, p := range pkgs { 21 | if !seen[p] { 22 | seen[p] = true 23 | visit(p.Imports()) 24 | result = append(result, p) 25 | } 26 | } 27 | } 28 | visit(pkgs) 29 | return result 30 | } 31 | -------------------------------------------------------------------------------- /.github/workflows/docker.yml: -------------------------------------------------------------------------------- 1 | name: docker 2 | on: 3 | release: 4 | types: [published] 5 | jobs: 6 | multi: 7 | runs-on: ubuntu-latest 8 | steps: 9 | - 10 | name: Checkout 11 | uses: actions/checkout@v2 12 | - 13 | name: Set up QEMU 14 | uses: docker/setup-qemu-action@v1 15 | - 16 | name: Set up Docker Buildx 17 | uses: docker/setup-buildx-action@v1 18 | - 19 | name: Login to DockerHub 20 | uses: docker/login-action@v1 21 | with: 22 | username: ${{ secrets.DOCKER_USERNAME }} 23 | password: ${{ secrets.DOCKER_TOKEN }} 24 | - 25 | name: Build and push 26 | uses: docker/build-push-action@v2 27 | with: 28 | context: . 29 | file: ./Dockerfile 30 | push: true 31 | platforms: linux/amd64,linux/arm64,linux/ppc64le,linux/arm/v6,linux/arm/v7,linux/386 32 | tags: | 33 | peakcom/s5cmd:latest 34 | peakcom/s5cmd:${{ github.event.release.tag_name }} 35 | -------------------------------------------------------------------------------- /vendor/golang.org/x/tools/internal/pkgbits/reloc.go: -------------------------------------------------------------------------------- 1 | // Copyright 2021 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package pkgbits 6 | 7 | // A RelocKind indicates a particular section within a unified IR export. 8 | type RelocKind int32 9 | 10 | // An Index represents a bitstream element index within a particular 11 | // section. 12 | type Index int32 13 | 14 | // A relocEnt (relocation entry) is an entry in an element's local 15 | // reference table. 16 | // 17 | // TODO(mdempsky): Rename this too. 18 | type RelocEnt struct { 19 | Kind RelocKind 20 | Idx Index 21 | } 22 | 23 | // Reserved indices within the meta relocation section. 24 | const ( 25 | PublicRootIdx Index = 0 26 | PrivateRootIdx Index = 1 27 | ) 28 | 29 | const ( 30 | RelocString RelocKind = iota 31 | RelocMeta 32 | RelocPosBase 33 | RelocPkg 34 | RelocName 35 | RelocType 36 | RelocObj 37 | RelocObjExt 38 | RelocObjDict 39 | RelocBody 40 | 41 | numRelocs = iota 42 | ) 43 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/dev_netbsd.go: -------------------------------------------------------------------------------- 1 | // Copyright 2017 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // Functions to access/create device major and minor numbers matching the 6 | // encoding used in NetBSD's sys/types.h header. 7 | 8 | package unix 9 | 10 | // Major returns the major component of a NetBSD device number. 11 | func Major(dev uint64) uint32 { 12 | return uint32((dev & 0x000fff00) >> 8) 13 | } 14 | 15 | // Minor returns the minor component of a NetBSD device number. 16 | func Minor(dev uint64) uint32 { 17 | minor := uint32((dev & 0x000000ff) >> 0) 18 | minor |= uint32((dev & 0xfff00000) >> 12) 19 | return minor 20 | } 21 | 22 | // Mkdev returns a NetBSD device number generated from the given major and minor 23 | // components. 24 | func Mkdev(major, minor uint32) uint64 { 25 | dev := (uint64(major) << 8) & 0x000fff00 26 | dev |= (uint64(minor) << 12) & 0xfff00000 27 | dev |= (uint64(minor) << 0) & 0x000000ff 28 | return dev 29 | } 30 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/windows/types_windows_386.go: -------------------------------------------------------------------------------- 1 | // Copyright 2011 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package windows 6 | 7 | type WSAData struct { 8 | Version uint16 9 | HighVersion uint16 10 | Description [WSADESCRIPTION_LEN + 1]byte 11 | SystemStatus [WSASYS_STATUS_LEN + 1]byte 12 | MaxSockets uint16 13 | MaxUdpDg uint16 14 | VendorInfo *byte 15 | } 16 | 17 | type Servent struct { 18 | Name *byte 19 | Aliases **byte 20 | Port uint16 21 | Proto *byte 22 | } 23 | 24 | type JOBOBJECT_BASIC_LIMIT_INFORMATION struct { 25 | PerProcessUserTimeLimit int64 26 | PerJobUserTimeLimit int64 27 | LimitFlags uint32 28 | MinimumWorkingSetSize uintptr 29 | MaximumWorkingSetSize uintptr 30 | ActiveProcessLimit uint32 31 | Affinity uintptr 32 | PriorityClass uint32 33 | SchedulingClass uint32 34 | _ uint32 // pad to 8 byte boundary 35 | } 36 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/windows/types_windows_arm.go: -------------------------------------------------------------------------------- 1 | // Copyright 2018 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package windows 6 | 7 | type WSAData struct { 8 | Version uint16 9 | HighVersion uint16 10 | Description [WSADESCRIPTION_LEN + 1]byte 11 | SystemStatus [WSASYS_STATUS_LEN + 1]byte 12 | MaxSockets uint16 13 | MaxUdpDg uint16 14 | VendorInfo *byte 15 | } 16 | 17 | type Servent struct { 18 | Name *byte 19 | Aliases **byte 20 | Port uint16 21 | Proto *byte 22 | } 23 | 24 | type JOBOBJECT_BASIC_LIMIT_INFORMATION struct { 25 | PerProcessUserTimeLimit int64 26 | PerJobUserTimeLimit int64 27 | LimitFlags uint32 28 | MinimumWorkingSetSize uintptr 29 | MaximumWorkingSetSize uintptr 30 | ActiveProcessLimit uint32 31 | Affinity uintptr 32 | PriorityClass uint32 33 | SchedulingClass uint32 34 | _ uint32 // pad to 8 byte boundary 35 | } 36 | -------------------------------------------------------------------------------- /vendor/github.com/google/go-cmp/cmp/internal/value/pointer.go: -------------------------------------------------------------------------------- 1 | // Copyright 2018, The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package value 6 | 7 | import ( 8 | "reflect" 9 | "unsafe" 10 | ) 11 | 12 | // Pointer is an opaque typed pointer and is guaranteed to be comparable. 13 | type Pointer struct { 14 | p unsafe.Pointer 15 | t reflect.Type 16 | } 17 | 18 | // PointerOf returns a Pointer from v, which must be a 19 | // reflect.Ptr, reflect.Slice, or reflect.Map. 20 | func PointerOf(v reflect.Value) Pointer { 21 | // The proper representation of a pointer is unsafe.Pointer, 22 | // which is necessary if the GC ever uses a moving collector. 23 | return Pointer{unsafe.Pointer(v.Pointer()), v.Type()} 24 | } 25 | 26 | // IsNil reports whether the pointer is nil. 27 | func (p Pointer) IsNil() bool { 28 | return p.p == nil 29 | } 30 | 31 | // Uintptr returns the pointer as a uintptr. 32 | func (p Pointer) Uintptr() uintptr { 33 | return uintptr(p.p) 34 | } 35 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/dev_openbsd.go: -------------------------------------------------------------------------------- 1 | // Copyright 2017 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // Functions to access/create device major and minor numbers matching the 6 | // encoding used in OpenBSD's sys/types.h header. 7 | 8 | package unix 9 | 10 | // Major returns the major component of an OpenBSD device number. 11 | func Major(dev uint64) uint32 { 12 | return uint32((dev & 0x0000ff00) >> 8) 13 | } 14 | 15 | // Minor returns the minor component of an OpenBSD device number. 16 | func Minor(dev uint64) uint32 { 17 | minor := uint32((dev & 0x000000ff) >> 0) 18 | minor |= uint32((dev & 0xffff0000) >> 8) 19 | return minor 20 | } 21 | 22 | // Mkdev returns an OpenBSD device number generated from the given major and minor 23 | // components. 24 | func Mkdev(major, minor uint32) uint64 { 25 | dev := (uint64(major) << 8) & 0x0000ff00 26 | dev |= (uint64(minor) << 8) & 0xffff0000 27 | dev |= (uint64(minor) << 0) & 0x000000ff 28 | return dev 29 | } 30 | -------------------------------------------------------------------------------- /vendor/github.com/cheggaaa/pb/v3/termutil/term_plan9.go: -------------------------------------------------------------------------------- 1 | package termutil 2 | 3 | import ( 4 | "errors" 5 | "os" 6 | "syscall" 7 | ) 8 | 9 | var ( 10 | consctl *os.File 11 | 12 | // Plan 9 doesn't have syscall.SIGQUIT 13 | unlockSignals = []os.Signal{ 14 | os.Interrupt, syscall.SIGTERM, syscall.SIGKILL, 15 | } 16 | ) 17 | 18 | // TerminalWidth returns width of the terminal. 19 | func TerminalWidth() (int, error) { 20 | return 0, errors.New("Not supported") 21 | } 22 | 23 | func lockEcho() error { 24 | if consctl != nil { 25 | return errors.New("consctl already open") 26 | } 27 | var err error 28 | consctl, err = os.OpenFile("/dev/consctl", os.O_WRONLY, 0) 29 | if err != nil { 30 | return err 31 | } 32 | _, err = consctl.WriteString("rawon") 33 | if err != nil { 34 | consctl.Close() 35 | consctl = nil 36 | return err 37 | } 38 | return nil 39 | } 40 | 41 | func unlockEcho() error { 42 | if consctl == nil { 43 | return nil 44 | } 45 | if err := consctl.Close(); err != nil { 46 | return err 47 | } 48 | consctl = nil 49 | return nil 50 | } 51 | -------------------------------------------------------------------------------- /vendor/github.com/aws/aws-sdk-go/aws/awsutil/equal.go: -------------------------------------------------------------------------------- 1 | package awsutil 2 | 3 | import ( 4 | "reflect" 5 | ) 6 | 7 | // DeepEqual returns if the two values are deeply equal like reflect.DeepEqual. 8 | // In addition to this, this method will also dereference the input values if 9 | // possible so the DeepEqual performed will not fail if one parameter is a 10 | // pointer and the other is not. 11 | // 12 | // DeepEqual will not perform indirection of nested values of the input parameters. 13 | func DeepEqual(a, b interface{}) bool { 14 | ra := reflect.Indirect(reflect.ValueOf(a)) 15 | rb := reflect.Indirect(reflect.ValueOf(b)) 16 | 17 | if raValid, rbValid := ra.IsValid(), rb.IsValid(); !raValid && !rbValid { 18 | // If the elements are both nil, and of the same type they are equal 19 | // If they are of different types they are not equal 20 | return reflect.TypeOf(a) == reflect.TypeOf(b) 21 | } else if raValid != rbValid { 22 | // Both values must be valid to be equal 23 | return false 24 | } 25 | 26 | return reflect.DeepEqual(ra.Interface(), rb.Interface()) 27 | } 28 | -------------------------------------------------------------------------------- /vendor/github.com/pkg/errors/Makefile: -------------------------------------------------------------------------------- 1 | PKGS := github.com/pkg/errors 2 | SRCDIRS := $(shell go list -f '{{.Dir}}' $(PKGS)) 3 | GO := go 4 | 5 | check: test vet gofmt misspell unconvert staticcheck ineffassign unparam 6 | 7 | test: 8 | $(GO) test $(PKGS) 9 | 10 | vet: | test 11 | $(GO) vet $(PKGS) 12 | 13 | staticcheck: 14 | $(GO) get honnef.co/go/tools/cmd/staticcheck 15 | staticcheck -checks all $(PKGS) 16 | 17 | misspell: 18 | $(GO) get github.com/client9/misspell/cmd/misspell 19 | misspell \ 20 | -locale GB \ 21 | -error \ 22 | *.md *.go 23 | 24 | unconvert: 25 | $(GO) get github.com/mdempsky/unconvert 26 | unconvert -v $(PKGS) 27 | 28 | ineffassign: 29 | $(GO) get github.com/gordonklaus/ineffassign 30 | find $(SRCDIRS) -name '*.go' | xargs ineffassign 31 | 32 | pedantic: check errcheck 33 | 34 | unparam: 35 | $(GO) get mvdan.cc/unparam 36 | unparam ./... 37 | 38 | errcheck: 39 | $(GO) get github.com/kisielk/errcheck 40 | errcheck $(PKGS) 41 | 42 | gofmt: 43 | @echo Checking code is gofmted 44 | @test -z "$(shell gofmt -s -l -d -e $(SRCDIRS) | tee /dev/stderr)" 45 | -------------------------------------------------------------------------------- /vendor/go.uber.org/mock/mockgen/version.go: -------------------------------------------------------------------------------- 1 | // Copyright 2022 Google LLC 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | package main 16 | 17 | import ( 18 | "fmt" 19 | "log" 20 | "runtime/debug" 21 | ) 22 | 23 | func printModuleVersion() { 24 | if bi, exists := debug.ReadBuildInfo(); exists { 25 | fmt.Println(bi.Main.Version) 26 | } else { 27 | log.Printf("No version information found. Make sure to use " + 28 | "GO111MODULE=on when running 'go get' in order to use specific " + 29 | "version of the binary.") 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /vendor/golang.org/x/tools/internal/event/keys/standard.go: -------------------------------------------------------------------------------- 1 | // Copyright 2020 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package keys 6 | 7 | var ( 8 | // Msg is a key used to add message strings to label lists. 9 | Msg = NewString("message", "a readable message") 10 | // Label is a key used to indicate an event adds labels to the context. 11 | Label = NewTag("label", "a label context marker") 12 | // Start is used for things like traces that have a name. 13 | Start = NewString("start", "span start") 14 | // Metric is a key used to indicate an event records metrics. 15 | End = NewTag("end", "a span end marker") 16 | // Metric is a key used to indicate an event records metrics. 17 | Detach = NewTag("detach", "a span detach marker") 18 | // Err is a key used to add error values to label lists. 19 | Err = NewError("error", "an error that occurred") 20 | // Metric is a key used to indicate an event records metrics. 21 | Metric = NewTag("metric", "a metric event marker") 22 | ) 23 | -------------------------------------------------------------------------------- /vendor/golang.org/x/tools/internal/versions/types_go121.go: -------------------------------------------------------------------------------- 1 | // Copyright 2023 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build !go1.22 6 | // +build !go1.22 7 | 8 | package versions 9 | 10 | import ( 11 | "go/ast" 12 | "go/types" 13 | ) 14 | 15 | // FileVersion returns a language version (<=1.21) derived from runtime.Version() 16 | // or an unknown future version. 17 | func FileVersion(info *types.Info, file *ast.File) string { 18 | // In x/tools built with Go <= 1.21, we do not have Info.FileVersions 19 | // available. We use a go version derived from the toolchain used to 20 | // compile the tool by default. 21 | // This will be <= go1.21. We take this as the maximum version that 22 | // this tool can support. 23 | // 24 | // There are no features currently in x/tools that need to tell fine grained 25 | // differences for versions <1.22. 26 | return toolchain 27 | } 28 | 29 | // InitFileVersions is a noop when compiled with this Go version. 30 | func InitFileVersions(*types.Info) {} 31 | -------------------------------------------------------------------------------- /vendor/github.com/aws/aws-sdk-go/internal/context/background_go1.5.go: -------------------------------------------------------------------------------- 1 | //go:build !go1.7 2 | // +build !go1.7 3 | 4 | package context 5 | 6 | import "time" 7 | 8 | // An emptyCtx is a copy of the Go 1.7 context.emptyCtx type. This is copied to 9 | // provide a 1.6 and 1.5 safe version of context that is compatible with Go 10 | // 1.7's Context. 11 | // 12 | // An emptyCtx is never canceled, has no values, and has no deadline. It is not 13 | // struct{}, since vars of this type must have distinct addresses. 14 | type emptyCtx int 15 | 16 | func (*emptyCtx) Deadline() (deadline time.Time, ok bool) { 17 | return 18 | } 19 | 20 | func (*emptyCtx) Done() <-chan struct{} { 21 | return nil 22 | } 23 | 24 | func (*emptyCtx) Err() error { 25 | return nil 26 | } 27 | 28 | func (*emptyCtx) Value(key interface{}) interface{} { 29 | return nil 30 | } 31 | 32 | func (e *emptyCtx) String() string { 33 | switch e { 34 | case BackgroundCtx: 35 | return "aws.BackgroundContext" 36 | } 37 | return "unknown empty Context" 38 | } 39 | 40 | // BackgroundCtx is the common base context. 41 | var BackgroundCtx = new(emptyCtx) 42 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/asm_linux_ppc64x.s: -------------------------------------------------------------------------------- 1 | // Copyright 2014 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build linux && (ppc64 || ppc64le) && gc 6 | 7 | #include "textflag.h" 8 | 9 | // 10 | // System calls for ppc64, Linux 11 | // 12 | 13 | // Just jump to package syscall's implementation for all these functions. 14 | // The runtime may know about them. 15 | 16 | TEXT ·SyscallNoError(SB),NOSPLIT,$0-48 17 | BL runtime·entersyscall(SB) 18 | MOVD a1+8(FP), R3 19 | MOVD a2+16(FP), R4 20 | MOVD a3+24(FP), R5 21 | MOVD R0, R6 22 | MOVD R0, R7 23 | MOVD R0, R8 24 | MOVD trap+0(FP), R9 // syscall entry 25 | SYSCALL R9 26 | MOVD R3, r1+32(FP) 27 | MOVD R4, r2+40(FP) 28 | BL runtime·exitsyscall(SB) 29 | RET 30 | 31 | TEXT ·RawSyscallNoError(SB),NOSPLIT,$0-48 32 | MOVD a1+8(FP), R3 33 | MOVD a2+16(FP), R4 34 | MOVD a3+24(FP), R5 35 | MOVD R0, R6 36 | MOVD R0, R7 37 | MOVD R0, R8 38 | MOVD trap+0(FP), R9 // syscall entry 39 | SYSCALL R9 40 | MOVD R3, r1+32(FP) 41 | MOVD R4, r2+40(FP) 42 | RET 43 | --------------------------------------------------------------------------------