Hello Matthias,
On 26 Jan 2021, at 16:45, Matthias Fischer matthias.fischer@ipfire.org wrote:
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.
I agree and I am very sorry for all the time you have invested into this with now very little result.
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.
No, I do not think that that was the thing that broke this.
As Bernhard has pointed out, the design of this add-on has some issues that would have to be ironed out and they sound to me like they are a lot of work. It might even be worth to start from scratch and get a much better design of this and only take the bits of the code that are acceptable right now.
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.
Oh I didn’t see that. Very good :)
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.
We have a couple of those abandoned things on here, which is sad, but I suppose each of them has their own reasons.
It would be better if software is abandoned before it is being merged instead of after - because then it might cause us trouble later.
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.
What do you suggest we should do right now?
-Michael
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