FLEXFAX CHANGE INFORMATION
This document describes the changes made to the software between the
previous and current versions (see above).
If you don't find something listed here, then it was not done in this
timeframe, or it was not considered important enough to be mentioned
(but just about everything is mentioned).
The following information are located here:
GENERAL CHANGES:
- regular expression support is now based on Henry Spencer's
POSIX 1003.2-compliant routines; this effectively extends the syntax
of the dialstring rules, TSI access control list, etc.
NB: THERE ARE INCOMPATIBILITES BETWEEN THE PREVIOUS REGEX SYNTAX
AND THE POSIX 1003.2 SYNTAX;
consult the manual page that describes
the POSIX syntax: util/regex/re_format.7
- the
faxaddmodem
program has been moved from the client applications
directory (${BIN}) to the spooling area to be consistent with all
other the server-related software
- the server now does copy quality checking on received pages, with
line regeneration applied to rows received in error (when copy quality
checking is done in the host and not in the modem); note that this
is done only in the cases where a modem does not directly support
(or is configured to support) copy quality checking in the modem;
see the documentation for help
on configuring this support.
- the server can be configured to image a "tag line" across the top of
each page of an outbound job; see
the documentation for help on
configuring this support.
- receive operations may now be aborted
- the server now tracks the consecutive number of "bad calls"
and if a threshold is exceeded (MaxBadCalls), it invokes a shell script
to permit site-specific actions (such as shutting down the server
and/or notifying administrators)
- support for the Abaton 24/96 modem has been dropped
- the maximum number of pages that may be sent in a single job can
now be constrained
- the maximum number of pages that will be received in a single call
can now be constrained
- the TSI access control mechanism has been extended to support both
inclusion and exclusion
- the server may be configured to generate a "continuation cover page"
when a job fails and no longer has a cover page included in its
retransmission
- the server now disconnects and re-images jobs when a mismatch is
recognized in in the session capabilities
- the adaptive answer and answer rotary facilities have been generalized
to permit adaptive answer to be done in a configurable order (e.g.
data then fax, or fax then data)
- the server now times out PostScript imaging requests according to
the PostScriptTimeout configuration parameter
- prototype modem config files are now located in a separate config
subdirectory in the spooling area
- all client applications now fallback to using TCP port 4557 if no
"fax" service entry exists on the machine
CHANGES IN THE "TOP OF THE TREE":
- the configure script disables non-POSIX extensions in the GNU
shell utilities (the extensions broke the script)
- the configure script will not rebuild the port.h file if it
finds an existing one with created with the same target machine
and compiler
- the configure script now sets up the default host bit order based
on the system defs file and user input
CHANGES IN THE PROTOTYPE CONFIG FILES:
- there is a new file for the AT&T DataPort with Class 2.0 firmware
- there is a new file for Class 1 modems based on the Rockwell RC32ACL
- there is a new file for the Tricom Tornado28/42
- config.mt-1432 no longer has the "@" in the dialing string
CHANGES TO FAXD:
- the server now checks if a modem supports polling and rejects polling
requests immediately if no support is present
- the server now does copy quality checking on received pages, with
line regeneration applied to rows received in error (when copy quality
checking is done in the host and not in the modem); note that this
is done only in the cases where a modem does not directly support
copy quality checking in the modem
- the server can be configured to image a "tag line"
across the top of
each page of an outbound job
- receipt of PIN/PIP during a transmission now causes a job to
aborted instead of retried
- receive operations may now be aborted
- outgoing calls that reach data modems are now recognized and treated
differently
- the server now tracks the consecutive number of "bad calls" and
if a threshold is exceeded (MaxBadCalls), it invokes a shell script
to permit site-specific actions (such as shutting down the server
and/or notifying administrators)
- the host-modem flow control can now be setup for "no flow control"
- the AT-command escape codes have been extended to include the no
flow control setting
- support for the Abaton 24/96 modem has been dropped
- there is a new configuration parameter ModemSendBeginCmd that is
interpreted after an outbound call has been established; this can
be used, for example, to setup RTS/CTS flow control on systems that
are not capable of doing this w/o having DCD raised
- a bug was fixed that caused dialing status strings with a "RING"
prefix to be incorrectly handled
- the maximum number of pages that may be sent in a single job can
now be constrained
- the maximum number of pages that will be received in a single call
can now be constrained
- the TSI access control mechanism has been extended to support both
inclusion and exclusion
- the server may be configured to generate a "continuation cover page"
when a job fails and may no longer have a cover page included in
its retransmission
- the server now disconnects and reimages jobs when a mismatch is
recognized in in the session capabilities
- a bug was corrected that resulted in truncated status information
being returned to users when a PostScript imaging oepration failed
- a new -p option was added to stop the server from changing its
priority during normal operation; this is for use in debugging
servers that go into infinite loops at non-preemptible scheduling
priority
- whether or not the server supports aborting send jobs is now based
on the SERVERABORTBUG
#define emitted by the configure script (it
used to be directly controlled by the type of host the code was
being compiled on)
- the adaptive answer and answer rotary facilities have been generalized
to permit adaptive answer to be done in a configurable order (e.g.
data then fax, or fax then data)
- the server now properly resets all its state when rereading a
configuration file
- the server now times out PostScript imaging requests according to
the PostScriptTimeout configuration parameter
- the tracing messages concering XON/XOFF handling have been improved
- there is a new tracing control bit for copy quality checking
- TSI+CSI can now arbitrary ASCII; this is setup with the new
LocalIdentifier config parameter
- the server-modem interface used to return dialing result codes has
been expanded to permit more intelligent decisions to be made for
failed calls
Class 1 driver:
- bit order handling has been corrected for LSB-order CPUs
- a bug that caused FCS errors in received frames to not be properly
reported was fixed
- the driver now does a better job of shutting down transmit jobs that
terminate prematurely due to receipt of DCN
- a bug in the state machine used to decided whether to look for page
carrier or control carrier was corrected
- the driver no longer requires that received HDLC frames strictly
conform to the T.30 protocol; specifically some senders transmit
frames without FCF_SNDR set after receiving valid DCS
- the algorithm used to analyze TCF received during training now skips
any initial non-zero data; this change helps to ignore flag bits
received during the short training sequence before the message
carrier is established
- the parameters that control whether or not a received TCF is acceptable
are now configurable (Class1TCFMaxNonZero and Class1TCFMinRun)
- a bug was corrected in the transmit logic where the initial
identification information was not being properly retransmitted
- there is a new configuration parameter, Class2CQQueryCmd, that
is used to identify the copy quality capabilities of a Class 2/2.0 modem
- UUCP lock filenames are now munged on SCO systems to reflect local
requirements (SCO requires that upper case device names be locked
under their lower case equivalents)
- the server no longer checks the effective uid against the "fax"
user name; it now checks it against the "fax" user's uid
- the faxrcvd and pollrcvd
scripts are now passed the modem device id on the command line
- the etc/xferlog accounting now includes the job identification
number in each record
Class 2 driver:
- when transmitting, the driver now reliably waits for <XON> from
the modem before sending page data (it used to not do this when
hardware flow control was being used)
- a workaround has been added for modems that do not properly implement
the +FDIS command; the Class2DDISCmd configuration parameter can be
setup to cause the driver to work better with such modems
Class 2.0 driver:
- the driver no longer queries for page status after each transmitted
page, instead using the OK/ERROR result string from the
AT+FDT command; this works around problems with modems that drop
DCD immediately after the last page and/or do not accept AT+FPS?
commands after carrier is dropped
CHANGES TO FAXADDMODEM:
- additions for the new configuration parameters
CHANGES TO FAXSTAT:
- a new -i option returns additional server information
- System V-specific junk in the GECOS field of passwd file entries
is now properly stripped
CHANGES TO FAXMAIL:
- now generates ISO 8859-1 character encoding
(controlled by a new -D option)
CHANGES TO FAXCOVER:
- /to is now set to a null string instead of
"<unknown>" when the to user name is not unspecified
CHANGES TO FAX2PS:
- portability modifications
CHANGES TO FAXD.RECV:
- a new protocol command, serverInfo, was added to request static
per-server information (such as the identity of an administrator)
- job submission may now be shutdown by creating a file status/<dev>.shut
in the spooling area; this causes requests to submit a job to be
rejected with the contents of <dev>.shut returned to the client
CHANGES IN THE UTILITY CODE:
- compiler portability problems have been corrected in serveral of
the data structures classes
- a new shell script wedged.sh is invoked when a fax server thinks
a modem is wedged
- a new shell script mkcover.sh is invoked to create the PostScript
continuation cover page for jobs being retried after a protocol
failure; cover.templ is the associated cover page template file
- the faxquit program is no longer installed setuid fax and is no
longer installed in the directory where client applications reside
- the faxanswer, faxquit, and (new) faxabort
programs are all links to a new faxmsg program
- faxabort is a new program that sends a message to a fax server telling
it to abort the current phone call (either sending or receiving)
- the default number of retries for a sent job now comes from config.h;
it used to just be -1 (i.e. infinite)
- the set of ``trusted users'' is now specified in config.h
- the notify.awk script now gives more information in the Subject line
- xferstats.sh and recvstats.sh handle the new accounting file record format
- a bug in transcript.sh was fixed ("cut -f1" is not accepted on
some systems; it must be "cut -f 1")
- a new program, tagtest, is used to test out the tag line support
- a new program, tsitest, is used to test out the TSI access control
support
- FaxClient::sendLine
checks parameters to catch potential protocol botches
- the regular expression support is now based on Henry Spencer's
POSIX 1003.2-compliant code
CHANGES IN THE iNTERvIEWS CODE:
- the two remaining InterViews classes have been merged into the
utility code
CHANGES TO THE MANUAL PAGES:
- the scheme for building and installing the manual pages has been
changed to handle filename conflicts and to be more general
- intro(4F) has been renamed flexfax(4F) to avoid name conflicts
FlexFAX table
of contents.
Sam Leffler / sam@engr.sgi.com
Last updated $Date: 1996/08/16 21:03:37 $.