diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9cc4d0e --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/v1.1.4.tar.gz diff --git a/.iptraf-ng.metadata b/.iptraf-ng.metadata new file mode 100644 index 0000000..dba59a0 --- /dev/null +++ b/.iptraf-ng.metadata @@ -0,0 +1 @@ +53668f3e30e47c6b473f1080dc734fa25127da70 SOURCES/v1.1.4.tar.gz diff --git a/SOURCES/0001-BUGFIX-fix-Floating-point-exception-in-tcplog_flowra.patch b/SOURCES/0001-BUGFIX-fix-Floating-point-exception-in-tcplog_flowra.patch new file mode 100644 index 0000000..7a156b6 --- /dev/null +++ b/SOURCES/0001-BUGFIX-fix-Floating-point-exception-in-tcplog_flowra.patch @@ -0,0 +1,37 @@ +From 9b320138755542b927df650da0bd1e61ecaa41d7 Mon Sep 17 00:00:00 2001 +Message-Id: <9b320138755542b927df650da0bd1e61ecaa41d7.1378117677.git.npajkovs@redhat.com> +From: Vitezslav Samel +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. +Signed-off-by: Vitezslav Samel +Signed-off-by: Nikola Pajkovsky +--- + 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 + diff --git a/SOURCES/0002-Makefile-add-Werror-format-security.patch b/SOURCES/0002-Makefile-add-Werror-format-security.patch new file mode 100644 index 0000000..54192ee --- /dev/null +++ b/SOURCES/0002-Makefile-add-Werror-format-security.patch @@ -0,0 +1,79 @@ +From 202b2e7b27a159d54a525b0cfd366b8d52d5a3a1 Mon Sep 17 00:00:00 2001 +Message-Id: <202b2e7b27a159d54a525b0cfd366b8d52d5a3a1.1386069831.git.npajkovs@redhat.com> +From: Nikola Pajkovsky +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 +--- + 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 + diff --git a/SOURCES/0003-fix-segfault-in-adding-interface.patch b/SOURCES/0003-fix-segfault-in-adding-interface.patch new file mode 100644 index 0000000..a850458 --- /dev/null +++ b/SOURCES/0003-fix-segfault-in-adding-interface.patch @@ -0,0 +1,63 @@ +From 690663d07f29789c1ba2260e59c4f71b8721dea6 Mon Sep 17 00:00:00 2001 +From: Vitezslav Samel +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 +Signed-off-by: Nikola Pajkovsky +--- + 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 + diff --git a/SOURCES/iptraf-ng-logrotate.conf b/SOURCES/iptraf-ng-logrotate.conf new file mode 100644 index 0000000..1b05165 --- /dev/null +++ b/SOURCES/iptraf-ng-logrotate.conf @@ -0,0 +1,9 @@ +# Logrotate file for iptraf +/var/log/iptraf-ng/*.log { + compress + delaycompress + missingok + notifempty + rotate 4 + create 0600 root root +} diff --git a/SOURCES/iptraf-ng-tmpfiles.conf b/SOURCES/iptraf-ng-tmpfiles.conf new file mode 100644 index 0000000..2c915d8 --- /dev/null +++ b/SOURCES/iptraf-ng-tmpfiles.conf @@ -0,0 +1 @@ +d /run/iptraf-ng 0755 root root - diff --git a/SPECS/iptraf-ng.spec b/SPECS/iptraf-ng.spec new file mode 100644 index 0000000..93cdf02 --- /dev/null +++ b/SPECS/iptraf-ng.spec @@ -0,0 +1,171 @@ +Summary: A console-based network monitoring utility +Name: iptraf-ng +Version: 1.1.4 +Release: 18%{?dist} +Source0: https://github.com/iptraf-ng/iptraf-ng/archive/v%{version}.tar.gz +Source1: %{name}-logrotate.conf +Source2: %{name}-tmpfiles.conf +URL: https://github.com/iptraf-ng/iptraf-ng/ +License: GPLv2+ +Group: Applications/System +BuildRequires: ncurses-devel +Obsoletes: iptraf < 3.1 +Provides: iptraf = 3.1 +Patch01: 0001-BUGFIX-fix-Floating-point-exception-in-tcplog_flowra.patch +Patch02: 0002-Makefile-add-Werror-format-security.patch +Patch03: 0003-fix-segfault-in-adding-interface.patch + +%description +IPTraf-ng is a console-based network monitoring utility. IPTraf gathers +data like TCP connection packet and byte counts, interface statistics +and activity indicators, TCP/UDP traffic breakdowns, and LAN station +packet and byte counts. IPTraf-ng features include an IP traffic monitor +which shows TCP flag information, packet and byte counts, ICMP +details, OSPF packet types, and oversized IP packet warnings; +interface statistics showing IP, TCP, UDP, ICMP, non-IP and other IP +packet counts, IP checksum errors, interface activity and packet size +counts; a TCP and UDP service monitor showing counts of incoming and +outgoing packets for common TCP and UDP application ports, a LAN +statistics module that discovers active hosts and displays statistics +about their activity; TCP, UDP and other protocol display filters so +you can view just the traffic you want; logging; support for Ethernet, +FDDI, ISDN, SLIP, PPP, and loopback interfaces; and utilization of the +built-in raw socket interface of the Linux kernel, so it can be used +on a wide variety of supported network cards. + +%prep +%setup -q +%patch01 -p1 +%patch02 -p1 +%patch03 -p1 + +%build +make %{?_smp_mflags} V=1 \ + CFLAGS="-g -O2 -Wall -W -std=gnu99 -Werror=format-security %{optflags}" \ + LDFLAGS="$RPM_LD_FLAGS" + +%install +rm -rf %{buildroot} +make install DESTDIR=%{buildroot} prefix=%{_prefix} + +# remove everything besides the html and pictures in Documentation +find Documentation -type f | grep -v '\.html$\|\.png$\|/stylesheet' | \ + xargs rm -f + +install -D -m 0644 -p %{SOURCE1} %{buildroot}%{_sysconfdir}/logrotate.d/iptraf-ng + +install -d -m 0755 %{buildroot}%{_localstatedir}/{log,lib}/iptraf-ng + +mkdir -p %{buildroot}%{_prefix}/lib/tmpfiles.d +install -m 0644 %{SOURCE2} %{buildroot}%{_prefix}/lib/tmpfiles.d/%{name}.conf + +mkdir -p %{buildroot}/run +install -d -m 0755 %{buildroot}/run/%{name}/ + +%clean +rm -rf %{buildroot} + +%files +%defattr(-,root,root,-) +%doc CHANGES FAQ LICENSE README* RELEASE-NOTES +%doc Documentation +%{_sbindir}/iptraf-ng +%{_sbindir}/rvnamed-ng +%{_mandir}/man8/iptraf-ng.8* +%{_mandir}/man8/rvnamed-ng.8* +%{_localstatedir}/log/iptraf-ng +%{_localstatedir}/lib/iptraf-ng +%config(noreplace) %{_sysconfdir}/logrotate.d/iptraf-ng +%dir /run/%{name}/ +%{_prefix}/lib/tmpfiles.d/%{name}.conf + +%changelog +* Wed Feb 07 2018 Fedora Release Engineering - 1.1.4-18 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Thu Feb 1 2018 Florian Weimer - 1.1.4-17 +- Build with linker flags from redhat-rpm-config + +* Mon Jan 22 2018 Phil Cameron - 1.1.4-16 +- Moved upstream from https://fedorahosted.org/iptraf-ng/ to + https://github.com/iptraf-ng/iptraf-ng/ with release v1.1.4 + Fixes error in patch Patch03 - this fixes 1283773 + +* Wed Aug 02 2017 Fedora Release Engineering - 1.1.4-15 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Wed Jul 26 2017 Fedora Release Engineering - 1.1.4-14 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Fri Feb 10 2017 Fedora Release Engineering - 1.1.4-13 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Sun Apr 17 2016 Alejandro Pérez - 1.1.4-12 +- Added sources and clean tree +* Fri Apr 15 2016 Phil Cameron - 1.1.4-11 +- fix 1283773 + bugfix-positionptr-properly-allocate-newly-create +* Thu Feb 04 2016 Fedora Release Engineering - 1.1.4-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Wed Jun 17 2015 Fedora Release Engineering - 1.1.4-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Sat Aug 16 2014 Fedora Release Engineering - 1.1.4-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Tue Jun 17 2014 Alejandro Pérez - 1.1.4-7 +- fix 1109768 + bad configuration logrotate +* Sat Jun 07 2014 Fedora Release Engineering - 1.1.4-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild +* Sun Mar 02 2014 Alejandro Pérez - 1.1.4-5 +- fix bug 1020552 + rpm report /var/lock/ipraf-ng is missing + fix dates on changelog + added missing file iptraf-nf-tmpfiles.conf +* Tue Dec 03 2013 Nikola Pajkovsky - 1.1.4-4 +- iptraf-ng-1.1.4-4 + + Fedora start using -Werror=format-security and iptraf-ng had some + parts where error compilation was trigged. + + 202b2e7b27a1 Makefile: add -Werror=format-security + + Resolved: #1037133 + +* Mon Sep 02 2013 Nikola Pajkovsky - 1.1.4-3 +- 9b32013 BUGFIX: fix "Floating point exception" in tcplog_flowrate_msg() (Vitezslav Samel) + +* Sat Aug 03 2013 Fedora Release Engineering - 1.1.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Tue Jul 23 2013 Nikola Pajkovsky - 1.1.4 +- new upstream iptraf-ng-1.1.4 + +* Thu Feb 14 2013 Fedora Release Engineering - 1.1.3.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Thu Jul 19 2012 Fedora Release Engineering - 1.1.3.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Thu May 24 2012 Nikola Pajkovsky - 1.1.3.1-2 +- append standard CFLAGS + +* Wed May 23 2012 Nikola Pajkovsky - 1.1.3.1-1 +- new upstream iptraf-ng-1.1.3.1-1 + +* Fri May 04 2012 Nikola Pajkovsky - 1.1.2-1 +- new upstream iptraf-ng-1.1.2-1 + +* Fri Apr 27 2012 Nikola Pajkovsky - 1.1.2.rc0-1 +- new upstream iptraf-ng-1.1.2.rc0-1 + +* Thu Feb 02 2012 Nikola Pajkovsky - 1.1.1-1 +- new upstream iptraf-ng-1.1.1 + +* Sun Jan 16 2011 Nikola Pajkovsky - 1.1.0-2 +- fix wrongly used execl + +* Tue Jan 11 2011 Nikola Pajkovsky - 1.1.0-1 +- Initialization build