debian/0000755000000000000000000000000011745215772007201 5ustar debian/default0000644000000000000000000000066311457230072010543 0ustar # To start a 2ping listener as a daemon, set to "yes", and optionally # add additional options below. TWOPINGD_RUN=no # Additional options that are passed to the 2ping listener. # "--listen" is not needed; the initscript will add it for you. TWOPINGD_OPTS="" # User to start listener as. 2ping does not require any sort of # elevated privileges, so "nobody" (default) is recommended. Unset to # run as root. TWOPINGD_USER=nobody debian/changelog0000644000000000000000000000163211745114274011050 0ustar 2ping (2.0-1) unstable; urgency=low * New upstream release * Add EXTRAVERSION support for tagging with Debian revision * Bumped standards to 3.9.3 -- Ryan Finnie Sun, 22 Apr 2012 16:48:02 -0700 2ping (1.2.3-1) unstable; urgency=low * New upstream release -- Ryan Finnie Sun, 01 Jan 2012 16:58:06 -0800 2ping (1.1-2) unstable; urgency=low * Converted debian/rules to unified dh (fixes litian warnings) -- Ryan Finnie Sun, 04 Sep 2011 15:06:36 -0700 2ping (1.1-1) unstable; urgency=low * New upstream release (Closes: #602941) * Bumped standards to 3.9.2 * init.d: Guard against race condition when starting (Closes: #602943) -- Ryan Finnie Fri, 06 May 2011 20:54:28 -0700 2ping (1.0-1) unstable; urgency=low * Initial release (Closes: #596753) -- Ryan Finnie Wed, 20 Oct 2010 20:53:05 -0700 debian/docs0000644000000000000000000000000711456523755010053 0ustar README debian/source/0000755000000000000000000000000011457672213010476 5ustar debian/source/format0000644000000000000000000000001411457672213011704 0ustar 3.0 (quilt) debian/README.debian0000644000000000000000000000035711457735774011320 0ustar 2ping for Debian ================ This package includes an initscript to start a 2ping listener as a daemon. To enable it, edit /etc/default/2ping and set: TWOPINGD_RUN=yes When not enabled, the initscript will be silently ignored. debian/control0000644000000000000000000000143211745114335010575 0ustar Source: 2ping Section: net Priority: optional Maintainer: Ryan Finnie Build-Depends: debhelper (>= 7.0.50~), dpkg-dev (>= 1.16.1~) Standards-Version: 3.9.3 Homepage: http://www.finnie.org/software/2ping/ Vcs-Browser: http://gitorious.org/2ping/2ping Vcs-Git: git://gitorious.org/2ping/2ping.git XS-Dm-Upload-Allowed: yes Package: 2ping Architecture: all Depends: ${misc:Depends}, perl Recommends: perl-modules, libio-socket-inet6-perl Suggests: libdigest-sha-perl, libdigest-crc-perl Description: Ping utility to determine directional packet loss 2ping is a bi-directional ping utility. It uses 3-way pings (akin to TCP SYN, SYN/ACK, ACK) and after-the-fact state comparison between a 2ping listener and a 2ping client to determine which direction packet loss occurs. debian/rules0000755000000000000000000000066411745114172010257 0ustar #!/usr/bin/make -f # -*- makefile -*- # Uncomment this to turn on verbose mode. #export DH_VERBOSE=1 include /usr/share/dpkg/default.mk DEB_VERSION_REVISION = $(call dpkg_late_eval,DEB_VERSION_REVISION,echo '$(DEB_VERSION)' | sed -e 's/^.*-//') %: dh $@ override_dh_auto_build: $(MAKE) EXTRAVERSION="-$(DEB_VERSION_REVISION) ($(DEB_VENDOR))" override_dh_auto_install: $(MAKE) install DESTDIR=$(CURDIR)/debian/2ping PREFIX=/usr debian/copyright0000644000000000000000000000230411630773560011130 0ustar This package was debianized by Ryan Finnie on Thu, 17 Oct 2010 00:42:18 -0700. It was downloaded from http://www.finnie.org/software/2ping/ Upstream Author: Ryan Finnie Copyright: 2010 Ryan Finnie This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License with the Debian GNU/Linux distribution in file /usr/share/common-licenses/GPL-2; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. On Debian systems, the complete text of the GNU General Public License can be found in `/usr/share/common-licenses/GPL-2'. The Debian packaging is Copyright 2010 Ryan Finnie and is licensed under the GPL, see above. debian/compat0000644000000000000000000000000211456537103010371 0ustar 7 debian/init.d0000755000000000000000000001661011700501420010273 0ustar #!/bin/sh # # Based on sample LSB init script, # copyright (c) 2007 Javier Fernandez-Sanguino # # This is free software; you may redistribute it and/or modify # it under the terms of the GNU General Public License as # published by the Free Software Foundation; either version 2, # or (at your option) any later version. # # This is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License with # the Debian operating system, in /usr/share/common-licenses/GPL; if # not, write to the Free Software Foundation, Inc., 59 Temple Place, # Suite 330, Boston, MA 02111-1307 USA # ### BEGIN INIT INFO # Provides: 2ping # Required-Start: $remote_fs $network $time # Required-Stop: $remote_fs # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: starts/stops the 2ping listener # Description: Allows 2ping to act as a listener daemon, needed # for 2ping client/server operations. ### END INIT INFO PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin DAEMON=/usr/bin/2ping NAME=2ping DESC="2ping listener" PIDFILE=/var/run/$NAME.pid test -x $DAEMON || exit 0 . /lib/lsb/init-functions # Default options, these can be overriden by the information # at /etc/default/$NAME TWOPINGD_OPTS="" TWOPINGD_USER=nobody TWOPINGD_DIETIME=2 TWOPINGD_SETTLETIME=2 #TWOPINGD_STARTTIME=2 # Include defaults if available if [ -f /etc/default/$NAME ] ; then . /etc/default/$NAME fi # Silently ignore requests to start if not explicitly enabled if [ "x$TWOPINGD_RUN" != "xyes" ] ; then exit 0 fi # Check that the user exists (if we set a user) # Does the user exist? if [ -n "$TWOPINGD_USER" ] ; then if getent passwd | grep -q "^$TWOPINGD_USER:"; then # Obtain the uid and gid DAEMONUID=`getent passwd |grep "^$TWOPINGD_USER:" | awk -F : '{print $3}'` DAEMONGID=`getent passwd |grep "^$TWOPINGD_USER:" | awk -F : '{print $4}'` else log_failure_msg "The user $TWOPINGD_USER, required to run $NAME does not exist." exit 1 fi fi set -e running_pid() { # Check if a given process pid's cmdline matches a given name pid=$1 name=$2 [ -z "$pid" ] && return 1 [ ! -d /proc/$pid ] && return 1 #cmd=`cat /proc/$pid/cmdline | tr "\000" "\n"|head -n 1 |cut -d : -f 1` ## Is this the expected server #[ "$cmd" != "$name" ] && return 1 ### 2ping specific (since $0 is usually "/usr/bin/perl"): cmd=`cat /proc/$pid/cmdline | tr "\000" "\n"|grep "$name"` [ -z "$cmd" ] && return 1 return 0 } running() { # Check if the process is running looking at /proc # (works for all users) # No pidfile, probably no daemon present [ ! -f "$PIDFILE" ] && return 1 pid=`cat $PIDFILE` running_pid $pid $DAEMON || return 1 return 0 } start_server() { # Start the process using the wrapper if [ -z "$TWOPINGD_USER" ] ; then start-stop-daemon --start --quiet \ --background \ --make-pidfile --pidfile $PIDFILE \ --exec $DAEMON -- \ --listen -q $TWOPINGD_OPTS \ >/dev/null errcode=$? else # if we are using a daemonuser then change the user id start-stop-daemon --start --quiet \ --chuid $TWOPINGD_USER \ --background \ --make-pidfile --pidfile $PIDFILE \ --exec $DAEMON -- \ --listen -q $TWOPINGD_OPTS \ >/dev/null errcode=$? fi return $errcode } stop_server() { # Stop the process using the wrapper start-stop-daemon --stop --quiet --pidfile $PIDFILE errcode=$? return $errcode } force_stop() { # Force the process to die killing it manually [ ! -e "$PIDFILE" ] && return if running ; then kill -15 $pid # Is it really dead? sleep "$TWOPINGD_DIETIME"s if running ; then kill -9 $pid sleep "$TWOPINGD_DIETIME"s if running ; then echo "Cannot kill $NAME (pid=$pid)!" exit 1 fi fi fi rm -f $PIDFILE } case "$1" in start) log_daemon_msg "Starting $DESC " "$NAME" # Check if it's running first if running ; then log_progress_msg "apparently already running" log_end_msg 0 exit 0 fi if start_server ; then # NOTE: Some servers might die some time after they start, # this code will detect this issue if TWOPINGD_STARTTIME is set # to a reasonable value [ -n "$TWOPINGD_STARTTIME" ] && sleep $TWOPINGD_STARTTIME # Wait some time if running ; then # It's ok, the server started and is running log_end_msg 0 else # Guard against a start race condition if [ -n "$TWOPINGD_SETTLETIME" ]; then sleep $TWOPINGD_SETTLETIME if running ; then # It's ok, the server started and is running log_end_msg 0 else # It is not running after we did start log_end_msg 1 fi else # It is not running after we did start log_end_msg 1 fi fi else # Either we could not start it log_end_msg 1 fi ;; stop) log_daemon_msg "Stopping $DESC" "$NAME" if running ; then # Only stop the server if we see it running errcode=0 stop_server || errcode=$? log_end_msg $errcode else # If it's not running don't do anything log_progress_msg "apparently not running" log_end_msg 0 exit 0 fi ;; force-stop) # First try to stop gracefully the program $0 stop if running; then # If it's still running try to kill it more forcefully log_daemon_msg "Stopping (force) $DESC" "$NAME" errcode=0 force_stop || errcode=$? log_end_msg $errcode fi ;; restart|force-reload) log_daemon_msg "Restarting $DESC" "$NAME" errcode=0 stop_server || errcode=$? # Wait some sensible amount, some server need this [ -n "$TWOPINGD_DIETIME" ] && sleep $TWOPINGD_DIETIME start_server || errcode=$? [ -n "$TWOPINGD_STARTTIME" ] && sleep $TWOPINGD_STARTTIME running || errcode=$? log_end_msg $errcode ;; status) log_daemon_msg "Checking status of $DESC" "$NAME" if running ; then log_progress_msg "running" log_end_msg 0 else log_progress_msg "apparently not running" log_end_msg 1 exit 1 fi ;; # Use this if the daemon cannot reload reload) log_warning_msg "Reloading $NAME daemon: not implemented, as the daemon" log_warning_msg "cannot re-read the config file (use restart)." ;; *) N=/etc/init.d/$NAME echo "Usage: $N {start|stop|force-stop|restart|force-reload|status}" >&2 exit 1 ;; esac exit 0 debian/watch0000644000000000000000000000010411456536116010222 0ustar version=3 http://www.finnie.org/software/2ping/ 2ping-(.*)\.tar\.gz