Miek Gieben
a34cf6798a
Fix URI record
...
When the URI record became an RFC they slightly changed the format.
Make the needed changes.
2015-07-21 07:47:38 +01:00
Roland Shoemaker
3d5407e128
Fix CAA packing bug
2015-07-07 20:20:25 +01:00
Miek Gieben
2f503031b0
Rename to ReadMsgHeader
...
Slightly more descriptive and remove the underscore of _DNSHeaderSize
and call is headerSize.
2015-07-03 09:31:53 +01:00
Alex Sergeyev
b0d6ff308e
Fixed things found in code review (comments, semantics).
2015-07-02 22:42:02 -04:00
Alex Sergeyev
53dfadf090
Shortened ReadMsg using ReadMsgBytes, added a constant.
2015-06-28 20:21:37 -04:00
Roland Shoemaker
020002b9e0
Switch setCAA, CAA.String to presentation format, add various encoding helpers
2015-06-17 16:06:31 -07:00
Roland Shoemaker
1995ce2be4
Fix unpacking
2015-06-16 13:55:19 -07:00
Roland Shoemaker
522331911d
Enable CAA parsing
2015-06-16 02:01:28 -07:00
Alex Sergeyev
32bf0823e2
Support for almost all possible ways to format HINFO record
2015-05-07 12:09:05 -04:00
Alex Sergeyev
2e9176243e
Updated NSAP support according to RFC1706
...
New text format 0x and no more length in the object itself.
2015-05-07 10:18:47 -04:00
Miek Gieben
adbd535787
Small doc update
2015-02-20 11:42:29 +00:00
Miek Gieben
574544eb08
Documentation updates
2015-02-20 11:39:15 +00:00
Miek Gieben
1f764075b6
Golint find, remove float64
2015-02-19 11:41:12 +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
b6ff23905a
Finish implementing IPSECKEY
...
Remaining tests and unpack for IPSECKEY.
2015-01-25 12:24:39 +00:00
Miek Gieben
477cb4d3fa
Implement IPSECKEY
...
IPSECKEY is kinda strange because it has a type selector which tells
what type a later rdata field has. The type can be a domainname, address
or v6 address. You sort of wish Go would have a union type for this, but
alas.
Currently this is implemented as:
GatewayA net.IP `dns:"a"`
GatewayAAAA net.IP `dns:"aaaa"`
GatewayName string `dns:"domain-name"`
In the IPSECKEY. Only one of these is active at any one time. When
parsing/packing and unpacking the value of GatewayType is checked
to see what to do.
Parsing from strings is also implemented properly and tested. The Unpack
function still needs work.
2015-01-25 10:58:30 +00:00
Miek Gieben
7777789184
Some remarks on wks
2015-01-13 10:39:13 +00:00
Miek Gieben
5d8dbab4c8
Remove the fmt Formatters
...
Formatters are not needs you can access the members just fine.
However the rdata Field access function are handy and non-trivial,
extend them and add a basic test.
2015-01-13 10:20:34 +00:00
John Graham-Cumming
3e97ddb0e0
Add tests for LOC record String() generation and fix small problems
...
Added tests for the cmToM function to make sure that it's output is
correct. Modified the way the Altitude is written to a string. Previously,
if the altitude was an exact number of meters it would always be reported
with two decimal places. This is not needed. Conversely if it was not
an exact number of meters the cm were removed.
2014-12-10 13:39:58 +00:00
Hugo Landau
d170819bc7
Remove extraneous spaces in String() methods
...
Some types append a space after Hdr.String(). However, since Hdr.String() appends its own space, this leads to the output of two spaces.
2014-11-28 19:12:16 +00:00
Miek Gieben
d33af8db79
Update test and gofmt
2014-11-09 16:09:49 +00:00
Miek Gieben
eff0e9354f
Apply 433ab7b569
here too
...
The same Sprintf was used here, so this can be optimized as well.
Thanks to @andrewtj for the ping.
2014-11-09 08:03:03 +00:00
Miek Gieben
deb8fe381f
Cleanup the identical parsing functions.
...
Some records are copies from others: DNSKEY, CDNSKEY and KEY are
identical. DS, CDS and DLV are too and even RRSIG and SIG.
The parsing functions and the definition can all be used for parsing
all these identical types.
2014-11-02 11:29:55 +00:00
Miek Gieben
678d31fa77
Merge branch 'master' of github.com:miekg/dns
2014-11-02 11:12:07 +00:00
Miek Gieben
a945149fab
Print unknown record type with CLASSX and TYPEX
...
When printing unknown records it is best to print the entire thing
as unknown, instead of relying on the internal defined type. An
example A record, printed as an unknown one:
miek.nl. 3600 CLASS1 TYPE1 \# 4 0a000101
2014-11-02 11:06:05 +00:00
Andrew Tunnell-Jones
91b8c69a22
Implement SIG(0) signing and verification
...
This is based on @miekg's sig0 branch. That branch diverged from master
and I didn't want to wander off on a rebase.
As implemented there's no allowance for multi-envelope (TCP) support.
TODO:
* unpackUint32() could be moved out and used elsewhere
* tests
* multi-envelope support (if useful)
2014-11-01 11:32:46 +00:00
Miek Gieben
6bbae6c6ea
Add CDNSKEY support
2014-10-23 22:18:23 +01:00
Alex Sergeyev
efb2e66078
Added support for mnemonic names in CERT rr
...
This behavior matches what bind does with thir formatting.
2014-10-07 21:27:25 -04:00
Miek Gieben
02dd474056
Dont export typeToRR (old rr_mk)
2014-09-16 07:31:20 +01:00
Miek Gieben
bcb640ccaf
Make rr_mk public and call it TypeToRR
2014-09-16 07:15:06 +01:00
Miek Gieben
3d8aa78c0a
Merge pull request #127 from asergeyev/txtescapezscan
...
Fixed TXT parsing with escaped chars
2014-09-12 07:18:46 +01:00
Alex Sergeyev
ae7d973e40
Updated code to handle escapes in TXT RDATA
...
Added test demonstrating error in TXT parsing.
Fixed lexing process and slightly updated conversion
back to strings.
See #126 for details.
2014-09-11 21:23:38 -04:00
Miek Gieben
0aa3021a83
Remove all copyright notices
...
Use the central COPYRIGHT file.
2014-09-11 20:57:37 +01:00
Miek Gieben
4d3dac9c36
Add the OPENPGPKEY RR.
2014-08-14 09:18:08 +01:00
Miek Gieben
fb3a1585ad
fmt
2014-07-27 20:38:11 +01:00
Miek Gieben
b691354313
Add OPENPGPKEY, but without type code
2014-07-24 09:29:42 +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
6295f64c1c
Make sprintDomain public as NameToString
2014-04-23 20:58:55 +01:00
Miek Gieben
2dc3e40828
add TODO
2014-04-23 20:54:17 +01:00
Andrew Tunnell-Jones
38d78bafe4
Escape @ when printing/unpacking domain names
2014-03-01 22:30:52 +00:00
Andrew Tunnell-Jones
6fd4d29ced
Fix bounds overflow in sprintTxt
...
Passing excessively long strings (>256*4+3) to sprintTxt would result in
overflowing src. Fix isn't as efficient but simplifies the code.
2014-03-01 02:42:47 +00:00
Andrew Tunnell-Jones
0c98da613d
Fix bounds check in nextByte
2014-03-01 02:37:24 +00:00
Andrew Tunnell-Jones
3f834a04fb
Update domain name and TXT string escape behaviour
...
Changes to domain name packing and unpacking:
* Escape dot, backslash, brackets, double-quote, semi-colon and space
* Tab, line feed and carriage return become \t, \n and \r
Changes to TXT string packing and unpacking:
* Escape backslash and double-quote
* Tab, line feed and carriage return become \t, \n and \r
* Other unprintables to \DDD
Stringers do the equivalent of putting domain names and TXT strings
to the wire and back.
There is some duplication of logic. I found performance suffered when
I broke the logic out into smaller functions. I think this may have
been due to functions not being inlined for various reasons.
2014-02-26 10:55:11 +00:00
Miek Gieben
87b380cad5
Revert "Use dLen for domain name length"
...
This reverts commit b595183834
.
Fix up the tests too.
2014-02-14 20:20:22 +00:00
Miek Gieben
89cc033428
Be much more precice in msg.Len()
...
There is still a one-off in EDNS0 records, but I'm not too bothered with
that one.
2014-02-12 12:59:42 +00:00
Miek Gieben
b595183834
Use dLen for domain name length
2014-02-12 12:50:16 +00:00
Miek Gieben
be9467466c
Formatting and reshuffle some code
2014-01-12 10:11:23 +00:00
Miek Gieben
3342ee9d85
Rename dupIP to copyIP
...
Also make the function shorter.
2014-01-12 10:09:54 +00:00
Miek Gieben
189f4a23fc
Merge pull request #74 from majek/marek/deepcopy
...
msg.Copy() makes a deep-copy of the msg object
2014-01-12 02:03:17 -08:00
Miek Gieben
82b2b6ec82
QuoteToASCII is needed
...
When not using this, TXT strings get interpreted by Golang, making
TXT behave unexpected. QuoteToASCII has surpises too, see
TestTxtEqual(), but this, I hope, lesser of an issue.
2014-01-11 17:17:38 +00:00
Miek Gieben
a49cd38336
Add quoteString function.
...
This is to just quote a string s -> "s"
2014-01-11 16:57:36 +00:00
Marek Majkowski
2cfad667d7
msg.Copy() makes a deep-copy of the msg object
...
There was a copy function that did shallow copies of the msg
object. Export it and make it support proper deep copying.
2014-01-10 08:49:45 -08:00
Miek Gieben
9f5db7b72c
Disable the unfinished CAA support
...
CAA was partially implemented, it's better to do it 100% until that
time handle CAA as an unknown record.
Closes #70 :
2014-01-07 07:44:06 +00:00
Miek Gieben
e01f57407d
Put all len() function on one line
...
At least for the shorter ones.
2014-01-04 13:05:57 +00:00
Miek Gieben
bca469e6b1
Fix other string len occurences
...
Add the +1 in the correct places for the RR length calculations.
2014-01-04 12:50:18 +00:00
Miek Gieben
9e73cb688f
Fix NAPTR's length function
...
Add the 3 bytes for the length byte of the strings.
Close issue #67 .
2014-01-04 11:30:20 +00:00
Miek Gieben
6b32a711e9
Allocate just enough space
...
Remove the len()*2, and replace it with len()+1. The current
len() impl. of the types is good enough to be more precise.
2013-12-06 11:30:33 +00:00
Miek Gieben
70ee966106
Fix the unknown record sign test
...
Don't make up new error in msg.Pack when there are perfectly fine
errors to return.
2013-12-06 09:43:26 +00:00
Miek Gieben
6c9cc37ac3
Small tweaks to the pull request from Alex
2013-12-06 07:46:08 +00:00
Miek Gieben
110f6c9ea7
Test for TYPE65534 records, copy now copies slices correctly
2013-12-06 07:37:48 +00:00
Miek Gieben
ca52132cef
reverse this until I have evidence it would be needed
2013-12-05 19:48:08 +00:00
Skinner, Alex
edd235088a
Added TYPE65534 record type so that zone scanning doesn't die upon encountering one. Fixed DNSSEC signature verification.
2013-12-04 12:58:20 -05:00
Miek Gieben
ff7806469c
Implement EID and NIMLOC records
2013-10-19 21:31:12 +01:00
Miek Gieben
221e0c0e4e
some doc updates
2013-10-13 13:27:50 +01:00
Miek Gieben
35bcc78d76
Implement PX record
2013-10-13 13:23:02 +01:00
Miek Gieben
cc2c42cc91
Implement GPOS record
2013-10-13 13:01:33 +01:00
Miek Gieben
961e137891
Add NSAP and NSAP-PTR record
2013-10-13 12:25:08 +01:00
Miek Gieben
67065da09c
Fix the CAA type
2013-09-27 08:51:20 +00:00
Miek Gieben
b6a2d1fb5e
Allow empty rdata in records
...
Empty or no rdata is allowed for dynamic updates, so test if this
works for packing/unpacking. It only fails for TSIG (which is
never seen in zone files), SOA (which is not seen like this in dyn.
updates) and WKS (just an old record).
2013-08-31 20:24:52 +01:00
Miek Gieben
f99d511479
if A or AAAA is nil return empty string
...
Now it returns <nil> for nil value, which can not be parsed
back to the record.
2013-08-31 20:07:13 +01:00
Miek Gieben
80f55713f1
comment update
2013-08-30 20:15:05 +01:00
Miek Gieben
fdcdc6dbf6
Add test to zero rdata (for dyn updates)
...
This triggerd a bunch of failures, the most important one
is the packing and zero length domain name now works.
2013-08-26 21:11:24 -07:00
Miek Gieben
9fa50d8ac2
Fix the nsec/3 length calculation
...
This overshoots, 'cause it only counts the windows, not the
actual bitmap sizes in the window. But it keeps the code
simple and fast.
2013-06-27 20:19:02 +01:00
Miek Gieben
b651c7ea1f
Fix TXT lenght again, but now it looks more right
2013-06-27 14:43:57 +00:00
Miek Gieben
245be76edf
Revert "Fix length computation for TXT"
...
This reverts commit 795a69a6ec
.
2013-06-26 22:22:31 +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
Marc Capdevielle
795a69a6ec
Fix length computation for TXT
2013-06-06 14:02:43 +02:00
Miek Gieben
c66494c6c5
Resolv merge conflicts
2013-05-12 19:08:37 +02:00
Miek Gieben
98b677a97c
Update the copy right for the original GO files
2013-05-12 16:07:06 +02:00
Miek Gieben
e1151d6edc
Update the Zone structure for NSEC and NSEC3
2013-05-07 09:44:21 +02:00
Miek Gieben
6c9efcdf1f
Small tweaks
2013-04-30 16:56:30 +02:00
Miek Gieben
495b7d6552
Add UID/GID/UINFO record
2013-04-30 16:42:04 +02:00
Miek Gieben
8285ae4e56
add uinfo uid gid and unspec rr type number
2013-04-30 15:20:01 +02:00
Miek Gieben
9d9f5e0b95
Implement CAA
2013-04-30 15:04:07 +02:00
Miek Gieben
8d0b1a32cf
Add the code, but does fit in the map anymore
2013-04-27 17:02:28 +01:00
Miek Gieben
0ddecce7e6
remove useless comment
2013-04-17 08:38:10 +01:00
Miek Gieben
d098e9fdce
Lengh is 6 bytes for eui48
2013-04-16 15:38:15 +01:00
Miek Gieben
f43b7368bd
Add tests for EUIxx
2013-04-16 08:41:35 +01:00
Miek Gieben
740ad9674c
Allow EUI48 and EUI46 to be parsed
2013-04-16 08:41:35 +01:00
Miek Gieben
4c7a8b4985
Add EUI48 (108) and EUI64 (109)
...
This is an implementation of
http://tools.ietf.org/html/draft-jabley-dnsext-eui48-eui64-rrtypes-02
2013-04-16 08:40:24 +01:00
Miek Gieben
a00f1d82de
remove these printlns
2013-03-20 22:35:13 +00:00
Miek Gieben
ed28992106
Merge branch 'master' of github.com:miekg/dns
2013-02-09 08:36:28 +01:00
Miek Gieben
cd10853288
Make Len() and Copy() private
...
I don't think anybody will needs these, msg.Len() is still
available. Severly cuts back on the amount of exported functions.
2013-02-09 08:35:17 +01:00
Miek Gieben
8adb7c519c
Flag bad rdlength as an error
2013-02-08 16:39:21 +01:00
Miek Gieben
ed0aa9b5fb
remove newline
2013-01-27 17:18:54 +01:00
Miek Gieben
be7b4d5873
Start to add support for json marshalling
2013-01-24 21:13:37 +01:00
Miek Gieben
a86aa5cdb6
Fix the rest of the URI stuff
2013-01-20 15:45:19 +01:00
Miek Gieben
27c20aff55
Fix URI
2013-01-20 15:43:40 +01:00
Miek Gieben
2e02b42558
Fix documentation too
2012-12-09 20:20:16 +01:00