mirror of
https://gitlab.isc.org/isc-projects/bind9
synced 2025-08-31 14:35:26 +00:00
2141. [bug] dig/host should not be setting IDN_ASCCHECK (IDN
equivalent of LDH checks). [RT #16609]
This commit is contained in:
3
CHANGES
3
CHANGES
@@ -1,3 +1,6 @@
|
|||||||
|
2141. [bug] dig/host should not be setting IDN_ASCCHECK (IDN
|
||||||
|
equivalent of LDH checks). [RT #16609]
|
||||||
|
|
||||||
2140. [bug] libbind: missing unlock on pthread_key_create()
|
2140. [bug] libbind: missing unlock on pthread_key_create()
|
||||||
failures. [RT #16654]
|
failures. [RT #16654]
|
||||||
|
|
||||||
|
@@ -15,7 +15,7 @@
|
|||||||
* PERFORMANCE OF THIS SOFTWARE.
|
* PERFORMANCE OF THIS SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* $Id: dighost.c,v 1.299 2007/02/14 23:45:44 marka Exp $ */
|
/* $Id: dighost.c,v 1.300 2007/02/26 00:27:09 marka Exp $ */
|
||||||
|
|
||||||
/*! \file
|
/*! \file
|
||||||
* \note
|
* \note
|
||||||
@@ -144,6 +144,7 @@ static idn_result_t append_textname(char *name, const char *origin,
|
|||||||
static void idn_check_result(idn_result_t r, const char *msg);
|
static void idn_check_result(idn_result_t r, const char *msg);
|
||||||
|
|
||||||
#define MAXDLEN 256
|
#define MAXDLEN 256
|
||||||
|
int idnoptions = 0;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*%
|
/*%
|
||||||
@@ -1816,7 +1817,7 @@ setup_lookup(dig_lookup_t *lookup) {
|
|||||||
sizeof(utf8_textname));
|
sizeof(utf8_textname));
|
||||||
idn_check_result(mr, "append origin to textname");
|
idn_check_result(mr, "append origin to textname");
|
||||||
}
|
}
|
||||||
mr = idn_encodename(IDN_LOCALMAP | IDN_NAMEPREP | IDN_ASCCHECK |
|
mr = idn_encodename(idnoptions | IDN_LOCALMAP | IDN_NAMEPREP |
|
||||||
IDN_IDNCONV | IDN_LENCHECK, utf8_textname,
|
IDN_IDNCONV | IDN_LENCHECK, utf8_textname,
|
||||||
idn_textname, sizeof(idn_textname));
|
idn_textname, sizeof(idn_textname));
|
||||||
idn_check_result(mr, "convert UTF-8 textname to IDN encoding");
|
idn_check_result(mr, "convert UTF-8 textname to IDN encoding");
|
||||||
|
@@ -15,13 +15,25 @@
|
|||||||
* PERFORMANCE OF THIS SOFTWARE.
|
* PERFORMANCE OF THIS SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* $Id: host.c,v 1.110 2006/05/23 04:38:28 marka Exp $ */
|
/* $Id: host.c,v 1.111 2007/02/26 00:27:09 marka Exp $ */
|
||||||
|
|
||||||
/*! \file */
|
/*! \file */
|
||||||
|
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
|
#include <stdlib.h>
|
||||||
#include <limits.h>
|
#include <limits.h>
|
||||||
|
|
||||||
|
#ifdef HAVE_LOCALE_H
|
||||||
|
#include <locale.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WITH_IDN
|
||||||
|
#include <idn/result.h>
|
||||||
|
#include <idn/log.h>
|
||||||
|
#include <idn/resconf.h>
|
||||||
|
#include <idn/api.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#include <isc/app.h>
|
#include <isc/app.h>
|
||||||
#include <isc/commandline.h>
|
#include <isc/commandline.h>
|
||||||
#include <isc/netaddr.h>
|
#include <isc/netaddr.h>
|
||||||
@@ -664,6 +676,9 @@ parse_args(isc_boolean_t is_batchfile, int argc, char **argv) {
|
|||||||
lookup->rdtype != dns_rdatatype_axfr)
|
lookup->rdtype != dns_rdatatype_axfr)
|
||||||
lookup->rdtype = rdtype;
|
lookup->rdtype = rdtype;
|
||||||
lookup->rdtypeset = ISC_TRUE;
|
lookup->rdtypeset = ISC_TRUE;
|
||||||
|
#ifdef WITH_IDN
|
||||||
|
idnoptions = 0;
|
||||||
|
#endif
|
||||||
if (rdtype == dns_rdatatype_axfr) {
|
if (rdtype == dns_rdatatype_axfr) {
|
||||||
/* -l -t any -v */
|
/* -l -t any -v */
|
||||||
list_type = dns_rdatatype_any;
|
list_type = dns_rdatatype_any;
|
||||||
@@ -672,6 +687,13 @@ parse_args(isc_boolean_t is_batchfile, int argc, char **argv) {
|
|||||||
} else if (rdtype == dns_rdatatype_ixfr) {
|
} else if (rdtype == dns_rdatatype_ixfr) {
|
||||||
lookup->ixfr_serial = serial;
|
lookup->ixfr_serial = serial;
|
||||||
list_type = rdtype;
|
list_type = rdtype;
|
||||||
|
#ifdef WITH_IDN
|
||||||
|
} else if (rdtype == dns_rdatatype_a ||
|
||||||
|
rdtype == dns_rdatatype_aaaa ||
|
||||||
|
rdtype == dns_rdatatype_mx) {
|
||||||
|
idnoptions = IDN_ASCCHECK;
|
||||||
|
list_type = rdtype;
|
||||||
|
#endif
|
||||||
} else
|
} else
|
||||||
list_type = rdtype;
|
list_type = rdtype;
|
||||||
list_addresses = ISC_FALSE;
|
list_addresses = ISC_FALSE;
|
||||||
@@ -814,6 +836,9 @@ main(int argc, char **argv) {
|
|||||||
ISC_LIST_INIT(search_list);
|
ISC_LIST_INIT(search_list);
|
||||||
|
|
||||||
fatalexit = 1;
|
fatalexit = 1;
|
||||||
|
#ifdef WITH_IDN
|
||||||
|
idnoptions = IDN_ASCCHECK;
|
||||||
|
#endif
|
||||||
|
|
||||||
debug("main()");
|
debug("main()");
|
||||||
progname = argv[0];
|
progname = argv[0];
|
||||||
|
@@ -15,7 +15,7 @@
|
|||||||
* PERFORMANCE OF THIS SOFTWARE.
|
* PERFORMANCE OF THIS SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* $Id: dig.h,v 1.101 2006/12/07 05:52:16 marka Exp $ */
|
/* $Id: dig.h,v 1.102 2007/02/26 00:27:09 marka Exp $ */
|
||||||
|
|
||||||
#ifndef DIG_H
|
#ifndef DIG_H
|
||||||
#define DIG_H
|
#define DIG_H
|
||||||
@@ -277,6 +277,9 @@ extern isc_boolean_t debugging, memdebugging;
|
|||||||
extern char *progname;
|
extern char *progname;
|
||||||
extern int tries;
|
extern int tries;
|
||||||
extern int fatalexit;
|
extern int fatalexit;
|
||||||
|
#ifdef WITH_IDN
|
||||||
|
extern int idnoptions;
|
||||||
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Routines in dighost.c.
|
* Routines in dighost.c.
|
||||||
|
Reference in New Issue
Block a user