izdanje , nastavljajući razvoj grane s potpunom implementacijom kontrolera domene i usluge Active Directory, kompatibilne s izvedbom Windows 2000 i sposoban podržavati sve podržane verzije Windows klijenata, uključujući Windows 10. Samba 4 je svestrani serverski proizvod koji također pruža implementaciju datotečnog servera, usluge ispisa i servera identifikacije (winbind).
Ključne u Samba 4.12:
- Iz koda su uklonjene ugrađene implementacije kriptografskih funkcija u korist korištenja vanjskih biblioteka. Kao glavna kripto biblioteka odlučeno je koristiti GnuTLS (minimalna verzija 3.4.7). Osim smanjenja mogućih prijetnji povezanih s otkrivanjem ranjivosti u ugrađenim implementacijama kriptoalgoritama, prijelaz na GnuTLS također je omogućio značajno povećanje performansi pri korištenju enkripcije u SMB3. Tijekom testiranja s implementacijom CIFS klijenta iz Linux kernela 5.3 zabilježeno je povećanje brzine pisanja od 3 puta, a čitanja od 2.5 puta.
- Dodana je nova pozadina za pretraživanje na SMB dijelovima koristeći protokol , temeljen na pretraživačkom motoru (ranije je bila dostupna pozadina zasnovana na ). Također je dodan alat „mdfind“ s implementacijom klijenta koja omogućava slanje pretraživačkih upita bilo kojem SMB serveru na kojem je pokrenuta RPC usluga Spotlight. Zadana vrijednost postavke „spotlight backend“ promijenjena je u „noindex“ (za Tracker ili Elasticsearch potrebno je izričito postaviti vrijednosti „tracker“ ili „elasticsearch“).
- Promijenjeno je ponašanje operacija ‘net ads kerberos pac save’ i ‘net eventlog export’, koje sada ne prepisuju datoteku, a u slučaju pokušaja izvoza u postojeću datoteku prikazuju pogrešku.
- U samba-tool je poboljšano dodavanje kontaktnih zapisa za članove grupa. Dok se prije, uz pomoć naredbe ‘samba-tool group addmembers’ moglo jednostavno dodati korisnike, grupe i računala kao nove članove grupa, sada postoji podrška za dodavanje kontakata kao članova grupa.
- U samba-tool je dopušteno filtriranje prema organizacijskim jedinicama (OU, Organizacijska jedinica) ili podstablima. Dodane su nove oznake „—base-dn“ i „—member-base-dn“, koje omogućuju izvođenje operacije samo s određenim dijelom stabla Active Directory, na primjer, samo unutar jednog odjeljenja OU.
- Dodana je nova VFS-modul ‘io_uring’ koji koristi novo sučelje jezgre Linuxa za asinkroni ulaz/izlaz. Io_uring podržava polling ulaz/izlaz i može raditi s buferiranjem (ranije predloženi mehanizam «aio» nije podržavao buferirani ulaz/izlaz). Kada se koristi polling, io_uring znatno nadmašuje performanse aio. Trenutno je na temelju io_uring u Sambai implementirana podrška za SMB_VFS_{PREAD,PWRITE,FSYNC}_SEND/RECV te su smanjeni troškovi održavanja bazena višeslojno izvršavanje (threadpool) u korisničkom prostoru kada se koristi predloženi defaultni VFS backend. Za izgradnju VFS-modula ‘io_uring’ potrebna je knjižnica i jezgra Linux 5.1+.
- U VFS-u omogućeno je navođenje posebne vrijednosti vremena UTIME_OMIT za označavanje potrebe za ignoriranjem vremena u funkciji SMB_VFS_NTIMES().
- U smb.conf ukinuta je podrška za parameter «write cache size», koji je izgubio smisao nakon uvođenja podrške za io_uring.
- U Samba-DC i Kerberosu ukinuta je podrška za enkripciju koristeći algoritam DES. U Heimdal-DC uklonjen je kod weak-crypto.
- Uklonjen je modul vfs_netatalk, koji je ostao bez podrške i izgubio relevantnost.
- Proklamiran je zastarjeli backend BIND9_FLATFILE, koji će biti uklonjen u jednom od sljedećih izdanja.
- Knjižnica zlib uključena je među ovisnosti za izgradnju. Ugrađena implementacija zlib uklonjena je iz kodne baze (kod se temeljio na staroj verziji zlib koja nije ispravno radila podršku za enkripciju).
- Uspostavljen je fuzzing-testiranje kodne baze, uključujući uslugu
oss-fuzz. Tijekom fuzzing-testiranja otkriveno je i ispravljeno mnogo grešaka. - Zahtjevi za minimalnu verziju Pythona podignuti su s Python
3.4 na Python 3.5. Mogućnost izgradnje datotečnog servera s Python 2 još uvijek je očuvana (prije pokretanja ./{configure} i {make} potrebno je postaviti varijablu okruženja ‘PYTHON=python2’).
Izvor: opennet.ru
