]> git.ipfire.org Git - thirdparty/knot-resolver.git/log
thirdparty/knot-resolver.git
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

9 years agoprovide a way for systemd-supervised services to listen on TLS via socket activation
Daniel Kahn Gillmor [Sun, 17 Jul 2016 13:02:29 +0000 (15:02 +0200)] 
provide a way for systemd-supervised services to listen on TLS via socket activation

9 years agoinitialize GnuTLS logging cleanly, once at daemon/worker start.
Daniel Kahn Gillmor [Thu, 28 Jul 2016 22:35:10 +0000 (18:35 -0400)] 
initialize GnuTLS logging cleanly, once at daemon/worker start.

We also propagate kresd's verbosity into the TLS logging level

9 years agoRemove the extra indirection in tls_certificate_free
Ondřej Surý [Fri, 5 Aug 2016 08:46:47 +0000 (10:46 +0200)] 
Remove the extra indirection in tls_certificate_free

9 years agoMove struct tls_credentials_t from daemon/worker.h to daemon/tls.h
Ondřej Surý [Fri, 5 Aug 2016 08:29:25 +0000 (10:29 +0200)] 
Move struct tls_credentials_t from daemon/worker.h to daemon/tls.h

9 years agodaemon/tls: cleanup
Marek Vavrusa [Fri, 5 Aug 2016 01:17:33 +0000 (18:17 -0700)] 
daemon/tls: cleanup

9 years agoFix the memory leak by returning kr_error(ECONNRESET) on end of stream
Ondřej Surý [Wed, 3 Aug 2016 15:02:10 +0000 (17:02 +0200)] 
Fix the memory leak by returning kr_error(ECONNRESET) on end of stream

9 years agoAdd reference counting to gnutls credentials, so they don't get destroyed while used
Ondřej Surý [Wed, 3 Aug 2016 11:45:15 +0000 (13:45 +0200)] 
Add reference counting to gnutls credentials, so they don't get destroyed while used

9 years agoInitialize global TLS credentials in the worker_ctx and initialize GnuTLS logging...
Ondřej Surý [Tue, 2 Aug 2016 13:01:32 +0000 (15:01 +0200)] 
Initialize global TLS credentials in the worker_ctx and initialize GnuTLS logging at global level

9 years agoMiscelaneous fixes in coding style
Ondřej Surý [Tue, 2 Aug 2016 11:13:18 +0000 (13:13 +0200)] 
Miscelaneous fixes in coding style

9 years agoRevert default EDNS0 buffer size to 4096
Ondřej Surý [Wed, 20 Jul 2016 12:28:50 +0000 (14:28 +0200)] 
Revert default EDNS0 buffer size to 4096

9 years agodaemon: lower minimum allowed edns bufsize to 512
Marek Vavrusa [Wed, 20 Jul 2016 04:36:20 +0000 (21:36 -0700)] 
daemon: lower minimum allowed edns bufsize to 512

there are cases where switches or middle-boxes
block DNS/UDP answers >512 octets completely,
this gives user an option to mitigate that.
however, there are authoritatives serving
large answers that don't support TCP, so it's
a compromise as always

9 years agolisten using TLS on specific sockets
Daniel Kahn Gillmor [Sun, 17 Jul 2016 12:37:30 +0000 (14:37 +0200)] 
listen using TLS on specific sockets

kresd has --tls/-t by analogy with --addr/-a where the daemon opens
the socket itself.

This changeset adds equivalent functionality for inherited sockets:
--tlsfd/-T by analogy with --fd/-Sa

9 years agofix kresd internal help docs, describe --tls in kresd(8)
Daniel Kahn Gillmor [Sun, 17 Jul 2016 12:35:47 +0000 (14:35 +0200)] 
fix kresd internal help docs, describe --tls in kresd(8)

9 years agoHandle more processing from tls_process to worker_process_tcp
Ondřej Surý [Sat, 16 Jul 2016 15:59:05 +0000 (17:59 +0200)] 
Handle more processing from tls_process to worker_process_tcp

9 years agodaemon/tls: fixed improper use of callback, leaks
Marek Vavrusa [Mon, 11 Jul 2016 19:11:34 +0000 (12:11 -0700)] 
daemon/tls: fixed improper use of callback, leaks

the TLS sessions now bypass the usuall event loop asynchronous iops
this is because the whole operation is synchronous right now, and
implementing asynchronous send operations would require TLS session to
restart write events on the event loop and making sure the "on complete"
callback is called eventually

9 years agodaemon/tls: process all records on input
Marek Vavrusa [Sun, 10 Jul 2016 18:47:25 +0000 (11:47 -0700)] 
daemon/tls: process all records on input

this is a workaround probably, but we need to
process all records in received buffer otherwise
it loses the rest of the data

9 years agoWIP: first pass at TLS implementation
Daniel Kahn Gillmor [Sun, 3 Apr 2016 13:13:24 +0000 (10:13 -0300)] 
WIP: first pass at TLS implementation

9 years agodaemon/network: global TLS certificate and key configuration
Jan Vcelak [Sun, 3 Apr 2016 14:25:24 +0000 (16:25 +0200)] 
daemon/network: global TLS certificate and key configuration

9 years agodaemon: ported DNS/TLS preparation code to 1.1
Marek Vavrusa [Fri, 8 Jul 2016 03:22:51 +0000 (20:22 -0700)] 
daemon: ported DNS/TLS preparation code to 1.1

9 years agoActively link to gnutls
Daniel Kahn Gillmor [Sun, 3 Apr 2016 13:08:24 +0000 (10:08 -0300)] 
Actively link to gnutls

9 years agoTLS: update documentation
Jan Vcelak [Sun, 3 Apr 2016 15:42:41 +0000 (17:42 +0200)] 
TLS: update documentation

9 years agosd_listen_fds_with_names() requires libsystemd >= 227
Ondřej Surý [Thu, 4 Aug 2016 07:22:04 +0000 (09:22 +0200)] 
sd_listen_fds_with_names() requires libsystemd >= 227

9 years agoMerge branch 'systemctl-help' into 'master'
Ondřej Surý [Fri, 29 Jul 2016 06:49:40 +0000 (08:49 +0200)] 
Merge branch 'systemctl-help' into 'master'

add Documentation= reference to knot-resolver.service

This makes "systemctl help knot-resolver" bring up the appropriate man
page.

See merge request !39

9 years agoadd Documentation= reference to knot-resolver.service
Daniel Kahn Gillmor [Sun, 17 Jul 2016 09:41:38 +0000 (11:41 +0200)] 
add Documentation= reference to knot-resolver.service

This makes "systemctl help knot-resolver" bring up the appropriate man
page.

9 years agoMerge branch 'control-socket-activation' into 'master'
Marek Vavrusa [Thu, 28 Jul 2016 17:04:10 +0000 (19:04 +0200)] 
Merge branch 'control-socket-activation' into 'master'

Control socket activation

This branch provides reasonable configs for full systemd socket activation for kresd.

See merge request !36

9 years agoupdate documentation to explain systemd socket-activation configuration
Daniel Kahn Gillmor [Sun, 17 Jul 2016 11:35:06 +0000 (13:35 +0200)] 
update documentation to explain systemd socket-activation configuration

9 years agosystemd rules for closely-supervised knot-resolver service
Daniel Kahn Gillmor [Sun, 17 Jul 2016 09:41:38 +0000 (11:41 +0200)] 
systemd rules for closely-supervised knot-resolver service

This is a fully-socket-activated knot-resolver service that can run as
a non-priivleged user named knot-resolver.

9 years agoallow control socket to be specified by systemd supervision
Daniel Kahn Gillmor [Sun, 17 Jul 2016 08:17:42 +0000 (10:17 +0200)] 
allow control socket to be specified by systemd supervision

When run under systemd supervision, accept a control socket from the
supervisor if the name supplied is "control".

See FileDescriptorName= in systemd.socket(5) for more details.

9 years agomodules: deprecated tinyweb, superseded by http
Marek Vavrusa [Wed, 20 Jul 2016 16:52:21 +0000 (09:52 -0700)] 
modules: deprecated tinyweb, superseded by http

this module is superseded by http module, removing

9 years agoRevert default EDNS0 buffer size to 4096
Ondřej Surý [Wed, 20 Jul 2016 12:28:50 +0000 (14:28 +0200)] 
Revert default EDNS0 buffer size to 4096

9 years agolayer/rrcache: added check for cname chain loops
Marek Vavrusa [Wed, 20 Jul 2016 05:30:22 +0000 (22:30 -0700)] 
layer/rrcache: added check for cname chain loops

iterator already checks this and also chain length,
however these checks were omitted in the rrcache
CNAME unroll loop

9 years agodaemon: lower minimum allowed edns bufsize to 512
Marek Vavrusa [Wed, 20 Jul 2016 04:36:20 +0000 (21:36 -0700)] 
daemon: lower minimum allowed edns bufsize to 512

there are cases where switches or middle-boxes
block DNS/UDP answers >512 octets completely,
this gives user an option to mitigate that.
however, there are authoritatives serving
large answers that don't support TCP, so it's
a compromise as always

9 years agodaemon: always refetch CNAME target in 'strict' mode
Marek Vavrusa [Mon, 18 Jul 2016 04:02:02 +0000 (21:02 -0700)] 
daemon: always refetch CNAME target in 'strict' mode

in normal mode, only final CNAME target is refetched, but
not intermediate CNAMEs. intermediate CNAMEs are *never* cached,
but they are used to get final name for requery. in strict mode now,
every CNAME target is explicitly fetched even if it's a chained CNAME.

9 years agomodules/http: limit graph to 1000 datapoints
Marek Vavrusa [Wed, 13 Jul 2016 16:35:36 +0000 (11:35 -0500)] 
modules/http: limit graph to 1000 datapoints

9 years agoMerge branch 'doc-cleanup' into 'master'
Ondřej Surý [Sun, 17 Jul 2016 18:37:43 +0000 (20:37 +0200)] 
Merge branch 'doc-cleanup' into 'master'

more kresd.8 cleanup

See merge request !35

9 years agoMerge branch 'help-the-emacs-users' into 'master'
Ondřej Surý [Sun, 17 Jul 2016 18:37:11 +0000 (20:37 +0200)] 
Merge branch 'help-the-emacs-users' into 'master'

emacs turds should never make it into git

See merge request !34

9 years agomore kresd.8 cleanup
Daniel Kahn Gillmor [Sun, 17 Jul 2016 11:12:16 +0000 (13:12 +0200)] 
more kresd.8 cleanup

9 years agoemacs turds should never make it into git
Daniel Kahn Gillmor [Sun, 17 Jul 2016 10:49:46 +0000 (12:49 +0200)] 
emacs turds should never make it into git

9 years agoAdd some autogenerated files to .gitignore
Ondřej Surý [Sat, 16 Jul 2016 14:46:46 +0000 (16:46 +0200)] 
Add some autogenerated files to .gitignore

9 years agoMerge branch 'doc-cleanup' into 'master'
Ondřej Surý [Sat, 16 Jul 2016 14:41:12 +0000 (16:41 +0200)] 
Merge branch 'doc-cleanup' into 'master'

Doc cleanup

This is a simple cleanup of documentation

See merge request !33

9 years agoavoid warning from nroff
Daniel Kahn Gillmor [Sat, 16 Jul 2016 14:22:13 +0000 (16:22 +0200)] 
avoid warning from nroff

9 years agodocument the long options for kresd
Daniel Kahn Gillmor [Sat, 16 Jul 2016 13:45:00 +0000 (15:45 +0200)] 
document the long options for kresd

9 years agomove URLs from http to https where supported
Daniel Kahn Gillmor [Sat, 16 Jul 2016 14:05:46 +0000 (16:05 +0200)] 
move URLs from http to https where supported

9 years agowww.gnu.org prefers https
Daniel Kahn Gillmor [Sat, 16 Jul 2016 12:06:40 +0000 (14:06 +0200)] 
www.gnu.org prefers https

9 years agodoc/build: mention geoip dependency
Vladimír Čunát [Wed, 13 Jul 2016 10:39:36 +0000 (12:39 +0200)] 
doc/build: mention geoip dependency

9 years agodoc: small issues
Marek Vavrusa [Tue, 12 Jul 2016 17:01:45 +0000 (12:01 -0500)] 
doc: small issues

9 years agolib/layer: avoiding usage of libknot's layer.h
Grigorii Demidov [Fri, 8 Jul 2016 11:38:31 +0000 (13:38 +0200)] 
lib/layer: avoiding usage of libknot's layer.h

9 years agodoc: extend license list in http module
Vladimír Čunát [Mon, 11 Jul 2016 15:45:50 +0000 (17:45 +0200)] 
doc: extend license list in http module

Suggested by @ondrej.

9 years agodoc: fix nitpicks
Vladimír Čunát [Mon, 4 Jul 2016 10:03:41 +0000 (12:03 +0200)] 
doc: fix nitpicks

9 years agodaemon/network: allow listening on part of interfaces
Marek Vavrusa [Wed, 6 Jul 2016 17:43:32 +0000 (10:43 -0700)] 
daemon/network: allow listening on part of interfaces

when whole interface is passed and some of the addresses are not bindable,
the daemon will print them, but will continue to bind to the rest of the
addresses

fixes #80

9 years agomodules: http, graphite, policy, daf support map()
Marek Vavrusa [Tue, 5 Jul 2016 07:35:15 +0000 (00:35 -0700)] 
modules: http, graphite, policy, daf support map()

all relevant modules now support running in
forked mode and polling workers for information.
for example graphite module can poll stats from
all workers and then aggregate before sending,
or HTTP module can run on the process group leader
only and then poll workers for information.

9 years agodaemon: worker publishes usage information
Marek Vavrusa [Tue, 5 Jul 2016 07:33:24 +0000 (00:33 -0700)] 
daemon: worker publishes usage information

9 years agodaemon: workers are interconnected with IPC pipes
Marek Vavrusa [Tue, 5 Jul 2016 07:32:42 +0000 (00:32 -0700)] 
daemon: workers are interconnected with IPC pipes

forks are connected with IPC pipes to process
group leader and can execute expressions on its
behalf. so running commands over all workers
is easy now:

> hostname() -- single
localhost

> map 'hostname()' -- all
localhost
localhost
localhost

9 years agodaemon/engine: fixed unpacking of POD JSON vars
Marek Vavrusa [Tue, 5 Jul 2016 07:30:02 +0000 (00:30 -0700)] 
daemon/engine: fixed unpacking of POD JSON vars

9 years agomodules/daf: RESTful API documentation, cleanup
Marek Vavrusa [Sat, 25 Jun 2016 20:11:57 +0000 (13:11 -0700)] 
modules/daf: RESTful API documentation, cleanup

9 years agomodules/http: cleanup
Marek Vavrusa [Sat, 25 Jun 2016 20:12:08 +0000 (13:12 -0700)] 
modules/http: cleanup

9 years agomodules/http: some metrics are treated as gauges
Marek Vavrusa [Fri, 24 Jun 2016 23:23:56 +0000 (16:23 -0700)] 
modules/http: some metrics are treated as gauges

9 years agomodules/http: reworked metrics interface
Marek Vavrusa [Fri, 24 Jun 2016 23:23:30 +0000 (16:23 -0700)] 
modules/http: reworked metrics interface

* the dygraphs are now leveraged for drawing as
  canvas based drawing is much faster than
  svg based rickshaw
* refreshed theme and layouts, code cleanup

9 years agotests: synced deckard
Marek Vavrusa [Thu, 23 Jun 2016 06:30:20 +0000 (23:30 -0700)] 
tests: synced deckard

9 years agodaemon/worker: reverted inbound deduping
Marek Vavrusa [Thu, 23 Jun 2016 06:12:38 +0000 (23:12 -0700)] 
daemon/worker: reverted inbound deduping

the e638f9fb6e5aa20e090ebfa52255abc36a619bfd introduced deduplication
for queries over UDP, the idea is to track same queries and answer
only once, however that introduces both constant processing and
memory overhead and could break clients who count packet loss
by queries sent/received. disabling for now.

9 years agomodules/http: keep history of last 120 datapoints
Marek Vavrusa [Thu, 23 Jun 2016 05:48:31 +0000 (22:48 -0700)] 
modules/http: keep history of last 120 datapoints

* the http module collects stats snapshots on one
  central location and then streams it to clients
* history of last 120 datapoints (at least 2min)
  is kept for convenience

9 years agomodules/daf: cleanup, proper ws closing
Marek Vavrusa [Tue, 21 Jun 2016 07:04:15 +0000 (00:04 -0700)] 
modules/daf: cleanup, proper ws closing

9 years agomodules/policy: doc update, compat with 1.0 api
Marek Vavrusa [Fri, 17 Jun 2016 05:45:21 +0000 (22:45 -0700)] 
modules/policy: doc update, compat with 1.0 api

9 years agodoc: cleanup
Marek Vavrusa [Thu, 16 Jun 2016 19:55:35 +0000 (12:55 -0700)] 
doc: cleanup

9 years agomodules/daf: new interface version, allows mirror
Marek Vavrusa [Thu, 16 Jun 2016 17:52:53 +0000 (10:52 -0700)] 
modules/daf: new interface version, allows mirror

9 years agomodules/http: allow reason next to the error code
Marek Vavrusa [Thu, 16 Jun 2016 17:52:18 +0000 (10:52 -0700)] 
modules/http: allow reason next to the error code

9 years agomodules/policy: chain rules, postrules, mirror, doc
Marek Vavrusa [Thu, 16 Jun 2016 17:50:41 +0000 (10:50 -0700)] 
modules/policy: chain rules, postrules, mirror, doc

* rules may now be chained if the rule action
  doesn't return next state. in this case, next
  matching rule will be executed. this is useful
  for snooping actions
* rules now may be paused/deleted
* implemented a new action for query mirroring to
  given destination

9 years agodaemon/worker: track query in BEGIN and dst addr
Marek Vavrusa [Thu, 16 Jun 2016 17:39:07 +0000 (10:39 -0700)] 
daemon/worker: track query in BEGIN and dst addr

* in the begin() layer, the incoming query is
  exposed as req->qsource.packet, it is invalidated
  after begin() and should not be modified
* the destination address (local interface) is
  also tracked for filtering purposes

9 years agomodules/daf: a functional web interface
Marek Vavrusa [Mon, 13 Jun 2016 17:21:26 +0000 (10:21 -0700)] 
modules/daf: a functional web interface

the interface has a declarative rule builder that
assists in building and validating rules, as well
as seeing how much traffic do they match

9 years agomodules/http: new bootstrap3 based web interface
Marek Vavrusa [Mon, 13 Jun 2016 17:18:28 +0000 (10:18 -0700)] 
modules/http: new bootstrap3 based web interface

this is going to be the building block for visual
ui as it provides many useful semantic objects and
style classes. since we already provide the
snippet system, it's possible to add subpages to
the ui without hacking everything inside

9 years agomodules/http: added safe stream handler, doc
Marek Vavrusa [Mon, 13 Jun 2016 17:13:08 +0000 (10:13 -0700)] 
modules/http: added safe stream handler, doc

9 years agomodules/policy: unique ids for rules, match counter
Marek Vavrusa [Mon, 13 Jun 2016 16:56:13 +0000 (09:56 -0700)] 
modules/policy: unique ids for rules, match counter

these are used as a handle to patch/modify rules
later in their lifetime, also added a rule match
counter to find out which rules match inbound
traffic