$config = new Config();
+global $config;
if(isset($argv[1])) {
if($argv[1] == "boot") {
// setup our sem/shm stuff
-// this stuff needs to go in comms
+// do the initial stuff
+$comms = new Comms;
+$config->loadConfig();
+$rawconf = $config->getConfig();
+$comms->putConfig($rawconf);
+
while($cont) {
- $comms = new Comms;
-
- $config->loadConfig();
- $comms->putConfig($config->getConfig());
-
$msg = $comms->waitForMessage();
//echo "Got message: $msg\n";
if($msg == "quit") $cont = false;
+ else cbfwd_commandProcessor($msg);
+}
+
+
+function cbfwd_commandProcessor($command)
+{
+ global $config;
+ $cmds = explode(" ", $command);
+ $comms = new Comms;
+
+ $comms->lockConfigs();
+ switch($cmds[0]) {
+ case "goodone":
+ break;
+
+ // interface change requests
+ case "interface":
+ $int = $cmds[1];
+ if($cmds[2] == "changename") {
+ $rawconf = $comms->getConfig();
+ if(isset($rawconf["interface"]["$int"]["name"])) $rawconf["interface"]["$int"]["name"] = $cmds[3];
+ $comms->putConfig($rawconf);
+ }
+ break;
+
+ case "zone":
+ $cmd = $cmds[1];
+ switch($cmd) {
+ case "add":
+ $zonename = $cmds[2];
+ $rawconf = $comms->getConfig();
+ $rawconf["zone"][$zonename]["name"] = 1;
+ $comms->putConfig($rawconf);
+ break;
+
+ }
+ }
+ $comms->unlockConfigs();
}
?>
\ No newline at end of file