hfaxd.8c - Man Page

HylaFAX client-server protocol server

Synopsis

/usr/sbin/hfaxd [ -d ] [ -D secs ] [ -q dir ] [ -c config ] [ -o port ] [ -O ] [ -f bindaddressfamily ] [ -l bindaddress ] [ -p pasv_min_port:pasv_max_port ] [ -i port ] [ -I ] [ -s port ] [ -S ]

Description

hfaxd is the HylaFAX program that implements the server portion of:

Additional client-server protocols are planned and hfaxd is intended to be the “carrier” through which they are supported.

hfaxd is typically used in one of two ways; either as a stand-alone process that is started at system boot time to listen for client connections on one or more ports (in which case the -i, -o, or -s option must be used), or as a subservient process to the inetd(8C) program. The two forms of use may however be combined so long as the same service is not provided both by the stand-alone hfaxd and through inetd.

Hylafax Client-Server Protocol Support

If hfaxd is started with the -i option it will service clients using the HylaFAX client-server protocol. This protocol is strongly related to the Internet File Transfer Protocol (FTP); so much so in fact that FTP client programs that include support for “quoted commands” may be used to communicate with hfaxd using the new protocol. (It should also be possible to use FTP-aware World Wide Web browsers such as Mosaic and Netscape Navigator to access HylaFAX servers through the new protocol; but the current format for information returned in directory listings confuses them.)

The hfaxd server currently recognizes the following protocol requests; case is not distinguished. Entries marked with a ¹ can be used only when the client has established administrative privileges with ADMIN.

RequestDescription
ABORabort previous command
ACCTspecify account (ignored)
ADMINspecify password for administrative privileges
ALLOallocate storage (vacuously)
ANSWER¹request that call be answered
APPEappend to a file
CDUPchange to parent of current working directory
CHMODchange mode of a file
CHOWN¹change owner of a file
CWDchange working directory
DELEdelete a file
DISABLE¹disable outbound use of modem
ENABLE¹enable outbound use of modem
HELPgive help information
FILEFMTspecify/query format for returning file status
FORMspecify data transfer format
IDLEset idle-timer (in seconds)
JDELEdelete done or suspended job
JINTRinterrupt job
JKILLkill job
JNEWcreate new job
JOBset/query current job
JOBFMTspecify/query format for returning job status
JPARMspecify/query job state parameter
JRESTreset current job state
JSUBMsubmit job to scheduler
JSUSPsuspend job from scheduling
JWAITwait for job to complete
JGDELEdelete group of jobs
JGKILLkill group of jobs
JGINTRinterrupt group of jobs
JGNEWplace current job in a new job group
JGPARMset state parameter in a group of jobs
JGRESTreset current state for a group of jobs
JGRPset/query current job group
JGSUBMsubmit group of jobs to scheduler
JGSUSPsuspend group of jobs from scheduling
JGWAITwait for group of jobs to complete
LISTlist files in a directory
MDTMshow last modification time of file
MODEspecify data transfer mode
MDMFMTspecify/query format for returning modem status
NLSTgive name list of files in directory
NOOPdo nothing
PASSspecify password
PASVprepare for server-to-server transfer
PORTspecify data connection port
PWDprint the current working directory
QUITterminate session
RCVFMTspecify/query format for returning received facsimile status
REINreinitiate server state
RESTrestart incomplete transfer
RETPretrieve the next page in a file
RETRretrieve a file
SHUTschedule server shutdown
SITEnon-standard commands (see next section)
SIZEreturn size of file
STATreturn status of server or file
STORstore a file
STOTstore a temporary file with a unique name
STOUstore a file with a unique name
STRUspecify data transfer structure
SYSTshow operating system type of server system
TYPEspecify data transfer type
TZONEspecify timezone handling for dates and times
USERspecify user name
VRFYverify dialstring handling and/or least-cost routing

The following non-standard or experimental commands are supported through the SITE request.

RequestDescription
ADDMODEM¹add/configure new modem for use
ADDUSER¹add client access control entry
CONFIG¹send configuration parameter setting to server
DELMODEM¹deconfigure/remove modem
DELUSER¹remove client access control entry
TRIGGERregister real-time event trigger
HELPgive help information, e.g., SITE HELP

In addition FTP requests that are specified in Internet  RFC 959 but not listed here are recognized, but not implemented.

The hfaxd server will abort an active data transfer only when the ABOR command is preceded by a Telnet "Interrupt Process" (IP) signal and a Telnet "Synch" signal in the command Telnet stream, as described in Internet RFC 959. If a STAT command is received during a data transfer, preceded by a Telnet IP and Synch, transfer status will be returned.

Simple Network Paging Protocol (Snpp) Support

If hfaxd is started with the -s option it will service clients using the Simple Network Pager Protocol (SNPP) as specified in RFC 1861 (which obsoletes RFC 1645).

The hfaxd server currently recognizes the SNPP protocol requests listed below. Requests marked with a ¹ are non-standard extensions to RFC 1861 that may be added to SNPP at some future time. Case is not distinguished and only the first four characters of requests are used in identifying commands.

RequestDescription
2WAYpreface a 2-way transaction
ABOR¹abort previous command
ACKRset read acknowledgement handling for subsequent requests
ALERset the alter-level for subsequent requests
CALLset the caller-ID for subsequent requests
COVEset the alternate coverage area for subsequent requests
DATAspecify a multi-line message
EXPTset the expiration time for subsequent requests
HELPgive help information
HOLDset the time at which subsequent requests are to be delivered
KTAGkill a previously submitted request
LEVEset the service level for subsequent requests
LOGIlogin to server
MCREspecify multiple response text and code
MESSspecify a single-line message
MSTAreturn the status of a previously submitted request
NOQUdisable message queueing
PAGEspecify the destination pager
PINGlocate/validate a pager
QUITterminate session
RESEreset server state
RTYPset the reply type code for subsequent requests
SENDsend message(s)
SITE¹site-specific commands (see next section)
STAT¹return server status
SUBJset the message text for subsequent requests

The hfaxd server will abort an active SEND operation when an ABOR command is preceded by a Telnet "Interrupt Process" (IP) signal and a Telnet "Synch" signal in the command Telnet stream.

The following non-standard or experimental commands are also supported through the SITE request.

RequestDescription
FROMUSERspecify the sender's identity
IDLEset idle-timer (in seconds)
JPARMquery job parameter status
JQUEUEcontrol whether or not job is queued
LASTTIMEset the time to terminate an unfinished job
MAILADDRset the e-mail address to use for notification
MAXDIALSset the maximum number of times to dial the phone
MAXTRIESset the maximum number of times to try sending the page
MODEMset the modem or class of modems to use
NOTIFYset the e-mail notification
RETRYTIMEset the time to delay between job retries
SCHEDPRIset the scheduling priority for the job [0-255]
HELPgive help information, e.g., SITE HELP

Note that hfaxd requires that SNPP clients login first with the LOGI directive while RFC 1861 permits clients to submit pages anonymously.

Client Access Control

hfaxd controls client access according to the information in the file /var/spool/hylafax/etc/hosts.hfaxd. This file defines the set of users and machines that may receive service and, optionally, defines password challenges to use in authenticating clients. Clients may be permitted access to services with or without a password challenge. Access may also be restricted based on the host machine that a request for service originates from. Consult hosts.hfaxd(5F) for information on the format and content of this file. The SITE ADDUSER protocol request is provided for adding new users to a server (available only to clients with administrative privileges).

Server resources are controlled based on clients' identities. Jobs and documents, both received and submitted, are protected by the server. Typically clients are permitted access to anything they own or that is publicly accessible. There are also administrative privileges that clients may acquire and which permit them wide access to objects that reside on the server.

A complete client-server protocol specification is still outstanding.

hfaxd operates with its root directory set to the top of the HylaFAX spooling area; /var/spool/hylafax. This is done so that clients see a virtual file hierarchy that is completely contained within the HylaFAX operating environment on the server machine. Administrators however must be aware of this action when specifying files in the hfaxd configuration file: absolute pathnames relative to the root of the  spooling should be used to specify filenames.

Server Access Control

The file /var/spool/hylafax/etc/shutdown, when present, specifies when to restrict access to a server machine. When this file is present and contains valid information hfaxd will permit only users with administrative privileges to access the server. Any other users that request service will be denied access and negative server responses will include any shutdown message specified in the shutdown file. Consult hylafax-shutdown(5F) for information on the format and content of this file.

The SHUT protocol request can be used to schedule a server shutdown; it is available only to clients with administrative privileges. To make a shutdown server available again the shutdown file can be deleted with the DELE protocol request (this is to be replaced with an “unshut” protocol request so that implementation details are not part of the protocol).

Configuration Files

hfaxd reads configuration information from the file /etc/hylafax/hfaxd.conf each time a new server process is started (i.e. for each new client). This file uses the same conventions used by other HylaFAX configuration files; as described in hylafax-config(5F). The following configuration parameters are recognized; items marked “(SNPP)” are used only by the SNPP support.

TagTypeDefaultDescription
FaxContactstringsee belowcontact address to show in help text
FileFmtstringsee belowformat string for file status results
IdleTimeoutinteger900client idle timeout in seconds
JobFmtstringsee belowformat string for job status results
JobHostIDstringidentification information for job hosts
JobProtectionoctal0644permissions for job qfiles in sendq/doneq
KillTimeMapstringsee belowmapping from service level to job kill time (SNPP)
LDAPServerURIstringURI of the ldap server including port number
LDAPBaseDNstringLDAP context where user objects can be found
LDAPBindQuerystringformat for the LDAP bind query
LDAPGroupAttributestringgroupMembershipLDAP group attribute label
LDAPReqGroupstringLDAP context of the users group
LDAPSearchDNstringformat for the UserDN in LDAP search
LDAPSearchQuerystringuid=%sformat for the LDAP search query
LDAPVersioninteger3LDAP protocol version to use
LogFacilitystringdaemonsyslog facility name for tracing messages
MaxAdminAttemptsinteger5maximum admin attempts before disconnecting
MaxConsecutiveBadCmdsinteger10maximum invalid commands before disconnecting
MaxIdleTimeoutinteger7200maximum client idle timeout permitted
MaxLoginAttemptsinteger5maximum login attempts before disconnecting
MaxMsgLengthinteger128maximum pager message length (SNPP)
ModemFmtstringsee belowformat string for modem status results
PagerIDMapFilestring/var/spool/hylafax/etc/pagermapname of file for mapping pager IDs (SNPP)
PriorityMapstringsee belowmapping from service level to job priority (SNPP)
RcvFmtstringsee belowformat string for received facsimile status results
RecvqProtectionoctal0444permissions for client access to recvq
RetryTimeMapstringsee belowmapping from service level to job retry time (SNPP)
ServerTracinginteger1server tracing control vector
ShutdownFilestring/var/spool/hylafax/etc/shutdownname of shutdown control file
UserAccessFilestring/var/spool/hylafax/etc/hosts.hfaxdname of access control file
XferLogFilestring/var/spool/hylafax/etc/clientlogname of file for logging client data transfers

The configuration parameters are explained below:

FaxContact

The e-mail address to display as a point of contact in the help text returned to a client in response to the HELP or SITE HELP commands. By default this is “FaxMaster@hostname”, where hostname is the fully qualified name for the machine where the server is running.

FileFmt

The format string to use when returning file status information with the LIST and STAT commands. Formats are specified using printf(3S) style conventions but using the field identifiers listed below. Each item can include field width, precision, left-justification, 0-filling, etc. just as for printf; e.g. %-8p for an 8-character wide, left-justified, blank-padded field containing the file protection flags.

FormatDescription
aLast access time
cCreation time
dDevice number (octal)
fFilename
gGroup identifier (decimal)
iInode number (decimal)
lLink count (decimal)
mLast modification time
oOwner (based on file GID)
pFax-style protection flags (no group bits)
qUNIX-style protection flags
rRoot device number (octal)
sFile size in bytes (decimal)
uUser identifier (decimal)

The default format string is “%-7p %3l %8o %8s %-12.12m %.48f”. It is recommended that all items include a field width so that client applications that construct headers from the format string can constrain the width of column title strings.

IdleTimeout

The initial/default timeout to use in timing out idle clients. This value defines the maximum amount of time (in seconds) that hfaxd will wait for a command from a client before terminating the connection. Unprivileged clients may alter the idle timeout up to the value of MaxIdleTimeout; privileged clients may set the timeout to any value.

JobFmt

The format string to use when returning job status information for jobs in the sendq and doneq directories. Formats are specified using printf(3S) style conventions but using the field identifiers listed below. Each item can include field width, precision, left-justification, 0-filling, etc. just as for printf; e.g. %-3j for a 3-character wide, left-justified, blank-padded field containing the job state.

FormatDescription
ADestination SubAddress
BDestination Password
CDestination company name
DTotal # dials/maximum # dials
EDesired signalling rate
FClient-specific tagline format string
GDesired min-scanline time
HDesired data format
IClient-specified scheduling priority
JClient-specified job tag string
KDesired use of ECM
LDestination geographic location
MNotification e-mail address
NDesired use of private tagline (one-character symbol)
OWhether to use continuation cover page (one-character symbol)
P# pages transmitted/total # pages to transmit
QClient-specified minimum acceptable signalling rate
RDestination person (receiver)
SSender's identity
TTotal # tries/maximum # tries
UPage chopping threshold (inches)
VJob done operation
WCommunication identifier
XJob type (one-character symbol)
YScheduled date and time
ZScheduled time in seconds since the UNIX epoch
aJob state (one-character symbol)
b# consecutive failed tries
cClient machine name
dTotal # dials
ePublic (external) format of dialstring
f# consecutive failed dials
gGroup identifier
hPage chop handling (one-character symbol)
iCurrent scheduling priority
jJob identifier
kJob kill time
lPage length in mm
mAssigned modem
nE-mail notification handling (one-character symbol)
oJob owner
p# pages transmitted
qJob retry time (MM::SS)
rDocument resolution in lines/inch
sJob status information from last failure
tTotal # tries attempted
uMaximum # tries
vClient-specified dialstring
wPage width in mm
xMaximum # dials
yTotal # pages to transmit
zTime to send job

The default format string is “%-4j %3i %1a %6.6o %-12.12e %5P %5D %7z %.25s”. This string constrains each status line to be less than 80 characters. It is recommended that all items include a field width so that client applications, such as faxstat(1) that construct headers from the format string can constrain the width of column title strings.

JobHostID

A formatted string of the format “<id>[:<host>[:<username>:<password>:<adminwd>]]” that identifies a job host.  Multiple instances of JobHostID are used in the configuration file to identify multiple job hosts. “<id>” is a numeric identification for the host which is prepended onto job ids created by that host.  This is used by a client to distinguish between jobs created on different hosts when it may not initially know to which server it connected. “<id>” must be the same number of digits for all configured job hosts. For compatibility with all clients “<id>” must be numeric only. If the instance of JobHostID only includes “<id>” then it is understood to refer to the local host and not a remote host. It is this configuration entry that causes the prepending of the “<id>” number onto the job ids. The other values for the formatted string refer to connection details for user-level and  admin-level login at the identified remote host.  If only “<host>” is provided then the current user's login credentials are used for the chained connection.  This configuration will cause hfaxd to connect  as a client to the specified remote host for the requested action when the job id provided by its  client refers to that remote host (the provided job id matches the “<id>” value in the host's JobHostID configuration).  To do this the hfaxd client connection to the remote host requires administrative privileges or synchonized user accounts on both hosts.   Be aware that when providing “<username>”, “<password>”, and especially “<adminwd>” in the  configuration that this may compromise job security on the remote host since users from this host will be connecting to the remote host as a different user (and possibly with administrative privileges). As a null value for “<adminwd>” is permissible, administrative privileges may be omitted by using  “*” for “<adminwd>”. Because of the chroot under  which the client instance of hfaxd operates it may be necessary to copy or link at least some system files to  the HylaFAX spool directory structure so that the chained client connection can be made to the remote  job host.  This operation may need to be revisited after upgrades or changes to those system files.  To  identify which files may need to be included one may examine strace output for faxstat and look for which files it opens in the operation.

JobProtection

The default setting of “0644” allows all users to view all job parameters in the send and done queues.   The mode determines the permissions of the clients to see the jobs, following the HylaFAX permission model of the group bits controlling uid permissions and the other bits controlling other permissions. A setting of “0640” allows only the job owner and the administrator to view jobs. If a user doesn't have permissions on the job, the job will not be visible  to them when viewing the queues.

KillTimeMap

The mapping from SNPP service level (0-11) to job expiration time (kill time). A mapping is specified as a string of space-separate numbers where each value is the number of minutes to permit a job to run. The default mapping is “5 5 5 15 60 240 720 1440 1440 1440 1440 1440” which expires a job in 5 minutes for service levels 0-2, 15 minutes for level three, 60 minutes for level four, etc.

LDAPServerURI

The full address of the ldap server including port number, i.e.: ldaps://1.2.3.4:636  (for secure connections) or ldap://1.2.3.4:389 (for insecure connections)

LDAPBaseDN

The full LDAP context where user objects can be found, i.e.:  ou=users,dc=example,dc=com for Active Directory/LDAP or ou=users,o=organization for Novell eDirectory

LDAPBindQuery

The format for the LDAP bind query (ldap_sasl_bind_s) where “%s” is replaced with the username. If LDAPBindQuery is not configured, then the bind query will use the format “cn=%s,<BaseDN>” where “%s” is the username, and “<BaseDN>” is the configured LDAPBaseDN string.

LDAPGroupAttribute

The label for the group membership data.  On older OpenLDAP servers this should probably be “groupMembership”. On ActiveDirectory this should probably be “memberOf”.

LDAPReqGroup

The full LDAP context of the group users have to be a member of to gain HylaFAX  access for sending faxes.  If this is not set then no group membership is required.

LDAPSearchDN

The format for the UserDN in the LDAP search (ldap_search_ext_s) where “%s” is replaced with the username.  By default this is the same as LDAPBindQuery .

LDAPSearchQuery

The format for the LDAP search query (ldap_search_ext_s) where “%s” is replaced with the username.  By default this is “uid=%s”.  On ActiveDirectory this should probably be set to “cn=%s”.

LDAPVersion

Version number of the LDAP Protocol to use (default is '3')

LogFacility

The symbolic name for the syslog(3) facility to use when logging error messages and informational/debugging messages requested through the ServerTracing parameter. The list of facility names is found in the system include file <syslog.h>; comparisons are case-insensitive.

MaxAdminAttempts

The maximum number of unsuccessful attempts gain administrative privileges with the ADMIN command that hfaxd will permit a client before terminating the connection. Note that the count of attempts is reset if/when the client successfully gains administrative privileges.

MaxConsecutiveBadCmds

The maximum number of consecutive unrecognized, unimplemented, syntactically incorrect, or otherwise unacceptable commands to permit a client before terminating the connection. This control has two purposes: to handle naive or malicious clients from sending long streams of nonsense commands to a server, and to ensure that clients are forcibly terminated when a server is marked shutdown.

MaxIdleTimeout

The maximum value that a client may set the idle timeout to. This value is not enforced if the client has administrative privileges.

MaxLoginAttempts

The maximum number of unsuccessful attempts to login with the USER and PASS commands that hfaxd will permit a client before terminating the connection.

MaxMsgLength

The maximum number of characters to accept in a pager message specified with the DATA or MESS commands. Messages longer than this value are rejected.

ModemFmt

The format string to use when returning modem status information for modems listed in the status directory. Formats are specified using printf(3S) style conventions but using the field identifiers listed below. Each item can include field width, precision, left-justification, 0-filling, etc. just as for printf; e.g. %-8h for an 8-character wide, left-justified, blank-padded field containing the name of the host the server is running on.

FormatDescription
hServer hostname
lLocal identifier string
mCanonical modem name
nFAX phone number
rMaximum pages that can be received in a single call
sStatus information string
tServer and session tracing levels (xxxxx:yyyyy)
vModem speaker volume as one-character symbol
zA “*” if a faxgetty(8C) process is running; otherwise “ ” (space)

The default format string is “Modem %m (%n): %s”.

PagerIDMapFile

The absolute pathname of the file that contains directions for mapping pager identifiers to IXO/TAP or UCP service providers (and optionally a pager identification number). Consult pagermap(5F) for information on the format and content of this file. (Note that absolute pathnames are relative to the root of the spooling area).

PriorityMap

The mapping from SNPP service level (0-11) to job scheduling priority. A mapping is specified as a string of space-separate numbers where each value is the priority to assign to a job. The default mapping is “63 127 127 127 127 127 127 127 127 127 127 127” which assigns a high priority to service level zero and normal (default) priority to all other service levels.

RcvFmt

The format string to use when returning status information for received facsimile in the recvq directory. Formats are specified using printf(3S) style conventions but using the field identifiers listed below. Each item can include field width, precision, left-justification, 0-filling, etc. just as for printf; e.g. %-3b for a 3-character wide, left-justified, blank-padded field containing the signalling rate.

FormatDescription
XReception indicator (1=yes, 0=no)
YReceived date and time
ZReceived time in seconds since the UNIX epoch
aSubAddress received from sender (if any)
bSignalling rate used during receive
dData format used during receive
eError description if an error occurred during receive
fDocument filename (relative to the recvq directory)
hTime spent receiving document (HH:MM:SS)
lPage length in mm
mFax-style protection mode string (“-rwxrwx”)
nFile size (number of bytes)
oFile owner
pNumber of pages in document
qUNIX-style protection flags
rResolution of received data
sSender identity (TSI)
tCompact representation of the time when the receive happened
wPage width in mm
zA “*” if receive is going on; otherwise “ ” (space)

The default format string is “%-7m %4p%1z %-8.8o %14.14s %7t %f”. This string constrains each status line to be less than 80 characters. It is recommended that all items include a field width so that client applications, such as faxstat(1) that construct headers from the format string can constrain the width of column title strings.

RecvqProtection

The permissions setting for administrator, owners, and users for viewing files in the HylaFAX receive queue.  The default setting of “0444” allows all users to view all files in the queues.  A setting of “0440” allows only the job owner and the  administrator to view files.  A setting of “0040” allows only the administrator  to view the files.  If a user doesn't have permissions  on the file, the file will not be visible to them when viewing the queue.

RetryTimeMap

The mapping from SNPP service level (0-11) to job retry time. A mapping is specified as a string of space-separate numbers where each value is the number of seconds to delay between delivery attempts. A value of zero causes retries to be scheduled using the default algorithm used by the HylaFAX job scheduler. The default mapping is “30 60 60 180 0 0 0 0 0 0 0 0” which retries a level 0 job after a 30 second delay, levels 1 and 2 after 60 seconds, level 3 after 3 minutes, and other jobs are retried according to the usual scheduling algorithm.

ServerTracing

A number that controls the generation of tracing information by a server. areas that are individually controlled. To enable tracing of multiple areas of operation, the flag associated with each area should be bit-or'd to form the value for this tag.

FlagDescription
1 (0x00001)General server operation
2 (0x00002)Client-server protocol requests and responses
4 (0x00004)File transfers from client to server
8 (0x00008)File transfers from server to client
16 (0x00010)Client logins
32 (0x00020)All network connections
64 (0x00040)FIFO messages to and from faxq(8C)
128 (0x00080)TIFF Library errors and warnings
256 (0x00100)Configuration file processing

Tracing messages are directed to syslog(3) using the facility specified with the LogFacility configuration parameter. Note that syslogd(8C) must be configured to capture facility.info, facility.debug, facility.warning, and facility.err messages.

ShutdownFile

The absolute pathname of the server shutdown file; see hylafax-shutdown(5F) for information on the format and content of this file. (Note that absolute pathnames are relative to the root of the spooling area).

UserAccessFile

The absolute pathname of the user access control file; see hosts.hfaxd(5F) for information on the format and content of this file. (Note that absolute pathnames are relative to the root of the spooling area).

XferLogFile

The absolute pathname of the file to use for logging client-server file transfers (when enabled through the ServerTracing parameter). (Note that absolute pathnames are relative to the root of the spooling area).

Options

-q dir

The specified directory is treated as the spooling area. The default spooling area, /var/spool/hylafax, is defined at the time the software is built.

-d

Stop hfaxd from detaching itself from the controlling terminal. This option is normally used only when running hfaxd under a debugger or when hfaxd is started up from the inetd(8C) process.

-D secs

Sleep for the specified number of seconds before actually processing the client to allow a debugger to attach.

-f bindaddressfamily

Bind to the specified bindaddressfamily tcp port. Options are “IPv4”, “IPv6”, or “all”.   Please note that this argument needs to be specified before -i otherwise it will be ignored.

-l bindaddress

Bind to the specified bindaddress tcp port. Please note that this argument needs to be specified before -i otherwise it will be ignored. A better approach to improve security would be to run hfaxd from xinetd, binding its service to the specific port. This will also make hylafax benefits from tcp wrappers and other options provided by xinetd.

-p port:port

Restrict the range of TCP ports used when binding the socket for PASV/EPSV mode data transfers.  Without this option, bind will be called with a port of 0, allowing the kernel to allocate an ephemeral port. To be useful, -p MUST be specified BEFORE -i due to the way command line arguments are parsed.

-i port

Listen on the specified port for service requests and respond with the client-server protocol. The port may be specified either symbolically, e.g. “hylafax” or numerically. This flag may be specified multiple times to request service on multiple different ports.

-s port

Listen on the specified port for service requests and respond with the Simple Network Paging (SNPP) protocol. The port may be specified either symbolically, e.g. “snpp” or numerically. This flag may be specified multiple times to request service on multiple different ports.

-I

Service the client-server protocol using the standard input and output. This option is useful when hfaxd is started up by inetd(8C).

-S

Service the Simple Network Paging (SNPP) protocol using the standard input and output. This option is useful when hfaxd is started up by inetd(8C).

Diagnostics

Diagnostics generated by hfaxd are logged using syslog(3).

-c config

Treat config as a configuration parameter specification that is interpreted after reading the configuration file. For example, “-c servertracing:0x4f” would set the ServerTracing configuration parameter to “0x4f”, overriding any setting in the configuration file.

Files

/etc/hylafax/hfaxd.confserver configuration file
/var/spool/hylafaxspooling area
/var/spool/hylafax/FIFOfor submitting the job
/var/spool/hylafax/sendqwhere job description is placed
/var/spool/hylafax/sendq/seqffor assigning job identifiers
/var/spool/hylafax/sendq/seqf.incrementincrement value for sendq seqf
/var/spool/hylafax/docq/seqffor assigning document identifiers
/var/spool/hylafax/docq/seqf.incrementincrement value for docq seqf
/var/spool/hylafax/tmptemporary location of job-related files
/var/spool/hylafax/docqwhere document files are placed
/var/spool/hylafax/recvqwhere received facsimile are found
/var/spool/hylafax/archivewhere archived jobs are placed
/var/spool/hylafax/logfor server log files
/var/spool/hylafax/clientfor FIFO files used in communicating with faxq
/var/spool/hylafax/statusfor server status information
/var/spool/hylafax/config.devicefor returning server status
/var/spool/hylafax/etc/hosts.hfaxdhost access control list
/var/spool/hylafax/etc/shutdownserver shutdown control
/var/spool/hylafax/etc/pagermapSNPP pager ID mapping file

Bugs

To be filled in.

See Also

sendfax(1), sendpage(1), faxalter(1), faxrm(1), faxstat(1), faxq(8C), syslog(3) hylafax-server(5F), hosts.hfaxd(5F), status(5F), hylafax-shutdown(5F),

Info

July 12, 1996