Commit Graph

6876 Commits

Author SHA1 Message Date
Ondřej Surý
8675a1ac53 Add CHANGES and release note for [GL #3707]
(cherry picked from commit 116d1b94a9)
2022-11-30 11:50:19 +01:00
Ondřej Surý
469579e71e Add CHANGES and release note for [GL #3693]
(cherry picked from commit 32e0df2a13)
2022-11-29 10:11:36 +01:00
Tony Finch
303cdf8e27 Deduplicate time unit conversion factors
The various factors like NS_PER_MS are now defined in a single place
and the names are no longer inconsistent. I chose the _PER_SEC names
rather than _PER_S because it is slightly more clear in isolation;
but the smaller units are always NS, US, and MS.

(cherry picked from commit 00307fe318)
2022-11-25 14:16:09 +00:00
Mark Andrews
f19e688b73 Add CHANGES note for [GL #3638]
(cherry picked from commit de3bd0d3d6)
2022-11-25 09:57:30 +11:00
Matthijs Mekking
2c4e680142 Add CHANGES and release note for GL #3667
Announce deprecation of 'auto-dnssec'.

(cherry picked from commit fde1d89d03)
2022-11-23 11:21:39 +01:00
Ondřej Surý
8145183c73 Add CHANGES and release note [GL #3676]
(cherry picked from commit 65156afb8c)
2022-11-21 15:57:40 +01:00
Tony Finch
4e14f91380 Simplify and speed up DNS name decompression
The aim is to do less work per byte:

  * Check the bounds for each label, instead of checking the
    bounds for each character.

  * Instead of copying one character at a time from the wire to
    the name, copy entire runs of sequential labels using memmove()
    to make the most of its fast loop.

  * To remember where the name ends, we only need to set the end
    marker when we see a compression pointer or when we reach the
    root label. There is no need to check if we jumped back and
    conditionally update the counter for every character.

  * To parse a compression pointer, we no longer take a diversion
    around the outer loop in between reading the upper byte of the
    pointer and the lower byte.

  * The parser state machine is now implicit in the instruction
    pointer, instead of being an explicit variable. Similarly,
    when we reach the root label we break directly out of the loop
    instead of setting a second state machine variable.

  * DNS_NAME_DOWNCASE is never used with dns_name_fromwire() so
    that option is no longer supported.

I have removed this comment which dated from January 1999 when
dns_name_fromwire() was first introduced:

   /*
    * Note:  The following code is not optimized for speed, but
    * rather for correctness.  Speed will be addressed in the future.
    */

No functional change, apart from removing support for the unused
DNS_NAME_DOWNCASE option. The new code is about 2x faster than the
old code: best case 11x faster, worst case 1.4x faster.
2022-11-21 13:43:01 +00:00
Mark Andrews
55d817b0b6 Add CHANGES note for [GL #3607]
(cherry picked from commit 8a2149f502)
2022-11-17 13:05:12 +11:00
Mark Andrews
27250ec8d2 named-checkzone -z ignored the check-wildcard option
Lookup and set the wildcard option according to the configuration
settings.  The default is on as per bin/named/config.c.

(cherry picked from commit dfc5c1e018)
2022-11-17 10:54:36 +11:00
Michal Nowak
f0fc13e408 Merge tag 'v9_18_9' into v9_18
BIND 9.18.9
2022-11-16 15:49:55 +01:00
Mark Andrews
9e1f36165c Add CHANGES note for [GL #3468]
(cherry picked from commit a4383c906c)
2022-11-11 15:58:37 +00:00
Ondřej Surý
b1d21c0ece Add CHANGES and release note for [GL #3670]
(cherry picked from commit c65666dc97)
2022-11-11 09:25:00 +01:00
Michał Kępień
6b25fe9c13 Add a CHANGES marker 2022-11-07 23:16:44 +01:00
Matthijs Mekking
e4467aa841 Add release note and change for GL #3591
Breaking news.

(cherry picked from commit 1cf2f6fe68)
2022-11-03 11:51:22 +01:00
Aram Sargsyan
ac25292556 Add CHANGES and release notes for [GL #2895]
(cherry picked from commit 3bf4bc7336)
2022-11-01 10:49:58 +00:00
Evan Hunt
67f60e5ae4 CHANGES for [GL #3617] 2022-11-01 00:23:05 -07:00
Ondřej Surý
0cc485faf1 Add CHANGES note for [GL #3634]
(cherry picked from commit fdf1e226fd)
2022-10-31 16:15:32 +01:00
Matthijs Mekking
2655ee4902 Add release note and change entry for [GL #3627]
(cherry picked from commit 5585256bf6)
2022-10-27 12:18:27 +02:00
Aram Sargsyan
b7149536ee Add a CHANGES note for [GL #3603]
(cherry picked from commit 041ffac0d7)
2022-10-21 10:22:37 +00:00
Aram Sargsyan
192373a26e Add CHANGES and release notes for [GL #3598]
(cherry picked from commit 6f50972e5f)
2022-10-21 09:04:51 +00:00
Ondřej Surý
da1e7a7ba2 Replace the statschannel truncated tests with two new tests
Now that the artificial limit on the recv buffer has been removed, the
current system test always fails because it tests if the truncation has
happened.

Add test that sending more than 10 headers makes the connection to
closed; and add test that sending huge HTTP request makes the connection
to be closed.

(cherry picked from commit cad2706cce)
2022-10-20 16:13:10 +02:00
Ondřej Surý
067502a16e Rewrite isc_httpd using picohttpparser and isc_url_parse
Rewrite the isc_httpd to be more robust.

1. Replace the hand-crafted HTTP request parser with picohttpparser for
   parsing the whole HTTP/1.0 and HTTP/1.1 requests.  Limit the number
   of allowed headers to 10 (arbitrary number).

2. Replace the hand-crafted URL parser with isc_url_parse for parsing
   the URL from the HTTP request.

3. Increase the receive buffer to match the isc_netmgr buffers, so we
   can at least receive two full isc_nm_read()s.  This makes the
   truncation processing much simpler.

4. Process the received buffer from single isc_nm_read() in a single
   loop and schedule the sends to be independent of each other.

The first two changes makes the code simpler and rely on already
existing libraries that we already had (isc_url based on nodejs) or are
used elsewhere (picohttpparser).

The second two changes remove the artificial "truncation" limit on
parsing multiple request.  Now only a request that has too many
headers (currently 10) or is too big (so, the receive buffer fills up
without reaching end of the request) will end the connection.

We can be benevolent here with the limites, because the statschannel
channel is by definition private and access must be allowed only to
administrators of the server.  There are no timers, no rate-limiting, no
upper limit on the number of requests that can be served, etc.

(cherry picked from commit beecde7120)
2022-10-20 16:10:21 +02:00
Artem Boldariev
acb431b5c3 Modify CHANGES [GL #3563]
Mention that a startup problem on manycore Solaris systems is fixed.

(cherry picked from commit 03ee132e28)
2022-10-20 15:15:51 +03:00
Michal Nowak
d11843bdfc Merge tag 'v9_18_8' into v9_18
BIND 9.18.8
2022-10-20 11:47:43 +02:00
Evan Hunt
777aa045fc CHANGES for [GL #3247]
(cherry picked from commit 3676f6394b)
2022-10-19 13:12:52 -07:00
Aram Sargsyan
5b1ef41897 Add a CHANGES note for [GL #3584] 2022-10-18 08:54:11 +00:00
Tony Finch
6adb0c32ea CHANGES for [GL !6914]
[cleanup]	Less ceremonial UNEXPECTED_ERROR() and FATAL_ERROR()
		reporting macros. [GL !6914]

(cherry picked from commit 2ffb582d2c)
2022-10-17 16:08:28 +01:00
Aram Sargsyan
9a318fbc1e Add a CHANGES note for [GL !6880]
(cherry picked from commit 190aab84d7)
2022-10-17 08:53:49 +00:00
Michał Kępień
9419f00dc1 Add a CHANGES marker 2022-10-10 09:43:12 +02:00
Mark Andrews
f7c2c07051 Add CHANGES note for [GL #3569]
(cherry picked from commit 1849a8a526)
2022-10-05 19:01:41 +11:00
Mark Andrews
9e8ebbbd23 Add CHANGES note for [GL #3544]
(cherry picked from commit 335b397e15)
2022-10-04 15:33:00 +11:00
Mark Andrews
573eeea2ee Add CHANGES note for [GL #3551]
(cherry picked from commit 1e3680193a)
2022-09-28 09:49:27 +10:00
Mark Andrews
2f9a504998 Add CHANGES entry for [GL #3541]
(cherry picked from commit e876de442e)
2022-09-28 01:19:50 +10:00
Mark Andrews
68336b367f Add CHANGES note for [GL #3557]
(cherry picked from commit 0774dacf2d)
2022-09-27 22:19:37 +10:00
Mark Andrews
431a2159e5 Add CHANGES notes for [GL !5923]
(cherry picked from commit 6237273205)
2022-09-26 16:53:06 +02:00
Mark Andrews
e24c1f54ff Add a CHANGES note for [GL !6711]
(cherry picked from commit 54916b4e45)
2022-09-23 14:07:51 +10:00
Michał Kępień
0a53f61727 Merge tag 'v9_18_7' into v9_18
BIND 9.18.7
2022-09-21 13:13:30 +02:00
Evan Hunt
16fbe33478 CHANGES for [GL #3522]
(cherry picked from commit fdc35928eb)
2022-09-15 11:34:33 -07:00
Ondřej Surý
c9c4de0626 Add CHANGES and release note for [GL #3542]
(cherry picked from commit e29563173b)
2022-09-15 10:58:28 +02:00
Petr Špaček
d1d1bc67bd CHANGES note for [GL !6669]
(cherry picked from commit 67c3a3439b)
2022-09-15 09:41:31 +02:00
Evan Hunt
90117edc49 CHANGES for [GL #3399] 2022-09-14 09:37:25 -07:00
Tony Finch
0470a4f521 Ensure that named_server_t is properly initialized
There was a ubsan error reporting an invalid value for interface_auto
(a boolean value cannot be 190) because it was not initialized. To
avoid this problem happening again, ensure the whole of the server
structure is initialized to zero before setting the (relatively few)
non-zero elements.
2022-09-12 11:26:33 +01:00
Michał Kępień
3d55ae3d2f Add a CHANGES marker 2022-09-08 14:39:47 +02:00
Mark Andrews
79655301ab Add CHANGES note for [GL #3487]
(cherry picked from commit b3277f2e10)
2022-09-08 11:55:29 +02:00
Matthijs Mekking
55946cebb6 Add CHANGES entry for 3517
(cherry picked from commit e394902965)
2022-09-08 11:50:44 +02:00
Aram Sargsyan
919e2d195f Add CHANGES note for [GL #3491]
(cherry picked from commit 5b5f2353d4)
2022-09-08 11:46:20 +02:00
Evan Hunt
2312c45ff2 CHANGES and release notes for CVE-2022-2881 [GL #3493]
(cherry picked from commit 430ee6c427)
2022-09-08 11:40:18 +02:00
Michał Kępień
97a9f586c4 Add CHANGES entry for GL #3394
(cherry picked from commit e802beedfc)
2022-09-08 11:11:30 +02:00
Aram Sargsyan
bcf0f951e0 Add CHANGES and release notes for [GL #3459]
(cherry picked from commit 0b0cf12741)
2022-09-08 09:36:50 +02:00
Aram Sargsyan
93c39696f4 Add CHANGES note for [GL #3518]
(cherry picked from commit 87920661b1)
2022-09-06 09:21:02 +00:00