diff --git a/bin/v_add_dns_domain b/bin/v_add_dns_domain index 166c6d627..276901a66 100755 --- a/bin/v_add_dns_domain +++ b/bin/v_add_dns_domain @@ -16,6 +16,7 @@ # Argument defenition user=$1 domain=$(idn -t --quiet -u "$2" ) +domain=$(echo $domain | tr '[:upper:]' '[:lower:]') domain_idn=$(idn -t --quiet -a "$domain") ip=$3 template=${4-default} diff --git a/bin/v_add_dns_domain_record b/bin/v_add_dns_domain_record index bfe34c9e3..8e9a17870 100755 --- a/bin/v_add_dns_domain_record +++ b/bin/v_add_dns_domain_record @@ -15,10 +15,13 @@ # Argument defenition user=$1 domain=$(idn -t --quiet -u "$2" ) +domain=$(echo $domain | tr '[:upper:]' '[:lower:]') domain_idn=$(idn -t --quiet -a "$domain") record=$(idn -t --quiet -u "$3" ) +record=$(echo $record | tr '[:upper:]' '[:lower:]') rtype=$(echo "$4"| tr '[:lower:]' '[:upper:]') dvalue=$(idn -t --quiet -u "$5" ) +dvalue=$(echo $dvalue | tr '[:upper:]' '[:lower:]') id=$6 # Importing variables diff --git a/bin/v_add_mail_domain b/bin/v_add_mail_domain new file mode 100755 index 000000000..b3622e877 --- /dev/null +++ b/bin/v_add_mail_domain @@ -0,0 +1,126 @@ +#!/bin/bash +# info: add mail domain +# options: user domain [antispam] [antivirus] +# +# The function adds MAIL domain. + + +#----------------------------------------------------------# +# Variable&Function # +#----------------------------------------------------------# + +# Argument defenition +user=$1 +domain=$(idn -t --quiet -u "$2" ) +domain=$(echo $domain | tr '[:upper:]' '[:lower:]') +domain_idn=$(idn -t --quiet -a "$domain") +antispam=${3-yes} +antivirus=${3-yes} + +# Importing variables +source $VESTA/conf/vars.conf +source $V_CONF/vesta.conf +source $V_FUNC/shared.func +source $V_FUNC/domain.func + + +#----------------------------------------------------------# +# Verifications # +#----------------------------------------------------------# + +# Checking arg number +check_args '3' "$#" 'user domain [antispam] [antivirus]' + +# Checking argument format +format_validation 'user' 'domain' 'antispam' 'antivirus' + +# Checking dns system is enabled +is_system_enabled 'mail' + +# Checking user +is_user_valid + +# Checking user is active +is_user_suspended + +# Checking domain +is_domain_new 'quiet' +if [ $? -ne 0 ]; then + + # Checking domain owner + is_domain_owner + + # Checking domain service + is_dns_domain_free +fi + +# Checking package +is_package_full 'mail' + +exit + +#----------------------------------------------------------# +# Action # +#----------------------------------------------------------# + +# Defining variables +i=1 +ns=$(get_user_value '$NS') +for nameserver in ${ns//,/ };do + eval ns$i=$nameserver + i=$((i + 1)) +done + +if [ -z "$soa" ]; then + soa="$ns1" +fi + +# Adding zone to dns dir +cat $V_DNSTPL/$template.tpl |\ + sed -e "s/%ip%/$ip/g" \ + -e "s/%domain_idn%/$domain_idn/g" \ + -e "s/%domain%/$domain/g" \ + -e "s/%ns1%/$ns1/g" \ + -e "s/%ns2%/$ns2/g" \ + -e "s/%ns3%/$ns3/g" \ + -e "s/%ns4%/$ns4/g" \ + -e "s/%ns5%/$ns5/g" \ + -e "s/%ns6%/$ns6/g" \ + -e "s/%ns7%/$ns7/g" \ + -e "s/%ns8%/$ns8/g" \ + -e "s/%date%/$V_DATE/g" > $V_USERS/$user/dns/$domain + +# Adding dns.conf record +dns_rec="DOMAIN='$domain' IP='$ip' TPL='$template' TTL='$ttl' EXP='$exp'" +dns_rec="$dns_rec SOA='$soa' SUSPEND='no' DATE='$V_DATE'" +echo "$dns_rec" >> $V_USERS/$user/dns.conf +chmod 660 $V_USERS/$user/dns.conf + +# Adding zone in named.conf +named="zone \"$domain_idn\" {type master; file" +named="$named \"$V_HOME/$user/conf/dns/$domain.db\";};" +echo "$named" >> /etc/named.conf + +# Updating domain dns zone +conf="$V_HOME/$user/conf/dns/$domain.db" +update_domain_zone + +chmod 640 $conf +chown root:named $conf + + +#----------------------------------------------------------# +# Vesta # +#----------------------------------------------------------# + +# Increasing domain value +increase_user_value "$user" '$U_DNS_DOMAINS' + +# Adding task to the vesta pipe +restart_schedule 'dns' + +# Logging +log_history "$V_EVENT" "v_delete_dns_domain $user $domain" +log_event 'system' "$V_EVENT" + +exit diff --git a/bin/v_add_web_domain b/bin/v_add_web_domain index 16adf40c1..a93ce98e8 100755 --- a/bin/v_add_web_domain +++ b/bin/v_add_web_domain @@ -17,6 +17,7 @@ # Argument defenition user=$1 domain=$(idn -t --quiet -u "$2" ) +domain=$(echo $domain | tr '[:upper:]' '[:lower:]') domain_idn=$(idn -t --quiet -a "$domain") ip=$3 template=${4-default} diff --git a/bin/v_add_web_domain_alias b/bin/v_add_web_domain_alias index 46aebedf2..0e3449b63 100755 --- a/bin/v_add_web_domain_alias +++ b/bin/v_add_web_domain_alias @@ -13,8 +13,10 @@ # Argument defenition user=$1 domain=$(idn -t --quiet -u "$2" ) +domain=$(echo $domain | tr '[:upper:]' '[:lower:]') domain_idn=$(idn -t --quiet -a "$domain") dom_alias=$(idn -t --quiet -u "$3" ) +dom_alias=$(echo $dom_alias | tr '[:upper:]' '[:lower:]') dom_alias_idn=$(idn -t --quiet -a "$dom_alias" ) # Importing variables