Fix json format of client udev prototypes

limit device name length to 20
This commit is contained in:
Christian Zeitnitz 2021-03-29 21:53:26 +02:00
parent afe0553935
commit d7428be2ec
2 changed files with 9 additions and 8 deletions

View File

@ -39,7 +39,9 @@ if (isset($_POST['interface'])) {
$pid=$_POST["int-pid-".$dev]; $pid=$_POST["int-pid-".$dev];
$mac=$_POST["int-mac-".$dev]; $mac=$_POST["int-mac-".$dev];
$name=trim($_POST["int-name-".$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=preg_replace("/[^a-z0-9]/", "", strtolower($name));
$name=substr($name, 0, min(strlen($name),20));
$type=$_POST["int-type-".$dev]; $type=$_POST["int-type-".$dev];
$newtype=$_POST["int-new-type-".$dev]; $newtype=$_POST["int-new-type-".$dev];
$udevfile=$_SESSION["udevrules"]["udev_rules_file"]; // default file /etc/udev/rules.d/80-net-devices.rules"; $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($name)) $rule = preg_replace("/\\\$DEVNAME\\\$/i",$name,$rule);
if (!empty($rule)) exec('echo \''.$rule.'\' | sudo /usr/bin/tee -a '.$udevfile); 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. '<br>Changes will only be in effect after reconnecting the device' ] ]; $jsonData = ['return'=>0,'output'=>['Settings changed for device '.$dev. '<br>Changes will only be in effect after reconnecting the device' ] ];
echo json_encode($jsonData); echo json_encode($jsonData);
return; return;

View File

@ -9,7 +9,7 @@
"clientid": 0, "clientid": 0,
"comment": "standard ethernet port", "comment": "standard ethernet port",
"name_prefix": "eth", "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", "type": "usb",
@ -17,7 +17,7 @@
"clientid": 1, "clientid": 1,
"comment": "network interface - e.g. USB tethering of an Android phone ", "comment": "network interface - e.g. USB tethering of an Android phone ",
"name_prefix": "usb", "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", "type": "wlan",
@ -25,7 +25,7 @@
"clientid": 2, "clientid": 2,
"comment": "standard wireless interface", "comment": "standard wireless interface",
"name_prefix": "wlan", "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", "type": "ppp",
@ -42,7 +42,7 @@
"comment": "Huawei mobile data device in router mode. Control via HTTP", "comment": "Huawei mobile data device in router mode. Control via HTTP",
"name_prefix": "hilink", "name_prefix": "hilink",
"default_ip": "192.168.8.1", "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", "type": "phone",
@ -50,14 +50,14 @@
"clientid": 5, "clientid": 5,
"comment": "ethernet access provided by tethering from phone via USB", "comment": "ethernet access provided by tethering from phone via USB",
"name_prefix": "phone", "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": "tun",
"type_info": "tunnel device", "type_info": "tunnel device",
"clientid": -1, "clientid": -1,
"comment": "tunneling device used by OpenVPN", "comment": "tunneling device used by OpenVPN",
"name_prefix": "tun", "name_prefix": "tun"
} }
] ]
} }