aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJim P <jim@pingle.org>2013-03-01 05:53:09 -0800
committerJim P <jim@pingle.org>2013-03-01 05:53:09 -0800
commit70d9dccdb19a4353d2aa293a58260c3c72eb3f08 (patch)
tree4669181ad8819c799372ef9ab68d5d14e7a14aed
parent417cf9feaecf2bee6c93307056963de4cbde0325 (diff)
parent53ceea44e08d49e4b02ad0c681780c7e92277a59 (diff)
downloadpfsense-packages-70d9dccdb19a4353d2aa293a58260c3c72eb3f08.tar.gz
pfsense-packages-70d9dccdb19a4353d2aa293a58260c3c72eb3f08.tar.bz2
pfsense-packages-70d9dccdb19a4353d2aa293a58260c3c72eb3f08.zip
Merge pull request #390 from phildd/master
bandwidthd for nanobsd in /var/bandwidthd
-rw-r--r--config/bandwidthd/bandwidthd.inc55
-rw-r--r--pkg_config.8.xml2
-rw-r--r--pkg_config.8.xml.amd642
3 files changed, 45 insertions, 14 deletions
diff --git a/config/bandwidthd/bandwidthd.inc b/config/bandwidthd/bandwidthd.inc
index 34532c18..c0115d81 100644
--- a/config/bandwidthd/bandwidthd.inc
+++ b/config/bandwidthd/bandwidthd.inc
@@ -54,6 +54,8 @@ function bandwidthd_install_config() {
global $config, $g;
/* bandwidthd doesn't have a way to pass a custom config path, unfortunately */
+ /* the conf file must be ./etc/bandwidthd.conf relative to the current dir */
+ $bandwidthd_base_dir = PKG_BANDWIDTHD_BASE;
$bandwidthd_config_dir = PKG_BANDWIDTHD_BASE . "/etc";
conf_mount_rw();
@@ -143,7 +145,7 @@ function bandwidthd_install_config() {
# This file was automatically generated by the pfSense
# package management system. Changing this file
# will lead to it being overwritten again when
-# the package manage resyncs.
+# the package manager resyncs.
#
####################################################
# Bandwidthd.conf
@@ -206,18 +208,47 @@ EOF;
fwrite($fd, $config_file);
fclose($fd);
- /* write out rc.d start/stop file */
- write_rcfile(array(
- "file" => "bandwidthd.sh",
- "start" => "/usr/local/bandwidthd/bandwidthd {$bandwidthd_config_dir}/bandwidthd.conf",
- "stop" => "/usr/bin/killall bandwidthd"
- )
- );
+ $rc = array();
+ $rc['file'] = 'bandwidthd.sh';
+ $rc['stop'] = <<<EOD
+/usr/bin/killall bandwidthd
+EOD;
+
+ if ($g['platform'] == 'nanobsd') {
+ // On nanobsd, /var/bandwidthd is created.
+ // In that is a real /var/bandwidth/htdocs, where the graph data is written
+ // A soft link to the real bandwidth program is made - /var/bandwidthd/bandwidthd
+ // A soft link to the etc folder with the conf file is made - /var/bandwidthd/etc
+ // bandwidthd is started from /var/bandwidthd with the current dir /var/bandwidth
+ // This way, it:
+ // looks in ./etc for the conf file
+ // writes graph files in ./htdocs
+ // writes cdf log files (if selected in the config) to ./
+ // All of this is on the /var filesystem, which is a read-write memory disk on nanobsd
+ $bandwidthd_nano_dir = "/var/bandwidthd";
+ $bandwidthd_htdocs_dir = $bandwidthd_nano_dir . "/htdocs";
+ $rc['start'] = <<<EOD
+/bin/mkdir -p {$bandwidthd_nano_dir}
+/bin/mkdir -p {$bandwidthd_htdocs_dir}
+/bin/ln -s {$bandwidthd_base_dir}/bandwidthd {$bandwidthd_nano_dir}/bandwidthd
+/bin/ln -s {$bandwidthd_config_dir} {$bandwidthd_nano_dir}/etc
+cd {$bandwidthd_nano_dir}
+{$bandwidthd_nano_dir}/bandwidthd
+cd -
+EOD;
+ } else {
+ $bandwidthd_htdocs_dir = $bandwidthd_base_dir . "/htdocs";
+ $rc['start'] = <<<EOD
+/usr/local/bandwidthd/bandwidthd
+EOD;
+ }
- exec("rm /usr/local/www/bandwidthd");
- exec("/bin/ln -s " . PKG_BANDWIDTHD_BASE . "/htdocs /usr/local/www/bandwidthd");
+ /* write out rc.d start/stop file */
+ write_rcfile($rc);
- exec("echo \"Please start bandwidthd to populate this directory.\" > " . PKG_BANDWIDTHD_BASE . "/htdocs/index.html");
+ exec("/bin/rm /usr/local/www/bandwidthd");
+ exec("/bin/ln -s " . $bandwidthd_htdocs_dir . " /usr/local/www/bandwidthd");
+ exec("echo \"Please start bandwidthd to populate this directory.\" > " . $bandwidthd_htdocs_dir . "/index.html");
conf_mount_ro();
config_unlock();
@@ -227,4 +258,4 @@ EOF;
}
-?> \ No newline at end of file
+?>
diff --git a/pkg_config.8.xml b/pkg_config.8.xml
index c1b1635d..72c142e5 100644
--- a/pkg_config.8.xml
+++ b/pkg_config.8.xml
@@ -1163,7 +1163,7 @@
<website>http://bandwidthd.sourceforge.net/</website>
<descr>BandwidthD tracks usage of TCP/IP network subnets and builds html files with graphs to display utilization. Charts are built by individual IPs, and by default display utilization over 2 day, 8 day, 40 day, and 400 day periods. Furthermore, each ip address's utilization can be logged out at intervals of 3.3 minutes, 10 minutes, 1 hour or 12 hours in cdf format, or to a backend database server. HTTP, TCP, UDP, ICMP, VPN, and P2P traffic are color coded.</descr>
<category>System</category>
- <version>2.0.1.3</version>
+ <version>2.0.1.4</version>
<status>BETA</status>
<required_version>1.2.1</required_version>
<depends_on_package_base_url>http://files.pfsense.org/packages/8/All/</depends_on_package_base_url>
diff --git a/pkg_config.8.xml.amd64 b/pkg_config.8.xml.amd64
index 519a2457..f66e52fc 100644
--- a/pkg_config.8.xml.amd64
+++ b/pkg_config.8.xml.amd64
@@ -1150,7 +1150,7 @@
<website>http://bandwidthd.sourceforge.net/</website>
<descr>BandwidthD tracks usage of TCP/IP network subnets and builds html files with graphs to display utilization. Charts are built by individual IPs, and by default display utilization over 2 day, 8 day, 40 day, and 400 day periods. Furthermore, each ip address's utilization can be logged out at intervals of 3.3 minutes, 10 minutes, 1 hour or 12 hours in cdf format, or to a backend database server. HTTP, TCP, UDP, ICMP, VPN, and P2P traffic are color coded.</descr>
<category>System</category>
- <version>2.0.1.3</version>
+ <version>2.0.1.4</version>
<status>BETA</status>
<required_version>1.2.1</required_version>
<depends_on_package_base_url>http://files.pfsense.org/packages/amd64/8/All/</depends_on_package_base_url>