Commit graph

1051 commits

Author SHA1 Message Date
Ondřej Surý
c8db386484 Rename variable named 'true' to 't' 2018-09-25 09:48:35 +02:00
Ondřej Surý
302cae89f3 Bail-out early in the for install loops instead of continuing because for masks the error in the middle
(cherry picked from commit 25248eb097)
(cherry picked from commit 3fbceba0a8)
2018-09-03 13:49:35 +02:00
Michał Kępień
bfdeac09af Reset dig exit code after a TCP connection is established
The "exitcode" variable is set to 9 if a TCP connection fails, but is
not reset to 0 if a subsequent TCP connection succeeds.  This causes dig
to return a non-zero exit code if it succeeds in getting a TCP response
after a retry.  Fix by resetting "exitcode" to 0 if connect_done()
receives an event with the "result" field set to ISC_R_SUCCESS.

(cherry picked from commit deb3b85cb2)
2018-08-27 14:30:51 +10:00
Ondřej Surý
1084b40b44 Replace custom isc_boolean_t with C standard bool type
(cherry picked from commit 994e656977)
(cherry picked from commit 884929400c)
2018-08-10 15:20:57 +02:00
Ondřej Surý
aaa76dc654 Replace custom isc_u?intNN_t types with C99 u?intNN_t types
(cherry picked from commit cb6a185c69)
(cherry picked from commit d61e6a3111)
2018-08-10 15:20:57 +02:00
Ondřej Surý
bfc6a25f2d Replace ISC_PRINT_QUADFORMAT with inttypes.h format constants
(cherry picked from commit 64fe6bbaf2)
(cherry picked from commit c863a076ae)
2018-08-10 15:20:57 +02:00
Ondřej Surý
b9aa411750 Revert "Use make automatic variables to install updated manuals"
This reverts commit 77e9d82e1f.
2018-08-06 12:54:23 +02:00
Petr Menšík
77e9d82e1f Use make automatic variables to install updated manuals
Make will choose modified manual from build directory or original from source
directory automagically. Take advantage of install tool feature.
Install all files in single command instead of iterating on each of them.

(cherry picked from commit 88f913ac81)
2018-08-01 16:29:11 +10:00
Michał Kępień
4fdee34a0b Improve error handling in idn_ace_to_locale()
While idn2_to_unicode_8zlz() takes a 'flags' argument, it is ignored and
thus cannot be used to perform IDN checks on the output string.

The bug in libidn2 versions before 2.0.5 was not that a call to
idn2_to_unicode_8zlz() with certain flags set did not cause IDN checks
to be performed.  The bug was that idn2_to_unicode_8zlz() did not check
whether a conversion can be performed between UTF-8 and the current
locale's character encoding.  In other words, with libidn2 version
2.0.5+, if the current locale's character encoding is ASCII, then
idn2_to_unicode_8zlz() will fail when it is passed any Punycode string
which decodes to a non-ASCII string, even if it is a valid IDNA2008
name.

Rework idn_ace_to_locale() so that invalid IDNA2008 names are properly
and consistently detected for all libidn2 versions and locales.

Update the "idna" system test accordingly.  Add checks for processing a
server response containing Punycode which decodes to an invalid IDNA2008
name.  Fix invalid subtest description.

(cherry picked from commit 7fe0f00a3b)
2018-07-13 12:15:03 +02:00
Bill Parker
d7d3383573 check code is non NULL
(cherry picked from commit 408bcf9c07)
(cherry picked from commit 62d047658a)
2018-07-11 12:11:46 -07:00
Evan Hunt
a1690b24bc prepare 9.11.4rc1 2018-06-21 18:54:43 +02:00
Evan Hunt
884e8df7ca copyrights 2018-05-23 09:55:41 -07:00
Paul Hoffman
d742db122e add -t type### description to the dig man page
(cherry picked from commit 2d957c6b9f)
2018-04-27 00:00:03 -07:00
Evan Hunt
9d99bf0f4b change "key" to "tsigkey" to silence "short global name" warning
(cherry picked from commit 0cc7aa250e)
2018-04-22 12:58:24 -07:00
Mukund Sivaraman
4f35a81004 Remove bogus comparison
(cherry picked from commit 89cf503880)
2018-04-20 14:52:43 -07:00
Michał Kępień
ecea678dac Use dns_fixedname_initname() where possible
Replace dns_fixedname_init() calls followed by dns_fixedname_name()
calls with calls to dns_fixedname_initname() where it is possible
without affecting current behavior and/or performance.

This patch was mostly prepared using Coccinelle and the following
semantic patch:

    @@
    expression fixedname, name;
    @@
    -	dns_fixedname_init(&fixedname);
    	...
    -	name = dns_fixedname_name(&fixedname);
    +	name = dns_fixedname_initname(&fixedname);

The resulting set of changes was then manually reviewed to exclude false
positives and apply minor tweaks.

It is likely that more occurrences of this pattern can be refactored in
an identical way.  This commit only takes care of the low-hanging fruit.

(cherry picked from commit 4df4a8e731)
(cherry picked from commit 0041aeb751)
2018-04-10 13:26:23 -07:00
Ondřej Surý
db7231e4ab Don't use the IDN traslated name if no conversion took a place
(cherry picked from commit 08f66d8509)
2018-03-22 13:54:49 +00:00
Ondřej Surý
c085286822 Simplify the libidn2 configure checks
(cherry picked from commit 76c05a71fc)
2018-03-17 13:36:33 +00:00
Petr Menšík
82914d0a41 Sanitize IDN initialization
Signed-off-by: Petr Menšík <pemensik@redhat.com>
(cherry picked from commit 29b94bbb04)
2018-03-17 13:35:59 +00:00
Petr Menšík
9117bbe9a5 Remove support for libidn (IDN 2003)
Signed-off-by: Petr Menšík <pemensik@redhat.com>
(cherry picked from commit 8254cf69d3)
2018-03-17 13:35:58 +00:00
Petr Menšík
2b031d1759 Remove conversion from locale to utf8 from public API
Emit fatal failures on locale to ACE encoding

Separate idnout support, disable it for libidn2 < 2.0

Add custom path to libidn. Leave default path for multilib support.

Allow turning off IDN input processing by dig option

Improve documentation, fix support in host

Fix configure changes to adjust help text

Use strlcpy with size guard

Improve IDN variants choosing. Fix idn2 function name.

Remove immediate idn_locale_to_ace and idn_ace_to_locale.

Signed-off-by: Petr Menšík <pemensik@redhat.com>
(cherry picked from commit 94757c1545)
2018-03-17 13:35:23 +00:00
Tomas Hozza
56b66f01c6 Add support for libidn2
Added two new configure options:
--with-libidn2 - to enable IDN using GNU libidn2

idnkit, libidn and libidn2 support can not be used at the same time.

NOTE: libidn2 does not support punycode back to Unicode
characters, so support for this is missing.

Signed-off-by: Tomas Hozza <thozza@redhat.com>

Removed iconv, convert directly from locale to ACE

Fix libidn2 and idnkit origin appending

Make IDN options in help less different

Signed-off-by: Petr Menšík <pemensik@redhat.com>
(cherry picked from commit 505f673451)
2018-03-17 13:33:42 +00:00
Tomas Hozza
edab22119f Add support for GNU libidn
Added new configure option:
--with-libidn - to enable IDN using GNU libidn

Renamed configure option:
--with-idn to --with-idnkit to make the option usage more clear

idnkit and libidn support can not be used at the same time.

Signed-off-by: Tomas Hozza <thozza@redhat.com>
(cherry picked from commit 2320443f63)
2018-03-17 13:32:54 +00:00
Evan Hunt
8b205089b7 update file headers to remove copyright years 2018-03-14 16:40:20 -07:00
Evan Hunt
442c1530a3 final cleanup
- update Kyuafiles to match Atffiles
- copyrights
- CHANGES note

(cherry picked from commit 86e00cbb71)
(cherry picked from commit 80834b5b90)
2018-03-09 16:17:56 -08:00
Mark Andrews
e51c5d2e74 reorder test to silence cppcheck 2018-02-16 14:58:18 +11:00
Mark Andrews
e950558247 signed vs unsigned fixes 2018-02-16 14:18:04 +11:00
Tinderbox User
c71b045cdb regen v9_11 2018-02-09 01:24:58 +00:00
Tinderbox User
83545641dd update copyright notice / whitespace 2018-02-08 23:48:55 +00:00
Tony Finch
002f137337 Document dig -u in manpage (#47150)
(cherry picked from commit cc82b5aa3c)
(cherry picked from commit 30c86d5649)
2018-02-09 00:53:07 +05:30
Ray Bellis
3824b9f6e2 fix warning under Xcode for iOS
(cherry picked from commit d92d70ac5d)
2017-11-27 10:17:43 +00:00
Mark Andrews
ce37f22724 more DNS_NAME_INITABSOLUTE cases
(cherry picked from commit e2f9dcfd86)
2017-11-14 11:52:45 +11:00
Mark Andrews
14d8a14477 4816. [bug] Don't use a common array for storing EDNS options
in DiG as it could fill up. [RT #45611]

(cherry picked from commit 3def40b01b)
2017-11-13 16:28:43 +11:00
Michał Kępień
b1ce9b3d54 [v9_11] Prevent dig INSIST failures and hangs in some failure modes
4756.	[bug]		Interrupting dig could lead to an INSIST failure after
			certain errors were encountered while querying a host
			whose name resolved to more than one address.  Change
			4537 increased the odds of triggering this issue by
			causing dig to hang indefinitely when certain error
			paths were evaluated.  dig now also retries TCP queries
			(once) if the server gracefully closes the connection
			before sending a response. [RT #42832, #45159]

(cherry picked from commit 14afc8425b)
2017-10-05 09:45:34 +02:00
Mark Andrews
834b5e1e7e add L for wide
(cherry picked from commit 055d310e54)
2017-10-04 20:45:00 +11:00
Mark Andrews
d72952cf25 4739. [cleanup] Address clang static analysis warnings. [RT #45952]
(cherry picked from commit f9f3f20d2d)
2017-09-27 10:58:44 +10:00
Mark Andrews
aae171c542 4738. [port] win32: strftime mishandles %Z. [RT #46039]
(cherry picked from commit 744061a03b)
2017-09-26 23:33:26 +10:00
Mark Andrews
5a93d3be4e more str{n}{cat,cpy} corrections rt45981_stage2
(cherry picked from commit cb629cdeda)
2017-09-14 18:33:02 +10:00
Evan Hunt
7cd594b842 [master] cleanup strcat/strcpy
4722.	[cleanup]	Clean up uses of strcpy() and strcat() in favor of
			strlcpy() and strlcat() for safety. [RT #45981]

(cherry picked from commit 114f95089c)
2017-09-13 00:17:16 -07:00
Mark Andrews
3f932812d7 fix first if test in setoption
(cherry picked from commit abda73147d)
2017-09-13 11:58:52 +10:00
Mark Andrews
c76e8412f4 4719. [bug] Address PVS static analyzer warnings. [RT #45946]
(cherry picked from commit 34130ee25a)
2017-09-13 09:51:39 +10:00
Evan Hunt
e5f5675b1d [v9_11] dig: retain domain when retrying with tcp
4712.	[bug]		"dig +domain" and "dig +search" didn't retain the
			search domain when retrying with TCP. [RT #45547]

(cherry picked from commit 8e014c45ae)
2017-09-11 10:10:38 -07:00
Tinderbox User
9700e6d72c regen v9_11 2017-08-30 01:21:44 +00:00
Michał Kępień
b7a823a402 [v9_11] Ensure consistent handling of -4/-6 command line options in all tools
4690.	[bug]		Command line options -4/-6 were handled inconsistently
			between tools. [RT #45632]

(cherry picked from commit d6814700de)
2017-08-29 10:22:10 +02:00
Mark Andrews
a64daf673d 4688. [protocol] Check and display EDNS KEY TAG options (RFC 8145) in
messages. [RT #44804]

(cherry picked from commit 07741d43c8)
2017-08-25 08:47:19 +10:00
Tinderbox User
3d09597bc1 update copyright notice / whitespace 2017-08-11 23:48:33 +00:00
Evan Hunt
2b0060b8ff [v9_11] split up main and add callback function pointers to support iOS
4677.	[port]		Split up the main function in dig to better support
			the iOS app version. [RT #45508]
2017-08-10 22:24:44 -07:00
Mark Andrews
bf216589c1 4675. [cleanup] Don't use C++ keyword class. [RT #45726] 2017-08-10 08:44:23 +10:00
Evan Hunt
7dbeb5e7f0 [v9_11] silence gcc 7 warnings
4673.	[port]		Silence GCC 7 warnings. [RT #45592]

(cherry picked from commit cdacec1dcb)
2017-08-09 00:24:16 -07:00
Mark Andrews
4162d3b36d 4668. [bug] Use localtime_r and gmtime_r for thread safety.
[RT #45664]

(cherry picked from commit 2019cf29e2)
2017-08-03 08:45:37 +10:00