diff --git a/openmptcprouter/files/etc/init.d/openmptcprouter-vps b/openmptcprouter/files/etc/init.d/openmptcprouter-vps index 79a2fe4c3..b39426e7d 100755 --- a/openmptcprouter/files/etc/init.d/openmptcprouter-vps +++ b/openmptcprouter/files/etc/init.d/openmptcprouter-vps @@ -559,24 +559,30 @@ _vps_firewall_redirect_port() { [ "$src" = "vpn" ] && [ -n "$proto" ] && [ -n "$src_dport" ] && { if [ "$proto" = "tcp udp" ]; then if [ "$family" = "ipv4" ]; then - vpsfwlist=$(echo "$vpsfwlist" | grep -v "$port # OMR redirect router $src_dport port tcp") + vpsfwlist=$(echo "$vpsfwlist" | grep -v "$port # OMR $username redirect router $src_dport port tcp") + [ "$username" = "openmptcprouter" ] && vpsfwlist=$(echo "$vpsfwlist" | grep -v "$port # OMR redirect router $src_dport port tcp") else - vpsfw6list=$(echo "$vpsfw6list" | grep -v "$port # OMR redirect router $src_dport port tcp") + vpsfw6list=$(echo "$vpsfw6list" | grep -v "$port # OMR $username redirect router $src_dport port tcp") + [ "$username" = "openmptcprouter" ] && vpsfw6list=$(echo "$vpsfw6list" | grep -v "$port # OMR redirect router $src_dport port tcp") fi settings='{"name" : "router '$src_dport'","port" : "'$src_dport'","proto" : "tcp","fwtype" : "DNAT","ipproto" : "'$family'"}' _set_json "shorewallopen" "$settings" if [ "$family" = "ipv4" ]; then - vpsfwlist=$(echo "$vpsfwlist" | grep -v "$port # OMR redirect router $src_dport port udp") + vpsfwlist=$(echo "$vpsfwlist" | grep -v "$port # OMR $username redirect router $src_dport port udp") + [ "$username" = "openmptcprouter" ] && vpsfwlist=$(echo "$vpsfwlist" | grep -v "$port # OMR redirect router $src_dport port udp") else - vpsfw6list=$(echo "$vpsfw6list" | grep -v "$port # OMR redirect router $src_dport port udp") + vpsfw6list=$(echo "$vpsfw6list" | grep -v "$port # OMR $username redirect router $src_dport port udp") + [ "$username" = "openmptcprouter" ] && vpsfw6list=$(echo "$vpsfw6list" | grep -v "$port # OMR redirect router $src_dport port udp") fi settings='{"name" : "router '$src_dport'","port" : "'$src_dport'","proto" : "udp","fwtype" : "DNAT","ipproto" : "'$family'"}' _set_json "shorewallopen" "$settings" else if [ "$family" = "ipv4" ]; then - vpsfwlist=$(echo "$vpsfwlist" | grep -v "$port # OMR redirect router $src_dport port $proto") + vpsfwlist=$(echo "$vpsfwlist" | grep -v "$port # OMR $username redirect router $src_dport port $proto") + [ "$username" = "openmptcprouter" ] && vpsfwlist=$(echo "$vpsfwlist" | grep -v "$port # OMR redirect router $src_dport port $proto") else - vpsfw6list=$(echo "$vpsfw6list" | grep -v "$port # OMR redirect router $src_dport port $proto") + vpsfw6list=$(echo "$vpsfw6list" | grep -v "$port # OMR $username redirect router $src_dport port $proto") + [ "$username" = "openmptcprouter" ] && vpsfw6list=$(echo "$vpsfw6list" | grep -v "$port # OMR redirect router $src_dport port $proto") fi settings='{"name" : "router '$src_dport'","port" : "'$src_dport'","proto" : "'$proto'","fwtype" : "DNAT","ipproto" : "'$family'"}' _set_json "shorewallopen" "$settings" @@ -625,6 +631,7 @@ _set_vps_firewall() { EOF return } + username="$(uci -q get openmptcprouter.${fwservername}.username)" settings='{"name" : "redirect router"}' fw_list=$(_set_json "shorewalllist" "$settings") vpsfwlist=$(echo $fw_list | jsonfilter -q -e '@.list[*]' | sed '/^[[:space:]]*$/d')