پس از یک سال و نیم توسعه، انتشار Rsync 3.2.4 در دسترس است، ابزاری برای همگامسازی فایل و پشتیبانگیری که به شما امکان میدهد با کپی کردن تدریجی تغییرات، ترافیک را به حداقل برسانید. انتقال می تواند ssh، rsh یا پروتکل اختصاصی rsync باشد. از سازماندهی سرورهای rsync ناشناس پشتیبانی می کند که برای اطمینان از همگام سازی آینه ها مناسب هستند. کد پروژه تحت مجوز GPLv3 توزیع شده است.
از جمله تغییرات اضافه شده:
- روش جدیدی برای محافظت از آرگومان های خط فرمان پیشنهاد شده است که شبیه گزینه "--protect-args" ("-s") قبلاً موجود است، اما عملکرد اسکریپت rrsync (rsync محدود) را خراب نمی کند. هنگام ارسال درخواست به مترجم فرمان خارجی، حفاظت به فرار از کاراکترهای خاص، از جمله فاصله ها، خلاصه می شود. روش جدید از کاراکترهای ویژه داخل یک بلوک نقل قول فرار نمی کند، که به شما امکان می دهد از علامت نقل قول ساده در اطراف نام فایل بدون فرار اضافی استفاده کنید، به عنوان مثال، دستور "rsync -aiv host:'a simple file.pdf" اکنون مجاز است. " برای برگرداندن رفتار قدیمی، گزینه "--old-args" و متغیر محیطی "RSYNC_OLD_ARGS=1" پیشنهاد شده است.
- حل یک مشکل طولانی مدت با کاراکترهای نقطه اعشار بر اساس محلی فعلی ("" به جای "."). برای اسکریپت هایی که فقط برای پردازش "." طراحی شده اند. در اعداد، در صورت نقض سازگاری، می توانید محلی را روی "C" تنظیم کنید.
- یک آسیبپذیری (CVE-2018-25032) در کد موجود از کتابخانه zlib رفع شد که منجر به سرریز بافر در هنگام تلاش برای فشردهسازی یک دنباله کاراکترهای آماده شده ویژه میشود.
- گزینه "--fsync" را برای فراخوانی تابع fsync() در هر عملیات فایل برای شستشوی کش دیسک پیاده سازی کرد.
- اسکریپت rsync-ssl هنگام دسترسی به openssl از گزینه "-verify_hostname" استفاده می کند.
- گزینه "--copy-devices" برای کپی فایل های دستگاه به عنوان فایل های معمولی اضافه شده است.
- کاهش مصرف حافظه هنگام انتقال تدریجی تعداد زیادی دایرکتوری کوچک.
- در پلتفرم macOS، گزینه "-times" کار می کند.
- در صورتی که کاربر اجازه تغییر حقوق دسترسی را داشته باشد (مثلاً هنگام اجرا به عنوان root) توانایی به روز رسانی ویژگی های xattrs را برای فایل ها در حالت فقط خواندنی پیاده سازی کرد.
- پارامتر "--info=NONREG" را برای نمایش هشدارها در مورد انتقال فایل های خاص به طور پیش فرض اضافه و فعال کرده است.
- اسکریپت rrsync (rsync محدود) در پایتون بازنویسی شد. گزینه های جدید "-munge"، "-no-lock" و "-no-del" اضافه شده است. به طور پیشفرض، مسدود کردن گزینههای --copy-links (-L)، --copy-dirlinks (-k) و --keep-dirlinks (-K) فعال است تا حملاتی را که پیوندهای نمادین را به فهرستها دستکاری میکنند، دشوارتر کند.
- اسکریپت atomic-rsync در پایتون بازنویسی شده و برای نادیده گرفتن کدهای بازگشتی غیر صفر گسترش یافته است. به طور پیشفرض، زمانی که فایلها در حین اجرای rsync از بین میروند، کد 24 نادیده گرفته میشود (به عنوان مثال، کد 24 برای فایلهای موقتی که در طول نمایهسازی اولیه وجود داشتهاند اما در زمان مهاجرت حذف شدهاند، بازگردانده میشود).
- اسکریپت munge-symlinks در پایتون بازنویسی شده است.
منبع: opennet.ru