إصدار الأداة المساعدة cURL 8.0

أصبحت أداة استقبال وإرسال البيانات عبر الشبكة curl عمرها 25 عامًا. وللاحتفال بهذا الحدث، تم تشكيل فرع رئيسي جديد لـ cURL 8.0. تم إصدار أول إصدار من الفرع السابق curl 7.x في عام 2000 ومنذ ذلك الحين زادت قاعدة التعليمات البرمجية من 17 إلى 155 ألف سطر من التعليمات البرمجية، وتم زيادة عدد خيارات سطر الأوامر إلى 249، وتم تنفيذ الدعم لـ 28 بروتوكول شبكة، و13 مكتبة تشفير، و3 مكتبات SSH، و3 مكتبات HTTP/3. يتم توزيع كود المشروع بموجب ترخيص Curl (وهو أحد أشكال ترخيص MIT).

بالنسبة لبروتوكول HTTP/HTTPS، تُتيح هذه الأداة إنشاء طلب شبكة بمرونة مع تحديد معلمات مثل ملف تعريف الارتباط (Cookie)، ووكيل المستخدم (user_agent)، والمرجع (referer)، وأي رؤوس أخرى. بالإضافة إلى 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 عامًا.

يعمل الإصدار الجديد على التخلص من 6 ثغرات أمنية في معالجات بروتوكولات TELNET وFTP وSFTP وGSS وSSH وHSTS، 5 منها تم تصنيفها على أنها طفيفة، وواحدة منها لها مستوى متوسط ​​من الخطورة (CVE-2023-27535، القدرة على إعادة استخدام اتصال FTP تم إنشاؤه مسبقًا مع معلمات أخرى، بما في ذلك عندما لا تتطابق بيانات اعتماد المستخدم). من بين التغييرات التي لا تتعلق بإزالة الثغرات الأمنية والأخطاء، فإن التغيير الوحيد الذي تمت ملاحظته هو نهاية الدعم للتجميع على الأنظمة التي لا تحتوي على أنواع بيانات 64 بت عاملة (يتطلب التجميع الآن وجود نوع "long long").

بعد وقت قصير من إصدار 8.0.0، تم إصدار الإصدار 8.0.1 لإصلاح خطأ تم اكتشافه مباشرة بعد الإصدار، مما تسبب في حدوث أعطال في بعض سيناريوهات الاختبار.

المصدر: opennet.ru

إضافة تعليق