Fix tests on Go 1.3 and greater

Go 1.3 and greater require ServerName or InsecureSkipVerify to be set.

https://codereview.appspot.com/67010043/
This commit is contained in:
William Tisäter 2014-05-27 00:47:47 +02:00
parent 0ddc86bbcc
commit 405dfd99c1
8 changed files with 58 additions and 59 deletions

View File

@ -10,18 +10,15 @@ import (
"time"
)
func testClientConfig(t *testing.T) (string, *Config) {
func testClientConfig(t *testing.T, NodeName string) (string, *Config) {
dir := tmpDir(t)
config := DefaultConfig()
config.Datacenter = "dc1"
config.DataDir = dir
// Adjust the ports
p := getPort()
config.NodeName = fmt.Sprintf("Node %d", p)
config.NodeName = NodeName
config.RPCAddr = &net.TCPAddr{
IP: []byte{127, 0, 0, 1},
Port: p,
Port: getPort(),
}
config.SerfLANConfig.MemberlistConfig.BindAddr = "127.0.0.1"
config.SerfLANConfig.MemberlistConfig.BindPort = getPort()
@ -37,7 +34,7 @@ func testClient(t *testing.T) (string, *Client) {
}
func testClientDC(t *testing.T, dc string) (string, *Client) {
dir, config := testClientConfig(t)
dir, config := testClientConfig(t, "testco.internal")
config.Datacenter = dc
client, err := NewClient(config)
@ -130,7 +127,7 @@ func TestClient_RPC(t *testing.T) {
}
func TestClient_RPC_TLS(t *testing.T) {
dir1, conf1 := testServerConfig(t)
dir1, conf1 := testServerConfig(t, "a.testco.internal")
conf1.VerifyIncoming = true
conf1.VerifyOutgoing = true
configureTLS(conf1)
@ -141,7 +138,7 @@ func TestClient_RPC_TLS(t *testing.T) {
defer os.RemoveAll(dir1)
defer s1.Shutdown()
dir2, conf2 := testClientConfig(t)
dir2, conf2 := testClientConfig(t, "b.testco.internal")
conf2.VerifyOutgoing = true
configureTLS(conf2)
c1, err := NewClient(conf2)

View File

@ -173,6 +173,7 @@ func (c *Config) KeyPair() (*tls.Certificate, error) {
func (c *Config) OutgoingTLSConfig() (*tls.Config, error) {
// Create the tlsConfig
tlsConfig := &tls.Config{
ServerName: c.NodeName,
RootCAs: x509.NewCertPool(),
InsecureSkipVerify: !c.VerifyOutgoing,
}
@ -205,6 +206,7 @@ func (c *Config) OutgoingTLSConfig() (*tls.Config, error) {
func (c *Config) IncomingTLSConfig() (*tls.Config, error) {
// Create the tlsConfig
tlsConfig := &tls.Config{
ServerName: c.NodeName,
ClientCAs: x509.NewCertPool(),
ClientAuth: tls.NoClientCert,
}

View File

@ -33,19 +33,17 @@ func configureTLS(config *Config) {
config.KeyFile = "../test/key/ourdomain.key"
}
func testServerConfig(t *testing.T) (string, *Config) {
func testServerConfig(t *testing.T, NodeName string) (string, *Config) {
dir := tmpDir(t)
config := DefaultConfig()
config.NodeName = NodeName
config.Bootstrap = true
config.Datacenter = "dc1"
config.DataDir = dir
// Adjust the ports
p := getPort()
config.NodeName = fmt.Sprintf("Node %d", p)
config.RPCAddr = &net.TCPAddr{
IP: []byte{127, 0, 0, 1},
Port: p,
Port: getPort(),
}
config.SerfLANConfig.MemberlistConfig.BindAddr = "127.0.0.1"
config.SerfLANConfig.MemberlistConfig.BindPort = getPort()
@ -77,7 +75,8 @@ func testServerDC(t *testing.T, dc string) (string, *Server) {
}
func testServerDCBootstrap(t *testing.T, dc string, bootstrap bool) (string, *Server) {
dir, config := testServerConfig(t)
name := fmt.Sprintf("Node %d", getPort())
dir, config := testServerConfig(t, name)
config.Datacenter = dc
config.Bootstrap = bootstrap
server, err := NewServer(config)
@ -248,7 +247,7 @@ func TestServer_RPC(t *testing.T) {
}
func TestServer_JoinLAN_TLS(t *testing.T) {
dir1, conf1 := testServerConfig(t)
dir1, conf1 := testServerConfig(t, "a.testco.internal")
conf1.VerifyIncoming = true
conf1.VerifyOutgoing = true
configureTLS(conf1)
@ -259,7 +258,7 @@ func TestServer_JoinLAN_TLS(t *testing.T) {
defer os.RemoveAll(dir1)
defer s1.Shutdown()
dir2, conf2 := testServerConfig(t)
dir2, conf2 := testServerConfig(t, "b.testco.internal")
conf2.Bootstrap = false
conf2.VerifyIncoming = true
conf2.VerifyOutgoing = true

View File

@ -1,2 +1,3 @@
V 150407190456Z 0A unknown /CN=testco.internal/ST=California/C=US/emailAddress=test@testco.com/O=TestCo/OU=Beta
V 150407194146Z 0B unknown /CN=testco.internal/ST=California/C=US/emailAddress=test@testco.com/O=TestCo/OU=Beta
V 150526223338Z 0C unknown /CN=*.testco.internal/ST=California/C=US/emailAddress=test@testco.com/O=TestCo/OU=Beta

View File

@ -1 +1 @@
0C
0D

View File

@ -1,22 +1,22 @@
-----BEGIN CERTIFICATE-----
MIIDtTCCAp2gAwIBAgIBCzANBgkqhkiG9w0BAQUFADCBmDELMAkGA1UEBhMCVVMx
MIIDtzCCAp+gAwIBAgIBDDANBgkqhkiG9w0BAQUFADCBmDELMAkGA1UEBhMCVVMx
CzAJBgNVBAgTAkNBMRYwFAYDVQQHEw1TYW4gRnJhbmNpc2NvMRwwGgYDVQQKExNI
YXNoaUNvcnAgVGVzdCBDZXJ0MQwwCgYDVQQLEwNEZXYxFjAUBgNVBAMTDXRlc3Qu
aW50ZXJuYWwxIDAeBgkqhkiG9w0BCQEWEXRlc3RAaW50ZXJuYWwuY29tMB4XDTE0
MDQwNzE5NDE0NloXDTE1MDQwNzE5NDE0NlowfDEYMBYGA1UEAxMPdGVzdGNvLmlu
dGVybmFsMRMwEQYDVQQIEwpDYWxpZm9ybmlhMQswCQYDVQQGEwJVUzEeMBwGCSqG
SIb3DQEJARYPdGVzdEB0ZXN0Y28uY29tMQ8wDQYDVQQKEwZUZXN0Q28xDTALBgNV
BAsTBEJldGEwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBALXNUbqVUjsspMHh
46PB37kI6rKzZlSsyaBYWsS19tdrwS83nSXZJlaMAVPLR/TR+b1P81zxZD8m8ZmQ
2bK70No5usFkdlbowVLAIMySIQmZF1tTLXbiCKldiwEjkOWa1xKwJauoM0XKnWkF
mLGDxIAl84DZaLgmNj2t/q8d+laDAgMBAAGjgagwgaUwCQYDVR0TBAIwADAdBgNV
HQ4EFgQUDNy9EoPn+YNrIlvkWMxh5QKS5JwwHwYDVR0jBBgwFoAUo/nrOfqvbee2
VklVKIFlyQEbuJUwCwYDVR0PBAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggr
BgEFBQcDAjAsBgNVHR8EJTAjMCGgH6AdhhtodHRwOi8vcGF0aC50by5jcmwvbXlj
YS5jcmwwDQYJKoZIhvcNAQEFBQADggEBABCvJP2zMF60ooDYLaaNuPcmkokWIp/n
X00dZ6y1aI063y8OE1CSY8rGv3W/ONkS3cOQvVhdAVtAzqGnDK3VsFZzmWR+tuqR
KUhkzcC0X4nNq91iik1dTj2skl1Jkq6lJhrY1sR6JXOSn68Iv2KAuLVNn5tC5hzB
WOK7S2ffqfof3eV+g0cgFNCzaS75cn8YlXBqQGpn5odcVDX8c80Xj/Si18wWDPR9
/kq5xKRsaFkKJYOoswRwoq9kwukruMndxf7/Az/YEHdimZKMpxfK/qzI0KUw4XO0
lpEkMZaA3l+xYB2fNHwlwyz77RNCoySCnii61hmxLNDwUiokgdJcY9U=
MDUyNjIyMzMzOFoXDTE1MDUyNjIyMzMzOFowfjEaMBgGA1UEAxQRKi50ZXN0Y28u
aW50ZXJuYWwxEzARBgNVBAgTCkNhbGlmb3JuaWExCzAJBgNVBAYTAlVTMR4wHAYJ
KoZIhvcNAQkBFg90ZXN0QHRlc3Rjby5jb20xDzANBgNVBAoTBlRlc3RDbzENMAsG
A1UECxMEQmV0YTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA4x6514o05YIc
qeurGljZ4GUfN1QxLZpak3HakL/u0nTiOvp17huaIjLShXz2ue2OhjtSc3XOAyTE
iaqN2eKQ+NOh/JjEfprRW1uUazA62zfTrJIcN/+cns9w6THPqgly3vrIcc1nQlCq
i2afjpzwvb+sTENybT1qqpWo7CiwPKMCAwEAAaOBqDCBpTAJBgNVHRMEAjAAMB0G
A1UdDgQWBBTPWuJjRGdhZgJblG4A5oglODsgDTAfBgNVHSMEGDAWgBSj+es5+q9t
57ZWSVUogWXJARu4lTALBgNVHQ8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEG
CCsGAQUFBwMCMCwGA1UdHwQlMCMwIaAfoB2GG2h0dHA6Ly9wYXRoLnRvLmNybC9t
eWNhLmNybDANBgkqhkiG9w0BAQUFAAOCAQEAiMI0plrXGPLayVM/TsBn4JIa0xIb
IPIAffMZHvjSn7nsPnn8H+Lii8D6vt2jx/46R6YUcEijDXBV9MsJ8uIRGHkv3B+B
UsmB5paA0YQO75zxL/M1JvLN+MbN8/2TFZmOgARLxxTC8vXOHHqzm4ajRhZCv9bb
EWwcZFu23uqA3YEGfwRec4MhazzLZ2azI9E4NBEJNCdyOqk56YESjotpbrv0yaag
iBzFnZcT9CcLqpC/WBPLwoeuQrZZANtcUhpamO4RLknyn04oSwIT5MBy9xYdlopT
r/5EDJViejLkB5kn322tt79WXH/ZmLRNfeIrs5PTrnENJYz7nNDp1yIeRw==
-----END CERTIFICATE-----

View File

@ -1,12 +1,12 @@
-----BEGIN CERTIFICATE REQUEST-----
MIIB1TCCAT4CAQAwgZQxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlh
MRYwFAYDVQQHEw1TYW4gRnJhbmNpc2NvMQ8wDQYDVQQKEwZUZXN0Q28xDTALBgNV
BAsTBEJldGExGDAWBgNVBAMTD3Rlc3Rjby5pbnRlcm5hbDEeMBwGCSqGSIb3DQEJ
ARYPdGVzdEB0ZXN0Y28uY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC1
zVG6lVI7LKTB4eOjwd+5COqys2ZUrMmgWFrEtfbXa8EvN50l2SZWjAFTy0f00fm9
T/Nc8WQ/JvGZkNmyu9DaObrBZHZW6MFSwCDMkiEJmRdbUy124gipXYsBI5DlmtcS
sCWrqDNFyp1pBZixg8SAJfOA2Wi4JjY9rf6vHfpWgwIDAQABoAAwDQYJKoZIhvcN
AQEFBQADgYEAG7SdzgaTcJ1sMJ+pH+42J9Fyp2SY+WGEP3dA7f1/Lwc1dFHeKLPL
X0Gv6DgNkxUwWOe/yncq+dkuUkDGx3M1FRvpKCKFAywp+j0NxIll7821/2Jvf5/f
BVHPmgUIzZEYz0d6vcCQl2RKd83wLWcR77JTrD2S1JqAEkrMw/xUa/s=
MIIBvjCCAScCAQAwfjELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWEx
DzANBgNVBAoTBlRlc3RDbzENMAsGA1UECxMEQmV0YTEaMBgGA1UEAxQRKi50ZXN0
Y28uaW50ZXJuYWwxHjAcBgkqhkiG9w0BCQEWD3Rlc3RAdGVzdGNvLmNvbTCBnzAN
BgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA4x6514o05YIcqeurGljZ4GUfN1QxLZpa
k3HakL/u0nTiOvp17huaIjLShXz2ue2OhjtSc3XOAyTEiaqN2eKQ+NOh/JjEfprR
W1uUazA62zfTrJIcN/+cns9w6THPqgly3vrIcc1nQlCqi2afjpzwvb+sTENybT1q
qpWo7CiwPKMCAwEAAaAAMA0GCSqGSIb3DQEBBQUAA4GBADYNANLRORU5zO5qCTZ5
m8jXfkVX2fDbiG5rdVbd9V4cYQ8/eulPmX/TZzY5qNuoT2zJZcOwrJWGtMofZra6
4kb5qNCNWHEUfVBM6WXi9rFO55DD83T9NsBxbi09QltqUNja6ueeLkJHgphpxXuU
1CJ8IOFdH/a1zETHO917GHii
-----END CERTIFICATE REQUEST-----

View File

@ -1,15 +1,15 @@
-----BEGIN RSA PRIVATE KEY-----
MIICWwIBAAKBgQC1zVG6lVI7LKTB4eOjwd+5COqys2ZUrMmgWFrEtfbXa8EvN50l
2SZWjAFTy0f00fm9T/Nc8WQ/JvGZkNmyu9DaObrBZHZW6MFSwCDMkiEJmRdbUy12
4gipXYsBI5DlmtcSsCWrqDNFyp1pBZixg8SAJfOA2Wi4JjY9rf6vHfpWgwIDAQAB
AoGAQNOSxg6CwPj9UulCa90w8mD8l3YjEiR+zP9UdnpQJ6aTv0t8bMeOxSOtQXzm
DqVlAR1mMQkebuprEhA1oGcaZGx5hYIfhad8k5e18nkfogMG2J23fjyw/Zvcsbpi
AebEHGwrPnGplG2AZ2knRVpQ0EkKLUZ3sHGQjCuh/srw5QECQQDb5vKCz181/wnE
0CVIAg61ibwyWNR2s3i2Xhsp0UmhbTSknP2mQzdUqegMB5Y5mbruXy46EHuia5H7
LnFXfx6BAkEA06VF154NirTBU6MCPtj0ynUkTFSYu7oJG7U+rMA7Bx4itLjAy76g
wniz6HWHMqgQP1G8mhkHYb6fmkBQY1V7AwJANjP07t1ioJKeu856ggdPzNuIcfiH
VkLirEEB/QrDVXDvmuu/ce37g3jl46EzHDuSYhM/97v8XYqaTwmhkmmZAQJAbFVq
3KVwdRF06+TCn3zaQE+Z1uBulZjyVJZ/kFmNXWVVioAPX7sh+qliHZkbLRjNyDuE
eLRbDPNQKtrEyzPUFQJAXQ4AKXWs1LMzNFueMH+qZ3NjX+GdVBrvdri7D+yzLXPL
IwNWljwTONXQHwwRlEHIQJVw85qfdLfNngHKEW5X7w==
MIICXgIBAAKBgQDjHrnXijTlghyp66saWNngZR83VDEtmlqTcdqQv+7SdOI6+nXu
G5oiMtKFfPa57Y6GO1Jzdc4DJMSJqo3Z4pD406H8mMR+mtFbW5RrMDrbN9Oskhw3
/5yez3DpMc+qCXLe+shxzWdCUKqLZp+OnPC9v6xMQ3JtPWqqlajsKLA8owIDAQAB
AoGBAJZEwQ7z2VW0hYSDcbzH5rfKECJKaRNUGfOOE99Lrha+0OPWzOoShyNzXsiF
SrTvkSoM29uaqQh5bjPrjVkIx4MrWcGX6LHH62e/AhraasNOd/goYET8LAYupAkg
Fydm2xhWdVFxHnHAreNsiEfal+yWe7vCPGHS46xLaYrj3xJJAkEA9YBj00FXSdla
GA3sGyuZzxrzWkkG9pI54rkYNEMPFbYR2rSK4sUG4RP5mstqFrU8lnbdMLKAxYfm
vQfnzje6/wJBAOzVGxpEcCM2Vyza7eJOSxcTGNkHcGrPPB5l9DZlfqqVwGetOLmA
f3dQB2HU1klLIBAJ1PyoCTyMZr8qk52Usl0CQBkqZhE7u3TogOHCW5eVapjeTF/O
6JXR+3kQPDjvPtac6UugAjSoucHMyGNjwqY9Qc6ytI3PXn/hJHfwHYT4FYUCQQCj
hGvHEhOerEk6RhpS0x3TW7MfPZynklf+4QPhfuga3XRP4PC2W3smpNHEAVDGoCEO
EcvFejuOW54hRUNQXLddAkEA1UERffW+WS/4waNcg2Qs69O7G1vQShlrwnI5ds27
1QMnb6NdKm8LKREqfND9Qt/Wptk5O4kgPwB6qsQE7D/dow==
-----END RSA PRIVATE KEY-----