mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2025-01-23 22:12:46 +00:00
00005ce5a1
When the tcp/http actions above were introduced in 1.7-dev4, we used to proceed like this : - set-src/set-dst would force the port to zero - set-src-port/set-dst-port would not do anything if the address family is neither AF_INET nor AF_INET6. It was a stupid idea of mine to request this behaviour because it ensures that these functions cannot be used in a wide number of situations. Because of the first rule, it is necessary to save the source port one way or another if only the address has to be changed (so you have to use an variable). Due to the second rule, there's no way to set the source port on a unix socket without first overwriting the address. And sometimes it's really not convenient, especially when there's no way to guarantee that all fields will properly be set. In order to fix all this, this small change does the following : - set-src/set-dst always preserve the original port even if the address family changes. If the previous address family didn't have a port (eg: AF_UNIX), then the port is set to zero ; - set-src-port/set-dst-port always preserve the original address. If the address doesn't have a port, then the family is forced to IPv4 and the address to "0.0.0.0". Thanks to this it now becomes possible to perform one action, the other or both in any order. |
||
---|---|---|
.. | ||
design-thoughts | ||
internals | ||
lua-api | ||
acl.fig | ||
architecture.txt | ||
close-options.txt | ||
coding-style.txt | ||
configuration.txt | ||
cookie-options.txt | ||
gpl.txt | ||
haproxy.1 | ||
intro.txt | ||
lgpl.txt | ||
linux-syn-cookies.txt | ||
lua.txt | ||
management.txt | ||
netscaler-client-ip-insertion-protocol.txt | ||
network-namespaces.txt | ||
proxy-protocol.txt | ||
queuing.fig |