Commit Graph

43 Commits

Author SHA1 Message Date
Miek Gieben e6b37d00af Cleanup and removals (#377)
* Cleanup and removals

Gut rawmsg.go as most functions are not used. Reword some documentation.
Add more types to be checked for name compression.

* Yeah, we do use these

* Remove this function as well - only used one
2016-06-13 19:44:38 +01:00
Michael Haro a465e84f54 Use encoding/binary's conversion functions when possible. (#364)
* Remove {un,}packUint{16,32}Msg functions.

unpackUint16Msg unpackUint32Msg packUint16Msg packUint32Msg implemented
functionality that is part of the encoding/binary package.

* Use encoding/binary's encoding in more places.
2016-06-08 16:38:42 +01:00
Miek Gieben 475ab80867 Remove (most) reflection
Remove the use of reflection when packing and unpacking, instead
generate all the pack and unpack functions using msg_generate.
This will generate zmsg.go which in turn calls the helper functions from
msg_helper.go.

This increases the speed by about ~30% while cutting back on memory
usage. Not all RRs are using it, but that will be rectified in upcoming
PR.

Most of the speed increase is in the header/question section parsing.
These functions *are* not generated, but straight forward enough. The
implementation can be found in msg.go.

The new code has been fuzzed by go-fuzz, which turned up some issues.

All files that started with 'z', and not autogenerated were renamed,
i.e. zscan.go is now scan.go.

Reflection is still used, in subsequent PRs it will be removed entirely.
2016-06-03 12:45:22 +01:00
Miek Gieben aed88e096f Remove the duplicate word length from the comment 2015-12-31 08:17:21 +00:00
Shawn Smith 94231e71fe Fix typos 2015-12-31 14:16:30 +09:00
Miek Gieben 0aa3021a83 Remove all copyright notices
Use the central COPYRIGHT file.
2014-09-11 20:57:37 +01:00
Andrew Tunnell-Jones 8772f9064c Make PackRR enforce RR data length limit
• Make rawSetRdlength return false if length would overflow
• Make PackRR assume rawSetRdlength returning false indicates an overflow
2014-04-29 05:03:01 +00:00
Miek Gieben 5d094e6e2d gofmt 2013-06-14 19:42:55 +01: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 98b677a97c Update the copy right for the original GO files 2013-05-12 16:07:06 +02:00
Miek Gieben afd4d24572 doc typo 2013-04-07 22:05:48 +01:00
Miek Gieben 22c2f9078e make them return booleans 2012-08-31 21:03:31 +02:00
Miek Gieben a20a5a9b06 make them return booleans 2012-08-31 21:03:03 +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 e4d9e184da Dont export any raw function 2012-08-24 15:06:15 +02:00
Miek Gieben 845f4a6992 dont export - minimize api 2012-08-24 12:42:41 +02:00
Miek Gieben 7562c68094 documentation updates 2012-05-03 08:53:38 +02:00
Miek Gieben 99d26fb386 documentation 2012-03-18 22:41:29 +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 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 3b4840e847 typo in the docs 2012-02-19 22:38:13 +01:00
Miek Gieben 18388eda25 dont need this either 2012-01-12 21:33:14 +01:00
Miek Gieben 7ddb5feb69 RawRdlength seems to work; 2012-01-12 21:10:29 +01:00
Miek Gieben 92a51b4374 Who wrote what 2012-01-12 10:53:19 +01:00
Miek Gieben 374e495534 More evil records to parse 2012-01-12 10:50:01 +01:00
Miek Gieben 76efc275a3 Add RawSetRdlength back in 2012-01-11 16:02:05 +01:00
Miek Gieben b5d73f1eff Implement compressible domain names 2012-01-11 11:19:07 +01:00
Miek Gieben 974c28d1b1 More fixes for compression 2012-01-11 11:13:17 +01:00
Miek Gieben 8cc24a1b9b Some tweaks 2012-01-10 10:54:39 +01:00
Miek Gieben d7a57ee174 Some tweaks 2012-01-10 09:02:13 +01:00
Miek Gieben 28f5e6c1ed Last few fixes and remove debugging prints 2012-01-10 08:55:55 +01:00
Miek Gieben cedf11f27b Working compression algo 2012-01-10 08:52:18 +01:00
Miek Gieben 1870766996 more stuff 2012-01-09 23:03:02 +01:00
Miek Gieben f90270014c This is a working name compression 2012-01-09 21:27:31 +01:00
Miek Gieben 848a337f1d Detect which name are applicable for compression 2012-01-09 16:24:19 +01:00
Miek Gieben cce190ee4a remove the faulty function 2011-12-17 20:14:57 +01:00
Miek Gieben b5c6ec8e5f Remove the non-working RawSetRdlength
Didn't work
2011-12-17 20:14:10 +01:00
Taral c1889c778d gofmt (excluding _examples) 2011-11-27 21:03:21 -08:00
Miek Gieben 6e403621e1 Fix NSID (or OPT option code 3) 2011-09-26 09:11:14 +02:00
Miek Gieben d59c57364a doc 2011-09-01 08:35:08 +02:00
Miek Gieben 7d2aabea76 re-add qperf 2011-08-08 16:29:13 +02:00
Miek Gieben c64f506103 Remove a packStruct - should improve performance 2011-08-08 15:28:19 +02:00
Miek Gieben 982f277a44 kill a packStruct 2011-08-08 14:09:05 +02:00