mirror of
https://github.com/opnsense/src.git
synced 2026-06-10 01:00:30 -04:00
certctl: Convert line endings before inspecting files.
This ensures that certificate files or bundles with DOS or Mac line endings are recognized as such and handled identically to those with Unix line endings. PR: 274952 Reviewed by: allanjude Differential Revision: https://reviews.freebsd.org/D42490
This commit is contained in:
parent
4e0e01bf65
commit
f7d16a627e
1 changed files with 7 additions and 2 deletions
|
|
@ -71,6 +71,11 @@ cert_files_in()
|
|||
\) 2>/dev/null
|
||||
}
|
||||
|
||||
eolcvt()
|
||||
{
|
||||
cat "$@" | tr -s '\r' '\n'
|
||||
}
|
||||
|
||||
do_hash()
|
||||
{
|
||||
local hash
|
||||
|
|
@ -181,7 +186,7 @@ do_scan()
|
|||
IFS="$oldIFS"
|
||||
for CFILE in $(cert_files_in "$@") ; do
|
||||
verbose "Reading $CFILE"
|
||||
case $(egrep -c '^-+BEGIN CERTIFICATE-+$' "$CFILE") in
|
||||
case $(eolcvt "$CFILE" | egrep -c '^-+BEGIN CERTIFICATE-+$') in
|
||||
0)
|
||||
;;
|
||||
1)
|
||||
|
|
@ -190,7 +195,7 @@ do_scan()
|
|||
*)
|
||||
verbose "Multiple certificates found, splitting..."
|
||||
SPLITDIR=$(mktemp -d)
|
||||
egrep '^(---|[0-9A-Za-z/+=]+$)' "$CFILE" | \
|
||||
eolcvt "$CFILE" | egrep '^(---|[0-9A-Za-z/+=]+$)' | \
|
||||
split -p '^-+BEGIN CERTIFICATE-+$' - "$SPLITDIR/x"
|
||||
for CERT in $(find "$SPLITDIR" -type f) ; do
|
||||
"$CFUNC" "$CERT"
|
||||
|
|
|
|||
Loading…
Reference in a new issue