ยูทิลิตี้สำหรับรับและส่งข้อมูลผ่านเครือข่าย curl มีอายุ 25 ปี เพื่อเป็นเกียรติแก่เหตุการณ์นี้ จึงได้มีการสร้างสาขา cURL 8.0 ใหม่ที่สำคัญขึ้น เปิดตัวครั้งแรกของสาขาก่อนหน้าของ curl 7.x ก่อตั้งขึ้นในปี 2000 และตั้งแต่นั้นมาฐานโค้ดได้เพิ่มขึ้นจาก 17 เป็น 155 บรรทัดของโค้ด จำนวนตัวเลือกบรรทัดคำสั่งเพิ่มขึ้นเป็น 249 รองรับ 28 โปรโตคอลเครือข่าย มีการใช้งานไลบรารีการเข้ารหัส 13 ไลบรารี SSH 3 ไลบรารี และไลบรารี HTTP/3 3 ไลบรารี รหัสโครงการเผยแพร่ภายใต้ใบอนุญาต Curl (เวอร์ชันหนึ่งของใบอนุญาต MIT)
สำหรับ HTTP/HTTPS ยูทิลิตีนี้มอบความสามารถในการสร้างคำขอเครือข่ายด้วยพารามิเตอร์ เช่น คุกกี้ user_agent ผู้อ้างอิง และส่วนหัวอื่นๆ ได้อย่างยืดหยุ่น นอกเหนือจาก HTTPS, HTTP/1.x, HTTP/2.0 และ HTTP/3 แล้ว ยูทิลิตี้นี้ยังรองรับการส่งคำขอโดยใช้ SMTP, IMAP, POP3, SSH, Telnet, FTP, SFTP, SMB, LDAP, RTSP, RTMP และโปรโตคอลเครือข่ายอื่นๆ . ในเวลาเดียวกัน ไลบรารี libcurl กำลังได้รับการพัฒนา โดยจัดให้มี API สำหรับการใช้ฟังก์ชัน curl ทั้งหมดในโปรแกรมในภาษาต่างๆ เช่น C, Perl, PHP, Python
cURL 8.0 รุ่นใหม่ไม่มีนวัตกรรมที่สำคัญหรือการเปลี่ยนแปลง API และ ABI ที่ทำลายความสามารถในการทำงานร่วมกัน การเปลี่ยนแปลงหมายเลขเกิดจากความปรารถนาที่จะเฉลิมฉลองครบรอบ 25 ปีของโครงการ และในที่สุดก็รีเซ็ตตัวเลขหลักที่สองของเวอร์ชันซึ่งสะสมมานานกว่า 22 ปี
เวอร์ชันใหม่กำจัดช่องโหว่ 6 รายการในตัวจัดการสตรีม TELNET, FTP, SFTP, GSS, SSH, HSTS โดย 5 รายการถูกทำเครื่องหมายว่าเป็นช่องโหว่รอง และอีกรายการหนึ่งมีอันตรายระดับปานกลาง (CVE-2023-27535 ความสามารถในการนำกลับมาใช้ใหม่) การเชื่อมต่อ FTP ที่สร้างไว้ก่อนหน้านี้ด้วยพารามิเตอร์อื่นๆ รวมถึงเมื่อข้อมูลรับรองผู้ใช้ไม่ตรงกัน) ท่ามกลางการเปลี่ยนแปลงที่ไม่เกี่ยวข้องกับการกำจัดช่องโหว่และข้อผิดพลาด ข้อสังเกตเพียงอย่างเดียวคือการหยุดการสนับสนุนสำหรับการสร้างบนระบบที่ไม่มีประเภทข้อมูล 64 บิตที่ใช้งานได้ (ตอนนี้การสร้างจำเป็นต้องมีประเภท "ยาวยาว")
ไม่นานหลังจากการเปิดตัว 8.0.0 เวอร์ชัน 8.0.1 ก็ได้รับการเผยแพร่พร้อมกับการแก้ไขข้อบกพร่องที่พบอย่างร้ายแรงซึ่งนำไปสู่การล่มในสถานการณ์การทดสอบบางสถานการณ์
ที่มา: opennet.ru