public inbox for development@lists.ipfire.org
 help / color / mirror / Atom feed
From: Michael Tremer <michael.tremer@ipfire.org>
To: development@lists.ipfire.org
Subject: Re: [PATCH] New package: IPTraffic 0.8.2
Date: Wed, 27 Jan 2021 11:32:40 +0000	[thread overview]
Message-ID: <6EF68E91-657C-4C1E-8CA2-48E59B1E8979@ipfire.org> (raw)
In-Reply-To: <6c2ab522-ab9a-e4f6-20df-577afad854d9@ipfire.org>

[-- Attachment #1: Type: text/plain, Size: 17924 bytes --]

Hello Matthias,

> On 26 Jan 2021, at 16:45, Matthias Fischer <matthias.fischer(a)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(a)ipfire.org> wrote:
>>> 
>>> From: Frank Mainz <frank(a)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=bc2af5d1c92fb09ddd8266000a0666fff9c67e26
> 
> ...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(a)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(a)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(a)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(a)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(a)ipfire.org>.                        #
>>> +#                                                                          #
>>> +############################################################################
>>> +#
>>> +. /opt/pakfire/lib/functions.sh
>>> +./uninstall.sh
>>> +./install.sh
>>> -- 
>>> 2.18.0
>>> 
>> 
> 


  parent reply	other threads:[~2021-01-27 11:32 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-01-17 17:15 Matthias Fischer
2021-01-25 19:27 ` Michael Tremer
2021-01-25 19:51   ` Frank Mainz
2021-01-25 20:05     ` Michael Tremer
2021-01-26 16:45   ` Matthias Fischer
2021-01-26 17:03     ` Aw: " Bernhard Bitsch
2021-01-27 11:32     ` Michael Tremer [this message]
2021-01-27 18:36       ` Matthias Fischer
2021-01-28 10:08         ` Matthias Fischer
     [not found] <2cc215c55a63d98924de4db8780ebf7ca89aefd7.camel@cybermainzel.de>
2021-01-25 20:48 ` Michael Tremer
2021-01-25 20:58   ` Frank Mainz
2021-01-25 21:01     ` Michael Tremer
2021-01-25 21:50 Aw: " Bernhard Bitsch
2021-01-26 11:38 ` Michael Tremer

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=6EF68E91-657C-4C1E-8CA2-48E59B1E8979@ipfire.org \
    --to=michael.tremer@ipfire.org \
    --cc=development@lists.ipfire.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox