| libnbd-release-notes-1.2(1) | LIBNBD | libnbd-release-notes-1.2(1) |
نام (NAME)
libnbd-release-notes-1.2 - یادداشتهای انتشار libnbd نسخه 1.2
توضیحات (DESCRIPTION)
این سند یادداشتهای انتشار نسخه پایدار 1.2 از libnbd است. این بخش تغییرات عمده نسبت به نسخه 1.0 را شرح میدهد.
نسخه libnbd 1.2.0 در تاریخ 14 نوامبر 2019 منتشر شد.
امنیت (Security)
در جریان توسعه libnbd 1.2 دو مشکل امنیتی شناسایی شد. هر دو به شاخه پایدار 1.0 پسانتقال (backport) شدند. ارتقا به نسخههای جدیدتر اکیداً توصیه میشود.
حمله تقلیل پروتکل CVE-2019-14842 هنگام استفاده از "LIBNBD_TLS_REQUIRE"
بیانیه کامل و پیوندهای مربوط به کاهش اثرات، آزمونها و اصلاحات را در اینجا مشاهده کنید: https://www.redhat.com/archives/libguestfs/2019-September/msg00128.html
آسیبپذیری اجرای کد از راه دور
بیانیه کامل را در اینجا مشاهده کنید: https://www.redhat.com/archives/libguestfs/2019-October/msg00060.html
رابطهای برنامهنویسی جدید (New APIs)
- nbd_can_fast_zero(3)
- بررسی پشتیبانی سرور از صفر کردن سریع (fast zeroing) (توسط Eric Blake).
- nbd_connect_socket(3)
- nbd_aio_connect_socket(3)
- اتصال به یک سوکت محلی متصلشده که در برنامه اصلی با روش انتخابی خود ایجاد کردهاید.
- nbd_connect_systemd_socket_activation(3)
- nbd_aio_connect_systemd_socket_activation(3)
- اتصال به پردازشهای محلی که از فعالسازی سوکت systemd پشتیبانی میکنند.
- nbd_connect_vsock(3)
- nbd_aio_connect_vsock(3)
- برای اتصال به سرورها از طریق "AF_VSOCK" استفاده میشود.
- nbd_get_handshake_flags(3)
- nbd_set_handshake_flags(3)
- nbd_get_request_structured_replies(3)
- nbd_set_request_structured_replies(3)
- nbd_get_structured_replies_negotiated(3)
- میتواند هنگام تست سرورهای NBD برای جلوگیری از ویژگیهای مختلف NBD استفاده شود (توسط Eric Blake).
- nbd_get_protocol(3)
- دریافت گونه پروتکل NBD که سرور پشتیبانی میکند.
- nbd_get_tls_negotiated(3)
- آیا واقعاً بر سر یک اتصال TLS مذاکره انجام شده است؟
- nbd_set_uri_allow_local_file(3)
- nbd_set_uri_allow_tls(3)
- nbd_set_uri_allow_transports(3)
- این موارد میتوانند برای فیلتر کردن URIهای NBD پیش از فراخوانی nbd_connect_uri(3) استفاده شوند.
قابلیتهای جدید (New features)
ابزار جدید nbdfuse(1) امکان ایجاد یک فایل لوپمونتشده با پشتوانه یک سرور NBD را بدون نیاز به دسترسی کاربر ارشد (root) فراهم میکند.
پروتکل "AF_VSOCK" اکنون پشتیبانی میشود (با تشکر از Stefan Hajnoczi و Stefano Garzarella).
پشتیبانی از فلگ "FAST_ZERO" (توسط Eric Blake).
امکان غیرفعالسازی برخی ویژگیهای پروتکل، جهت سهولت در آزمایش سرورها (توسط Eric Blake).
استفاده از آرایههای با طول متغیر تخصیصیافته روی استک (VLAs) در سراسر کتابخانه ممنوع شد که بهکارگیری کتابخانه در نخها و سایر موقعیتهای دارای استک کوچک را آسانتر میسازد.
ساختهای تکرارپذیر (توسط Chris Lamb).
پشتیبانی از پالایش ویژگیهای بالقوه خطرناک یا نامطلوب در URIهای NBD.
مستندات (Documentation)
بهبودهای فراوان در صفحات راهنمای تولیدشده، از جمله:
- بخشهای مجزای "RETURN VALUE" و "ERRORS" برای هر تابع رابط برنامهنویسی.
- کد نمونه.
- امکان افزودن پیوندهای مرتبط به بخش "SEE ALSO".
- پیوند به مشخصات URIهای NBD در صورت لزوم، و بهبود مستندات درباره URIهای پشتیبانیشده توسط libnbd.
- مستندسازی ساختار شماره نسخه libnbd.
- مستندسازی محدودیتها در طول نام اکسپورت، انکودینگ و غیره.
صفحه راهنمای جدید libnbd-security(3) که فهرستی از مشکلات امنیتی پیشین و راهکارهای رفع آنها را ارائه میدهد (توسط Eric Blake).
ابزارها (Tools)
ابزار nbdsh(1) دارای گزینه جدید --base-allocation است که میتواند برای درخواست بافت متادیتای "base:allocation" استفاده شود.
گزینه جدید --uri (-u) در nbdsh(1) برای اتصال به URIها.
آزمونها (Tests)
اکنون میتوانید با استفاده از American Fuzzy Lop یا libFuzzer در clang، کتابخانه libnbd را تحت آزمون فازی (fuzz) قرار دهید.
افزودن تستهای واحد برای nbdsh(1) (توسط Eric Blake).
بهبود تست سازگاری متقابل با سرورها و ویژگیهای گوناگون NBD.
سایر بهبودها و رفع باگها (Other improvements and bug fixes)
تابع nbd_connect_tcp(3) اکنون تلاش میکند تا در هنگام شکست فراخوانی درونی connect(2)، مقدار صحیح errno(3) را برگرداند.
فایل هدر nbd-protocol.h اکنون میان libnbd و nbdkit مشترک است.
ایمنی بهتر هنگام اجرای fork در توابع "nbd_connect_*".
کد منبع توسط Coverity تحلیل شد و مشکلات مختلفی شناسایی و رفع شدند.
همچنین ببینید (SEE ALSO)
نویسندگان (AUTHORS)
حق نشر (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 |