Commit Graph
58 Commits
Author SHA1 Message Date
Ondřej Surý 2f8b28efad Hint the compiler with ISC_UNREACHABLE(); that code after INSIST(0); cannot be reached
(cherry picked from commit 23fff6c569)
(cherry picked from commit 4568669807)
2018-11-08 22:42:52 +07:00
Ondřej Surý 12a266211e Turn (int & flag) into (int & flag) != 0 when implicitly typed to bool
(cherry picked from commit b2b43fd235)
(cherry picked from commit fcd1569e2b)
2018-11-08 22:02:58 +07:00
Ondřej Surý 9d15323e24 Add small tweaks to the code to fix compilation when ISC assertions are disabled
While implementing the new unit testing framework cmocka, it was found that the
BIND 9 code doesn't compile when assertions are disabled or replaced with any
function (such as mock_assert() from cmocka unit testing framework) that's not
directly recognized as assertion by the compiler.

This made the compiler to complain about blocks of code that was recognized as
unreachable before, but now it isn't.

The changes in this commit include:

* assigns default values to couple of local variables,
* moves some return statements around INSIST assertions,
* adds __builtin_unreachable(); annotations after some INSIST assertions,
* fixes one broken assertion (= instead of ==)

(cherry picked from commit fbd2e47f51)
(cherry picked from commit b222783ae9)
2018-11-08 22:00:49 +07: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
Michał KępieńandEvan Hunt 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
Evan Hunt 8b205089b7 update file headers to remove copyright years 2018-03-14 16:40:20 -07:00
Mark Andrews 118203925a conditionally declare strbuf 2018-02-16 15:06:51 +11:00
Mark Andrews 0ae4bf22d2 use %u and preserve unsigned property 2018-02-16 14:45:20 +11:00
Evan Hunt 68d7ff133c [v9_11] backport rpz tweaks
4713.	[cleanup]	Minor revisions to RPZ code to reduce
			differences with the development branch. [RT #46037]
2017-09-26 11:02:59 -07:00
Mark Andrews bfde61d519 4654. [cleanup] Don't use C++ keywords delete, new and namespace.
[RT #45538]

(cherry picked from commit 4bf32aa587)
2017-07-21 12:28:58 +10:00
Evan Hunt 1ca2cf0243 [v9_11] update copyrights that had been missed recently 2017-04-23 17:07:59 -07:00
Mukund Sivaraman 9a8b2b3ab3 Adjust RPZ trigger counts only when the entry being deleted exists (#43386)
(cherry picked from commit f23c10f925)
2017-04-21 17:13:45 +05:30
Mukund Sivaraman 4e9a1ad226 Fix RPZ CIDR tree insertion bug (#43035)
(cherry picked from commit 131307a70e)
2016-08-15 17:07:50 +05:30
Mukund Sivaraman a16f42441a Use GCC builtin for clz in RPZ lookup code (#42818)
(cherry picked from commit 27038b159b)
2016-07-11 10:05:06 +05:30
Mark Andrews 0c27b3fe77 4401. [misc] Change LICENSE to MPL 2.0. 2016-06-27 14:56:38 +10:00
Mukund Sivaraman bf350c9f1a Fix RPZ bugs related to wildcard triggers (#40357) 2015-08-18 19:39:53 +05:30
Evan Hunt 45ad059c4a [master] address VS2015 compiler warning 2015-08-13 14:58:28 -07:00
Witold Krecicki 8d21d93a6b better logging of RPZ changes RT #39670 2015-06-05 12:24:11 +02:00
Evan Hunt 8c9fba44a4 [master] further RPZ fixes
4131.	[bug]		Addressed further problems with reloading RPZ
			zones. [RT #39649]
2015-06-03 18:18:55 -07:00
Mark Andrews 4e056cee66 unsigned constants 2015-05-29 11:26:13 +10:00
Evan Hunt 2bb245e04a [master] typo in comment 2015-05-28 15:04:40 -07:00
Evan Hunt a32b6291aa [master] address regression
4126.	[bug]		Addressed a regression introduced in change #4121.
			[RT #39611]
2015-05-26 19:11:08 -07:00
Evan Hunt cadf8d687b [master] add %z format options to printf
4123.	[port]		Added %z (size_t) format options to the portable
			internal printf/sprintf implementation. [RT #39586]
2015-05-21 14:55:15 -07:00
Mukund Sivaraman 705cea35a8 Fix RPZ radix tree search() for CLIENT-IP triggers (#39481) 2015-05-21 11:10:49 +05:30
Evan Hunt 19365b43e9 [master] ensure rpz summary consistence during AXFR updates
4121.	[bug]		When updating a response-policy zone via AXFR,
			summary data about other policy zones could fall
			out of sync. Ultimately this could trigger an
			assertion failure in rpz.c. [RT #39567]
2015-05-20 15:00:50 -07:00
Evan Hunt 7e6cf6fc6e [master] address a possible policy update race
4120.	[bug]		A bug in RPZ could cause the server to crash if
			policy zones were updated while recursion was
			pending for RPZ processing of an active query.
			[RT #39415]
2015-05-19 15:47:42 -07:00
Mukund Sivaraman b947e1a521 Fix a bug in RPZ that could cause unwanted recursion (#39229)
Conflicts:
	doc/arm/notes.xml
2015-05-07 08:29:36 +05:30
Tinderbox User a70b865da3 update copyright notice / whitespace 2015-02-18 23:45:23 +00:00
Mukund Sivaraman e58eb371a0 RPZ: Don't diff keys out of bounds, found via Valgrind (#38559) 2015-02-18 12:49:56 +05:30
Mark Andrews ac5ed74860 3897. [bug] RPZ summary information was not properly being updated
after a AXFR resulting in changes sometimes being
                        ignored.  [RT #35885]
2014-07-22 10:57:58 +10:00
Evan Hunt 06e0d6bb12 [master] address rpz bugs
3877.	[bug]		Inserting and deleting parent and child nodes
			in response policy zones could trigger an assertion
			failure. [RT #36272]
2014-06-11 20:00:19 -07:00
Evan Hunt e29c2b3903 [master] fix misuses of isc__buffer functions, update comment 2014-03-06 17:26:21 -08:00
Tinderbox User 431a83fb29 update copyright notice 2014-01-09 23:46:35 +00:00
Evan Hunt e851ea8260 [master] replace memcpy() with memmove().
3698.	[cleanup]	Replaced all uses of memcpy() with memmove().
			[RT #35120]
2014-01-08 16:39:05 -08:00
Mark Andrews 975172e3dc remove unused variable 2013-07-16 10:18:54 +10:00
Mark Andrews 6142269dcc remove unused assignment 2013-07-15 13:09:27 +10:00
Evan Hunt 421d4a0647 [master] rpz work
3620.	[func]		Added "rpz-client-ip" policy triggers, enabling
			RPZ responses to be configured on the basis of
			the client IP address; this can be used, for
			example, to blacklist misbehaving recursive
			or stub resolvers. [RT #33605]

3619.	[bug]		Fixed a bug in RPZ with "recursive-only no;"
			[RT #33776]
2013-07-12 14:46:47 -07:00
Evan Hunt 73b3019760 [master] address windows build warnings 2013-03-28 15:37:47 -07:00
Mark Andrews 8e5fce1f9c update copyrights 2013-03-01 10:39:29 +11:00
Mark Andrews fa23a7b8e9 silence locking false positive by puttling lock/unlock in same routine 2013-02-28 14:00:39 +11:00
Mark Andrews 609b8d0817 update copyrights 2013-02-27 12:27:58 +11:00
Tinderbox User f97d56e757 update copyright notice 2013-02-25 23:46:03 +00:00
Evan Hunt dcf426e9b5 [master] corrected typos & unintialized variable 2013-02-25 13:23:42 -08:00
Evan Hunt 94315060c2 [master] RPZ speedup (phase 2, multiple RPZ's)
3495.	[func]		Support multiple response-policy zones, while
			improving RPZ performance. [RT #32476]
2013-02-25 12:46:51 -08:00
Mark Andrews 1559dfd341 silence compiler warning 2012-10-08 14:30:10 +11:00
Evan Hunt 41bbb34bc2 fix coverity issues
3388.	[bug]		Fixed several Coverity warnings. [RT #30996]
2012-10-02 23:44:03 -07:00
Vernon Schryver afaa290bb6 Squashed commit of the following:
commit aea73609ac5d41ed091360e94370798965f28f05
commit eef7f44c57a060b24a426eb8888e16176a0a69b1
commit a88a26d864ad399fa2d40e3b9659b4d26f454ca1
commit 1b90d59568e7e3b65690c6bd075cf4d60b03e454
Merge: 74d8f73 cd02924
commit 74d8f73ed553bb64a305e284905762f7ff0029aa
commit 9a59ef6bbd4befe91e5691e8b85afe1cb7ab0706
commit c63606a53b4f1bb7066b37d3cfe588e9dc21a119
commit 2c392a840c8838455d144ce163bd873bee400c97
commit 0241f53563e6e7bed462a883d98a8931f01e0980
commit 79fe22b5d6f04bdaa3073cf54d41952194e879e1
commit 351b3049625f2edd39729dd85413e961b97d4b3b
commit 7207674fc77c9a10d84c0cb94e36d1c09bb31459
commit 543ad34cf08f901c20b438c9d2f45482cff13d5e
commit fc45b99ce4438627fdcbeb4365695ba0065fa46f
commit c425207f57e0a5157372aa7edbb79b13170563e5
commit ef8c5e23ca284e0ea02f69ce1f356d537c19d93b
commit ba0d4e3aa51efe412cfa1d031651f949442d1802
commit 41c7969c7cb6884b93011f7ace3fd9522efc021e
  and more from CVS

for rt26172

Add
  - optional "recursive-only yes|no" to the response-policy statement
  - optional max-policy-ttl to limit the lies that "recursive-only no"
      can introduce into resolvers' caches
  - test that queries with RD=0 are not rewritten by default
  - performance smoke test

Change encoding of PASSTHRU action to "rpz-passthru".
      (The old encoding is still accepted.)
Fix rt26180  assert botch in zone_findrdataset() in this branch
     as well.

Fix missing signatures on NOERROR results despite RPZ hits
    when there are signatures and the client asks for DNSSEC,
2012-05-31 02:03:34 +00:00
Tinderbox User 5fa46bc916 update copyright notice 2012-03-10 23:45:53 +00:00