X-Git-Url: http://git.pjr.cc/?p=CBFWR.git;a=blobdiff_plain;f=libcbfwr%2Fconfig.php;h=d9a8eb2d8cbb854cfc536128af46f57f1b1db69e;hp=e63f13c378f0897f9efeab2f9312abdd85094bf3;hb=29e287b0e8dc179a07d217d7f4b81e878c3e324d;hpb=8b23a340e9a8371cf18cf535dc3f8951c0a67241 diff --git a/libcbfwr/config.php b/libcbfwr/config.php index e63f13c..d9a8eb2 100644 --- a/libcbfwr/config.php +++ b/libcbfwr/config.php @@ -36,10 +36,10 @@ class Config { } if($this->config["status"] == "conf") { + $this->loadConfig($this->config_file); - print_r($this->config); - $this->config = array(); $this->findHardware(); + print_r($this->config); $this->applyConfig(); } else { @@ -57,18 +57,23 @@ class Config { // first, network interfaces $dh = opendir("/sys/class/net/"); while(($fname = readdir($dh)) !== false) { - if($fname != "." && $fname != ".." && $fname != "lo") { - $this->config["hardware"]["netdev"][$fname]["int"] = true; + if($fname != "." && $fname != ".." && $fname != "lo" && is_dir("/sys/class/net/$fname/")) { + $this->config["hardware"]["netdev"][$fname]["name"] = $fname; // now read drive name if you can - $fp = fopen("/sys/class/net/$fname/device/uevent", "r"); - if($fp) while(!feof($fp)) { - $line = trim(fgets($fp)); - $lpl = explode("=", $line); - if($lpl[0] == "DRIVER") { - $this->config["hardware"]["netdev"][$fname]["driver"] = $lpl[1]; + if(file_exists("/sys/class/net/$fname/device/uevent")) $fp = fopen("/sys/class/net/$fname/device/uevent", "r"); + else $fp = false; + if($fp) { + while(!feof($fp)) { + $line = trim(fgets($fp)); + $lpl = explode("=", $line); + if($lpl[0] == "DRIVER") { + $this->config["hardware"]["netdev"][$fname]["driver"] = $lpl[1]; + } } + fclose($fp); } - fclose($fp); + if(file_exists("/sys/class/net/$fname/bonding")) $this->config["hardware"]["netdev"][$fname]["bonding"] = true; + if(file_exists("/sys/class/net/$fname/bridge")) $this->config["hardware"]["netdev"][$fname]["bridge"] = true; } } }