Skip to content

Releases: pires/go-proxyproto

v0.3.2

15 Nov 10:59
9d53ed5
Compare
Choose a tag to compare

Improvements

  • Access the full PROXY header (#52)
  • Don't error when doing TLS but clients do not present a TLS certificate (#53)

Once again, thank you very much to @emersion for their contributions! 🎉

v0.3.1

30 Oct 19:09
16abfc6
Compare
Choose a tag to compare

Improvements

  • Expose underlying net.Conn with helpers for TCP, UDP and Unix connections (#51) by @mschneider82

v0.3.0

28 Oct 19:50
7962c3f
Compare
Choose a tag to compare

This release is only possible with the amazing work by @emersion to whom I want to say thank you very much!

Breaking changes

  • Rely on net.Addr, which allows to represent any network address, instead of using an IP and a port (#46)
    • New helpers (header.{TCPAddrs(),UDPAddrs(),UnixAddrs(),IPs(),Ports()}) allows to easily extract data from net.Addr attributes.
    • The header.{Local,Remote}Addr helpers have been removed in favor or accessors header.{Source,Destination}Addr.
  • TLV.Length has been removed, in favor of using len(TLV.Value) instead (#42)

Improvements

  • Properly validate source and destination IPs when transport protocol is IP-based, e.g. ensure IPv4 addresses when TCPv4 is set (#46 and #48)
  • Support Unix sockets (#46)
  • Format a PP2SSL struct into a TLV (#41)
  • Test Go 1.14 and 1.15 support (#39)
  • Update spec URL (#40)

v0.2.0

04 Oct 20:07
5e99c07
Compare
Choose a tag to compare

Bug-fixes

  • Fix protocol header for unknown protocol (#27)
  • Documented a problem with AWS NLB when your server is configured to speak first "AWS Network Load Balancer (NLB) does not push the PPV2 header until the client starts sending the data. This is a problem if your server speaks first. e.g. SMTP, FTP, SSH etc." (#25)

Improvements

  • Enable easy Header creation from a source and destination net.Addr. If the net.Addr cannot be represented, the transport information is left unspecified (#31)
  • Avoid buffer growing allocation by setting a size of 108 as per RFC "a 108-byte buffer is always enough to store all the line and a trailing zero for string processing" (#27)
  • Client example (#37)
  • Many code improvements, such as carry package name in errors (a la Go) and stop exporting values that shouldn't be exported (#30 #32 #33)

Thanks

@emersion @mschneider82 @navossoc @viruthagiri

v0.1.3

13 May 16:17
7e550d3
Compare
Choose a tag to compare

Bug-fixes

  • Fixes Go modules semantic versioning requirement (#23)

0.1.2

07 May 10:18
a55d19c
Compare
Choose a tag to compare

Bug-fixes

  • Surface error when parsing header (#21)

    Before this fix, all errors would be masked as ErrNoProxyProtocol, including errors like tls: first record does not look like a TLS handshake. Mad props to @igorwwwwwwwwwwwwwwwwwwww for finding this and providing a patch.

0.1.1

02 Apr 18:42
afa328f
Compare
Choose a tag to compare

Bug-fixes

  • Use protocol header if policy is set to REQUIRE (#19)