Skip to content

Commit

Permalink
etcdmain: add more details to TLS HandshakeFailure
Browse files Browse the repository at this point in the history
Signed-off-by: Gyu-Ho Lee <gyuhox@gmail.com>
  • Loading branch information
gyuho committed Dec 1, 2017
1 parent a19672b commit b44b914
Showing 1 changed file with 15 additions and 4 deletions.
19 changes: 15 additions & 4 deletions etcdmain/etcd.go
Original file line number Diff line number Diff line change
Expand Up @@ -356,11 +356,22 @@ func identifyDataDirOrDie(dir string) dirType {
return dirEmpty
}

func setupLogging(cfg *config) {
cfg.ClientTLSInfo.HandshakeFailure = func(conn *tls.Conn, err error) {
plog.Infof("rejected connection from %q (%v)", conn.RemoteAddr().String(), err)
func logTLSHandshakeFailure(conn *tls.Conn, err error) {
state := conn.ConnectionState()
remoteAddr := conn.RemoteAddr().String()
serverName := state.ServerName
if len(state.PeerCertificates) > 0 {
cert := state.PeerCertificates[0]
ips, dns := cert.IPAddresses, cert.DNSNames
plog.Infof("rejected connection from %q (error %q, ServerName %q, IPAddresses %q, DNSNames %q)", remoteAddr, err.Error(), serverName, ips, dns)
} else {
plog.Infof("rejected connection from %q (error %q, ServerName %q)", remoteAddr, err.Error(), serverName)
}
cfg.PeerTLSInfo.HandshakeFailure = cfg.ClientTLSInfo.HandshakeFailure
}

func setupLogging(cfg *config) {
cfg.ClientTLSInfo.HandshakeFailure = logTLSHandshakeFailure
cfg.PeerTLSInfo.HandshakeFailure = logTLSHandshakeFailure

capnslog.SetGlobalLogLevel(capnslog.INFO)
if cfg.Debug {
Expand Down

0 comments on commit b44b914

Please sign in to comment.