HYLAFAX CHANGE INFORMATION

Current Version: v3.0beta096
Previous Version: v2.3beta036special
Master FTP Site: sgi.com (192.48.153.1), directory sgi/fax

Note that this is a major new distribution and lots of things have changed. Consult the general overview for a high-level description of the new functionality provided in the v3.0 software.

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. The following information is located here:

- General changes
- Changes in the software configuration
- Changes in the modem config files
- Changes to faxq
- Changes to faxsend
- Changes to faxgetty
- Changes to pagesend
- Changes to faxaddmodem
- Changes to faxalter
- Changes to faxcover
- Changes to faxmail
- Changes to fax2ps
- Changes to faxrm
- Changes to faxd.recv
- Changes to sendfax
- Changes to sendpage
- Changes in the utility code
- Changes to the manual pages

GENERAL CHANGES:

- the name has changed, this software is now officially called HYLAFAX; consult this blurb for why the name was changed.
- the non-manual page documentation is distributed in HTML; suitable for viewing with a WWW browser (it is best viewed using Netscape)
- the software configuration scheme is completely different; the software should be easier to configure and build and be portable to more platforms
- the server architecture has changed radically; it better handles multiple modems and is intended to be useful for non-fax modem applications (e.g. there is now support for the IXO/TAP protocol used to transmit pager messages)
- send-only and receive-only configurations are now possible; it is also possible to mix-and-match send and receive components from other software packages
- support has been added for time-of-day restrictions on outbound jobs
- outbound have a scheduling priority that can be set by a user and which is manipulated by the job scheduler
- support has been added for distinctive ring; the system can be configured to process incoming calls as data, fax, or voice according to ring status messages
- support has been added for caller-ID; the system logs all caller information and, optionally, can be configured to answer calls only from a restricted set of callers
- prototype modem configuration files have been moved to a separate directory in the spooling area and the filenames no longer have a ``config.'' prefix
- the notion of a job group has been added; this is a collection of jobs submitting with a single sendfax run; a job group identifier can be used to alter, remove, or query status of groups of jobs
- the control information (cinfo) directory in the spooling area no longer exists; it's function has been replaced by a ``destination controls'' file used by the central scheduler process
- virtually all server-related configuration parameters can now be set at runtime; this should make binary distributions more useful
- the TIFF software has been updated to version 3.3beta021
- the client-server protocol has changed and the protocol version number has been incremented; this means new client applications will not be able to communicate with old servers (but old clients can talk to new servers)

CHANGES IN THE SOFTWARE CONFIGURATION:

- the `configure` script was totally rewritten to probe for features required by the software instead of using fixed per-system definitions files
- it is now possible to configure the software to be built in locations other than the top of the source tree; this makes it possible to build multiple versions from a single source tree
- the `configuration` script is much more intelligent about verifying the necessary system functionality is present and the necessary tools are available before a build is started
- `configure` no longer alters any of the files provided in the distribution; this makes it possible to build the software directly from a read-only mounted version of the source code (e.g. from CDROM)
- per-site and per-target tailoring are simplified and virtually all configuration parameters that cannot be set at runtime can be controlled without modifying the source code
- virtually all configuration parameters that had to be setup at compile time in the previous version can now be controlled at runtime; this improves the functionality of binary-only distributions
- the sample Adobe Font Metric files that were previously provided in a separate archive now come standard with the distribution; by default the `configure` script will setup their installation only if other metric files are not located on the system

CHANGES IN THE MODEM CONFIG FILES:

- the prototype modem configuration files are now kept in a separate directory
- prototype config files are now named and selected according to the host-modem flow control scheme used
- all AT-style modem commands must be completely specified; this permits the use of +++ and the like in command strings
- a new escape code was added that causes the host to delay for a period of time

CHANGES TO FAXQ:

- faxq is the central scheduler process; it implements the scheduling function done by the old faxd program
- jobs are now scheduling according to a user-settable priority
- broadcast facsimile documents are now imaged optimally; previously imaged documents are reused if possible
- PostScript imaging operations are timed out according to the value of the PostScriptTimeout configuration parameter
- the MaxConcurrentJobs configuration parameter controls the maximum number of jobs to the same destination that will be processed concurrently; this parameter can also be set on a per-destination basis using the destination controls facility
- a new ServerTracing bit is available for tracing low-level job management operations
- the syslog facility used for ServerTracing messages can be set in the configuration file
- the UUCP locking support can now be entirely configured at runtime through the configuration file
- support has been added for time-of-day restrictions on outbound jobs

CHANGES TO FAXSEND:

- faxsend is the program that handles outbound facsimile jobs; it implements the transmit function done by the old faxd program
- the `jobInProgress` and `rejectNotice` entries in the info database files have been eliminated
- the initial modem flow control scheme is now ``none''
- the maximum number of times to communicate (i.e. establish a connection and initiate a transfer) can be controlled on the server side and by the user
- the notification status returned to a user when a job is completed or fails contains significantly more information
- RTS flow control is now properly set on AIX systems (previously the capability to enable RTS flow control had to be already setup for faxd to correctly force its use)
- the host-modem serial line rate can be set to 115200 on systems that support it
- the syslog facility used for ServerTracing messages can be set in the configuration file
- a bug has been fixed that caused the software to crash if the tagline configuration was not setup correctly
- a new ClocalAsRoot configuration parameter is now available to force the operations that set the CLOCAL bit on the tty to be done as root (this is required by the IRIX 5.x serial drivers)
- local time conventions are now honored so tag line support will display time-of-day items according to the local conventions

  Class 1 driver:

- the driver now forces the modem into Class 1 before placing a call
- error diagnostics returned from failed outbound calls are more specific
- user abort requests that are recognized during the post-page handshake are now held until after the operation is completed (per the T.30 spec)

  Class 2 driver:

- the driver now forces the modem into Class 2 before placing a call
- the driver can be configured to send RTC after each page for modems that incorrectly implement the specification; see Class2SendRTC
- the scanning of +FPTS: result strings is now more forgiving
- the timeout waiting for the OK status after transmitting page data has been lengthened to properly handle slow line rates and/or receivers
- Error Correct Mode (ECM) is now used if possible

  Class 2.0 driver:

- the driver now forces the modem into Class 2 before placing a call
- Error Correct Mode (ECM) is now used if possible

CHANGES TO FAXGETTY:

- faxgetty is the program that handles inbound calls; it implements the receive function done by the old faxd program
- support has been added for distinctive ring; the server can be configured to process incoming calls as data, fax, or voice according to ring status messages
- support has been added for caller-ID; the server logs all caller information and, optionally, can be configured to answer calls only from a restricted set of callers
- an obscure bug in the copy quality checking support was corrected (the pixel to the left of the start of scanline in the reference scanline was not initialized to white)
- copy quality T.4 data decoding is faster
- if faxgetty is started by the init process, the entire environment is passed to any getty and vgetty programs; otherwise, the child processes inherit only the TZ and LANG variables (they previously inherited nothing)
- the syslog facility used for ServerTracing messages can be set in the configuration file
- the exact arguments used to invoke getty or vgetty are now logged
- a workaround has been added for an SCO kernel bug
- a new ClocalAsRoot configuration parameter is now available to force the operations that set the CLOCAL bit on the tty to be done as root (this is required by the IRIX 5.x serial drivers)

CHANGES TO PAGESEND:

- pagesend is a new program that handles outbound IXO/TAP jobs
- a new SessionTracing bit is available for tracing low-level IXO protocol operation
- the syslog facility used for ServerTracing messages can be set in the configuration file

CHANGES TO FAXADDMODEM:

- additions for new configuration parameters
- auto-speed detect uses the stty command to deduce which speeds are valid and starts probing at 38400 instead of 76800 to avoid problems with certain modems on certain systems
- fixes and slowdowns in communication with the modem for HPUX (the EOF character must be set to something other than ^D to avoid system buffering)
- handles multi-line responses from the modem better
- supports selecting prototype configuration files based on whether RTS/CTS or XON/XOFF flow control is to be used
- the prototype configuration file format has changed to make it easier to convert a working config file into a prototype file
- automatically backs out a new config file if an error is detected in its construction
- automatically verifies and propagates changes to the scheduler config file

CHANGES TO FAXALTER:

- has a new `-g` option for specifying job groups
- has a new `-m` option for altering the modem to use
- has a new `-P` option for altering the scheduling priority

CHANGES TO FAXCOVER:

- /commentsX symbols are now always emitted, even if they are blank; by default comments1 through comments20 generated and a new `-m` option is available for controlling the maximum number of comment lines
- the BreakIntoLines procedure is now automatically emitted and need not be included in the cover page template file

CHANGES TO FAXMAIL:

- bugs in the N-up multipage have been fixed

CHANGES TO FAX2PS:

- updated for new libtiff

CHANGES TO FAXRM:

- has a new `-g` option for specifying job groups

CHANGES TO FAXD.RECV:

- the protocol version number has been changed to 2
- new protocol commands have been added for altering the modem and scheduling priority of a job
- a bug has been fixed in the access control checking where certain regular expressions were not treated as ``anchored''
- some diagnostics returned to the client have changed to include more information
- new protocol support has been added for transmitting compressed PostScript data
- support has been added for job groups
- server status returned to clients now shows the status of the scheduler process and each separate faxgetty process
- the identity of the submitting machine is now recorded in the job queue file
- documents are now assigned document identifiers for use in the broadcast imaging scheme

CHANGES TO SENDFAX:

- has a new `-P` option for specifying scheduling priority; the symbolic priority values are recognized
- has a new `-T` option for specifying the maximum number of times to dial the phone
- local time conventions are now honored

CHANGES TO SENDPAGE:

- is a new (currently very simple) program for submitting pages

CHANGES IN THE UTILITY CODE:

- the FaxClient class has been changed to support compressed data transfer
- the SendFaxClient class now sends cover page documents in a compressed form; also, new interfaces were added for setting the job priority and maximum number of times to dial the phone
- PageSizeInfo::getPageInfoByName now also matchs against page name abbreviations
- the dpsprinter.ps support file provides stubs for the a4 and b4 page size requests commonly found in Mac- and Windows-generated PostScript files
- the ps2fax shell scripts now repair a bug commonly found in Windows-generated PostScript prologues
- the notify.awk script has changed significantly to return more information
- the ondelay program can now be configured to not redirect standard input on systems where this causes an annoying message
- the textfmt program now honors local time conventions; also, the error message printed when AFM data is not available for a font is more informative
- the showcase rules in the typerules file have been corrected to force showcase to run in the foreground

CHANGES TO THE MANUAL PAGES:

- the specificiation of how to build and install the manual pages is now easily configurable and more flexible
- all manual pages have been made consistent, including an OPTIONS section for command line programs

HylaFAX table of contents.