haproxy/include/types
Baptiste Assmann 42746373eb REORG: dns: dns_option structure, storage of hostname_dn
This patch introduces a some re-organisation around the DNS code in
HAProxy.

1. make the dns_* functions less dependent on 'struct server' and 'struct resolution'.

With this in mind, the following changes were performed:
- 'struct dns_options' has been removed from 'struct resolution' (well,
  we might need it back at some point later, we'll see)
  ==> we'll use the 'struct dns_options' from the owner of the resolution
- dns_get_ip_from_response(): takes a 'struct dns_options' instead of
  'struct resolution'
  ==> so the caller can pass its own dns options to get the most
      appropriate IP from the response
- dns_process_resolve(): struct dns_option is deduced from new
  resolution->requester_type parameter

2. add hostname_dn and hostname_dn_len into struct server

In order to avoid recomputing a server's hostname into its domain name
format (and use a trash buffer to store the result), it is safer to
compute it once at configuration parsing and to store it into the struct
server.
In the mean time, the struct resolution linked to the server doesn't
need anymore to store the hostname in domain name format. A simple
pointer to the server one will make the trick.

The function srv_alloc_dns_resolution() properly manages everything for
us: memory allocation, pointer updates, etc...

3. move resolvers pointer into struct server

This patch makes the pointer to struct dns_resolvers from struct
dns_resolution obsolete.
Purpose is to make the resolution as "neutral" as possible and since the
requester is already linked to the resolvers, then we don't need this
information anymore in the resolution itself.
2017-06-02 11:26:48 +02:00
..
acl.h REORG/MAJOR: session: rename the "session" entity to "stream" 2015-04-06 11:23:56 +02:00
action.h MINOR: http: custom status reason. 2017-01-06 11:57:44 +01:00
applet.h MINOR: spoe: Remove SPOE details from the appctx structure 2017-03-09 15:32:55 +01:00
arg.h MINOR: http/conf: store the use_backend configuration file and line for logs 2016-11-25 07:15:09 +01:00
auth.h MAJOR: auth: Change the internal authentication system. 2014-03-17 18:06:06 +01:00
backend.h MEDIUM: backend: add the crc32 hash algorithm for load balancing 2015-01-20 19:48:14 +01:00
capture.h MINOR: capture: extend the captures to support non-header keys 2014-06-13 16:32:48 +02:00
channel.h BUG/MEDIUM: filters: Fix channels synchronization in flt_end_analyze 2017-03-15 19:09:06 +01:00
checks.h MAJOR: check: find out which port to use for health check at run time 2016-09-11 08:12:13 +02:00
cli.h CLEANUP: cli: rename STAT_CLI_* to CLI_ST_* 2016-11-24 16:59:28 +01:00
compression.h MAJOR: filters/http: Rewrite the HTTP compression as a filter 2016-02-09 14:53:15 +01:00
connection.h MEDIUM: ssl: handle multiple async engines 2017-05-27 07:12:27 +02:00
counters.h CLEANUP: counters: move from 3 types to 2 types 2016-11-25 15:03:12 +01:00
dns.h REORG: dns: dns_option structure, storage of hostname_dn 2017-06-02 11:26:48 +02:00
fd.h MINOR: fd: add a new flag HAP_POLL_F_RDHUP to struct poller 2017-03-21 16:30:35 +01:00
filters.h MINOR: filters: Add check_timeouts callback to handle timers expiration on streams 2016-11-21 15:29:58 +01:00
freq_ctr.h [MINOR] freq_ctr: add new types and functions for periods different from 1s 2010-08-10 14:01:09 +02:00
global.h MINOR: log: Add logurilen tunable. 2017-06-02 11:06:36 +02:00
hdr_idx.h [BUG] files were missing for hdr_idx in previous commit 2006-12-04 02:20:02 +01:00
hlua.h BUG/MEDIUM: lua: In some case, the return of sample-fetches is ignored (2) 2016-12-14 12:52:47 +01:00
lb_chash.h MINOR: backend: add hash-balance-factor option for hash-type consistent 2016-10-25 20:21:32 +02:00
lb_fas.h MEDIUM: backend: add the 'first' balancing algorithm 2012-02-21 22:27:27 +01:00
lb_fwlc.h [MEDIUM] build: switch ebtree users to use new ebtree version 2009-10-26 21:10:04 +01:00
lb_fwrr.h [MEDIUM] build: switch ebtree users to use new ebtree version 2009-10-26 21:10:04 +01:00
lb_map.h [CLEANUP] proxy: move last lb-specific bits to their respective files 2009-10-03 18:41:18 +02:00
listener.h MEDIUM: ssl: ssl_methods implementation is reworked and factored for min/max tlsxx 2017-05-12 15:49:04 +02:00
log.h CLEANUP: logs: remove unused log format field definitions 2016-08-23 15:25:28 +02:00
mailers.h MINOR: mailers: make it possible to configure the connection timeout 2016-02-20 15:33:06 +01:00
map.h CLEANUP: map: it seems that the map were planed to be chained 2016-03-30 15:41:15 +02:00
obj_type.h CLEANUP: applet: rename struct si_applet to applet 2015-04-23 17:56:16 +02:00
pattern.h MINOR: map: Add regex matching replacement 2016-02-10 23:38:34 +01:00
peers.h MINOR: peers: remove the pointer to the stream 2016-10-31 20:07:01 +01:00
pipe.h [MEDIUM] introduce pipe pools 2009-01-25 13:49:53 +01:00
port_range.h [MEDIUM] add support for binding to source port ranges during connect 2009-06-10 12:23:32 +02:00
proto_http.h DOC: update RFC references 2017-04-28 18:58:11 +02:00
proto_udp.h MEDIUM: protocol: add minimalist UDP protocol client 2015-06-13 22:07:35 +02:00
protocol.h CLEANUP: fix inconsistency between fd->iocb, proto->accept and accept() 2016-04-14 11:18:22 +02:00
proxy.h MINOR: server: Add dynamic session cookies. 2017-03-15 11:37:30 +01:00
queue.h REORG/MAJOR: session: rename the "session" entity to "stream" 2015-04-06 11:23:56 +02:00
sample.h BUG/MEDIUM: samples: make smp_dup() always duplicate the sample 2016-08-09 14:03:23 +02:00
server.h REORG: dns: dns_option structure, storage of hostname_dn 2017-06-02 11:26:48 +02:00
session.h MEDIUM: vars: move the session variables to the session, not the stream 2015-06-19 11:59:02 +02:00
signal.h [MEDIUM] signals: add support for registering functions and tasks 2010-08-27 18:00:40 +02:00
spoe.h MINOR: spoe: Add "send-frag-payload" option in spoe-agent section 2017-03-09 15:32:55 +01:00
ssl_sock.h MEDIUM: ssl: ssl_methods implementation is reworked and factored for min/max tlsxx 2017-05-12 15:49:04 +02:00
stats.h MEDIUM: stats: Add show json schema 2017-03-14 11:14:03 +01:00
stick_table.h MEDIUM: http: implement http-response track-sc* directive 2016-07-26 14:31:14 +02:00
stream.h MEDIUM: lua: remove Lua struct from session, and allocate it with memory pools 2016-12-21 15:24:56 +01:00
stream_interface.h BUG/MEDIUM: stream: fix client-fin/server-fin handling 2017-03-21 15:04:43 +01:00
task.h DIET/MINOR: task: reduce struct task size by 8 bytes 2013-12-09 16:06:22 +01:00
template.h [CLEANUP] included common/version.h everywhere 2006-06-29 18:54:54 +02:00
vars.h MEDIUM: vars: Add a per-process scope for variables 2016-11-09 22:57:00 +01:00