source-controller/pkg/git/libgit2/managed
Sunny 7f7490ebf0
libgit2/managed: fix race issues in ssh transport
Race conditions in ssh smart subtransport caused some goroutines to
panic, resulting in crashing the whole controller, mostly evident in
image-automation-controller CI runs. Panic recovery in the main thread
do not handle goroutine panics. So, the existing panic recovery code in
libgit2 Checkout() methods weren't able to handle it.

This change groups the fields in ssh smart subtransport that may be
accessed by multiple goroutines into a new struct with a mutex. Also
adds panic recovery in the created goroutine to handle any other
possible panics.

Signed-off-by: Sunny <darkowlzz@protonmail.com>
2022-06-03 01:45:18 +05:30
..
const.go libgit2: refactor max length values into constants 2022-04-07 19:10:50 +01:00
http.go fix docs, error handling and managed proxy auth 2022-05-27 14:01:23 +05:30
http_test.go fix panics on unmanaged http and proxy on managed http 2022-05-27 14:01:23 +05:30
init.go libgit2: enable managed transport by default 2022-05-24 10:46:32 +01:00
options.go libgit2: enforce context timeout 2022-05-27 13:59:50 +01:00
options_test.go Remove dependency on libgit2 credentials callback 2022-05-27 14:01:23 +05:30
ssh.go libgit2/managed: fix race issues in ssh transport 2022-06-03 01:45:18 +05:30
ssh_test.go fix panics on unmanaged http and proxy on managed http 2022-05-27 14:01:23 +05:30
transport.go remvoe support for sha1 and md5 hashing for public keys 2022-05-27 14:01:23 +05:30
transport_test.go remvoe support for sha1 and md5 hashing for public keys 2022-05-27 14:01:23 +05:30