libnbd-release-notes-1.12(1) LIBNBD libnbd-release-notes-1.12(1) نام (NAME) libnbd-release-notes-1.12 - یادداشت‌های انتشار libnbd نسخه 1.12 توضیحات (DESCRIPTION) این‌ها یادداشت‌های انتشار libnbd نسخه پایدار 1.12 هستند. این سند تغییرات عمده را از نسخه 1.10 شرح می‌دهد. نسخه libnbd 1.12.0 در 24 فوریه 2022 منتشر شد. امنیت (Security) CVE-2022-0485 خرابی خاموش داده‌ها هنگام استفاده از nbdcopy(1). اعلان کامل را در اینجا ببینید: https://listman.redhat.com/archives/libguestfs/2022-February/msg00104.html اگر با مشکلی امنیتی مواجه شدید، لطفاً فایل SECURITY را در کد منبع بخوانید (به‌صورت برخط در اینجا: https://gitlab.com/nbdkit/libnbd/blob/master/SECURITY). برای آگاهی از مسائل امنیتی پیشین در libnbd، به libnbd-security(3) مراجعه کنید. رابط‌های برنامه‌نویسی جدید (New APIs) get_pread_initialize set_pread_initialize کنترل اینکه آیا libnbd بافر pread را پاکسازی کند یا خیر، تا در صورت عدم مدیریت صحیح خطاها توسط کلاینت، از نشت محتوای حافظه جلوگیری شود. این توابع به عنوان بخشی از اصلاحیه CVE-2022-0485 اضافه شدند (Eric Blake). get_request_block_size set_request_block_size کنترل اینکه آیا libnbd در طول مذاکره، محدودیت‌های اندازه بلوک را از کارساز درخواست کند یا خیر (Eric Blake). بهبودهای رابط‌های برنامه‌نویسی موجود (Enhancements to existing APIs) پیام‌های خطای مربوط به URIهای نادرست در nbd_connect_uri(3) بهبود یافته‌اند تا اشتباهات رایج برای کاربر شفاف‌تر و واضح‌تر شوند. ابزارها (Tools) نحو جدید: "nbdinfo [ CMD ... ]" که به شما امکان می‌دهد مشخصات یک کارساز NBD را مستقیماً جویا شوید. گزینه جدید --queue-size در nbdcopy(1) برای کنترل حداکثر اندازه بافر داخلی (Nir Soffer). دستور nbdcopy(1) اکنون دستگیره‌های مبدأ و مقصد را نام‌گذاری می‌کند تا فهم خروجی اشکال‌زدایی آسان‌تر شود. آزمون‌ها (Tests) به‌کارگیری ci/gitlab.yml از libvirt-ci (Martin Kletzander). رفع اشکال مثال extents در OCaml (با تشکر از Laszlo Ersek). معیارهای ارزیابی کارایی (benchmarks) در Golang به مجموعه آزمون اضافه شدند (Nir Soffer). آزمون بزرگ tests/errors.c به حدود دوازده آزمون مجزا تفکیک شد. همچنین یک آزمون جدید برای بررسی سیاست خطای محدودیت اندازه بلوک در سمت کارساز اضافه شده است که پیش‌تر وجود نداشت. سایر بهبودها و رفع باگ‌ها (Other improvements and bug fixes) تابع کمکی جدید "NBD.with_handle" در OCaml که تضمین می‌کند "NBD.close" همواره فراخوانی شود، حتی اگر کد درونی استثنایی پرتاب کند. پیوندهای OCaml اکنون در همه‌جا به‌طور یکنواخت از نوع‌های داده‌ای صحیح برای اندازه‌های بافر استفاده می‌کنند (Laszlo Ersek). چندین بهبود و رفع اشکال در پیوندها و آزمون‌های Golang. مجوز پیوندهای Golang مانند بقیه بخش‌های کتابخانه به LGPLv2+ تغییر یافته و اکنون به‌عنوان یک ماژول Golang در https://libguestfs.org/libnbd منتشر می‌شوند (Nir Soffer). پیوندهای Python در صورت ارسال "None" به‌جای پارامتر بافر، دیگر دچار فروپاشی (crash) نمی‌شوند. علاوه بر این، برخی از نشت‌های حافظه برطرف شدند (Eric Blake). هنگام استفاده از تنظیمات اختیاری strict_mode چندین نشت حافظه برطرف شدند (Eric Blake). کارایی کتابخانه داخلی vector به‌طور چشمگیری بهبود یافته است و سرریز (overflow) اکنون به‌درستی مدیریت می‌شود (Nir Soffer، Laszlo Ersek و Eric Blake). افزودن مثال‌های Golang برای "simple_copy" و "aio_copy" (Nir Soffer). مدیریت خطا در بسیاری از برنامه‌های نمونه و مستندات بازبینی و اصلاح شد (Eric Blake، Nir Soffer). ساده‌سازی و بهینه‌سازی مدیریت بازفراخوانی (callback) مربوط به extents در Golang (Nir Soffer). ساختار AioBuffer در Golang ارتقا یافت، استفاده از آن ایمن‌تر و سریع‌تر شد و مستندات آن افزوده گردید (Nir Soffer). مستندات (Documentation) مستندسازی محدودیت‌های طول و اندازه پارامترها در رابط‌های برنامه‌نویسی مختلف (Eric Blake). ساخت (Build) اکنون می‌توانید برنامه‌هایی را که از پیوندهای OCaml کتابخانه libnbd استفاده می‌کنند، بدون نیاز به نصب بودن libnbd، در برابر دایرکتوری ساخت libnbd بسازید (Laszlo Ersek). سازگاری با OCaml 4.13. موقعیت خطوط در ماشین حالت هنگام ردگیری گام‌به‌گام با یک اشکال‌زدا مانند gdb باید دقیق‌تر باشد. فایل .editorconfig می‌تواند برای کمک به قالب‌بندی کد استفاده شود، به https://editorconfig.org مراجعه کنید (Nir Soffer، Eric Blake). ماکروهای "MIN" و "MAX" می‌توانند به‌صورت تو در تو به کار روند (با تشکر از Eric Blake). همچنین ببینید (SEE ALSO) libnbd(3). نویسندگان (AUTHORS) Eric Blake Laszlo Ersek Martin Kletzander Nir Soffer Richard W.M. Jones کپی‌رایت و تکثیر (COPYRIGHT) حق نشر Red Hat مجوز (LICENSE) این کتابخانه یک نرم‌افزار آزاد است؛ شما می‌توانید آن را تحت شرایط مجوز عمومی جامع‌تر گنو (GNU Lesser General Public License) همان‌گونه که توسط بنیاد نرم‌افزارهای آزاد منتشر شده است؛ چه نسخه ۲ مجوز یا (به انتخاب خودتان) هر نسخه پس از آن، بازتوزیع کرده یا تغییر دهید. این کتابخانه با این امید توزیع شده است که مفید واقع شود، اما بدون هرگونه ضمانت؛ حتی بدون ضمانت ضمنی قابل فروش بودن یا مناسب بودن برای یک هدف خاص. برای جزئیات بیشتر به مجوز عمومی جامع‌تر گنو مراجعه کنید. شما باید به همراه این کتابخانه نسخه‌ای از GNU Lesser General Public License را دریافت کرده باشید؛ در غیر این صورت، به آدرس زیر بنویسید: Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA libnbd-1.24.3 2026-07-16 libnbd-release-notes-1.12(1)