4

特定のネットワーク環境で git を使用すると、TLS パケットではなく SSL パケットが送信され、「gnutls_hanshake() failed(): A TLS packet with unexpected length was receive」と表示されます。これが、それらの間の WireShark ログから発見できる唯一の違いです。

成功の結果

ここに画像の説明を入力

失敗した結果

ここに画像の説明を入力

Ubuntu 12.04、x86-64 バージョンを使用しています。そして、この問題は MacBook と 11.10 の問題にも現れました。しかし、Win7 と Git Gui で試してみると、エラーは発生しませんでした。

また、自宅のpppoeやカフェのWiFiなど、他のネットワーク環境に切り替えると、Ubuntu 12.04(同じ設定、同じOS)で問題が解消されました。

どうすればよいか教えてください。少なくとも、この問題について MIS と議論しなければならない場合でも、なぜこれが起きてはならないのかを理解することができます。

ありがとう !

PS.1。ask Ubuntuに記載されている解決策を試しましたが、うまくいきませんでした。

PS.2。Filezillaにもこの問題があったようです。しかし、彼らが問題を解決する方法を見つけることができません(そして git に適用されます)。

4

1 に答える 1

0

GitはHTTP接続にlibcurlを使用します。

ライブラリのランタイム構成(ライブラリにある可能性があります)はわかりませんが、Git自体を変更して、TLSのみの接続を使用するように強制できる場合があります。チェックアウトhttp.c. この目的のlibcurl関数は、引数CURLOPT_SSLVERSIONとCURL_SSLVERSION_TLSv1を持つcurl_easy_setoptである必要があります。

于 2012-07-03T13:56:39.360 に答える