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
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
9b8e8578e4
comment tweak
2013-11-10 18:41:55 +00:00
Miek Gieben
27263c64b1
gofmt
2013-10-19 21:41:13 +01:00
Miek Gieben
ff7806469c
Implement EID and NIMLOC records
2013-10-19 21:31:12 +01:00
Miek Gieben
f569ea2f95
Allow "dns:-" tag in msg to mean dont pack this
2013-10-17 18:26:26 +01:00
Miek Gieben
b435d836c6
gofmt
2013-10-15 14:21:47 +00: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
fc7a8472dc
isnt used
2013-10-01 10:27:08 +00:00
Miek Gieben
67065da09c
Fix the CAA type
2013-09-27 08:51:20 +00:00
Miek Gieben
4e6b3a5afc
Check for the end of the message
2013-09-22 19:35:10 +01:00
Ask Bjørn Hansen
55c1f95213
Support the new RFC6891 EDNS0 SUBNET option code
...
Also keep support for the old draft code
2013-09-19 22:31:28 -07: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
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
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
6ef2debe4e
Add copy for an entire message, private for now
2013-08-23 22:53:05 +00:00
Miek Gieben
09d7d3e79d
Some TODO updates
2013-06-29 09:50:43 +01: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
55aa4480c7
Fix some typos
2013-06-27 19:46:26 +01:00
Miek Gieben
61919d8713
Add all the compressible types to Len()
...
Len() now performs its duty, question is, *is* this now faster/better
than just packing a Msg, checkings its lenght and discarding the buffer.
2013-06-27 09:07:01 +00:00
Miek Gieben
1ad76fe65b
Added packLen
...
packLen() returns the length of an uncompressed packet buffer, this
is used when packing a packet. This is needed for compression. When
compression is used, we first create the full packet and *then*
compress it. If we use Len() which accounts for compression, we can
get buffer overruns, when packing the (then still uncompressed) packet.
2013-06-26 22:18:09 +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
a317648fa3
Add some more TODOs to Pack and kill the println
...
This closes #46 (for now :-) )
2013-06-20 07:28:51 +01: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
Miek Gieben
b697d25ed9
Remove unneed string conversion here
2013-06-14 11:38:04 +00:00
Miek Gieben
9ee7c27e18
Fix rawSetRdlength
...
When searching for the start of the rdata, the offset wasn't properly
calculated. This only impacted names with \DDD in it (weirdly enough).
2013-06-14 11:35:06 +00:00
Miek Gieben
3f348f173b
\DDD to buf parsing fails (sometimes)
...
Added test (that fails for now)
2013-06-14 07:31:22 +01: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
320d981509
Add Algo-signal-draft impl. for EDNS0
2013-05-11 21:02:17 +02:00
Miek Gieben
ec9ac92fad
Half the parsing of the EDNS LLQ package
2013-05-08 23:03:02 +02:00
Miek Gieben
6ecde82c20
Remove UPDATE_LEASE to UL
...
The "other" edns0 option will then become LONG_LIVED_QUERIES which
is way to long to be practical, so I want to make it LLQ, UPDATE_LEASE
then needs to be come UL.
This will probably impact no-one, because noone uses this (I hope)
2013-05-08 22:28:19 +02:00
Miek Gieben
709d11aa2c
update documentation
2013-05-06 22:23:13 +02:00
Miek Gieben
d53d9eab81
gofmt
2013-05-05 20:30:44 +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
cb4c191bd3
more docs
2013-04-27 17:12:22 +01:00
Miek Gieben
8d0b1a32cf
Add the code, but does fit in the map anymore
2013-04-27 17:02:28 +01:00
Miek Gieben
d075d4cad1
update readme
2013-04-27 16:57:33 +01:00
Miek Gieben
f43b7368bd
Add tests for EUIxx
2013-04-16 08:41:35 +01:00
Miek Gieben
ba6c414fe4
Return an error when packStruct fails
...
When doing the recursion be sure to catch the error that
might be generated.
Reported-by: madotsuki
2013-03-18 17:56:48 +00:00
Miek Gieben
99d23ee4a7
docs
2013-03-01 09:12:43 +01: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
ababac6b57
Exclude msg.Compress from json
2013-01-24 20:46:07 +01:00
Miek Gieben
951af98c7e
fix multiple edns0 option code
2013-01-22 16:41:41 +01:00
Miek Gieben
81c44fbac6
Grree, typo
2013-01-20 18:16:47 +01:00
Miek Gieben
e66c2a1324
m.Size isnt used
2012-12-14 13:33:24 +01:00
Miek Gieben
9147aad21e
need to add test for dynamic updates
2012-12-09 21:17:16 +01:00
Miek Gieben
29fa0ac7c0
unpack: allow for multiple edns0 options
2012-12-09 21:11:15 +01:00
Miek Gieben
9705bb8077
gofmt
2012-12-09 20:18:11 +01:00
Miek Gieben
f56b237012
Fix zonesigning branch
2012-12-09 20:16:46 +01:00
Miek Gieben
940b786161
Merge conflict resolution
2012-12-09 20:15:31 +01:00
Miek Gieben
7fb499889a
Type rename
2012-12-09 20:11:56 +01: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
3609f3e7a5
gofmt -s
2012-12-09 19:07:31 +01:00
Miek Gieben
ff22456520
Also check when unpacking for domainnames > 255
2012-12-06 10:55:31 +01:00
Miek Gieben
4c6d89f727
PackDomainName: check for 255 or more octects
...
Adhire to the spec.
2012-12-06 10:48:55 +01:00
Miek Gieben
f732827187
Add new error and fmt it
2012-12-06 10:40:14 +01:00
Miek Gieben
d758825590
more documentation
2012-12-02 10:14:53 +01:00
Miek Gieben
2a3b818b95
Use much more descriptive names for the maps
...
Alg_str -> AlgorithmToString
Rr_str -> TypeToString
And for the reverse maps also.
2012-12-02 09:29:54 +01:00
Miek Gieben
db014f9891
remove NSEC3 errors
2012-12-02 09:21:38 +01:00
Miek Gieben
ac39024a25
gofmt
2012-11-21 23:20:56 +01:00
Miek Gieben
9e02a40cc8
Merge branch 'reader'
2012-11-21 22:32:23 +01:00
Miek Gieben
7bd7a65e4d
Add CAA
2012-11-20 16:53:58 +01:00
Miek Gieben
67343920d5
Add CDS type
2012-11-20 16:52:18 +01:00
Miek Gieben
4737bfa319
Add the all important RKEY
2012-11-20 16:48:28 +01:00
Miek Gieben
3686d24ca7
Add NINFO record
2012-11-20 16:42:16 +01:00
Miek Gieben
f7956a96e6
ATMA
2012-11-20 14:32:06 +01:00
Miek Gieben
d34c05f4fc
Add def. of SIDN RR
2012-11-20 14:14:00 +01:00
Miek Gieben
f6896bea4f
Add X25 Resource Record
2012-11-20 14:07:16 +01:00
Miek Gieben
35744e52f8
semi add the NULL record
2012-11-20 13:53:41 +01:00
Miek Gieben
534b3ddfd8
Actually parse the uint64 as uint64, not as uint48
2012-11-19 12:30:42 +01:00
Miek Gieben
27de9bad36
Actually parse the whole uint64
2012-11-19 12:26:13 +01:00
Miek Gieben
4aea3d193b
Add L32 record
2012-11-17 21:32:02 +01:00
Miek Gieben
0c3a90193a
Add the NID record
2012-11-17 21:26:48 +01:00
Miek Gieben
bf85adb03e
Fix \DDD printing and parsing
2012-11-15 14:26:08 +01:00
Miek Gieben
5cb0346b60
\DDD in PackDomain works
...
Unpacking does not insert \DDD yet
2012-11-15 13:51:15 +01:00
Alex Polvi
ec8d3d51d1
initial stab at edns update lease http://files.dns-sd.org/draft-sekar-dns-ul.txt
2012-10-15 18:37:19 +01:00
Miek Gieben
3c5c9da8be
we already know the length of message
2012-10-11 13:06:27 +02:00
Miek Gieben
c5f0ecbdd8
in case of error do get the exact tag
2012-10-11 12:58:43 +02:00
Miek Gieben
6e43b3b666
Remove Tag.Get() and just look at the raw strings
2012-10-11 12:57:08 +02:00
Miek Gieben
506a4237e5
no nil checks
2012-10-10 21:00:47 +02:00
Miek Gieben
83b362dce6
optimization
2012-10-09 22:06:35 +02:00
Miek Gieben
d0d9c92612
fix typo
2012-10-09 22:01:57 +02:00
Miek Gieben
f38ce1b9b5
These non descriptive errors can go
2012-10-09 21:19:12 +02:00
Miek Gieben
570bf8dc69
Use proper error in packing and unpacking
...
All the relevant functions now return an error instead of
a simple boolean. This greatly approves the feedback to coders.
Spotted some fishy error handling along the way and fix that too.
2012-10-09 21:17:54 +02:00
Miek Gieben
099c19d5b2
Fix errors
2012-10-09 20:25:25 +02:00
Miek Gieben
4ebfc6b220
Merge branch 'v2'
2012-09-19 21:01:39 +02:00
Miek Gieben
3e1111c6b3
concurrent signing implementation
2012-09-12 21:22:28 +02:00
Miek Gieben
449c2c013d
Rename ErrXfrSoa to ErrSOA
2012-09-12 21:13:57 +02:00
Miek Gieben
3a6edfa2c9
fmt
2012-09-10 20:51:19 +02:00
Miek Gieben
379cb2483a
I dont think these need to be exported
2012-09-09 13:24:21 +02:00
Miek Gieben
e9ea2d7750
Fix more robust, but also nack more about non qualified names
2012-08-31 20:57:16 +02:00
Miek Gieben
7be4f3b18d
comment out all println, no need to worry people with that
2012-08-31 10:23:50 +02:00
Miek Gieben
86b16ccd9e
make PackDomainName faster by removing these ifs. also fix test
2012-08-30 16:45:11 +02:00
Miek Gieben
a2b2a604e2
dont panic, just return
2012-08-28 18:25:55 +02:00
Miek Gieben
e4fb00c34d
Fix handling of non fully qualified domain names
...
When PackDomain sees such a name it calls panic.
All panic now use the prefix 'dns:'
2012-08-28 18:21:23 +02:00
Miek Gieben
468d937c8f
much stricter memory allocation for msg
...
Only allocate what you need=+1 (just to be sure)
2012-08-26 22:29:48 +02:00
Miek Gieben
03af57964a
Add a length that taks compression into account
...
Currently only ownername compression is done, but its a good
start.
2012-08-26 20:46:24 +02:00
Miek Gieben
7444d67bfd
tweaks
2012-08-25 22:40:32 +02:00
Miek Gieben
2a391d079b
fmt
2012-08-25 11:32:11 +02:00
Miek Gieben
845f4a6992
dont export - minimize api
2012-08-24 12:42:41 +02:00
Miek Gieben
6f7aad15d8
documenation
2012-08-21 17:36:58 +02:00
Miek Gieben
b0fc5a2f22
re-export these - I use them in unbound
2012-08-20 18:03:15 +02:00
Miek Gieben
7b406f80ce
dont export
2012-08-17 08:34:46 +02:00
Miek Gieben
b1140cec5f
dont export
2012-08-17 08:34:17 +02:00
Miek Gieben
73b6d37885
cleanup api, dont export Year68
2012-08-17 08:29:45 +02:00
Miek Gieben
a9126f1b54
Add RT type
2012-08-10 09:22:50 +02:00
Miek Gieben
f05b532a3f
gofmt
2012-08-08 11:13:28 +02:00
Miek Gieben
1e58ea2d5f
more sane logging
2012-08-07 08:28:56 +02:00
Miek Gieben
1faf557ac1
Remove unused stuff
2012-08-05 21:11:41 +02:00
Miek Gieben
2d2b4f5e64
tweaks to give more power to unbound package
2012-07-01 20:58:54 +02:00
Miek Gieben
534433a714
gofmt -w
2012-06-20 20:16:36 +02:00
Miek Gieben
0be3b7c8a3
really add TLSA
2012-06-04 13:57:26 +02:00
Miek Gieben
814731aae3
really add tsla
2012-06-04 13:54:43 +02:00
Miek Gieben
89ec077d8f
Support the WKS record
2012-06-02 17:33:49 +02:00
Miek Gieben
fb0623fbb2
change comments
2012-06-01 22:23:21 +02:00
Miek Gieben
de95ac0bb3
gofmt
2012-06-01 13:35:52 +02:00
Miek Gieben
bb376b18b3
Add size received to a pkt
2012-06-01 10:05:27 +02:00
Miek Gieben
1bf0864632
First pass for edns subnet support
2012-05-31 21:40:07 +02:00
Miek Gieben
29365cc9d8
more consistent naming
2012-05-31 19:33:12 +02:00
Miek Gieben
b0c12388e8
Give edns0 support as much need upgrade
...
Its now much nicer and more Go like. In essence ENDS0
is a sort of a mini RR parser.
2012-05-31 18:36:27 +02:00
Miek Gieben
7a3af5b729
Support $GENERATE (the bind extension).
...
It is even better than the bind one, because all records are
supported (as long as the output is valid)
2012-05-20 15:28:27 +02:00
Miek Gieben
3611c4d458
fmt
2012-05-05 17:37:48 +02:00
Miek Gieben
9cabad70a8
Remove Rtt from dns.Msg, does not belong there
2012-05-05 09:49:33 +02:00
Miek Gieben
be93e4bf2d
Also add the remote server. TODO, but handy incase of async queries/replies
2012-05-04 23:25:41 +02:00
Miek Gieben
fc599d23fe
Save rtts for clients
2012-05-04 23:18:29 +02:00
Miek Gieben
1948cd2a90
Use go vetted struct tags
...
They had the form: "domain-name", now they are key value pairs (key is
always dns: `dns:"domain-name"`
2012-04-29 21:55:29 +02:00
Miek Gieben
4128822bbf
Faster check
2012-04-24 23:23:30 +02:00
Taral
5fc37375db
Always use "." for the root domain.
2012-03-17 23:43:12 -07:00
Miek Gieben
33c60cc532
Set *ALL* headers bits, now showing CD and AD
...
Fill in the missing pieces of the header
2012-03-09 20:42:40 +01:00
Miek Gieben
1009d83753
Fix opt not as last record
2012-03-06 19:28:34 +01:00
Miek Gieben
3232814d1b
Fix client side TSIG
...
Redesign of TSIG. Validation is on the TOOD - this can be
done in the same way as in the server.
2012-03-01 22:40:34 +01:00
Miek Gieben
b07a05d5ca
prefix errors with dns:
2012-02-29 21:13:16 +01:00
Miek Gieben
99a7a57713
Upgrade the definition of domain name
2012-02-28 20:47:25 +01:00
Miek Gieben
e816e64e3e
doc tweaks, Len() tweaks
2012-02-28 20:43:08 +01:00
Miek Gieben
ea57a49d94
Allow mnemonic algorithm numbers in DS (and DS-like) records
2012-02-27 19:17:58 +01:00
Miek Gieben
b7f997cc6e
Fix setting the rdlength for compressed names
...
RawSetRdlength was working with a 0xC00 bitmask which
should have been 0xC0.
2012-02-26 18:23:21 +01:00
Miek Gieben
f6f91203d1
Also look at the msg header when validating
2012-02-25 19:12:02 +01:00
Miek Gieben
843abbef36
Fix nsec3verify for wildcard at the n.c. level
...
When a wildcard is not denied and the closest encloser *is*
denied we have a problem.
Thank to Peter van Dijk for pinging me
2012-02-24 21:26:01 +01:00
Miek Gieben
c7dd37b000
Fix TXT validation
2012-02-22 22:11:40 +01:00
Miek Gieben
b47f11ff9c
Dont know what I wanted with this
2012-02-19 15:49:02 +01:00
Miek Gieben
73299288aa
Remove the TODO
2012-02-19 15:38:21 +01:00
Miek Gieben
9bdd445088
HIP pack support - not tested
2012-02-19 15:37:27 +01:00