Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ protocol more accessible, while maintaining full alignment with all relevant
and useful RFCs.

This effort is developed cooperatively on GitHub, the repository can be
found [https://github.com/ahupowerdns/hello-dns/](here) and help is highly
found [https://github.com/Habbie/hello-dns/](here) and help is highly
welcome! Feedback can also be sent to [email protected] or
[@PowerDNS_Bert](https://twitter.com/PowerDNS_Bert).

Expand Down
4 changes: 2 additions & 2 deletions basic.md
Original file line number Diff line number Diff line change
Expand Up @@ -150,7 +150,7 @@ save a lot of pain when processing DNS names with spaces or dots in them.
Finally, DNS queries are
[case-insensitive](https://tools.ietf.org/html/rfc4343). This however is
defined rather mechanically, and limited to ASCII. Operators do not need to know that in some
encodings a Ü is equivalent to ü when compared case insensitively.
encodings a Ü is equivalent to ü when compared case-insensitively.
For DNS purposes, the fifth bit (0x20) is ignored when comparing octets
within a-z and A-Z.

Expand Down Expand Up @@ -274,7 +274,7 @@ This is then followed by the binary representation of the current IPv6
address of www.ietf.org, 2400:cb00:2048:1::6814:55.

If there had been further answers, these would follow this first one, and
the ANCOUNT would have been higher than 1. If there had been data in the
the ANCOUNT would have been greater than 1. If there had been data in the
'authoritative' and 'additional' sections, that would follow here too, with
the corresponding adjustments to 'NSCOUNT' and 'ARCOUNT' fields. More about
these sections later.
Expand Down
2 changes: 1 addition & 1 deletion optional.md
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@ Prerequisites are constraints that must pass before any updates are processed.
All of the constraints apply to entire RRSETs as opposed to individual RRs.
Prerequisite failures are signalled by a response message's RCODE.

Prerequiste | Type | Class | Data | Failure RCODE
Prerequisite | Type | Class | Data | Failure RCODE
-----------------------|--------------|---------------|------|--------------
RRSET exists | RRSET's Type | ANY (255) | No | NXRRSET (8)
RRSET exists with data | RRSET's Type | RRSET's Class | Yes | NXRRSET (8)
Expand Down
2 changes: 1 addition & 1 deletion resolver.md
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ and terminate the algorithm.

# Security
At every point a resolver must be vigilant to not store data coming from an
authoritative server that can not be trusted to provide that data.
authoritative server that cannot be trusted to provide that data.

In addition, if a cache is used, care must be taken that an authoritative
server must not be allowed to 'extend its own authority' infinitely. This is
Expand Down
14 changes: 7 additions & 7 deletions tdns/Doxyfile
Original file line number Diff line number Diff line change
Expand Up @@ -204,7 +204,7 @@ QT_AUTOBRIEF = NO
# tag to YES if you prefer the old behavior instead.
#
# Note that setting this tag to YES also means that rational rose comments are
# not recognized any more.
# not recognized anymore.
# The default value is: NO.

MULTILINE_CPP_IS_BRIEF = NO
Expand Down Expand Up @@ -278,7 +278,7 @@ OPTIMIZE_OUTPUT_VHDL = NO
# parses. With this tag you can assign which parser to use for a given
# extension. Doxygen has a built-in mapping, but you can override or extend it
# using this tag. The format is ext=language, where ext is a file extension, and
# language is one of the parsers supported by doxygen: IDL, Java, Javascript,
# language is one of the parsers supported by doxygen: IDL, Java, JavaScript,
# C#, C, C++, D, PHP, Objective-C, Python, Fortran (fixed format Fortran:
# FortranFixed, free formatted Fortran: FortranFree, unknown formatted Fortran:
# Fortran. In the later case the parser tries to guess whether the code is fixed
Expand Down Expand Up @@ -520,7 +520,7 @@ INTERNAL_DOCS = NO
# If the CASE_SENSE_NAMES tag is set to NO then doxygen will only generate file
# names in lower-case letters. If set to YES, upper-case letters are also
# allowed. This is useful if you have classes or files whose names only differ
# in case and if your file system supports case sensitive file names. Windows
# in case and if your file system supports case-sensitive file names. Windows
# and Mac users are advised to set this option to NO.
# The default value is: system dependent.

Expand Down Expand Up @@ -685,7 +685,7 @@ SHOW_NAMESPACES = YES
# The FILE_VERSION_FILTER tag can be used to specify a program or script that
# doxygen should invoke to get the current version for each file (typically from
# the version control system). Doxygen will invoke the program by executing (via
# popen()) the command command input-file, where command is the value of the
# popen()) the command input-file, where command is the value of the
# FILE_VERSION_FILTER tag, and input-file is the name of an input file provided
# by doxygen. Whatever the program writes to standard output is used as the file
# version. For an example see the documentation.
Expand Down Expand Up @@ -1512,7 +1512,7 @@ EXT_LINKS_IN_WINDOW = NO

FORMULA_FONTSIZE = 10

# Use the FORMULA_TRANPARENT tag to determine whether or not the images
# Use the FORMULA_TRANSPARENT tag to determine whether or not the images
# generated for formulas are transparent PNGs. Transparent PNGs are not
# supported properly for IE 6.0, but are supported on all modern browsers.
#
Expand All @@ -1524,7 +1524,7 @@ FORMULA_FONTSIZE = 10
FORMULA_TRANSPARENT = YES

# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax (see
# http://www.mathjax.org) which uses client side Javascript for the rendering
# http://www.mathjax.org) which uses client side JavaScript for the rendering
# instead of using pre-rendered bitmaps. Use this if you do not have LaTeX
# installed or if you want to formulas look prettier in the HTML output. When
# enabled you may also need to install MathJax separately and configure the path
Expand Down Expand Up @@ -1594,7 +1594,7 @@ MATHJAX_CODEFILE =
SEARCHENGINE = YES

# When the SERVER_BASED_SEARCH tag is enabled the search engine will be
# implemented using a web server instead of a web client using Javascript. There
# implemented using a web server instead of a web client using JavaScript. There
# are two flavors of web server based searching depending on the EXTERNAL_SEARCH
# setting. When disabled, doxygen will generate a PHP script for searching and
# an index file used by the script. When EXTERNAL_SEARCH is enabled the indexing
Expand Down
24 changes: 12 additions & 12 deletions tdns/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ Welcome to tdns, a 'from scratch' teaching DNS library. Based on `tdns`,
[`tauth`](tauth.md.html) and [`tres`](tres.md.html) implement all of [basic
DNS](../basic.md.html) and large parts of DNSSEC in ~~2000~~ ~~3000~~ 3100
lines of code. Code is
[here](https://github.com/ahupowerdns/hello-dns/tree/master/tdns). To
[here](https://github.com/Habbie/hello-dns/tree/master/tdns). To
compile, see the end of this document.

Even though the 'hello-dns' documents describe how basic DNS works, and how
Expand Down Expand Up @@ -40,13 +40,13 @@ Non-goals are:
A more narrative explanation of what `tdns` is and what we hope it will
achieve can be found [here](intro.md.html).

The code for `tdns` can be found on [GitHub](https://github.com/ahupowerdns/hello-dns/blob/master/tdns/) and is also documented
The code for `tdns` can be found on [GitHub](https://github.com/Habbie/hello-dns/blob/master/tdns/) and is also documented
using [Doxygen](codedocs/html).

# Objects in `tdns`
These are found in [dns-storage.hh](https://github.com/ahupowerdns/hello-dns/blob/master/tdns/dns-storage.hh)
These are found in [dns-storage.hh](https://github.com/Habbie/hello-dns/blob/master/tdns/dns-storage.hh)
and
[dns-storage.cc](https://github.com/ahupowerdns/hello-dns/blob/master/tdns/dns-storage.hh).
[dns-storage.cc](https://github.com/Habbie/hello-dns/blob/master/tdns/dns-storage.hh).

## DNSLabel
The most basic object in `tdns` is DNSLabel. `www.powerdns.com` consists of
Expand Down Expand Up @@ -206,8 +206,8 @@ has a `toString()` method for human friendly output.


# Parsing and generating DNS Messages
This code is in [dnsmessages.cc](https://github.com/ahupowerdns/hello-dns/blob/master/tdns/dnsmessages.cc)
and [dnsmessages.hh](https://github.com/ahupowerdns/hello-dns/blob/master/tdns/dnsmessages.hh).
This code is in [dnsmessages.cc](https://github.com/Habbie/hello-dns/blob/master/tdns/dnsmessages.cc)
and [dnsmessages.hh](https://github.com/Habbie/hello-dns/blob/master/tdns/dnsmessages.hh).

## `RRGen`s: dealing with all the record types
DNS knows many record types, so we need a unified interface that can pass
Expand Down Expand Up @@ -270,7 +270,7 @@ returns record details and a smart pointer to an `RRGen` instance (as
described above).

A good example of how `DNSMessageReader` works can be found in
[`tdig.cc`](https://github.com/ahupowerdns/hello-dns/blob/master/tdns/dns-storage.hh).
[`tdig.cc`](https://github.com/Habbie/hello-dns/blob/master/tdns/dns-storage.hh).

## DNSMessageWriter
This class creates DNS messages, and in its constructor it needs to know the
Expand All @@ -293,9 +293,9 @@ Writing actual records to DNSMessageWriter proceeds via `putRR()` which
serializes `RRGen` instances to the message.

Samples of how to do this can be found in
[tres.cc](https://github.com/ahupowerdns/hello-dns/blob/master/tdns/dns-storage.hh)
[tres.cc](https://github.com/Habbie/hello-dns/blob/master/tdns/dns-storage.hh)
and
[tauth.cc](https://github.com/ahupowerdns/hello-dns/blob/master/tdns/dns-storage.hh).
[tauth.cc](https://github.com/Habbie/hello-dns/blob/master/tdns/dns-storage.hh).

### Compression
DNS compression is unreasonably difficult to get right. In what happens to
Expand All @@ -322,7 +322,7 @@ this in `serialize()`.
# Internals
`tdns` uses several small pieces of code not core to dns:

* [nenum](https://github.com/ahupowerdns/hello-dns/blob/master/tdns/nenum.hh)
* [nenum](https://github.com/Habbie/hello-dns/blob/master/tdns/nenum.hh)
this is a simple 'named ENUM' construct that enables the printing of
DNSName::A
* [Simplesocket](https://github.com/ahupowerdns/simplesocket) a small set
Expand All @@ -334,7 +334,7 @@ This requires a recent compiler version that supports C++ 2014. If you
encounter problems, please let me know (see above for address details).

```
$ git clone https://github.com/ahupowerdns/hello-dns.git
$ git clone https://github.com/Habbie/hello-dns.git
$ cd hello-dns/tdns
$ git submodule init
$ git submodule update
Expand All @@ -344,7 +344,7 @@ $ dig -t any time.powerdns.org @::1 -p 5300 +short
time.powerdns.org. 3600 IN TXT "The time is Fri, 13 Apr 2018 12:55:54 +0200"
```

For more detauls, read on about [`tauth`](tauth.md.html), [`tres`](tres.md.html)
For more details, read on about [`tauth`](tauth.md.html), [`tres`](tres.md.html)
or the [C API](c-api.md.html).

<script>
Expand Down
6 changes: 3 additions & 3 deletions tdns/c-api.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ An error is indicated by a non-zero return value, in which case the error is
available through `TDNSErrorMessage`.

Actual IP addresses, IPv4 or IPv6, are returned as `struct sockaddr_storage`
pointers in `TDNSIpAddressess::addresses`:
pointers in `TDNSIpAddresses::addresses`:

```
for(int n = 0; ips->addresses[n]; ++n) {
Expand All @@ -61,7 +61,7 @@ pointers in `TDNSIpAddressess::addresses`:
}
freeTDNSIPAddresses(ips);
```
The sequence is terminated by a 0 pointer in `addressses`. Note that the
The sequence is terminated by a 0 pointer in `addresses`. Note that the
answer must also be freed with `freeTDNSIPAddresses`.

## MX Records
Expand Down Expand Up @@ -98,7 +98,7 @@ And TXT records:

# Full code
The full code of these examples can be found on
[GitHub](https://github.com/ahupowerdns/hello-dns/blob/master/tdns/tdns-c-test.c).
[GitHub](https://github.com/Habbie/hello-dns/blob/master/tdns/tdns-c-test.c).

<script>
window.markdeepOptions={};
Expand Down
4 changes: 2 additions & 2 deletions tdns/dns-storage.hh
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@ public:
if(d_s.size() > 63)
throw std::out_of_range("label too long");
}
//! Equality and comparison are case insensitive
//! Equality and comparison are case-insensitive
bool operator<(const DNSLabel& rhs) const
{
return std::lexicographical_compare(d_s.begin(), d_s.end(), rhs.d_s.begin(), rhs.d_s.end(), charcomp);
Expand Down Expand Up @@ -208,7 +208,7 @@ struct DNSNode
DNSNode(){}
DNSNode(const DNSLabel& lab, DNSNode* parent) : d_name(lab), d_parent(parent) {}
~DNSNode();
//! This is the key function that finds names, returns where it found them and if any zonecuts were passsed
//! This is the key function that finds names, returns where it found them and if any zonecuts were passed
const DNSNode* find(DNSName& name, DNSName& last, bool wildcards=false, const DNSNode** passedZonecut=0, const DNSNode** passedWcard=0) const;

//! This is an idempotent way to add a node to a DNS tree
Expand Down
6 changes: 3 additions & 3 deletions tdns/ext/catch/catch.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -2432,7 +2432,7 @@ class PredicateMatcher : public MatcherBase<T> {

// The following functions create the actual matcher objects.
// The user has to explicitly specify type to the function, because
// infering std::function<bool(T const&)> is hard (but possible) and
// inferring std::function<bool(T const&)> is hard (but possible) and
// requires a lot of TMP.
template<typename T>
Generic::PredicateMatcher<T> Predicate(std::function<bool(T const&)> const& predicate, std::string const& description = "") {
Expand Down Expand Up @@ -8043,7 +8043,7 @@ namespace Matchers {
}
std::string CasedString::caseSensitivitySuffix() const {
return m_caseSensitivity == CaseSensitive::No
? " (case insensitive)"
? " (case-insensitive)"
: std::string();
}

Expand Down Expand Up @@ -8100,7 +8100,7 @@ namespace Matchers {
}

std::string RegexMatcher::describe() const {
return "matches " + ::Catch::Detail::stringify(m_regex) + ((m_caseSensitivity == CaseSensitive::Choice::Yes)? " case sensitively" : " case insensitively");
return "matches " + ::Catch::Detail::stringify(m_regex) + ((m_caseSensitivity == CaseSensitive::Choice::Yes)? " case-sensitively" : " case-insensitively");
}

} // namespace StdString
Expand Down
Loading