Jacob Kiers
b7ec67ed07
When a listener is configured to deal with TLS upstreams, we use the SNI field of the TLS ClientHello message to decide where to send the traffic. Therefore, a buffer of 1024 bytes was used to temporarily store this message. However, a TLS ClientHello message can be larger than that, up to 16K bytes. So now the first few bytes are read and manually parsed to find out how long the message is. And then the entire ClientHello message is retrieved. So hopefully that will fix the issue causing the ClientHello determination to fail. Closes #10 Signed-off-by: Jacob Kiers <code@kiers.eu>
54 lines
1.4 KiB
Markdown
54 lines
1.4 KiB
Markdown
# Changelog
|
|
|
|
All notable changes to this project will be documented in this file.
|
|
|
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
|
|
## [Unreleased]
|
|
|
|
### Fixed
|
|
|
|
* The ClientHello TLS header is now read in full before it is parsed, solving
|
|
an error where there was not enough data to fully read it. In those cases
|
|
it was not possible to determine the upstream address and therefore the proxy
|
|
would go the the default action instead.
|
|
|
|
### Changed
|
|
|
|
* Updated some dependencies to prevent the build from breaking.
|
|
|
|
## [0.1.9] - 2024-06-22
|
|
|
|
### Deprecated
|
|
|
|
The ability to run `l4p` without arguments is now deprecated. Please use
|
|
`l4p serve` going forward.
|
|
|
|
### Added
|
|
|
|
* Added self update functionality. Just run `l4p update` to use it.
|
|
* Now keeping a change log in the `CHANGELOG.md` file.
|
|
|
|
### Changed
|
|
|
|
* Updated build pipeline to generate much smaller binaries
|
|
|
|
-------
|
|
|
|
## Previous versions
|
|
|
|
[unreleased]: https://code.kiers.eu/jjkiers/layer4-proxy/compare/v0.1.9...HEAD
|
|
[0.1.9]: https://code.kiers.eu/jjkiers/layer4-proxy/compare/v0.1.8...v0.1.9
|
|
|
|
|
|
|
|
Types of changes:
|
|
|
|
* `Added` for new features.
|
|
* `Changed` for changes in existing functionality.
|
|
* `Deprecated` for soon-to-be removed features.
|
|
* `Removed` for now removed features.
|
|
* `Fixed` for any bug fixes.
|
|
* `Security` in case of vulnerabilities.
|