summaryrefslogtreecommitdiff
path: root/sbin/ping
AgeCommit message (Collapse)Author
2017-11-08Add a type cast to force signed comparison. This fixes a loopVisa Hankala
termination issue that can arise when parsing IP options. The bug was found by Hrvoje Popovski with ping -R. Fix tested by Hrvoje, OK millert@
2017-07-08Consistently use if ((option & F_FOO) && (option & F_BAR)) instead ofFlorian Obser
if (option & F_FOO && option & F_BAR). Prompted by a reverse diff from Klemens Nanni. Both forms are equivalent due to operator precedence, I consider the later to be easier on the eyes.
2017-07-08Consistently use if (option & F_FOO); from Klemens Nanni, thanks!Florian Obser
2017-07-05remove useless (void)printf casts, diff from Klemens Nanni, massagedFlorian Obser
by me.
2017-07-04calculate multiples of 4 smarter; from Klemens NanniFlorian Obser
2017-07-04replace perror(3) with err(3); from Klemens NanniFlorian Obser
2017-02-22Unbreak "ping6 -L"Renato Westphal
$ ping6 -L ff02::1%em1 ping6: setsockopt IP6_MULTICAST_LOOP: Invalid argument Unfortunately we have this inconsistency in the sockets API where we need to pass an unsigned char for IP_MULTICAST_LOOP but we need an unsigned int for IPV6_MULTICAST_LOOP. While here, fix a typo in the error message. OK millert@ florian@
2016-10-26in florian;s last commit i urged him to change "twenty-four" toJason McIntyre
"twenty four", arguing, i think, that the internet is wrong; well seemingly i'm wrong, and you should hyphenate numbers when spelled out - who'd have thought it. apologies to florian and the diff submitter (and the internet); still, what i should have advised, and what i've done here, is use "24", which is much simpler, fits the surrounding text, and agrees with oed style advice;
2016-10-26Due to 64 bit seconds + 64 bit nano seconds resolution and theFlorian Obser
addition of a MAC we need at least 24 bytes packet size these days to show timing information. Pointed out by Tamas Horvath, thanks! OK jmc
2016-10-20Only drop to _ping user if invoked as root. If invoked as anFlorian Obser
unprivileged user just shed the setuid privs as previously. sthen@ pointed out that you cannot kill(2) your own ping. With this we rely on pledge(2) for unprivileged users. OK sthen@, deraadt@ is happy with the middle ground
2016-09-28Always do the setgroups, setresgid and setresuid even if if theFlorian Obser
unprivileged user is not present instead of erroring out. This lets ping and traceroute work in restricted enviornments like the bgplg chroot. Problem reported by sthen@ input & prodding deraadt@
2016-09-26Drop privileges to newly added _ping user/group.Florian Obser
It does not buy us much when called as a unpriv user. But if run as root we can now lose privileges. OK natano@, deraadt@ is happy
2016-09-20whitespaceTheo de Raadt
2016-09-20various cleanup; ok florianJason McIntyre
2016-09-19Only allow standard dot notation for IPv4 addresses.Florian Obser
We can get rid of inet_aton(3) and use the AF independent getaddrinfo(3). OK natano@, krw@, millert@, claudio@
2016-09-18unbreak IPv6 source selectionFlorian Obser
2016-09-18simplify startup, since we know earlier which type of socket we needTheo de Raadt
ok florian
2016-09-18whitespaceTheo de Raadt
2016-09-18If running in verbose mode and no source address has been specifiedFlorian Obser
with -I find the kernel selected address and print it even for v4 addresses. OK phessler@, natano@, mpi@, claudio@, benno@, sthen@, millert@
2016-09-18Do not print 'ping6' in reporting output, just 'ping'.Florian Obser
OK tom@, natano@, claudio@, sthen@, millert@
2016-09-18minor tweaks;Jason McIntyre
2016-09-17backwards if(v6flag); pointed out by naddyFlorian Obser
2016-09-17Merge ping6(8) manual into ping(8).Florian Obser
Tweak & OK jmc@
2016-09-17ping6(8) is now a hardlink to ping(8).Florian Obser
The instbin stuff looks good to deraadt@
2016-09-17The final merge ping6 into ping.Florian Obser
"why slow down?" deraadt@
2016-09-17Use ECHOTMLEN define; no functional change.Florian Obser
2016-09-17iov_base is already set in this case; reduce diff to ping6(8).Florian Obser
2016-09-17MAXPAYLOAD is different between ping and ping6.Florian Obser
2016-09-17Just use AF_INET like everywhere else.Florian Obser
2016-09-17malloc sets errno; use err not errxFlorian Obser
2016-09-17whitespaceFlorian Obser
2016-09-17Make getting source address more AF independent.Florian Obser
2016-09-17If -I was not given hoist getting source address up.Florian Obser
2016-09-17Make source address selection more AF independent.Florian Obser
2016-09-17Introduce AF independent from.Florian Obser
2016-09-17Use AF independent dst where possible.Florian Obser
2016-09-17Blindly s/dst/dst4/ or s/dst/dst6/, AF independent dst will beFlorian Obser
introduced next.
2016-09-17We will need the variable name "from" soon, so free it up by renamingFlorian Obser
to peer. While here move declaration down to where it's needed. No functional change.
2016-09-17Reduce diff in pinger().Florian Obser
2016-09-17styleFlorian Obser
2016-09-17Move more AF independent initialization around to reduce diff.Florian Obser
2016-09-17Normalize receive packet allocation.Florian Obser
2016-09-17Use ECHOTMLEN define.Florian Obser
2016-09-17ping(8): The IPv6 header has a payload length field while IPv4 has aFlorian Obser
length field for the whole packet. Make some room for IPv6 payload. ping6(8): Sync to ping(8).
2016-09-17Bring over includes, we will need them in a merge anyway.Florian Obser
2016-09-17If no source address is specified and we are running in verbose modeFlorian Obser
try to find it with getsockname(2) like ping6(8). Disable printing for now though because scripts might depend on ping(8)'s output.
2016-09-13Rearange option handling to reduce diff between ping(8) and ping6(8).Florian Obser
While here be explicit that timing and timinginfo are initialized to 0.
2016-09-13Make the raw socket non-global and pass it to retransmit()/pinger().Florian Obser
2016-09-13No need to have the destination global.Florian Obser
2016-09-13No need to have this global.Florian Obser