
SCCS/s.qpage.c:

D 3.26	97/06/26 23:28:48 tomiii	26 25	00001/00000/00528
add -C to usage

D 3.25	97/06/26 23:09:44 tomiii	25 24	00009/00003/00519
add -C option

D 3.24	97/06/26 22:33:32 tomiii	24 23	00022/00008/00500
add syntax warning
accept undocumented port parameter on the command line (for testing only)

D 3.23	97/06/21 14:38:02 tomiii	23 22	00011/00012/00497
add -P option, make -t a synomym for -a

D 3.22	97/06/04 00:09:20 tomiii	22 21	00004/00004/00505
make buffer allocation code slightly more readable

D 3.21	97/04/27 23:04:18 tomiii	21 20	00004/00004/00505
typecast signal handlers so AIX doesn't complain

D 3.20	97/04/10 09:22:49 tomiii	20 19	00001/00001/00508
update copyright date

D 3.19	97/04/07 20:02:11 tomiii	19 18	00017/00006/00492
allow -f"" to override e-mail address from -m option

D 3.18	97/04/05 17:04:31 tomiii	18 17	00046/00016/00452
moved includes to qpage.h
added -Q option
create message id in interactive mode

D 3.17	97/01/19 12:20:12 tomiii	17 16	00051/00026/00417
converted function prototypes to ANSI C
added warning message when running interactive mode as root
added support for "client only" mode

D 3.16	96/12/22 02:04:27 tomiii	16 15	00040/00004/00403
fix buffer problems in command_line_message
add support for multiple fallback servers

D 3.15	96/11/29 12:59:42 tomiii	15 14	00007/00005/00400
client return code should reflect page status

D 3.14	96/11/27 09:16:32 tomiii	14 13	00002/00000/00403
lint fix

D 3.13	96/11/23 16:59:37 tomiii	13 12	00002/00001/00401
changed usage of %Q% in do_version()

D 3.12	96/11/19 00:39:07 tomiii	12 11	00016/00010/00386
added -m option to process an e-mail message

D 3.11	96/11/04 09:13:22 tomiii	11 10	00001/00001/00395
use INVALID_TIME define

D 3.10	96/10/09 23:12:17 tomiii	10 9	00014/00003/00382
changed SIGCONT to SIGUSR1
fixed bug which prevented -a, -c, or -l from being used without -p

D 3.9	96/06/15 15:21:10 tomiii	9 8	00024/00014/00361
fixed signal handling
check command line syntax (-a, -c, -l must be followed by -p)

D 3.8	96/05/30 11:13:28 tomiii	8 7	00001/00001/00374
changed realloc() to my_realloc()

D 3.7	96/05/30 09:47:23 tomiii	7 6	00011/00001/00364
don't call sigaction() if SA_RESTART isn't defined

D 3.6	96/05/01 01:47:17 tomiii	6 5	00008/00002/00357
changed getmessage() to getinput()

D 3.5	96/04/28 17:02:06 tomiii	5 4	00007/00008/00352
check return code of read_config_file() in interactive mode

D 3.4	96/04/24 21:59:41 tomiii	4 3	00026/00007/00334
added interactive option

D 3.3	96/04/04 22:15:18 tomiii	3 2	00001/00009/00340
fixed minor lint problems

D 3.2	96/04/03 21:01:33 tomiii	2 1	00000/00004/00349
enabled client support

D 3.1	96/04/01 20:26:47 tomiii	1 0	00353/00000/00000
date and time created 96/04/01 20:26:47 by tomiii

SCCS/s.usersnpp.c:

D 1.15	97/04/21 19:42:55 tomiii	15 14	00001/00001/00405
lint fixes

D 1.14	97/04/13 16:03:15 tomiii	14 13	00020/00007/00386
fflush() SNPP commands
fix DATA command to only send up to 70 characters on a line

D 1.13	97/04/05 17:12:40 tomiii	13 12	00000/00012/00393
move includes to qpage.h

D 1.12	97/01/19 12:27:10 tomiii	12 11	00033/00045/00372
converted function prototypes to ANSI C

D 1.11	96/12/22 02:03:33 tomiii	11 10	00014/00004/00403
add support for multiple fallback servers

D 1.10	96/11/27 09:07:53 tomiii	10 9	00054/00048/00353
fixed yucky syntax of send_command (and other lint fixes)

D 1.9	96/10/09 23:18:52 tomiii	9 8	00006/00000/00395
added comments

D 1.8	96/06/16 15:07:28 tomiii	8 7	00020/00010/00375
aesthetic changes

D 1.7	96/05/30 09:52:40 tomiii	7 6	00013/00006/00372
changed cftime() to localtime()/sprintf() for portability

D 1.6	96/05/01 01:53:11 tomiii	6 5	00035/00005/00343
try DATA command and then fall back to MESSage

D 1.5	96/04/24 22:13:08 tomiii	5 4	00004/00004/00344
changed debug to Debug

D 1.4	96/04/04 22:16:07 tomiii	4 3	00002/00002/00346
fixed minor lint problems

D 1.3	96/04/03 21:04:13 tomiii	3 2	00124/00135/00224
combined get_response() calls to one inside send_command()

D 1.2	96/04/02 23:12:10 tomiii	2 1	00238/00034/00121
parse responses from the server rather than just jam the data

D 1.1	96/04/01 20:30:32 tomiii	1 0	00155/00000/00000
date and time created 96/04/01 20:30:32 by tomiii

SCCS/s.srvrsnpp.c:

D 1.30	97/06/26 23:10:28 tomiii	31 30	00005/00005/01249
add support for -C option

D 1.29	97/06/26 22:33:57 tomiii	30 29	00013/00010/01241
accept undocumented port parameter on the command line (for testing only)

D 1.28	97/06/04 00:13:29 tomiii	29 28	00009/00003/01242
put [] around IP address to make it valid in mail headers

D 1.27	97/04/18 09:37:24 tomiii	28 27	00008/00004/01237
log debug messages only if -d specified

D 1.26	97/04/13 01:33:24 tomiii	27 26	00005/00001/01236
print messageid after SEND command

D 1.25	97/04/07 20:03:11 tomiii	26 25	00001/00001/01236
don't mislead user--print "message queued" for SEND command

D 1.24	97/04/05 17:12:13 tomiii	25 24	00098/00064/01139
add save flag to clear_page()
use level 0 for e-mail notification
fix response string for LEVEl command
add XQUEue command when compiling with -DDEBUG
save hostname information from SNPP socket

D 1.23	97/03/31 22:15:25 tomiii	24 23	00080/00045/01123
fixed group support
simplify logging

D 1.22	97/01/23 18:39:20 tomiii	23 22	00009/00009/01159
leave controlling terminal attached in debug mode

D 1.21	97/01/23 17:49:30 tomiii	22 21	00094/00050/01074
changed syslog() to qpage_log()
made error messages more helpful
leave process in the foreground for debug mode

D 1.20	97/01/19 12:31:59 tomiii	21 20	00171/00214/00953
converted function prototypes to ANSI C
initial support for unique msgid token per page
initial support for page groups in the configuration file
truncate message to 500 bytes before sending it to syslog()
moved getinput() to util.c
lint fixes

D 1.19	96/11/27 09:46:39 tomiii	20 19	00002/00000/01165
lint fix

D 1.18	96/11/27 09:35:35 tomiii	19 18	00004/00004/01161
change of heart: make extra SNPP commands *not* the default

D 1.17	96/11/27 09:16:39 tomiii	18 17	00004/00000/01161
lint fixes

D 1.16	96/11/26 00:42:14 tomiii	17 16	00071/00000/01090
added debugging commands

D 1.15	96/11/23 17:02:48 tomiii	16 15	00009/00001/01081
added current time to 220 greeting message

D 1.14	96/11/19 00:44:56 tomiii	15 14	00002/00002/01080
fixed spelling error in declaration

D 1.13	96/11/14 00:43:15 tomiii	14 12	00001/00001/01081


D 1.12	96/11/04 09:32:52 tomiii	12 11	00007/00097/01075
moved SNPP time parser to util.c
changed SNPP messages to be more intuitive

D 1.11	96/10/09 23:18:18 tomiii	11 10	00053/00033/01119
added lots of comments
changed SIGCONT to SIGUSR1
added missing %m's to syslog() calls

D 1.10	96/06/15 15:30:16 tomiii	10 9	00042/00011/01110
fixed compiler-dependent code in parsing of HOLDuntil
fixed broken signal handling for SIGCHLD
log all incoming SNPP connections (with ident data if available)

D 1.9	96/05/30 11:13:50 tomiii	9 8	00001/00001/01120
changed realloc() to my_realloc()

D 1.8	96/05/30 09:51:54 tomiii	8 7	00001/00000/01120
#include <time.h>

D 1.7	96/05/01 02:04:44 tomiii	7 6	00006/00002/01114
don't set the timer in getinput() when reading from stdin

D 1.6	96/05/01 01:52:09 tomiii	6 5	00086/00083/01030
merge getline() and getmessage() into getinput()
add code to handle timeouts

D 1.5	96/04/28 17:05:41 tomiii	5 4	00098/00066/01015
removed dashes from dohelp() output
read the configuration file to detect errors before backgrounding
print warning message if non-root user attempts to bind reserved port
give up root permissions after setting up SNPP socket

D 1.4	96/04/24 22:12:33 tomiii	4 3	00036/00027/01045
add support for raw pagerids
addded more syslog() messages

D 1.3	96/04/04 22:15:49 tomiii	3 2	00001/00001/01071
fixed minor lint problems

D 1.2	96/04/03 21:02:20 tomiii	2 1	00006/00002/01066
added "page submitted" syslog

D 1.1	96/04/01 20:30:32 tomiii	1 0	01068/00000/00000
date and time created 96/04/01 20:30:32 by tomiii

SCCS/s.queue.c:

D 1.17	97/04/28 08:43:04 tomiii	17 16	00001/00001/00878
fix bad return code

D 1.16	97/04/13 16:01:58 tomiii	16 15	00003/00000/00876
handle old queue files which don't have message IDs

D 1.15	97/04/13 01:38:42 tomiii	15 14	00003/00000/00873
print blank line between pages

D 1.14	97/04/13 01:32:42 tomiii	14 13	00030/00029/00843
fix -Q output
always rewrite queue files because flags may have changed

D 1.13	97/04/05 17:09:16 tomiii	13 12	00150/00036/00722
moved includes to qpage.h
add hostname to queue files
send e-mail notification
use my_ctime() instead of the real ctime()
added showqueue() function

D 1.12	97/01/23 17:50:16 tomiii	12 11	00044/00036/00714
changed syslog() to qpage_log()

D 1.11	97/01/19 12:35:27 tomiii	11 10	00074/00042/00676
converted function prototypes to ANSI C
skip successful pagers on retries
initial support for unique msgid token per page
lint fixes

D 1.10	96/11/27 09:12:32 tomiii	10 9	00005/00003/00713
lint fixes

D 1.9	96/11/23 17:01:26 tomiii	9 8	00014/00004/00702
buffer size computed incorrectly

D 1.8	96/11/19 00:41:56 tomiii	8 7	00002/00002/00704
fixed spelling error in declaration

D 1.7	96/11/14 00:39:22 tomiii	7 6	00011/00004/00695
preserve whitespace when reading back the CALLerid data

D 1.6	96/06/04 14:11:33 tomiii	6 5	00004/00004/00695
fdopen() with "w" rather than "w+" for compatibility
added %m to several syslog() calls
fixed filename parameter to some syslog() calls

D 1.5	96/05/28 08:33:28 tomiii	5 4	00066/00010/00633
add "goodtries" counter
explicitly truncate the queue file before rewriting it
check the timestamp on the page queue in case new jobs were submitted

D 1.4	96/04/24 22:10:29 tomiii	4 3	00051/00011/00592
print flag meanings in queue file

D 1.3	96/04/04 22:15:35 tomiii	3 2	00004/00002/00599
fixed minor lint problems

D 1.2	96/04/03 21:01:01 tomiii	2 1	00003/00001/00598
check for debug flag before logging "skipping %s for now"

D 1.1	96/04/01 20:30:30 tomiii	1 0	00599/00000/00000
date and time created 96/04/01 20:30:30 by tomiii

SCCS/s.config.c:

D 1.16	97/06/26 23:10:08 tomiii	16 15	00004/00004/00924
add support for -C option

D 1.15	97/06/05 20:57:37 tomiii	15 14	00028/00022/00900
change forcehostname syntax

D 1.14	97/06/04 00:10:31 tomiii	14 13	00060/00017/00862
add forcehostname keyword
delete dead code
initialize global variables

D 1.13	97/04/27 23:04:59 tomiii	13 12	00005/00011/00874
fix missed non-ANSI function declarations

D 1.12	97/04/07 20:02:37 tomiii	12 11	00006/00002/00879
check syntax of duty schedule when file is read

D 1.11	97/04/05 17:05:01 tomiii	11 10	00041/00007/00840
added administrator keyword

D 1.10	97/04/01 09:51:11 tomiii	10 9	00111/00012/00736
move includes to qpage.h
added support for page groups

D 1.9	97/01/19 12:36:33 tomiii	9 8	00023/00020/00725
converted function prototypes to ANSI C
initial conversion from printf/syslog to qpage_log()
lint fixes

D 1.8	96/11/27 09:23:56 tomiii	8 7	00002/00000/00743
lint fix

D 1.7	96/06/04 14:09:48 tomiii	7 6	00004/00000/00739
fixed seg fault if no device/dialcmd in default service entry

D 1.6	96/05/30 09:48:22 tomiii	6 5	00023/00002/00716
added "parity" keyword for service specification

D 1.5	96/05/02 00:49:43 tomiii	5 4	00001/00001/00717
fixed broken preprocessor directive

D 1.4	96/05/01 01:48:19 tomiii	4 3	00033/00000/00685
added snpptimeout keyword

D 1.3	96/04/28 17:03:00 tomiii	3 2	00054/00021/00631
added haserrors flag so better error checking can be done

D 1.2	96/04/24 22:02:51 tomiii	2 1	00061/00004/00591
changed identfrom default to TRUE rather than FALSE
added identtimeout keyword
added allowpid keyword
added range checking for some keywords

D 1.1	96/04/01 20:30:26 tomiii	1 0	00595/00000/00000
date and time created 96/04/01 20:30:26 by tomiii

SCCS/s.util.c:

D 1.22	97/04/27 23:06:09 tomiii	23 22	00023/00002/01160
AIX does not support vsyslog()

D 1.21	97/04/23 08:28:57 tomiii	22 21	00015/00002/01147
sysinfo() not supported on some platforms

D 1.20	97/04/13 01:33:52 tomiii	21 20	00075/00000/01074
move msgcpy() from ixo.c to util.c

D 1.19	97/04/07 20:26:51 tomiii	20 19	00004/00001/01070
fix gmtoffset computation again (is it right this time?)

D 1.18	97/04/07 20:03:44 tomiii	19 18	00009/00001/01062
allow midnight to be specified as 0 or 2400

D 1.17	97/04/05 17:13:59 tomiii	18 16	00155/00023/00908
move includes to qpage.h
add LOG_ALERT kludge to qpage_log()
add my_ctime() function
add on_duty() function
add get_sysinfo() function

D 1.13.1.1	97/01/23 19:01:40 tomiii	17 13	00003/00010/00756
fixed non-portable timezone code

D 1.16	97/01/23 18:52:01 tomiii	16 15	00003/00010/00928
fixed non-portable timezone code

D 1.15	97/01/23 18:37:59 tomiii	15 14	00080/00079/00858
changed syslog() to qpage_log()

D 1.14	97/01/19 12:38:00 tomiii	14 13	00248/00077/00689
converted function prototypes to ANSI C
added qpage_log()
moved getinput() from srvrsnpp.c
lint fixes

D 1.13	96/12/22 02:01:43 tomiii	13 12	00001/00000/00765
send a syslog message when exiting via SIGTERM

D 1.12	96/11/27 09:24:11 tomiii	12 11	00002/00000/00763
lint fix

D 1.11	96/11/04 09:32:04 tomiii	11 10	00135/00005/00628
moved SNPP time parser from srvrsnpp.c
call SNPP time parser from parse_time()

D 1.10	96/10/09 23:19:49 tomiii	10 9	00019/00006/00614
changed SIGCONT to SIGUSR1
added missing %m's to syslog() calls
added comments

D 1.9	96/06/15 15:27:34 tomiii	9 8	00006/00009/00614
fix sigterm() to kill everyone else in the process group

D 1.8	96/06/04 14:02:53 tomiii	8 7	00003/00001/00620
fixed check for active owner of lockfile

D 1.7	96/05/30 11:14:57 tomiii	7 6	00025/00000/00596
added my_realloc()

D 1.6	96/05/30 09:54:12 tomiii	6 5	00004/00004/00592
only include <sys/mkdev.h> on Solaris machines
zero the entire lock structure rather than individual fields for portability

D 1.5	96/05/01 01:53:52 tomiii	5 4	00015/00000/00581
moved sigalrm() from ident.c to this file

D 1.4	96/04/24 22:13:56 tomiii	4 3	00195/00004/00386
added code to lock/unlock modem device

D 1.3	96/04/04 22:16:19 tomiii	3 2	00001/00003/00389
fixed minor lint problems

D 1.2	96/04/03 21:05:11 tomiii	2 1	00003/00002/00389
check for debug flag before logging "Child exited..."

D 1.1	96/04/01 20:30:33 tomiii	1 0	00391/00000/00000
date and time created 96/04/01 20:30:33 by tomiii

SCCS/s.ixo.c:

D 1.20	97/06/21 15:16:02 tomiii	20 19	00001/00001/01066
make lint hack Solaris specific

D 1.19	97/06/04 00:11:50 tomiii	19 18	00006/00003/01061
fix bug in IXO protocol implementation
truncate a copy of CALLerid, not the real thing

D 1.18	97/04/28 08:43:38 tomiii	18 17	00013/00000/01051
treat FD_ZERO as a special case for lint

D 1.17	97/04/20 00:26:34 tomiii	17 16	00009/00009/01042
logic was backwards when testing result of strstr()

D 1.16	97/04/13 01:31:23 tomiii	16 15	00019/00078/01032
move msgcpy() to util.c
increment goodtries++ where appropriate

D 1.15	97/04/07 20:16:29 tomiii	15 14	00009/00009/01101
allow broken syntax from broken services (such as PageNet)

D 1.14	97/04/01 09:37:28 tomiii	14 13	00080/00059/01030
moved includes to qpage.h
fixed byte-size when not using parity
use termios functions rather than ioctl() calls
add service name to log messages
strip @hostname off the "from" address

D 1.13	97/01/23 17:51:38 tomiii	13 12	00075/00209/01014
changed syslog() to qpage_log()

D 1.12	97/01/19 12:41:55 tomiii	12 11	00034/00048/01189
converted function prototypes to ANSI C
lint fixes

D 1.11	96/12/22 02:02:49 tomiii	11 10	00002/00002/01235
make some getpacket() timeouts longer

D 1.10	96/11/27 09:14:12 tomiii	10 9	00009/00000/01228
lockfile was not being removed on openmodem() failure

D 1.9	96/11/24 11:49:07 tomiii	9 8	00012/00005/01216
added part counter to syslog messages

D 1.8	96/11/23 17:20:14 tomiii	8 7	00044/00041/01177
fixed error detection

D 1.7	96/10/09 23:16:36 tomiii	7 6	00016/00007/01202
added missing %m's to syslog() calls
added comments

D 1.6	96/06/04 14:01:38 tomiii	6 5	00002/00002/01207
fixed fcntl() usage of F_GETFL and F_SETFL

D 1.5	96/05/30 09:59:25 tomiii	5 4	00001/00001/01208
fix broken comment

D 1.4	96/05/30 09:50:47 tomiii	4 3	00035/00010/01174
#include <sys/select.h> explicitly for AIX machines
changed ioctl(FIONBIO) to fcntl(F_GETFL)/fcntl(F_SETFL) for portability
added support for parity specification
turned on CLOCAL flag

D 1.3	96/04/24 22:07:31 tomiii	3 2	00210/00048/00974
added interactive support
lock modem device before opening it
open modem with O_NONBLOCK and then unset non-blocking mode with FIONBIO

D 1.2	96/04/03 20:58:33 tomiii	2 1	00000/00014/01022
removed redundant check for holduntil option

D 1.1	96/04/01 20:30:28 tomiii	1 0	01036/00000/00000
date and time created 96/04/01 20:30:28 by tomiii

SCCS/s.ident.c:

D 1.9	97/04/27 23:05:33 tomiii	9 8	00005/00005/00206
change error messages to identify who is printing them

D 1.8	97/04/01 09:51:34 tomiii	8 7	00000/00013/00211
move includes to qpage.h

D 1.7	97/01/23 17:42:53 tomiii	7 6	00014/00008/00210
changed syslog() to qpage_log()

D 1.6	97/01/19 12:38:29 tomiii	6 5	00012/00014/00206
converted function prototypes to ANSI C
lint fixes

D 1.5	96/11/27 09:24:04 tomiii	5 4	00002/00000/00218
lint fix

D 1.4	96/10/09 23:15:28 tomiii	4 3	00007/00007/00211
convert port values to host byte order before using them
added missing %m's to syslog() calls

D 1.3	96/05/01 01:49:48 tomiii	3 2	00001/00037/00217
moved sigalrm() to util.c
keep SIGALRM handler installed all the time

D 1.2	96/04/24 22:03:44 tomiii	2 1	00067/00008/00187
added timeout code for ident query

D 1.1	96/04/01 20:30:27 tomiii	1 0	00195/00000/00000
date and time created 96/04/01 20:30:27 by tomiii

SCCS/s.readmail.c:

D 1.11	97/04/18 09:31:43 tomiii	11 10	00001/00001/00567
replyaddr was missing first 5 characters

D 1.10	97/04/07 20:04:33 tomiii	10 9	00004/00007/00564
allow -f on the command line to override e-mail reply address

D 1.9	97/04/05 17:14:57 tomiii	9 8	00002/00002/00569
use "reply" address instead of "from" address for p->from

D 1.8	97/04/01 09:21:19 tomiii	8 7	00002/00010/00569
don't truncate hostname in e-mail address--let the server do that
move all includes to qpage.h

D 1.7	97/02/10 02:14:30 tomiii	7 6	00012/00012/00567
typecast malloc to (void *)

D 1.6	97/01/19 12:40:10 tomiii	6 5	00055/00031/00524
converted function prototypes to ANSI C
fixed missing space when subject line is absent
lint fixes

D 1.5	96/12/22 01:37:17 tomiii	5 4	00010/00004/00545
don't change p.from if -f"" used on the command line

D 1.4	96/11/27 09:24:24 tomiii	4 3	00002/00000/00547
lint fix

D 1.3	96/11/23 17:01:58 tomiii	3 2	00001/00001/00546
changed realloc() to my_realloc()

D 1.2	96/11/19 01:36:49 tomiii	2 1	00014/00001/00533
fixed MIME code to only use the first text part
make MIME code stop at --

D 1.1	96/11/19 00:44:41 tomiii	1 0	00534/00000/00000
date and time created 96/11/19 00:44:41 by tomiii

SCCS/s.sendmail.c:

D 1.10	97/06/26 23:26:24 tomiii	10 9	00001/00001/00363


D 1.9	97/06/05 20:57:55 tomiii	9 8	00025/00005/00339
change forcehostname syntax

D 1.8	97/06/04 00:14:16 tomiii	8 7	00014/00004/00330
added forcehostname hack
changed wording of notification message

D 1.7	97/04/21 19:43:11 tomiii	7 6	00002/00002/00332
lint fixes

D 1.6	97/04/18 09:44:20 tomiii	6 5	00008/00006/00326
previous delta was bogus

D 1.5	97/04/18 09:37:34 tomiii	5 4	00002/00002/00330
log debug messages only if -d specified

D 1.4	97/04/13 16:03:55 tomiii	4 3	00010/00000/00322
tell administrator to remove failed pages from the queue

D 1.3	97/04/13 01:35:29 tomiii	3 2	00128/00082/00194
fix lots and lots of brokeness

D 1.2	97/04/05 17:48:10 tomiii	2 1	00004/00000/00272
use administrator address (if defined) in the Reply-To: field

D 1.1	97/04/05 17:16:01 tomiii	1 0	00272/00000/00000
date and time created 97/04/05 17:16:01 by tomiii
