Official repository for mtr, a network diagnostic tool
Go to file
Matt Kimball ac58c7a4b7 test: Fix mtr-packet tests for Python 3
The mtr-packet test suite was written to run with Python 2, and lacked
the Unicode to bytes and bytes to Unicode conversions required to
run with Python 3.  This change adds those conversions, and the result
works with either Python 2 or Python 3.

Also, close the subprocess's stdin and stdout explicitly.  Python 3's
unittest complains about unclosed file descriptors otherwise.
2016-12-04 10:03:44 -08:00
bash-completion bug fix: long option --gracetime is correct, --graceperiod is not 2016-09-04 16:39:08 +01:00
build-aux build-sys: use build version script from gnulib 2016-08-16 10:52:10 +01:00
img data types: set static strings to be read-only 2016-08-24 21:25:09 +01:00
packet test: Fix mtr-packet tests for Python 3 2016-12-04 10:03:44 -08:00
portability portability: MacOS does not have error() function 2016-08-23 21:45:20 +01:00
.gitignore build-sys: update .gitignore file 2016-12-04 11:08:16 +00:00
asn.c cleanup: clarify preprocessor nesting 2016-10-11 19:29:20 +01:00
asn.h performance: make get_iiwidth() to be const function 2016-09-04 21:13:39 +01:00
AUTHORS docs: add Sami Kerola to authors 2016-09-04 21:13:41 +01:00
bootstrap.sh Added mtr-packet subprocess 2016-11-30 17:14:43 -08:00
configure.ac Added mtr-packet subprocess 2016-11-30 17:14:43 -08:00
COPYING mtr v0.21 2013-02-03 20:45:27 +00:00
curses.c build-sys: use proper check to find if time_t is defined 2016-10-11 19:29:20 +01:00
display.c Added mtr-packet subprocess 2016-11-30 17:14:43 -08:00
display.h Added mtr-packet subprocess 2016-11-30 17:14:43 -08:00
dns.c fixed dynamic DNS on/off switch. Fixed #160 2016-10-26 08:52:49 +02:00
dns.h cleanup: remove dead code 2016-10-11 19:29:19 +01:00
FORMATS Fix typos. 2016-01-04 12:42:23 +01:00
gtk.c respect theme foreground color 2016-10-27 11:45:30 -04:00
Makefile.am Added mtr-packet subprocess 2016-11-30 17:14:43 -08:00
mtr-curses.h data types: move global data to control structures 2016-08-28 19:35:34 +01:00
mtr-gtk.h data types: move global data to control structures 2016-08-28 19:35:34 +01:00
mtr-packet.8.in docs: improve mtr-packet(8) manual page 2016-12-04 11:07:17 +00:00
mtr.8.in Added mtr-packet subprocess 2016-11-30 17:14:43 -08:00
mtr.bat Added mtr-packet subprocess 2016-11-30 17:14:43 -08:00
mtr.c Added mtr-packet subprocess 2016-11-30 17:14:43 -08:00
mtr.h regression: fix --displaymode=2 argument 2016-10-11 21:03:55 +01:00
net.c Added mtr-packet subprocess 2016-11-30 17:14:43 -08:00
net.h Added mtr-packet subprocess 2016-11-30 17:14:43 -08:00
NEWS Updated NEWS as in v0.87.1 2016-08-06 14:18:43 +02:00
raw.c style: convert c++ comment style to c style 2016-10-11 19:29:19 +01:00
raw.h data types: move global data to control structures 2016-08-28 19:35:34 +01:00
README State that Github is the preferred way to report bugs. 2015-11-12 20:36:07 +00:00
report.c header alignment issue found&fixed by meingtsla. Fixes #164 2016-10-29 11:50:13 +02:00
report.h data types: move global data to control structures 2016-08-28 19:35:34 +01:00
SECURITY Fix typos. 2016-01-04 12:42:23 +01:00
select.c Added mtr-packet subprocess 2016-11-30 17:14:43 -08:00
select.h data types: move global data to control structures 2016-08-28 19:35:34 +01:00
split.c reliability: ensure string copy results to a null determined string 2016-08-29 18:25:27 +01:00
split.h data types: move global data to control structures 2016-08-28 19:35:34 +01:00
TODO mtr v0.75 2013-02-03 20:45:38 +00:00
utils.c cleanup: merge two trim functions to one 2016-09-04 16:39:36 +01:00
utils.h cleanup: merge two trim functions to one 2016-09-04 16:39:36 +01:00

WHAT IS MTR?

  mtr combines the functionality of the 'traceroute' and 'ping' programs 
  in a single network diagnostic tool.

  As mtr starts, it investigates the network connection between the host
  mtr runs on and a user-specified destination host.  After it
  determines the address of each network hop between the machines, 
  it sends a sequence of ICMP ECHO requests to each one to determine the 
  quality of the link to each machine.  As it does this, it prints
  running statistics about each machine.

  mtr is distributed under the GNU General Public License version 2.
  See the COPYING file for details.  

INSTALLING

  If you're building this from a tarball, compiling mtr should be as
  simple as:

	make

  It should first call the "configure" script and then run "make" again
  with the makefile that "configure" just generated. 

  If you're building from the git repository, you'll need to run:

	./bootstrap.sh && ./configure && make

  After compiling, install:

	make install

  Note that mtr must be suid-root because it requires access to raw IP 
  sockets.  See SECURITY for security information.

  Older versions used to require a non-existent path to GTK for a
  correct build of a non-gtk version while GTK was installed. This is
  no longer necessary. ./configure --without-gtk should now work. 
  If it doesn't, try "make WITHOUT_X11=YES" as the make step. 

  On Solaris (and possibly other systems) the "gtk" library may be
  installed in a directory where the dynamic linker refuses to look when
  a binary is setuid. Roman Shterenzon reports that adding 
        -Wl,-rpath=/usr/lib
  to the commandline will work if you are using gnu LD. He tells me that
  you're out of luck when you use the sun LD. That's not quite true, as
  you can move the gtk libraries to /usr/lib instead of leaving them in
  /usr/local/lib.  (when the ld tells you that /usr/local/lib is untrusted
  and /usr/lib is trusted, and you trust the gtk libs enough to want them
  in a setuid program, then there is something to say for moving them
  to the "trusted" directory.)

  On Solaris, linking usually fails to find "wattr" or something like that.
  Somehow, I can't seem to be able to automate "configure" finding the right
  libs on Solaris. So, the solution is that you cut-and-paste the line
  doing the linking into a terminal window, and add "-lcurses" by hand. 
  Then it will link. Help on how to catch this in autoconf appreciated.

  On Mac OS X the nameserver8_compat.h needs to be included. I put the 
  include inside an "#if 0" section in the file "dns.c". If someone 
  knows how to make this automatic using autoconf / the configure script, 
  please tell me.... 

  This should now also work: 
  ./configure CFLAGS="-arch i386 -arch x86_64" LIBS="-lresolv" \
       --without-gtk --disable-endian-check --disable-dependency-tracking



WHERE CAN I GET THE LATEST VERSION OR MORE INFORMATION?

  mtr is now hosted on github. 
      https://github.com/traviscross/mtr

  See the mtr web page at 
         http://www.BitWizard.nl/mtr/ 

  Bug reports and feature requests should be submitted to the Github
  bug tracking system.

  Patches can be submitted by cloning the Github repository and issuing
  a pull request, or by email to me. Please use unified diffs. Usually
  the diff is sort of messy, so please check that the diff is clean and
  doesn't contain too much of your local stuff (for example, I don't
  want/need the "configure" script that /your/ automake made for you).

  (There used to be a mailinglist, but all it got was spam. So
  when the server was upgraded, the mailing list died.)

-- REW