Skip to content

Commit 26b96e1

Browse files
committed
bugfix for domalias ownership check
1 parent 858dfe0 commit 26b96e1

File tree

1 file changed

+104
-14
lines changed

1 file changed

+104
-14
lines changed

func/domain.sh

Lines changed: 104 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -48,28 +48,118 @@ is_dns_template_valid() {
4848
is_domain_new() {
4949
type="$1"
5050
dom=${2-$domain}
51-
web="$(grep -w $dom $VESTA/data/users/*/web.conf)"
52-
dns="$(grep DOMAIN='$dom' $VESTA/data/users/*/dns.conf)"
53-
mail="$(grep DOMAIN='$dom' $VESTA/data/users/*/mail.conf)"
54-
55-
if [ -n "$web" ] || [ -n "$dns" ] || [ -n "$mail" ]; then
56-
if [ ! -z "$(grep -w $dom $USER_DATA/*.conf)" ]; then
57-
c1=$(grep "'$dom'" $USER_DATA/$type.conf)
58-
c2=$(grep "'$dom," $USER_DATA/$type.conf)
59-
c3=$(grep ",$dom," $USER_DATA/$type.conf)
60-
c4=$(grep ",$dom'" $USER_DATA/$type.conf)
61-
62-
if [ -n "$c1" ] || [ -n "$c2" ] || [ -n "$c3" ] || [ -n "$c4" ]
63-
then
51+
52+
web=$(grep "DOMAIN='$dom'" $VESTA/data/users/*/web.conf)
53+
dns=$(grep "DOMAIN='$dom'" $VESTA/data/users/*/dns.conf)
54+
mail=$(grep "DOMAIN='$dom'" $VESTA/data/users/*/mail.conf)
55+
56+
# Check web domain
57+
if [ ! -z "$web" ] && [ "$type" == 'web' ]; then
58+
echo "Error: domain $dom exist"
59+
log_event "$E_EXISTS" "$EVENT"
60+
exit $E_EXISTS
61+
fi
62+
if [ ! -z "$web" ]; then
63+
web_user=$(echo "$web" |cut -f 7 -d /)
64+
if [ "$web_user" != "$user" ]; then
65+
echo "Error: domain $dom exist"
66+
log_event "$E_EXISTS" "$EVENT"
67+
exit $E_EXISTS
68+
fi
69+
fi
70+
71+
# Check dns domain
72+
if [ ! -z "$dns" ] && [ "$type" == 'dns' ]; then
73+
echo "Error: domain $dom exist"
74+
log_event "$E_EXISTS" "$EVENT"
75+
exit $E_EXISTS
76+
fi
77+
if [ ! -z "$dns" ]; then
78+
dns_user=$(echo "$dns" |cut -f 7 -d /)
79+
if [ "$dns_user" != "$user" ]; then
80+
echo "Error: domain $dom exist"
81+
log_event "$E_EXISTS" "$EVENT"
82+
exit $E_EXISTS
83+
fi
84+
fi
85+
86+
# Check mail domain
87+
if [ ! -z "$mail" ] && [ "$type" == 'mail' ]; then
88+
echo "Error: domain $dom exist"
89+
log_event "$E_EXISTS" "$EVENT"
90+
exit $E_EXISTS
91+
fi
92+
if [ ! -z "$mail" ]; then
93+
mail_user=$(echo "$mail" |cut -f 7 -d /)
94+
if [ "$mail_user" != "$user" ]; then
95+
echo "Error: domain $dom exist"
96+
log_event "$E_EXISTS" "$EVENT"
97+
exit $E_EXISTS
98+
fi
99+
fi
100+
101+
# Check web aliases
102+
web_alias=$(grep -w $dom $VESTA/data/users/*/web.conf)
103+
if [ ! -z "$web_alias" ]; then
104+
c1=$(grep "'$dom'" $VESTA/data/users/*/web.conf | cut -f 7 -d /)
105+
c2=$(grep "'$dom," $VESTA/data/users/*/web.conf | cut -f 7 -d /)
106+
c3=$(grep ",$dom," $VESTA/data/users/*/web.conf | cut -f 7 -d /)
107+
c4=$(grep ",$dom'" $VESTA/data/users/*/web.conf | cut -f 7 -d /)
108+
if [ ! -z "$c1" ] && [ "$type" != "web" ]; then
109+
echo "Error: domain $dom exist"
110+
log_event "$E_EXISTS" "$EVENT"
111+
exit $E_EXISTS
112+
fi
113+
if [ ! -z "$c1" ]; then
114+
c1_user=$(echo "$c1" |cut -f 7 -d /)
115+
if [ "$c1_user" != "$user" ]; then
64116
echo "Error: domain $dom exist"
65117
log_event "$E_EXISTS" "$EVENT"
66118
exit $E_EXISTS
67119
fi
68-
else
120+
fi
121+
122+
if [ ! -z "$c2" ] && [ "$type" != "web" ]; then
69123
echo "Error: domain $dom exist"
70124
log_event "$E_EXISTS" "$EVENT"
71125
exit $E_EXISTS
72126
fi
127+
if [ ! -z "$c2" ]; then
128+
c2_user=$(echo "$c2" |cut -f 7 -d /)
129+
if [ "$c2_user" != "$user" ]; then
130+
echo "Error: domain $dom exist"
131+
log_event "$E_EXISTS" "$EVENT"
132+
exit $E_EXISTS
133+
fi
134+
fi
135+
136+
if [ ! -z "$c3" ] && [ "$type" != "web" ]; then
137+
echo "Error: domain $dom exist"
138+
log_event "$E_EXISTS" "$EVENT"
139+
exit $E_EXISTS
140+
fi
141+
if [ ! -z "$c3" ]; then
142+
c3_user=$(echo "$c3" |cut -f 7 -d /)
143+
if [ "$c3_user" != "$user" ]; then
144+
echo "Error: domain $dom exist"
145+
log_event "$E_EXISTS" "$EVENT"
146+
exit $E_EXISTS
147+
fi
148+
fi
149+
150+
if [ ! -z "$c4" ] && [ "$type" != "web" ]; then
151+
echo "Error: domain $dom exist"
152+
log_event "$E_EXISTS" "$EVENT"
153+
exit $E_EXISTS
154+
fi
155+
if [ ! -z "$c4" ]; then
156+
c1_user=$(echo "$c4" |cut -f 7 -d /)
157+
if [ "$c4_user" != "$user" ]; then
158+
echo "Error: domain $dom exist"
159+
log_event "$E_EXISTS" "$EVENT"
160+
exit $E_EXISTS
161+
fi
162+
fi
73163
fi
74164
}
75165

0 commit comments

Comments
 (0)