diff --git a/ajax/networking/save_net_dev_config.php b/ajax/networking/save_net_dev_config.php index e90cd1ea..57c4c30f 100644 --- a/ajax/networking/save_net_dev_config.php +++ b/ajax/networking/save_net_dev_config.php @@ -39,7 +39,9 @@ if (isset($_POST['interface'])) { $pid=$_POST["int-pid-".$dev]; $mac=$_POST["int-mac-".$dev]; $name=trim($_POST["int-name-".$dev]); + // limit device name to letters and numbers. Total length max 20 $name=preg_replace("/[^a-z0-9]/", "", strtolower($name)); + $name=substr($name, 0, min(strlen($name),20)); $type=$_POST["int-type-".$dev]; $newtype=$_POST["int-new-type-".$dev]; $udevfile=$_SESSION["udevrules"]["udev_rules_file"]; // default file /etc/udev/rules.d/80-net-devices.rules"; @@ -72,7 +74,6 @@ if (isset($_POST['interface'])) { if (!empty($name)) $rule = preg_replace("/\\\$DEVNAME\\\$/i",$name,$rule); if (!empty($rule)) exec('echo \''.$rule.'\' | sudo /usr/bin/tee -a '.$udevfile); } - $ret=print_r($ret,true); $jsonData = ['return'=>0,'output'=>['Settings changed for device '.$dev. '
Changes will only be in effect after reconnecting the device' ] ]; echo json_encode($jsonData); return; diff --git a/config/client_udev_prototypes.json b/config/client_udev_prototypes.json index 2cca8257..a147e776 100644 --- a/config/client_udev_prototypes.json +++ b/config/client_udev_prototypes.json @@ -9,7 +9,7 @@ "clientid": 0, "comment": "standard ethernet port", "name_prefix": "eth", - "udev_rule": "SUBSYSTEM==\"net\", ACTION==\"add\", ATTR{address}==\"$MAC$\", NAME=\"$DEVNAME$\", ENV{raspapType}="eth" " + "udev_rule": "SUBSYSTEM==\"net\", ACTION==\"add\", ATTR{address}==\"$MAC$\", NAME=\"$DEVNAME$\", ENV{raspapType}=\"eth\" " }, { "type": "usb", @@ -17,7 +17,7 @@ "clientid": 1, "comment": "network interface - e.g. USB tethering of an Android phone ", "name_prefix": "usb", - "udev_rule": "SUBSYSTEM==\"net\", ACTION==\"add\", SUBSYSTEMS==\"usb\", ATTRS{idVendor}==\"$IDVENDOR$\", ATTRS{idProduct}==\"$IDPRODUCT$\", NAME=\"$DEVNAME$\", ENV{raspapType}="eth" " + "udev_rule": "SUBSYSTEM==\"net\", ACTION==\"add\", SUBSYSTEMS==\"usb\", ATTRS{idVendor}==\"$IDVENDOR$\", ATTRS{idProduct}==\"$IDPRODUCT$\", NAME=\"$DEVNAME$\", ENV{raspapType}=\"eth\" " }, { "type": "wlan", @@ -25,7 +25,7 @@ "clientid": 2, "comment": "standard wireless interface", "name_prefix": "wlan", - "udev_rule": "SUBSYSTEM==\"net\", ACTION==\"add\", ATTR{address}==\"$MAC$\", NAME=\"$DEVNAME$\", ENV{raspapType}="wlan" " + "udev_rule": "SUBSYSTEM==\"net\", ACTION==\"add\", ATTR{address}==\"$MAC$\", NAME=\"$DEVNAME$\", ENV{raspapType}=\"wlan\" " }, { "type": "ppp", @@ -42,7 +42,7 @@ "comment": "Huawei mobile data device in router mode. Control via HTTP", "name_prefix": "hilink", "default_ip": "192.168.8.1", - "udev_rule": "SUBSYSTEM==\"net\", ACTION==\"add\", SUBSYSTEMS==\"usb\", ATTRS{idVendor}==\"$IDVENDOR$\", ATTRS{idProduct}==\"$IDPRODUCT$\", NAME=\"$DEVNAME$\", ENV{raspapType}="hilink", TAG+=\"systemd\", ENV{SYSTEMD_WANTS}=\"start start_huawei_hilink.service\" " + "udev_rule": "SUBSYSTEM==\"net\", ACTION==\"add\", SUBSYSTEMS==\"usb\", ATTRS{idVendor}==\"$IDVENDOR$\", ATTRS{idProduct}==\"$IDPRODUCT$\", NAME=\"$DEVNAME$\", ENV{raspapType}=\"hilink\", TAG+=\"systemd\", ENV{SYSTEMD_WANTS}=\"start start_huawei_hilink.service\" " }, { "type": "phone", @@ -50,14 +50,14 @@ "clientid": 5, "comment": "ethernet access provided by tethering from phone via USB", "name_prefix": "phone", - "udev_rule": "SUBSYSTEM==\"net\", ACTION==\"add\", SUBSYSTEMS==\"usb\", ATTRS{idVendor}==\"$IDVENDOR$\", ATTRS{idProduct}==\"$IDPRODUCT$\", NAME=\"$DEVNAME$\", ENV{raspapType}="phone" " + "udev_rule": "SUBSYSTEM==\"net\", ACTION==\"add\", SUBSYSTEMS==\"usb\", ATTRS{idVendor}==\"$IDVENDOR$\", ATTRS{idProduct}==\"$IDPRODUCT$\", NAME=\"$DEVNAME$\", ENV{raspapType}=\"phone\" " }, - { + { "type": "tun", "type_info": "tunnel device", "clientid": -1, "comment": "tunneling device used by OpenVPN", - "name_prefix": "tun", + "name_prefix": "tun" } ] }