DNS resolver and cache parameters use the configuration framework
authorMiklos Tirpak <miklos@iptel.org>
Mon, 11 Feb 2008 09:58:29 +0000 (09:58 +0000)
committerMiklos Tirpak <miklos@iptel.org>
Mon, 11 Feb 2008 09:58:29 +0000 (09:58 +0000)
commit2cfcc6bb1b10f6f3d7cac7a96dbae6c09f9b63bf
tree87903c06b424ae98569e35a236698d1ec1e3409a
parenta0b44e9256655df3f7450a6440b14363ee2c1406
DNS resolver and cache parameters use the configuration framework
that makes the config variables changeable on-the-fly.

- The resolver is reinitialized by each child process separately
when dns_retr_time, dns_retr_no, dns_servers_no, or dns_use_search_list
is changed.

- dns_reinit is introduced: the resolver is reinitialized when the
variable is set to 1, and the variable is reseted to 0 again.
It can be set via RPC for example, when /etc/resolv.conf changes,
but none of the SER config parameters are affected.

- A callback function is called by each child process after the resolver
has been reinitialized, if DNS_WATCHDOG_SUPPORT is enabled.

- socket_types is changed to be a global variable, and set by
fix_all_socket_lists(), because we have to remember for
the socket types, and do not allow dns_try_ipv6 to be enabled if there
is no ipv6 interface.

- minor bug is corrected: the expiration check is removed from
dns_cache_clean() function, when non-expired entries are deleted.
18 files changed:
cfg.y
cfg_core.c
cfg_core.h
dns_cache.c
dns_cache.h
forward.c
globals.h
main.c
modules/tm/t_fwd.c
modules/tm/t_msgbuilder.c
modules/tm/t_reply.c
modules/tm/timer.c
modules/tm/uac.c
modules/tm/ut.h
resolve.c
resolve.h
socket_info.c
socket_info.h