Le paquet Zlib contient des routines de compression et décompression utilisées par quelques programmes.
Le correctif suivant corrige une vulnérabilité de type DOS (déni de service) dans la bibliothèque de compression Zlib :
patch -Np1 -i ../zlib-1.2.1-security-1.patch
![[Note]](../images/note.png)
Zlib is known to build its shared library incorrectly if
CFLAGS is specified in the environment. If using a
specified CFLAGS
variable, be sure to add the -fPIC directive to
the CFLAGS variable for the duration of the
configure command below, then remove it afterwards.
![[Note]](../images/note.png)
Zlib est connu pour mal construire sa bibliothèque partagée si
CFLAGS fait partie de l'environnement. En initialisant une
variable CFLAGS, assurez-vous d'ajouter la directive
-fPIC à la variable CFLAGS pour la durée
de la commande configure ci-dessous puis de la supprimer
après coup.
Préparez la compilation de Zlib :
./configure --prefix=/usr --shared
Compilez le paquet :
make
Pour tester les résultats, lancez :
make check.
Installez la bibliothèque partagée :
make install
Construisez aussi la bibliothèque statique :
make clean ./configure --prefix=/usr make
Pour tester de nouveau les résultats, lancez :
make check.
Installez la bibliothèque statique :
make install
Corrigez les droits sur la bibliothèque statique :
chmod 644 /usr/lib/libz.a
C'est une bonne politique et une bonne pratique de conserver les
bibliothèques importantes dans le répertoire /lib. Ceci importe plus dans les cas où /usr est sur une partition séparée. Normalement,
tous les composants en exécution de toutes les bibliothèques utilisées
par des programmes de /bin ou
/sbin devraient être dans
/lib de façon à ce qu'ils soient sur
la partition root et disponibles au cas où /usr serait inaccessible.
Pour la raison ci-dessus, déplaçez les composants d'exécution de
la bibliothèque partagée Zlib dans /lib :
mv /usr/lib/libz.so.* /lib
Corrigez le lien symbolique /usr/lib/libz.so :
ln -sf ../../lib/libz.so.1 /usr/lib/libz.so