SPS 2.0 - January 24, 2012
- Nearly all functions of SPS have been modified. A list of highlists follows.
- Added error handling on all malloc calls.
- Replaced all inet_aton calls with inet_pton calls.
- Replaced all inet_ntoa calls with inet_ntop calls.
- Reverted length limit change made in SPS 1.2 for IPv4 UDP payload in sps.glade. Fixed to 65507.
- Added an IPv4 ICMP payload data text entry.
- Added length limit on IPv4 ICMP payload data of 65507.
- Introduced IPv6 TCP, ICMP, and UDP pages.
- Added ethernet header options for IPv4.
- Added IPv6 ethernet frames.
- Added IPv6 over IPv4 tunnels (6to4).
- Added IP to Link_layer (MAC) address tool which uses ARP (IPv4) or Neighbor Discovery (IPv6).
- Added new ways of entering ICMP and UDP data. Options are now: ASCII via keyboard, hex values via keyboard, and by loading a file.
- Renamed sps.glade to sps.ui as true glade files have been deprecated; sps.ui is really a GTK builder file.
- On Host / IP page, added check for valid IPv6 entry in IP-to-hostname converter.
- On Host / IP page, fixed This Host IP Address textview to show all IP addresses found with getaddrinfo; it erroneously only showed last the result.
- Re-wrote tcp4_checksum.c to not use psd_tcp.h anymore, but use memcpy to build pseudo-header. This is more amenable to adding arbitrary data at end.
- Fixed bug in main.c in which TCP urgent pointer was set after the checksum calculation instead of before.
- In callbacks.c, rewrote packet send functions (a bit tidier).
- Introduced icmp4_checksum() to deal with checksums when there is data.
- Introduced a feature to load and save packet values and settings (Load/Save page).
- Introduced a button to restore default settings on Send, TCP, ICMP, and UDP pages.
SPS 1.2 - October 16, 2011
- Fixed Makefile which attempted to compile .h files.
- Superfluous parameters were being passed to udp_checksum and they were removed.
- psd_udp.h was removed as the pseudo-header struct for UDP was not being used (difficult with variable payload length).
- Fixed minor memory leaks in callbacks.c: Arrays ip_tcp_flags, ip_icmp_flags, and ip_udp_flags were not freed before return if user entry was invalid.
- Fixed some inadvertent && that were used in callbacks.c when & should have been used.
- Length limit for UDP payload in sps.glade was incorrect. Fixed to 65527.
- Imposed length limits on IP address entries in sps.glade.
- Re-wrote tcp_checksum.c to not use psd_tcp.h anymore, but use memcpy to build pseudo-header. This is more amenable to adding arbitrary data at end.
- Fixed bug in main.c in which TCP urgent pointer was set after the checksum calculation instead of before.
SPS 1.1 - July 21, 2011
- Fixed malloc for udp_payload in main.c. Should be 65527 (65536 - 8 bytes).
- There was a bug in callbacks.c in that if you went from a UDP datagram with data to clearing that data,
it didn't actually clear it.
- Whenever udp_checksum is called, the UDP checksum is explicitly set to zero first.
- There was a bug in main.c in that the hostname was harcoded to 2.local for testing purposes.
This was removed as part of the changes below.
- Modified sps.glade (i.e., the GUI) Host/IP tab to handle IPv4 and IPv6.
- Modified callbacks.c to provide callback functions to the new setup on the host-ip page of sps.glade.
SPS 1.0 - July 3, 2011
- Initial release.