* core: add listening for other protocols Allow CoreDNS to listen for TLS request coming over port 853. This can be enabled with `tls://` in the config file. Implement listening for grps:// as well. a Corefile like: ~~~ . tls://.:1853 { whoami tls } ~~~ Means we listen on 1853 for tls requests, the `tls` config item allows configuration for TLS parameters. We *might* be tempted to use Caddy's Let's Encrypt implementation here. * Refactor coredns/grpc into CoreDNS This makes gRPC a first class citizen in CoreDNS. Add defines as being just another server. * some cleanups * unexport the servers * Move protobuf dir * Hook up TLS properly * Fix test * listen for TLS as well. README updates * disable test, fix package * fix test * Fix tests * Fix remaining test * Some tests * Make the test work * Add grpc test from #580 * fix crash * Fix tests * Close conn * README cleanups * README * link RFC
28 lines
682 B
Go
28 lines
682 B
Go
package dnsserver
|
|
|
|
import "testing"
|
|
|
|
func TestNormalizeZone(t *testing.T) {
|
|
for i, test := range []struct {
|
|
input string
|
|
expected string
|
|
shouldErr bool
|
|
}{
|
|
{".", "dns://.:53", false},
|
|
{".:54", "dns://.:54", false},
|
|
{"..", "://:", true},
|
|
{"..", "://:", true},
|
|
} {
|
|
addr, err := normalizeZone(test.input)
|
|
actual := addr.String()
|
|
if test.shouldErr && err == nil {
|
|
t.Errorf("Test %d: Expected error, but there wasn't any", i)
|
|
}
|
|
if !test.shouldErr && err != nil {
|
|
t.Errorf("Test %d: Expected no error, but there was one: %v", i, err)
|
|
}
|
|
if actual != test.expected {
|
|
t.Errorf("Test %d: Expected %s but got %s", i, test.expected, actual)
|
|
}
|
|
}
|
|
}
|