la sortie , poursuivant le développement de la branche avec une implémentation complÚte du contrÎleur de domaine et du service Active Directory, compatible avec l'implémentation de Windows 2000 et capable de prendre en charge toutes les versions des clients Windows prises en charge par Microsoft, y compris Windows 10. Samba 4 est un produit serveur multifonctionnel qui fournit également une implémentation de serveur de fichiers, de service d'impression et de serveur d'identification (winbind).
Améliorations clés dans Samba 4.12 :
- Les implémentations cryptographiques intégrées ont été supprimées de la base de code au profit de l'utilisation de bibliothÚques externes. GnuTLS a été choisie comme bibliothÚque cryptographique principale (version 3.4.7 minimum requise). En plus de réduire les menaces potentielles liées à la découverte de vulnérabilités dans les implémentations intégrées des algorithmes cryptographiques, la transition vers GnuTLS a également permis d'obtenir une amélioration significative des performances lors de l'utilisation du cryptage dans SMB3. Des tests avec l'implémentation du client CIFS du noyau Linux 5.3 ont montré une augmentation de la vitesse d'écriture de 3 fois et de la vitesse de lecture de 2,5 fois.
- Un nouveau backend pour la recherche sur les partitions SMB a Ă©tĂ© ajoutĂ© en utilisant le protocole , basĂ© sur le moteur de recherche (prĂ©cĂ©demment, un backend basĂ© sur ). L'utilitaire « mdfind » a Ă©galement Ă©tĂ© ajoutĂ©, avec une implĂ©mentation client permettant d'envoyer des requĂȘtes de recherche Ă tout serveur SMB sur lequel le service RPC Spotlight est en cours d'exĂ©cution. La valeur de la configuration « spotlight backend » est par dĂ©faut changĂ©e en « noindex » (pour Tracker ou Elasticsearch, il faut explicitement dĂ©finir les valeurs « tracker » ou « elasticsearch »).
- Le comportement des opĂ©rations ânet ads kerberos pac saveâ et ânet eventlog exportâ a Ă©tĂ© modifiĂ©. Elles ne remplacent plus le fichier ; en cas d'exportation vers un fichier existant, elles affichent une erreur.
- Dans samba-tool, l'ajout d'enregistrements de contacts pour les membres de groupes a Ă©tĂ© amĂ©liorĂ©. Auparavant, avec la commande âsamba-tool group addmembersâ, il Ă©tait possible d'ajouter simplement des utilisateurs, des groupes et des ordinateurs en tant que nouveaux membres de groupe, mais un support a maintenant Ă©tĂ© ajoutĂ© pour inclure des contacts en tant que membres de groupes.
- Dans samba-tool, le filtrage par unitĂ©s organisationnelles (OU, Organizational Unit) ou sous-arbres est dĂ©sormais autorisĂ©. De nouveaux drapeaux « âbase-dn » et « âmember-base-dn » ont Ă©tĂ© ajoutĂ©s, permettant d'effectuer des opĂ©rations sur une partie spĂ©cifique de l'arbre Active Directory, par exemple, dans le cadre d'une seule unitĂ© OU.
- Ajout d'un nouveau module VFS âio_uringâ utilisant une nouvelle interface du noyau Linux pour les entrĂ©es/sorties asynchrones. Io_uring supporte le polling des entrĂ©es/sorties et peut travailler avec la mise en mĂ©moire tampon (l'ancien mĂ©canisme « aio » ne supportait pas les entrĂ©es/sorties mises en mĂ©moire tampon). En mode polling, io_uring surpasse de maniĂšre significative aio en termes de performance. Actuellement, la prise en charge de SMB_VFS_{PREAD,PWRITE,FSYNC}_SEND/RECV est mise en Ćuvre dans Samba sur la base d'io_uring, rĂ©duisant ainsi les coĂ»ts d'entretien du pool d'exĂ©cution multithread (threadpool) dans l'espace utilisateur lors de l'utilisation du backend VFS proposĂ© par dĂ©faut. La construction du module VFS âio_uringâ nĂ©cessite la bibliothĂšque et un noyau Linux 5.1 ou supĂ©rieur.
- Le VFS permet de spécifier une valeur temporelle spéciale UTIME_OMIT pour indiquer la nécessité d'ignorer le temps dans la fonction SMB_VFS_NTIMES().
- Dans smb.conf, le paramÚtre « write cache size » a été supprimé, car il a perdu son sens aprÚs l'implémentation du support de io_uring.
- Dans Samba-DC et Kerberos, le support du chiffrement utilisant l'algorithme DES a été supprimé. Dans Heimdal-DC, le code pour weak-crypto a été supprimé.
- Le module vfs_netatalk a été supprimé car il était abandonné et obsolÚte.
- Le backend BIND9_FLATFILE a été déclaré obsolÚte et sera retiré dans une des prochaines versions.
- La bibliothÚque zlib a été ajoutée aux dépendances de construction. L'implémentation intégrée de zlib a été supprimée de la base de code (le code était basé sur une ancienne version de zlib qui ne supportait pas correctement le chiffrement).
- Des tests de fuzzing ont été mis en place sur la base de code, y compris dans le service
oss-fuzz. Au cours des tests de fuzzing, de nombreux bogues ont été découverts et corrigés. - Les exigences de version minimale de Python ont été augmentées de Python
3.4 Ă Python 3.5. La possibilitĂ© de construire un serveur de fichiers avec Python 2 est encore maintenue (avant d'exĂ©cuter â./configureâ et âmakeâ, il faut dĂ©finir la variable d'environnement âPYTHON=python2â).
Source : opennet.ru
