summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/regress/lib/libtls/gotls/tls.go17
1 files changed, 8 insertions, 9 deletions
diff --git a/src/regress/lib/libtls/gotls/tls.go b/src/regress/lib/libtls/gotls/tls.go
index 88d58ab33b..4ce92eaef8 100644
--- a/src/regress/lib/libtls/gotls/tls.go
+++ b/src/regress/lib/libtls/gotls/tls.go
@@ -14,7 +14,6 @@ import "C"
14 14
15import ( 15import (
16 "errors" 16 "errors"
17 "fmt"
18 "time" 17 "time"
19 "unsafe" 18 "unsafe"
20) 19)
@@ -106,11 +105,11 @@ func NewClient(config *TLSConfig) (*TLS, error) {
106} 105}
107 106
108// Error returns the error message from the TLS context. 107// Error returns the error message from the TLS context.
109func (t *TLS) Error() string { 108func (t *TLS) Error() error {
110 if msg := C.tls_error(t.ctx); msg != nil { 109 if msg := C.tls_error(t.ctx); msg != nil {
111 return C.GoString(msg) 110 return errors.New(C.GoString(msg))
112 } 111 }
113 return "" 112 return errors.New("unknown error")
114} 113}
115 114
116// PeerCertProvided returns whether the peer provided a certificate. 115// PeerCertProvided returns whether the peer provided a certificate.
@@ -203,7 +202,7 @@ func (t *TLS) Connect(host, port string) error {
203 defer C.free(unsafe.Pointer(h)) 202 defer C.free(unsafe.Pointer(h))
204 defer C.free(unsafe.Pointer(p)) 203 defer C.free(unsafe.Pointer(p))
205 if C.tls_connect(t.ctx, h, p) != 0 { 204 if C.tls_connect(t.ctx, h, p) != 0 {
206 return fmt.Errorf("connect failed: %v", t.Error()) 205 return t.Error()
207 } 206 }
208 return nil 207 return nil
209} 208}
@@ -217,7 +216,7 @@ func (t *TLS) Handshake() error {
217 case ret == C.TLS_WANT_POLLOUT: 216 case ret == C.TLS_WANT_POLLOUT:
218 return errWantPollOut 217 return errWantPollOut
219 case ret != 0: 218 case ret != 0:
220 return fmt.Errorf("handshake failed: %v", t.Error()) 219 return t.Error()
221 } 220 }
222 return nil 221 return nil
223} 222}
@@ -231,7 +230,7 @@ func (t *TLS) Read(buf []byte) (int, error) {
231 case ret == C.TLS_WANT_POLLOUT: 230 case ret == C.TLS_WANT_POLLOUT:
232 return -1, errWantPollOut 231 return -1, errWantPollOut
233 case ret < 0: 232 case ret < 0:
234 return -1, fmt.Errorf("read failed: %v", t.Error()) 233 return -1, t.Error()
235 } 234 }
236 return int(ret), nil 235 return int(ret), nil
237} 236}
@@ -247,7 +246,7 @@ func (t *TLS) Write(buf []byte) (int, error) {
247 case ret == C.TLS_WANT_POLLOUT: 246 case ret == C.TLS_WANT_POLLOUT:
248 return -1, errWantPollOut 247 return -1, errWantPollOut
249 case ret < 0: 248 case ret < 0:
250 return -1, fmt.Errorf("write failed: %v", t.Error()) 249 return -1, t.Error()
251 } 250 }
252 return int(ret), nil 251 return int(ret), nil
253} 252}
@@ -261,7 +260,7 @@ func (t *TLS) Close() error {
261 case ret == C.TLS_WANT_POLLOUT: 260 case ret == C.TLS_WANT_POLLOUT:
262 return errWantPollOut 261 return errWantPollOut
263 case ret != 0: 262 case ret != 0:
264 return fmt.Errorf("close failed: %v", t.Error()) 263 return t.Error()
265 } 264 }
266 return nil 265 return nil
267} 266}