pmacct: fix bug 13159

Message ID 20230706021750.1739686-1-jon.murphy@ipfire.org
State Superseded
Headers
Series pmacct: fix bug 13159 |

Commit Message

jon July 6, 2023, 2:17 a.m. UTC
  - changes `interface` to `pcap_interface` in pmacct.conf file.
- thank you to @iptom for finding and reporting the issue
- thank you to many others for pitching in and helping debug!

Signed-off-by: Jon Murphy <jon.murphy@ipfire.org>
---
 config/pmacct/pmacct.conf  | 25 ++++++++++++++++++++-----
 lfs/pmacct                 |  4 ++--
 src/paks/pmacct/install.sh | 12 ++++++++++--
 3 files changed, 32 insertions(+), 9 deletions(-)
  

Comments

jon July 6, 2023, 4:22 p.m. UTC | #1
Please hold this!  I added a space in a command and it is causing an error.

This line:
> +	if sed -i .bak 's|

Should be this:
> +	if sed -i.bak 's|



I will change it


Jon Murphy
jon.murphy@ipfire.org


> On Jul 5, 2023, at 9:17 PM, Jon Murphy <jon.murphy@ipfire.org> wrote:
> 
> - changes `interface` to `pcap_interface` in pmacct.conf file.
> - thank you to @iptom for finding and reporting the issue
> - thank you to many others for pitching in and helping debug!
> 
> Signed-off-by: Jon Murphy <jon.murphy@ipfire.org>
> ---
> config/pmacct/pmacct.conf  | 25 ++++++++++++++++++++-----
> lfs/pmacct                 |  4 ++--
> src/paks/pmacct/install.sh | 12 ++++++++++--
> 3 files changed, 32 insertions(+), 9 deletions(-)
> 
> diff --git a/config/pmacct/pmacct.conf b/config/pmacct/pmacct.conf
> index 3c1d47efa..79e3fd6a7 100644
> --- a/config/pmacct/pmacct.conf
> +++ b/config/pmacct/pmacct.conf
> @@ -2,23 +2,38 @@
> ! Pmacctd configuration file for IPFire environment
> !
> 
> +!-----------------------------------  global  -----------------------------------
> +
> syslog: daemon
> daemonize: true
> debug: false
> promisc: true
> -interface: green0
> +pcap_interface: green0
> +
> +imt_mem_pools_number: 256
> 
> +plugins: memory[plugin1]		#	, sqlite3[plugin2]
> +
> +
> +!-----------------------------------  memory  -----------------------------------
> 
> !
> ! "plugin1" plugin configuration
> !
> -plugins: memory[plugin1]
> 
> plugin_buffer_size[plugin1]: 102400
> -plugin_pipe_size[plugin1]: 10240000
> +plugin_pipe_size[plugin1]:   10240000
> 
> -imt_mem_pools_number: 256
> imt_path[plugin1]: /var/spool/pmacct/plugin1.pipe
> 
> aggregate[plugin1]: src_host, src_port, src_mac, dst_host, dst_port, dst_mac, proto
> -aggregate_filter[plugin1]: ip
> \ No newline at end of file
> +aggregate_filter[plugin1]: ip
> +
> +
> +!-----------------------------------  sqlite3  ----------------------------------
> +
> +!
> +! "plugin2" plugin configuration
> +!
> +
> +! add your sqlite3 plugin2 here...
> diff --git a/lfs/pmacct b/lfs/pmacct
> index 7c8b32772..4be1be156 100644
> --- a/lfs/pmacct
> +++ b/lfs/pmacct
> @@ -1,7 +1,7 @@
> ###############################################################################
> #                                                                             #
> # IPFire.org - A linux based firewall                                         #
> -# Copyright (C) 2019-2023  IPFire Team  <info@ipfire.org>                          #
> +# Copyright (C) 2019-2023  IPFire Team  <info@ipfire.org>                     #
> #                                                                             #
> # This program is free software: you can redistribute it and/or modify        #
> # it under the terms of the GNU General Public License as published by        #
> @@ -34,7 +34,7 @@ DL_FROM    = $(URL_IPFIRE)
> DIR_APP    = $(DIR_SRC)/$(THISAPP)
> TARGET     = $(DIR_INFO)/$(THISAPP)
> PROG       = pmacct
> -PAK_VER    = 5
> +PAK_VER    = 6
> 
> 
> DEPS       = libcdada
> diff --git a/src/paks/pmacct/install.sh b/src/paks/pmacct/install.sh
> index 11b16f6c1..160c7eff6 100755
> --- a/src/paks/pmacct/install.sh
> +++ b/src/paks/pmacct/install.sh
> @@ -17,7 +17,7 @@
> # along with IPFire; if not, write to the Free Software                    #
> # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA #
> #                                                                          #
> -# Copyright (C) 2007 IPFire-Team <info@ipfire.org>.                        #
> +# Copyright (C) 2007-2023 IPFire-Team <info@ipfire.org>.                   #
> #                                                                          #
> ############################################################################
> #
> @@ -26,11 +26,19 @@
> extract_files
> restore_backup ${NAME}
> 
> +#	update needed for a change in config file
> +#		temporary update added for CU 177
> +CONFIG="/etc/pmacct/pmacct.conf"
> +if grep -q "^interface" "${CONFIG}" ; then
> +	if sed -i .bak 's|^interface|pcap_interface|g' "${CONFIG}" ; then
> +		logger -t pmacct "updated ${CONFIG} and changed \"interface\" to \"pcap_interface\""
> +	fi
> +fi
> +
> # Add symlinks for runlevels
> ln -s ../init.d/${NAME} /etc/rc.d/rc0.d/K85${NAME}
> ln -s ../init.d/${NAME} /etc/rc.d/rc3.d/S50${NAME}
> ln -s ../init.d/${NAME} /etc/rc.d/rc6.d/K85${NAME}
> start_service ${NAME}
> 
> -
> # EOF
> -- 
> 2.30.2
>
  

Patch

diff --git a/config/pmacct/pmacct.conf b/config/pmacct/pmacct.conf
index 3c1d47efa..79e3fd6a7 100644
--- a/config/pmacct/pmacct.conf
+++ b/config/pmacct/pmacct.conf
@@ -2,23 +2,38 @@ 
 ! Pmacctd configuration file for IPFire environment
 !
 
+!-----------------------------------  global  -----------------------------------
+
 syslog: daemon
 daemonize: true
 debug: false
 promisc: true
-interface: green0
+pcap_interface: green0
+
+imt_mem_pools_number: 256
 
+plugins: memory[plugin1]		#	, sqlite3[plugin2]
+
+
+!-----------------------------------  memory  -----------------------------------
 
 !
 ! "plugin1" plugin configuration
 !
-plugins: memory[plugin1]
 
 plugin_buffer_size[plugin1]: 102400
-plugin_pipe_size[plugin1]: 10240000
+plugin_pipe_size[plugin1]:   10240000
 
-imt_mem_pools_number: 256
 imt_path[plugin1]: /var/spool/pmacct/plugin1.pipe
 
 aggregate[plugin1]: src_host, src_port, src_mac, dst_host, dst_port, dst_mac, proto
-aggregate_filter[plugin1]: ip
\ No newline at end of file
+aggregate_filter[plugin1]: ip
+
+
+!-----------------------------------  sqlite3  ----------------------------------
+
+!
+! "plugin2" plugin configuration
+!
+
+! add your sqlite3 plugin2 here...
diff --git a/lfs/pmacct b/lfs/pmacct
index 7c8b32772..4be1be156 100644
--- a/lfs/pmacct
+++ b/lfs/pmacct
@@ -1,7 +1,7 @@ 
 ###############################################################################
 #                                                                             #
 # IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2019-2023  IPFire Team  <info@ipfire.org>                          #
+# Copyright (C) 2019-2023  IPFire Team  <info@ipfire.org>                     #
 #                                                                             #
 # This program is free software: you can redistribute it and/or modify        #
 # it under the terms of the GNU General Public License as published by        #
@@ -34,7 +34,7 @@  DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)
 PROG       = pmacct
-PAK_VER    = 5
+PAK_VER    = 6
 
 
 DEPS       = libcdada
diff --git a/src/paks/pmacct/install.sh b/src/paks/pmacct/install.sh
index 11b16f6c1..160c7eff6 100755
--- a/src/paks/pmacct/install.sh
+++ b/src/paks/pmacct/install.sh
@@ -17,7 +17,7 @@ 
 # along with IPFire; if not, write to the Free Software                    #
 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA #
 #                                                                          #
-# Copyright (C) 2007 IPFire-Team <info@ipfire.org>.                        #
+# Copyright (C) 2007-2023 IPFire-Team <info@ipfire.org>.                   #
 #                                                                          #
 ############################################################################
 #
@@ -26,11 +26,19 @@ 
 extract_files
 restore_backup ${NAME}
 
+#	update needed for a change in config file
+#		temporary update added for CU 177
+CONFIG="/etc/pmacct/pmacct.conf"
+if grep -q "^interface" "${CONFIG}" ; then
+	if sed -i .bak 's|^interface|pcap_interface|g' "${CONFIG}" ; then
+		logger -t pmacct "updated ${CONFIG} and changed \"interface\" to \"pcap_interface\""
+	fi
+fi
+
 # Add symlinks for runlevels
 ln -s ../init.d/${NAME} /etc/rc.d/rc0.d/K85${NAME}
 ln -s ../init.d/${NAME} /etc/rc.d/rc3.d/S50${NAME}
 ln -s ../init.d/${NAME} /etc/rc.d/rc6.d/K85${NAME}
 start_service ${NAME}
 
-
 # EOF