[Eisfair_dev] certs-Paket: Änderungen für den Download des Mozilla-Bundles
Marcus Roeckrath
marcus.roeckrath at gmx.de
Do Feb 18 18:54:19 CET 2016
Hallo Jürgen,
ich habe das Script zum Download/Extrahieren des Mozilla-Bundles
überarbeitet und zwar aus folgenden Gründen.
Das certs-Paket liefert das Skript
/var/install/bin/certs-download-mozilla-ca-bundle.pl (1)
mit, welches nicht anderes als das originale mk-ca-bundle.pl Skript ist,
allerdings in einer Version von 2011.
Aktuell ist aber eine Version von 2014.
Es ist aber unnötig dieses Skript (1) überhaupt noch mit dem certs-paket
auszuliefern, da es im perl_addons_01-Paket mitgeliefert wird und
per_addons_01 ein Require des certs-Paketes ist.
Ich habe nun folgenden Code in dem von mir zum certs-Paket beigesteuerten
certs-extract-certs-from-ca-bundle geändert
bzw. neu eingefügt:
# Determine mk-ca-bundle.pl from perl_addons_01 package filelist
mkcabundlescript="/"`grep
mk-ca-bundle.pl /etc/filelist.d/perl_addons_01-files.txt | cut -d " " -f
6-6`
# Download mozilla bundle and convert it to ca-bundle.crt file
${mkcabundlescript} $*
Es wird also zunächst der Pfad zu mk-ca-bundle.pl aus der Fieliste des
perl_addons_01 Paketes ausgelesen und dann mit allen an
/var/install/bin/certs-extract-certs-from-ca-bundle
übergebenen Optionen aufgerufen.
Damit ist auf der Komandozeile auch ein --help bzw. die Auswahl anderer
Mozilla-Downloadquellen als des Defaults release möglich.
Unser altes Download-pl-Skript verwendet noch eine alte
Mozilla-Download-URL, die noch funktioniert, aber wer weiß, wann die
endgültig nicht mehr gültig ist/abgeschaltet wird. Das neue Skript aus dem
perl-Paket hat da neuere URLs und zudem mehrer verschiedenen Quellen
(release, beta, ...) drin.
Daneben habe ich in einigen Mozilla-Bundles nun einen Zertifikatsnamen
entdeckt, der einen / enthält, was bei der jetzigen Logik des
Extrakt-Skriptes einen Fehler rausschmeisst; das habe ich über eine
Umsetzung des / nach _ korrigiert:
War:
filename=`printf "%b\n" "${prevprevcaline}" | sed -e 's# \+#_#g' -e
's#[()]##g'`
Nun:
filename=`printf "%b\n" "${prevprevcaline}" | sed -e 's#/#_#g' -e 's#
\+#_#g' -e 's#[()]##g'`
In
/var/install/bin/certs-extract-certs-from-ca-bundle
hatte ich schon in der aktuellen Version den Hinweis
# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
# Update der Revocation List?
# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
# /var/install/bin/certs-update-crl --all
eingefügt?
Wenn das Updaten der Revocation List nach Updaten/Installieren des Bundles
notwendig ist, müsste der Aufruf noch aktiviert werden.
--
Gruss Marcus
Mehr Informationen über die Mailingliste Eisfair_dev