มีเหตุผลของปัญหามันเป็นgnutls
แพคเกจ มันทำงานแปลก ๆ หลังพร็อกซี แต่openssl
ทำงานได้ดีแม้ในเครือข่ายที่อ่อนแอ ดังนั้นวิธีแก้ปัญหาคือการที่เราควรรวบรวมกับgit
openssl
หากต้องการทำสิ่งนี้ให้เรียกใช้คำสั่งต่อไปนี้:
sudo apt-get update
sudo apt-get install build-essential fakeroot dpkg-dev
sudo apt-get build-dep git
mkdir ~/git-openssl
cd ~/git-openssl
apt-get source git
dpkg-source -x git_1.7.9.5-1.dsc
cd git-1.7.9.5
(อย่าลืมแทนที่1.7.9.5
ด้วย git เวอร์ชันจริงในระบบของคุณ)
แล้วแก้ไขdebian/control
ไฟล์ (เรียกใช้คำสั่งนี้gksu gedit debian/control
) และแทนที่ทุกกรณีด้วยlibcurl4-gnutls-dev
libcurl4-openssl-dev
จากนั้นสร้างแพ็คเกจ (ถ้ามันล้มเหลวในการทดสอบคุณสามารถลบบรรทัดTEST=test
ออกจากไฟล์debian/rules
):
sudo apt-get install libcurl4-openssl-dev
sudo dpkg-buildpackage -rfakeroot -b
ติดตั้งแพ็คเกจใหม่:
i386: sudo dpkg -i ../git_1.7.9.5-1_i386.deb
x86_64: sudo dpkg -i ../git_1.7.9.5-1_amd64.deb
แรงบันดาลใจจากที่นี่: https://github.com/xmendez/wfuzz/wiki/PyCurlSSLBug