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
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.
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