From mboxrd@z Thu Jan 1 00:00:00 1970 From: Michael Tremer To: development@lists.ipfire.org Subject: Re: [PATCH] New package: IPTraffic 0.8.2 Date: Wed, 27 Jan 2021 11:32:40 +0000 Message-ID: <6EF68E91-657C-4C1E-8CA2-48E59B1E8979@ipfire.org> In-Reply-To: <6c2ab522-ab9a-e4f6-20df-577afad854d9@ipfire.org> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============6807004699318521860==" List-Id: --===============6807004699318521860== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Hello Matthias, > On 26 Jan 2021, at 16:45, Matthias Fischer = wrote: >=20 > Hi, >=20 > On 25.01.2021 20:27, Michael Tremer wrote: >> Hello Matthias, >>=20 >> Thank you for submitting the patch. >>=20 >> It is great to see more people taking part in development tasks, but I am = not really sure what has been done here. >>=20 >> The main problem is that I do not know what IPTraffic does, or how it work= s. The code is in a tarball and I am not aware if there is a Git repository t= o see what has been changed over time. >=20 > Oh my, just came back from work and had to read a lot of postings here. > Hm... >=20 > 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 w= ould 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. >=20 >>> On 17 Jan 2021, at 17:15, Matthias Fischer wrote: >>>=20 >>> From: Frank Mainz >>>=20 >>> 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 hi= m. >>> I'm only the MITM. >>=20 >> You can use =E2=80=9Cgit commit =E2=80=94-author=3D=E2=80=A6=E2=80=9D to s= et the correct author and you should sign-off as yourself as usual. >=20 > FYI: > This is exactly what I did in the *first* commit... > =3D> https://patchwork.ipfire.org/patch/3813/ >=20 > ...and in GIT: >=20 > =3D> > https://git.ipfire.org/?p=3Dpeople/mfischer/ipfire-2.x.git;a=3Dcommit;h=3Db= c2af5d1c92fb09ddd8266000a0666fff9c67e26 >=20 > ...but I forgot to do set the author in the last one. That happens. Oh I didn=E2=80=99t see that. Very good :) >> So to go back to the usual question: What is being proposed here and why? >>=20 >> Who is this add-on for? What are its features, and what are its limitation= s? >>=20 >> Why is this realised as add-on and not as part of the core system? I do no= t 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 :) >=20 > 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 suppo= se 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 >=20 > Best, > Matthias >=20 >> Best, >> -Michael >>=20 >>> Description: >>> With the add-on =E2=80=9CIPTraffic=E2=80=9D 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 det= ermined. >>> The display is shown once as a tabular overview and additionally a statis= tical >>> graphic can be called up for each client over the period of the last hour= , day, >>> week, month and year. >>>=20 >>> Signed-off-by: Matthias Fischer >>> --- >>> 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 >>>=20 >>> diff --git a/config/rootfiles/packages/iptraffic b/config/rootfiles/packa= ges/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 = # >>> +# = # >>> +# 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 . = # >>> +# = # >>> +########################################################################= ####### >>> + >>> +########################################################################= ####### >>> +# Definitions >>> +########################################################################= ####### >>> + >>> +include Config >>> + >>> +VER =3D 0.8.2 >>> + >>> +THISAPP =3D iptraffic-$(VER) >>> +DL_FILE =3D $(THISAPP).tar.gz >>> +DL_FROM =3D $(URL_IPFIRE) >>> +DIR_APP =3D $(DIR_SRC)/$(THISAPP) >>> +TARGET =3D $(DIR_INFO)/$(THISAPP) >>> +PAK_VER =3D 1 >>> +PROG =3D iptraffic >>> + >>> +DEPS =3D "" >>> + >>> +########################################################################= ####### >>> +# Top-level Rules >>> +########################################################################= ####### >>> + >>> +objects =3D $(DL_FILE) >>> + >>> +$(DL_FILE) =3D $(DL_FROM)/$(DL_FILE) >>> + >>> +$(DL_FILE)_MD5 =3D 4d6d54a8e17111da6a60d3c7d4588f16 >>> + >>> +install : $(TARGET) >>> + >>> +check : $(patsubst %,$(DIR_CHK)/%,$(objects)) >>> + >>> +download :$(patsubst %,$(DIR_DL)/%,$(objects)) >>> + >>> +md5 : $(subst %,%_MD5,$(objects)) >>> + >>> +dist:=20 >>> + $(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 >>> } >>>=20 >>> 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 U= SA # >>> +# = # >>> +# Copyright (C) 2020 IPFire-Team . = # >>> +# = # >>> +########################################################################= #### >>> +# >>> +. /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/uninsta= ll.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 U= SA # >>> +# = # >>> +# Copyright (C) 2007 IPFire-Team . = # >>> +# = # >>> +########################################################################= #### >>> +# >>> +. /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 U= SA # >>> +# = # >>> +# Copyright (C) 2007 IPFire-Team . = # >>> +# = # >>> +########################################################################= #### >>> +# >>> +. /opt/pakfire/lib/functions.sh >>> +./uninstall.sh >>> +./install.sh >>> --=20 >>> 2.18.0 >>>=20 >>=20 >=20 --===============6807004699318521860==--