Commit Graph

127 Commits

Author SHA1 Message Date
Miek Gieben dcdbddd810
ClassANY: don't convert CLASS255 to ANY (#618)
* ClassANY: don't convert CLASS255 to ANY

Class "ANY" is wireformat only. In zonefile you can use CLASS255, but
when String-ing we convert this into "ANY" which is wrong. I.e. this
means we can't read back our own update.

Bit of a kludge to work around this, as I'm not sure we can just remove
ANY from the ClassToString map.
2018-01-07 17:57:04 +00:00
Ray Bellis 193f91db0b Fix default response generation (#492)
- response Opcode must match request
- RD and CD semantics are only defined for QUERY
2017-05-24 15:34:52 +01:00
Matthijs Mekking 2be0b50f7f use the fudge (#441) 2017-01-26 12:40:32 +00:00
Miek Gieben dd83d5cbcf IsSubDomain docs
Improve the docs a little and add a test for when the child and parent
are equal.
2016-04-12 22:05:53 +01:00
Miek Gieben 51f75cadab Optimize IsEdns0
Start at the end of the additional section instead of the beginning.
Optionally we only scan the last 2 records, and get rid of the loop
in its entirety.
2016-04-08 08:22:36 +00:00
Miek Gieben 68ed04e36e More documentation for IsDomainName 2015-09-22 07:41:03 +01:00
Aaron Lehmann 2cee5e58b0 Rename isValidRRSet to IsRRset, and move it to defaults.go 2015-06-28 17:04:05 -07:00
Miek Gieben 0fda12a2bb Add extra docs for SetQuestion and SetNotify
See issue #196
2015-03-25 09:52:14 +00:00
Miek Gieben 67945c119e A bunch of golint fixes
The proposed vars names are a nono, because they break the API.
Things left: document each RR and zscan_rr.go has some funcky if-then-elses.
2015-02-19 09:58:33 +00:00
Miek Gieben f2aff624fc Fix SetIxfr
Making a ixfr message requires a complete SOA. Add to paramaters
to SetIxfr: Ns and Mbox that will be used in the SOA in the msg.
2015-01-22 09:01:49 +00:00
Miek Gieben d8da4d2fa7 Fix: drop requests with *cough* qr set.
Err, yeah.
2014-10-19 09:36:26 +00:00
Miek Gieben 0aa3021a83 Remove all copyright notices
Use the central COPYRIGHT file.
2014-09-11 20:57:37 +01:00
Miek Gieben 9b0cfb5a13 Dont mirror CD bit 2014-08-07 22:29:44 +01:00
Miek Gieben 22f120cfe8 Copy CD bit too 2014-08-05 21:17:24 +01:00
Miek Gieben 17c7921aa2 Documentation updates 2014-07-31 08:48:26 +00:00
Miek Gieben 060e66250e Add IsMsg()
A quick validating function that checks if a buffer is a valid
DNS message.
The code is *far* from complete.
2014-05-18 09:02:00 +01:00
Miek Gieben b7a8c14d7d Add dns.Name as a type
This can be used for printing names.
2014-04-23 21:06:17 +01:00
Miek Gieben 37356f5e68 Documenation fixes 2014-01-12 10:43:59 +00:00
Alex Ciuba 848a6c7268 Refactor SetRcode, rd bit is now set properly for error packets 2014-01-05 15:20:41 -05:00
Miek Gieben b435d836c6 gofmt 2013-10-15 14:21:47 +00:00
Miek Gieben 79cce8e6c8 Small go vet issues 2013-10-15 14:21:32 +00:00
Miek Gieben 9c1ee5d5ca Update IsDomainName
This new functions just compiles the domain to wire format, if that
works, the name is deemed OK. It is also much less strict than the
older code. Almost everything is allowed in the name, except two
dots back to back (there is an explicit test for that).
2013-09-10 18:09:22 +00:00
Miek Gieben 9c72d3aa52 Fix docs 2013-09-10 13:21:55 +00:00
Miek Gieben 47cc5b052d Work on making IsDomainName better 2013-09-10 13:13:10 +00:00
Miek Gieben db41985b91 copy the optimization from go tip into here 2013-08-23 18:41:35 +00:00
Miek Gieben 83a2c0b789 small tweaks 2013-06-23 21:41:49 +01:00
Miek Gieben e15a4b1508 Dont downcase when doing IsSubDomain, let the caller decide 2013-06-22 09:26:20 +01:00
Miek Gieben 38ea608d79 Rename the Label* functions
SplitLabels -> SplitDomainName
CompareLabels -> CompareDomainName
LenLabels -> CountLabel
          -> NextLabel was added as a simple iterator-like function
2013-06-22 07:21:15 +00:00
Miek Gieben 5f6228d4cc Use the non-exported version err 2013-06-20 07:27:28 +01:00
Miek Gieben 70f9c6b964 Make err non-exported 2013-06-20 07:25:29 +01:00
fdeweerdt 6de33f30fe Fix 1.1.1 missing return error 2013-06-18 10:38:14 -07:00
Miek Gieben d171a352d9 Small fix for go < 1.1 versions 2013-06-15 18:27:52 +01:00
Miek Gieben 6ee0baab56 anything escaped in domain name is legal
Allow all character after a \ in a domainname. It's escaped, it's
legal.
2013-06-13 19:41:37 +01:00
Miek Gieben b35306b755 Created two new types: Type and Class
Actually just go with Robert's suggestion as this seems the
cleanest way to do it. Also saves me from thinking about could
names for the new functions.
2013-06-08 14:09:37 +01:00
Miek Gieben c72535f2d6 Add TypeToTypeString and ClassToClassString
After some discussion with Robert Edmonds, these helper functions
seems in order. It is not what he requested (that was an RRType
and RRClass as new types), but is does make sense to add some
convience functions to save some typing. The dns package itself
also used these function (4 times). So clearly there is a need.

I'm not completely sold about the names.
2013-06-08 13:59:49 +01:00
Miek Gieben e8e8e84200 remove println 2013-06-05 22:33:15 +01:00
Miek Gieben f6c697f52b Fix IsDomainName
Make \.. legal (as it should be) and don't allocate a new var byte c
and every loop.
2013-06-05 22:06:02 +01:00
Miek Gieben 81941d4422 Update all copyright notices 2013-05-12 16:15:52 +02:00
Miek Gieben d53d9eab81 gofmt 2013-05-05 20:30:44 +02:00
Miek Gieben 235e892dfc Rename the RR types drop the RR_ prefix
This is also done in the official Go library. It also make the
code shorter.
2012-12-09 19:23:25 +01:00
Miek Gieben d758825590 more documentation 2012-12-02 10:14:53 +01:00
Miek Gieben d618b07666 documentation 2012-12-02 09:15:10 +01:00
Miek Gieben fa55001b4c Add tests and fix bug in the parser
torc wasn't set in some part resulting in parsing a 'A' while
in fact the parsed record type should have been returned.
2012-11-22 11:54:46 +01:00
Miek Gieben ac39024a25 gofmt 2012-11-21 23:20:56 +01:00
Miek Gieben aba66ed110 beter 2012-11-21 16:27:36 +01:00
Miek Gieben 37d3009cec Add escaped @ is ok 2012-11-21 15:59:00 +01:00
Miek Gieben 0351cc0ded Merge branch 'master' of github.com:miekg/dns 2012-09-07 20:38:30 +02:00
Miek Gieben cacd7c4dcd fix merge 2012-09-07 20:37:45 +02:00
Miek Gieben 09e07339e6 struct embedding 2012-09-05 16:31:13 +02:00
Miek Gieben a2d98be202 lowercase the names 2012-09-04 20:08:55 +02:00