Code

Bump version to 1.10.0; Update ChangeLog.
[liboping.git] / README
diff --git a/README b/README
index 63a3dce65b57f0257b76f08b6731c037c76a7b23..8611d7c65f748db7aa37be32b4126e8811cc8c02 100644 (file)
--- a/README
+++ b/README
@@ -1,6 +1,6 @@
  liboping – Library to ping IPv4 and IPv6 hosts in parallel
 ════════════════════════════════════════════════════════════
-http://verplant.org/liboping/
+http://noping.cc/
 
 About
 ━━━━━
@@ -35,8 +35,63 @@ Perl bindings
   “--without-perl-bindings”.
 
 
+Permissions
+━━━━━━━━━━━━━
+
+  On UNIX, special permissions are required to open raw sockets (raw(7)). If
+  you compile and install the “oping” and “noping” binaries as normal user
+  (which is strongly suggested), you won't be able to use the binaries as a
+  normal user, because you won't have the permission to open raw sockets.
+
+  The “install” target will automatically try fix this, if it is run with UID~0
+  (as user root).  When on Linux, the capabilities described below will be
+  added. On other UNIXes the traditional Set-UID method (also described below)
+  is used instead. The build system will not abort if this fails, because there
+  are file systems which do not support either method. Also, the Debian
+  packaging system and possibly other scenarios only act as if they were
+  running as root.
+
+  Linux
+  ━━━━━
+  On Linux, the preferred method is to assign the required “capability” to the
+  binaries. This will allow the binary to open raw sockets, but doesn't give
+  any other permissions such as reading other users' files or shutting down the
+  system. The downside is that this mechanism is comparatively new: Assigning
+  capabilities to files is available since Linux 2.6.24.
+
+  To set the required capabilities, run (as user root):
+
+    # setcap cap_net_raw=ep /opt/oping/bin/oping
+    # setcap cap_net_raw=ep /opt/oping/bin/noping
+
+  Other UNIX
+  ━━━━━━━━━━
+  Capabilities are a nice but Linux-specific solution. To make “oping” and
+  “noping” available to unprivileged users on other UNIX systems, use the
+  traditional set-UID root solution. If your system supports “saved set-UIDs”
+  (basically all systems do), the applications will drop the privileges during
+  initialization and only regain them when actually opening the socket(s).
+
+  To set the set-UID bit, run (as user root):
+
+    # chown root: /opt/oping/bin/{,n}oping
+    # chmod u+s   /opt/oping/bin/{,n}oping
+
+
+Licensing terms
+━━━━━━━━━━━━━━━
+
+  liboping is licensed under the “GNU Lesser General Public License” (LGPL),
+  version 2.1 or later. The exact licensing terms can be found in the file
+  “COPYING” included in the source distribution of liboping.
+
+  The “oping” and “noping” utilities included in this package are licensed
+  under the “GNU General Public License” (GPL), version 2. The full licensing
+  terms can be found online at <http://www.gnu.org/licenses/gpl-2.0.html>.
+
+
 Author
 ━━━━━━
 
-  Florian octo Forster <octo at verplant.org>
+  Florian “octo” Forster <ff at octo.it>