osx - Problems installing Homebrew on a new OS X installation (SSL error) -
have fresh os x installation here (new vm), , when trying install homebrew ssl error.
fatal: unable access 'https://github.com/homebrew/homebrew/': unknown ssl protocol error in connection github.com:-9847 failed during: git fetch origin master:refs/remotes/origin/master -n --depth=1
this command i'm using:
ruby -e "$(curl -fssl https://raw.githubusercontent.com/homebrew/install/master/install)"
checked around little bit , tried adding --insecure (or -k) , removing s https, doesn't seem help. --insecure server aborted ssl handshake.
anybody have idea wrong here? "xcode-select --install" has been run well.
edit: following suggestion below dumped packaged tcpdump pcap file , opened tshark. i'm getting:
1 0.000000 my_ip_removed -> 192.30.252.130 tcp 78 49451→443 [syn] seq=0 win=65535 len=0 mss=1460 ws=32 tsval=170479114 tsecr=0 sack_perm=1
2 0.128228 192.30.252.130 -> my_ip_removed tcp 78 443→49451 [syn, ack] seq=0 ack=1 win=14240 len=0 mss=1436 sack_perm=1 tsval=2830778812 tsecr=170479114 ws=1024 [ethernet frame check sequence incorrect]
3 0.128303 my_ip_removed -> 192.30.252.130 tcp 66 49451→443 [ack] seq=1 ack=1 win=132416 len=0 tsval=170479237 tsecr=2830778812
4 0.150128 my_ip_removed -> 192.30.252.130 ssl 255 client hello
5 0.150913 192.30.252.130 -> my_ip_removed ssl 1158 continuation data [ethernet frame check sequence incorrect]
6 0.150916 192.30.252.130 -> 81.26.52.196 tcp 64 443→49451 [fin, ack] seq=1101 ack=190 win=4237312 len=0 [ethernet frame check sequence incorrect]7 0.150961 my_ip_removed -> 192.30.252.130 tcp 66 49451→443 [ack] seq=190 ack=1101 win=131328 len=0 tsval=170479257 tsecr=2830778812
8 0.150990 my_ip_removed -> 192.30.252.130 tcp 66 49451→443 [ack] seq=190 ack=1102 win=131328 len=0 tsval=170479257 tsecr=2830778812
9 0.151046 my_ip_removed -> 192.30.252.130 tcp 66 49451→443 [fin, ack] seq=190 ack=1102 win=132416 len=0 tsval=170479257 tsecr=2830778812
10 0.151156 192.30.252.130 -> my_ip_removed tcp 64 443→49451 [rst] seq=1102 win=4237312 len=0 [ethernet frame check sequence incorrect]
if clean install of os x suspect problem may rare issue (bug?) in securetransport
triggered proxy or firewall settings somewhere on route github.
your libcurl
compiled against security.framework
. error code -9847
means record overflow:
a record overflow occurred. value –9847 description record overflow occurred. available in os x v10.3 , later.
the error may pinpointed line in tls1callouts.c. seems client receives record unexpected length.
it might related similar issue in gnutls:.
there several issues tls connections , f5 firewall, , looks case. firewall terminates tls session if client hello between 256 , 512 bytes. if case can verify using wireshark.
the solution adopted in later versions of gnutls add padding: https://gitlab.com/gnutls/gnutls/commit/b6d29bb1737f96ac44a8ef9cc9fe7f9837e20465
you try investigate further tcpdump/wireshark (replace en0 interface name):
$ sudo tcpdump -i en0 —n -s 0 -b 524288 -w test.pcap port 443
view pcap
file in wireshark (or capture directly in wireshark) detailed info each phase. there explanation of ssl/tls
on www.sans.org. comparison, (successful) conversation goes this:
$ tshark -r test.pcap 1 0.000000 10.0.0.125 -> 192.30.252.129 tcp 78 51229→443 [syn] seq=0 win=65535 len=0 mss=1460 ws=32 tsval=235773429 tsecr=0 sack_perm=1 2 0.133049 192.30.252.129 -> 10.0.0.125 tcp 74 443→51229 [syn, ack] seq=0 ack=1 win=14240 len=0 mss=1460 sack_perm=1 tsval=1851779047 tsecr=235773429 ws=1024 3 0.133148 10.0.0.125 -> 192.30.252.129 tcp 66 51229→443 [ack] seq=1 ack=1 win=131744 len=0 tsval=235773562 tsecr=1851779047 4 0.138296 10.0.0.125 -> 192.30.252.129 ssl 255 client hello 5 0.278168 192.30.252.129 -> 10.0.0.125 tlsv1.2 1490 server hello 6 0.278567 192.30.252.129 -> 10.0.0.125 tlsv1.2 1490 certificate 7 0.278696 10.0.0.125 -> 192.30.252.129 tcp 66 51229→443 [ack] seq=190 ack=2849 win=129632 len=0 tsval=235773707 tsecr=1851779083 8 0.278910 192.30.252.129 -> 10.0.0.125 tlsv1.2 399 server key exchange 9 0.278991 10.0.0.125 -> 192.30.252.129 tcp 66 51229→443 [ack] seq=190 ack=3182 win=130720 len=0 tsval=235773707 tsecr=1851779083 10 0.339768 10.0.0.125 -> 192.30.252.129 tlsv1.2 141 client key exchange 11 0.551009 192.30.252.129 -> 10.0.0.125 tcp 66 443→51229 [ack] seq=3182 ack=265 win=15360 len=0 tsval=1851779144 tsecr=235773767 12 0.551185 10.0.0.125 -> 192.30.252.129 tlsv1.2 157 change cipher spec, encrypted handshake message 13 0.688512 192.30.252.129 -> 10.0.0.125 tcp 66 443→51229 [ack] seq=3182 ack=356 win=15360 len=0 tsval=1851779186 tsecr=235773977 14 0.691643 192.30.252.129 -> 10.0.0.125 tlsv1.2 157 change cipher spec, encrypted handshake message 15 0.691720 10.0.0.125 -> 192.30.252.129 tcp 66 51229→443 [ack] seq=356 ack=3273 win=130976 len=0 tsval=235774117 tsecr=1851779186 16 0.692351 10.0.0.125 -> 192.30.252.129 tlsv1.2 215 application data
if case workaround might compile custom libcurl
openssl
support , make git use new libcurl
. alternatively use ssh
instead of https
connecting github (if have public key registered @ github).
Comments
Post a Comment