Lorenzo Colitti | 313379e | 2013-07-11 01:07:11 +0900 | [diff] [blame] | 1 | [s20121221] |
| 2 | |
| 3 | YOSHIFUJI Hideaki (14): |
| 4 | ninfod: Use unsigned int for digest. |
| 5 | ninfod: nanosleep(3) needs <time.h>. |
| 6 | ninfod: Too many arguments for syslog(3)/fprintf(3) via DEBUG(). |
| 7 | ninfod: Fix several warnings on ununsed variables. |
| 8 | ping6: Print unknown ICMP type. |
| 9 | ping6: Fix flowlabel switch (-F option). |
| 10 | arping: Fix sysfs decimal/hexadecimal parser for libsysfs support. |
| 11 | ping6: Use GNU TLS by default. |
| 12 | ninfod: Fix memory leakage in error path. |
| 13 | ninfod: Fix off-by-one error to check possible programming error (again). |
| 14 | ninfod: Do not expose freed buffer to caller. |
| 15 | ping6: Ensure to initialize msghdr. |
| 16 | ninfod: Support GNU TLS. |
| 17 | ninfod: Allow printing usage without permission errors. |
| 18 | |
| 19 | |
| 20 | [s20121207] |
| 21 | |
| 22 | YOSHIFUJI Hideaki (2): |
| 23 | RELNOTES: Typos. |
| 24 | ping,ping6: Check outgoing device only if specified. |
| 25 | |
| 26 | |
| 27 | [s20121205] |
| 28 | |
| 29 | Jan Synacek (1): |
| 30 | ping,tracepath doc: Fix missing end tags. |
| 31 | |
| 32 | YOSHIFUJI Hideaki (35): |
| 33 | tracepath6: packet length option (-l) did not have any effect. |
| 34 | tracepath,tracepath6: Fix pktlen message. |
| 35 | tracepath,tracepath6: Use calloc(3) instead of using stack. |
| 36 | tracepath6: Ignore families other than IPv4 and IPv6. |
| 37 | ping6: Improve randomness of NI Nonce. |
| 38 | tracepath,tracepath6 doc: Fix default pktlen. |
| 39 | ping,rdisc: Optimize checksumming. |
| 40 | makefile: Static link support for crypto, resolv, cap and sysfs. |
| 41 | doc: Ajdust spaces around sqare brackets. |
| 42 | ping,rdisc: Use macro to get odd byte when checksumming. |
| 43 | ping6: Do not try to free memory pointed by uninitialized variable on error path. |
| 44 | arping: Allow building without default interface. |
| 45 | arping: No default interface by default. |
| 46 | arping: Allow printing usage without permission errors. |
| 47 | ping,ping6: Allow printing usage without permission errors. |
| 48 | ping,ping6: Fix cap_t leakage. |
| 49 | arping,ping,ping6: Do not ideologically check return value from cap_free,cap_{set,get}_flag(). |
| 50 | arping: Fix sysfs_class leakage on error path. |
| 51 | arping: Some comments for new functions for finding devices support. |
| 52 | arping: Typo in type declaration. |
| 53 | makefile: Use call function for external libraries. |
| 54 | makefile: Add more comments. |
| 55 | arping: Ensure to fail if no appropriate device found with sysfs. |
| 56 | arping: Enforce user to specify device (-I) if multiple devices found. |
| 57 | Makefile: parameterize options for linking libraries. |
| 58 | Makefile: Use shell function instead if backquotes. |
| 59 | Makefile: Ensure to have same date when making snapshot. |
| 60 | spec: Maintainer does not use ipsec.spec. |
| 61 | spec: partially sync with fedora. |
| 62 | Makefile: Bump date in iputils.spec as well. |
| 63 | spec: Add exmple lines for suid-root installation |
| 64 | spec: Sort changelog. |
| 65 | ping: Exit on SO_BINDTODEVICE failure. |
| 66 | ping: Warn if kernel has selected source address from other interface. |
| 67 | ping: Clarify difference between -I device and -I addr. |
| 68 | |
| 69 | |
| 70 | [s20121126] |
| 71 | |
| 72 | YOSHIFUJI Hideaki (5): |
| 73 | tracepath: Repair tracepath without -p option. |
| 74 | tracepath,tracepath6: -p option in usage. |
| 75 | ping,ping6: Use MAX_DUP_CHK directly, not using mx_dup_chk variable. |
| 76 | ping,ping6: Abstract received bitmap macros/definitions. |
| 77 | ping,ping6: Use __u64 or __u32 for bitmap. |
| 78 | |
| 79 | |
| 80 | [s20121125] |
| 81 | |
| 82 | YOSHIFUJI Hideaki (30): |
| 83 | ping6: Use IN6_IS_ADDR_UNSPECIFIED() instead of our own helper function. |
| 84 | ping6 doc: Explicitly describe ping6 is IPv6 version if ping. |
| 85 | ping6: Deprecate source routing by default (RFC5095). |
| 86 | ping6: Use RFC3542 functions and definition for source routing. |
| 87 | ping6: Introduce niquery_is_enabled() for readability. |
| 88 | arping doc: interface is optional (-I option). |
| 89 | ping: Eliminate dirty hack to cope with ancient egcs bug. |
| 90 | Makefile: Fix missing right parenthes in comment. |
| 91 | arping: Fix build failure with USE_SYSFS=yes and/or WITHOUT_IFADDRS=yes |
| 92 | arping: Unify source files. |
| 93 | arping: Reorder functions and comment out unsued code. |
| 94 | arping,ping,ping6,tracepath,traceroute6 Makefile: Support static link of libidn by USE_IDN=static. |
| 95 | Makefile: Minimize statically linked libraries. |
| 96 | ping6: Do not clear seq check array twice for NI. |
| 97 | ping6: Use MD5_DIGEST_LENGTH instead of magic value 16. |
| 98 | ping6: Introduce helper functions for nonce in NI. |
| 99 | ping6: Introduce NI_NONCE_SIZE macro instead of magic value 8. |
| 100 | ping6: Ensure to call srand() to get some randomness in NI Nonce. |
| 101 | ping6: Generate different NI Nonce in each NI Query (Memory version). |
| 102 | ping6: Generate different NI Nonce in each NI Query (MD5 version). |
| 103 | ping6: Cache NI Nonce. |
| 104 | ping6: Print 'sequence number' embedded in NI Nonce. |
| 105 | ninfod: Do noy try to memcpy to self. |
| 106 | ninfod Makefile: More precise dependencies. |
| 107 | ninfod: Discard multicat packet outside linklocal scope. |
| 108 | ninfod: Apply default policy to refuse queries from global addresses. |
| 109 | ninfod: Normalize timespec for delay. |
| 110 | ninfod: Fix double-free without pthreads. |
| 111 | ninfod: Do not mix output from multiple threads. |
| 112 | ninfod: Employ internal buffer in stderrlog() for common case. |
| 113 | |
| 114 | |
| 115 | [s20121121] |
| 116 | |
| 117 | Jan Synacek (2): |
| 118 | ping,ping6: Add newline to error message. |
| 119 | ping: Don't free an unintialized value. |
| 120 | |
| 121 | YOSHIFUJI Hideaki (31): |
| 122 | arping,clockdiff,ping,rarpd,rdisc,traceroute6 doc: s/CAP_NET_RAWIO/CAP_NET_RAW/. |
| 123 | ping,ping6: Do not assume radix point is denoted by '.' (-i option). |
| 124 | arping,ping,ping6,rdisc,traceroute6: Fix version string. |
| 125 | makefile: Give -fno-strict-aliasing to compiler by default. |
| 126 | ping6: Use SCOPE_DELIMITER. |
| 127 | Makefile: Remove -lm from ADDLIB. |
| 128 | rdisc_srv,Makefile: Fix build. |
| 129 | rdisc_srv,Makefile: Build rdisc_srv with make all. |
| 130 | arping: set_device_broadcast() does not need to store return value of sub-functions. |
| 131 | arping,Makefile: Make default interface configurable. |
| 132 | arping: Do not allow empty device name (-I option). |
| 133 | arping: Introduce check_ifflags() helper function. |
| 134 | arping: Introduce device structure to hold output device information. |
| 135 | arping: ALlow no default interface and select one by getifaddrs(). |
| 136 | arping: Introduce 2nd (legacy) method to select interface by ioctls. |
| 137 | arping,Makefile: Allow build without getifaddrs() with WITHOUT_IFADDRS=yes. |
| 138 | Makefile: Use $< instead of $^ to complile C source code. |
| 139 | ping,ping6: Reorder command-line options in alphabetical order. |
| 140 | ping6: Show suboptions for Node Information Queries if -N suboption is invalid. |
| 141 | ping,ping6 doc: Readability for TOS (-Q) option. |
| 142 | rdisc: Missing new line after usage. |
| 143 | rdisc: Make rdisc with responder support if configured. |
| 144 | Makefile: distclean depends on clean. |
| 145 | Makefile: Default to -O3. |
| 146 | Makefile: Minimize options to gcc. |
| 147 | Makefile: Add rule to build assembly files. |
| 148 | arping,Makefile: 3rd legacy implementation to check network devices. |
| 149 | arping: Less ifdefs. |
| 150 | rdisc doc: Document -r, -p and -T options. |
| 151 | ping6: NI Subjecet address did not work (-N subject-{ipv6,ipv4] suboptions). |
| 152 | ping6: Ensure to detect subject type conflicts. |
| 153 | |
| 154 | |
| 155 | [s20121114] |
| 156 | |
| 157 | Jan Synacek (2): |
| 158 | clockdiff: remove unused variable |
| 159 | ping: Wrap SO_BINDTODEVICE with the correct capability. |
| 160 | |
| 161 | YOSHIFUJI Hideaki (13): |
| 162 | ping: IP_MULTICAST_IF does not need CAP_NET_RAW. |
| 163 | ping6: Check ranges of flowlabel (-F option) and tclass (-Q option) arguments. |
| 164 | ping6: Accept 0x-notation for flowlabel (-F option) and tclass (-Q option) arguments. |
| 165 | ping,ping6: Manual update regarding -F, -Q and -N option. |
| 166 | arping,ping,ping6: Defer exitting to allow users to see usage. |
| 167 | arping,ping,ping6,ninfod: Change euid to uid (non-root) even if capabiliy is enabled. |
| 168 | ninfod: Add configure. |
| 169 | ninfod: libcap support to drop capabilities. |
| 170 | ninfod: Add run as user (-u user) option. |
| 171 | ninfod: Fix usage message. |
| 172 | arping,clockdiff,rarpd,rdisc,tftpd: Change RFC source to tools.ietf.org. |
| 173 | ninfod: Add ninfod(8) manpage. |
| 174 | makefile: Add ninfod, distclean targets. |
| 175 | |
| 176 | |
| 177 | [s20121112] |
| 178 | |
| 179 | Sergey Fionov (1): |
| 180 | ping,ping6: Fallback to numeric addresses while exiting |
| 181 | |
| 182 | YOSHIFUJI Hideaki (18): |
| 183 | ping,ping6: Rework capability support and Make sure -m and -I options work. |
| 184 | ping,tracepath: Spelling fixes in manpages. |
| 185 | ping,ping6: Fix integer overflow with large interval value (-i option). |
| 186 | clockdiff: Make it work with large pid. |
| 187 | ping,ping6: Make in_pr_addr volatile. |
| 188 | arping: Do not quit too early with large deadline value (-w option). |
| 189 | arping: Maintain minimum capabilities for SO_BINDTODEVICE(-I option). |
| 190 | ping: Fix recorded route comparison. |
| 191 | arping: Use getifaddrs() to get broadcast address. |
| 192 | ping6: Fix typo in error message. |
| 193 | ping6: Generate NI Group Address and Subject Name at once. |
| 194 | ping,ping6: Unmask signals on start-up. |
| 195 | arping: Build with USE_CAP=no. |
| 196 | arping,ping,ping6,tracepath,tracepath6,traceroute6: Experimental IDN support. |
| 197 | ping6: IDN support for the Subject Name in NI Query. |
| 198 | tracepath,tracepath6: Introduce -p option for port. |
| 199 | ping6: Add missing definitions/declarations for flowlabel management (-F option). |
| 200 | makefile: Do not include merge commits in RELNOTES. |
| 201 | |
| 202 | |
| 203 | [s20121106] |
| 204 | |
| 205 | YOSHIFUJI Hideaki (5): |
| 206 | ninfod: Attatch configure and renew config.h.in. |
| 207 | makefile: clean-up |
| 208 | tracepath6: Print reason on getadrinfo() failure. |
| 209 | ping,ping6: Fix hang with -f option. |
| 210 | ping: Make sure to print C if checksum failed with -f option. |
| 211 | |
| 212 | |
| 213 | [s20121011] |
| 214 | |
| 215 | Jan Synacek (2): |
| 216 | ping,ping6: Defer the dropping if the "-m" is specified and correct capability is set. |
| 217 | ping: Fix typo in echo reply |
| 218 | |
| 219 | Ole Bjorn Hessen (1): |
| 220 | ping: report outstanding packets before sending next packet |
| 221 | |
| 222 | YOSHIFUJI Hideaki (32): |
| 223 | ping,ping6: Add -D to synopsis. |
| 224 | ping: More icmp code descriptions. |
| 225 | ping,ping6: Hide ipg/ewma info without packets received. |
| 226 | ping6: Remove unused variable. |
| 227 | ping6: Help for -N suboptions. |
| 228 | tracepath,tracepath6: Use argument type of int for field width specifier. |
| 229 | clockdiff: Call nice() before changing effective uid. |
| 230 | rdisc: Use fputs() instead of fprintf() to shut up gcc warning. |
| 231 | rarpd: Check return value of chdir(). |
| 232 | makefile: Introduce new variable for capability support. |
| 233 | ping,ping6: Check return value of write(2) for stdout. |
| 234 | ping6,tracepath,tracepath6: Do not dereference type-punned pointer directly. |
| 235 | Makefile: host changed from takos to pleiades. |
| 236 | ping6: Provide enough buffer for dn_comp() and make NI Query with Name subject work. |
| 237 | ping6: Consolidate error path of niquery_option_subject_name_handler(). |
| 238 | ninfod: Node Information Query (RFC4620) daemon from USAGI Project. |
| 239 | ninfod: struct in6_pktinfo requires -D_GNU_SOURCE. |
| 240 | ninfod: Use %zu format string for size_t variable. |
| 241 | ninfod: Add missing entry for ENABLE_SUPTYPES in config.h.in. |
| 242 | ninfod: Support newer environment supporting RFC3542. |
| 243 | ninfod: Fix format string for string returned from strerror(3). |
| 244 | ninfod: Check return value of fscanf(3). |
| 245 | ninfod: Fix off-by-one error to check possible programming error. |
| 246 | ninfod: Add datarootdir. |
| 247 | ninfod: Use __func__ instead of __FUNCTION__. |
| 248 | ninfod: Introduce ARRAY_SIZE macro for counting number of elements in an array. |
| 249 | ninfod: Delete ninfod.sh by make distclean, not by make clean. |
| 250 | ping6: Do not try to use result buffer when dn_comp(3) failed. |
| 251 | ping,ping6: ifdef guard for inline function for capability support and fix build with USE_CAP=no. |
| 252 | makefile: Do not use "-llib" dependency. |
| 253 | arping: build without sysfs support (USE_SYSFS=no). |
| 254 | |
| 255 | Ãngel González (1): |
| 256 | iputils: Add capability dropping |
| 257 | |
| 258 | |
| 259 | [s20101006] |
| 260 | |
| 261 | Chris Caputo (1): |
| 262 | ping,ping6: avoid gethostbyaddr during ping flood. |
| 263 | |
| 264 | Paul Martin (1): |
| 265 | arping: Set correct broadcast address. |
| 266 | |
| 267 | YOSHIFUJI Hideaki (4): |
| 268 | tracepath: Fix some small typos in tracepath.sgml. |
| 269 | ping: Fix resource consumption triggered by specially crafted ICMP Echo Reply (CVE-2010-2529) |
| 270 | Makefile: migrate main machine from beatrice to takos. |
| 271 | Makefile: Use newer git subcommand style instead of git-subcommand. |
| 272 | |
| 273 | |
| 274 | [s20100418] |
| 275 | |
| 276 | YOSHIFUJI Hideaki (28): |
| 277 | ping6: Use IPV6_TCLASS to set outgoing traffic class if available. |
| 278 | ping: Make build_echo(), gather_statistics() more generic. |
| 279 | ping6: Experimental support for Node Information Queries (RFC4620). |
| 280 | ping: simplify usage hint. |
| 281 | ping: Rename constant names |
| 282 | Extend -N option for NI Query options. |
| 283 | ping6: Make length-check qtype-specific. |
| 284 | ping6: Remove too many spaces between names. |
| 285 | ping6: ping6_niquery.h needs asm/byteorder.h. |
| 286 | ping6: Support Qtypes for IPv6/IPv4 Addresses. |
| 287 | ping6: Split pr_niquery_reply(). |
| 288 | ping6: Handle ICMPv6 code in NI Reply. |
| 289 | ping6: Add subject-ipv6 and subject-ipv4 NI sub-option for subject address. |
| 290 | ping6: Support subject name. |
| 291 | ping6: Free old memory when reassign pointers. |
| 292 | ping6: Always enable IPv6 Node Information Queries. |
| 293 | makefile: Do not always link libresolv and libcrypto. |
| 294 | ping,traceroute6,clockdiff: Enlarge hostname buffer. |
| 295 | ping6: do not allow too large packet size by -s option. |
| 296 | ping: needless space when printing usage. |
| 297 | rdisc: Fix typo in error message. |
| 298 | rdisc: Allow multiple addresses on one interface. |
| 299 | arping: Support link-layer type with larger link-layer address. |
| 300 | tracepath6: resolve target even if -n option is supplied. |
| 301 | tracepath,tracepath6: sync tracepath and tracepath6. |
| 302 | tracepath6: Make it more protocol independent. |
| 303 | |
| 304 | |
| 305 | [s20100214] |
| 306 | |
| 307 | Jamal Hadi Salim (2): |
| 308 | ping: ping by mark |
| 309 | ping: ping by mark doc update |
| 310 | |
| 311 | Jamie Le Tual (1): |
| 312 | ping: set un.echo.id to network byte order |
| 313 | |
| 314 | YOSHIFUJI Hideaki (11): |
| 315 | [PING6,TRACEROUTE6]: Ignore error in setting IPV6_CHECKSUM socket option for ICMPv6 socket. |
| 316 | [PING6]: Use if_nametoindex() to convert ifname to ifindex. |
| 317 | [PING6]: Allow to specify source address with interface in a single -I option. |
| 318 | ping6: Try using IPV6_PKTINFO sticky option to specify outgoing interface. |
| 319 | rdisc: Use FOPEN_MAX if OPEN_MAX is undefined. |
| 320 | ping6: Fix source routing with source interface set. |
| 321 | ping,ping6: Don't print extra ', ' in finish(). |
| 322 | tracepath: Fix documentation typo. |
| 323 | Use sysconf(_SC_OPEN_MAX) instead of OPEN_MAX. |
| 324 | ping,ping6: Add -D option to print timestamp. |
| 325 | |
| 326 | |
| 327 | [s20071127] |
| 328 | |
| 329 | John Heffner (6): |
| 330 | [iputils] tracepath: Add length flag to set initial MTU. |
| 331 | [iputils] tracepath: Add documentation for the -l flag. |
| 332 | [iputils] tracepath: Use PMTUDISC_PROBE mode if it exists. |
| 333 | [iputils] tracepath: Document -n flag. |
| 334 | [iputils] tracepath: Fix asymm messages. |
| 335 | [iputils] tracepath: Re-probe at same TTL after MTU reduction. |
| 336 | |
| 337 | YOSHIFUJI Hideaki (8): |
| 338 | [DOC]: Delete duplicated lines in RELNOTES. |
| 339 | Fix white space errors. |
| 340 | [CLOCKDIFF,PING,RDISC,TRACEROUTE6]: Support uClibc. |
| 341 | [RARPD]: Fixed several signedness issues for char strings. |
| 342 | [PING]: Use inet_pton() instead of sscan(). |
| 343 | [PING6]: Use IN6_IS_ADDR_xxx() macro. |
| 344 | [MAKEFILE]: Change authorized host to push snapshots. |
| 345 | [MAKEFILE]: Use git-archive instead of git-tar-tree. |
| 346 | |
| 347 | |
| 348 | [s20070202] |
| 349 | |
| 350 | Mike Frysinger (2): |
| 351 | Use socklen_t in all the right places. |
| 352 | [IPG]: handle pktgen setup in newer kernels. |
| 353 | |
| 354 | Mitsuru Chinen (2): |
| 355 | [CLOCKDIFF]: Fix compilation errors about labels at end of compound statements. |
| 356 | [PING6]: Use getaddrinfo() for the name resolution of intermediate nodes. |
| 357 | |
| 358 | YOSHIFUJI Hideaki (9): |
| 359 | [MAKEFILE] Remove unused -I../include |
| 360 | [TRACEPATH] Print usage if we met incorrect option. |
| 361 | [PING6]: Fix compilation error with glibc-2.4 and later. |
| 362 | [PING6]: Use getaddrinfo() to allow scoped addresses |
| 363 | [PING6]: Ensure not to reverse-lookup if target is numeric address. |
| 364 | |
| 365 | |
| 366 | [s20060512] |
| 367 | |
| 368 | YOSHIFUJI Hideaki: |
| 369 | [BUILD] Build with standard headers. |
| 370 | [ARPING,PING6] Build fix for some old systems. |
| 371 | |
| 372 | |
| 373 | [s20060425] |
| 374 | |
| 375 | YOSHIFUJI Hideaki: |
| 376 | [TRACEROUTE6] Fix ICMPv6 type printing with -v option |
| 377 | [TRACEROUTE6] Mark ICMPv6 messages as known |
| 378 | [DOC] Maintainer / Contact change |
| 379 | [PING6,TRACEPATH6,TRACEROUTE6] Define SOL_IPV6,SOL_ICMPV6 where needed |
| 380 | [TRACEROUTE6] Fix source/destination address with -v option |
| 381 | [PING6,TRACEPATH6,TRACEROUTE6] Use new RFC3542 advanced API if available |
| 382 | [RDISC] Use proper type for is_directly_connected() |
| 383 | [PING,PING6] Use proper type for printf() |
| 384 | [TRACEROUTE6] Fix inet_pton() error handling |
| 385 | [TRACEROUTE6] Use minimum format if 0 is specified for datalen |
| 386 | [TRACEROUTE6] Optimize datalen sanity checking code |
| 387 | [TRACEPATH6] Use getaddrinfo() to allow scoped addresses |
| 388 | [RDISC] Use strerror(errno) instead of sys_errlist[errno] |
| 389 | [PING,PING6] Avoid using __constant_htons() if it is really needed |
| 390 | [TRACEPATH6] Fix format for subseconds |
| 391 | [ARPING,CLOCKDIFF,PING,PING6,TRACEROUTE6] Check return value from setuid(). |
| 392 | [PING,PING6] ensure to initialize msg. |
| 393 | [MAKEFILE] Make snapshot using git |
| 394 | |
| 395 | |
| 396 | [020927] |
| 397 | * arping.sgml, some options were forgotten. |
| 398 | * send seqno in network byte order. Me. |
| 399 | * Mads Martin Jørgensen <mmj@suse.de> Recursive citation: |
| 400 | "On request of Mads Martin Jørgensen <mmj@suse.de> I've added manpages |
| 401 | pregenerated from the Docbook sources. One could argue it is redundant |
| 402 | when the Docbook sources are also there, but the argument of not having |
| 403 | to install Docbook on a very small system to get the man pages was |
| 404 | convinving enough to me. To quote Mads Martin: "How would a system |
| 405 | be without a man page for ping?" |
| 406 | As a chilidish revenge from my side enjoy with cyrillic date in these |
| 407 | man pages. :-) |
| 408 | * Ken Cox <jkc@redhat.com>. Bogus definition of SOCK_DRGAM&SOCK_STREAM on mips. |
| 409 | * Error returned from recvmsg() resulted in a bogus printout in traceroute6. Me. |
| 410 | * Use IPV6_CHECKSUM on icmp socket in traceroute6. Me. |
| 411 | * Noah L. Meyerhans <frodo@morgul.net> Fix to doc. |
| 412 | !* Noah L. Meyerhans <frodo@morgul.net> What is the problem with "long" triptime? |
| 413 | ! Reporter does not respond. _Malignantly_. |
| 414 | * Thomas 'Dent' Mirlacher <dent@cosy.sbg.ac.at> Ping did not exit sometimes! |
| 415 | * Add option -W to override default 10 second linger timeout. Me. |
| 416 | * Mads Martin Jørgensen <mmj@suse.de>: ping should not bind to autoselected |
| 417 | source address, it used to work when routing changes. Return classic |
| 418 | behaviour, option -B is added to enforce binding. |
| 419 | * Pekka Savola <pekkas@netcore.fi> Forgotten \n messing output of ping6. |
| 420 | * Noah L. Meyerhans <frodo@morgul.net> traceroute6 -q 1 did not work. |
| 421 | * Pekka Savola <pekkas@netcore.fi> various sizeof() cleanups in traceroute6.c |
| 422 | * "Dmitry V. Levin" <ldv@alt-linux.org> wrote: |
| 423 | > ping (as well as other utilities) may open raw socket with descriptor <=2; |
| 424 | > In case of suid-root, it can be used by malicious user to send data to |
| 425 | > this raw socket. |
| 426 | > |
| 427 | > Yes, modern glibc and some kernels have workaround for it, but |
| 428 | > IMHO iputils shouldn't rely on this feature. |
| 429 | Taken into account, but no changes made. |
| 430 | * "Tilman Heinrich" <tilHeinrich@web.de> said some scripts are broken |
| 431 | when word "packet" disappeared from "100% packet loss". Despite of |
| 432 | the inarguable fact that such scripts are truly mad and deserve breaking |
| 433 | (sigh... exit codes are too smart concept for script writers, I guess), |
| 434 | I have to recognize removing this word carrying zero information |
| 435 | was not enough motivated. Returned. |
| 436 | * ping used to retry forever when seeing ENOBUFS/ENOMEM without explicitly |
| 437 | given deadline. Being logically correct it is bad in practice f.e. when |
| 438 | pinging buggy device which locked up with some packets in queue. |
| 439 | So, retry for a finite time... let is be lingertime. Fair? Me. |
| 440 | * Two "messages" are sent to rpm maintainers to make their wrong patches |
| 441 | failed. |
| 442 | * Fix from RH iputils-20001007-deadline.patch. It was lost in the latest |
| 443 | rpms btw. |
| 444 | * Dax Kelson <dax@gurulabs.com>: added _unsupported_ option to comppile |
| 445 | rdisc_srv. |
| 446 | |
| 447 | [020124] |
| 448 | * Michal Kochanowicz <michal@michal.waw.pl> typos in tracepath.8 |
| 449 | * Michael Wardle <michael.wardle@adacel.com>: undo silly change of ss000305 |
| 450 | (printing rtt in some funny units). Michael noticed that "sec" is not |
| 451 | standard abbreviation for time units (bullshit, of course), but real concern |
| 452 | is that it is more difficult to interpret with a neglibible improvement |
| 453 | to appearance. So, do this as expected: in "ms". |
| 454 | * Documentation. Wow! I did it. man pages are disassembled to docbook, |
| 455 | audited wrt real state, edited... and promised to be maintained |
| 456 | in sync with the state of utilities. |
| 457 | |
| 458 | [011202] |
| 459 | * Utz Bacher <utz.bacher@de.ibm.com> Bitops in ping6 were wrong |
| 460 | on bigendian machines. Wow, luckily I forgot to acknowledge that patch |
| 461 | of 010805 which has gotten rid of kernel bitops and did this so wrongly. |
| 462 | * Michael Bakunin <bakunin@maphiasoft.org> (:-)) |
| 463 | found mud in tftpd.c, it will crash when directory supplied in argument |
| 464 | is longer ~512 symbols. |
| 465 | * Alexandr D. Kanevskiy <kad@blackcatlinux.com>: buffer overflow |
| 466 | in clockdiff. Very stupid one, the overflowed buffer even was not used. :-) |
| 467 | * Alexandr D. Kanevskiy <kad@blackcatlinux.com>: shit! Code recognizing |
| 468 | kernels with broken IP_RECVERR for raw sockets depended on race |
| 469 | and accused even good kernel of being buggy. :-) |
| 470 | |
| 471 | [011002] |
| 472 | * Stepan Koltsov <yozh@mx1.ru>, tracepath/tracepth6 segfaulted when |
| 473 | used without address. |
| 474 | * Alexandr D. Kanevskiy <kad@blackcatlinux.com>: arping printed |
| 475 | "permission denied" instead of showing help page to non-superuser. |
| 476 | |
| 477 | [010824] |
| 478 | * Alexandr D. Kanevskiy <kad@blackcatlinux.com>: ping compiled |
| 479 | for linux-2.4 forgot to send the second packet, when used with linux-2.2 |
| 480 | * Chris Evans <chris@scary.beasts.org>: buffer overflow in traceroute6. |
| 481 | datalen was messed: counting header in half of places. |
| 482 | Funny, looking into LBL traceroute, it is even worse :-) |
| 483 | * Alexandr D. Kanevskiy <kad@blackcatlinux.com>: relayed patches |
| 484 | by Solar_Diz. Only missing description of option -q is accepted. |
| 485 | * <ipatel@wilnetonline.net> ping6 printed wrong mtu. |
| 486 | * Alexandr D. Kanevskiy <kad@blackcatlinux.com>: -Werror is removed. |
| 487 | Newer gcc are buggy and generates some wrong warnings about |
| 488 | uninitalized variables, which are evidently initialized. |
| 489 | |
| 490 | [010805] |
| 491 | * Some news from Pekka Savola <pekkas@netcore.fi> around setting tos bits. |
| 492 | * arping: broadcast-only mode by Ard van Breemen <ard@telegraafnet.nl> |
| 493 | * ping6/traceroute6: parse ICMP errors with extension headers (me) |
| 494 | traceroute6 works with size > mtu now. Nice. |
| 495 | * ping: Erik Quanstrom <quanstro@clark.net>. Serious patch. |
| 496 | ping interval timer was not very broken, but very unintelligible. |
| 497 | Though I remade the code to use leaky bucket logic, which |
| 498 | is the most transparent one. Anyway, contribution by Eric is |
| 499 | the most important one since the previous release. |
| 500 | Short theory of operation: option -i (interval) sets rate r=1/interval pps, |
| 501 | option -l (preload) sets burst size of l packets. So, ping sends |
| 502 | at most r*t+l packets for an arbitrary interval t. |
| 503 | Default values: l=1 and for non-flood case: r=1pps, for flood r=infinity. |
| 504 | Nice? Exact algorithm is: |
| 505 | |
| 506 | Let N(t) be l/r=l*i initially and N(t) grow continuously with time as: |
| 507 | |
| 508 | N(t+delta) = min{l*i, N(t) + delta} |
| 509 | |
| 510 | Packet can be transmitted only at the time t_* when 1/r=i <= N(t_*) |
| 511 | and in this case N(t) jumps: |
| 512 | |
| 513 | N(t_* + 0) = N(t_* - 0) - i. |
| 514 | |
| 515 | When interval is zero, algo degenerates allowing to send any amount |
| 516 | of messages. In this case we modify it using l as limit on amount |
| 517 | of unanswered requests and waiting for 10msec, when something is not |
| 518 | answered. Note that the last thing (10msec) is just to be compatible with |
| 519 | BSD manual pages. BSD ping is simply not able to avoid delay technically, |
| 520 | we are able now. |
| 521 | |
| 522 | In result we got some new facilities: |
| 523 | * "-f -l 100" becomes very aggressive, in fact on good link |
| 524 | it holds permanently 100 packets in flight, which is very different |
| 525 | of earlier bevaviour (one packet in flight). |
| 526 | * -f and -i are not incompatible more. In fact, "-f -i 1" is equivalent |
| 527 | to plain ping, only output is different (dotted). Essentially, |
| 528 | change of output format is the only effect. "ping -i 0" is flood |
| 529 | printing output in normal format. |
| 530 | |
| 531 | Moved some parts of code to ping_common.c. Common part is not fully |
| 532 | trivial now. :-) |
| 533 | |
| 534 | * ping: Ian Lynagh <igloo@earth.li>, larger and dynamic dup detector. |
| 535 | Also, Ian submitted two large patches, one fixing formatting, another |
| 536 | doing something with signedness/longness. Not now... |
| 537 | Later note: found not working. x + 7 / 8 :-). Sorry... dubious, withdrawn. |
| 538 | size of table increased to maximal value instead (8K of memory, |
| 539 | not a big deal). |
| 540 | * tftpd: an old misprint. left@sbor.spb.su (Igor A. Lefterov) |
| 541 | * clockdiff: do not fail, if reversed resolution failed. |
| 542 | Tommy Lacroix <tommyl@zeroknowledge.com> |
| 543 | * ping: audible ping by Patrik Schilt <patrik@bnc.ch> |
| 544 | Patrick's option renamed to -a to align to freebsd. |
| 545 | * ping: react to device queue overflows using IP_RECVERR. me. |
| 546 | * ping: option -S allows to change sndbuf |
| 547 | * rarpd is moved from separate package here (people asked) |
| 548 | * ping6: kernel style bitops are not used more. |
| 549 | * Option -A to adapt to network rtt. |
| 550 | * Use BPF, when multiple pings are detected. |
| 551 | |
| 552 | [001110] |
| 553 | * ping is able to select TOS. By Pekka Savola <pekkas@netcore.fi> |
| 554 | * tracepath* DNS names. By Pawel Krawczyk <kravietz@ceti.com.pl> and |
| 555 | Arkadiusz Miskiewicz <misiek@pld.org.pl> |
| 556 | * ping6 is expected to be compiled with linux-2.2. |
| 557 | |
| 558 | [001011] |
| 559 | * RH bugid#16677: segfault, when ping is used by root and size |
| 560 | is large enough. Fix is to allow oversize by root (it is necessary |
| 561 | to check kernel side), but clamp it at some safe value. |
| 562 | |
| 563 | [001010] |
| 564 | * More bug fixes from Chris Evans <chris@ferret.lmh.ox.ac.uk> |
| 565 | - do not trust h_length returned by system resolver. |
| 566 | This value is meaningless in any case. |
| 567 | - ping: buffer overflow in fill()!!! Disgraceful bug. |
| 568 | |
| 569 | * ping: allow not-priviledged users to use broadcasts. It was paranoia. |
| 570 | Multicasts were allowed. 8) |
| 571 | * ping: but force broadcasts&multicasts not to fragment. BSD does |
| 572 | not allow to do this to anyone, we still allow this for superuser. |
| 573 | * Option -M to control path mtu discovery. |
| 574 | |
| 575 | [001007] |
| 576 | * By Pekka Savola <pekkas@netcore.fi> |
| 577 | - SIOCGSTAMP/SO_TIMESTAMP are sensitive to bug in kernel. |
| 578 | When get_fast_time != gettimeofday (f.e. timestampless x86), |
| 579 | returned stamp can be out of sync with gettimeofday. |
| 580 | Workaround is not to use SIOCGSTAMP/SO_TIMESTAMP on such systems. |
| 581 | - fixes in man pages |
| 582 | - compiles under rh-7.0 |
| 583 | * Chris Evans <chris@ferret.lmh.ox.ac.uk> |
| 584 | - ping: possible buffer overflow in pr_addr(). |
| 585 | |
| 586 | [000928] |
| 587 | * Sorry. I have lost all the CVS with changes made since 000418. |
| 588 | If someone sent me a patch after this date, please, resubmit. |
| 589 | Restored from the last backup and mailboxes: |
| 590 | |
| 591 | * ping*, SO_TIMESTAMP support. |
| 592 | * ping*, allow zero data length (reported by Damjan Lango <damjan.lango@hermes.si>) |
| 593 | * iputils man and help updates. Pekka Savola <Pekka.Savola@netcore.fi> |
| 594 | * ping.8, fix to ping man page. By Dadid Eisner <cradle@glue.umd.edu> |
| 595 | * ping prints addresses in numeric, if destination is numeric. |
| 596 | Proposed by Tim Waugh <twaugh@meme.surrey.redhat.com> |
| 597 | |
| 598 | New: |
| 599 | * ping: strncpy bug <typo@inferno.tusculum.edu> |
| 600 | * arping: improvements by Charles Howes <croot@micro-logistics.com> |
| 601 | - a feature to arping: quit as soon as a reply is received. |
| 602 | - default to eth0. |
| 603 | - spelling |
| 604 | |
| 605 | [000418] |
| 606 | * llsqrt() was buggy again! |
| 607 | (noticed by Sam Farin <sfarin@ratol.fi>) |
| 608 | |
| 609 | [000404] |
| 610 | * tracepath*, "NURDUnet-gw" bug workaround. |
| 611 | (noticed by Vitaly E.Lavrov <lve@aanet.ru>) |
| 612 | * tracepath*, handle case of routers initializing rtt to 128. |
| 613 | Vitaly E.Lavrov <lve@aanet.ru> |
| 614 | * shadowed icmp_sock in ping6. James Morris <jmorris@@intercode.com.au> |
| 615 | * Bug in ping -f, introduced with SO_RCVTIMEO. me. |
| 616 | * llsqrt() (ping, ping6) was wrong yet. me. |
| 617 | |
| 618 | [000310] |
| 619 | * Print mean deviation of RTT in ping/ping6. |
| 620 | * Use SIOCGSTAMP in ping/ping6. Old behaviour calculating |
| 621 | true user-to-user latency is restored with option -U. |
| 622 | Reason for this stupid change is mainly political; people |
| 623 | wonder why freebsd has twice less latency on loopback. |
| 624 | If to follow along this line, we have to print rtt equal to 0. 8) |
| 625 | [ LATER NOTE: actually, the change is _right_ without any doubts. |
| 626 | Ping has another bug: nameresolver is blocking, so that |
| 627 | when it dies not respond, ping shows evenly increasing by 1 sec |
| 628 | RTT. It is very confusing (look through linux-kernel maillists |
| 629 | to count number of people, who were cheated by misconfigured dns). ] |
| 630 | * Use SO_RCVTIMEO instead of poll() with ping/ping6 -f. |
| 631 | * Added -V option to arping/ping/ping6/traceroute6/rdisc |
| 632 | to print snapshot number. |
| 633 | |
| 634 | [000305] |
| 635 | * rdisc: ugly bug in getting interface list. me. |
| 636 | * ping/ping6: ping -i N, N>=3 did not work. Jeff Jonson <jbj@redhat.com> |
| 637 | * ping/ping6: microsecond rtt measurements. me. |
| 638 | |
| 639 | [000120] |
| 640 | * ping/ping6: non-zero exit code even without -w. |
| 641 | |
| 642 | [991024] |
| 643 | * Option "-i" to ping/ping6 takes fractional time now, so that |
| 644 | "ping -i 0.3 xxx" pings each 300 msec. The idea is by |
| 645 | Marc Boucher <marc@mbsi.ca> |
| 646 | * alpha/glibc-2.1 alignment problems in ping are fixed (struct timeval |
| 647 | was wrongly aligned). |
| 648 | |
| 649 | [990915] |
| 650 | * ping/ping6 worked only with kernels 2.3.15+ in 990824. |
| 651 | |
| 652 | [990824] |
| 653 | * tftpd is added. It uses MSG_CONFIRM to confirm arp entries. |
| 654 | * ping6: workaround for bug in some egcs versions. |
| 655 | |
| 656 | [990610] |
| 657 | * ping: output buffer was too small for full sized ping. |
| 658 | * ping: silly restriction on ping size is removed. |
| 659 | |
| 660 | [990530] |
| 661 | * short man pages (Oleg M. Shumsky <oms@cp.tomsk.su>) |
| 662 | * ping6: get and print hop limit of reply packets (ME) |
| 663 | * rdisc deletes routes before exit with -TERM |
| 664 | * ping/ping6: option -w TIMEOUT |
| 665 | * arping: exit with error, if received no replies in normal |
| 666 | (not DAD and not unsilicited ARP) mode. |
| 667 | |