izdanje , ki je nadaljeval razvoj veje s polno implementacijo kontrolerja domene in storitve Active Directory, ki je združljiva z implementacijo Windows 2000 in sposobna podpirati vse podprte različice Windows odjemalcev, vključno z Windows 10. Samba 4 je večnamenski strežniški izdelek, ki ponuja tudi implementacijo datotečnega strežnika, storitve tiskanja in strežnika identifikacije (winbind).
Ključne v Samba 4.12:
- Iz izvorne kode odstranjene vgrajene implementacije kriptografskih funkcij v korist uporabe zunanjih knjižnic. Kot glavno kriptografsko knjižnico smo se odločili uporabiti GnuTLS (potrebna je vsaj različica 3.4.7). Poleg zmanjšanja morebitnih groženj, povezanih z odkrivanjem ranljivosti v vgrajenih implementacijah kriptoalgoritmov, je prehod na GnuTLS prav tako omogočil znatno povečanje zmogljivosti pri uporabi šifriranja v SMB3. Pri testiranju s klientom CIFS iz jedra Linux 5.3 smo zabeležili povečanje hitrosti pisanja za trikrat, branja pa za 2,5-krat.
- Dodana je nova ozadje za iskanje na SMB-delitvah z uporabo protokola , ki temelji na iskalniku (prej je bila na voljo ozadje na osnovi ). Vključeno je tudi orodje 'mdfind' z implementacijo klienta, ki omogoča pošiljanje iskalnih poizvedb kateremukoli SMB-strežniku, na katerem je zagnana RPC-storitev Spotlight. Privzeta vrednost nastavitve 'spotlight backend' je spremenjena v 'noindex' (za Tracker ali Elasticsearch je potrebno izrecno nastaviti vrednosti 'tracker' ali 'elasticsearch').
- Spremenjeno je vedenje operacij ‘net ads kerberos pac save’ in ‘net eventlog export’, ki zdaj ne prepisujejo datoteke, ampak v primeru poskusa izvoza v obstoječo datoteko izpišejo napako.
- V samba-tool je izboljšano dodajanje kontaktnih zapisov za člane skupin. Čeprav je bilo prej mogoče z ukazom ‘samba-tool group addmembers’ enostavno dodati uporabnike, skupine in računalnike kot nove člane skupine, je sedaj dodana podpora za dodajanje kontaktov kot članov skupin.
- V samba-tool je omogočeno filtriranje po organizacijskih enotah (OU, Organizational Unit) ali poddrevesih. Dodani so novi zastavici ‘—base-dn’ in ‘—member-base-dn’, ki omogočata izvajanje operacije samo na določenem delu drevesa Active Directory, na primer, samo v okviru ene organizacijske enote OU.
- Dodan je nov VFS-modul ‘io_uring’, ki uporablja novi vmesnik jedra Linux. za asinhrono ulazno/izlazne operacije. Io_uring podržava poling ulazno/izlaza i može raditi sa keširanjem (ranije predloženi mehanizam «aio» nije podržavao keširanje). Kada je aktiviran poling, io_uring značajno premašuje aio u performansama. Trenutno, na osnovu io_uring, Samba implementira podršku za SMB_VFS_{PREAD,PWRITE,FSYNC}_SEND/RECV i smanjuje troškove održavanja višedretvenog izvršenja (threadpool) u korisničkom prostoru uz korišćenje predloženog VFS backend-a kao podrazumevanog. Za izgradnju VFS modula ‘io_uring’ potrebna je biblioteka i jezgro Linux 5.1+.
- U VFS omogućena je mogućnost navođenja posebne vrednosti vremena UTIME_OMIT za označavanje potrebe ignorisanja vremena u funkciji SMB_VFS_NTIMES().
- U smb.conf ukinuta je podrška za parametar «write cache size», koji je izgubio smisao nakon pojave podrške io_uring.
- U Samba-DC i Kerberos ukinuta je podrška za enkripciju koristeći algoritam DES. U Heimdal-DC uklonjen je kod weak-crypto.
- Uklonjen je modul vfs_netatalk, koji više nije podržan i izgubio je relevantnost.
- Proglašen je zastarelim backend BIND9_FLATFILE, koji će biti uklonjen u jednom od sledećih izdanja.
- Biblioteka zlib je uključena u skup zavisnosti za izgradnju. Ugrađena implementacija zlib je uklonjena iz koda (kod se zasniva na staroj verziji zlib, koja nije pravilno podržavala enkripciju).
- Postavljeno je fuzzing testiranje kodne baze, uključujući uslugu
oss-fuzz. Tokom fuzzing testiranja otkriveno je i ispravljeno mnogo grešaka. - Zahtevi za minimalnu verziju Pythona su povećani sa Python
3.4 na Python 3.5. Mogućnost izgradnje fajl servera sa Python 2 još uvek je sačuvana (pre pokretanja ./'configure' i 'make' potrebno je postaviti promenljivu okruženja 'PYTHON=python2').
Izvor: opennet.ru
