1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273
|
Changes to QuickPage from v3.2 to v3.3
---------------------------------------
- Building QuickPage has been greatly simplified by GNU
autoconf. All you need to do is unpack the tar file,
type "./configure" and then type "make". It's that simple.
- QuickPage now has builtin support for Wietse Venema's
"tcp_wrappers" package. See the INSTALL guide for more
information.
- In the configuration file, groups and pagers are no longer
permitted to have the same names. Every group and pager
entry must have a unique name. This should help administrators
detect configuration errors more easily.
- When invoking sendmail to sending status notifications,
the end of the message is now signified by closing standard
input to the child instead of writing the <CR>.<CR> sequence.
This should allow QuickPage to work with programs other than
sendmail (such as the qmail).
- Null characters received from the remote paging service
are now ignored.
- QuickPage now gives up after 5 attempts when trying to log
into the paging service. Previous versions used to retry
forever or until the remote modem disconnected.
- An initial carriage return is sent, followed by a 1 second
delay, before sending the initialization string to the modem.
Without this, the initialization command sometimes failed on
some modems due to unclean disconnects from previous
connections.
- Multiple modems are supported. A new "modem" keyword
in the configuration file allows modem-specific
initialization and dialing commands to be associated with
each modem. A paging service may include references to
multiple modem definitions. This does not mean pages
will be processed in parallel--see the man page for details.
- A new "synchronous" major keyword specifies whether new
pages should be processed immediately or whether the server
should wait until the normal sleep time (-q argument) as
expired. The default is true (process new pages immediately).
- A new "lockdir" major keyword can be used to override the
compiled in lock directory.
- A new "pidfile" major keyword causes the server to write its
process ID to the specified file.
- A new "sigfile" major keyword specifies an alternate signature
to be used in e-mail status notification messages.
- A new "initcmd" minor keyword is allowed in the modem and
service specifications.
- A new "phone" minor keyword is allowed in the service
specification. If present, the value of this keyword
will be appended to the dialcmd when dialing the modem.
- A new "msgprefix" minor keyword is allowed in the service
specification to indicate whether the sender's name is
prefixed to each message segment.
- The "dialcmd" minor keyword used for service definitions is now
obsolete. It is still supported in this release for backward
compatibility, but it will not be supported in future releases.
Instead, use the new "phone" keyword in combination with a
modem specification.
- Better error checking is done when the configuration file is
being read.
- A "default" paging service now always exists, even if it
is not specified in the configuration file. Compiled in
default settings for the default service may be overridden
in the configuration file.
- The configuration file now supports the "include" keyword
to specify the name of another configuration file that should
be inserted at that point. This allows the administrator
to split the configuration file into multiple files if
desired.
- The page queue is locked during queue runs so that only
one child can process the queue at a time.
- Bad pages are renamed to Bxxxxxxx to make it easier for
administrators to locate and examine/remove them.
- Lock files are now created with mode 666, regardless of
the umask in effect when QuickPage is started.
- Previous versions read the configuration file many times
(for each SNPP connection, each queue run, etc.). Now,
the configuration file is only read during startup and
on receipt of SIGHUP.
- A new SNPP command, XWHO, can be used by clients to
determine which pagers are supported by the server.
This command is not part of the official SNPP protocol
as specified in RFC-1861 and it is only implemented here
to overcome the current protocol's deficiency. If the
protocol is ever revised in the future to include this
functionality, support for the XWHO command will be
dropped in favor of whatever facilities are specified
at that time. Do not consider XWHO a stable command.
It may go away in a future version of QuickPage without
notice.
- The modem, service, pager, and group major keywords now
allow a "text" minor keyword that can be used to associate
an arbitrary text string with each of these entries. Any
pager or group entry that contains a text string will be
shown by the SNPP "XWHO" command (not an official command
specified by RFC-1861).
- Previous versions forked two daemon processes, one to handle
incoming SNPP connections and another one to process the page
queue. Starting with v3.3, QuickPage only uses one main daemon
process which forks short-term child processes when necessary.
- The return code of the client now correctly reflects whether
the page was successfully transmitted to the server.
- Characters are stripped to 7 bits before transmitting them
to the paging service. Also, control characters are escaped
by first sending 0x1A and then sending the ASCII character
obtained by adding 0x40 to the ASCII value of the control
character. This is required by the IXO/TAP protocol.
- When using interactive mode with the -i flag, page groups
are now expanded correctly.
- QuickPage now prints an error message if the -C option is
specified on the client side.
- Root privileges are always dropped, even during interactive
mode. Too many people were being confused when QuickPage
worked with the -i flag but failed in normal client/server
mode.
- If standard input is not a tty, QuickPage assumes it is
reading input from a pipe and it will not print any input
prompts.
- A negative argument to the -q flag on the command line will
start an SNPP daemon without doing any queue processing.
Incoming pages will be queued and will not be forwarded to a
paging service. This is not very useful but it may come in
handy during debugging.
- A zero argument to the -q flag (i.e. -q0) will cause QuickPage
to process the queue one time and exit. This can be handy
for forcing queue runs without enabling SNPP services.
- A year-2000 bug was fixed. Prior to v3.3, if the -a
option was used on the command line to specify a hold
time after Dec 31 23:59:59 1999, the time was transmitted
to the server incorrectly, causing the server to reject
the page.
- Many minor bug fixes are included.
Changes to QuickPage from v3.1 to v3.2
---------------------------------------
- The QuickPage source is totally lint free (at least when
compiled on Solaris 2.x systems).
- An ANSI compiler (such as gcc) is now required for building
QuickPage. I really didn't want to do this, but one of my
goals was to make QuickPage "lint free" and I just couldn't
do that with varargs without making the function declarations
ANSI compliant. I apologize for any hardships this may cause.
However, I suspect most people are using ANSI compilers anyway,
this hopefully won't be much of a problem.
- The long awaited "e-mail status notification" is here. Pages
submitted with a high priority (i.e. level 0) cause e-mail to
be sent to the submitter whenever a page succeeds or fails.
- A new keyword ("administrator") can be used in the configuration
file to notify the QuickPage administrator of failed pages.
- Page groups are now supported. A new keyword ("group") can
be used in the configuration file to specify page groups.
Group members can have optional duty schedules so they won't
be paged unless they're on duty.
- A new -P option like was added which works exactly like the
existing -p option, with the exception that any -a, -c, and -l
options are not reset to their default values.
- A bug in previous versions of QuickPage required the "password"
keyword in a service specification to start with "1" in order
to comply with the IXO/TAP protocol specification. This typo
has been fixed and a service password is no longer required.
Any "password=1" entries in qpage.cf should be removed unless
you know for a fact your service requires them.
- Pages now have unique message IDs which can be used to track
status via syslog messages.
- The -d flag now keeps the daemon in the foreground and prints
messages to stderr instead of logging them via syslog().
- Using the -i flag as root now prints a warning message telling
the user that daemon mode may behave differently since it doesn't
run as root.
- A new -Q flag can be used on the QuickPage server to list all
pages currently in the page queue.
- Queue files now contain the submitter's hostname.
- A "client only" version is now supported which should compile
on just about every platform.
- Previously, if a page to multiple recipients failed for one
recipient, everyone would get a another copy on successive
retries. This has been fixed.
- The "goodtries" counter was written to the queue file correctly
but it was ignored when the file was read. This caused pages to
be retried forever, regardless of the "maxtries" setting in the
configuration file. This has been fixed.
- It is no longer a fatal error for the client if the SNPP server
refuses to accept CALLerid information.
- Use 8-bit bytes if not using parity.
- Service names are included in log messages.
- The QuickPage source code is now more compatible with other
operating systems.
- The code which parses e-mail messages (the -m option) is now
more robust.
- The SEND command now performs a RESEt before returning.
- The LEVEl command now returns a valid response code.
Changes to QuickPage from v3.0 to v3.1
---------------------------------------
- A new -m option tells the client to read an e-mail message
from standard input. Apparently lots of people wanted this
even though it goes against the intent of RFC-1861.
- Multiple SNPP servers are permitted for redundancy.
- The argument to the -a option can now be specified either as
YYMMDDHHMMSS or by using the previous syntax.
- The time specified by the HOLDuntil command is now computed
correctly when a timezone is supplied.
- Some of the messages returned by the SNPP server are now
slightly more intuitive.
- Whitespace in the CALLerid argument is now preserved.
- Pages longer than 1024 bytes are now handled correctly.
|