libnbd-release-notes-1.14(1) LIBNBD libnbd-release-notes-1.14(1)

libnbd-release-notes-1.14 - یادداشت‌های انتشار libnbd نسخه 1.14

این سند یادداشت‌های انتشار نسخه پایدار 1.14 از libnbd است. این بخش تغییرات عمده نسبت به نسخه 1.12 را شرح می‌دهد.

نسخه libnbd 1.14.0 در تاریخ 1 August 2022 منتشر شد.

هیچ مشکل امنیتی در این نسخه یافت نشد.

اگر با مشکلی امنیتی مواجه شدید، لطفاً فایل SECURITY را در کد منبع مطالعه فرمایید (به‌صورت برخط در: https://gitlab.com/nbdkit/libnbd/blob/master/SECURITY). برای آگاهی از مشکلات امنیتی پیشین در libnbd، به libnbd-security(3) مراجعه نمایید.

هیچ رابط برنامه‌نویسی (API) جدیدی در این نسخه اضافه نشده است.

بهینه‌سازی‌هایی در تابع nbd_pread_structured(3) اعمال شد (توسط Eric Blake).

بهبودهای عملکردی متعدد در بایندرهای پایتون: تابع "nbd.pread" اکنون از تخصیص حافظه و کپی اضافه جلوگیری می‌کند. بافرها اکنون می‌توانند به "nbd.Buffer.from_bytearray" منتقل شوند. متدهای جدید "nbd.Buffer.{to,from}_buffer" امکان کنترل بر رونوشت‌برداری و اشتراک‌گذاری "nbd.Buffer" را فراهم می‌کنند. هر شیء شبه‌بافر می‌تواند در "nbd.aio_{pread,pwrite}" استفاده شود. فراخوانی "len(nbd.Buffer(n))" اکنون کار می‌کند. پیام‌های خطا هنگام ارسال انواع داده نادرست به چند API بهبود یافتند. رفع نحوه استفاده از "PyGILState". (توسط Eric Blake)

متد "AioBuffer" در زبان Golang اکنون در صورت استفاده نادرست panic صادر می‌کند (توسط Nir Soffer).

در آزمون‌های golang، از "GOTRACEBACK=crash" استفاده می‌شود تا در صورت بروز خرابی، دامپ کامل حافظه (core dump) دریافت شود.

قابلیت kTLS اکنون (به‌صورت شفاف) در صورت در دسترس بودن در کرنل و GnuTLS کار خواهد کرد. استفاده از kTLS در خروجی اشکال‌زدایی مشخص خواهد شد. (توسط Daiki Ueno، František Krenželok)

ابزار جدید nbddump(1) که می‌تواند محتوای یک سرور NBD را به‌صورت بهینه به شکل هگز (hexdump) خروجی دهد.

ابزار nbdcopy(1) اکنون هنگام کپی از حداقل/اندازه ترجیحی بلوک سرور NBD تبعیت می‌کند که این امر کارایی آن را افزایش داده و از بروز مشکل در برخی پیکربندی‌های qemu-nbd که رعایت حداقل اندازه بلوک برای عملکرد صحیح آن‌ها الزامی است، جلوگیری می‌نماید.

آزمون‌های جدید برای پشتیبانی از شناسه منبع یکپارچه (URI) با ساختار "nbd+vsock://".

رفع بن‌بست نادر TLS هنگام خواندن از سرورهای کند، و پشتیبانی از خاموش‌سازی تمیز هنگام اتصال به qemu-nbd از طریق TLS (با تشکر از Michael Ablassmeier).

این کتابخانه اکنون از پرچم GnuTLS با نام "GNUTLS_NO_SIGNAL" (در صورت در دسترس بودن) استفاده می‌کند که اطمینان می‌دهد اتصالات TLS در موارد خاص خرابی سرور نباید باعث خروج برنامه اصلی با سیگنال "SIGPIPE" شوند. (کتابخانه Libnbd مدت‌هاست از "MSG_NOSIGNAL" در اتصالات غیر TLS استفاده می‌کند که اثر مشابهی دارد.)

بهبودهای گوناگونی در آزمون‌های فازی (fuzzing) ایجاد شد، از جمله پشتیبانی از حالت AFL++ clang-LTO، ASAN، امکان ضبط موارد آزمون اولیه (seed test cases) و تست‌های گسترش‌یافته APIها.

آزمون‌ها اصلاح شدند تا در RHEL 7 و FreeBSD با موفقیت پاس شوند.

بدون تغییر در این نسخه.

ماکروی "ARRAY_SIZE" برای ساده‌سازی تعیین اندازه آرایه‌های ایستا افزوده شد (با تشکر از Laszlo Ersek).

خطاهای گوناگون شناسایی‌شده توسط Coverity برطرف شدند.

libnbd(3).

Copyright Red Hat

این کتابخانه یک نرم‌افزار آزاد است؛ شما می‌توانید آن را تحت شرایط مجوز عمومی همگانی کمتر گنو (GNU Lesser General Public License) همان‌طور که توسط بنیاد نرم‌افزارهای آزاد منتشر شده است، بازتوزیع کرده یا تغییر دهید؛ چه نسخه 2 مجوز یا (به انتخاب خودتان) هر نسخه پس از آن.

این کتابخانه با این امید توزیع شده است که مفید واقع شود، اما بدون هرگونه ضمانت؛ حتی بدون ضمانت ضمنی قابل فروش بودن یا مناسب بودن برای یک هدف خاص. برای جزئیات بیشتر به مجوز عمومی همگانی کمتر گنو مراجعه کنید.

شما باید به همراه این کتابخانه نسخه‌ای از مجوز عمومی همگانی کمتر گنو را دریافت کرده باشید؛ در غیر این صورت، به آدرس بنیاد نرم‌افزارهای آزاد بنویسید: Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA

2026-07-16 libnbd-1.24.3