mirror of https://github.com/getdnsapi/getdns.git
Set default resolvconf and hosts during configure
This commit is contained in:
parent
3a1cb30c28
commit
a7a6240202
16
configure.ac
16
configure.ac
|
@ -345,6 +345,22 @@ AC_CHECK_FUNCS([strptime],[AC_CHECK_STRPTIME_WORKS],[AC_LIBOBJ([strptime])])
|
||||||
AC_CHECK_HEADERS([windows.h winsock.h stdio.h winsock2.h ws2tcpip.h],,, [AC_INCLUDES_DEFAULT])
|
AC_CHECK_HEADERS([windows.h winsock.h stdio.h winsock2.h ws2tcpip.h],,, [AC_INCLUDES_DEFAULT])
|
||||||
ACX_CHECK_GETADDRINFO_WITH_INCLUDES
|
ACX_CHECK_GETADDRINFO_WITH_INCLUDES
|
||||||
|
|
||||||
|
AC_ARG_WITH(resolvconf, AS_HELP_STRING([--with-resolvconf=PATH],
|
||||||
|
[Set the resolver configuration file path. Defaults to /etc/resolv.conf or values retrieved via GetNetworkParams() on Windows]),
|
||||||
|
[], [withval="/etc/resolv.conf"])
|
||||||
|
AC_DEFINE_UNQUOTED([GETDNS_FN_RESOLVCONF], ["$withval"], [Path to resolver configuration file])
|
||||||
|
|
||||||
|
AC_ARG_WITH(hosts, AS_HELP_STRING([--with-hosts=PATH],
|
||||||
|
[Set the static table lookup for hostnames path. Defaults to /etc/hosts or C:\Windows\System32\Drivers\etc\hosts on Windows]),
|
||||||
|
[], [
|
||||||
|
if test "$USE_WINSOCK" = 1; then
|
||||||
|
withval="C:\\\\Windows\\\\System32\\\\Drivers\\\\etc\\\\hosts"
|
||||||
|
else
|
||||||
|
withval="/etc/hosts"
|
||||||
|
fi
|
||||||
|
])
|
||||||
|
AC_DEFINE_UNQUOTED([GETDNS_FN_HOSTS], ["$withval"], [Path to static table lookup for hostnames])
|
||||||
|
|
||||||
AC_ARG_WITH(fd-setsize, AS_HELP_STRING([--with-fd-setsize=size],
|
AC_ARG_WITH(fd-setsize, AS_HELP_STRING([--with-fd-setsize=size],
|
||||||
[Set maximum file descriptor number that can be used by select]),
|
[Set maximum file descriptor number that can be used by select]),
|
||||||
[], [withval="no"])
|
[], [withval="no"])
|
||||||
|
|
|
@ -505,11 +505,7 @@ create_local_hosts(getdns_context *context)
|
||||||
int start_of_line = 1;
|
int start_of_line = 1;
|
||||||
getdns_dict *address = NULL;
|
getdns_dict *address = NULL;
|
||||||
|
|
||||||
#ifdef USE_WINSOCK
|
in = fopen(GETDNS_FN_HOSTS, "r");
|
||||||
in = fopen("c:\\WINDOWS\\system32\\drivers\\etc\\hosts", "r");
|
|
||||||
#else
|
|
||||||
in = fopen("/etc/hosts", "r");
|
|
||||||
#endif
|
|
||||||
while (fgets(pos, (int)(sizeof(buf) - (pos - buf)), in)) {
|
while (fgets(pos, (int)(sizeof(buf) - (pos - buf)), in)) {
|
||||||
pos = buf;
|
pos = buf;
|
||||||
/* Break out of for to read more */
|
/* Break out of for to read more */
|
||||||
|
@ -1207,7 +1203,7 @@ set_os_defaults(struct getdns_context *context)
|
||||||
GETDNS_MALLOC(context->my_mf, struct filechg);
|
GETDNS_MALLOC(context->my_mf, struct filechg);
|
||||||
if(context->fchg_resolvconf == NULL)
|
if(context->fchg_resolvconf == NULL)
|
||||||
return GETDNS_RETURN_MEMORY_ERROR;
|
return GETDNS_RETURN_MEMORY_ERROR;
|
||||||
context->fchg_resolvconf->fn = "/etc/resolv.conf";
|
context->fchg_resolvconf->fn = GETDNS_FN_RESOLVCONF;
|
||||||
context->fchg_resolvconf->prevstat = NULL;
|
context->fchg_resolvconf->prevstat = NULL;
|
||||||
context->fchg_resolvconf->changes = GETDNS_FCHG_NOCHANGES;
|
context->fchg_resolvconf->changes = GETDNS_FCHG_NOCHANGES;
|
||||||
context->fchg_resolvconf->errors = GETDNS_FCHG_NOERROR;
|
context->fchg_resolvconf->errors = GETDNS_FCHG_NOERROR;
|
||||||
|
@ -3869,6 +3865,8 @@ _get_context_settings(getdns_context* context)
|
||||||
(void) getdns_dict_util_set_string(result, "trust_anchors_verify_CA", str_value);
|
(void) getdns_dict_util_set_string(result, "trust_anchors_verify_CA", str_value);
|
||||||
if (!getdns_context_get_trust_anchors_verify_email(context, &str_value) && str_value)
|
if (!getdns_context_get_trust_anchors_verify_email(context, &str_value) && str_value)
|
||||||
(void) getdns_dict_util_set_string(result, "trust_anchors_verify_email", str_value);
|
(void) getdns_dict_util_set_string(result, "trust_anchors_verify_email", str_value);
|
||||||
|
if (context->fchg_resolvconf && context->fchg_resolvconf->fn)
|
||||||
|
(void) getdns_dict_util_set_string(result, "resolvconf_file", context->fchg_resolvconf->fn);
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
error:
|
error:
|
||||||
|
@ -3905,6 +3903,12 @@ getdns_context_get_api_information(getdns_context* context)
|
||||||
&& ! getdns_dict_util_set_string(
|
&& ! getdns_dict_util_set_string(
|
||||||
result, "default_trust_anchor_location", TRUST_ANCHOR_FILE)
|
result, "default_trust_anchor_location", TRUST_ANCHOR_FILE)
|
||||||
|
|
||||||
|
&& ! getdns_dict_util_set_string(
|
||||||
|
result, "default_resolvconf_location", GETDNS_FN_RESOLVCONF)
|
||||||
|
|
||||||
|
&& ! getdns_dict_util_set_string(
|
||||||
|
result, "default_hosts_location", GETDNS_FN_HOSTS)
|
||||||
|
|
||||||
&& ! getdns_dict_set_int(
|
&& ! getdns_dict_set_int(
|
||||||
result, "resolution_type", context->resolution_type)
|
result, "resolution_type", context->resolution_type)
|
||||||
|
|
||||||
|
@ -4624,6 +4628,8 @@ _getdns_context_config_setting(getdns_context *context,
|
||||||
&& !_streq(setting, "api_version_number")
|
&& !_streq(setting, "api_version_number")
|
||||||
&& !_streq(setting, "trust_anchor_file")
|
&& !_streq(setting, "trust_anchor_file")
|
||||||
&& !_streq(setting, "default_trust_anchor_location")
|
&& !_streq(setting, "default_trust_anchor_location")
|
||||||
|
&& !_streq(setting, "default_resolvconf_location")
|
||||||
|
&& !_streq(setting, "default_hosts_location")
|
||||||
&& !_streq(setting, "compilation_comment")
|
&& !_streq(setting, "compilation_comment")
|
||||||
) {
|
) {
|
||||||
r = GETDNS_RETURN_NOT_IMPLEMENTED;
|
r = GETDNS_RETURN_NOT_IMPLEMENTED;
|
||||||
|
|
|
@ -54,9 +54,6 @@
|
||||||
struct getdns_dns_req;
|
struct getdns_dns_req;
|
||||||
struct ub_ctx;
|
struct ub_ctx;
|
||||||
|
|
||||||
#define GETDNS_FN_RESOLVCONF "/etc/resolv.conf"
|
|
||||||
#define GETDNS_FN_HOSTS "/etc/hosts"
|
|
||||||
|
|
||||||
enum filechgs { GETDNS_FCHG_ERRORS = -1
|
enum filechgs { GETDNS_FCHG_ERRORS = -1
|
||||||
, GETDNS_FCHG_NOERROR = 0
|
, GETDNS_FCHG_NOERROR = 0
|
||||||
, GETDNS_FCHG_NOCHANGES = 0
|
, GETDNS_FCHG_NOCHANGES = 0
|
||||||
|
|
Loading…
Reference in New Issue