ChangeLog: Oops, there were actually a couple more changes in that release.
[liboping.git] / ChangeLog
1 2009-12-20, Version 1.3.4:
2         * src/liboping.c: When one file descriptor was in an error state, the
3           select(2) loop would run indefinitely. Error handling has been
4           improved so the loop ends gracefully now in this case.
5         * src/liboping.c: Drop privileges before reading files if supported by
6           the system. This way files are opened using the user's original
7           privileges when using the “-f” option.
8         * Net::Oping: An off-by-one error has been fixed in the Perl bindings.
9           Thanks to Fredrik Soderblom for his patch.
10
11 2009-09-29, Version 1.3.3:
12         * oping: Disable the “-f” option if the real and effective user IDs
13           don't match. If that is the case the program is probably running
14           SetUID and should not read foreign files. Unfortunately, dropping
15           privileges before reading the file is not possible, because they are
16           required for opening raw sockets.
17
18           Reading from STDIN using “-f -” is still possible.
19
20           Thanks to Steve Kemp for reporting this issue as Debian bug #548684.
21
22 2009-07-27, Version 1.3.2:
23         * src/oping.h: Remove `HAVE_*_H' macros for system headers. Those
24           macros should not be used in system wide installed header files.
25           Thanks to Sebastian for fixing this.
26
27 2009-07-20, Version 1.3.1
28         * src/liboping.c: Fix too eager argument validation that prevented the
29           library to work as documented. Thanks to Sebastian for catching this
30           bug.
31
32 2009-07-18, Version 1.3.0
33         * oping: Documentation and messages have been improved.
34         * oping: Support for the `-D' command line option has been added.
35           Using this new option, the outgoing network device can be set.
36           Thanks to Sebastian Harl for the patch.
37         * src/liboping.c: The value of the `received TTL' information after
38           missing packets has been corrected.
39         * src/liboping.c: A bug when matching received packets to configured
40           hosts has been fixed. This regression was introduced after 1.0, we
41           believe. Thanks to Sebastian Harl for noticing and fixing this bug.
42         * src/liboping.c: Support for the `PING_OPT_DEVICE' option has been
43           added. This option can be used to set the outgoing network device.
44           Thanks to Sebastian for his patch.
45
46 2009-07-15, Version 1.2.0
47         * `oping': Implement the `-f' command line option to read hostnames
48           from a file (or STDIN).
49         * src/liboping.c: No longer export `sstrerror'.
50
51 2009-04-05, Version 1.1.2
52         * liboping.c: A NULL-pointer dereference has been fixed in the IPv4
53           code. This led to a segmentation fault when an ICMPv4 paket could
54           not be associated with any host. This usually happened when one or
55           more hosts were unreachable for some time. Thanks to Tomasz Pala for
56           discovering the problem and finding a way to reproduce it.
57
58 2009-03-23, Version 1.1.1
59         * liboping.c: Use libxnet when available. The `normal' version of
60           `recvmsg' does not provide the `auxiliary data' on some or all
61           versions of Solaris.
62
63 2009-03-15, Version 1.1.0
64         * liboping.c: Eliminate the use of `strerror' and use `strerror_r'
65           instead, removing the (hopefully) last thread-unsafe function.
66         * liboping.c: Provide the TTL of received IP packets.
67         * oping.c: Allow setting of the TTL using the `-t' command line
68           option.
69
70 2009-02-17, Version 1.0.0
71         * oping.h: Provide the OPING_VERSION to easily determine the library's
72           version at compile time.
73         * liboping.c: Fixed an off-by-one error in `ping_iterator_get_info':
74           When determining the buffer size to hold the hostname, the function
75           would return one byte too little.
76         * liboping.c: Fix an incorrect assertion in `ping_timeval_add'. Thanks
77           to Alex Brooks for reporting the issue.
78         * liboping.c: Make sure `EAI_SYSTEM' is defined at compile time.
79           Although specified by POSIX, Cygwin apparently doesn't have it.
80         * liboping.c: Add compatibility code for AIX. Thanks to Doug
81           MacEachern for the patch.
82         * liboping.c: Store and possibly return the host name as provided by
83           the user.
84         * liboping.c: The number of timed out packets is now counted and can
85           be retrieved with `ping_iterator_get_info'.
86         * Perl bindings: The Net::Oping Perl package has been added to
87           bindings/ and is built along with liboping.
88
89 2007-03-27, Version 0.3.5
90         * liboping.c: Close the filedescriptor in `ping_free', not
91           `ping_host_remove'. Thanks to Esteban Sanchez for submitting this
92           patch.
93         * oping.h: Include <sys/types.h> so that `size_t' is defined. Thanks
94           to Alex Brooks for pointing this out.
95         * oping.h: Use `extern "C"' when being used with C++. Thanks to Alex
96           Brooks for pointing this out.
97
98 2006-12-01, Version 0.3.4
99         * Fixes a bug in `ping_host_remove': Due to an incorrect hostname
100           checking the wrong host would be removed.
101
102 2006-07-16, Version 0.3.3
103         * `sendto(2)' now catches `EHOSTUNREACH' and `ENETUNREACH' if they're
104           defined.
105
106 2006-07-13, Version 0.3.2
107         * `oping' now drops root privileges as soon as possible.
108         * `liboping' now contains an `soname' and a version.
109
110 2006-07-09, Version 0.3.1
111         * Removed `libltdl' from the distribution since it's not used.
112         * More nonsense has been removed from the build system. Thanks to
113           Sebastian Harl for pointing it out :)
114
115 2006-07-09, Version 0.3.0
116         * The ability to set the source address from which the packets
117           originate has been added to the library and the oping application.
118
119 2006-07-16, Version 0.2.3
120         * `sendto(2)' now catches `EHOSTUNREACH' and `ENETUNREACH' if they're
121           defined.
122
123 2006-06-05, Version 0.2.2
124         * The `oping' application didn't exit if no hosts could be resolved.
125           This release fixes it's behavior.
126
127 2006-06-01, Version 0.2.1
128         * Fix the behavior for non GNU-Linux systems. liboping tried to
129           `bind(2)' to the raw-socket it uses to send ICMP packets. Apparently
130           (decided by majority vote ;) this is not the right thing to do.
131           GNU/Linux never complained about it, but works find without the bind.
132           Other operating systems don't work at all with the bind.
133         * Build fixes for non-GNU/Linux platforms: Mac OS X doesn't define
134           `size_t' as `unsigned int' and therefore needs casting and FreeBSD
135           needs to have `sys/types.h' included before `netinet/*.h'
136
137 2006-05-29, Version 0.2.0
138         * It's now possible to set the data to be send to the remote host and
139           to get the data received from the host.
140         * The `oping' binary now calculates the standard deviation. Also, it
141           displays the number of byes that were received and other output
142           changes.
143         * Hosts are now returned in the same order as they were added by
144           `ping_host_add'. This is not guaranteed, but makes `oping' prettier.
145
146 2006-05-12, Version 0.1.1
147         * A bug in the library has been fixed: When the sequence got higher
148           than 2^16 the counter in the packets wrapped around, but the
149           internal counter didn't, causing the library to ignore all further
150           ICMP packets. This affected both, ICMPv4 and ICMPv6.
151
152 2006-05-08, Version 0.1.0
153         * Initial release.