From 740fc926aacba9e05021a20cbebcef7adcc3dcdc Mon Sep 17 00:00:00 2001 From: Filippo Valsorda Date: Tue, 24 Jan 2017 18:56:43 +0000 Subject: [PATCH] tris: add single line TLSDEBUG=short --- 13.go | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/13.go b/13.go index 814d454..9698e70 100644 --- a/13.go +++ b/13.go @@ -13,8 +13,11 @@ import ( "fmt" "hash" "io" + "log" "os" + "runtime" "runtime/debug" + "strings" "sync/atomic" "time" @@ -572,4 +575,21 @@ func (hs *serverHandshakeState) traceErr(err error) { } fmt.Fprintf(os.Stderr, "\n%s\n", debug.Stack()) } + if os.Getenv("TLSDEBUG") == "short" { + var pcs [4]uintptr + frames := runtime.CallersFrames(pcs[0:runtime.Callers(3, pcs[:])]) + for { + frame, more := frames.Next() + if frame.Function != "crypto/tls.(*halfConn).setErrorLocked" && + frame.Function != "crypto/tls.(*Conn).sendAlertLocked" && + frame.Function != "crypto/tls.(*Conn).sendAlert" { + file := frame.File[strings.LastIndex(frame.File, "/")+1:] + log.Printf("%s:%d (%s): %v", file, frame.Line, frame.Function, err) + return + } + if !more { + break + } + } + } }