| libnbd-release-notes-1.4(1) | LIBNBD | libnbd-release-notes-1.4(1) |
نام (NAME)
libnbd-release-notes-1.4 - یادداشتهای انتشار libnbd نسخه 1.4
توضیحات (DESCRIPTION)
این سند یادداشتهای انتشار نسخهٔ پایدار 1.4 از libnbd است. در اینجا تغییرات عمده نسبت به نسخهٔ 1.2 شرح داده شده است.
نسخهٔ 1.4.0 از libnbd در تاریخ ۲۵ اوت ۲۰۲۰ منتشر شد.
امنیت (Security)
هیچ مشکل امنیتی در این نسخه یافت نشد. اگر مشکلی امنیتی پیدا کردید، لطفاً پروندهٔ SECURITY را در سورسکد بخوانید (بهصورت برخط در اینجا: https://gitlab.com/nbdkit/libnbd/blob/master/SECURITY). برای آگاهی از مشکلات امنیتی پیشین در libnbd، به libnbd-security(3) مراجعه کنید.
رابطهای برنامهنویسی جدید (New APIs)
- nbd_set_opt_mode(3)
- nbd_get_opt_mode(3)
- nbd_aio_is_negotiating(3)
- کتابخانهٔ
libnbd 1.4 یک وضعیت
جدید
«مذاکره»
(negotiating) را در حین
دستتکانی
NBD اضافه
میکند.
برای حفظ
سازگاری با
نسخههای
پیشین،
برنامهها
باید پیش از
آغاز اتصال
با
فراخوانی
nbd_set_opt_mode(3) این
حالت را
درخواست
کنند.
میتوانید
با
فراخوانی
nbd_aio_is_negotiating(3) بررسی
کنید که آیا
اتصال در
این وضعیت
قرار دارد
یا خیر.
برای توضیحات دقیقتر دربارهٔ نحوهٔ استفاده از این وضعیت اضافی جهت مذاکره دربارهٔ گزینههای سرور، بخش «CONTROLLING NEGOTIATION» را در libnbd(3) ببینید.
- nbd_aio_opt_abort(3)
- nbd_opt_abort(3)
- در طول وضعیت مذاکره، اتصال را متوقف (abort) میکند.
- nbd_aio_opt_go(3)
- nbd_opt_go(3)
- در طول وضعیت مذاکره، دستتکانی را تکمیل میکند.
- nbd_aio_opt_info(3)
- nbd_opt_info(3)
- در طول وضعیت مذاکره، اطلاعات کامل دربارهٔ اکسپورت سرور را درخواست میکند.
- nbd_aio_opt_list(3)
- nbd_opt_list(3)
- در طول وضعیت مذاکره، فهرست اکسپورتهایی را که سرور ارائه میدهد درخواست میکند.
- nbd_get_block_size(3)
- محدودیتهای حداقل، ترجیحی یا حداکثر اندازهٔ بلوک را برای درخواستهای ارسالشده به سرور بازمیگرداند.
- nbd_get_canonical_export_name(3)
- نام رسمی و متعارف اکسپورت را که پیشفرض سرور است بازمیگرداند. این اطلاعات ممکن است تنها در صورتی در دسترس باشد که پیش از اتصال، nbd_set_full_info(3) را فراخوانی کرده باشید.
- nbd_get_export_description(3)
- توضیحات متنی اختیاری اکسپورت فعلی را بازمیگرداند. این اطلاعات ممکن است تنها در صورتی در دسترس باشد که پیش از اتصال، nbd_set_full_info(3) را فراخوانی کرده باشید.
- nbd_set_full_info(3)
- nbd_get_full_info(3)
- اطلاعات گسترشیافته دربارهٔ اکسپورتهای سرور را فعال میکند.
با تشکر از: Eric Blake برای تمامی رابطهای برنامهنویسی جدید.
ویژگیهای جدید (New features)
هماکنون اتصالات (Bindings) در زبان برنامهنویسی Go در دسترس است.
پلتفرمهای FreeBSD و OpenBSD اکنون به طور کامل پشتیبانی میشوند.
قابلیت تکمیل خودکار با کلید تب در بش (Bash tab completion) برای تمامی ابزارهای خط فرمان در دسترس است.
مستندات (Documentation)
متون عیناللفظی (Verbatim) در صفحات راهنما که در چندین خط شکسته میشدند اکنون به درستی حروفچینی میشوند.
پیوندها در داخل مستندات بهبود یافتهاند و اکنون از نظر صحت بررسی میشوند.
ابزارها (Tools)
ابزار جدید nbdcopy(1) به شما امکان میدهد میان یک سرور NBD و یک پروندهٔ محلی کپی کنید، یا دادهها را به/از یک سرور NBD جریاندهی (stream) کنید.
ابزار جدید nbdinfo(1) به شما اجازه میدهد اطلاعات گسترشیافته دربارهٔ اکسپورتهای یک سرور NBD را چاپ کنید (Eric Blake).
آزمونها (Tests)
سوکتهای آزمون در /tmp ایجاد میشوند (به جای پوشهٔ محلی). این امر مانع از شکست مجموعه آزمونها در حالتی میشود که مسیر پوشهٔ محلی طولانیتر از حداکثر طول مجاز مسیر برای سوکتهای دامنه یونیکس (Unix domain socket) باشد.
سایر بهبودها و رفع اشکالات (Other improvements and bug fixes)
پیامهای ردگیری (Trace) بهبود یافتهاند: رشتههای طولانی کوتاه میشوند، کاراکترهای غیرقابلچاپ در رشتهها اسکیپ میشوند، و فهرستی از رشتهها چاپ میگردد.
بخش تولیدکننده (generator) از یک اسکریپت واحد بزرگ به چند پروندهٔ کوچک تقسیم شد. برای ساخت از گیت، اکنون کامپایلر بایتکد OCaml (ocamlc(1)) به جای مفسر (ocaml(1)) مورد نیاز است.
نامهای کاربری طولانی برای ورود به سیستم در nbd_get_tls_username(3) پشتیبانی میشوند.
نام دسته (handle) در nbdsh(1) اکنون روی "nbdsh" تنظیم شده است (به جای یک نام تصادفی تولیدشده).
سازگاری با OCaml 4.10.0 و 4.11.0.
بافر پایتون AIO یک متد جدید "is_zero" اضافه میکند که به کلاینتهای پایتون امکان میدهد هنگام کپی کردن، تُنکسازی (sparsification) انجام دهند.
سازگاری با پایتون 3.9.
برنامههای خارجی C اکنون میتوانند با استفاده از "../libnbd/run ./configure" در برابر پوشهٔ ساخت libnbd کامپایل شوند.
ابزار Honggfuzz میتواند به عنوان یک گزینهٔ دیگر برای فازینگ خارجی استفاده شود.
رفع مشکل کامپایل با glibc 2.32 که "sys_errlist" را منسوخ کرده است.
مثالهای متعددی برای نمایش کاربردهای رابطهای برنامهنویسی جدید اضافه یا گسترش داده شدند (Eric Blake).
همچنین ببینید (SEE ALSO)
نویسندگان (AUTHORS)
Eric Blake
Richard W.M. Jones
حق نشر (COPYRIGHT)
Copyright Red Hat
مجوز (LICENSE)
این کتابخانه یک نرمافزار آزاد است؛ شما میتوانید آن را تحت شرایط «مجوز عمومی جامعتر گنو» (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 |