CHANGES file for iptraf-ng

* Tue Nov 21 2024 Vitezslav Samel <vitezslav@samel.cz> - 1.2.2
- small cleanups: remove unused code/variable, correct format specifiers
- serv.c: fix and validate port/ranges entering/loading/saving
- SECURITY FIX: CVE-2024-52949: interface names: limit length to IFNAMSIZ

* Tue Jul 21 2020 Vitezslav Samel <vitezslav@samel.cz> - 1.2.1
- Makefile: protect mandatory compile flags
- packet capture: don't reuse socket for multiple receive functions
- TPACKET_V[23]: continue even if mlock() fails

* Thu Jun 04 2020 Vitezslav Samel <vitezslav@samel.cz> - 1.2.0
- ipfrag: code refactoring (Nikola Pajkovsky)
- ifstats: sort interfaces by name (Jan Engelhardt)
- ifstats: fix memory leak (Phil Cameron)
- documentation update (Phil Cameron)
All changes below are done by Vitezslav Samel:
Fixes:
- ipmon: fix division by zero
- fix: detstats(), ifstats(): handle packets with incorrect header checksum
- fix: positionptr(): properly allocate newly created interfaces
- fix: detstats(): properly account non-IP packets
- fix: properly init curses (fixes view on some utf-8 terminals)
- fix: cidr_split_address(): fix buffer overflow
- ipmon: printentry(): fix printing of huge values
- build: use correct libraries (wide version of -lpanel)
- fix unsafe handling of printf() args (RedHat Bugzilla: 1842690)
- fix the CPU hog if the interface gets removed (RedHat Bugzilla: 1572750)
Enhancements:
- introduce packet capturing abstraction: add recvmmsg(), TPACKET_V2
  and TPACKET_V3 mmap()ed capturing modules: this allow us to capture
  in multigigabit speeds
- add partial support for IPoIB interfaces (full support cannot be done
  because the kernel interface doesn't give us source address)
  (RedHat Bugzilla: 1140211)
- merge rvnamed-ng into iptraf-ng
- allow scrolling with Home, End, PageUp and PageDown keys
- show dropped packet count
- pktsize: print in and out counters
- ifstats: show total packet rate and packet drop across all interfaces
- ipmon: show OSPF protocol version
- hostmon, ipmon: update screen only when needed (vastly reduces CPU
  usage and also reduces packet drops)
- update source code to compile cleanly on modern gcc
- numerous code refactoring/cleaning up all over the source tree

* Tue Jul 23 2013 Nikola Pajkovsky <npajkovs@redhat.com> - 1.1.4
- locking code rewrite: only one instance is allowed now
- promiscuous mode rewrite
- build system: install iptraf-ng to sbin
- remove token-ring support
- remove ISDN interfaces support
- preparation for packet capturing into the file
- source code cleanups
- bugfix: don't segfault when there are no ports to remove
- rvnamed: fix the IPv6 resolving
- add 802.1ad and QinQ VLAN handling
- optimize code (to not use that much CPU)

* Wed May 23 2012 Nikola Pajkovsky <npajkovs@redhat.com> - 1.1.3
- new building system (based only on make, no automake/autoconf)
- code cleanups
- SIT tunnels support
- space for HW addresses fix
- sort interfaces by ifindex
- print rates every second using moving average (over last 5 seconds)
- packet_get() bugfix (don't count packets when there's no packet ready)
- fix segfault in the tui/* code
- fix checksumming for odd-sized IPv4 header

* Fri May 04 2012 Nikola Pajkovsky <npajkovs@redhat.com> - 1.1.2
- massive code cleanup
- fix PPP handling
- move the splash screen to the main menu
- fix capturing on tun-like interfaces
- support GRE-over-IP tunnels
- fix ethernet descriptions
- change units: bits/sec (bytes/sec) to kbps (kBps)
- use bind() to lock the socket on interface (should decrease CPU
  utilization on systems with very busy interfaces)
- warnings cleanup
- fix packet length counting for large packets
- hostmon(): count IPv6 as IP protocol too

* Thu Feb 02 2012 Nikola Pajkovsky <npajkovs@redhat.com> - 1.1.1
- fix frames in UTF-8 locales
- fix IPv6 port stats
- fix IPv6 byte counting
- fix port data rate
- fix for interfaces with long name

* Wed Jan 11 2012 Nikola Pajkovsky <npajkovs@redhat.com> - 1.1.0
- build system fixes
- brand new command line options parser
- rename iptraf to iptraf-ng (binaries, mans)
- code cleanup (useless code removal, warnings erradication, ...)
- new ip checksum based on rfc1071 implementation
- landesc.[c,h]: full rewrite

* Sun Apr 11 2010 Nikola Pajkovsky <npajkovs@redhat.com> - 1.0.3
- documentation cleanup

* Wed Mar 24 2010 Nikola Pajkovsky <npajkovs@redhat.com> - 1.0.2
- remove warnings
- rif of PKG_CHECK_MODULES
- tx_operate_listbox(): use proper format string for size_t in snprintf
- ltrim(): simplify function and fix situation when strings overlap in strcpy
- build: pass libpanel_CFLAGS and ncurses_CFLAGS to compiler
- selectiface(): use strncpy to prevent buffer overflow and thus avoid gcc warning
- init_promisc_list(): use IF_NAMESIZE as size of buffer for interface name
- main(): allow regular users to run iptraf if the sticky-bit is set
- fix strcpy overlap memory
- remove -Werror option

* Thu Mar 04 2010 Nikola Pajkovsky <npajkovs@redhat.com> - 1.0.1
- remove dereferencing type-punned pointer will break strict-aliasing rules
- convmacaddr(): fix assignment casting. One more warning gone.
- ipmon(), servmon(): unnecessary casting is gone. Fixes strict-aliasing.
- Fix compilation issues and crash within LAN station monitor

* Mon Mar 01 2010 Nikola Pajkovsky <npajkovs@redhat.com> - 1.0.0
- compile with -std=gnu99 -pedantic -Wall -Werror
- add support for devices(used patches from gentoo, debian and fedora):
  vlan, hsi, ctc, ath, bond, ra, bnep, dsl, modem, ni, br, tap, dummy,  vmnet
- add longer intefaces names(18 chars)
- add iptraf -u - show unsupported interfaces(fpeters@debian.org)
- check if macro is defined ICMP6_DST_UNREACH_NOTNEIGHBOR(jer@gentoo.org)
- add ipv6 support
- remove wierd Setup compilation and replaced it by autotools
- import original iptraf-3.0.0
