ابزار دریافت و ارسال اطلاعات از طریق شبکه، 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 سالگی پروژه و در نهایت تنظیم مجدد رقم دوم نسخه است که بیش از 22 سال است انباشته شده است.
نسخه جدید 6 آسیبپذیری را در کنترلکنندههای جریان TELNET، FTP، SFTP، GSS، SSH، HSTS از بین میبرد که 5 مورد به عنوان جزئی علامتگذاری شدهاند و یکی دارای سطح خطر متوسط است (CVE-2023-27535، قابلیت استفاده مجدد اتصال FTP قبلا ایجاد شده با پارامترهای دیگر، از جمله زمانی که اعتبار کاربر مطابقت ندارد). در میان تغییراتی که به حذف آسیبپذیریها و خطاها مربوط نمیشود، تنها نکته توقف پشتیبانی برای ساخت سیستمهایی است که انواع دادههای 64 بیتی کار نمیکنند (ساختمان اکنون به وجود نوع "طولانی طولانی" نیاز دارد).
مدت کوتاهی پس از انتشار 8.0.0، نسخه 8.0.1 با رفع اشکالی که به شدت پیدا شده بود منتشر شد که منجر به خرابی در برخی از سناریوهای آزمایشی شد.
منبع: opennet.ru