diff options
author | Colin Smith <colin@pfsense.org> | 2005-07-24 19:11:21 +0000 |
---|---|---|
committer | Colin Smith <colin@pfsense.org> | 2005-07-24 19:11:21 +0000 |
commit | 370fb83cd17d2ae4bc1b52715f82aaf4f7a74c58 (patch) | |
tree | ffcb2ffefad6c88491c8c62f2d86f33ea3595512 | |
parent | db4ddf9fd70e373f47ae3fa0a82c23782d1b19b4 (diff) | |
download | pfsense-packages-370fb83cd17d2ae4bc1b52715f82aaf4f7a74c58.tar.gz pfsense-packages-370fb83cd17d2ae4bc1b52715f82aaf4f7a74c58.tar.bz2 pfsense-packages-370fb83cd17d2ae4bc1b52715f82aaf4f7a74c58.zip |
Tweak sync_package_ntop, add service entry, etc.
-rw-r--r-- | packages/ntop/ntop.xml | 111 |
1 files changed, 55 insertions, 56 deletions
diff --git a/packages/ntop/ntop.xml b/packages/ntop/ntop.xml index 66396d17..0a8fc5bd 100644 --- a/packages/ntop/ntop.xml +++ b/packages/ntop/ntop.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="utf-8" ?> <packagegui> - <title>Diagnostics: NTop</title> + <title>Diagnostics: ntop Settings</title> <name>ntop</name> <version>3.0</version> <preoutput>yes</preoutput> @@ -8,25 +8,31 @@ <aftersaveredirect>pkg_edit.php?xml=ntop.xml&id=0</aftersaveredirect> <!-- Menu is where this packages menu will appear --> <menu> - <name>NTop Settings</name> - <tooltiptext>Set NTop settings such as password and port.</tooltiptext> + <name>ntop Settings</name> + <tooltiptext>Set ntop settings such as password and port.</tooltiptext> <section>Diagnostics</section> <url>/pkg_edit.php?xml=ntop.xml&id=0</url> </menu> <menu> - <name>NTop</name> + <name>ntop</name> <tooltiptext>Access ntop</tooltiptext> <url>http://$myurl:3000</url> <section>Diagnostics</section> + <depends_on_service>ntop</depends_on_service> </menu> + <service> + <name>ntop</name> + <rcfile>ntop.sh</rcfile> + <executable>ntop</executable> + </service> <tabs> <tab> - <text>NTop Settings</text> + <text>ntop Settings</text> <url>/pkg_edit.php?xml=ntop.xml&id=0</url> <active/> </tab> <tab> - <text>NTop</text> + <text>Access ntop</text> <url>http://$myurl:3000</url> </tab> </tabs> @@ -34,13 +40,13 @@ the configuration database. --> <fields> <field> - <fielddescr>NTOP Admin Password</fielddescr> + <fielddescr>ntop Admin Password</fielddescr> <fieldname>password</fieldname> <description>Enter the password for the NTOP Web GUI. Minimum 5 characters.</description> <type>password</type> </field> <field> - <fielddescr>NTOP Admin Password AGAIN</fielddescr> + <fielddescr>ntop Admin Password AGAIN</fielddescr> <fieldname>passwordagain</fieldname> <type>password</type> </field> @@ -53,57 +59,50 @@ <type>interfaces_selection</type> </field> </fields> + <custom_php_global_functions> + function sync_package_ntop() { + conf_mount_rw(); + config_lock(); + global $config; + global $input_errors; + $ntop_config =& $config['installedpackages']['ntop']['config'][0]; + $if_final = ""; + if($ntop_config['password'] and $ntop_config['passwordagain']) { + if($ntop_config['password'] == $ntop_config['passwordagain']) { + $ifaces = $ntop_config['iface']; + $isfirst = 0; + $lan = $config['interfaces']['lan']['if']; + foreach($ifaces as $if) { + if($isfirst == 1) $if_final = ","; + $if_final .= convert_friendly_interface_to_real_interface_name($if); + $isfirst = 1; + } + if(!$if_final) { + $if_final = $lan; + } + system("/usr/local/bin/ntop --set-admin-password=" . $_POST['password'] . " &"); + $start = "/usr/local/bin/ntop -i " . $if_final . " -u root -d --ipv4 -M -x 8102 -X 8192 &"; + write_rcfile(array( + "file" => "ntop.sh", + "start" => $start, + "stop" => "/usr/bin/killall ntop" + ) + ); + restart_service_if_running("ntop"); + } else { + $input_errors[] = "The provided passwords did not match."; + } + } else { + $input_errors[] = "You must provide (and confirm) ntop's password."; + } + conf_mount_ro(); + config_unlock(); + } + </custom_php_global_functions> <custom_add_php_command> - function sync_package_ntop() { - conf_mount_rw(); - config_lock(); - if($_POST == "") $_POST = $config['installedpackages']['ntop']['config']; - $if_final = ""; - if($_POST['password'] == $_POST['passwordagain']) { - $ifaces=$_POST['iface']; - $isfirst = 0; - $lan = $config['interfaces']['lan']['if']; - foreach($ifaces as $if) - { - if($isfirst == 1) $if_final .= ","; - $if_final .= convert_friendly_interface_to_real_interface_name($if); - $isfirst = 1; - } - if($if_final == "") { - $if_final = $lan; - } - exec("/usr/local/bin/ntop --set-admin-password=" . $_POST['password']); - mwexec("killall ntop 2>/dev/null"); - $fout = fopen("/usr/local/etc/rc.d/ntop.sh","w"); - fwrite($fout, "#!/bin/sh\n\n"); - fwrite($fout, "/usr/local/bin/ntop -i " . $if_final . " -u root -d --ipv4 -M -x 8192 -X 8192\n\n"); - fclose($fout); - conf_mount_ro(); - config_unlock(); - chmod("/usr/local/etc/rc.d/ntop.sh", 0555); - mwexec("killall ntop"); - exec("/usr/local/etc/rc.d/ntop.sh"); - } else { - echo "Passwords do not match!"; - exit; - } - } - sync_package_ntop(); - + sync_package_ntop(); </custom_add_php_command> <custom_php_resync_command> sync_package_ntop(); </custom_php_resync_command> - <custom_php_deinstall_command> - mwexec("/usr/bin/killall ntop"); - </custom_php_deinstall_command> - <custom_php_install_command> - $fout = fopen("/usr/local/etc/rc.d/ntop.sh","w"); - fwrite($fout, "#!/bin/sh\n\n"); - fwrite($fout, "# PACKAGE: NTop\n"); - fwrite($fout, "# EXECUTABLE: ntop\n"); - fwrite($fout, "/usr/local/bin/ntop -u root -d --ipv4 -M\n\n"); - fclose($fout); - chmod("/usr/local/etc/rc.d/ntop.sh", 0555); - </custom_php_install_command> </packagegui> |