<packagegui> <name>ifdepd</name> <version>20050303</version> <title>ifdepd: Settings</title> <menu> <name>ifdepd</name> <tooltiptext>Modify ifdepd settings.</tooltiptext> <section>Services</section> <configfile>ifdepd.xml</configfile> <url>/pkg_edit.php?xml=ifdepd.xml&id=0</url> </menu> <aftersaveredirect>pkg_edit.php?xml=ifdepd.xml&id=0</aftersaveredirect> <configpath>installedpackages->package->$packagename->configuration->settings</configpath> <fields> <field> <fielddescr>Use default values</fielddescr> <fieldname>usedefaults</fieldname> <description>If this is checked ifdepd will monitor the WAN and LAN interfaces for connectivity and will disable carp0 and carp1 upon their failure.</description> <type>checkbox</type> </field> <field> <fielddescr>Source interfaces</fielddescr> <fieldname>srcinterface</fieldname> <description>Enter a colon seperated list of interfaces to monitor for connectivity. You must use the physical interface names.</description> <type>input</type> </field> <field> <fielddescr>Destination interfaces</fielddescr> <fieldname>destinterface</fieldname> <description>Enter a colon seperated list of interfaces to disable once one of the source interfaces loses connectivity. You must specify physical interface names.</description> <type>input</type> </field> </fields> <custom_php_global_functions> function sync_package_ifdepd() { conf_mount_rw(); config_lock(); global $config; if ($_POST[0] == "") $_POST = $config['installedpackages']['ifdepd']['config']; if($config['installedpackages']['ifdepd']['config'] != "") { $fout = fopen("/usr/local/etc/rc.d/ifdepd.sh","w"); fwrite($fout, "#!/bin/sh\n\n"); if(isset($_POST['usedefaults'])) { $lan_int = $config['interfaces']['lan']['if']; $wan_int = $config['interfaces']['wan']['if']; fwrite($fout, "/usr/local/bin/ifdepd -d -S " . $lan_int . ":" . $wan_int . " -D carp0:carp1\n"); } else { fwrite($fout, "/usr/local/bin/ifdepd -d -S " . $_POST['srcinterface'] . " -D " . $_POST['destinterface'] . "\n"); } fclose($fout); } conf_mount_ro(); config_unlock(); } </custom_php_global_functions> <custom_php_install_command> unlink_if_exists("/usr/local/etc/rc.d/ifdepd.sh"); </custom_php_install_command> <custom_add_php_command> sync_package_ifdepd(); mwexec("/usr/bin/killall ifdepd"); mwexec("/usr/local/etc/rc.d/ifdepd.sh"); </custom_add_php_command> <custom_php_resync_command> sync_package_ifdepd(); </custom_php_resync_command> </packagegui>