Skip to content

Commit 394b3b5

Browse files
cmstewCurtis Stewart
andauthored
Prevent from making ip shared if it's not owned by admin (hestiacp#841)
* Prevent from making ip shared if it's not owned by admin * Made adjustments according to Lupul's request Co-authored-by: Curtis Stewart <curtisstewart@Curtiss-MacBook-Pro.local>
1 parent d0b1b07 commit 394b3b5

File tree

3 files changed

+14
-1
lines changed

3 files changed

+14
-1
lines changed

bin/v-add-sys-ip

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,9 @@ fi
4848
if [ ! -z "$nat_ip" ] ; then
4949
is_format_valid 'nat_ip'
5050
fi
51+
if [ "$user" != "admin" ]; then
52+
ip_status="dedicated"
53+
fi
5154

5255
# Perform verification if read-only mode is enabled
5356
check_hestia_demo_mode

bin/v-change-sys-ip-owner

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,9 @@ is_ip_valid "$ip"
3131
is_ip_key_empty '$U_WEB_DOMAINS'
3232
is_ip_key_empty '$U_SYS_USERS'
3333

34+
ip_status="$(get_ip_value '$STATUS')"
35+
36+
3437
# Perform verification if read-only mode is enabled
3538
check_hestia_demo_mode
3639

@@ -42,7 +45,6 @@ check_hestia_demo_mode
4245
# Changing ip owner
4346
ip_owner=$(get_ip_value '$OWNER')
4447
if [ "$ip_owner" != "$user" ]; then
45-
ip_status="$(get_ip_value '$STATUS')"
4648
update_ip_value '$OWNER' "$user"
4749
decrease_user_value "$ip_owner" '$IP_OWNED'
4850
if [ "$ip_owner" = 'admin' ]; then
@@ -73,6 +75,11 @@ if [ "$ip_owner" != "$user" ]; then
7375
fi
7476
fi
7577

78+
# Set status to dedicated if owner is not admin
79+
ip_status="$(get_ip_value '$STATUS')"
80+
if [ "$user" != 'admin' ] && [ "$ip_status" == 'shared' ]; then
81+
$HESTIA/bin/v-change-sys-ip-status "$ip" 'dedicated'
82+
fi
7683

7784
#----------------------------------------------------------#
7885
# Hestia #

bin/v-change-sys-ip-status

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,9 @@ ip_owner=$(get_ip_value '$OWNER')
3535
if [ "$web_domains" -ne '0' ] && [ "$sys_user" != "$ip_owner" ]; then
3636
check_result "$E_INUSE" "ip $ip is used"
3737
fi
38+
if [ "$ip_owner" != "admin" ] && [ "$ip_status" == "shared" ]; then
39+
check_result "$E_INVALID" "Only the 'admin' user can have a shared ip"
40+
fi
3841

3942
# Perform verification if read-only mode is enabled
4043
check_hestia_demo_mode

0 commit comments

Comments
 (0)