]> git.ipfire.org Git - thirdparty/mtr.git/log
thirdparty/mtr.git
6 years agoRework Cygwin mtr-packet to respond to signals (such as SIGTERM) 292/head
Matt Kimball [Sun, 3 Mar 2019 16:00:55 +0000 (08:00 -0800)] 
Rework Cygwin mtr-packet to respond to signals (such as SIGTERM)

The prior implementation of mtr-packet on Cygwin would
not respond to Unix-style signals sent from other processes.
It was unkillable from the Cygwin shell, even with SIGKILL,
and exiting mtr would sometimes stall for several seconds because
it would ignore the SIGTERM sent from the main mtr process.
It would then wait for all outstanding probes to timeout before
exiting.

Signals were ignored because they are implemented by the Cygwin
library at the user level, (i.e. not provided by the OS kernel),
and mtr-packet often bypassed Cygwin's I/O functions by calling
Win32 APIs directly.

With this rework, the Cygwin implementation uses an ICMP service
thread to call the Win32 ICMP functions, but the main thread
uses a POSIX-style select() loop, similar to the Unix version mtr.

I would have liked to avoid multithreading entirely, but here are
the constraints:

    a)  mtr was originally a Unix program which used "raw sockets"
    b)  In order to port mtr to Windows, Cygwin is used to get a
        Unix-like environment
    c)  You can't use a raw socket to receive an ICMP reply on Windows.
        However, Windows provides a separate API in the form of
        ICMP.DLL for sending and receiving ICMP messages.
    d)  The ICMP API works asynchronously, and requires completion
        through an asynchronous procedure call ("APC")
    e)  APCs are only delivered during blocking Win32 operations
        which are flagged as "alertable."  This prevents apps from
        having APCs execute unexpectedly during an I/O operation.
    f)  Cygwin's implementation of POSIX functions does all I/O
        through non-alertable I/O operations.  This is reasonable
        because APCs don't exist in the POSIX API.
    g)  Cygwin implements Unix-style signals at the application level,
        since the Windows kernel doesn't have them.  We want our
        program to respond to SIGTERM and SIGKILL, at least.
    h)  Cygwin's signal implementation will deliver signals during
        blocking I/O functions in the Cygwin library, but won't
        respond to signals if the signal is sent while the application
        is in a blocking Windows API call which Cygwin is not aware of.
    i)  Since we want to both send/receive ICMP probes and also respond
        to Unix-style signals, we require two threads:  one which
        uses Cygwin's POSIX style blocking I/O and can respond to
        signals, and one which uses alertable waits using Win32
        blocking APIs.

The solution is to have the main thread using select() as the
blocking operation in its loop, and also to have an ICMP service
thread using WaitForSingleObjectEx() as its blocking operation.
The main thread will respond to signals.  The ICMP service thread
will run the APCs completing ICMP.DLL requests.

This change doesn't affect non-Windows versions of mtr, other than
moving the code from command_unix.c back into command.c,
since it can now be shared between Unix-like systems and Windows.

6 years agoMerge pull request #291 from angt/add-help-line-curses
Roger Wolff [Thu, 28 Feb 2019 12:27:27 +0000 (13:27 +0100)] 
Merge pull request #291 from angt/add-help-line-curses

Add a help line for the t command in curses

6 years agoAdd a help line for the t command in curses 291/head
Adrien Gallouët [Thu, 28 Feb 2019 11:53:52 +0000 (11:53 +0000)] 
Add a help line for the t command in curses

Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
6 years agoMerge pull request #290 from matt-kimball/mtrpacket-python-manpage
Roger Wolff [Thu, 14 Feb 2019 11:21:38 +0000 (12:21 +0100)] 
Merge pull request #290 from matt-kimball/mtrpacket-python-manpage

Mention Python mtrpacket package in mtr-packet man page

6 years agoManpage fix for Darwin by Matt. Rewritten by REW
Rogier Wolff [Thu, 14 Feb 2019 11:18:41 +0000 (12:18 +0100)] 
Manpage fix for Darwin by Matt. Rewritten by REW

6 years agoMerge pull request #288 from matt-kimball/macos-error-func
Roger Wolff [Thu, 14 Feb 2019 10:55:24 +0000 (11:55 +0100)] 
Merge pull request #288 from matt-kimball/macos-error-func

Link portability/error.c with mtr-packet when missing on MacOS

6 years agoMention Python mtrpacket package in mtr-packet man page 290/head
Matt Kimball [Wed, 13 Feb 2019 17:37:21 +0000 (09:37 -0800)] 
Mention Python mtrpacket package in mtr-packet man page

There is now a package for Python which invokes mtr-packet and sends
network probes asynchronously:  https://pypi.org/project/mtrpacket/

This change adds mention of it to the mtr-packet man page, which
should help people interested in using mtr-packet in monitoring scripts
find it.

6 years agoLink portability/error.c with mtr-packet when missing on MacOS 288/head
Matt Kimball [Wed, 13 Feb 2019 17:33:29 +0000 (09:33 -0800)] 
Link portability/error.c with mtr-packet when missing on MacOS

Change 817f171d broke the MacOS build.

Change 817f171d converted the error reporting in mtr-packet from
perror() to error().  That's fine, but error() is missing on MacOS.
We already had portability/error.c for this reason, but that was
previously only linked into the mtr binary, not mtr-packet.

This change also links portability/error.c with mtr-packet, when
error() is missing from the OS.

6 years agoFixed issue #286
Rogier Wolff [Tue, 1 Jan 2019 12:27:57 +0000 (13:27 +0100)] 
Fixed issue #286

6 years agoMerge pull request #284 from Ablesius/ReadmeMarkdown
Roger Wolff [Wed, 19 Dec 2018 11:43:35 +0000 (12:43 +0100)] 
Merge pull request #284 from Ablesius/ReadmeMarkdown

convert README to markdown

6 years agoconvert README to markdown 284/head
Alexander Blesius [Tue, 18 Dec 2018 14:53:21 +0000 (15:53 +0100)] 
convert README to markdown

6 years agoMerge pull request #276 from trittweiler/master
Roger Wolff [Thu, 15 Nov 2018 15:39:46 +0000 (16:39 +0100)] 
Merge pull request #276 from trittweiler/master

Print program name before error messages.

6 years agoReplace perror(...); exit(...); by error(...); 276/head
Tobias Rittweiler [Wed, 14 Nov 2018 12:46:08 +0000 (13:46 +0100)] 
Replace perror(...); exit(...); by error(...);

Rationale is that error(...) will prefix the error message with the
program name which is useful information now that mtr is split into
two executables (mtr and mtr-packet.)

6 years agoAdd a .dir-locals.el file for Emacs.
Tobias Rittweiler [Wed, 14 Nov 2018 12:43:58 +0000 (13:43 +0100)] 
Add a .dir-locals.el file for Emacs.

It specifies not to use TABs and to indent by 4 spaces.

6 years agoMerge pull request #272 from magnum7385/patch-1
Roger Wolff [Fri, 28 Sep 2018 17:06:10 +0000 (19:06 +0200)] 
Merge pull request #272 from magnum7385/patch-1

Update README (Typo in the name of the setup program).

6 years agoUpdate README 272/head
Adam [Fri, 28 Sep 2018 16:14:12 +0000 (12:14 -0400)] 
Update README

6 years agoMerge pull request #271 from divinity76/patch-1
Roger Wolff [Fri, 28 Sep 2018 14:20:47 +0000 (16:20 +0200)] 
Merge pull request #271 from divinity76/patch-1

use setup.exe's package manager mode, replacing apt-cyg

6 years agouse setup.exe's package manager mode, replacing apt-cyg 271/head
divinity76 [Fri, 28 Sep 2018 13:53:41 +0000 (15:53 +0200)] 
use setup.exe's package manager mode, replacing apt-cyg

see #270 for rationale

6 years agoMerge pull request #267 from benw01/ui-notes-in-man-page
Roger Wolff [Fri, 24 Aug 2018 07:10:20 +0000 (09:10 +0200)] 
Merge pull request #267 from benw01/ui-notes-in-man-page

renamed NOTES to INTERACTIVE CONTROL as per discussion in pull request

6 years agorenamed NOTES to INTERACTIVE CONTROL as per discussion in pull request 267/head
Ben Williams [Fri, 24 Aug 2018 02:55:55 +0000 (12:25 +0930)] 
renamed NOTES to INTERACTIVE CONTROL as per discussion in pull request

6 years agoMerge pull request #266 from benw01/ui-notes-in-man-page
Roger Wolff [Thu, 23 Aug 2018 07:06:55 +0000 (09:06 +0200)] 
Merge pull request #266 from benw01/ui-notes-in-man-page

added UI hotkeys to NOTES section in man page

6 years agoadded UI hotkeys description (from internal help) to NOTES section in mtr man page 266/head
Ben Williams [Thu, 23 Aug 2018 00:54:36 +0000 (10:24 +0930)] 
added UI hotkeys description (from internal help) to NOTES section in mtr man page

7 years agoMerge branch 'master' of github.com:traviscross/mtr
R.E. Wolff [Fri, 15 Jun 2018 12:23:16 +0000 (14:23 +0200)] 
Merge branch 'master' of github.com:traviscross/mtr

7 years agoNetbsd build fixes thanks to yvs2014
R.E. Wolff [Fri, 15 Jun 2018 12:23:01 +0000 (14:23 +0200)] 
Netbsd build fixes thanks to yvs2014

7 years agoMerge pull request #262 from arekm/master
Roger Wolff [Thu, 7 Jun 2018 12:19:35 +0000 (14:19 +0200)] 
Merge pull request #262 from arekm/master

mtr to a unreachable host is possible again.

7 years agomtr to a unreachable host is possible again. 262/head
Arkadiusz Miśkiewicz [Tue, 5 Jun 2018 15:38:08 +0000 (17:38 +0200)] 
mtr to a unreachable host is possible again.

In mtr 0.87 it was possible to start mtr against unreachable
host (that local kernel already knew that it is unreachable).
Later it was broken. Make such tracing possible again.

7 years agoMerge pull request #261 from arekm/master
Roger Wolff [Tue, 5 Jun 2018 14:13:00 +0000 (16:13 +0200)] 
Merge pull request #261 from arekm/master

Also try SOCK_RAW/IPPROTO_ICMP when other fail.

7 years agoAlso try SOCK_RAW/IPPROTO_ICMP when other fail. 261/head
Arkadiusz Miśkiewicz [Tue, 5 Jun 2018 13:54:44 +0000 (15:54 +0200)] 
Also try SOCK_RAW/IPPROTO_ICMP when other fail.

Under Linux Vserver SOCK_RAW is quite limited. Only IPPROTO_ICMP works,
so try to use it.

check_length_order() also doesn't work because sendto is also limited.
Fortunately under linux check_length_order is not needed as described
in comment around check_length_order.

7 years agofixed typo
R.E. Wolff [Mon, 7 May 2018 14:36:23 +0000 (16:36 +0200)] 
fixed typo

7 years agorewritten weiyixuan's patch
R.E. Wolff [Mon, 7 May 2018 07:59:31 +0000 (09:59 +0200)] 
rewritten weiyixuan's patch

7 years agoMerge pull request #259 from weiyixuan/new_dev1
Roger Wolff [Mon, 7 May 2018 07:50:43 +0000 (09:50 +0200)] 
Merge pull request #259 from weiyixuan/new_dev1

for tcp, fix : bind port failed, try next sequence

7 years agofor tcp, fix : bind port failed, try next sequence 259/head
weiyixuan [Mon, 7 May 2018 07:24:54 +0000 (15:24 +0800)] 
for tcp, fix : bind port failed, try next sequence

7 years ago-f equals -m fix from yvs2014
R.E. Wolff [Wed, 18 Apr 2018 10:22:23 +0000 (12:22 +0200)] 
-f equals -m fix from yvs2014

7 years agoMerge pull request #252 from weiyixuan/new_dev
Roger Wolff [Tue, 10 Apr 2018 10:42:02 +0000 (12:42 +0200)] 
Merge pull request #252 from weiyixuan/new_dev

Fix option --ipinfo 1 .  (Was apparently broken in the past)

7 years agoOption --ipinfo 1 can not work properly 252/head
weiyixuan [Tue, 10 Apr 2018 09:56:04 +0000 (17:56 +0800)] 
Option --ipinfo 1 can not work properly

7 years agoMerge pull request #251 from weiyixuan/new_dev
Roger Wolff [Tue, 10 Apr 2018 07:34:38 +0000 (09:34 +0200)] 
Merge pull request #251 from weiyixuan/new_dev

Option --ipinfo n can not work properly

7 years agoOption -y can not work properly 251/head
weiyixuan [Tue, 10 Apr 2018 07:14:22 +0000 (15:14 +0800)] 
Option -y can not work properly

7 years agoMerge pull request #248 from SaintBol/patch-9
Roger Wolff [Wed, 21 Mar 2018 08:06:55 +0000 (09:06 +0100)] 
Merge pull request #248 from SaintBol/patch-9

Update mtr-packet.8.in

7 years agoMerge pull request #247 from SaintBol/patch-8
Roger Wolff [Wed, 21 Mar 2018 08:06:42 +0000 (09:06 +0100)] 
Merge pull request #247 from SaintBol/patch-8

Update report.c

7 years agoMerge pull request #246 from SaintBol/patch-7
Roger Wolff [Wed, 21 Mar 2018 08:06:20 +0000 (09:06 +0100)] 
Merge pull request #246 from SaintBol/patch-7

Update mtr.h

7 years agoMerge pull request #245 from SaintBol/patch-6
Roger Wolff [Wed, 21 Mar 2018 08:06:09 +0000 (09:06 +0100)] 
Merge pull request #245 from SaintBol/patch-6

Update curses.c

7 years agoMerge pull request #244 from SaintBol/patch-5
Roger Wolff [Wed, 21 Mar 2018 08:05:57 +0000 (09:05 +0100)] 
Merge pull request #244 from SaintBol/patch-5

Update cmdpipe.c

7 years agoMerge pull request #243 from SaintBol/patch-4
Roger Wolff [Wed, 21 Mar 2018 08:05:40 +0000 (09:05 +0100)] 
Merge pull request #243 from SaintBol/patch-4

Update probe.h

7 years agoMerge pull request #242 from SaintBol/patch-3
Roger Wolff [Wed, 21 Mar 2018 08:05:29 +0000 (09:05 +0100)] 
Merge pull request #242 from SaintBol/patch-3

Update probe.c

7 years agoMerge pull request #241 from SaintBol/patch-2
Roger Wolff [Wed, 21 Mar 2018 08:05:16 +0000 (09:05 +0100)] 
Merge pull request #241 from SaintBol/patch-2

Update deconstruct_unix.c

7 years agoMerge pull request #240 from SaintBol/patch-1
Roger Wolff [Wed, 21 Mar 2018 08:04:58 +0000 (09:04 +0100)] 
Merge pull request #240 from SaintBol/patch-1

Update protocols.h

7 years agoUpdate mtr-packet.8.in 248/head
SaintBol [Wed, 21 Mar 2018 00:15:35 +0000 (01:15 +0100)] 
Update mtr-packet.8.in

RFC 5462 - MPLS EXP Field renamed to TC Field (Traffic Class)

7 years agoUpdate report.c 247/head
SaintBol [Wed, 21 Mar 2018 00:12:46 +0000 (01:12 +0100)] 
Update report.c

RFC 5462 - MPLS EXP Field renamed to TC Field (Traffic Class)

7 years agoUpdate mtr.h 246/head
SaintBol [Wed, 21 Mar 2018 00:10:58 +0000 (01:10 +0100)] 
Update mtr.h

RFC 5462 - MPLS EXP Field renamed to TC Field (Traffic Class)

7 years agoUpdate curses.c 245/head
SaintBol [Wed, 21 Mar 2018 00:09:30 +0000 (01:09 +0100)] 
Update curses.c

RFC 5462 - MPLS EXP Field renamed to TC Field (Traffic Class)

7 years agoUpdate cmdpipe.c 244/head
SaintBol [Wed, 21 Mar 2018 00:08:32 +0000 (01:08 +0100)] 
Update cmdpipe.c

RFC 5462 - MPLS EXP Field renamed to TC Field (Traffic Class)

7 years agoUpdate probe.h 243/head
SaintBol [Wed, 21 Mar 2018 00:00:26 +0000 (01:00 +0100)] 
Update probe.h

RFC 5462 - MPLS EXP Field renamed to TC Field (Traffic Class)

7 years agoUpdate probe.c 242/head
SaintBol [Tue, 20 Mar 2018 23:59:34 +0000 (00:59 +0100)] 
Update probe.c

RFC 5462 - MPLS EXP Field renamed to TC Field (Traffic Class)

7 years agoUpdate deconstruct_unix.c 241/head
SaintBol [Tue, 20 Mar 2018 23:58:33 +0000 (00:58 +0100)] 
Update deconstruct_unix.c

RFC 5462 - MPLS EXP Field renamed to TC Field (Traffic Class)

7 years agoUpdate protocols.h 240/head
SaintBol [Tue, 20 Mar 2018 23:55:45 +0000 (00:55 +0100)] 
Update protocols.h

RFC 5462 - MPLS EXP Field renamed to TC Field (Traffic Class)

7 years agoMerge pull request #235 from kanet77/master
Roger Wolff [Sun, 26 Nov 2017 10:29:59 +0000 (11:29 +0100)] 
Merge pull request #235 from kanet77/master

Fix typo (resove -> resolve)

7 years agoFix typo (resove -> resolve) 235/head
tk [Sun, 26 Nov 2017 06:25:56 +0000 (00:25 -0600)] 
Fix typo (resove -> resolve)

7 years agobetter fix. to dave's problem.
R.E. Wolff [Tue, 21 Nov 2017 16:20:42 +0000 (17:20 +0100)] 
better fix. to dave's problem.

7 years agofixed split like for macos
R.E. Wolff [Tue, 21 Nov 2017 14:50:41 +0000 (15:50 +0100)] 
fixed split like for macos

7 years agoMerge branch 'master' of github.com:traviscross/mtr
R.E. Wolff [Tue, 7 Nov 2017 17:25:15 +0000 (18:25 +0100)] 
Merge branch 'master' of github.com:traviscross/mtr

7 years agoSami Kerola: prevent MTR reporting unknown revision
R.E. Wolff [Tue, 7 Nov 2017 16:24:14 +0000 (17:24 +0100)] 
Sami Kerola: prevent MTR reporting unknown revision

7 years agoMerge pull request #228 from Debian/samueloph-typo
Roger Wolff [Sun, 15 Oct 2017 17:06:57 +0000 (19:06 +0200)] 
Merge pull request #228 from Debian/samueloph-typo

[typo]mtr.8.in: s/allows to/allows one to/

7 years ago[typo]mtr.8.in: s/allows to/allows one to/ 228/head
Samuel Henrique [Sun, 15 Oct 2017 17:03:22 +0000 (15:03 -0200)] 
[typo]mtr.8.in: s/allows to/allows one to/

7 years agopossible fix for mac terminal 100% problem
R.E. Wolff [Mon, 2 Oct 2017 13:36:04 +0000 (15:36 +0200)] 
possible fix for mac terminal 100% problem

7 years agoMerge pull request #222 from linghutiantian/bug-fix
Roger Wolff [Fri, 8 Sep 2017 15:44:02 +0000 (17:44 +0200)] 
Merge pull request #222 from linghutiantian/bug-fix

mtr-packet: fix a bug causing IPv6 raw socket not working

7 years agomtr-packet: fix a bug causing IPv6 raw socket not working 222/head
Chonggang Li [Wed, 6 Sep 2017 21:23:01 +0000 (14:23 -0700)] 
mtr-packet: fix a bug causing IPv6 raw socket not working

This bug causes mtr not working on IPv6 only machines if invoked by root
user, and it is fixed in this commit.

Change-Id: Iaefa548728b668bb64fbb5330bd1365f1af7b9b1

7 years agoMerge pull request #215 from linghutiantian/dev/dgram_socket
Roger Wolff [Mon, 28 Aug 2017 08:32:57 +0000 (10:32 +0200)] 
Merge pull request #215 from linghutiantian/dev/dgram_socket

mtr-packet: use ICMP and UDP without privilege on linux

7 years agomtr-packet: fix compilation on OS X 215/head
Chonggang Li [Mon, 21 Aug 2017 20:34:45 +0000 (13:34 -0700)] 
mtr-packet: fix compilation on OS X

Error queue is not supported by OS X, use AC_CHECK_HEADERS to introduce
a compilation flag called HAVE_LINUX_ERRQUEUE_H to skip compiling errqueue
related code.

7 years agoMerge pull request #218 from robert-scheck/fsf-address
Roger Wolff [Sun, 27 Aug 2017 05:51:21 +0000 (07:51 +0200)] 
Merge pull request #218 from robert-scheck/fsf-address

Update incorrect FSF address

7 years agoUpdate incorrect FSF address 218/head
Robert Scheck [Sat, 26 Aug 2017 22:21:47 +0000 (00:21 +0200)] 
Update incorrect FSF address

7 years agomtr-packet: fix Windows compilation
Chonggang Li [Wed, 23 Aug 2017 07:56:36 +0000 (00:56 -0700)] 
mtr-packet: fix Windows compilation

7 years agofix stupid typo. Thanks adpoliak!
R.E. Wolff [Thu, 17 Aug 2017 14:10:46 +0000 (16:10 +0200)] 
fix stupid typo. Thanks adpoliak!

7 years agoAlternative 'skip uid 0 checks on cygwin' to adpoliak's implmentation
R.E. Wolff [Thu, 17 Aug 2017 07:53:25 +0000 (09:53 +0200)] 
Alternative 'skip uid 0 checks on cygwin' to adpoliak's implmentation

7 years agomtr-packet: use ICMP and UDP without privilege on linux
Chonggang Li [Thu, 13 Jul 2017 23:17:08 +0000 (16:17 -0700)] 
mtr-packet: use ICMP and UDP without privilege on linux

This commit enables non-privileged users to use mtr on linux without
setuid. Currently ICMP and UDP protocols are supported in this commit.
Previously, to use mtr on linux with protocol ICMP and UDP, RAW sockets
have to be opened to send out packets and receive ICMP errors, so users
must have RAW socket permission to use this program. The goal of this
commit is to make mtr usable for normal users without RAW socket
permission. The changes include:
(1) The origianl logic is not changed, but instead, when the program
fails to open RAW sockets, it will fallback to opening DGRAM scoekts.
(2) A new flag is created to indicate whether RAW socket is used for
IPv4 and IPv6 respectively.
(3) When using DGRAM sockets to send out packets, receive sockets are
not required. Instead, IP_RECVERR is enabled to receive ICMP errors.
(4) Packet receiving function is changed from recvfrom() to recvmsg() to
retrieve more information.
(5) When error is indicated, the program will check the error type and
read from the error queue of the socket. Original payload causing the
error will be read out from the error queue to match for probe, and
additional data (e.g. source ip of ICMP error packets) will be retrieved
from CMSG.
(6) Use a separate socket to probe byter order if raw socket creation
fails, to avoid double bind issue.
(7) Also a few tweaks are added to make non-RAW socket working.

Change-Id: Idb08ff0847adbabd23cdc031907de3bde08a6afc

8 years agoMerge pull request #211 from matt-kimball/ifname
Roger Wolff [Sun, 16 Jul 2017 19:49:44 +0000 (21:49 +0200)] 
Merge pull request #211 from matt-kimball/ifname

commandline: Added --interface for using a named network interface

8 years agocommandline: Added --interface for using a named network interface 211/head
Matt Kimball [Sun, 16 Jul 2017 17:19:32 +0000 (10:19 -0700)] 
commandline: Added --interface for using a named network interface

Using '--interface' on the commandline (or '-I') will specify
a network interface by name.  This is sometimes a more convenient
alternative to using '--address' for specifying a source address
from which to send probes.

This can be useful when you have both a wired ethernet connection
and WiFi connection, and wish to use a specific connection for the
purposes of tracing.

This feature was requested in issue #207.

This change also cleans up main() slightly by factoring out the
hostent structure generation.

8 years agoMerge pull request #209 from matt-kimball/netunreach
Roger Wolff [Fri, 14 Jul 2017 05:36:11 +0000 (07:36 +0200)] 
Merge pull request #209 from matt-kimball/netunreach

Report "no route to host" in curses UI when a probe response arrives with an ICMP destination unreachable code

8 years agoMerge pull request #210 from matt-kimball/badjson
Roger Wolff [Thu, 13 Jul 2017 05:53:29 +0000 (07:53 +0200)] 
Merge pull request #210 from matt-kimball/badjson

json: Fix malformed json when the "hubs" list is empty

8 years agojson: Fix malformed json when the "hubs" list is empty 210/head
Matt Kimball [Wed, 12 Jul 2017 19:48:46 +0000 (12:48 -0700)] 
json: Fix malformed json when the "hubs" list is empty

When generating JSON output, and when no hosts are found when
probing, the generated JSON was malformed.  (i.e. when the "hubs" list
in the generated JSON is empty, there was no closing bracket.)  This can
be reproduced by tracing to an unused host address on the local subnet.

This fixues issue #190.

8 years agoui: display "no route to host" error as host entry rather than abort 209/head
Matt Kimball [Tue, 11 Jul 2017 21:55:40 +0000 (14:55 -0700)] 
ui: display "no route to host" error as host entry rather than abort

When a host is reported as unreachable in response to a particular
network probe, the Windows version of the mtr UI had the unfortuante
behavior of exiting and and printing a terse message.  This is
surprising to a user, who would expect mtr probes and reporting to
continue.

With this change, probing continues and a status reading
"no route to host" is displayed in the probe report.

This change will also improve the reporting of the Unix version of
mtr, now specifying "no route to host" instead of misleadingly
indicating that no reply has been received.

This fixes issue #179.

8 years agomtr-packet: report ICMP destination unreachable probes as "no route to host"
Matt Kimball [Tue, 11 Jul 2017 01:01:25 +0000 (18:01 -0700)] 
mtr-packet: report ICMP destination unreachable probes as "no route to host"

When an ICMP reply of type destination unreachable is received, report
the probe status as "no-route".

The exception is the port unreacable subtype of destination unreachable,
which may occur normally when using a non-ICMP probe type.

8 years agofix #204 : added exec of mtr-packet in the place where mtr was started from. Quick...
R.E. Wolff [Sun, 18 Jun 2017 10:45:16 +0000 (12:45 +0200)] 
fix #204 : added exec of mtr-packet in the place where mtr was started from. Quick and dirty, There is probably a better place to declare variables.

8 years agominor changes top help Windows compilation on 32 bit machines
R.E. Wolff [Sat, 3 Jun 2017 17:01:04 +0000 (19:01 +0200)] 
minor changes top help Windows compilation on 32 bit machines

8 years agofixed some outdated text in README.
R.E. Wolff [Fri, 2 Jun 2017 12:54:40 +0000 (14:54 +0200)] 
fixed some outdated text in README.

8 years agoThe release script bumped the version number v0.92
R.E. Wolff [Fri, 2 Jun 2017 08:54:58 +0000 (10:54 +0200)] 
The release script bumped the version number

8 years agoadded a few arguments to calls added by fmazu. Allows it to compile.
R.E. Wolff [Fri, 2 Jun 2017 08:52:58 +0000 (10:52 +0200)] 
added a few arguments to calls added by fmazu. Allows it to compile.

8 years agoThe release script bumped the version number v0.91
R.E. Wolff [Fri, 2 Jun 2017 08:20:18 +0000 (10:20 +0200)] 
The release script bumped the version number

8 years agoThe release script bumped the version number
R.E. Wolff [Fri, 2 Jun 2017 08:18:28 +0000 (10:18 +0200)] 
The release script bumped the version number

8 years agoThe release script bumped the version number v0.90
R.E. Wolff [Fri, 2 Jun 2017 08:16:48 +0000 (10:16 +0200)] 
The release script bumped the version number

8 years agoMerge branch 'master' of github.com:traviscross/mtr
R.E. Wolff [Fri, 2 Jun 2017 08:14:51 +0000 (10:14 +0200)] 
Merge branch 'master' of github.com:traviscross/mtr

8 years agoThe release script bumped the version number v0.89
R.E. Wolff [Fri, 2 Jun 2017 08:14:09 +0000 (10:14 +0200)] 
The release script bumped the version number

8 years agoMerge pull request #197 from fmazu/json_asn
Roger Wolff [Fri, 2 Jun 2017 07:09:03 +0000 (09:09 +0200)] 
Merge pull request #197 from fmazu/json_asn

Add AS number to json output

8 years agoAdd AS number to json output 197/head
fmazullo [Fri, 2 Jun 2017 06:30:58 +0000 (15:30 +0900)] 
Add AS number to json output

8 years agoThe release script bumped the version number
R.E. Wolff [Fri, 2 Jun 2017 05:39:46 +0000 (07:39 +0200)] 
The release script bumped the version number

8 years agoMerge pull request #195 from dajohi/select
Roger Wolff [Mon, 17 Apr 2017 11:35:14 +0000 (13:35 +0200)] 
Merge pull request #195 from dajohi/select

include <sys/select.h> for fd_set

8 years agoinclude <sys/select.h> for fd_set 195/head
David Hill [Fri, 14 Apr 2017 22:08:56 +0000 (18:08 -0400)] 
include <sys/select.h> for fd_set

8 years agoMerge pull request #192 from jwilk/spelling
Roger Wolff [Tue, 28 Feb 2017 08:11:12 +0000 (09:11 +0100)] 
Merge pull request #192 from jwilk/spelling

Fix typos

8 years agoFix typos 192/head
Jakub Wilk [Mon, 27 Feb 2017 22:52:08 +0000 (23:52 +0100)] 
Fix typos

8 years agoMerge pull request #189 from matt-kimball/reindent
Roger Wolff [Sun, 5 Feb 2017 07:11:21 +0000 (08:11 +0100)] 
Merge pull request #189 from matt-kimball/reindent

Reindent source using GNU indent

8 years agocleanup: reindented C source with GNU indent 189/head
Matt Kimball [Sat, 4 Feb 2017 21:25:23 +0000 (13:25 -0800)] 
cleanup: reindented C source with GNU indent

Ran the C source through:

    indent --k-and-r-style --no-tabs --break-function-decl-args