Code

README: Remove whitespace.
[liboping.git] / README
1  liboping – Library to ping IPv4 and IPv6 hosts in parallel
2 ════════════════════════════════════════════════════════════
3 http://verplant.org/liboping/
5 About
6 ━━━━━
8   liboping was inspired by ping, libping and fping: It differs from these
9   existing solutions in that it can “ping” multiple hosts in parallel using
10   IPv4 or IPv6 transparently. Other design principles were an object oriented
11   interface, simplicity and extensibility.
13   On top of liboping two command line applications have been built. “oping” is
14   a drop-in replacement for ping(1) with very similar output. “noping” is an
15   ncurses-based application which displays statistics while pinging and
16   highlights aberrant round-trip times.
19 Features
20 ━━━━━━━━
22   • Support for multiple hosts.
24   • Support for IPv4 and IPv6.
26   • Object oriented interface.
29 Perl bindings
30 ━━━━━━━━━━━━━
32   Included in the source package of liboping are bindings for Perl. The code
33   resides in the bindings/ subdirectory and is compiled and installed by
34   default. To disable building the Perl bindings, call “configure” with
35   “--without-perl-bindings”.
38 Permissions
39 ━━━━━━━━━━━━━
41   On UNIX, special permissions are required to open raw sockets (raw(7)). If
42   you compile and install the “oping” and “noping” binaries as normal user
43   (which is strongly suggested), you won't be able to use the binaries as a
44   normal user, because you won't have the permission to open raw sockets.
46   Linux
47   ━━━━━
48   On Linux, the preferred method is to assign the required “capability” to the
49   binaries. This will allow the binary to open raw sockets, but doesn't give
50   any other permissions such as reading other users' files or shutting down the
51   system. The downside is that this mechanism is comparatively new: Assigning
52   capabilities to files is available since Linux 2.6.24.
54   To set the required capabilities, run (as user root):
56     # setcap cap_net_raw=ep /opt/oping/bin/oping
57     # setcap cap_net_raw=ep /opt/oping/bin/noping
59   Other UNIX
60   ━━━━━━━━━━
61   Capabilities are a nice but Linux-specific solution. To make “oping” and
62   “noping” available to unprivileged users on other UNIX systems, use the
63   traditional set-UID root solution. If your system supports “saved set-UIDs”
64   (basically all systems do), the applications will drop the privileges during
65   initialization and only regain them when actually opening the socket(s).
67   To set the set-UID bit, run (as user root):
69     # chown root: /opt/oping/bin/{,n}oping
70     # chmod u+s   /opt/oping/bin/{,n}oping
73 Licensing terms
74 ━━━━━━━━━━━━━━━
76   liboping is licensed under the “GNU Lesser General Public License” (LGPL),
77   version 2.1 or later. The exact licensing terms can be found in the file
78   “COPYING” included in the source distribution of liboping.
80   The “oping” and “noping” utilities included in this package are licensed
81   under the “GNU General Public License” (GPL), version 2. The full licensing
82   terms can be found online at <http://www.gnu.org/licenses/gpl-2.0.html>.
85 Author
86 ━━━━━━
88   Florian “octo” Forster <ff at octo.it>