X-Git-Url: http://git.pjr.cc/?p=CBFWR.git;a=blobdiff_plain;f=libcbfwr%2Fconfig.php;h=3720d6a30021a3e02c983a872265b1b7b9fa9b7a;hp=9ca0ff9d8e1ecc5762ed51591071496017c4c613;hb=fa4d5e8e3250b981ee563f21df08c729dd3d4c57;hpb=175dadf56670772f8d889276df67471354a36f21 diff --git a/libcbfwr/config.php b/libcbfwr/config.php index 9ca0ff9..3720d6a 100644 --- a/libcbfwr/config.php +++ b/libcbfwr/config.php @@ -4,11 +4,10 @@ class Config { // here we load a config if we can find it // there are two sides to every class, the fwd side // and the web page site (command line is web for all intents) - function __construct() + function __construct($look_for_config = false) { - global $AM_DAEMON; - if($AM_DAEMON) { + if($look_for_config) { $this->config_file = null; if(file_exists("../var/fw.conf")) { $this->config_file = realpath("../var/fw.conf"); @@ -28,47 +27,18 @@ class Config { $this->config_file = "/var/lib/fwd/fw.conf"; } else if(is_dir("../var/")) { echo "no config file found. Will use ../var/fw.conf for now\n"; - $this->config_file = "../var/"; + $this->config_file = "../var/fw.conf"; } else { echo "No directory where i can create a config, bailing\n"; - $this->config["status"] = "unconf"; + $this->config["status"] = "nodir"; } } - - - } } - function bootHardware() + function loadConfig($config) { - $this->findHardware(); - - $mycomm = new Comms(); - $mycomm->putConfig($this->config, 1); - - } - - function loadConfig() - { - global $AM_DAEMON; - - if($AM_DAEMON) { - if($this->config["status"] == "conf") { - $this->loadConfigFile($this->config_file); - $this->applyConfig(); - $this->findHardware(); - - $mycomm = new Comms(); - $mycomm->putConfig($this->config); - $this->boot_config = $mycomm->getConfig(1); - } - } else { - $mycomm = new Comms(); - $this->config = $mycomm->getConfig(0); - $this->boot_config = $mycomm->getConfig(1); - - } + $this->config = $config; } function findHardware() @@ -93,6 +63,8 @@ class Config { } fclose($fp); } + if(file_exists("/sys/class/net/$fname/mtu")) $this->config["hardware"]["netdev"][$fname]["mtu"] = file_get_contents("/sys/class/net/$fname/mtu"); + if(file_exists("/sys/class/net/$fname/address")) $this->config["hardware"]["netdev"][$fname]["hwaddress"] = file_get_contents("/sys/class/net/$fname/address"); 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; } @@ -104,11 +76,6 @@ class Config { return $this->config; } - function getBootConfig() - { - return $this->boot_config; - } - function applyConfig() { global $AM_DAEMON; @@ -118,10 +85,21 @@ class Config { return true; } - function loadConfigFile($file) + function mergeConfig($configone, $configtwo) { - global $AM_DAEMON; - if(!$AM_DAEMON) return true; + // yep + } + + function loadConfigFile($file=null) + { + + if($file == null) { + if($this->config["status"] == "nodir") { + return "nodir"; + } else $file = $this->config_file; + } + + if(!file_exists($file)) return "noconf"; $fp = fopen($file, "r"); @@ -350,7 +328,6 @@ class Config { private $config_file; private $config; - private $boot_config; }; ?> \ No newline at end of file