Commit Graph

12 Commits

Author SHA1 Message Date
Oleg Jukovec
46d44e1dfd
Fix build with OpenSSL 3.0 (#25)
* Fix build with OpenSSL 3.0

- FIPS_mode_set() does not exist in OpenSSL 3.0 [1]
- X509_check_* functions declarated in openssl/x509v3.h instead of openssl/x509.h [2]
- X509_chack_* functions have const char arg inserad of const unsigned char [2]
- skip MD4 tests if it is unsupported by OpenSSL
- the patch does not change behavior under OpenSSL version != 3
- the patch just fixes build under OpenSSL 3.0 and doesn't update deprecated code
or behavior

1. https://wiki.openssl.org/index.php/OpenSSL_3.0#Upgrading_from_the_OpenSSL_2.0_FIPS_Object_Module
2. https://www.openssl.org/docs/man3.0/man3/X509_check_host.html

* Add Ubuntu 22.04 runner to GitHub Actions go test workflow

* Fix flaky tests on Ubuntu 22.04

It is necessary to handle OpenSSL errors very carefully. Otherwise,
errors may appear in unexpected places. For example, we didn't catch
an error from EVP_DigestInit_ex() and it appears sometimes in conn.go:

func (c *Conn) getErrorHandler(rv C.int, errno error) func() error {
	errcode := C.SSL_get_error(c.ssl, rv) // <- here
2022-08-18 11:29:19 +03:00
Masih H. Derkani
597b8983b0
Address staticcheck issues
Fix `staticcheck` issues:
- S1028 use `fmt.Errorf` to construct formatted errors
- ST1017 yoda conditions
- ST1005 error message capitalization
- ST1006 avoid `self` as receiver name
- S1030 use `buf.String`
- S1011 avoid redundant loop when `append` suffices
- SA4006 unused value
- S1019 remove redundant capacity on `make` call
- SA2002 `t.Fatal` called outside of test

Exported error violates ST1012, which is ignored by this PR since rename may cause breaking changes.

Remove redundant parentheses wrapping, and use CamelCase naming while at it.
2021-07-19 16:53:28 +01:00
Andrew Harding
85c7f475b6 Fix hostname validation with an IPv4 SAN
Go can use 16 bytes to store an IPv4 address in a net.IP so it needs to
be converted to a 4-byte representation first.
2018-04-17 08:51:22 -06:00
Jeff Wendling
37dddbfb29 add AUTHORS and unify copyright info 2017-06-05 18:07:03 -06:00
Jeff Wendling
0d0212094c remove useless build tags 2017-06-05 18:07:03 -06:00
Jeff Wendling
2980c58b82 fix bug with hostname validation on newer openssl
the signature for the X509_check_host function takes
a char **peername, and our vendored hostname code does
not have this argument. hilarity ensues!!

so since we never use it, just have our vendored code
ignore it.

Change-Id: I4fdf0a4cd43738e4cc7261e4e2d16a9deef1ac82
2017-03-02 15:14:35 -07:00
JT Olds
42391d89a5 add license
Change-Id: I4642fb9b97256ec6b3ffbe403272efc690bf1606
2014-05-09 15:38:13 -06:00
Jeff Wendling
fa8eb6a573 space monkey internal commit export
[katamari commit: 9bd04d1d78e85304589695c66e328d23128f509c]
2014-02-25 19:01:49 +00:00
Jeff Wendling
751143ef9c space monkey internal commit export
[katamari commit: ce8d2d36f887ab400c77a4eed9e37d02ecc8968a]
2014-02-25 17:36:24 +00:00
Andrew Harding
9191dc4a2c space monkey internal commit export
[katamari commit: 77dd3ea8a00bdc73be495e9b06c491a85b4521ff]
2014-01-24 01:27:18 +00:00
JT Olds
053d794fe5 space monkey internal commit export
[katamari commit: 66d3bf715795d3696ca37003fba5dba1af7ffacf]
2014-01-20 19:29:56 +00:00
JT Olds
a9b372afa5 space monkey internal commit export
[katamari commit: 53135767bbc8a5d26c9a2db6e3e66791f36398b8]
2014-01-20 19:29:46 +00:00