Chapitre 4. Compilateur et outils
tail --follow fonctionne désormais correctement sur les fichiers sur VXFS (« Veritas Clustered File System »)
VXFS (« Veritas Clustered File System ») est un système de fichiers distant, et pour les systèmes de fichiers distants,
tail
ne peut pas utiliser la fonctionnalité « inotify » pour le mode « --follow ». Le système de fichiers VXFS a désormais été ajouté à la liste des systèmes de fichiers distants, pour lesquels le mode d'interrogation a été utilisé au lieu de « inotify ». tail --follow
peut maintenant fonctionner correctement même lorsqu'utilisé sur des fichiers sur VXFS.
La commande dd est maintenant capable d'afficher la progression des transferts
La commande
dd
, qui est utilisée pour copier les fichiers octet par octet, offre maintenant l'option « status=progress » pour afficher la progression du transfert. Ceci est particulièrement utile pour les transferts de fichiers de grande taille car l'utilisateur peut estimer le temps restant et détecter les problèmes potentiels du transfert.
Temps d'attente amélioré sur libcurl
La bibliothèque
libcurl
utilisait un délai de blocage inutilement long pour des actions ne contenant aucun descripteur de fichier actif, même pour les opérations de courte durée. Cela signifie que certaines actions, comme la résolution de nom d'hôte en utilisant /etc/hosts
, prenaient un temps artificiellement long pour se terminer. Le code de blocage dans libcurl
a donc été modifié de manière à ce que le délai initial soit court et augmente graduellement jusqu'à ce qu'un événement se produise. Maintenant, les opérations libcurl
rapides se terminent plus rapidement.
La bibliothèque libcurl implémente désormais une poignée de mains SSL non bloquante
Auparavant, la bibliothèque
libcurl
n'avait pas implémenté de poignée de mains SSL non bloquante, ce qui affectait négativement les performances des applications basées sur les multiples API libcurl
. Pour résoudre ce problème, une poignée de mains SSL non bloquante a été implémentée sur libcurl
, et désormais les multiples API libcurl
rendent immédiatement le contrôle à l'application lorsqu'il ne peut pas lire ou écrire de données à partir du socket du réseau sous-jacent.
GDB sur systèmes IBM Power Systems n'échoue plus lors de l'accession à la table des symboles
Auparavant, GDB sur systèmes 64 bits IBM Power Systems désallouait incorrectement une variable importante qui retenait la table des symboles du binaire en cours de débogage, ce qui provoquait une faute de segmentation lorsque GDB tentait d'accéder à cette table de symboles. Pour résoudre ce problème, cette variable spécifique a été rendue persistante et GDB peut désormais accéder aux informations plus tard pendant la session de débogage, sans lire une région de la mémoire invalide.
nscd mis à jour pour recharger les données de configuration automatiquement
Cette mise à jour du démon nscd (« Name Server Caching Daemon ») ajoute un système de surveillance basé inotify et de surveillance de sauvegarde basé stat pour les fichiers de configuration nscd, de manière à ce que nscd puisse désormais détecter correctement les changements apportés à sa configuration et recharger les données. Ceci empêche ncsd de retourner des données obsolètes.
La fonction bibliothèque dlopen ne tombe plus en panne lors des appels récursifs
Auparavant, un défaut dans la fonction bibliothèque
dlopen
pouvait causer aux appels récursifs de cette fonction de tomber en panne ou d'être annulés avec une assertion de bibliothèque. Les appels récursifs sont possibles si une implémentation malloc
fournie par l'utilisateur appelle dlopen
.
L'implémentation est maintenant ré-entrante, et les appels récursifs ne tombent plus en panne et ne sont sont plus annulés avec une assertion.
L'outil operf reconnaît désormais les identifiants huge page statiques
Auparavant, pendant les analyses d'exécution des performances du code compilé JIT (« Java just-in-time ») avec des huge pages statiques activées, la commande operf de OProfile enregistrait un grand nombre d'échantillons d'événements sur une mémoire anonyme (dans anon_hugepage) au lieu de la méthode Java appropriée. Avec cette mise à jour, operf reconnaît les identifiants des huge pages statiques et fait correspondre correctement les échantillons avec les méthodes Java lors de l'utilisation de huge pages allouées statiquement.
La commande rsync -X fonctionne désormais correctement
Auparavant, l'outil rsync modifiait les appartenances de fichiers après, et non pas avant, avoir défini les attributs de sécurité. Par conséquent, les attributs de sécurité sur la cible étaient manquants, et l'exécution de la commande
rsync -X
ne fonctionnait pas correctement sous certaines circonstances. Avec cette mise à jour, l'ordre des opérations a été échangé, et rsync change désormais les appartenances avant de définir les attributs de sécurité. Ainsi, les attributs de sécurité sont présent dans la situation décrite comme prévu.
Les exécutables Subversion sont maintenant créés avec des données RELRO complètes
Les exécutables fournis avec le paquet subversion sont désormais créés avec des données de relocation en lecture seule (RELRO) complètes, ce qui protège contre certains types d'attaques de corruption de mémoire. Par conséquent, il sera plus difficile d'exploiter Subversion avec succès si de futures vulnérabilités sont découvertes.
L'extension de fils d'exécution dans TCL fonctionne désormais correctement
Auparavant, la prise en charge des fils d'exécution dans TCL (« Tool Command Language ») n'était pas implémentée de manière optimale. Si l'appel fork() était utilisé avec l'extension des fils d'exécution activée dans l'interprète TCL, le processus pouvait ne plus répondre. À cause de cela, l'interprète TCL et l'application TK étaient envoyés avec l'extension de fils d'exécution désactivée. Par conséquent, des applications de tierce-partie dépendantes des fils d'exécution TCL ou TK ne fonctionnaient pas correctement. Un patch a été implémenté pour corriger ce bogue, et l'extension des fils d'exécution est désormais activée par défaut sur TCL et TK.