]> git.ipfire.org Git - thirdparty/pdns.git/log
thirdparty/pdns.git
5 years agoFix 7680: gmysql-thread-cleanup option documented incorrectly 7684/head
Otto Moerbeek [Mon, 8 Apr 2019 07:32:02 +0000 (09:32 +0200)] 
Fix 7680: gmysql-thread-cleanup option documented incorrectly

5 years agoMerge pull request #7649 from rgacogne/per-threads-cpu-stats
Remi Gacogne [Mon, 8 Apr 2019 07:22:09 +0000 (09:22 +0200)] 
Merge pull request #7649 from rgacogne/per-threads-cpu-stats

rec: This provides CPU usage statistics per thread (worker & distributor).

5 years agoMerge pull request #7658 from Habbie/uuid-for-everyone
Remi Gacogne [Mon, 8 Apr 2019 07:21:39 +0000 (09:21 +0200)] 
Merge pull request #7658 from Habbie/uuid-for-everyone

always link in uuid-utils because webserver logging needs it now

5 years agoMerge pull request #7674 from Habbie/dnsdist-libcrypto-includes
Remi Gacogne [Mon, 8 Apr 2019 07:19:20 +0000 (09:19 +0200)] 
Merge pull request #7674 from Habbie/dnsdist-libcrypto-includes

dnsdist: honor libcrypto include path

5 years agoMerge pull request #7679 from rgacogne/dnsdist-missing-overrides
Remi Gacogne [Mon, 8 Apr 2019 07:17:16 +0000 (09:17 +0200)] 
Merge pull request #7679 from rgacogne/dnsdist-missing-overrides

dnsdist: Add missing overrides

5 years agoMerge pull request #7629 from jsoref/dns-docs
Peter van Dijk [Mon, 8 Apr 2019 07:07:42 +0000 (09:07 +0200)] 
Merge pull request #7629 from jsoref/dns-docs

dnssec clarifications

5 years agoMerge pull request #7671 from Habbie/epel-python3
Peter van Dijk [Fri, 5 Apr 2019 17:01:24 +0000 (19:01 +0200)] 
Merge pull request #7671 from Habbie/epel-python3

centos builds: ask for any python3

5 years agodnsdist: Add missing overrides 7679/head
Remi Gacogne [Fri, 5 Apr 2019 16:10:23 +0000 (18:10 +0200)] 
dnsdist: Add missing overrides

5 years agodnsdist: honor libcrypto include path 7674/head
Peter van Dijk [Fri, 5 Apr 2019 13:07:58 +0000 (15:07 +0200)] 
dnsdist: honor libcrypto include path

5 years agoMerge pull request #7668 from Habbie/boost-1.42
Remi Gacogne [Fri, 5 Apr 2019 12:22:56 +0000 (14:22 +0200)] 
Merge pull request #7668 from Habbie/boost-1.42

bump boost requirement to 1.42 unconditionally

5 years agoMerge pull request #7559 from rgacogne/dnsdist-tcp-refactor-clean
Remi Gacogne [Fri, 5 Apr 2019 12:21:15 +0000 (14:21 +0200)] 
Merge pull request #7559 from rgacogne/dnsdist-tcp-refactor-clean

dnsdist: Refactoring of the TCP stack

5 years agoMerge pull request #7670 from Habbie/kill-addlua
Remi Gacogne [Fri, 5 Apr 2019 12:10:58 +0000 (14:10 +0200)] 
Merge pull request #7670 from Habbie/kill-addlua

dnsdist: remove addLuaAction and addLuaResponseAction

5 years agodnsdist: Add more TCP metrics 7559/head
Remi Gacogne [Fri, 5 Apr 2019 10:51:45 +0000 (12:51 +0200)] 
dnsdist: Add more TCP metrics

Keep, for each frontend and backend:
- the number of concurrent TCP connections
- the average number of queries per connection
- the average duration of a connection

5 years agocentos builds: ask for any python3 7671/head
Peter van Dijk [Thu, 4 Apr 2019 17:25:29 +0000 (19:25 +0200)] 
centos builds: ask for any python3

5 years agodnsdist: remove addLuaAction and addLuaResponseAction 7670/head
Peter van Dijk [Thu, 4 Apr 2019 14:44:22 +0000 (16:44 +0200)] 
dnsdist: remove addLuaAction and addLuaResponseAction

5 years agobump boost requirement to 1.42 unconditionally 7668/head
Peter van Dijk [Thu, 4 Apr 2019 13:10:45 +0000 (15:10 +0200)] 
bump boost requirement to 1.42 unconditionally

5 years agodnsdist: Apply suggestions from chbruyand's reviews (thanks!)
Remi Gacogne [Thu, 4 Apr 2019 08:00:40 +0000 (10:00 +0200)] 
dnsdist: Apply suggestions from chbruyand's reviews (thanks!)

5 years agodnsdist: Try reading from the TCP backend right away
Remi Gacogne [Wed, 3 Apr 2019 16:10:55 +0000 (18:10 +0200)] 
dnsdist: Try reading from the TCP backend right away

Instead of waiting for the socket to be readable, as it might
already be, so we save a multiplexer trip, and prevent an issue
if we ever add a TLS layer between dnsdist and the backends.

5 years agodnsdist: Actually try to read before checking if the socket is readable
Remi Gacogne [Wed, 3 Apr 2019 15:35:41 +0000 (17:35 +0200)] 
dnsdist: Actually try to read before checking if the socket is readable

We need to because the TLS layer might already have data waiting
for us, while there might not be anything left on the OS-level
buffer associated to the socket.
If we don't ask the TLS layer, we might wait indefinitely for
something to arrive while the client has already sent everything,
and it's just waiting for us because the TLS record has been read.

5 years agodnsdist: Better reporting of syscall errors via OpenSSL's libssl
Remi Gacogne [Wed, 3 Apr 2019 15:30:52 +0000 (17:30 +0200)] 
dnsdist: Better reporting of syscall errors via OpenSSL's libssl

5 years agomplexer: Add an accessor to get the number of watched FDs
Remi Gacogne [Wed, 3 Apr 2019 15:30:21 +0000 (17:30 +0200)] 
mplexer: Add an accessor to get the number of watched FDs

5 years agodnsdist: Add a few more regression tests for DNS over TLS
Remi Gacogne [Wed, 3 Apr 2019 15:29:39 +0000 (17:29 +0200)] 
dnsdist: Add a few more regression tests for DNS over TLS

5 years agodnsdist: Update the documentation for the new TCP stack
Remi Gacogne [Tue, 26 Mar 2019 14:18:34 +0000 (15:18 +0100)] 
dnsdist: Update the documentation for the new TCP stack

5 years agodnsdist: Fix invalid carbon formatting for TCP stats
Remi Gacogne [Tue, 26 Mar 2019 13:26:41 +0000 (14:26 +0100)] 
dnsdist: Fix invalid carbon formatting for TCP stats

5 years agodnsdist: Display (and export via API) the frontend type (DoT, ..)
Remi Gacogne [Tue, 26 Mar 2019 10:22:03 +0000 (11:22 +0100)] 
dnsdist: Display (and export via API) the frontend type (DoT, ..)

5 years agodnsdist: Display backend and frontend TCP metrics in showTCPStats()
Remi Gacogne [Tue, 26 Mar 2019 10:10:57 +0000 (11:10 +0100)] 
dnsdist: Display backend and frontend TCP metrics in showTCPStats()

5 years agodnsdist: Add more TCP metrics
Remi Gacogne [Tue, 26 Mar 2019 09:24:35 +0000 (10:24 +0100)] 
dnsdist: Add more TCP metrics

5 years agodnsdist: Add a "lots of TCP connections" regression test
Remi Gacogne [Mon, 25 Mar 2019 16:57:31 +0000 (17:57 +0100)] 
dnsdist: Add a "lots of TCP connections" regression test

5 years agodnsdist: Downstream failures only count for fresh TCP connections
Remi Gacogne [Mon, 25 Mar 2019 16:11:22 +0000 (17:11 +0100)] 
dnsdist: Downstream failures only count for fresh TCP connections

5 years agodnsdist: Properly handle an I/O error while sending a TCP response
Remi Gacogne [Mon, 25 Mar 2019 16:10:13 +0000 (17:10 +0100)] 
dnsdist: Properly handle an I/O error while sending a TCP response

5 years agomplexer: Add some unit tests for our multiplexers
Remi Gacogne [Fri, 22 Mar 2019 17:25:44 +0000 (18:25 +0100)] 
mplexer: Add some unit tests for our multiplexers

5 years agomplexer: Keep TTD ordered so we can scan for timeouts efficiently
Remi Gacogne [Fri, 22 Mar 2019 14:03:14 +0000 (15:03 +0100)] 
mplexer: Keep TTD ordered so we can scan for timeouts efficiently

5 years agodnsdist: Handle EAGAIN when reading from the non-blocking TCP pipe
Remi Gacogne [Thu, 21 Mar 2019 17:49:27 +0000 (18:49 +0100)] 
dnsdist: Handle EAGAIN when reading from the non-blocking TCP pipe

5 years agodnsdist: Don't scan for TCP timeouts more than once every second
Remi Gacogne [Thu, 21 Mar 2019 17:45:40 +0000 (18:45 +0100)] 
dnsdist: Don't scan for TCP timeouts more than once every second

5 years agodnsdist: Make sure that the TCP distribution pipes are non-blocking
Remi Gacogne [Thu, 21 Mar 2019 17:36:33 +0000 (18:36 +0100)] 
dnsdist: Make sure that the TCP distribution pipes are non-blocking

5 years agodnsdist: Fix outstanding count for TCP connections
Remi Gacogne [Thu, 21 Mar 2019 17:30:42 +0000 (18:30 +0100)] 
dnsdist: Fix outstanding count for TCP connections

5 years agodnsdist: Use a unique pointer for the global TCPClientCollection
Remi Gacogne [Wed, 20 Mar 2019 11:09:28 +0000 (12:09 +0100)] 
dnsdist: Use a unique pointer for the global TCPClientCollection

5 years agodnsdist: Remove code duplication between UDP and TCP in the tests
Remi Gacogne [Tue, 19 Mar 2019 14:53:38 +0000 (15:53 +0100)] 
dnsdist: Remove code duplication between UDP and TCP in the tests

5 years agodnsdist: Disable regression tests for invalid AXFR
Remi Gacogne [Fri, 8 Mar 2019 17:44:36 +0000 (18:44 +0100)] 
dnsdist: Disable regression tests for invalid AXFR

The new implementation does not try to be too smart about that
anymore.

5 years agodnsdist: TCP refactoring using an event-based logic
Remi Gacogne [Thu, 28 Feb 2019 14:39:40 +0000 (15:39 +0100)] 
dnsdist: TCP refactoring using an event-based logic

5 years agoOnly allocate the SSocket buffer when we actually need it, cleanup
Remi Gacogne [Tue, 5 Mar 2019 10:48:02 +0000 (11:48 +0100)] 
Only allocate the SSocket buffer when we actually need it, cleanup

5 years agoReturn EINPROGRESS instead of -1 in SConnectWithTimeout wo/ timeout
Remi Gacogne [Tue, 5 Mar 2019 10:49:24 +0000 (11:49 +0100)] 
Return EINPROGRESS instead of -1 in SConnectWithTimeout wo/ timeout

5 years agomplexer: Add support for write timeouts
Remi Gacogne [Fri, 8 Mar 2019 15:41:22 +0000 (16:41 +0100)] 
mplexer: Add support for write timeouts

5 years agomplexer: Make it possible to set the read TTD right away
Remi Gacogne [Mon, 4 Mar 2019 10:32:23 +0000 (11:32 +0100)] 
mplexer: Make it possible to set the read TTD right away

5 years agodnsdist: Define empty DNSCrypt-related objects when not enabled
Remi Gacogne [Wed, 27 Feb 2019 13:12:42 +0000 (14:12 +0100)] 
dnsdist: Define empty DNSCrypt-related objects when not enabled

This way the rest of the code can mostly ignore whether DNSCrypt
support is enabled.

5 years agodnsdist: Add a function to extract an EDNS0Record from a DNS packet
Remi Gacogne [Wed, 27 Feb 2019 11:06:53 +0000 (12:06 +0100)] 
dnsdist: Add a function to extract an EDNS0Record from a DNS packet

5 years agodnsdist: Refactoring of the response handling path
Remi Gacogne [Tue, 26 Feb 2019 13:17:46 +0000 (14:17 +0100)] 
dnsdist: Refactoring of the response handling path

5 years agodnsdist: Python 3 compat fixes for the regression tests
Remi Gacogne [Mon, 25 Feb 2019 14:54:58 +0000 (15:54 +0100)] 
dnsdist: Python 3 compat fixes for the regression tests

5 years agodnsdist: Refactoring to merge the UDP and TCP paths
Remi Gacogne [Mon, 25 Feb 2019 14:54:13 +0000 (15:54 +0100)] 
dnsdist: Refactoring to merge the UDP and TCP paths

5 years agoMerge pull request #7481 from rgacogne/ipcrypt
Remi Gacogne [Thu, 4 Apr 2019 09:31:31 +0000 (11:31 +0200)] 
Merge pull request #7481 from rgacogne/ipcrypt

Add support for encrypting IP addresses #gdpr

5 years agoMerge pull request #7620 from shane-kerr/readme-link-fixes
Remi Gacogne [Thu, 4 Apr 2019 09:29:29 +0000 (11:29 +0200)] 
Merge pull request #7620 from shane-kerr/readme-link-fixes

Correct dnsdist & recursor information in README

5 years agoMerge pull request #7652 from Habbie/dnsdist-ednsoptionview
Remi Gacogne [Thu, 4 Apr 2019 09:29:04 +0000 (11:29 +0200)] 
Merge pull request #7652 from Habbie/dnsdist-ednsoptionview

dnsdist, recursor: EDNSOptionView improvements

5 years agoMerge pull request #7578 from qvr/addtl-gstats
Remi Gacogne [Thu, 4 Apr 2019 09:27:16 +0000 (11:27 +0200)] 
Merge pull request #7578 from qvr/addtl-gstats

dnsdist: add frontend response statistics

5 years agoMerge pull request #7343 from rgacogne/dnsdist-dyngroup-smt
Remi Gacogne [Thu, 4 Apr 2019 09:26:24 +0000 (11:26 +0200)] 
Merge pull request #7343 from rgacogne/dnsdist-dyngroup-smt

dnsdist: Add addDynBlockSMT() support to dynBlockRulesGroup

5 years agoMerge pull request #7585 from rgacogne/dnsdist-zero-ttl
Remi Gacogne [Thu, 4 Apr 2019 09:25:05 +0000 (11:25 +0200)] 
Merge pull request #7585 from rgacogne/dnsdist-zero-ttl

 dnsdist: Prevent 0-TTL cache hits

5 years agoMerge pull request #7586 from rgacogne/dnsdist-null-latency-web
Remi Gacogne [Thu, 4 Apr 2019 09:24:04 +0000 (11:24 +0200)] 
Merge pull request #7586 from rgacogne/dnsdist-null-latency-web

dnsdist: Gracefully handle a null latency in the webserver's JS

5 years agoMerge pull request #7598 from jsoref/spelling
Peter van Dijk [Wed, 3 Apr 2019 07:10:09 +0000 (09:10 +0200)] 
Merge pull request #7598 from jsoref/spelling

Spelling

5 years agoMerge pull request #7656 from Habbie/dnsdist-macos-build-nit
Peter van Dijk [Wed, 3 Apr 2019 07:03:11 +0000 (09:03 +0200)] 
Merge pull request #7656 from Habbie/dnsdist-macos-build-nit

dnsdist README: update macOS instructions

5 years agoalways link in uuid-utils because webserver logging needs it now 7658/head
Peter van Dijk [Tue, 2 Apr 2019 21:54:37 +0000 (23:54 +0200)] 
always link in uuid-utils because webserver logging needs it now

5 years ago1-index recursor EDNSOptionView 7652/head
Peter van Dijk [Tue, 2 Apr 2019 16:29:04 +0000 (18:29 +0200)] 
1-index recursor EDNSOptionView

5 years agodnsdist README: update macOS instructions 7656/head
Peter van Dijk [Tue, 2 Apr 2019 15:33:53 +0000 (17:33 +0200)] 
dnsdist README: update macOS instructions

5 years agoMerge pull request #7654 from aerique/feature/changelog-and-secpoll-for-rec-4.1.12
aerique [Tue, 2 Apr 2019 12:26:43 +0000 (14:26 +0200)] 
Merge pull request #7654 from aerique/feature/changelog-and-secpoll-for-rec-4.1.12

Update changelog and secpoll for rec-4.1.12.

5 years agosimplify vector indexing
Peter van Dijk [Tue, 2 Apr 2019 12:11:52 +0000 (14:11 +0200)] 
simplify vector indexing

5 years agoadjust indexes in tests
Peter van Dijk [Tue, 2 Apr 2019 12:10:59 +0000 (14:10 +0200)] 
adjust indexes in tests

5 years agoUpdate changelog and secpoll for rec-4.1.12. 7654/head
Erik Winkels [Tue, 2 Apr 2019 11:08:12 +0000 (13:08 +0200)] 
Update changelog and secpoll for rec-4.1.12.

5 years agoMerge pull request #7631 from omoerbeek/rec-ecs-cache-limit-with-ttl
Otto Moerbeek [Tue, 2 Apr 2019 08:38:05 +0000 (10:38 +0200)] 
Merge pull request #7631 from omoerbeek/rec-ecs-cache-limit-with-ttl

Rec ecs cache limit with ttl

5 years agoLua tables are indexed from 1
Peter van Dijk [Mon, 1 Apr 2019 19:29:55 +0000 (21:29 +0200)] 
Lua tables are indexed from 1

5 years agocount is a method, not an attribute
Peter van Dijk [Mon, 1 Apr 2019 19:29:09 +0000 (21:29 +0200)] 
count is a method, not an attribute

5 years agoThis provides CPU usage statistics per thread (worker & distributor). 7649/head
bert hubert [Mon, 1 Apr 2019 12:47:59 +0000 (14:47 +0200)] 
This provides CPU usage statistics per thread (worker & distributor).

(cherry picked from commit 4ae78615a5a0fb0721ebe1a58a1235e75c47d400)

5 years agoMerge pull request #7507 from rgacogne/rec-bounded-load-balancing
Remi Gacogne [Mon, 1 Apr 2019 13:57:42 +0000 (15:57 +0200)] 
Merge pull request #7507 from rgacogne/rec-bounded-load-balancing

rec: Use a bounded load-balancing algo to distribute queries

5 years agoMerge pull request #5932 from pieterlexis/webserver-logging
Pieter Lexis [Mon, 1 Apr 2019 12:43:49 +0000 (14:43 +0200)] 
Merge pull request #5932 from pieterlexis/webserver-logging

Improve logging in the webserver

5 years agoReformulate condition and comment to make it more clear. 7631/head
Otto Moerbeek [Mon, 1 Apr 2019 12:27:27 +0000 (14:27 +0200)] 
Reformulate condition and comment to make it more clear.

5 years agoOnly apply "do not cache" if both limits are set and satisfied. Doc tweaks.
Otto Moerbeek [Mon, 1 Apr 2019 09:30:06 +0000 (11:30 +0200)] 
Only apply "do not cache" if both limits are set and satisfied.  Doc tweaks.

5 years agorec: Clarify that the server load should be >= to the pondered avg 7507/head
Remi Gacogne [Fri, 29 Mar 2019 16:20:52 +0000 (17:20 +0100)] 
rec: Clarify that the server load should be >= to the pondered avg

(cherry picked from commit b476baebdc5a2ab4170476167aef94b7cdb677ab)

5 years agorec: Keep track of the number of MTasks in a dedicated variable
Remi Gacogne [Fri, 29 Mar 2019 12:32:46 +0000 (13:32 +0100)] 
rec: Keep track of the number of MTasks in a dedicated variable

(cherry picked from commit 03a5d29ea3456fd3798ca71ed4f0f7ec7980ee2c)

5 years agoNew approach. I spelled out the logic to make it more clear.
Otto Moerbeek [Fri, 29 Mar 2019 10:40:05 +0000 (11:40 +0100)] 
New approach. I spelled out the logic to make it more clear.
Points to keep in mind: > vs >=
What do we do if s_ecscachelimitttl is not set? I chose to let the scope determine
cacheability.

5 years agorec: Make sure that distribution-load-factor is >= 1.0 if set
Remi Gacogne [Thu, 28 Mar 2019 17:30:12 +0000 (18:30 +0100)] 
rec: Make sure that distribution-load-factor is >= 1.0 if set

5 years agoAdd tests for ecs-cache-limit-ttl 7572/head
Otto Moerbeek [Wed, 27 Mar 2019 12:17:06 +0000 (13:17 +0100)] 
Add tests for ecs-cache-limit-ttl

5 years agorec: Add a 'rebalanced-queries' metric
Remi Gacogne [Wed, 27 Mar 2019 11:10:37 +0000 (12:10 +0100)] 
rec: Add a 'rebalanced-queries' metric

5 years agorec: Use a bounded load-balancing algo to distribute queries
Remi Gacogne [Wed, 20 Feb 2019 16:47:30 +0000 (17:47 +0100)] 
rec: Use a bounded load-balancing algo to distribute queries

5 years agoInitial code for ecs-cache-limit-ttl.
Otto Moerbeek [Wed, 27 Mar 2019 11:37:19 +0000 (12:37 +0100)] 
Initial code for ecs-cache-limit-ttl.

5 years agoMerge remote-tracking branch 'origin/pr/7572' into rec-ecs-cache-limit-with-ttl
Otto Moerbeek [Wed, 27 Mar 2019 10:34:24 +0000 (11:34 +0100)] 
Merge remote-tracking branch 'origin/pr/7572' into rec-ecs-cache-limit-with-ttl

5 years agogrammar: reword complicated sentence 7629/head
Josh Soref [Wed, 27 Mar 2019 08:53:28 +0000 (04:53 -0400)] 
grammar: reword complicated sentence

5 years agoMerge pull request #7628 from tcely/patch-3
Remi Gacogne [Wed, 27 Mar 2019 08:45:54 +0000 (09:45 +0100)] 
Merge pull request #7628 from tcely/patch-3

Lua QClass global does not exist

5 years agogrammar: remove unnecessary comma in compound predicate
Josh Soref [Wed, 27 Mar 2019 08:44:18 +0000 (04:44 -0400)] 
grammar: remove unnecessary comma in compound predicate

5 years agospelling: SQLite
Josh Soref [Wed, 27 Mar 2019 08:43:22 +0000 (04:43 -0400)] 
spelling: SQLite

5 years agogrammar: rewrite sentence
Josh Soref [Wed, 27 Mar 2019 08:42:23 +0000 (04:42 -0400)] 
grammar: rewrite sentence

5 years agogrammar: avoid using having
Josh Soref [Wed, 27 Mar 2019 08:26:30 +0000 (04:26 -0400)] 
grammar: avoid using having

5 years agogrammar: remove unnecessary comma in compound predicate
Josh Soref [Wed, 27 Mar 2019 08:25:20 +0000 (04:25 -0400)] 
grammar: remove unnecessary comma in compound predicate

5 years agoseparate overly complicated sentence
Josh Soref [Wed, 27 Mar 2019 08:24:33 +0000 (04:24 -0400)] 
separate overly complicated sentence

5 years agospelling: spell out day of week abbreviations
Josh Soref [Wed, 27 Mar 2019 08:19:40 +0000 (04:19 -0400)] 
spelling: spell out day of week abbreviations

5 years agogrammar: help parsers understand that denial-of-existence is a thing
Josh Soref [Wed, 27 Mar 2019 08:18:06 +0000 (04:18 -0400)] 
grammar: help parsers understand that denial-of-existence is a thing

5 years agogrammar: comma for introductory phrase
Josh Soref [Wed, 27 Mar 2019 08:11:05 +0000 (04:11 -0400)] 
grammar: comma for introductory phrase

5 years agogrammar: comma for introductory phrase
Josh Soref [Wed, 27 Mar 2019 08:08:10 +0000 (04:08 -0400)] 
grammar: comma for introductory phrase

5 years agogrammar: oxford comma
Josh Soref [Wed, 27 Mar 2019 08:01:46 +0000 (04:01 -0400)] 
grammar: oxford comma

5 years agogrammar: oxford comma
Josh Soref [Wed, 27 Mar 2019 08:01:29 +0000 (04:01 -0400)] 
grammar: oxford comma

5 years agogrammar: comma-however
Josh Soref [Wed, 27 Mar 2019 07:57:58 +0000 (03:57 -0400)] 
grammar: comma-however

5 years agogrammar ...
Josh Soref [Tue, 26 Mar 2019 21:24:52 +0000 (17:24 -0400)] 
grammar ...

* oxford comma is pretty easy to explain
* like ... and -- probably the easiest explanation is that
   https://www.quickanddirtytips.com/education/grammar/like-versus-such-as
  uses `and` not `or`...

5 years agoclarify sentence
Josh Soref [Tue, 26 Mar 2019 21:20:28 +0000 (17:20 -0400)] 
clarify sentence

5 years agodoc: described is a simple enough word...
Josh Soref [Tue, 26 Mar 2019 21:19:56 +0000 (17:19 -0400)] 
doc: described is a simple enough word...