]> glassweightruler.freedombox.rocks Git - waydroid.git/blobdiff - data/scripts/waydroid-net.sh
update regex for deprecation warning
[waydroid.git] / data / scripts / waydroid-net.sh
index f01690f307cbd69685f1c910772ee064ac19daf3..3ce3910ff54b52cc7b3d3c49c97fb59d885266c8 100755 (executable)
@@ -2,14 +2,25 @@
 
 varrun="/run/waydroid-lxc"
 varlib="/var/lib"
 
 varrun="/run/waydroid-lxc"
 varlib="/var/lib"
+net_link_key="lxc.net.0.link"
+case "$(lxc-info --version)" in [012].*) net_link_key="lxc.network.link" ;; esac
+vnic=$(awk "\$1 == \"$net_link_key\" {print \$3}" /var/lib/waydroid/lxc/waydroid/config)
+: ${vnic:=waydroid0}
+
+if [ "$vnic" != "waydroid0" ]; then
+    echo "vnic is $vnic, bailing out"
+    exit 0
+else 
+    echo "vnic is waydroid0"
+fi
 
 USE_LXC_BRIDGE="true"
 
 USE_LXC_BRIDGE="true"
-LXC_BRIDGE="waydroid0"
+LXC_BRIDGE="${vnic}"
 LXC_BRIDGE_MAC="00:16:3e:00:00:01"
 LXC_BRIDGE_MAC="00:16:3e:00:00:01"
-LXC_ADDR="192.168.250.1"
+LXC_ADDR="192.168.240.1"
 LXC_NETMASK="255.255.255.0"
 LXC_NETMASK="255.255.255.0"
-LXC_NETWORK="192.168.250.0/24"
-LXC_DHCP_RANGE="192.168.250.2,192.168.250.254"
+LXC_NETWORK="192.168.240.0/24"
+LXC_DHCP_RANGE="192.168.240.2,192.168.240.254"
 LXC_DHCP_MAX="253"
 LXC_DHCP_CONFILE=""
 LXC_DHCP_PING="true"
 LXC_DHCP_MAX="253"
 LXC_DHCP_CONFILE=""
 LXC_DHCP_PING="true"
@@ -21,20 +32,20 @@ LXC_IPV6_MASK=""
 LXC_IPV6_NETWORK=""
 LXC_IPV6_NAT="false"
 
 LXC_IPV6_NETWORK=""
 LXC_IPV6_NAT="false"
 
-IPTABLES_BIN="$(which iptables-legacy)"
+IPTABLES_BIN="$(command -v iptables-legacy)"
 if [ ! -n "$IPTABLES_BIN" ]; then
 if [ ! -n "$IPTABLES_BIN" ]; then
-    IPTABLES_BIN="$(which iptables)"
+    IPTABLES_BIN="$(command -v iptables)"
 fi
 fi
-IP6TABLES_BIN="$(which ip6tables-legacy)"
+IP6TABLES_BIN="$(command -v ip6tables-legacy)"
 if [ ! -n "$IP6TABLES_BIN" ]; then
 if [ ! -n "$IP6TABLES_BIN" ]; then
-    IP6TABLES_BIN="$(which ip6tables)"
+    IP6TABLES_BIN="$(command -v ip6tables)"
 fi
 
 use_nft() {
     [ -n "$NFT" ] && nft list ruleset > /dev/null 2>&1 && [ "$LXC_USE_NFT" = "true" ]
 }
 
 fi
 
 use_nft() {
     [ -n "$NFT" ] && nft list ruleset > /dev/null 2>&1 && [ "$LXC_USE_NFT" = "true" ]
 }
 
-NFT="$(which nft)"
+NFT="$(command -v nft)"
 if ! use_nft; then
     use_iptables_lock="-w"
     $IPTABLES_BIN -w -L -n > /dev/null 2>&1 || use_iptables_lock=""
 if ! use_nft; then
     use_iptables_lock="-w"
     $IPTABLES_BIN -w -L -n > /dev/null 2>&1 || use_iptables_lock=""
@@ -117,7 +128,7 @@ add rule ip lxc postrouting ip saddr ${LXC_NETWORK} ip daddr != ${LXC_NETWORK} c
 start() {
     [ "x$USE_LXC_BRIDGE" = "xtrue" ] || { exit 0; }
 
 start() {
     [ "x$USE_LXC_BRIDGE" = "xtrue" ] || { exit 0; }
 
-    [ ! -f "${varrun}/network_up" ] || { echo "waydroid-net is already running"; exit 1; }
+    [ ! -f "${varrun}/network_up" ] || { echo "waydroid-net is already running"; exit 0; }
 
     if [ -d /sys/class/net/${LXC_BRIDGE} ]; then
         stop force || true
 
     if [ -d /sys/class/net/${LXC_BRIDGE} ]; then
         stop force || true
@@ -147,7 +158,7 @@ start() {
     # can't write its pid into, so we restorecon it (to var_run_t)
     if [ ! -d "${varrun}" ]; then
         mkdir -p "${varrun}"
     # can't write its pid into, so we restorecon it (to var_run_t)
     if [ ! -d "${varrun}" ]; then
         mkdir -p "${varrun}"
-        if which restorecon >/dev/null 2>&1; then
+        if command -v restorecon >/dev/null 2>&1; then
             restorecon "${varrun}"
         fi
     fi
             restorecon "${varrun}"
         fi
     fi
@@ -182,6 +193,10 @@ start() {
         LXC_DHCP_PING_ARG="--no-ping"
     fi
 
         LXC_DHCP_PING_ARG="--no-ping"
     fi
 
+    if [ ! -d "${varlib}"/misc ]; then
+        mkdir "${varlib}"/misc
+    fi
+
     dnsmasq $LXC_DHCP_CONFILE_ARG $LXC_DOMAIN_ARG $LXC_DHCP_PING_ARG -u ${DNSMASQ_USER} \
             --strict-order --bind-interfaces --pid-file="${varrun}"/dnsmasq.pid \
             --listen-address ${LXC_ADDR} --dhcp-range ${LXC_DHCP_RANGE} \
     dnsmasq $LXC_DHCP_CONFILE_ARG $LXC_DOMAIN_ARG $LXC_DHCP_PING_ARG -u ${DNSMASQ_USER} \
             --strict-order --bind-interfaces --pid-file="${varrun}"/dnsmasq.pid \
             --listen-address ${LXC_ADDR} --dhcp-range ${LXC_DHCP_RANGE} \