Files
2018-07-20 22:41:13 +03:00

68 lines
2.0 KiB
Diff

--- ca-certificates-20140223/sbin/update-ca-certificates 2014-03-14 14:42:21.171246343 +0200
+++ ca-certificates-20140223/sbin/update-ca-certificates 2014-03-14 14:46:50.556014888 +0200
@@ -26,6 +26,7 @@ fresh=0
default=0
DESTDIR=
CERTSCONF=/etc/ca-certificates.conf
+CERTSCONFD=/etc/ca-certificates.d
CERTSDIR=/usr/share/ca-certificates
LOCALCERTSDIR=/etc/certs
CERTBUNDLE=/etc/certs/ca-certificates.crt
@@ -70,6 +71,7 @@ do
done
CERTSCONF=${DESTDIR}${CERTSCONF}
+CERTSCONFD=${DESTDIR}${CERTSCONFD}
CERTSDIR=${DESTDIR}${CERTSDIR}
LOCALCERTSDIR=${DESTDIR}${LOCALCERTSDIR}
CERTBUNDLE=${DESTDIR}${CERTBUNDLE}
@@ -105,25 +106,30 @@
echo -n "Updating certificates in $ETCCERTSDIR... "
-# Handle certificates that should be removed. This is an explicit act
-# by prefixing lines in the configuration files with exclamation marks (!).
-sed -n -e '/^$/d' -e 's/^!//p' "$CERTSCONF" | while read crt
-do
- remove "$CERTSDIR/$crt"
-done
+for conf in $CERTSCONF $CERTSCONFD/*.conf; do
+ # skip inexistent files (matched by glob)
+ [ -f $conf ] || continue
+
+ # Handle certificates that should be removed. This is an explicit act
+ # by prefixing lines in the configuration files with exclamation marks (!).
+ sed -n -e '/^$/d' -e 's/^!//p' $conf | while read crt
+ do
+ remove "$CERTSDIR/$crt"
+ done
-sed -e '/^$/d' -e '/^#/d' -e '/^!/d' "$CERTSCONF" | while read crt
-do
- if test -f "$CERTSDIR/$crt"
- then
- add "$CERTSDIR/$crt"
- elif test -f "$LOCALCERTSDIR/$crt"
- then
- add "$LOCALCERTSDIR/$crt"
- else
- echo "W: $CERTSDIR/$crt or $LOCALCERTSDIR/$crt not found, but listed in $CERTSCONF." >&2
- continue
- fi
+ sed -e '/^$/d' -e '/^#/d' -e '/^!/d' $conf | while read crt
+ do
+ if test -f "$CERTSDIR/$crt"
+ then
+ add "$CERTSDIR/$crt"
+ elif test -f "$LOCALCERTSDIR/$crt"
+ then
+ add "$LOCALCERTSDIR/$crt"
+ else
+ echo "W: $CERTSDIR/$crt or $LOCALCERTSDIR/$crt not found, but listed in $conf." >&2
+ continue
+ fi
+ done
done
rm -f "$CERTBUNDLE"