Մեկուկես տարի մշակումից հետո հասանելի է 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»:
- Zlib գրադարանից ներառված կոդում շտկվել է խոցելիություն (CVE-2018-25032), որը հանգեցնում է բուֆերի արտահոսքի՝ հատուկ պատրաստված նիշերի հաջորդականությունը սեղմելիս:
- Իրականացրել է «--fsync» տարբերակը՝ յուրաքանչյուր ֆայլի գործողության վրա fsync() ֆունկցիան կանչելու համար՝ սկավառակի քեշը մաքրելու համար:
- rsync-ssl սկրիպտը openssl մուտք գործելու ժամանակ օգտագործում է «-verify_hostname» տարբերակը:
- Ավելացվեց «--copy-devices» տարբերակը՝ սարքի ֆայլերը որպես սովորական ֆայլեր պատճենելու համար:
- Նվազեցված հիշողության սպառումը մեծ թվով փոքր դիրեկտորիաներ աստիճանաբար փոխանցելիս:
- MacOS հարթակում աշխատում է «—times» տարբերակը։
- Իրականացրել է xattrs ատրիբուտները ֆայլերի համար միայն կարդալու ռեժիմում թարմացնելու հնարավորությունը, եթե օգտվողն ունի մուտքի իրավունքները փոխելու թույլտվություն (օրինակ, երբ աշխատում է որպես root):
- Լռելյայն ավելացրել և միացրել է «--info=NONREG» պարամետրը՝ հատուկ ֆայլեր փոխանցելու մասին նախազգուշացումները ցուցադրելու համար:
- rrsync (սահմանափակված rsync) սցենարը վերաշարադրվել է Python-ում: Ավելացվեցին նոր տարբերակներ «-munge», «-no-lock» և «-no-del»: Լռելյայնորեն, --copy-links (-L), --copy-dirlinks (-k) և --keep-dirlinks (-K) տարբերակների արգելափակումը միացված է, որպեսզի ավելի բարդացնեն հարձակումները, որոնք մանիպուլյացիա են անում դեպի տեղեկատուներ դեպի symlinks:
- Atomic-rsync սկրիպտը վերաշարադրվել է Python-ում և ընդլայնվել՝ անտեսելու ոչ զրոյական վերադարձի կոդերը: Լռելյայնորեն, 24 կոդը անտեսվում է, երբ ֆայլերը կորչում են, երբ rsync-ն աշխատում է (օրինակ՝ 24 կոդը վերադարձվում է ժամանակավոր ֆայլերի համար, որոնք առկա էին սկզբնական ինդեքսավորման ժամանակ, բայց ջնջվել էին միգրացիայի պահին):
- Munge-symlinks սցենարը վերագրվում է Python-ում:
Source: opennet.ru