case independed domain names

This commit is contained in:
Serghey Rodin 2012-02-15 17:18:57 +02:00
commit 382de7eb43
5 changed files with 133 additions and 0 deletions

View file

@ -16,6 +16,7 @@
# Argument defenition # Argument defenition
user=$1 user=$1
domain=$(idn -t --quiet -u "$2" ) domain=$(idn -t --quiet -u "$2" )
domain=$(echo $domain | tr '[:upper:]' '[:lower:]')
domain_idn=$(idn -t --quiet -a "$domain") domain_idn=$(idn -t --quiet -a "$domain")
ip=$3 ip=$3
template=${4-default} template=${4-default}

View file

@ -15,10 +15,13 @@
# Argument defenition # Argument defenition
user=$1 user=$1
domain=$(idn -t --quiet -u "$2" ) domain=$(idn -t --quiet -u "$2" )
domain=$(echo $domain | tr '[:upper:]' '[:lower:]')
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" )
record=$(echo $record | tr '[:upper:]' '[:lower:]')
rtype=$(echo "$4"| tr '[:lower:]' '[:upper:]') rtype=$(echo "$4"| tr '[:lower:]' '[:upper:]')
dvalue=$(idn -t --quiet -u "$5" ) dvalue=$(idn -t --quiet -u "$5" )
dvalue=$(echo $dvalue | tr '[:upper:]' '[:lower:]')
id=$6 id=$6
# Importing variables # Importing variables

126
bin/v_add_mail_domain Executable file
View file

@ -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

View file

@ -17,6 +17,7 @@
# Argument defenition # Argument defenition
user=$1 user=$1
domain=$(idn -t --quiet -u "$2" ) domain=$(idn -t --quiet -u "$2" )
domain=$(echo $domain | tr '[:upper:]' '[:lower:]')
domain_idn=$(idn -t --quiet -a "$domain") domain_idn=$(idn -t --quiet -a "$domain")
ip=$3 ip=$3
template=${4-default} template=${4-default}

View file

@ -13,8 +13,10 @@
# Argument defenition # Argument defenition
user=$1 user=$1
domain=$(idn -t --quiet -u "$2" ) domain=$(idn -t --quiet -u "$2" )
domain=$(echo $domain | tr '[:upper:]' '[:lower:]')
domain_idn=$(idn -t --quiet -a "$domain") domain_idn=$(idn -t --quiet -a "$domain")
dom_alias=$(idn -t --quiet -u "$3" ) dom_alias=$(idn -t --quiet -u "$3" )
dom_alias=$(echo $dom_alias | tr '[:upper:]' '[:lower:]')
dom_alias_idn=$(idn -t --quiet -a "$dom_alias" ) dom_alias_idn=$(idn -t --quiet -a "$dom_alias" )
# Importing variables # Importing variables