mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-08-08 08:07:10 +02:00
Right now we have multiple methods for parsing IP addresses in the configuration. This is quite painful. This patch aims at adapting str2sa_range() to make it support all formats, so that the callers perform the appropriate tests on the return values. str2sa() was changed to simply return str2sa_range(). The output values are now the following ones (taken from the comment on top of the function). Converts <str> to a locally allocated struct sockaddr_storage *, and a port range or offset consisting in two integers that the caller will have to check to find the relevant input format. The following format are supported : String format | address | port | low | high addr | <addr> | 0 | 0 | 0 addr: | <addr> | 0 | 0 | 0 addr:port | <addr> | <port> | <port> | <port> addr:pl-ph | <addr> | <pl> | <pl> | <ph> addr:+port | <addr> | <port> | 0 | <port> addr:-port | <addr> |-<port> | <port> | 0 The detection of a port range or increment by the caller is made by comparing <low> and <high>. If both are equal, then port 0 means no port was specified. The caller may pass NULL for <low> and <high> if it is not interested in retrieving port ranges. Note that <addr> above may also be : - empty ("") => family will be AF_INET and address will be INADDR_ANY - "*" => family will be AF_INET and address will be INADDR_ANY - "::" => family will be AF_INET6 and address will be IN6ADDR_ANY - a host name => family and address will depend on host name resolving. |
||
---|---|---|
.. | ||
accept4.h | ||
appsession.h | ||
base64.h | ||
buffer.h | ||
cfgparse.h | ||
chunk.h | ||
compat.h | ||
compiler.h | ||
config.h | ||
debug.h | ||
defaults.h | ||
epoll.h | ||
errors.h | ||
memory.h | ||
mini-clist.h | ||
rbtree.h | ||
regex.h | ||
sessionhash.h | ||
splice.h | ||
standard.h | ||
syscall.h | ||
template.h | ||
ticks.h | ||
time.h | ||
tools.h | ||
uri_auth.h | ||
version.h |