--- sendpage-1.0.3.orig/debian/sendpage.cf
+++ sendpage-1.0.3/debian/sendpage.cf
@@ -0,0 +1,486 @@
+##############################################################################
+#                                 sendpage.cf                                #
+##############################################################################
+#
+# There are four majors sections:
+#	- global	Any global settings
+#	- "modem"	Each modem's settings
+#	- "pc"		Each Paging Central's settings
+#	- "recip"	Each recipient name's settings
+#
+# Except for global, each section starts with the section name in
+# []'s.  So, to define a modem named "sportster", the section name
+# would be "[modem:sportster]", and all of the sportster's settings
+# would follow.
+#
+# section names cannot have "=", "@", or ":" in their text.
+#
+# For each major section, I go through all the default values
+# and their variable names.  If you don't like a default value,
+# just comment in the variable name, and change the value to something
+# else.
+#
+
+
+
+#############################
+# global section
+#############################
+# queue & manager-level debugging.  Default is "false"
+#
+#debug=true
+
+# select-loop debugging.  Default is "false"
+#	Leave this as it is unless you're digging around in the select
+#	loop code.  It is VERY annoying.  :)
+#
+#debug-select=true
+
+# SNPP activity debugging.  Default is "false"
+#
+#debug-snpp=true
+
+# alias-expansion debugging.  Default is "false"
+#
+#alias-debug=true
+
+# Filename prefix for writing process ID files.
+# 	Default is "/var/spool/sendpage/sendpage"
+#
+#pidfileprefix = /tmp/var/spool/sendpage/sendpage
+
+# Filename prefix for writing UUCP-style device locks.
+#	Default is "/var/lock/LCK.."
+#
+#lockprefix = /tmp/var/lock/LCK..
+
+# Directory to store Paging Central pager queues
+#	Default is "/var/spool/sendpage"
+#
+#queuedir = /tmp/var/spool/sendpage
+
+# Database dbi type/connection info for large user lists
+#
+#	Defaults are all ""
+#
+#dsn = dbi:Pg:Db:dbname=sendpage
+#dsn = dbi:mysql:database=sendpage;host=db.mydomain.name;port=3306
+#dbuser = sendpage
+#dbpass = mekmitasdigoat
+#dbtable = sendpage
+
+# Username that sendpage should be running as.
+#	Default is "sendpage"
+#user = nemesis
+
+# Group sendpage needs to lock devices.  
+#	Default is "tty"
+#group-lock=uucp
+
+# Group sendpage needs to read/write devices.
+#	Default is "dialout"
+#group-tty=users
+
+# Email address that page emails claims to be coming from.
+#	Default is "sendpage"
+#
+#page-daemon = sendpage@example.com
+
+# Will page-daemon be Cc'd on email failures?
+#	Default is "true"
+#cc-on-error = false
+
+# By which mechanism should email be delivered?  mail, sendmail, or SMTP?
+#	Default is "sendmail"
+#mail-agent = mail
+
+# Should page senders be notified about permanent failures?
+#	Default is "true"
+#fail-notify = false
+
+# Page senders should be notified every Xth temporary failure.
+# (0 means 'never')
+#	Default is "5".
+#tempfail-notify-after=10
+
+# How many times does a page hit a temporary error before failing forever?
+#	Default is "20"
+#max-tempfail=50
+
+# Should syslog be used instead of STDERR for logging?
+#	Default is "true"
+#syslog=false
+
+# When using syslog, which syslog options should be used?
+# (any of "pid", "ndelay", "cons", or "nowait")
+#	Default is "pid"
+#syslog-opt= pid, cons
+
+# Which syslog facility should be used?  man syslog for more info
+#	Default is "daemon"
+#syslog-facility=local6
+
+# What port sendpage binds to for the SNPP server.
+#	Default is "444"
+#snpp-port=3044
+
+# What local address sendpage binds the SNPP server to.  
+#   *NOTE*
+#	You should set this to "0.0.0.0" if you want to receive pages from
+#	the rest of the world.
+#
+#	You can use this to limit which IP address SNPP is bound to.
+#   *NOTE*
+#
+#	Default is "localhost"
+#snpp-addr=0.0.0.0
+
+# What to do about incoming SNPP requests (multiple entries allowed)
+#   *NOTE*
+#	You should set this to "0.0.0.0/0.0.0.0:ALLOW" if you want
+#	anyone to connect to your SNPP server.
+#   *NOTE*
+#
+#	Format is "NET/MASK:WAY" where WAY is either "ALLOW" or "DENY"
+#
+#	ACL processing is done top to bottom, and if no match occurs,
+#	the connection is rejected.
+#
+#	Default is "127.0.0.1/255.255.255.255:ALLOW"
+#snpp-acl="128.174.5.0/255.255.255.0:ALLOW"
+#snpp-acl="128.23.1.10/255.255.255.255:DENY"
+#snpp-acl="128.23.1.0/255.255.255.0:ALLOW"
+
+# List of modems a PC should use if not told explicitly.
+#	Default is all available modems.
+#
+#modems = sportster
+
+# Default domain for email-cc (not implemented yet)
+#fallback-email-domain	=	@cpoint.net
+
+# Command to run after each successful or failed page
+#	Default is unset
+#	Command gets contents of page on stdin, and 2 command line
+#	parameters:
+#		arg 1: status (0=page failed, 1=page succeeded)
+#		arg 2: page alias (who was paged)
+#
+#completion-cmd = "/usr/local/bin/page-sent"
+
+######################
+# modem configuration
+# 	Each section should be called "modem".  (e.g.  "[modem:sportster]")
+######################
+
+# My first "modem" section.
+#[modem:example]
+# Should this modem's character-level debugging be turned on?
+#	Default is "false"
+#debug	= true
+
+# This modem's transmission settings.
+#	Defaults are data=7, parity=even, stop=1, flow=rts,
+#                    baud=9600, strict-parity=false
+#data	       = 8
+#parity	       = none
+#stop	       = 1
+#flow          = soft
+#baud          = 38400
+#strict-parity = true
+
+# Which device this modem should use
+#	Default is "/dev/null", so you better specify one.  :)
+#dev	= /dev/modem
+
+# This modem's initialization string
+#	Default is "ATZ"
+#init   = ATE&1
+
+# This modem's "okay" response string (this is a regexp)
+#	Default is "OK"
+#initok = 0
+
+# What to look for if something has gone wrong while init'ing (this is a regexp)
+#	Default is "ERROR"
+#error=1
+
+# How many seconds to wait for initok after init with this modem
+#	Default is "4"
+#initwait=1
+
+# How many times to try to initialize the modem
+#	Default is "2"
+#initretries=1
+
+# The dialing prefix for this modem
+#	Default is "ATDT"
+#dial=ATDP
+
+# The telephone prefix to get a dialtone out of the building (for PBXs, etc)
+#	Default is ""
+#dialout="9,"
+
+# The areacode this modem has (for figuring areacode matches with PCs)
+#	Default is unset
+# If you never use area code, either make this "-" or don't use "areacode"
+# options in the PC definitions.
+#areacode="847"
+
+# The dialing prefix for dialing long distance calls (some PBXs do weird stuff)
+#	Default is "1-"
+#longdist="81"
+
+# What to look for after connecting successfully (this is a regexp)
+#	Default is "CONNECT.*\r"
+#dialok=0
+
+# What to look for if something goes wrong while dialing (this is a regexp)
+#	Default is "ERROR|NO CARRIER|BUSY|NO DIAL|VOICE"
+#no-carrier=ERROR
+
+# How many seconds to wait for dialing to connect
+#	Default is "60"
+#dialwait=30
+
+# How many times to try and redial (unimplemented, actually...)
+#	Default is "3"
+#dialretries=1
+
+# How should "carrier detection" be done?  "on", "off", "dsr"
+# "DSR" can be used when a cable or OS doesn't correctly provide CD
+#	Default is "on"
+#carrier-detect=dsr
+
+# How many seconds should the DTR be held down during initialization?
+#	Default is "0.5"
+#dtrtime=1.5
+
+## As an example, this is what a regular external modem might look like,
+## with no special settings:
+##
+#[modem:sportster]
+#dev	= /dev/modem
+
+## As an example, this is what a directly attached paging terminal
+## might look like:
+##
+#[modem:direct]
+#carrier-detect=off
+#dtrtime=0
+#init=""
+#initok=""
+#dial=""
+#dialok=""
+#dev=/dev/serial
+
+
+#########################
+# Paging central section
+#	each section should be called "pc" (e.g. "[pc:ameritech]")
+#########################
+#[pc:example]
+# Is this PC enabled?  Set to false to stop processing a PC, for example
+#	Default is "true"
+#enabled= false
+
+# This PC's protocol-level debugging.
+#	Default is "false"
+#debug	= true
+
+# Email address that page emails claims to be coming from.
+#	Default is unset, and will fall back to the global "page-daemon" setting
+#
+#page-daemon = someone@other.place
+
+# Will page-daemon be Cc'd on email failures for this PC?
+#	Default is unset, and will fall back to global "cc-on-error" setting
+#cc-on-error = true
+
+# Should page senders be notified about permanent failures?
+#	Default is unset; will fall back to global option
+#fail-notify = false
+
+# Page senders should be notified every Xth temporary failure.
+# (0 means 'never')
+#	Default is unset; will fall back to global option
+#tempfail-notify-after=10
+
+# How many times does a page hit a temporary error before failing forever?
+#	Default is unset; will fall back to global option
+#max-tempfail=50
+
+# Command to run after each successful or failed page, overrides global
+#	Default is unset
+#	Command gets contents of page on stdin, and 2 command line
+#	parameters:
+#		arg 1: status (0=page failed, 1=page succeeded)
+#		arg 2: page alias (who was paged)
+#
+#completion-cmd = "/usr/local/bin/page-sent"
+
+# If for some reason you need to override the default list of modems,
+# do it here.
+#	Default is all available modems.
+#modems	= sportster
+
+# If you need specific communication settings for this PC, they go here.
+#	Defaults are data=7, parity=even, stop=1, flow=rts,
+#                    baud=115200, strict-parity=false
+#data	       = 8
+#parity	       = none
+#stop	       = 1
+#flow	       = soft
+#baud	       = 9600
+#strict-parity = true
+
+# What areacode is this PC in?  If unset, the modem won't match areacodes
+#	Default is unset
+#areacode= 312
+
+# What phone number to reach this PC at.
+#	Default is "", so you better fill one in
+#phonenum= 5149243
+
+# How many pages can be sent in each session with this PC?
+#	Default is 0 (unlimited)
+#maxpages=12
+
+# How many blocks can be sent in each session with this PC?
+#	Default is 0 (unlimited)
+#maxblocks=60
+
+# How many characters can be sent in each page for this PC? (For UCP, not TAP)
+#	Default is 1024
+#maxchars=300
+
+# How many characters per block are allowed during TAP transmission?
+# The protocol normally has this at "250" (due to the 256 limit, and
+# encoding requires 6 chars).  Making this higher than 250 isn't sensible,
+# but some TAPs need it smaller.
+#	Default is "250"
+#chars-per-block=230
+
+# How many times are we allowed to split up a page that exceeds the
+# max chars limit?  (For example, if maxchars was "100" and maxsplits was
+# "5" and someone sent a 2000 character page, sendpage would generate
+# five 100-character pages before cutting off the page.)
+#	Default is "6"
+#maxsplits=2
+
+# Which TAP protocol to use.  Should be one of "PG1", "PG3", or "UCP"
+#   Regular TAP PagingCentrals are "PG1".
+#   UCP PagingCentrals will need "UCP".
+# If you had a "pet3" style PC before, this needs to be "PG3"
+#	Default is "PG1"
+#proto=PG3
+
+# How many fields does the PC expect to be getting during Block Transmission?
+# If you had a "pet3" style PC before, this needs to be "3".
+#	Default is "2"
+#fields=3
+
+# What is the password for accessing this Paging Central?
+#	Default is "000000".  Shouldn't be more than 6 characters.
+#password=123456
+
+# Should we assume strict TAP protocol, and require CR before each answer?
+# If you can set this to true, do so, as it makes textual response codes
+# easier to read.  However, very few PCs use those codes, and very few
+# PCs have correctly implemented strict TAP, so it's unlikely you want this. 
+#	Default is "false"
+#stricttap=true
+
+# Characters less than 0x20 are allowed in a block's field?
+# If you can set this, it makes pages prettier (can send tabs, newlines,
+# etc), but some PCs really don't like this.  See 'esc' and 'lfok' options.
+#	Default is "false"
+#ctrl=true
+
+# Can characters less than 0x20 be escaped, as in TAP spec 1.8?
+# If you can't set "ctrl" to true, see if this one set to true works.
+#	Default is "false"
+#esc=true
+
+# Is LF explicitly allowed by this PC? (only useful if "ctrl=false")
+# 	Default is "false"
+#lfok=true
+
+# Can fields be split across blocks?
+#	Default is "true"
+#fieldsplits=false
+
+# How many seconds to wait before sending CR when waiting for the ID= tag?
+#	Default is "2", from the T1 of the TAP protocol
+#answerwait=10
+
+# How many retries to allow before giving up waiting for the ID= tag?
+#	Default is "3", from the N3 of the TAP protocol
+#answerretries=3
+
+# How many seconds before we giving up trying to dial this PC?
+#	Default is whatever the modem's dialwait is
+#dialwait=20
+
+# How many seconds should this PC wait between queue scans?
+#	Default is "20"
+#rundelay=10
+
+
+## I have a skytel that only works in Illinois, and I've only called this
+## number from chicago, but I think it's valid as a national TAP access
+## number.
+#[pc:skytel]
+#areacode=800
+#phonenum=7596366
+#stricttap=true
+
+## I have a nextel that should work Nationally, but I've only called this
+## number from Chicago, while I was IN Chicago with the NexTel.
+#[pc:nextel]
+#areacode=312
+#phonenum=9076683
+#stricttap=true
+
+## This is the BellSouth RIM pager
+#[pc:rim-pager]
+#areacode=800
+#phonenum=868-2835
+#stricttap=true
+
+
+###################
+# Recipients
+#	This section starts with "recip".  (e.g. "[recip:cook]")
+#	Sorry this section is so clunky...
+#
+#	'email-cc' will get passed down to an expanding alias.  For
+#	example, look at the "[recip:cook]" below.  I have an email-cc,
+#	and it'll stick with the recip alias, even though it finally
+#	expands the "dest" to be "cook_ameritech".  Did that make any sense?
+#
+#	dest:		Where to send the page.  Either PIN@paging-central, or
+#			another recip name.
+#	email-cc:	Where to send an email CC of the page
+#		
+###################
+
+# My three pagers
+#[recip:cook_ameritech]
+#dest	=	1234567@ameritech
+#[recip:cook_nextel]
+#dest	=	1234567@nextel
+#[recip:cook_skytel]
+#dest	=	1234567@skytel
+#[recip:cook]
+#dest	=	cook_ameritech
+#email-cc=	cook@cpoint.net
+
+# Paul's nextel
+#[recip:pholcomb]
+#dest	=	1234567@nextel
+
+# A group alias for Paul and me
+#[recip:oncall]
+#dest	=	cook, pholcomb
+#email-cc=	qpoint@cpoint.net
--- sendpage-1.0.3.orig/debian/sendpage-client.install
+++ sendpage-1.0.3/debian/sendpage-client.install
@@ -0,0 +1,9 @@
+debian/tmp/usr/bin/email2page usr/bin
+debian/tmp/usr/bin/sendmail2snpp usr/bin
+debian/tmp/usr/bin/sendpage-db usr/bin
+debian/tmp/usr/bin/snpp usr/bin
+debian/tmp/usr/share/man/man1/snpp.*
+debian/tmp/usr/share/man/man1/sendmail2snpp.*
+debian/tmp/usr/share/man/man1/sendpage-db.*
+debian/tmp/usr/share/man/man1/email2page.*
+debian/tmp/etc/sendpage/*.conf etc/sendpage/
--- sendpage-1.0.3.orig/debian/sendpage-server.dirs
+++ sendpage-1.0.3/debian/sendpage-server.dirs
@@ -0,0 +1 @@
+var/spool/sendpage
--- sendpage-1.0.3.orig/debian/sendpage-server.prerm
+++ sendpage-1.0.3/debian/sendpage-server.prerm
@@ -0,0 +1,11 @@
+#!/bin/sh -e
+
+#DEBHELPER#
+
+# Clean up empty queue directories.  Since prerm doesn't get a "purge" call,
+# we can do this on "remove", especially since sendpage re-creates these
+# directories when it needs them.
+if [ "$1" = "remove" ]; then
+    find /var/spool/sendpage/* -maxdepth 0 -type d -print0 2>/dev/null | \
+        xargs -r0 rmdir || true
+fi
--- sendpage-1.0.3.orig/debian/sendpage-server.init
+++ sendpage-1.0.3/debian/sendpage-server.init
@@ -0,0 +1,63 @@
+#! /bin/sh
+
+### BEGIN INIT INFO
+# Provides:          sendpage-server
+# Required-Start:    $local_fs $remote_fs $network
+# Required-Stop:     $local_fs $remote_fs $network
+# Default-Start:     2 3 4 5
+# Default-Stop:      0 1 6
+# Short-Description: sendpage server to send pages to pagers
+### END INIT INFO
+
+PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
+DAEMON=/usr/sbin/sendpage
+NAME=sendpage
+DESC="Sendpage SNPP daemon"
+
+test -x $DAEMON || exit 0
+
+set -e
+
+. /lib/lsb/init-functions
+
+case "$1" in
+  start)
+	log_daemon_msg "Starting $DESC" "$NAME"
+	start-stop-daemon --start --quiet \
+		--pidfile /var/spool/$NAME/$NAME.pid \
+		--exec $DAEMON -- "-bd"
+	log_end_msg $?
+	;;
+  stop)
+	log_daemon_msg "Stopping $DESC" "$NAME"
+	start-stop-daemon --start --quiet --exec $DAEMON -- "-bs"
+	log_end_msg $?
+	;;
+  reload)
+	log_daemon_msg "Reloading $DESC" "$NAME"
+	start-stop-daemon --start --quiet \
+		--pidfile /var/spool/$NAME/$NAME.pid \
+		--exec $DAEMON -- "-br"
+	log_end_msg $?
+	;;
+  restart|force-reload)
+	log_daemon_msg "Restarting $DESC" "$NAME"
+	start-stop-daemon --start --quiet --exec $DAEMON -- "-bs"
+	start-stop-daemon --start --quiet \
+		--pidfile /var/spool/$NAME/$NAME.pid \
+		--exec $DAEMON -- "-bd"
+	log_end_msg $?
+	;;
+  status)
+	start-stop-daemon --start --quiet \
+		--pidfile /var/spool/$NAME/$NAME.pid \
+		--exec $DAEMON -- "-bq"
+	;;
+  *)
+	N=/etc/init.d/$NAME
+	echo "Usage: $N {start|stop|status|restart|reload|force-reload}" >&2
+	exit 1
+	;;
+esac
+
+exit 0
--- sendpage-1.0.3.orig/debian/rules
+++ sendpage-1.0.3/debian/rules
@@ -0,0 +1,69 @@
+#!/usr/bin/make -f
+
+include /usr/share/quilt/quilt.make
+
+ifndef PERL
+PERL=/usr/bin/perl
+endif
+archlib	= `$(PERL) -e 'use Config; print $Config{installarchlib}'`
+config	= 	INSTALLDIRS=vendor \
+		DESTDIR=$(CURDIR)/debian/tmp
+
+
+build: $(QUILT_STAMPFN) build-stamp
+build-stamp:
+	dh_testdir
+
+	$(PERL) Makefile.PL INSTALLDIRS=vendor
+	$(MAKE) OPTIMIZE="-O2 -g -Wall"
+
+	touch build-stamp
+
+clean: clean-patched unpatch
+clean-patched:
+	dh_testdir
+	dh_testroot
+	dh_clean
+
+	[ ! -e Makefile ] || $(MAKE) -i distclean
+
+	rm -f build-stamp configure-stamp
+
+install: build
+	dh_testdir
+	dh_testroot
+	dh_installdirs
+	$(MAKE) install  DESTDIR=$(CURDIR)/debian/tmp
+	find $(shell pwd) -type f -name .packlist | xargs -r rm -f
+
+	install -m 644 -D sendpage.cf $(CURDIR)/debian/tmp/etc/sendpage/sendpage.cf
+	install -m 644 -D snpp.conf $(CURDIR)/debian/tmp/etc/sendpage/snpp.conf
+	install -m 644 -D email2page.conf $(CURDIR)/debian/tmp/etc/sendpage/email2page.conf
+
+
+# Build architecture-independent files here.
+binary-indep: build install
+	dh_testdir
+	dh_testroot
+	dh_perl -i
+	dh_install
+	dh_installdebconf -i
+	dh_installinit
+	dh_installdeb
+	dh_installchangelogs -p sendpage-common Changes
+	dh_link -p sendpage-client usr/share/doc/sendpage-common usr/share/doc/sendpage-client
+	dh_link -p sendpage-server usr/share/doc/sendpage-common usr/share/doc/sendpage-server
+	dh_installdocs  -p sendpage-common
+	dh_installinit -p sendpage-server debian/sendpage-server.init
+	dh_installexamples -p sendpage-common sendpage.cf
+	dh_fixperms -i
+	dh_compress -i
+	dh_gencontrol -i
+	dh_md5sums -i
+	dh_builddeb -i
+
+# Build architecture-dependent files here.
+binary-arch: build install
+
+binary: binary-indep binary-arch
+.PHONY: build clean binary-indep binary-arch binary install configure clean-patched
--- sendpage-1.0.3.orig/debian/sendpage-client.docs
+++ sendpage-1.0.3/debian/sendpage-client.docs
@@ -0,0 +1,2 @@
+README
+TODO
--- sendpage-1.0.3.orig/debian/sendpage-server.install
+++ sendpage-1.0.3/debian/sendpage-server.install
@@ -0,0 +1,3 @@
+debian/sendpage.cf etc/sendpage/
+debian/tmp/usr/bin/sendpage usr/sbin/
+debian/tmp/usr/share/man/man1/sendpage.* usr/share/man/man1/
--- sendpage-1.0.3.orig/debian/control
+++ sendpage-1.0.3/debian/control
@@ -0,0 +1,50 @@
+Source: sendpage
+Section: comm
+Priority: extra
+Maintainer: Kees Cook <kees@debian.org>
+Build-Depends: debhelper (>= 6.0.0), quilt
+Build-Depends-Indep: perl (>= 5.6.1-6), libdevice-serialport-perl (>= 1.04), libmailtools-perl (>= 1.40), libnet-perl, libnet-snpp-perl, libdbi-perl
+Standards-Version: 3.8.1
+Homepage: http://sendpage.org/
+Vcs-Svn: https://sendpage.svn.sourceforge.net/svnroot/sendpage
+Vcs-Browser: http://sendpage.svn.sourceforge.net/viewvc/sendpage/sendpage/
+
+Package: sendpage-server
+Architecture: all
+Suggests: postfix | mail-transport-agent, sendpage-client
+Depends: ${misc:Depends},${perl:Depends}, sendpage-common (= ${binary:Version}), adduser
+Description: server used to queue and send alpha-numeric text pages via TAP
+ To send alphanumeric pages to a pager, if an email gateway is unavailable 
+ or undesirable, software is needed to control a modem which will dial a
+ Paging Central, and deliver the pages using an ASCII delivery system known 
+ as TAP. Sendpage implements all aspects of this type of software,
+ including an SNPP client, an SNPP server, a queuing engine, a modem 
+ control engine, a TAP communication system, and an email notification system.
+ .
+ This package provides the sendpage SNPP server.
+
+Package: sendpage-client
+Architecture: all
+Depends: ${misc:Depends}, ${perl:Depends}, sendpage-common (= ${binary:Version})
+Description: client to send alpha-numeric text pages via SNPP
+ To send alphanumeric pages to a pager, if an email gateway is unavailable
+ or undesirable, software is needed to control a modem which will dial a
+ Paging Central, and deliver the pages using an ASCII delivery system known
+ as TAP. Sendpage implements all aspects of this type of software,
+ including an SNPP client, an SNPP server, a queuing engine, a modem
+ control engine, a TAP communication system, and an email notification system.
+ .
+ This package provides the sendpage SNPP client.
+
+Package: sendpage-common
+Architecture: all
+Depends: ${misc:Pre-Depends}, ${misc:Depends}, ${perl:Depends}, libdevice-serialport-perl (>= 1.04), libmailtools-perl (>= 1.40-1), libnet-perl, libnet-snpp-perl, libdbi-perl
+Description: common libraries used to handle alpha-numeric text paging
+ To send alphanumeric pages to a pager, if an email gateway is unavailable
+ or undesirable, software is needed to control a modem which will dial a
+ Paging Central, and deliver the pages using an ASCII delivery system known
+ as TAP. Sendpage implements all aspects of this type of software,
+ including an SNPP client, an SNPP server, a queuing engine, a modem
+ control engine, a TAP communication system, and an email notification system.
+ .
+ This package provides the Perl modules used to process SNPP and TAP pages.
--- sendpage-1.0.3.orig/debian/changelog
+++ sendpage-1.0.3/debian/changelog
@@ -0,0 +1,119 @@
+sendpage (1.0.3-1) unstable; urgency=low
+
+  * New upstream release (Closes: #458951).
+  * debian/control:
+    - take over maintainership with permission from prior maintainer.
+    - add new libdbi-perl dependency.
+    - bump Standards-Version to 3.8.1:
+      - update Source-Version to binary:Version.
+      - add Homepage field.
+      - move mta to Suggests, switch to postfix from exim4.
+      - move Depends around to reduce redundancy.
+      - add Vcs-* fields.
+      - add debian/README.source for quilt.
+  * debian/rules:
+    - general clean-ups, dh 6 capabilities.
+    - switch to using .install files.
+    - switch to using quilt for patch management.
+  * debian/sendpage.init:
+    - switch to using LSB log messages.
+    - support "status" command.
+    - handle unconfigured modems during init (LP: #62807).
+  * sendpage:
+    - have status return sane exit code, based on running daemons.
+    - fix up defaults to run correctly on Debian (user "sendpage", groups
+      "tty" and "dialout").
+  * debian/sendpage.cf: merge with upstream changes/additions.
+  * maintainer scripts: general cleanup, move from "daemon" user to more
+    isolated "sendpage" user (Closes: #313646).
+  * sendmail2snpp: replace with safer shell version with same functionality.
+
+ -- Kees Cook <kees@debian.org>  Tue, 19 May 2009 07:08:10 -0700
+
+sendpage (0.9.14.dfsg-0.2) unstable; urgency=low
+
+  * Non-maintainer upload to fix longstanding l10n issues
+  * Remove debconf templates that are completely useless and abuse
+    This "closes" the translation updates
+    Closes: #333715, #345529
+    This also fixes the debconf dependency issue
+    Closes: #332092
+  * Remove the update-rc.d call in postinst (handled by #DEBHELPER)
+    Closes: #367758
+  * Lintian fixes:
+    - remove the conffiles file which only lists one file in /etc
+    - add crude LSB headers to the init script for sendpage-server
+
+ -- Christian Perrier <bubulle@debian.org>  Thu, 23 Nov 2006 19:21:13 +0100
+
+sendpage (0.9.14.dfsg-0.1) unstable; urgency=high
+
+  * Non-maintainer upload.
+  * Prune docs/rfc1861.txt from the tarball. (Closes: #365168).
+  * Bump Standards-Version to 3.7.2.
+  * Fix mail-transport-agent Recomends, propose exim also.
+  * Move debhelper to Build-Depends.
+  * Bump DH_COMPAT to 4:
+    + remove files already marks as conffiles from debian/*.conffile.
+    + avoid to call /etc/init.d scripts directly, let dh_installinit do its job.
+
+  * urgency set to high due to RC bug fix.
+
+ -- Pierre Habouzit <madcoder@debian.org>  Sat,  3 Jun 2006 22:05:17 +0200
+
+sendpage (0.9.14-5) unstable; urgency=low
+
+  * Added japanese translation (Closes: #310161)
+  * Added vietnamese translation (Closes: #317993)
+
+ -- Preston Smith <psmith@physics.purdue.edu>  Mon, 18 Jul 2005 10:10:47 -0500
+
+sendpage (0.9.14-4) unstable; urgency=low
+
+  * Added czech translation (Closes: #288018)
+  * Added german translation (Closes: #280058)
+
+ -- Preston Smith <psmith@foobird.net>  Sun,  9 Jan 2005 20:40:52 -0500
+
+sendpage (0.9.14-3) unstable; urgency=low
+
+  * Added catalan translation for debconf (Closes: #236642)
+
+ -- Preston Smith <psmith@physics.purdue.edu>  Mon,  8 Mar 2004 08:46:05 -0500
+
+sendpage (0.9.14-2) unstable; urgency=low
+
+  * sendmail2snpp script was for some reason not in sendpage-client. Fixed.
+    (Closes: #233930)
+
+ -- Preston Smith <psmith@physics.purdue.edu>  Fri, 20 Feb 2004 15:04:45 -0500
+
+sendpage (0.9.14-1) unstable; urgency=low
+
+  * New upstream version.
+  * Switched to getttext based Debconf templates. (Closes: #203042)
+  * Updated to Standards Version 3.6.0
+  * Added French template (Closes: #203043)
+
+ -- Preston Smith <psmith@physics.purdue.edu>  Tue, 29 Jul 2003 21:49:01 -0500
+
+sendpage (0.9.13-3) unstable; urgency=low
+
+  * Updated to Standards-version 3.5.7
+  * Fixed priority, changed to 'extra' to satisfy debcheck. (was 'optional',
+    but depended on libdevice-serialport-perl in 'extra')
+
+ -- Preston Smith <psmith@physics.purdue.edu>  Fri, 15 Nov 2002 13:24:22 -0500
+
+sendpage (0.9.13-2) unstable; urgency=low
+
+  * Fixed error in config script that would cause installation failures
+    if sendpage-server isn't installed. (Closes: #153086)
+
+ -- Preston Smith <psmith@schwinger.physics.purdue.edu>  Fri, 15 Nov 2002 13:15:45 -0500
+
+sendpage (0.9.13-1) unstable; urgency=low
+
+  * Initial Release.
+
+ -- Preston Smith <psmith@foobird.net>  Mon, 11 Mar 2002 20:48:57 -0500
--- sendpage-1.0.3.orig/debian/sendmail2snpp
+++ sendpage-1.0.3/debian/sendmail2snpp
@@ -0,0 +1,38 @@
+#!/usr/bin/perl
+
+eval 'exec /usr/bin/perl  -S $0 ${1+"$@"}'
+    if 0; # not running under some shell
+#
+# quick script for sending pages through sendmail
+#
+# $Id: sendmail2snpp,v 1.3 2001/03/01 21:43:20 nemies Exp $
+#
+# Copyright (C) 2000,2001 Kees Cook
+# cook@cpoint.net, http://outflux.net/
+#
+# 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
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+# http://www.gnu.org/copyleft/gpl.html
+
+# to tee off the pages, use this:
+#$cmd="tee /tmp/page.$$ | email2page | snpp ".join(" ",@ARGV);
+$cmd="email2page | snpp ".join(" ",@ARGV);
+system($cmd);
+exit ($?>>8);
+
+#
+# This is really the same as a shell script doing the following:
+#
+#	email2page | snpp "$@"
+#
--- sendpage-1.0.3.orig/debian/copyright
+++ sendpage-1.0.3/debian/copyright
@@ -0,0 +1,15 @@
+This is the Debian package of "sendpage", a SNPP client and server.
+It was originally packaged by Preston Smith <psmith@foobird.net> on
+Thu, 29 Mar 2001 20:48:57 -0500, updated by Kees Cook <kees@debian.org>
+on Sat, 16 Aug 2008 11:41:12 -0700.
+
+The package has a home page at http://sendpage.org/
+
+Upstream Author is Kees Cook <kees@outflux.net>
+
+Copyright (C) 2000-2009 Kees Cook <kees@outflux.net>
+
+License:
+
+Sendpage is licensed under the GPL, which can be found in 
+/usr/share/common-licenses/GPL
--- sendpage-1.0.3.orig/debian/sendpage-common.docs
+++ sendpage-1.0.3/debian/sendpage-common.docs
@@ -0,0 +1,5 @@
+README
+FEATURES
+THANKS
+TODO
+docs/
--- sendpage-1.0.3.orig/debian/sendpage-server.postrm
+++ sendpage-1.0.3/debian/sendpage-server.postrm
@@ -0,0 +1,9 @@
+#!/bin/sh -e
+
+#DEBHELPER#
+
+# Clean up installed user and group
+if [ "$1" = "purge" ]; then
+    deluser --quiet --system sendpage >/dev/null || true
+    delgroup --quiet --system sendpage >/dev/null || true
+fi
--- sendpage-1.0.3.orig/debian/sendpage.cf.example
+++ sendpage-1.0.3/debian/sendpage.cf.example
@@ -0,0 +1,468 @@
+##############################################################################
+#                                 sendpage.cf                                #
+##############################################################################
+#
+# There are four majors sections:
+#	- global	Any global settings
+#	- "modem"	Each modem's settings
+#	- "pc"		Each Paging Central's settings
+#	- "recip"	Each recipient name's settings
+#
+# Except for global, each section starts with the section name in
+# []'s.  So, to define a modem named "sportster", the section name
+# would be "[modem:sportster]", and all of the sportster's settings
+# would follow.
+#
+# section names cannot have "=", "@", or ":" in their text.
+#
+# For each major section, I go through all the default values
+# and their variable names.  If you don't like a default value,
+# just comment in the variable name, and change the value to something
+# else.
+#
+
+
+
+#############################
+# global section
+#############################
+# queue & manager-level debugging.  Default is "false"
+#
+#debug=true
+
+# select-loop debugging.  Default is "false"
+#	Leave this as it is unless you're digging around in the select
+#	loop code.  It is VERY annoying.  :)
+#
+#debug-select=true
+
+# SNPP activity debugging.  Default is "false"
+#
+#debug-snpp=true
+
+# alias-expansion debugging.  Default is "false"
+#
+#alias-debug=true
+
+# Filename prefix for writing process ID files.
+# 	Default is "/var/spool/sendpage/sendpage"
+#
+#pidfileprefix = /tmp/var/spool/sendpage/sendpage
+
+# Filename prefix for writing UUCP-style device locks.
+#	Default is "/var/lock/LCK.."
+#
+#lockprefix = /tmp/var/lock/LCK..
+
+# Directory to store Paging Central pager queues
+#	Default is "/var/spool/sendpage"
+#
+queuedir = /var/spool/sendpage
+
+# Username that sendpage should be running as.
+#	Default is "sendpage"
+user = daemon
+
+# Group sendpage needs to lock devices.  
+#	Default is "uucp"
+group-lock=dialout
+
+# Group sendpage needs to read/write devices.
+#	Default is "tty"
+#group-tty=users
+
+# Email address that page emails claims to be coming from.
+#	Default is "sendpage"
+#
+#page-daemon = nemesis@outflux.net
+
+# Will page-daemon be Cc'd on email failures?
+#	Default is "true"
+cc-on-error = false
+
+# By which mechanism should email be delivered?  mail, sendmail, or SMTP?
+#	Default is "sendmail"
+mail-agent = sendmail
+
+# Should page senders be notified about permanent failures?
+#	Default is "true"
+#fail-notify = false
+
+# Page senders should be notified every Xth temporary failure.
+# (0 means 'never')
+#	Default is "5".
+#tempfail-notify-after=10
+
+# How many times does a page hit a temporary error before failing forever?
+#	Default is "20"
+#max-tempfail=50
+
+# Should syslog be used instead of STDERR for logging?
+#	Default is "true"
+#syslog=false
+
+# When using syslog, which syslog options should be used?
+# (any of "pid", "ndelay", "cons", or "nowait")
+#	Default is "pid"
+#syslog-opt= pid, cons
+
+# Which syslog facility should be used?  man syslog for more info
+#	Default is "local6"
+#syslog-facility=local4
+
+# What port sendpage binds to for the SNPP server.
+#	Default is "444"
+#snpp-port=3044
+
+# What local address sendpage binds the SNPP server to.  
+#   *NOTE*
+#	You should set this to "0.0.0.0" if you want to receive pages from
+#	the rest of the world.
+#
+#	You can use this to limit which IP address SNPP is bound to.
+#   *NOTE*
+#
+#	Default is "localhost"
+#snpp-addr=0.0.0.0
+
+# What to do about incoming SNPP requests (multiple entries allowed)
+#   *NOTE*
+#	You should set this to "0.0.0.0/0.0.0.0:ALLOW" if you want
+#	anyone to connect to your SNPP server.
+#   *NOTE*
+#
+#	Format is "NET/MASK:WAY" where WAY is either "ALLOW" or "DENY"
+#
+#	ACL processing is done top to bottom, and if no match occurs,
+#	the connection is rejected.
+#
+#	Default is "127.0.0.1/255.255.255.255:ALLOW"
+#snpp-acl="128.174.5.0/255.255.255.0:ALLOW"
+#snpp-acl="128.23.1.10/255.255.255.255:DENY"
+#snpp-acl="128.23.1.0/255.255.255.0:ALLOW"
+
+# List of modems a PC should use if not told explicitly.
+#	Default is all available modems.
+#
+#modems = sportster
+
+# Default domain for email-cc (not implemented yet)
+#fallback-email-domain	=	@cpoint.net
+
+# Command to run after each successful or failed page
+#	Default is unset
+#	Command gets contents of page on stdin, and 2 command line
+#	parameters:
+#		arg 1: status (0=page failed, 1=page succeeded)
+#		arg 2: page alias (who was paged)
+#
+#completion-cmd = "/usr/local/bin/page-sent"
+
+######################
+# modem configuration
+# 	Each section should be called "modem".  (e.g.  "[modem:sportster]")
+######################
+
+# My first "modem" section.  I named it "sportster" because that's what it is
+[modem:sportster]
+# Should this modem's character-level debugging be turned on?
+#	Default is "false"
+#debug	= true
+
+# This modem's transmission settings.
+#	Defaults are data=7, parity=even, stop=1, flow=rts, baud=9600
+#data	= 8
+#parity	= none
+#stop	= 1
+#flow   = soft
+#baud   = 38400
+
+# Which device this modem should use
+#	Default is "/dev/null", so you better specify one.  :)
+dev	= /dev/ttyS0
+
+# This modem's initialization string
+#	Default is "ATZ"
+#init   = ATE&1
+
+# This modem's "okay" response string (this is a regexp)
+#	Default is "OK"
+#initok = 0
+
+# What to look for if something has gone wrong while init'ing (this is a regexp)
+#	Default is "ERROR"
+#error=1
+
+# How many seconds to wait for initok after init with this modem
+#	Default is "4"
+#initwait=1
+
+# How many times to try to initialize the modem
+#	Default is "2"
+#initretries=1
+
+# The dialing prefix for this modem
+#	Default is "ATDT"
+#dial=ATDP
+
+# The telephone prefix to get a dialtone out of the building (for PBXs, etc)
+#	Default is ""
+#dialout="9,"
+
+# The areacode this modem has (for figuring areacode matches with PCs)
+#	Default is unset
+#areacode="847"
+
+# The dialing prefix for dialing long distance calls (some PBXs do weird stuff)
+#	Default is "1-"
+#longdist="81"
+
+# What to look for after connecting successfully (this is a regexp)
+#	Default is "CONNECT.*\r"
+#dialok=0
+
+# What to look for if something goes wrong while dialing (this is a regexp)
+#	Default is "ERROR|NO CARRIER|BUSY|NO DIAL|VOICE"
+#no-carrier=ERROR
+
+# How many seconds to wait for dialing to connect
+#	Default is "60"
+#dialwait=30
+
+# How many times to try and redial (unimplemented, actually...)
+#	Default is "3"
+#dialretries=1
+
+# How should "carrier detection" be done?  "on", "off", "dsr"
+# "DSR" can be used when a cable or OS doesn't correctly provide CD
+#	Default is "on"
+#carrier-detect=dsr
+
+# How many seconds should the DTR be held down during initialization?
+#	Default is "0.5"
+#dtrtime=1.5
+
+
+## As an example, this is what a directly attached paging terminal
+## might look like:
+##
+#[modem:direct]
+#carrier-detect=off
+#dtrtime=0
+#init=""
+#initok=""
+#dial=""
+#dialok=""
+#dev=/dev/serial
+
+
+#########################
+# Paging central section
+#	each section should be called "pc" (e.g. "[pc:ameritech]")
+#########################
+# I have an ameritech pager.  It actually works in the entire state,
+# so I should dig up the Champaign/Urbana PC info.  For now, this is the
+# chicago access number
+[pc:ameritech]
+# Is this PC enabled?  Set to false to stop processing a PC, for example
+#	Default is "true"
+#enabled= false
+
+# This PC's protocol-level debugging.
+#	Default is "false"
+#debug	= true
+
+# Email address that page emails claims to be coming from.
+#	Default is unset, and will fall back to the global "page-daemon" setting
+#
+#page-daemon = someone@other.place
+
+# Will page-daemon be Cc'd on email failures for this PC?
+#	Default is unset, and will fall back to global "cc-on-error" setting
+#cc-on-error = true
+
+# Should page senders be notified about permanent failures?
+#	Default is unset; will fall back to global option
+#fail-notify = false
+
+# Page senders should be notified every Xth temporary failure.
+# (0 means 'never')
+#	Default is unset; will fall back to global option
+#tempfail-notify-after=10
+
+# How many times does a page hit a temporary error before failing forever?
+#	Default is unset; will fall back to global option
+#max-tempfail=50
+
+# Command to run after each successful or failed page, overrides global
+#	Default is unset
+#	Command gets contents of page on stdin, and 2 command line
+#	parameters:
+#		arg 1: status (0=page failed, 1=page succeeded)
+#		arg 2: page alias (who was paged)
+#
+#completion-cmd = "/usr/local/bin/page-sent"
+
+# If for some reason you need to override the default list of modems,
+# do it here.
+#	Default is all available modems.
+#modems	= sportster
+
+# If you need specific communication settings for this PC, they go here.
+#	Defaults are data=7, parity=even, stop=1, flow=rts, baud=115200
+#data	= 8
+#parity	= none
+#stop	= 1
+#flow	= soft
+#baud	= 9600
+
+# What areacode is this PC in?  If unset, the modem won't match areacodes
+#	Default is unset
+areacode= 312
+
+# What phone number to reach this PC at.
+#	Default is "", so you better fill one in
+phonenum= 5149243
+
+# How many pages can be sent in each session with this PC?
+#	Default is 0 (unlimited)
+#maxpages=12
+
+# How many blocks can be sent in each session with this PC?
+#	Default is 0 (unlimited)
+#maxblocks=60
+
+# How many characters can be sent in each page for this PC?
+#	Default is 1024
+maxchars=300
+
+# How many times are we allowed to split up a page that exceeds the
+# max chars limit?  (For example, if maxchars was "100" and maxsplits was
+# "5" and someone sent a 2000 character page, sendpage would generate
+# five 100-character pages before cutting off the page.)
+#	Default is "6"
+#maxsplits=2
+
+# Which TAP protocol to use.  Should be either "PG1" or "PG3".  Most are "PG1".
+# If you had a "pet3" style PC before, this needs to be "PG3"
+#	Default is "PG1"
+#proto=PG3
+
+# How many fields does the PC expect to be getting during Block Transmission?
+# If you had a "pet3" style PC before, this needs to be "3".
+#	Default is "2"
+#fields=3
+
+# What is the password for accessing this Paging Central?
+#	Default is "000000".  Shouldn't be more than 6 characters.
+#password=123456
+
+# Should we assume strict TAP protocol, and require CR before each answer?
+# If you can set this to true, do so, as it makes textual response codes
+# easier to read.  However, very few PCs use those codes, and very few
+# PCs have correctly implemented strict TAP, so it's unlikely you want this. 
+#	Default is "false"
+#stricttap=true
+
+# Characters less than 0x20 are allowed in a block's field?
+# If you can set this, it makes pages prettier (can send tabs, newlines,
+# etc), but some PCs really don't like this.  See 'esc' and 'lfok' options.
+#	Default is "false"
+#ctrl=true
+
+# Can characters less than 0x20 be escaped, as in TAP spec 1.8?
+# If you can't set "ctrl" to true, see if this one set to true works.
+#	Default is "false"
+#esc=true
+
+# Is LF explicitly allowed by this PC? (only useful if "ctrl=false")
+# 	Default is "false"
+#lfok=true
+
+# Can fields be split across blocks?
+#	Default is "true"
+#fieldsplits=false
+
+# How many seconds to wait before sending CR when waiting for the ID= tag?
+#	Default is "2", from the T1 of the TAP protocol
+#answerwait=10
+
+# How many retries to allow before giving up waiting for the ID= tag?
+#	Default is "3", from the N3 of the TAP protocol
+#answerretries=3
+
+# How many seconds before we giving up trying to dial this PC?
+#	Default is whatever the modem's dialwait is
+#dialwait=20
+
+# How many seconds should this PC wait between queue scans?
+#	Default is "20"
+#rundelay=10
+
+
+# I have a skytel that only works in Illinois, and I've only called this
+# number from chicago, but I think it's valid as a national TAP access
+# number.
+[pc:skytel]
+areacode=800
+phonenum=7596366
+stricttap=true
+
+# I have a nextel that should work Nationally, but I've only called this
+# number from Chicago, while I was IN Chicago with the NexTel.
+[pc:nextel]
+areacode=312
+phonenum=9076683
+stricttap=true
+
+# This is the BellSouth RIM pager
+[pc:rim-pager]
+areacode=800
+phonenum=868-2835
+stricttap=true
+
+
+###################
+# Recipients
+#	This section starts with "recip".  (e.g. "[recip:cook]")
+#	Sorry this section is so clunky...
+#
+#	'email-cc' will get passed down to an expanding alias.  For
+#	example, look at the "[recip:cook]" below.  I have an email-cc,
+#	and it'll stick with the recip alias, even though it finally
+#	expands the "dest" to be "cook_ameritech".  Did that make any sense?
+#
+#	dest:		Where to send the page.  Either PIN@paging-central, or
+#			another recip name.
+#	email-cc:	Where to send an email CC of the page
+#		
+###################
+
+# My three pagers
+[recip:cook_ameritech]
+dest	=	1234567@ameritech
+[recip:cook_nextel]
+dest	=	1234567@nextel
+[recip:cook_skytel]
+dest	=	1234567@skytel
+[recip:cook]
+dest	=	cook_ameritech
+email-cc=	cook@cpoint.net
+
+# Paul's nextel
+[recip:pholcomb]
+dest	=	1234567@nextel
+
+# Kirsten's ameritech pager
+[recip:kirsten]
+dest	=	1234567@ameritech
+email-cc=	dragon@blight.com
+
+# Christian's RIM pager
+[recip:cvoid]
+dest	=	1234567@rim-pager
+
+# A group alias for Paul and me
+[recip:oncall]
+dest	=	cook, pholcomb
+email-cc=	cpoint@cpoint.net
--- sendpage-1.0.3.orig/debian/sendpage-client.dirs
+++ sendpage-1.0.3/debian/sendpage-client.dirs
@@ -0,0 +1,2 @@
+usr/bin
+etc/sendpage
--- sendpage-1.0.3.orig/debian/sendpage-server.docs
+++ sendpage-1.0.3/debian/sendpage-server.docs
@@ -0,0 +1,2 @@
+README
+TODO
--- sendpage-1.0.3.orig/debian/README.Debian
+++ sendpage-1.0.3/debian/README.Debian
@@ -0,0 +1,13 @@
+sendpage for Debian
+-------------------
+
+Mostly, the things you'll need to change are the serial port, phone
+number for the paging central, and your recipient. The default file is
+heavily commented, and should be able to help you get a good start.
+
+A list of Paging Centrals can be found at
+/usr/share/doc/sendpage-common/docs/PagingCentrals.txt.gz
+
+For examples and docs, check /usr/share/doc/sendpage-common.
+
+Kees Cook <kees@debian.org>
--- sendpage-1.0.3.orig/debian/sendpage-common.prerm
+++ sendpage-1.0.3/debian/sendpage-common.prerm
@@ -0,0 +1,7 @@
+#!/bin/sh -e
+
+if [ \( "$1" = "upgrade" -o "$1" = "remove" \) -a -L /usr/doc/sendpage-common ]; then
+	rm -f /usr/doc/sendpage-common
+fi
+
+#DEBHELPER#
--- sendpage-1.0.3.orig/debian/sendpage-common.install
+++ sendpage-1.0.3/debian/sendpage-common.install
@@ -0,0 +1,2 @@
+debian/tmp/usr/share/perl5
+debian/tmp/usr/share/man/man3
--- sendpage-1.0.3.orig/debian/compat
+++ sendpage-1.0.3/debian/compat
@@ -0,0 +1 @@
+6
--- sendpage-1.0.3.orig/debian/sendpage-server.postinst
+++ sendpage-1.0.3/debian/sendpage-server.postinst
@@ -0,0 +1,24 @@
+#!/bin/sh -e
+
+if [ "$1" = "configure" ]; then
+    # add the sendpage group
+    if ! getent group sendpage >/dev/null; then
+        addgroup --quiet --system sendpage
+    fi
+    # add the sendpage user
+    if ! getent passwd sendpage >/dev/null; then
+        adduser --quiet --system --disabled-password --ingroup sendpage \
+            --gecos "Sendpage SNPP Daemon" \
+            --home /var/spool/sendpage --no-create-home sendpage
+    fi
+
+    # chown files as needed
+    if [ -d /var/spool/sendpage ]; then
+        chown -R sendpage:sendpage /var/spool/sendpage
+        chmod 0700 /var/spool/sendpage
+    fi
+fi
+
+#DEBHELPER#
+
+exit 0
--- sendpage-1.0.3.orig/debian/README.source
+++ sendpage-1.0.3/debian/README.source
@@ -0,0 +1,57 @@
+This package uses quilt to manage all modifications to the upstream
+source.  Changes are stored in the source package as diffs in
+debian/patches and applied during the build.
+
+To configure quilt to use debian/patches instead of patches, you want
+either to export QUILT_PATCHES=debian/patches in your environment
+or use this snippet in your ~/.quiltrc:
+
+    for where in ./ ../ ../../ ../../../ ../../../../ ../../../../../; do
+        if [ -e ${where}debian/rules -a -d ${where}debian/patches ]; then
+                export QUILT_PATCHES=debian/patches
+        fi
+    done
+
+To get the fully patched source after unpacking the source package, cd to
+the root level of the source package and run:
+
+    quilt push -a
+
+The last patch listed in debian/patches/series will become the current
+patch.
+
+To add a new set of changes, first run quilt push -a, and then run:
+
+    quilt new <patch>
+
+where <patch> is a descriptive name for the patch, used as the filename in
+debian/patches.  Then, for every file that will be modified by this patch,
+run:
+
+    quilt add <file>
+
+before editing those files.  You must tell quilt with quilt add what files
+will be part of the patch before making changes or quilt will not work
+properly.  After editing the files, run:
+
+    quilt refresh
+
+to save the results as a patch.
+
+Alternately, if you already have an external patch and you just want to
+add it to the build system, run quilt push -a and then:
+
+    quilt import -P <patch> /path/to/patch
+    quilt push -a
+
+(add -p 0 to quilt import if needed). <patch> as above is the filename to
+use in debian/patches.  The last quilt push -a will apply the patch to
+make sure it works properly.
+
+To remove an existing patch from the list of patches that will be applied,
+run:
+
+    quilt delete <patch>
+
+You may need to run quilt pop -a to unapply patches first before running
+this command.
--- sendpage-1.0.3.orig/debian/patches/safe-shell-exec.patch
+++ sendpage-1.0.3/debian/patches/safe-shell-exec.patch
@@ -0,0 +1,38 @@
+Index: sendpage-1.0.3/sendmail2snpp
+===================================================================
+--- sendpage-1.0.3.orig/sendmail2snpp	2008-08-16 19:24:52.000000000 -0700
++++ sendpage-1.0.3/sendmail2snpp	2008-08-16 19:25:49.000000000 -0700
+@@ -1,4 +1,4 @@
+-#!/usr/local/bin/perl
++#!/bin/sh
+ #
+ # quick script for sending pages through sendmail
+ #
+@@ -22,6 +22,11 @@
+ # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+ # http://www.gnu.org/copyleft/gpl.html
+ 
++email2page | snpp -- "$@"
++exit $?
++
++cat >/dev/null <<EOF
++
+ =head1 NAME
+ 
+ sendmail2snpp - converts sendmail messages into a page
+@@ -50,14 +55,4 @@
+ 
+ =cut
+ 
+-# to tee off the pages, use this:
+-#$cmd="tee /tmp/page.$$ | email2page | snpp ".join(" ",@ARGV);
+-$cmd="email2page | snpp ".join(" ",@ARGV);
+-system($cmd);
+-exit ($?>>8);
+-
+-#
+-# This is really the same as a shell script doing the following:
+-#
+-#	email2page | snpp "$@"
+-#
++EOF
--- sendpage-1.0.3.orig/debian/patches/debian-config.patch
+++ sendpage-1.0.3/debian/patches/debian-config.patch
@@ -0,0 +1,151 @@
+Index: sendpage-1.0.3/email2page
+===================================================================
+--- sendpage-1.0.3.orig/email2page	2008-08-16 19:17:39.000000000 -0700
++++ sendpage-1.0.3/email2page	2008-08-16 19:17:45.000000000 -0700
+@@ -1,4 +1,4 @@
+-#!/usr/local/bin/perl
++#!/usr/bin/perl
+ #
+ # tool designed to re-write emails into pages
+ #
+@@ -36,7 +36,7 @@
+ 
+ =item -C CONF
+ 
+-Read the configuration file CONF instead of /etc/email2page.conf for the
++Read the configuration file CONF instead of /etc/sendpage/email2page.conf for the
+ rewriting rules.
+ 
+ =item -h
+@@ -49,7 +49,7 @@
+ =head1 DESCRIPTION
+ 
+ This tool is used to break down an email into a shortened version, using
+-a configurable set of rewriting rules, found in /etc/email2page.conf.
++a configurable set of rewriting rules, found in /etc/sendpage/email2page.conf.
+ email2page reads STDIN, and writes to STDOUT.  Any errors will be reported
+ on STDERR.  It was designed to be used with 'sendpage'.
+ 
+@@ -61,7 +61,7 @@
+ 
+ All the bugs with the program will probably come from the config file, as
+ several of the items are run with Perl's 'eval' statement.  Please see the
+-documentation in the /etc/email2page.conf file.
++documentation in the /etc/sendpage/email2page.conf file.
+ 
+ =head1 COPYRIGHT
+ 
+@@ -90,7 +90,7 @@
+ Parses an email message based on the values of the conf file.  Reads stdin
+ and produces results to stdout.
+ 
+--C CONF             read CONF instead of /etc/email2page.conf
++-C CONF             read CONF instead of /etc/sendpage/email2page.conf
+ -h                  you're reading it already.  :)
+ 
+ ";
+@@ -109,7 +109,7 @@
+         Usage();
+ }
+ 
+-$opts{C}="/etc/email2page.conf" unless ($opts{C});
++$opts{C}="/etc/sendpage/email2page.conf" unless ($opts{C});
+ 
+ $fh = new IO::File $opts{C}, "r";
+ if (!defined($fh)) {
+Index: sendpage-1.0.3/sendpage
+===================================================================
+--- sendpage-1.0.3.orig/sendpage	2008-08-16 19:17:42.000000000 -0700
++++ sendpage-1.0.3/sendpage	2008-08-16 19:23:23.000000000 -0700
+@@ -79,7 +79,7 @@
+ 
+ =item -C FILE
+ 
+-Read the configuration file FILE instead of the default /etc/sendpage.cf
++Read the configuration file FILE instead of the default /etc/sendpage/sendpage.cf
+ 
+ =item -h
+ 
+@@ -87,7 +87,7 @@
+ 
+ =item -d
+ 
+-Turn on debugging (like "debug=true" in /etc/sendpage.cf)
++Turn on debugging (like "debug=true" in /etc/sendpage/sendpage.cf)
+ 
+ =item -f USER
+ 
+@@ -116,7 +116,7 @@
+ 
+ =over 4
+ 
+-=item F</etc/sendpage.cf>
++=item F</etc/sendpage/sendpage.cf>
+ 
+ Default location for sendpage.cf, which holds all the configuration
+ information for sendpage, including Paging Central definitions,
+@@ -1593,13 +1593,13 @@
+ $config->define("dbuser", { DEFAULT => "" });
+ $config->define("dbpass", { DEFAULT => "" });
+ $config->define("dbtable", { DEFAULT => "" });
+-$config->define("cfgfile",   { DEFAULT => "/etc/sendpage.cf" });
++$config->define("cfgfile",   { DEFAULT => "/etc/sendpage/sendpage.cf" });
+ $config->define("pidfileprefix",{ DEFAULT => "/var/spool/sendpage/sendpage" });
+ $config->define("lockprefix",{ DEFAULT => "/var/lock/LCK.." });
+ $config->define("queuedir", { DEFAULT => "/var/spool/sendpage" });
+ $config->define("mail-agent", { DEFAULT => "sendmail" });
+ $config->define("user", { DEFAULT => "sendpage" });
+-$config->define("group-lock", { DEFAULT => "uucp" });
++$config->define("group-lock", { DEFAULT => "dialout" });
+ $config->define("group-tty", { DEFAULT => "tty" });
+ $config->define("page-daemon", { DEFAULT => "sendpage" });
+ $config->define("cc-on-error", { ARGCOUNT => 0, DEFAULT => 1 });
+Index: sendpage-1.0.3/snpp
+===================================================================
+--- sendpage-1.0.3.orig/snpp	2008-08-16 19:23:27.000000000 -0700
++++ sendpage-1.0.3/snpp	2008-08-16 19:23:39.000000000 -0700
+@@ -57,7 +57,7 @@
+ 
+ =item -C CONF
+ 
+-Read CONF instead of /etc/snpp.conf for server default.
++Read CONF instead of /etc/sendpage/snpp.conf for server default.
+ 
+ =item -h
+ 
+@@ -71,7 +71,7 @@
+ (level 2).  It is designed to be used with 'sendpage', but should work
+ with any other SNPP servers as well.
+ 
+-The /etc/snpp.conf file can contain a single line in the form of
++The /etc/sendpage/snpp.conf file can contain a single line in the form of
+ 
+ 	server:ADDRESS[:PORT]
+ 
+@@ -104,7 +104,7 @@
+ use IO::File;
+ 
+ my %opts;
+-my $VERSION="0.1";
++our $VERSION="0.1";
+ 
+ sub Usage {
+         die "Usage: $0 [OPTIONS] pin1 [pin2 [...]]
+@@ -116,7 +116,7 @@
+ -m MESSAGE	  message to send (reads from stdin by default)
+ -n                no email carboning to 'from'
+ -d                turn debug on
+--C CONF		  read CONF instead of /etc/snpp.conf
++-C CONF		  read CONF instead of /etc/sendpage/snpp.conf
+ -h                you're reading it.  :)
+ 
+ ";
+@@ -130,7 +130,7 @@
+ 
+ ### DEFAULTS
+ # set config file
+-$opts{C}="/etc/snpp.conf" unless ($opts{C});
++$opts{C}="/etc/sendpage/snpp.conf" unless ($opts{C});
+ # set server
+ my $server="localhost";
+ 
--- sendpage-1.0.3.orig/debian/patches/manpages.patch
+++ sendpage-1.0.3/debian/patches/manpages.patch
@@ -0,0 +1,115 @@
+Index: sendpage-1.0.3/sendmail2snpp
+===================================================================
+--- sendpage-1.0.3.orig/sendmail2snpp	2009-05-19 07:13:02.000000000 -0700
++++ sendpage-1.0.3/sendmail2snpp	2009-05-19 07:13:28.000000000 -0700
+@@ -22,6 +22,34 @@
+ # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+ # http://www.gnu.org/copyleft/gpl.html
+ 
++=head1 NAME
++
++sendmail2snpp - converts sendmail messages into a page
++
++=head1 SYNOPSIS
++
++sendmail2snpp recipient
++
++=head1 DESCRIPTION
++
++This tool takes a message body and sends it to the "snpp" client, essentially
++performing the same as 'email2page | snpp -- "$@"'.
++
++=head1 AUTHOR
++
++Kees Cook <kees@outflux.net>
++
++=head1 COPYRIGHT
++
++sendmail2snpp is free software; it can be used under the terms of the GNU
++General Public License.
++
++=head1 SEE ALSO
++
++perl(1), sendpage(1), Mail::Internet(3), email2page(1p)
++
++=cut
++
+ # to tee off the pages, use this:
+ #$cmd="tee /tmp/page.$$ | email2page | snpp ".join(" ",@ARGV);
+ $cmd="email2page | snpp ".join(" ",@ARGV);
+Index: sendpage-1.0.3/sendpage-db
+===================================================================
+--- sendpage-1.0.3.orig/sendpage-db	2009-05-19 07:13:02.000000000 -0700
++++ sendpage-1.0.3/sendpage-db	2009-05-19 07:14:57.000000000 -0700
+@@ -22,6 +22,71 @@
+ # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+ # http://www.gnu.org/copyleft/gpl.html
+ 
++=head1 NAME
++
++sendpage-db - manipulate Sendpage recipient database
++
++=head1 SYNOPSIS
++
++sendpage-db [OPTIONS]
++
++=head1 OPTIONS
++
++=over 4
++
++=item -c DB_TYPE
++
++Specify the database connection type (e.g. "dbi:mysql").
++
++=item -U DB_USER
++
++Specify the database user to connect as (e.g. "sendpage").
++
++=item -P DB_PASS
++
++Specify the database password use when connecting.
++
++=item -a
++
++Add an entry to the database, reading from stdin.
++
++=item -d
++
++Delete an entry to the database, reading from stdin.
++
++=item -p
++
++Show all database entries.
++
++=item -v
++
++Run in verbose mode.
++
++=item -h
++
++Display a summary of all the available command line options.
++
++=back
++
++=head1 DESCRIPTION
++
++This tool is used to manipulate the recipient database that can be
++optionally used by Sendpage.
++
++=head1 AUTHOR
++
++Todd T. Fries <todd@fries.net>
++
++=head1 COPYRIGHT
++
++sendpage-db is free software; it can be used under the terms of the GNU General
++Public License.
++
++=head1 SEE ALSO
++
++perl(1), sendpage(1), snpp(1)
++
++=cut
+ 
+ use Getopt::Std;
+ use Sendpage::Db;
--- sendpage-1.0.3.orig/debian/patches/status-sendpage.patch
+++ sendpage-1.0.3/debian/patches/status-sendpage.patch
@@ -0,0 +1,41 @@
+Index: sendpage-1.0.3/sendpage
+===================================================================
+--- sendpage-1.0.3.orig/sendpage	2008-08-16 19:18:57.000000000 -0700
++++ sendpage-1.0.3/sendpage	2008-08-16 19:19:08.000000000 -0700
+@@ -329,7 +329,7 @@
+ 	my($display)=@_;
+ 	my(@check,$pc,$pid,$state,$running,$disabled);
+ 
+-	undef $running;
++	$running=1;
+ 	@check=@pcs;
+ 	unshift(@check,"");
+ 	foreach $pc (@check) {
+@@ -342,16 +342,17 @@
+ 		$pid=PidOf($pc,1);
+ 		if ($pid==0) {
+ 			$state="Not running";
++			undef $running;
+ 		}
+ 		else {
+ 			undef $!;
+ 			kill 0, $pid;
+ 			if ($! == ESRCH) {
+ 				$state="Stale: not running";
++				undef $running;
+ 			}
+ 			else {
+ 				$state="Running";
+-				$running=1;
+ 			}
+ 		}
+ 		printf("%-6d %20s : %s%s\n",$pid,
+@@ -360,7 +361,7 @@
+ 				if ($display);
+ 	}
+ 
+-	exit(0) if ($display);
++	exit(!defined($running)) if ($display);
+ 
+ 	return $running;
+ }
--- sendpage-1.0.3.orig/debian/patches/series
+++ sendpage-1.0.3/debian/patches/series
@@ -0,0 +1,4 @@
+debian-config.patch
+status-sendpage.patch
+manpages.patch
+safe-shell-exec.patch
