diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/regress/lib/libtls/gotls/tls.go | 15 | ||||
| -rw-r--r-- | src/regress/lib/libtls/gotls/tls_test.go | 14 |
2 files changed, 23 insertions, 6 deletions
diff --git a/src/regress/lib/libtls/gotls/tls.go b/src/regress/lib/libtls/gotls/tls.go index 4ce92eaef8..c6aab7789f 100644 --- a/src/regress/lib/libtls/gotls/tls.go +++ b/src/regress/lib/libtls/gotls/tls.go | |||
| @@ -53,11 +53,22 @@ func NewConfig() (*TLSConfig, error) { | |||
| 53 | }, nil | 53 | }, nil |
| 54 | } | 54 | } |
| 55 | 55 | ||
| 56 | // Error returns the error message from the TLS configuration. | ||
| 57 | func (c *TLSConfig) Error() error { | ||
| 58 | if msg := C.tls_config_error(c.tlsCfg); msg != nil { | ||
| 59 | return errors.New(C.GoString(msg)) | ||
| 60 | } | ||
| 61 | return errors.New("unknown error") | ||
| 62 | } | ||
| 63 | |||
| 56 | // SetCAFile sets the CA file to be used for connections. | 64 | // SetCAFile sets the CA file to be used for connections. |
| 57 | func (c *TLSConfig) SetCAFile(filename string) { | 65 | func (c *TLSConfig) SetCAFile(filename string) error { |
| 58 | caFile := C.CString(filename) | 66 | caFile := C.CString(filename) |
| 59 | defer C.free(unsafe.Pointer(caFile)) | 67 | defer C.free(unsafe.Pointer(caFile)) |
| 60 | C.tls_config_set_ca_file(c.tlsCfg, caFile) | 68 | if C.tls_config_set_ca_file(c.tlsCfg, caFile) != 0 { |
| 69 | return c.Error() | ||
| 70 | } | ||
| 71 | return nil | ||
| 61 | } | 72 | } |
| 62 | 73 | ||
| 63 | // InsecureNoVerifyCert disables certificate verification for the connection. | 74 | // InsecureNoVerifyCert disables certificate verification for the connection. |
diff --git a/src/regress/lib/libtls/gotls/tls_test.go b/src/regress/lib/libtls/gotls/tls_test.go index 3a430924a7..f48be5ddda 100644 --- a/src/regress/lib/libtls/gotls/tls_test.go +++ b/src/regress/lib/libtls/gotls/tls_test.go | |||
| @@ -21,7 +21,7 @@ const ( | |||
| 21 | 21 | ||
| 22 | var ( | 22 | var ( |
| 23 | certNotBefore = time.Unix(0, 0) | 23 | certNotBefore = time.Unix(0, 0) |
| 24 | certNotAfter = certNotBefore.Add(1000000 * time.Hour) | 24 | certNotAfter = certNotBefore.Add(1000000 * time.Hour) |
| 25 | ) | 25 | ) |
| 26 | 26 | ||
| 27 | // createCAFile writes a PEM encoded version of the certificate out to a | 27 | // createCAFile writes a PEM encoded version of the certificate out to a |
| @@ -81,7 +81,9 @@ func TestTLSBasic(t *testing.T) { | |||
| 81 | t.Fatal(err) | 81 | t.Fatal(err) |
| 82 | } | 82 | } |
| 83 | defer cfg.Free() | 83 | defer cfg.Free() |
| 84 | cfg.SetCAFile(caFile) | 84 | if err := cfg.SetCAFile(caFile); err != nil { |
| 85 | t.Fatal(err) | ||
| 86 | } | ||
| 85 | 87 | ||
| 86 | tls, err := NewClient(cfg) | 88 | tls, err := NewClient(cfg) |
| 87 | if err != nil { | 89 | if err != nil { |
| @@ -135,7 +137,9 @@ func TestTLSSingleByteReadWrite(t *testing.T) { | |||
| 135 | t.Fatal(err) | 137 | t.Fatal(err) |
| 136 | } | 138 | } |
| 137 | defer cfg.Free() | 139 | defer cfg.Free() |
| 138 | cfg.SetCAFile(caFile) | 140 | if err := cfg.SetCAFile(caFile); err != nil { |
| 141 | t.Fatal(err) | ||
| 142 | } | ||
| 139 | 143 | ||
| 140 | tls, err := NewClient(cfg) | 144 | tls, err := NewClient(cfg) |
| 141 | if err != nil { | 145 | if err != nil { |
| @@ -202,7 +206,9 @@ func TestTLSInfo(t *testing.T) { | |||
| 202 | t.Fatal(err) | 206 | t.Fatal(err) |
| 203 | } | 207 | } |
| 204 | defer cfg.Free() | 208 | defer cfg.Free() |
| 205 | cfg.SetCAFile(caFile) | 209 | if err := cfg.SetCAFile(caFile); err != nil { |
| 210 | t.Fatal(err) | ||
| 211 | } | ||
| 206 | 212 | ||
| 207 | tls, err := NewClient(cfg) | 213 | tls, err := NewClient(cfg) |
| 208 | if err != nil { | 214 | if err != nil { |
