]> git.ipfire.org Git - thirdparty/knot-resolver.git/log
thirdparty/knot-resolver.git
9 years agoFixes in configuration part of the cookie module.
Karel Slany [Wed, 13 Jul 2016 11:38:57 +0000 (13:38 +0200)] 
Fixes in configuration part of the cookie module.

9 years agoFixes in cookie module documentation file.
Karel Slany [Wed, 13 Jul 2016 11:09:42 +0000 (13:09 +0200)] 
Fixes in cookie module documentation file.

9 years agoRemoved rsource entry from struct kr_query.
Karel Slany [Wed, 13 Jul 2016 11:02:01 +0000 (13:02 +0200)] 
Removed rsource entry from struct kr_query.

9 years agoRestructured badly placed conditional compilation.
Karel Slany [Wed, 13 Jul 2016 10:16:08 +0000 (12:16 +0200)] 
Restructured badly placed conditional compilation.

9 years agoChanges induced by recent rebase.
Karel Slany [Wed, 13 Jul 2016 10:10:22 +0000 (12:10 +0200)] 
Changes induced by recent rebase.

9 years agoRemoved conditional compilation around QUERY_BADCOOKIE_AGAIN handling.
Karel Slany [Wed, 13 Jul 2016 09:46:25 +0000 (11:46 +0200)] 
Removed conditional compilation around QUERY_BADCOOKIE_AGAIN handling.

9 years agoUsing wire_write_u32() intead of htonl();
Karel Slany [Wed, 13 Jul 2016 09:34:59 +0000 (11:34 +0200)] 
Using wire_write_u32() intead of htonl();

9 years agoFixed issue related to nonce value computation.
Karel Slany [Wed, 13 Jul 2016 09:23:01 +0000 (11:23 +0200)] 
Fixed issue related to nonce value computation.

9 years agoAdded check for cookie OPT size before storing into LRU cache.
Karel Slany [Wed, 13 Jul 2016 09:11:03 +0000 (11:11 +0200)] 
Added check for cookie OPT size before storing into LRU cache.

9 years agoFixed error.
Karel Slany [Wed, 13 Jul 2016 09:02:20 +0000 (11:02 +0200)] 
Fixed error.

9 years agoRenamed function with confusing name.
Karel Slany [Wed, 13 Jul 2016 09:00:27 +0000 (11:00 +0200)] 
Renamed function with confusing name.

9 years agoAdded a commentary.
Karel Slany [Wed, 13 Jul 2016 08:50:11 +0000 (10:50 +0200)] 
Added a commentary.

9 years agoFixed misleading condition expression.
Karel Slany [Wed, 13 Jul 2016 08:36:50 +0000 (10:36 +0200)] 
Fixed misleading condition expression.

9 years agoRemoved duplicated assertion.
Karel Slany [Wed, 13 Jul 2016 08:24:27 +0000 (10:24 +0200)] 
Removed duplicated assertion.

9 years agoRemoved dead code.
Karel Slany [Wed, 13 Jul 2016 08:22:44 +0000 (10:22 +0200)] 
Removed dead code.

9 years agoMerged lib/cookies/control.c into modules/cookies/cookiectl.c .
Karel Slany [Wed, 13 Jul 2016 08:01:43 +0000 (10:01 +0200)] 
Merged lib/cookies/control.c into modules/cookies/cookiectl.c .

9 years agoClarified some commentaries.
Karel Slany [Wed, 13 Jul 2016 07:42:11 +0000 (09:42 +0200)] 
Clarified some commentaries.

9 years agoAdded preliminary test for server address presence when adding cookies.
Karel Slany [Wed, 13 Jul 2016 07:20:31 +0000 (09:20 +0200)] 
Added preliminary test for server address presence when adding cookies.

9 years agoRemoved cookie-related preprocessor conditionals from resolver structures.
Karel Slany [Wed, 13 Jul 2016 06:57:41 +0000 (08:57 +0200)] 
Removed cookie-related preprocessor conditionals from resolver structures.

9 years agoFixed and deleted some commentaries.
Karel Slany [Mon, 11 Jul 2016 13:39:23 +0000 (15:39 +0200)] 
Fixed and deleted some commentaries.

9 years agoFORMERR response when querying for cookie with malformed cookie request.
Karel Slany [Mon, 11 Jul 2016 13:30:33 +0000 (15:30 +0200)] 
FORMERR response when querying for cookie with malformed cookie request.

9 years agoRenamed cookie cache source files because of collisions in documentation.
Karel Slany [Fri, 8 Jul 2016 11:34:30 +0000 (13:34 +0200)] 
Renamed cookie cache source files because of collisions in documentation.

9 years agoUpdated documentation of cookies module.
Karel Slany [Fri, 8 Jul 2016 11:26:31 +0000 (13:26 +0200)] 
Updated documentation of cookies module.

9 years agoMerged the cookiectl module and cookiemonster layer into the cookies module.
Karel Slany [Fri, 8 Jul 2016 10:54:02 +0000 (12:54 +0200)] 
Merged the cookiectl module and cookiemonster layer into the cookies module.

9 years agoAvoided unnecessary memory copying.
Karel Slany [Thu, 7 Jul 2016 13:58:56 +0000 (15:58 +0200)] 
Avoided unnecessary memory copying.

9 years agoFixed error.
Karel Slany [Thu, 7 Jul 2016 13:49:29 +0000 (15:49 +0200)] 
Fixed error.

9 years agoRemoved cookie cache TTL from configuration.
Karel Slany [Thu, 7 Jul 2016 13:42:07 +0000 (15:42 +0200)] 
Removed cookie cache TTL from configuration.

9 years agoUsing LRU cache to store DNS cookies.
Karel Slany [Thu, 7 Jul 2016 13:34:34 +0000 (15:34 +0200)] 
Using LRU cache to store DNS cookies.

9 years agoRemoved global cookie control structure.
Karel Slany [Mon, 4 Jul 2016 11:53:35 +0000 (13:53 +0200)] 
Removed global cookie control structure.

The control structure is part of the resolver context.

9 years agoMinor fixes.
Karel Slany [Fri, 1 Jul 2016 11:14:37 +0000 (13:14 +0200)] 
Minor fixes.

9 years agoReduced amount of cookie control structures.
Karel Slany [Fri, 1 Jul 2016 10:23:18 +0000 (12:23 +0200)] 
Reduced amount of cookie control structures.

9 years agoUsing libknot lookup table to store and access cookie algorithms.
Karel Slany [Fri, 1 Jul 2016 08:58:12 +0000 (10:58 +0200)] 
Using libknot lookup table to store and access cookie algorithms.

9 years agoRemoved some copy-and-paste code.
Karel Slany [Wed, 29 Jun 2016 10:54:05 +0000 (12:54 +0200)] 
Removed some copy-and-paste code.

9 years agolib/resolve: always store EDNS data into request if present
Karel Slany [Wed, 29 Jun 2016 08:59:53 +0000 (10:59 +0200)] 
lib/resolve: always store EDNS data into request if present

9 years agoListed cookiectl rst file in module documentation.
Karel Slany [Wed, 29 Jun 2016 07:57:44 +0000 (09:57 +0200)] 
Listed cookiectl rst file in module documentation.

9 years agoBasic cookiectl module documentation.
Karel Slany [Mon, 27 Jun 2016 13:48:18 +0000 (15:48 +0200)] 
Basic cookiectl module documentation.

9 years agoDocumentation fixes.
Karel Slany [Mon, 27 Jun 2016 13:04:56 +0000 (15:04 +0200)] 
Documentation fixes.

9 years agoHMAC-SHA256-64 uses libnettle.
Karel Slany [Fri, 24 Jun 2016 12:13:29 +0000 (14:13 +0200)] 
HMAC-SHA256-64 uses libnettle.

9 years agoAdded header file that has been removed from libknot.
Karel Slany [Fri, 24 Jun 2016 10:04:47 +0000 (12:04 +0200)] 
Added header file that has been removed from libknot.

9 years agoModification to meet latest libknot changes.
Karel Slany [Fri, 24 Jun 2016 09:40:45 +0000 (11:40 +0200)] 
Modification to meet latest libknot changes.

9 years agoCookie algorithms based on FNV-64 have been moved into libknot.
Karel Slany [Wed, 22 Jun 2016 09:20:12 +0000 (11:20 +0200)] 
Cookie algorithms based on FNV-64 have been moved into libknot.

9 years agoUsing new cookies API from libknot.
Karel Slany [Tue, 21 Jun 2016 15:37:54 +0000 (17:37 +0200)] 
Using new cookies API from libknot.

9 years agoResolver responds to server cookie queries.
Karel Slany [Mon, 20 Jun 2016 16:32:26 +0000 (18:32 +0200)] 
Resolver responds to server cookie queries.

9 years agoReflecting latest changes in cookie handling in libknot API.
Karel Slany [Fri, 17 Jun 2016 14:09:57 +0000 (16:09 +0200)] 
Reflecting latest changes in cookie handling in libknot API.

9 years agoExperimental code for adding cookies into responses.
Karel Slany [Thu, 16 Jun 2016 12:27:39 +0000 (14:27 +0200)] 
Experimental code for adding cookies into responses.

9 years agoGenerating FORMERR and BADCOOKIE response codes when processing cookies.
Karel Slany [Wed, 15 Jun 2016 15:26:26 +0000 (17:26 +0200)] 
Generating FORMERR and BADCOOKIE response codes when processing cookies.

9 years agoServer cookie algorithm configuration via interactive interface.
Karel Slany [Wed, 15 Jun 2016 07:26:57 +0000 (09:26 +0200)] 
Server cookie algorithm configuration via interactive interface.

9 years agoChecking cookies in inbound requests.
Karel Slany [Tue, 14 Jun 2016 15:07:42 +0000 (17:07 +0200)] 
Checking cookies in inbound requests.

9 years agoStarted working on 'server' cookie code.
Karel Slany [Mon, 13 Jun 2016 17:05:15 +0000 (19:05 +0200)] 
Started working on 'server' cookie code.

9 years agoMoved cookie hash functions into separate unit.
Karel Slany [Mon, 13 Jun 2016 12:29:50 +0000 (14:29 +0200)] 
Moved cookie hash functions into separate unit.

9 years agoUsing modified cache interface without transactions.
Karel Slany [Wed, 8 Jun 2016 15:03:14 +0000 (17:03 +0200)] 
Using modified cache interface without transactions.

9 years agoPresence of libcrypto controls compilation od DNS cookies functionality.
Karel Slany [Mon, 6 Jun 2016 14:12:28 +0000 (16:12 +0200)] 
Presence of libcrypto controls compilation od DNS cookies functionality.

9 years agoClient cookie hash function can be specified using interactive interface.
Karel Slany [Mon, 6 Jun 2016 13:32:54 +0000 (15:32 +0200)] 
Client cookie hash function can be specified using interactive interface.

9 years agoAdded HMAC-SHA256-64 hash function.
Karel Slany [Mon, 6 Jun 2016 12:29:56 +0000 (14:29 +0200)] 
Added HMAC-SHA256-64 hash function.

9 years agoConditional compilation of DNS cookie code.
Karel Slany [Fri, 3 Jun 2016 12:30:19 +0000 (14:30 +0200)] 
Conditional compilation of DNS cookie code.

Use ENABLE_cookies=yes variable to compile functionality.

9 years agoCookies cache TTL can be configured.
Karel Slany [Thu, 2 Jun 2016 14:37:55 +0000 (16:37 +0200)] 
Cookies cache TTL can be configured.

9 years agoRenamed cookie related modules. Some code refactoring.
Karel Slany [Thu, 2 Jun 2016 12:54:59 +0000 (14:54 +0200)] 
Renamed cookie related modules. Some code refactoring.

9 years agoUsing common cache for cookies.
Karel Slany [Tue, 31 May 2016 15:02:55 +0000 (17:02 +0200)] 
Using common cache for cookies.

Cookies are not stored in separate cache.

9 years agoAdded missing test whether new query was created in cookie layer.
Karel Slany [Tue, 31 May 2016 14:25:16 +0000 (16:25 +0200)] 
Added missing test whether new query was created in cookie layer.

9 years agoQuerying again when BADCOOKIE received.
Karel Slany [Tue, 31 May 2016 13:02:11 +0000 (15:02 +0200)] 
Querying again when BADCOOKIE received.

The cookies layer injects a new query into the plan when a DADCOOKIE
response is detected. After failing the second attempt a TCP fallback is
signalised.

9 years agoMoved cookies before iterate layer.
Karel Slany [Tue, 31 May 2016 12:51:41 +0000 (14:51 +0200)] 
Moved cookies before iterate layer.

9 years agoFall back to TCP when receiving a valid BADCOOKIE response.
Karel Slany [Fri, 27 May 2016 13:38:21 +0000 (15:38 +0200)] 
Fall back to TCP when receiving a valid BADCOOKIE response.

9 years agoCookie cache uses TTL to limit the cookie life span.
Karel Slany [Fri, 27 May 2016 13:17:01 +0000 (15:17 +0200)] 
Cookie cache uses TTL to limit the cookie life span.

9 years agoCookies can be removed from cache.
Karel Slany [Fri, 27 May 2016 12:52:11 +0000 (14:52 +0200)] 
Cookies can be removed from cache.

9 years agoAdded support for TTL in cookies cache.
Karel Slany [Fri, 27 May 2016 10:26:50 +0000 (12:26 +0200)] 
Added support for TTL in cookies cache.

9 years agoChecking reply source address against client cookie.
Karel Slany [Thu, 26 May 2016 19:29:26 +0000 (21:29 +0200)] 
Checking reply source address against client cookie.

9 years agoTurned some function parameters contant.
Karel Slany [Thu, 26 May 2016 19:21:05 +0000 (21:21 +0200)] 
Turned some function parameters contant.

9 years agoFixed inserting response source into query context.
Karel Slany [Thu, 26 May 2016 19:18:29 +0000 (21:18 +0200)] 
Fixed inserting response source into query context.

The source address was always put into a subsequent query.

9 years agoResponse origin address is stored in the query context.
Karel Slany [Wed, 25 May 2016 11:16:49 +0000 (13:16 +0200)] 
Response origin address is stored in the query context.

This simplifies the response source identification on the cookie module.

9 years agoResolution fails when receiving invalid cookies.
Karel Slany [Wed, 25 May 2016 11:14:30 +0000 (13:14 +0200)] 
Resolution fails when receiving invalid cookies.

According to section 5.3 of the cookie draft the resolution should fail
if invalid cookie received.

9 years agoSupport for basic cookies configuration.
Karel Slany [Tue, 24 May 2016 14:43:10 +0000 (16:43 +0200)] 
Support for basic cookies configuration.

9 years agoAdded basic support for client secret rotation.
Karel Slany [Tue, 24 May 2016 14:41:13 +0000 (16:41 +0200)] 
Added basic support for client secret rotation.

9 years agoForce fall-back to TCP when bad cookie received.
Karel Slany [Tue, 24 May 2016 10:06:13 +0000 (12:06 +0200)] 
Force fall-back to TCP when bad cookie received.

9 years agoSend cookies only in queries.
Karel Slany [Tue, 24 May 2016 09:24:18 +0000 (11:24 +0200)] 
Send cookies only in queries.

9 years agoUse only those cookies that match the current client secret.
Karel Slany [Mon, 23 May 2016 13:38:40 +0000 (15:38 +0200)] 
Use only those cookies that match the current client secret.

9 years agoSupport for cookie options caching.
Karel Slany [Mon, 23 May 2016 12:44:28 +0000 (14:44 +0200)] 
Support for cookie options caching.

9 years agoChecking received cookies against addresses in nsrep.
Karel Slany [Fri, 20 May 2016 19:34:36 +0000 (21:34 +0200)] 
Checking received cookies against addresses in nsrep.

9 years agoAdded FNV-64 code.
Karel Slany [Fri, 20 May 2016 12:29:03 +0000 (14:29 +0200)] 
Added FNV-64 code.

9 years agoPreparations for using nsrep mechanism to guess response origin.
Karel Slany [Thu, 19 May 2016 14:55:41 +0000 (16:55 +0200)] 
Preparations for using nsrep mechanism to guess response origin.

9 years agoTemporarily fixed packet corruption when adding cookie data.
Karel Slany [Thu, 19 May 2016 13:02:26 +0000 (15:02 +0200)] 
Temporarily fixed packet corruption when adding cookie data.

9 years agoAdded code trying to obtain client IP address from libuv UDP handle.
Karel Slany [Wed, 11 May 2016 08:05:25 +0000 (10:05 +0200)] 
Added code trying to obtain client IP address from libuv UDP handle.

9 years agoUsing actual remote server address to re-generate cookie.
Karel Slany [Tue, 10 May 2016 14:49:37 +0000 (16:49 +0200)] 
Using actual remote server address to re-generate cookie.

9 years agoObtaining server IP address when generating query.
Karel Slany [Tue, 10 May 2016 13:26:50 +0000 (15:26 +0200)] 
Obtaining server IP address when generating query.

9 years agoResolver is able to insert dummy client cookies into generated requests.
Karel Slany [Mon, 9 May 2016 14:35:16 +0000 (16:35 +0200)] 
Resolver is able to insert dummy client cookies into generated requests.

9 years agoTrying to insert cookies into request form layer.
Karel Slany [Fri, 6 May 2016 13:16:26 +0000 (15:16 +0200)] 
Trying to insert cookies into request form layer.

Currently without success.

9 years agoIntroduced empty cookies module.
Karel Slany [Wed, 4 May 2016 13:36:12 +0000 (15:36 +0200)] 
Introduced  empty cookies module.

9 years agolib/generic: fixed typo in lru code
Marek Vavrusa [Wed, 10 Aug 2016 03:30:59 +0000 (20:30 -0700)] 
lib/generic: fixed typo in lru code

this caused a bug in pseudo-lru table that negated
stickiness of values to table slots

9 years agoscripts: bumped used libknot version to 2.3.0
Marek Vavrusa [Tue, 9 Aug 2016 20:52:11 +0000 (13:52 -0700)] 
scripts: bumped used libknot version to 2.3.0

9 years agodaemon/lua: support new libknot 2.3 soversion
Marek Vavrusa [Tue, 9 Aug 2016 21:27:24 +0000 (14:27 -0700)] 
daemon/lua: support new libknot 2.3 soversion

9 years agoMerge branch 'fix-segfault-in-early-quit' into 'master'
Marek Vavrusa [Tue, 9 Aug 2016 20:28:05 +0000 (22:28 +0200)] 
Merge branch 'fix-segfault-in-early-quit' into 'master'

Fix segmentation fault in early shutdown from `quit()` in config

kresd was segfaulting if configuration file contained `quit()`

See merge request !42

9 years agoFix segmentation fault in early shutdown from `quit()` in config
Ondřej Surý [Tue, 9 Aug 2016 09:03:16 +0000 (11:03 +0200)] 
Fix segmentation fault in early shutdown from `quit()` in config

9 years agoMerge branch 'tls-listen' into 'master'
Marek Vavrusa [Mon, 8 Aug 2016 16:30:52 +0000 (18:30 +0200)] 
Merge branch 'tls-listen' into 'master'

DNS over TLS and TCP out-of-order processing

Refresh !18

I merged few bits from @dkg branch, but there are two notable things missing:
- watch for on-disk chang of credentials - not sure if this is really needed, I would suggest a separate MR, where we can discuss benefits of doing so.
- ephemeral key generation from `net.tls_servicename` - this is fine, but instead of setting `tls_servicename`, let's make it an explicit generator e.g. net.generate_certificate("name") instead of setting `tls_servicename` in the `struct network`. Again I would suggest a separate MR.

To test the TLS listen, you can use a dns-over-tls branch from Knot DNS:
```
./daemon/kresd --tls=127.0.0.1\#5353
net.tls("cert", "key")
```

```
$ ./src/kdig +tls -p 5353 www.cmu.edu @127.0.0.1
;; ->>HEADER<<- opcode: QUERY; status: NOERROR; id: 9741
;; Flags: qr rd ra; QUERY: 1; ANSWER: 2; AUTHORITY: 0; ADDITIONAL: 0

;; QUESTION SECTION:
;; www.cmu.edu.         IN A

;; ANSWER SECTION:
www.cmu.edu.         86400 IN CNAME www-cmu-prod-vip.andrew.cmu.edu.
www-cmu-prod-vip.andrew.cmu.edu. 21600 IN A 128.2.42.52

;; Received 107 B
;; Time 2016-08-05 11:52:25 CEST
;; From 127.0.0.1@5353(TCP) in 2146.1 ms
;; TLS session info: (TLS1.2)-(ECDHE-RSA-SECP256R1)-(AES-256-GCM)
```

See merge request !41

9 years agoMerge branch 'unbuffer-kr_log_info' into 'master'
Marek Vavrusa [Fri, 5 Aug 2016 22:13:30 +0000 (00:13 +0200)] 
Merge branch 'unbuffer-kr_log_info' into 'master'

Ensure that kr_log_info() gets sent promptly to stdout

If stdout is buffered, kr_log_info() might take ages to show up in the
output stream.  Since this stream could be interleaved with stderr
(e.g. kr_log_error()), it would be good to be able to see the messages
in the order in which they are generated.

See merge request !40

9 years agoEnsure that kr_log_info() gets sent promptly to stdout
Daniel Kahn Gillmor [Tue, 2 Aug 2016 19:58:52 +0000 (15:58 -0400)] 
Ensure that kr_log_info() gets sent promptly to stdout

If stdout is buffered, kr_log_info() might take ages to show up in the
output stream.  Since this stream could be interleaved with stderr
(e.g. kr_log_error()), it would be good to be able to see the messages
in the order in which they are generated.

9 years agodaemon/tls: cleanup, documented tls functions
Marek Vavrusa [Fri, 5 Aug 2016 17:48:25 +0000 (10:48 -0700)] 
daemon/tls: cleanup, documented tls functions

9 years agoMake the travis builds verbose
Ondřej Surý [Fri, 5 Aug 2016 10:09:30 +0000 (12:09 +0200)] 
Make the travis builds verbose

9 years agognutls_certificate_get_x509_crt requires gnutls 3.4.0
Ondřej Surý [Fri, 5 Aug 2016 10:05:49 +0000 (12:05 +0200)] 
gnutls_certificate_get_x509_crt requires gnutls 3.4.0

9 years agoLog key-pinning strings for TLS keys
Daniel Kahn Gillmor [Wed, 3 Aug 2016 01:41:17 +0000 (21:41 -0400)] 
Log key-pinning strings for TLS keys

RFC 7858 explicitly defines an out-of-band key pinning profile as one
authentication mechanism.  It uses the same format for representing
the pin as HPKP does (RFC 7469).

By logging this pin directly upon first use of the X.509 credentials,
we make it a little bit easier for an admin to publish part of a
pinset.

For ideal operation (including preparation for key rollover), a backup
public key should also be provided, but this is not defined
functionally here.

9 years agodaemon/main.c, daemon/bindings.c, daemon/tls.c, daemon/worker.h: cleanup
Ondřej Surý [Fri, 5 Aug 2016 09:12:49 +0000 (11:12 +0200)] 
daemon/main.c, daemon/bindings.c, daemon/tls.c, daemon/worker.h: cleanup

9 years agoMove tls_credentials to struct network
Ondřej Surý [Fri, 5 Aug 2016 09:08:36 +0000 (11:08 +0200)] 
Move tls_credentials to struct network