* Add TLS support to tusd
* Adds `-tls-certificate`, `-tls-key`, and `-tls-mode` flags
* Alter printed URL to reflect protocol in use
* For non-TLS, do an eary-exit if http.Serve() returns
* Configure TLS for the following modes
* TLSv1.3-only
* (default) TLSv1.3+TLSv1.2, with recommended ciphersuites from Mozilla + matching RSA key transport modes
* TLSv1.2 only, with only 256-bit AES ciphersuites
* All modes disable HTTP/2, given that it’s not supported in non-TLS mode
* Update documentation
* * Remove RSA-based key transport ciphersuites as they don’t support forward secrecy
* Improve the TLS/HTTPS example in the usage documentation
Signed-off-by: Joey Coleman <joey.coleman@kirasystems.com>
* Update docs further to a) record that the key file must be unencrypted, and b) clean up the RSA-based ciphersuite comments.
* Enable S3 transfer acceleration in SDK
* Format better
* Setup for flag changes
* Place feature behind new flag
* Fix a docs issue
Co-authored-by: Cloud User <centos@ip-10-0-0-184.us-west-2.compute.internal>
* Allow empty metadata values
* Make tests less fragile by allowing loose call ordering
* Add s3ChunkProducer
* Integrate s3ChunkProducer to support chunk buffering
* Remove completed chunk files inline to reduce disk space usage
* Add tests for chunk producer
* docs: Use value from Host header to forward to tusd
* Use int64 for MaxBufferedParts field
* Default to 20 buffered parts
* Rename s3ChunkProducer -> s3PartProducer
* Document s3PartProducer struct
* Clarify misleading comment
* Revert "Remove completed chunk files inline to reduce disk space usage"
This reverts commit b72a4d43d6.
* Remove redundant seek
This is already being done in s3PartProducer.
* Clean up any remaining files in the channel when we return
* Make putPart* functions responsible for cleaning up temp files
* handler: Add tests for empty metadata pairs
* Factor out cleanUpTempFile func
* Add test to ensure that temporary files get cleaned up
Co-authored-by: Jens Steinhauser <jens.steinhauser@gmail.com>
Co-authored-by: Marius <marius@transloadit.com>
* core: add new synchronous event: pre-finish
* docs: pre-finish hook event
* docs: Added information about CORS to the FAQ. (#384)
* Added information about CORS to the FAQ.
* docs: Expand explanation of CORS
Co-authored-by: Marius <marius@transloadit.com>
* cli: add header forwarding in HTTP hooks (#371)
* cli: add header forwarding in HTTP hooks
* docs: Reword header forwarding flag, add documentation
* Don't enable pre-finish hooks by default
* Enable pre-finish hooks for plugins
* docs: default enabled hooks
* Rename callback
Co-authored-by: josh-marshall-jax <52457971+josh-marshall-jax@users.noreply.github.com>
Co-authored-by: Marius <marius@transloadit.com>
* docs: Headers are a list of values
* docs: Remove the header fields for gRPC as it does not exist
Co-authored-by: Marius <Acconut@users.noreply.github.com>
* Make use of gRPC metadatas to pass on Hook-Name. Fixes#362
* Add Hook name in proto.
* Pass the hook name into the hook proto instead of gRPC metadatas.
Co-authored-by: Clément Peyrabère <clement.peyrabere@idcapture.fr>
* Add MetadataObjectPrefix field to S3Store
* Add metadataKeyWithPrefix helper function
* Use metadataKeyWithPrefix for .info and .part operations
* Add s3store tests for metadata object prefixes
* Clarify ObjectPrefix docs