2015-08-07 19:39:21 +10:00
|
|
|
|
package dns
|
|
|
|
|
|
|
|
|
|
import "testing"
|
|
|
|
|
|
|
|
|
|
func TestFuzzString(t *testing.T) {
|
2015-08-07 20:17:16 +10:00
|
|
|
|
testcases := []string{"", " MINFO ", " RP ", " NSEC 0 0", " \" NSEC 0 0\"", " \" MINFO \"",
|
|
|
|
|
";a ", ";a<><61><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
|
|
|
|
|
" NSAP O ", " NSAP N ",
|
2015-08-07 23:01:11 +10:00
|
|
|
|
" TYPE4 TYPE6a789a3bc0045c8a5fb42c7d1bd998f5444 IN 9579b47d46817afbd17273e6",
|
2015-08-08 01:56:49 +10:00
|
|
|
|
" TYPE45 3 3 4147994 TYPE\\(\\)\\)\\(\\)\\(\\(\\)\\(\\)\\)\\)\\(\\)\\(\\)\\(\\(\\R 948\"\")\\(\\)\\)\\)\\(\\ ",
|
2015-08-08 22:31:38 +10:00
|
|
|
|
"$GENERATE 0-3 ${441189,5039418474430,o}",
|
2015-08-08 22:41:46 +10:00
|
|
|
|
"$INCLUDE 00 TYPE00000000000n ",
|
|
|
|
|
"$INCLUDE PE4 TYPE061463623/727071511 \\(\\)\\$GENERATE 6-462/0",
|
2015-08-07 20:17:16 +10:00
|
|
|
|
}
|
2015-08-07 19:39:21 +10:00
|
|
|
|
for i, tc := range testcases {
|
|
|
|
|
rr, err := NewRR(tc)
|
|
|
|
|
if err == nil {
|
2015-08-08 01:26:37 +10:00
|
|
|
|
// rr can be nil because we can (for instance) just parse a comment
|
2015-08-07 20:17:16 +10:00
|
|
|
|
if rr == nil {
|
2015-08-07 19:39:21 +10:00
|
|
|
|
continue
|
|
|
|
|
}
|
2015-08-08 01:26:37 +10:00
|
|
|
|
t.Fatalf("parsed mailformed RR %d: %s", i, rr.String())
|
2015-08-07 19:39:21 +10:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|