* chore: Formatting
* chore: Formatting (fix indent)
* refactor: Remove entrypoint
* chore: Remove `entrypoint.sh` from `.goreleaser.yaml`
* tests: Replace `entrypoint.sh` script usage in `e2eentry.sh`
* Set default plugin argument from environment variable in main function and update Dockerfile to remove CMD instruction
* Add user and group setup for testing in Dockerfile and update e2e entry script
* Update cmd/sshpiperd/main.go
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update cmd/sshpiperd/main.go
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Remove test user and group creation from Dockerfile and move it to e2e entry script; update plugin argument handling in main function
* Update Dockerfile
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Skip empty plugin directory entries in main function
---------
Co-authored-by: Brennan Kinney <5098581+polarathene@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* fix lint
* Bump golangci-lint action to v8 and update linting args
* fix lint errors
* fix: correct loop condition in main function to process remaining arguments
* chore: Update dependencies in go.mod and go.sum
* chore: Update submodule commit for crypto
* refactor: Update hook functions to return ssh.PipePackageHookMethod for better integration
* fix: Increase sleep duration in TestFixed to ensure proper execution
* fix: Increase sleep duration in TestFixed to ensure proper file flush
* fix: Update docker-compose service images and modify test to use host-password-old
* refactor: Simplify hook functions to return error instead of PipePackageHookMethod for better error handling
* feat: Add reply-ping flag to enable ping response for compatibility with older sshd
* fix: Update subproject commit reference in crypto
* Add configuration options for allowed downstream algorithms
* Refactor daemon configuration to set allowed downstream algorithms
* Ensure default configuration values are set consistently in newDaemon
* Refactor plugin.proto and pluginbase.go to add support for metadata in connection context
* go fmt
* move test plugin out
* Refactor Dockerfile to build test plugin in e2e/testplugin directory
* mv testplugin -> testgrpcplugin
* add test for connection metadata
* enable logging to stdout
* Refactor Dockerfile to build test plugin in e2e/testplugin directory
* Fix grpc.Dial usage in sshpiperd
* fix dns not found
* Update dependencies in go.mod and go.sum files
* Refactor grpc.NewClient to remove unnecessary grpc.WithBlock() option
* feat: Add support for allowed proxy addresses
This commit adds support for allowed proxy addresses, which allows only connections from these IP ranges to send a proxy header based on the PROXY protocol. If the allowed proxy addresses are empty, the PROXY protocol support is disabled.
* Update cmd/sshpiperd/main.go
Co-authored-by: Peter G <97112726+pgibson1-godaddy@users.noreply.github.com>
---------
Co-authored-by: Peter G <97112726+pgibson1-godaddy@users.noreply.github.com>
* Make the log formatter configurable
The change lets us configure the deamon and the plugins to output logs
in the JSON format, which is easier to parse/filter by log processing
tools.
* Add validation for the log-format flag
* Add PipeCreateErrorCallback to handle pipe creation errors
* Add test for FailtobanPipeCreateFail
* Fix missing newline at end of file in pluginbase.go
Package `term` provides support functions for dealing with terminals, cross-compatible with Unix,darwin and windows.
The low leve const `unix.TCGETS` is not defined in Darwin arch, ad prevent shspiper to buil and run on osx