mirror of
https://github.com/myvesta/vesta
synced 2025-08-19 21:04:07 -07:00
improved dns zones verifications
This commit is contained in:
parent
a91ac8549d
commit
2346d26bf9
3 changed files with 35 additions and 3 deletions
|
@ -11,7 +11,7 @@ domain=$(idn -t --quiet -u "$2" )
|
||||||
domain_idn=$(idn -t --quiet -a "$domain")
|
domain_idn=$(idn -t --quiet -a "$domain")
|
||||||
record=$(idn -t --quiet -u "$3" )
|
record=$(idn -t --quiet -u "$3" )
|
||||||
rtype=$(echo "$4"| tr '[:lower:]' '[:upper:]')
|
rtype=$(echo "$4"| tr '[:lower:]' '[:upper:]')
|
||||||
value=$(idn -t --quiet -u "$5" )
|
dvalue=$(idn -t --quiet -u "$5" )
|
||||||
id="$6"
|
id="$6"
|
||||||
|
|
||||||
# Importing variables
|
# Importing variables
|
||||||
|
@ -28,7 +28,7 @@ source $V_FUNC/domain_func.sh
|
||||||
check_args '5' "$#" 'user domain record type value [id]'
|
check_args '5' "$#" 'user domain record type value [id]'
|
||||||
|
|
||||||
# Checking argument format
|
# Checking argument format
|
||||||
format_validation 'user' 'domain' 'record' 'rtype'
|
format_validation 'user' 'domain' 'record' 'rtype' 'dvalue'
|
||||||
|
|
||||||
# Checking web system is enabled
|
# Checking web system is enabled
|
||||||
is_system_enabled 'dns'
|
is_system_enabled 'dns'
|
||||||
|
@ -65,7 +65,7 @@ is_dns_record_free
|
||||||
zone="$V_USERS/$user/zones/$domain"
|
zone="$V_USERS/$user/zones/$domain"
|
||||||
|
|
||||||
# Adding record
|
# Adding record
|
||||||
dns_rec="ID='$id' RECORD='$record' TYPE='$rtype' VALUE='$value'"
|
dns_rec="ID='$id' RECORD='$record' TYPE='$rtype' VALUE='$dvalue'"
|
||||||
dns_rec="$dns_rec SUSPEND='no' DATE='$V_DATE'"
|
dns_rec="$dns_rec SUSPEND='no' DATE='$V_DATE'"
|
||||||
echo "$dns_rec" >> $zone
|
echo "$dns_rec" >> $zone
|
||||||
|
|
||||||
|
|
|
@ -8,6 +8,7 @@
|
||||||
# Argument defenition
|
# Argument defenition
|
||||||
user="$1"
|
user="$1"
|
||||||
domain=$(idn -t --quiet -u "$2" )
|
domain=$(idn -t --quiet -u "$2" )
|
||||||
|
domain_idn=$(idn -t --quiet -a "$domain")
|
||||||
id="$3"
|
id="$3"
|
||||||
|
|
||||||
# Importing variables
|
# Importing variables
|
||||||
|
|
|
@ -266,6 +266,11 @@ format_validation() {
|
||||||
MX) known='yes';;
|
MX) known='yes';;
|
||||||
TXT) known='yes';;
|
TXT) known='yes';;
|
||||||
SRV) known='yes';;
|
SRV) known='yes';;
|
||||||
|
DNSKEY) known='yes';;
|
||||||
|
KEY) known='yes';;
|
||||||
|
IPSECKEY) known='yes';;
|
||||||
|
PTR) known='yes';;
|
||||||
|
SPF) known='yes';;
|
||||||
*) known='no';;
|
*) known='no';;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
@ -288,6 +293,31 @@ format_validation() {
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Defining format_dvl function
|
||||||
|
format_dvl() {
|
||||||
|
val="$1"
|
||||||
|
|
||||||
|
# Checking spaces
|
||||||
|
check_spaces="$(echo "$val"|grep ' ')"
|
||||||
|
check_rtype="$(echo "A AAAA NS CNAME" | grep -i -w "$rtype")"
|
||||||
|
if [ ! -z "$check_spaces" ] && [ ! -z "$check_rtype" ]; then
|
||||||
|
echo "Error: $var is out of range"
|
||||||
|
log_event 'debug' "$E_OUTOFRANGE $V_EVENT"
|
||||||
|
exit $E_OUTOFRANGE
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Checking ip
|
||||||
|
if [ "$rtype" = 'A' ]; then
|
||||||
|
format_ip "$val"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Checking domain
|
||||||
|
if [ "$rtype" = 'NS' ]; then
|
||||||
|
format_dom "$val"
|
||||||
|
fi
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
# Lopp on all variables
|
# Lopp on all variables
|
||||||
for var in $*; do
|
for var in $*; do
|
||||||
# Parsing reference
|
# Parsing reference
|
||||||
|
@ -302,6 +332,7 @@ format_validation() {
|
||||||
domain) format_dom "$v" ;;
|
domain) format_dom "$v" ;;
|
||||||
database) format_db "$v" ;;
|
database) format_db "$v" ;;
|
||||||
db_user) format_dbu "$v" ;;
|
db_user) format_dbu "$v" ;;
|
||||||
|
dvalue) format_dvl "$v" ;;
|
||||||
fname) format_usr "$v" ;;
|
fname) format_usr "$v" ;;
|
||||||
job) format_int "$v" ;;
|
job) format_int "$v" ;;
|
||||||
ns) format_dom "$v" ;;
|
ns) format_dom "$v" ;;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue