Hi,
On 25.01.2021 20:27, Michael Tremer wrote:
Hello Matthias,
Thank you for submitting the patch.
It is great to see more people taking part in development tasks, but I am not really sure what has been done here.
The main problem is that I do not know what IPTraffic does, or how it works. The code is in a tarball and I am not aware if there is a Git repository to see what has been changed over time.
Oh my, just came back from work and had to read a lot of postings here. Hm...
I must confess I was puzzled after reading through all of it - its a pity.
Perhaps I should have coded this for Pakfire in a different manner to make things more transparent and perhaps avoid a bit of todays discussions - but I can't make that undone. It started with a classical ipcop installation script.
As I see it, Bernhard has already looked through the code. The only thing I can think of now: I could rewrite the build process - if this makes still sense, let me know. If it doesn't fit our needs - than thats it.
On 17 Jan 2021, at 17:15, Matthias Fischer matthias.fischer@ipfire.org wrote:
From: Frank Mainz frank@cybermainzel.de
Please note: This is a port of the old 'IPTraffics' addon from ipcop to ipfire done by RadioCarbon (Frank Mainz). He asked me to publish this for him - ALL programming work was done by him. I'm only the MITM.
You can use “git commit —-author=…” to set the correct author and you should sign-off as yourself as usual.
FYI: This is exactly what I did in the *first* commit... => https://patchwork.ipfire.org/patch/3813/
...and in GIT:
=> https://git.ipfire.org/?p=people/mfischer/ipfire-2.x.git;a=commit;h=bc2af5d1...
...but I forgot to do set the author in the last one. That happens.
So to go back to the usual question: What is being proposed here and why?
Who is this add-on for? What are its features, and what are its limitations?
Why is this realised as add-on and not as part of the core system? I do not want to suggest that it should be either. It just seems that this decision has been made I would like to know based on what reasons :)
As I see it - it was once written as an addon and just stayed in this condition. No one had the idea to integrate it. Simple.
Don't get me wrong - I'm not offended - just a little disappointed how the whole thing has gone here at once and would definitely try to still get the best out of it.
Best, Matthias
Best, -Michael
Description: With the add-on “IPTraffic” you can determine the traffic of a computer based on its IP address. Only the traffic between IPFire and the client to be monitored can be determined. The display is shown once as a tabular overview and additionally a statistical graphic can be called up for each client over the period of the last hour, day, week, month and year.
Signed-off-by: Matthias Fischer matthias.fischer@ipfire.org
config/rootfiles/packages/iptraffic | 22 ++++++ lfs/iptraffic | 108 ++++++++++++++++++++++++++++ make.sh | 1 + src/paks/iptraffic/install.sh | 40 +++++++++++ src/paks/iptraffic/uninstall.sh | 28 ++++++++ src/paks/iptraffic/update.sh | 26 +++++++ 6 files changed, 225 insertions(+) create mode 100644 config/rootfiles/packages/iptraffic create mode 100644 lfs/iptraffic create mode 100644 src/paks/iptraffic/install.sh create mode 100644 src/paks/iptraffic/uninstall.sh create mode 100644 src/paks/iptraffic/update.sh
diff --git a/config/rootfiles/packages/iptraffic b/config/rootfiles/packages/iptraffic new file mode 100644 index 000000000..b860cd9aa --- /dev/null +++ b/config/rootfiles/packages/iptraffic @@ -0,0 +1,22 @@ +etc/fcron.minutely/update-iptraffic +srv/web/ipfire/html/images/iptraffic +srv/web/ipfire/cgi-bin/iptraffic.cgi +srv/web/ipfire/html/images/iptraffic/addblue.gif +srv/web/ipfire/html/images/iptraffic/addfaint.gif +srv/web/ipfire/html/images/iptraffic/addgray.gif +srv/web/ipfire/html/images/iptraffic/addgreen.gif +srv/web/ipfire/html/images/iptraffic/addorange.gif +srv/web/ipfire/html/images/iptraffic/addred.gif +srv/web/ipfire/html/images/iptraffic/blue.png +srv/web/ipfire/html/images/iptraffic/graph.png +srv/web/ipfire/html/images/iptraffic/gray.png +srv/web/ipfire/html/images/iptraffic/green.png +srv/web/ipfire/html/images/iptraffic/orange.png +srv/web/ipfire/html/images/iptraffic/red.png +srv/web/ipfire/html/images/iptraffic/square-green.png +srv/web/ipfire/html/images/iptraffic/square-red.png +srv/web/ipfire/html/images/iptraffic/square-yellow.png +usr/local/bin/iptraffic.pl +var/ipfire/addon-lang/iptraffic.de.pl +var/ipfire/addon-lang/iptraffic.en.pl +var/ipfire/menu.d/EX-iptraffic.menu diff --git a/lfs/iptraffic b/lfs/iptraffic new file mode 100644 index 000000000..8f1dfd676 --- /dev/null +++ b/lfs/iptraffic @@ -0,0 +1,108 @@ +############################################################################### +# # +# IPFire.org - A linux based firewall # +# Copyright (C) 2007-2020 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 # +# the Free Software Foundation, either version 3 of the License, or # +# (at your option) any later version. # +# # +# This program is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with this program. If not, see http://www.gnu.org/licenses/. # +# # +###############################################################################
+############################################################################### +# Definitions +###############################################################################
+include Config
+VER = 0.8.2
+THISAPP = iptraffic-$(VER) +DL_FILE = $(THISAPP).tar.gz +DL_FROM = $(URL_IPFIRE) +DIR_APP = $(DIR_SRC)/$(THISAPP) +TARGET = $(DIR_INFO)/$(THISAPP) +PAK_VER = 1 +PROG = iptraffic
+DEPS = ""
+############################################################################### +# Top-level Rules +###############################################################################
+objects = $(DL_FILE)
+$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
+$(DL_FILE)_MD5 = 4d6d54a8e17111da6a60d3c7d4588f16
+install : $(TARGET)
+check : $(patsubst %,$(DIR_CHK)/%,$(objects))
+download :$(patsubst %,$(DIR_DL)/%,$(objects))
+md5 : $(subst %,%_MD5,$(objects))
+dist:
- $(PAK)
+############################################################################### +# Downloading, checking, md5sum +###############################################################################
+$(patsubst %,$(DIR_CHK)/%,$(objects)) :
- @$(CHECK)
+$(patsubst %,$(DIR_DL)/%,$(objects)) :
- @$(LOAD)
+$(subst %,%_MD5,$(objects)) :
- @$(MD5)
+############################################################################### +# Installation Details +###############################################################################
+$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
- @$(PREBUILD)
- @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
- # Install GUI
- install -v -m 755 $(DIR_SRC)/srv/web/ipfire/cgi-bin/iptraffic.cgi \
- /srv/web/ipfire/cgi-bin/iptraffic.cgi
- # Install images
- -mkdir -p /srv/web/ipfire/html/images/iptraffic
- install -v -m 644 $(DIR_SRC)/srv/web/ipfire/html/images/iptraffic/* \
- /srv/web/ipfire/html/images/iptraffic/
- # Install iptraffic script
- install -v -m 755 $(DIR_SRC)/usr/local/bin/iptraffic.pl \
- /usr/local/bin/iptraffic.pl
- # Create symlink for one minute updates
- ln -sf /usr/local/bin/iptraffic.pl \
- /etc/fcron.minutely/update-iptraffic
- # Install language files
- install -v -m 004 $(DIR_SRC)/var/ipfire/addon-lang/iptraffic.*.pl \
- /var/ipfire/addon-lang/
- # Install menu entry
- install -v -m 644 $(DIR_SRC)/var/ipfire/menu.d/EX-iptraffic.menu \
- /var/ipfire/menu.d/EX-iptraffic.menu
- chown nobody.nobody /var/ipfire/menu.d/EX-iptraffic.menu
- @rm -rf $(DIR_APP)
- @$(POSTBUILD)
diff --git a/make.sh b/make.sh index a9db53edf..267e1b09a 100755 --- a/make.sh +++ b/make.sh @@ -1654,6 +1654,7 @@ buildipfire() { lfsmake2 ncdu lfsmake2 lshw lfsmake2 socat
- lfsmake2 iptraffic
}
buildinstaller() { diff --git a/src/paks/iptraffic/install.sh b/src/paks/iptraffic/install.sh new file mode 100644 index 000000000..a9f857784 --- /dev/null +++ b/src/paks/iptraffic/install.sh @@ -0,0 +1,40 @@ +#!/bin/bash +############################################################################ +# # +# This file is part of the IPFire Firewall. # +# # +# IPFire is free software; you can redistribute it and/or modify # +# it under the terms of the GNU General Public License as published by # +# the Free Software Foundation; either version 2 of the License, or # +# (at your option) any later version. # +# # +# IPFire is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with IPFire; if not, write to the Free Software # +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # +# # +# Copyright (C) 2020 IPFire-Team info@ipfire.org. # +# # +############################################################################ +# +. /opt/pakfire/lib/functions.sh +extract_files
+mkdir -p /srv/web/ipfire/html/graphs/iptraffic +mkdir -p /var/log/iptraffic +mkdir -p /var/log/rrd/iptraffic
+touch /var/log/iptraffic/iptraffic.db
+restore_backup ${NAME}
+chown -R nobody.nobody /var/log/iptraffic +chown -R nobody.nobody /var/log/rrd/iptraffic +chown root.nobody /usr/local/bin/iptraffic.pl +chown nobody.nobody /var/ipfire/menu.d/EX-iptraffic.menu
+/usr/local/bin/update-lang-cache diff --git a/src/paks/iptraffic/uninstall.sh b/src/paks/iptraffic/uninstall.sh new file mode 100644 index 000000000..dac570c05 --- /dev/null +++ b/src/paks/iptraffic/uninstall.sh @@ -0,0 +1,28 @@ +#!/bin/bash +############################################################################ +# # +# This file is part of the IPFire Firewall. # +# # +# IPFire is free software; you can redistribute it and/or modify # +# it under the terms of the GNU General Public License as published by # +# the Free Software Foundation; either version 2 of the License, or # +# (at your option) any later version. # +# # +# IPFire is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# 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. # +# # +############################################################################ +# +. /opt/pakfire/lib/functions.sh
+remove_files
+/usr/local/bin/update-lang-cache diff --git a/src/paks/iptraffic/update.sh b/src/paks/iptraffic/update.sh new file mode 100644 index 000000000..89c40d0d7 --- /dev/null +++ b/src/paks/iptraffic/update.sh @@ -0,0 +1,26 @@ +#!/bin/bash +############################################################################ +# # +# This file is part of the IPFire Firewall. # +# # +# IPFire is free software; you can redistribute it and/or modify # +# it under the terms of the GNU General Public License as published by # +# the Free Software Foundation; either version 2 of the License, or # +# (at your option) any later version. # +# # +# IPFire is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# 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. # +# # +############################################################################ +# +. /opt/pakfire/lib/functions.sh +./uninstall.sh
+./install.sh
2.18.0