From c9f8c5a9bd0fdf399632b0142fb277955d35e0d3 Mon Sep 17 00:00:00 2001 From: Serghey Rodin Date: Tue, 7 Oct 2014 00:25:06 +0300 Subject: [PATCH] improved dns record validation --- func/main.sh | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/func/main.sh b/func/main.sh index dd4dab0e..16f5be6d 100644 --- a/func/main.sh +++ b/func/main.sh @@ -764,6 +764,22 @@ validate_format_common() { log_event "$E_INVALID" "$EVENT" exit $E_INVALID fi + if [[ "$1" =~ @ ]] && [ ${#1} -gt 1 ] ; then + echo "Error: @ can not be mixed" + log_event "$E_INVALID" "$EVENT" + exit $E_INVALID + fi + if [[ $1 =~ \* ]]; then + if [[ ! $1 =~ \*$ ]]; then + echo "Error: * can be used only at the end" + log_event "$E_INVALID" "$EVENT" + exit $E_INVALID + fi + if [ "$(echo $1 | grep -o '*'|wc -l)" -gt 1 ]; then + log_event "$E_INVALID" "$EVENT" + echo "Error: * can be used only once" + fi + fi } # DNS record value