fix(listmailuser): Don't parse comments when reading config (#2617)

* fix(listmailuser): Don't parse comments

Avoids passing comments to `dovecot_quota_to_hr()` which fails to handle it and would throws errors.

* chore: Move config filter method to `helpers/utils.sh`
This commit is contained in:
Brennan Kinney 2022-06-06 11:02:52 +12:00 committed by GitHub
parent 40e2d88482
commit 1f3e672018
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 12 additions and 3 deletions

View file

@ -47,6 +47,7 @@ do
else
echo
fi
done < "${DATABASE}"
done < <(_filter_to_valid_lines "${DATABASE}")
exit 0

View file

@ -5,8 +5,16 @@ function _escape
echo "${1//./\\.}"
}
# Check if string input is an empty line, only whitespaces
# or `#` as the first non-whitespace character.
# Returns input after filtering out lines that are:
# empty, white-space, comments (`#` as the first non-whitespace character)
function _filter_to_valid_lines
{
grep --extended-regexp --invert-match "^\s*$|^\s*#" "${1}" || true
}
# TODO: Only used by `relay.sh`, will be removed in future.
# Similar to _filter_to_valid_lines, but only returns a status code
# to indicate invalid line(s):
function _is_comment
{
grep -q -E "^\s*$|^\s*#" <<< "${1}"