diff --git a/src/etc/inc/plugins.inc.d/netflow.inc b/src/etc/inc/plugins.inc.d/netflow.inc index 90ed90064..0dad40dc4 100644 --- a/src/etc/inc/plugins.inc.d/netflow.inc +++ b/src/etc/inc/plugins.inc.d/netflow.inc @@ -1,35 +1,42 @@ - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY - AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, - OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - POSSIBILITY OF SUCH DAMAGE. -*/ + * Copyright (C) 2016-2018 Franco Fichtner + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, + * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ function netflow_enabled() { $mdl = new \OPNsense\Diagnostics\Netflow(); + return !empty((string)$mdlNetflow->capture->targets) && !empty((string)$mdlNetflow->capture->interfaces); +} + +function netflow_local_enabled() +{ + $mdl = new \OPNsense\Diagnostics\Netflow(); + return $mdl->collect->enable == '1'; } @@ -42,25 +49,27 @@ function netflow_services() } $services[] = array( - 'description' => gettext('NetFlow Capture'), - 'configd' => array( - 'restart' => array('netflow restart'), - 'start' => array('netflow start'), - 'stop' => array('netflow stop'), - ), - 'name' => 'samplicate', + 'description' => gettext('NetFlow Distributor'), + 'configd' => array( + 'restart' => array('netflow restart'), + 'start' => array('netflow start'), + 'stop' => array('netflow stop'), + ), + 'name' => 'samplicate', ); - $services[] = array( - 'description' => gettext('NetFlow Data aggregator'), - 'configd' => array( - 'restart' => array('netflow aggregate restart'), - 'start' => array('netflow aggregate start'), - 'stop' => array('netflow aggregate stop'), - ), - 'pidfile' => '/var/run/flowd_aggregate.pid', - 'name' => 'flowd_aggregate', - ); + if (netflow_local_enabled()) { + $services[] = array( + 'description' => gettext('Insight Aggregator'), + 'configd' => array( + 'restart' => array('netflow aggregate restart'), + 'start' => array('netflow aggregate start'), + 'stop' => array('netflow aggregate stop'), + ), + 'pidfile' => '/var/run/flowd_aggregate.pid', + 'name' => 'flowd_aggregate', + ); + } return $services; }