Miek Gieben
ce360dab57
fmt
2014-01-12 10:22:04 +00:00
Miek Gieben
00a08d77fc
PackBuffer: slight cleanup in docs
2014-01-12 10:21:23 +00:00
Miek Gieben
7f8964662e
Merge branch 'majek/packwithbuffer' of https://github.com/majek/dns into bufpack
2014-01-12 10:17:35 +00:00
Miek Gieben
a56060b558
Cleanups for Copy()
...
Docs and slight code formatting issues.
2014-01-12 10:04:38 +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
Marek Majkowski
d18d87b37d
Introduce msg.PackBuffer() - it's like msg.Pack() but can reuse a byte buffer
...
msg.Pack() always allocates a byte slice. This is good for simplicity,
but in a serious application it's preferable to reuse byte slices to
reduce the GC overhead. This patch introduces a new public method:
PackBuffer(). It's exaclty like Pack() but is able to reuse a
given byte slice. It will still allocate a new slice if the given one
is too small.
2014-01-10 07:46:24 -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
7a27e05cb7
Remove setting compress to nil
...
Useless operation as compress is already nil from the
initialization.
2014-01-05 08:06:29 +00:00
soh335
e8a5f90957
if txt rdlength is 0, not read anymore
2014-01-04 17:30:08 +09: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
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