Package init
This commit is contained in:
commit
d98dee1f27
@ -0,0 +1,37 @@
|
||||
From 9b320138755542b927df650da0bd1e61ecaa41d7 Mon Sep 17 00:00:00 2001
|
||||
Message-Id: <9b320138755542b927df650da0bd1e61ecaa41d7.1378117677.git.npajkovs@redhat.com>
|
||||
From: Vitezslav Samel <vitezslav@samel.cz>
|
||||
Date: Thu, 29 Aug 2013 10:11:42 +0200
|
||||
Subject: [PATCH] BUGFIX: fix "Floating point exception" in
|
||||
tcplog_flowrate_msg()
|
||||
|
||||
commit 0d55bee "tcplog_flowrate_msg(): cleanup and fix") removed
|
||||
condition, which leads to zero division.
|
||||
|
||||
Time diff between current time and ->conn_starttime is 0, because of
|
||||
rate_print updates happen in less then 1 sec and later on, we try to
|
||||
divide ->bcount by interval, which is 0, hencs zero division.
|
||||
|
||||
Reported-by: Erik K. <ummeegge@ipfire.org>
|
||||
Signed-off-by: Vitezslav Samel <vitezslav@samel.cz>
|
||||
Signed-off-by: Nikola Pajkovsky <npajkovs@redhat.com>
|
||||
---
|
||||
src/tcptable.c | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/src/tcptable.c b/src/tcptable.c
|
||||
index a4133d9..e217b19 100644
|
||||
--- a/src/tcptable.c
|
||||
+++ b/src/tcptable.c
|
||||
@@ -437,6 +437,8 @@ static char *tcplog_flowrate_msg(struct tcptableent *entry, char *buf,
|
||||
size_t bufsize)
|
||||
{
|
||||
time_t interval = time(NULL) - entry->conn_starttime;
|
||||
+ if (interval < 1)
|
||||
+ interval = 1;
|
||||
|
||||
char rbuf[64];
|
||||
rate_print(entry->bcount / interval, rbuf, sizeof(rbuf));
|
||||
--
|
||||
1.8.1.2
|
||||
|
||||
79
0002-Makefile-add-Werror-format-security.patch
Normal file
79
0002-Makefile-add-Werror-format-security.patch
Normal file
@ -0,0 +1,79 @@
|
||||
From 202b2e7b27a159d54a525b0cfd366b8d52d5a3a1 Mon Sep 17 00:00:00 2001
|
||||
Message-Id: <202b2e7b27a159d54a525b0cfd366b8d52d5a3a1.1386069831.git.npajkovs@redhat.com>
|
||||
From: Nikola Pajkovsky <npajkovs@redhat.com>
|
||||
Date: Tue, 3 Dec 2013 12:12:16 +0100
|
||||
Subject: [PATCH] Makefile: add -Werror=format-security
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
-Wformat-security
|
||||
If -Wformat is specified, also warn about uses of format
|
||||
functions that represent possible security problems. At
|
||||
present, this warns about calls to printf and scanf functions
|
||||
where the format string is not a string literal and there are
|
||||
no format arguments, as in printf (foo);. This may be a
|
||||
security hole if the format string came from untrusted input
|
||||
and contains ‘%n’. (This is currently a subset of what
|
||||
-Wformat-nonliteral warns about, but in future warnings may be
|
||||
added to -Wformat-security that are not included in
|
||||
-Wformat-nonliteral.)
|
||||
|
||||
Signed-off-by: Nikola Pajkovsky <npajkovs@redhat.com>
|
||||
---
|
||||
Makefile | 2 +-
|
||||
src/ipfilter.c | 2 +-
|
||||
src/othptab.c | 4 ++--
|
||||
3 files changed, 4 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/Makefile b/Makefile
|
||||
index 46e5632e3287..958b0fbeec0f 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -18,7 +18,7 @@ VERSION-FILE: FORCE
|
||||
@$(SHELL_PATH) ./GEN-VERSION-FILE
|
||||
-include VERSION-FILE
|
||||
|
||||
-CFLAGS = -g -O2 -Wall -W -std=gnu99
|
||||
+CFLAGS = -g -O2 -Wall -W -std=gnu99 -Werror=format-security
|
||||
LDFLAGS =
|
||||
ALL_CFLAGS = $(CPPFLAGS) $(CFLAGS)
|
||||
ALL_LDFLAGS = $(LDFLAGS)
|
||||
diff --git a/src/ipfilter.c b/src/ipfilter.c
|
||||
index eb17ec7c7615..8c76e4c801c2 100644
|
||||
--- a/src/ipfilter.c
|
||||
+++ b/src/ipfilter.c
|
||||
@@ -146,7 +146,7 @@ void gethostparams(struct hostparams *data, char *init_saddr, char *init_smask,
|
||||
snprintf(msgstr, 60,
|
||||
"Invalid protocol input at or near token \"%s\"",
|
||||
bptr);
|
||||
- tui_error(ANYKEY_MSG, msgstr);
|
||||
+ tui_error(ANYKEY_MSG, "%s", msgstr);
|
||||
doagain = 1;
|
||||
} else
|
||||
doagain = 0;
|
||||
diff --git a/src/othptab.c b/src/othptab.c
|
||||
index 5c09241fca99..e23f39e5df45 100644
|
||||
--- a/src/othptab.c
|
||||
+++ b/src/othptab.c
|
||||
@@ -407,7 +407,7 @@ void printothpentry(struct othptable *table, struct othptabent *entry,
|
||||
break;
|
||||
}
|
||||
|
||||
- sprintf(scratchpad, rarp_mac_addr);
|
||||
+ sprintf(scratchpad, "%s", rarp_mac_addr);
|
||||
strcat(msgstring, scratchpad);
|
||||
wattrset(table->othpwin, ARPATTR);
|
||||
break;
|
||||
@@ -482,7 +482,7 @@ void printothpentry(struct othptable *table, struct othptabent *entry,
|
||||
wattrset(table->othpwin, UNKNIPATTR);
|
||||
protptr = getprotobynumber(entry->protocol);
|
||||
if (protptr != NULL) {
|
||||
- sprintf(protname, protptr->p_aliases[0]);
|
||||
+ sprintf(protname, "%s", protptr->p_aliases[0]);
|
||||
} else {
|
||||
sprintf(protname, "IP protocol");
|
||||
unknown = 1;
|
||||
--
|
||||
1.8.3.2
|
||||
|
||||
63
0003-fix-segfault-in-adding-interface.patch
Normal file
63
0003-fix-segfault-in-adding-interface.patch
Normal file
@ -0,0 +1,63 @@
|
||||
From 690663d07f29789c1ba2260e59c4f71b8721dea6 Mon Sep 17 00:00:00 2001
|
||||
From: Vitezslav Samel <vitezslav@samel.cz>
|
||||
Date: Thu, 17 Apr 2014 14:24:23 +0200
|
||||
Subject: [PATCH 001/111] bugfix: positionptr(): properly allocate newly
|
||||
created interfaces
|
||||
|
||||
When creating new entry in interface list (for interface created when
|
||||
ifstats() already running) we must allocate/init the rate too.
|
||||
|
||||
Fix this bug by creating new function alloc_iflist_entry() and use it
|
||||
where appropriate.
|
||||
|
||||
Signed-off-by: Vitezslav Samel <vitezslav@samel.cz>
|
||||
Signed-off-by: Nikola Pajkovsky <n.pajkovsky@gmail.com>
|
||||
---
|
||||
src/ifstats.c | 16 ++++++++++++----
|
||||
1 file changed, 12 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/src/ifstats.c b/src/ifstats.c
|
||||
index 2eb51b6..2a5bba4 100644
|
||||
--- a/src/ifstats.c
|
||||
+++ b/src/ifstats.c
|
||||
@@ -126,6 +126,15 @@ static int ifinlist(struct iflist *list, char *ifname)
|
||||
return result;
|
||||
}
|
||||
|
||||
+static struct iflist *alloc_iflist_entry(void)
|
||||
+{
|
||||
+ struct iflist *tmp = xmallocz(sizeof(struct iflist));
|
||||
+
|
||||
+ rate_alloc(&tmp->rate, 5);
|
||||
+
|
||||
+ return tmp;
|
||||
+}
|
||||
+
|
||||
/*
|
||||
* Initialize the list of interfaces. This linked list is used in the
|
||||
* selection boxes as well as in the general interface statistics screen.
|
||||
@@ -171,10 +180,9 @@ static void initiflist(struct iflist **list)
|
||||
* At this point, the interface is now sure to be up and running.
|
||||
*/
|
||||
|
||||
- struct iflist *itmp = xmallocz(sizeof(struct iflist));
|
||||
- strcpy(itmp->ifname, ifname);
|
||||
+ struct iflist *itmp = alloc_iflist_entry();
|
||||
itmp->ifindex = ifindex;
|
||||
- rate_alloc(&itmp->rate, 5);
|
||||
+ strcpy(itmp->ifname, ifname);
|
||||
|
||||
/* make the linked list sorted by ifindex */
|
||||
struct iflist *cur = *list, *last = NULL;
|
||||
@@ -211,7 +219,7 @@ static struct iflist *positionptr(struct iflist *iflist, const int ifindex)
|
||||
}
|
||||
/* no interface was found, try to create new one */
|
||||
if (ptmp == NULL) {
|
||||
- struct iflist *itmp = xmallocz(sizeof(struct iflist));
|
||||
+ struct iflist *itmp = alloc_iflist_entry();
|
||||
itmp->ifindex = ifindex;
|
||||
itmp->index = last->index + 1;
|
||||
int r = dev_get_ifname(ifindex, itmp->ifname);
|
||||
--
|
||||
2.5.5
|
||||
|
||||
9
iptraf-ng-logrotate.conf
Normal file
9
iptraf-ng-logrotate.conf
Normal file
@ -0,0 +1,9 @@
|
||||
# Logrotate file for iptraf
|
||||
/var/log/iptraf-ng/*.log {
|
||||
compress
|
||||
delaycompress
|
||||
missingok
|
||||
notifempty
|
||||
rotate 4
|
||||
create 0600 root root
|
||||
}
|
||||
1
iptraf-ng-tmpfiles.conf
Normal file
1
iptraf-ng-tmpfiles.conf
Normal file
@ -0,0 +1 @@
|
||||
d /run/iptraf-ng 0755 root root -
|
||||
78
iptraf-ng.spec
Normal file
78
iptraf-ng.spec
Normal file
@ -0,0 +1,78 @@
|
||||
Name: iptraf-ng
|
||||
Summary: A console-based network monitoring utility
|
||||
Version: 1.1.4
|
||||
Release: 21
|
||||
License: GPLv2+
|
||||
URL: https://github.com/%{name}/%{name}/
|
||||
Source0: https://github.com/%{name}/%{name}/archive/v%{version}.tar.gz
|
||||
Source1: %{name}-logrotate.conf
|
||||
Source2: %{name}-tmpfiles.conf
|
||||
|
||||
Patch0: 0001-BUGFIX-fix-Floating-point-exception-in-tcplog_flowra.patch
|
||||
Patch1: 0002-Makefile-add-Werror-format-security.patch
|
||||
Patch2: 0003-fix-segfault-in-adding-interface.patch
|
||||
|
||||
BuildRequires: gcc ncurses-devel
|
||||
Obsoletes: iptraf < 3.1
|
||||
Provides: iptraf = 3.1
|
||||
|
||||
%description
|
||||
IPTraf is a console-based network monitoring program for Linux that
|
||||
displays information about IP traffic. It returns such information as:
|
||||
|
||||
* Current TCP connections
|
||||
* UDP, ICMP, OSPF, and other types of IP packets
|
||||
* Packet and byte counts on TCP connections
|
||||
* IP, TCP, UDP, ICMP, non-IP, and other packet and byte counts
|
||||
* TCP/UDP counts by ports
|
||||
* Packet counts by packet sizes
|
||||
* Packet and byte counts by IP address
|
||||
* Interface activity
|
||||
* Flag statuses on TCP packets
|
||||
* LAN station statistics
|
||||
|
||||
If the iptraf command is issued without any command-line options,
|
||||
the program comes up in interactive mode, with the various facilities
|
||||
accessed through the main menu.
|
||||
|
||||
%package_help
|
||||
|
||||
%prep
|
||||
%autosetup -n %{name}-%{version} -p1
|
||||
|
||||
%build
|
||||
CFLAGS="-g -O2 -Wall -W -std=gnu99 -Werror=format-security %{optflags}" \
|
||||
LDFLAGS="$RPM_LD_FLAGS"
|
||||
%make_build V=1
|
||||
|
||||
%install
|
||||
%make_install prefix=%{_prefix}
|
||||
|
||||
# Delete files that are not in HTML or PNG format in Documentation.
|
||||
find Documentation -type f ! -name "*.html" \
|
||||
-type f ! -name "*.png" \
|
||||
-type f ! -name "." \
|
||||
| xargs rm -f
|
||||
|
||||
install -D -m 0644 -p %{SOURCE1} %{buildroot}%{_sysconfdir}/logrotate.d/%{name}
|
||||
install -D -m 0644 %{SOURCE2} %{buildroot}%{_prefix}/lib/tmpfiles.d/%{name}.conf
|
||||
install -d -m 0755 %{buildroot}%{_localstatedir}/{log,lib}/%{name}
|
||||
install -d -m 0755 %{buildroot}/run/%{name}/
|
||||
|
||||
%files
|
||||
%defattr(-,root,root)
|
||||
%license LICENSE
|
||||
%{_prefix}/lib/tmpfiles.d/%{name}.conf
|
||||
%config(noreplace) %{_sysconfdir}/logrotate.d/%{name}
|
||||
%{_sbindir}/*ng
|
||||
%{_localstatedir}/{log,lib}/%{name}
|
||||
%dir /run/%{name}/
|
||||
|
||||
%files help
|
||||
%defattr(-,root,root)
|
||||
%doc Documentation FAQ CHANGES README* RELEASE-NOTES
|
||||
%{_mandir}/man8/*.8.gz
|
||||
|
||||
%changelog
|
||||
* Fri Aug 30 2019 openEuler Buildteam <buildteam@openeuler.org> - 1.1.4-21
|
||||
- Package init
|
||||
BIN
v1.1.4.tar.gz
Normal file
BIN
v1.1.4.tar.gz
Normal file
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user