tree b10a7e91f24ff19dc2124a9479f3cf570fd0f0b3
parent e6465b3b758a214d25b89d495dc34d8a549cacd1
author Christopher Faulet <cfaulet@haproxy.com> 1634913208 +0200
committer Christopher Faulet <cfaulet@haproxy.com> 1635327261 +0200

MINOR: connection: Add function to get src/dst without updating the connection

conn_get_src() and conn_get_dst() functions are used to fill the source and
destination addresses of a connection. On success, ->src and ->dst
connection fields can be safely used.

For convenience, 2 new functions are added here: conn_src() and conn_dst().
These functions return the corresponding address, as a const and only if it
is already set. Otherwise NULL is returned.
