1HFAXD(8C) HFAXD(8C)
2
3
4
6 hfaxd - HylaFAX client-server protocol server
7
9 /usr/sbin/hfaxd [ -d ] [ -D secs ] [ -q dir ] [ -c config ] [ -o port ]
10 [ -O ] [ -f bindaddressfamily ] [ -l bindaddress ] [ -p
11 pasv_min_port:pasv_max_port ] [ -i port ] [ -I ] [ -s port ] [ -S ]
12
14 hfaxd is the HylaFAX program that implements the server portion of:
15
16 • the client-server protocol and
17
18 • the Simple Network Paging Protocol (SNPP) used to submit message
19 pager jobs to the IXO/TAP and UCP support.
20
21 Additional client-server protocols are planned and hfaxd is intended to
22 be the ``carrier'' through which they are supported.
23
24 hfaxd is typically used in one of two ways; either as a stand-alone
25 process that is started at system boot time to listen for client con‐
26 nections on one or more ports (in which case the -i, -o, or -s option
27 must be used), or as a subservient process to the inetd(8C) program.
28 The two forms of use may however be combined so long as the same ser‐
29 vice is not provided both by the stand-alone hfaxd and through inetd.
30
32 If hfaxd is started with the -i option it will service clients using
33 the HylaFAX client-server protocol. This protocol is strongly related
34 to the Internet File Transfer Protocol (FTP); so much so in fact that
35 FTP client programs that include support for ``quoted commands'' may be
36 used to communicate with hfaxd using the new protocol. (It should also
37 be possible to use FTP-aware World Wide Web browsers such as Mosaic and
38 Netscape Navigator to access HylaFAX servers through the new protocol;
39 but the current format for information returned in directory listings
40 confuses them.)
41
42 The hfaxd server currently recognizes the following protocol requests;
43 case is not distinguished. Entries marked with a ¹ can be used only
44 when the client has established administrative privileges with ADMIN.
45
46 Request Description
47 ABOR abort previous command
48 ACCT specify account (ignored)
49 ADMIN specify password for administrative privileges
50 ALLO allocate storage (vacuously)
51 ANSWER¹ request that call be answered
52 APPE append to a file
53 CDUP change to parent of current working directory
54 CHMOD change mode of a file
55 CHOWN¹ change owner of a file
56 CWD change working directory
57 DELE delete a file
58 DISABLE¹ disable outbound use of modem
59 ENABLE¹ enable outbound use of modem
60 HELP give help information
61 FILEFMT specify/query format for returning file status
62 FORM specify data transfer format
63 IDLE set idle-timer (in seconds)
64 JDELE delete done or suspended job
65 JINTR interrupt job
66 JKILL kill job
67 JNEW create new job
68 JOB set/query current job
69 JOBFMT specify/query format for returning job status
70 JPARM specify/query job state parameter
71 JREST reset current job state
72 JSUBM submit job to scheduler
73 JSUSP suspend job from scheduling
74 JWAIT wait for job to complete
75 JGDELE delete group of jobs
76 JGKILL kill group of jobs
77 JGINTR interrupt group of jobs
78 JGNEW place current job in a new job group
79 JGPARM set state parameter in a group of jobs
80 JGREST reset current state for a group of jobs
81 JGRP set/query current job group
82 JGSUBM submit group of jobs to scheduler
83 JGSUSP suspend group of jobs from scheduling
84 JGWAIT wait for group of jobs to complete
85 LIST list files in a directory
86 MDTM show last modification time of file
87 MODE specify data transfer mode
88 MDMFMT specify/query format for returning modem status
89 NLST give name list of files in directory
90 NOOP do nothing
91 PASS specify password
92 PASV prepare for server-to-server transfer
93 PORT specify data connection port
94 PWD print the current working directory
95 QUIT terminate session
96 RCVFMT specify/query format for returning received facsimile status
97 REIN reinitiate server state
98 REST restart incomplete transfer
99 RETP retrieve the next page in a file
100 RETR retrieve a file
101 SHUT schedule server shutdown
102 SITE non-standard commands (see next section)
103 SIZE return size of file
104 STAT return status of server or file
105 STOR store a file
106 STOT store a temporary file with a unique name
107 STOU store a file with a unique name
108 STRU specify data transfer structure
109 SYST show operating system type of server system
110 TYPE specify data transfer type
111 TZONE specify timezone handling for dates and times
112 USER specify user name
113 VRFY verify dialstring handling and/or least-cost routing
114
115 The following non-standard or experimental commands are supported
116 through the SITE request.
117
118 Request Description
119 ADDMODEM¹ add/configure new modem for use
120 ADDUSER¹ add client access control entry
121 CONFIG¹ send configuration parameter setting to server
122 DELMODEM¹ deconfigure/remove modem
123 DELUSER¹ remove client access control entry
124 TRIGGER register real-time event trigger
125 HELP give help information, e.g., SITE HELP
126
127 In addition FTP requests that are specified in Internet RFC 959 but not
128 listed here are recognized, but not implemented.
129
130 The hfaxd server will abort an active data transfer only when the ABOR
131 command is preceded by a Telnet "Interrupt Process" (IP) signal and a
132 Telnet "Synch" signal in the command Telnet stream, as described in In‐
133 ternet RFC 959. If a STAT command is received during a data transfer,
134 preceded by a Telnet IP and Synch, transfer status will be returned.
135
137 If hfaxd is started with the -s option it will service clients using
138 the Simple Network Pager Protocol (SNPP) as specified in RFC 1861
139 (which obsoletes RFC 1645).
140
141 The hfaxd server currently recognizes the SNPP protocol requests listed
142 below. Requests marked with a ¹ are non-standard extensions to RFC
143 1861 that may be added to SNPP at some future time. Case is not dis‐
144 tinguished and only the first four characters of requests are used in
145 identifying commands.
146
147 Request Description
148 2WAY preface a 2-way transaction
149 ABOR¹ abort previous command
150 ACKR set read acknowledgement handling for subsequent requests
151 ALER set the alter-level for subsequent requests
152 CALL set the caller-ID for subsequent requests
153 COVE set the alternate coverage area for subsequent requests
154 DATA specify a multi-line message
155 EXPT set the expiration time for subsequent requests
156 HELP give help information
157 HOLD set the time at which subsequent requests are to be delivered
158 KTAG kill a previously submitted request
159 LEVE set the service level for subsequent requests
160 LOGI login to server
161 MCRE specify multiple response text and code
162 MESS specify a single-line message
163 MSTA return the status of a previously submitted request
164 NOQU disable message queueing
165 PAGE specify the destination pager
166 PING locate/validate a pager
167 QUIT terminate session
168 RESE reset server state
169 RTYP set the reply type code for subsequent requests
170 SEND send message(s)
171 SITE¹ site-specific commands (see next section)
172 STAT¹ return server status
173 SUBJ set the message text for subsequent requests
174
175 The hfaxd server will abort an active SEND operation when an ABOR com‐
176 mand is preceded by a Telnet "Interrupt Process" (IP) signal and a Tel‐
177 net "Synch" signal in the command Telnet stream.
178
179 The following non-standard or experimental commands are also supported
180 through the SITE request.
181
182 Request Description
183 FROMUSER specify the sender's identity
184 IDLE set idle-timer (in seconds)
185 JPARM query job parameter status
186 JQUEUE control whether or not job is queued
187 LASTTIME set the time to terminate an unfinished job
188 MAILADDR set the e-mail address to use for notification
189 MAXDIALS set the maximum number of times to dial the phone
190 MAXTRIES set the maximum number of times to try sending the page
191 MODEM set the modem or class of modems to use
192 NOTIFY set the e-mail notification
193 RETRYTIME set the time to delay between job retries
194 SCHEDPRI set the scheduling priority for the job [0-255]
195 HELP give help information, e.g., SITE HELP
196
197 Note that hfaxd requires that SNPP clients login first with the LOGI
198 directive while RFC 1861 permits clients to submit pages anonymously.
199
201 hfaxd controls client access according to the information in the file
202 /var/spool/hylafax/etc/hosts.hfaxd. This file defines the set of users
203 and machines that may receive service and, optionally, defines password
204 challenges to use in authenticating clients. Clients may be permitted
205 access to services with or without a password challenge. Access may
206 also be restricted based on the host machine that a request for service
207 originates from. Consult hosts.hfaxd(5F) for information on the format
208 and content of this file. The SITE ADDUSER protocol request is pro‐
209 vided for adding new users to a server (available only to clients with
210 administrative privileges).
211
212 Server resources are controlled based on clients' identities. Jobs and
213 documents, both received and submitted, are protected by the server.
214 Typically clients are permitted access to anything they own or that is
215 publicly accessible. There are also administrative privileges that
216 clients may acquire and which permit them wide access to objects that
217 reside on the server.
218
219 A complete client-server protocol specification is still outstanding.
220
221 hfaxd operates with its root directory set to the top of the HylaFAX
222 spooling area; /var/spool/hylafax. This is done so that clients see a
223 virtual file hierarchy that is completely contained within the HylaFAX
224 operating environment on the server machine. Administrators however
225 must be aware of this action when specifying files in the hfaxd config‐
226 uration file: absolute pathnames relative to the root of the spooling
227 should be used to specify filenames.
228
230 The file /var/spool/hylafax/etc/shutdown, when present, specifies when
231 to restrict access to a server machine. When this file is present and
232 contains valid information hfaxd will permit only users with adminis‐
233 trative privileges to access the server. Any other users that request
234 service will be denied access and negative server responses will in‐
235 clude any shutdown message specified in the shutdown file. Consult hy‐
236 lafax-shutdown(5F) for information on the format and content of this
237 file.
238
239 The SHUT protocol request can be used to schedule a server shutdown; it
240 is available only to clients with administrative privileges. To make a
241 shutdown server available again the shutdown file can be deleted with
242 the DELE protocol request (this is to be replaced with an ``unshut''
243 protocol request so that implementation details are not part of the
244 protocol).
245
247 hfaxd reads configuration information from the file /etc/hy‐
248 lafax/hfaxd.conf each time a new server process is started (i.e. for
249 each new client). This file uses the same conventions used by other
250 HylaFAX configuration files; as described in hylafax-config(5F). The
251 following configuration parameters are recognized; items marked
252 ``(SNPP)'' are used only by the SNPP support.
253 Tag Type Default Description
254 FaxContact string see below contact address to show in help text
255 FileFmt string see below format string for file status results
256 IdleTimeout integer 900 client idle timeout in seconds
257 JobFmt string see below format string for job status results
258 JobHostID string identification information for job hosts
259 JobProtection octal 0644 permissions for job qfiles in sendq/doneq
260 KillTimeMap string see below mapping from service level to job kill time (SNPP)
261 LDAPServerURI string URI of the ldap server including port number
262 LDAPBaseDN string LDAP context where user objects can be found
263 LDAPBindQuery string format for the LDAP bind query
264 LDAPGroupAttribute string groupMembership LDAP group attribute label
265 LDAPReqGroup string LDAP context of the users group
266 LDAPSearchDN string format for the UserDN in LDAP search
267 LDAPSearchQuery string uid=%s format for the LDAP search query
268 LDAPVersion integer 3 LDAP protocol version to use
269 LogFacility string daemon syslog facility name for tracing messages
270 MaxAdminAttempts integer 5 maximum admin attempts before disconnecting
271 MaxConsecutiveBadCmds integer 10 maximum invalid commands before disconnecting
272 MaxIdleTimeout integer 7200 maximum client idle timeout permitted
273 MaxLoginAttempts integer 5 maximum login attempts before disconnecting
274 MaxMsgLength integer 128 maximum pager message length (SNPP)
275 ModemFmt string see below format string for modem status results
276 PagerIDMapFile string /var/spool/hylafax/etc/pagermap name of file for mapping pager IDs (SNPP)
277 PriorityMap string see below mapping from service level to job priority (SNPP)
278 RcvFmt string see below format string for received facsimile status results
279 RecvqProtection octal 0444 permissions for client access to recvq
280 RetryTimeMap string see below mapping from service level to job retry time (SNPP)
281 ServerTracing integer 1 server tracing control vector
282 ShutdownFile string /var/spool/hylafax/etc/shutdown name of shutdown control file
283 UserAccessFile string /var/spool/hylafax/etc/hosts.hfaxd name of access control file
284 XferLogFile string /var/spool/hylafax/etc/clientlog name of file for logging client data transfers
285
286 The configuration parameters are explained below:
287
288 FaxContact
289 The e-mail address to display as a point of contact in the
290 help text returned to a client in response to the HELP or
291 SITE HELP commands. By default this is ``FaxMaster@host‐
292 name'', where hostname is the fully qualified name for the
293 machine where the server is running.
294
295 FileFmt The format string to use when returning file status informa‐
296 tion with the LIST and STAT commands. Formats are specified
297 using printf(3S) style conventions but using the field iden‐
298 tifiers listed below. Each item can include field width,
299 precision, left-justification, 0-filling, etc. just as for
300 printf; e.g. %-8p for an 8-character wide, left-justified,
301 blank-padded field containing the file protection flags.
302
303 Format Description
304 a Last access time
305 c Creation time
306 d Device number (octal)
307 f Filename
308 g Group identifier (decimal)
309 i Inode number (decimal)
310 l Link count (decimal)
311 m Last modification time
312 o Owner (based on file GID)
313 p Fax-style protection flags (no group bits)
314 q UNIX-style protection flags
315 r Root device number (octal)
316 s File size in bytes (decimal)
317 u User identifier (decimal)
318
319 The default format string is ``%-7p %3l %8o %8s %-12.12m
320 %.48f''. It is recommended that all items include a field
321 width so that client applications that construct headers from
322 the format string can constrain the width of column title
323 strings.
324
325 IdleTimeout
326 The initial/default timeout to use in timing out idle
327 clients. This value defines the maximum amount of time (in
328 seconds) that hfaxd will wait for a command from a client be‐
329 fore terminating the connection. Unprivileged clients may
330 alter the idle timeout up to the value of MaxIdleTimeout;
331 privileged clients may set the timeout to any value.
332
333 JobFmt The format string to use when returning job status informa‐
334 tion for jobs in the sendq and doneq directories. Formats
335 are specified using printf(3S) style conventions but using
336 the field identifiers listed below. Each item can include
337 field width, precision, left-justification, 0-filling, etc.
338 just as for printf; e.g. %-3j for a 3-character wide, left-
339 justified, blank-padded field containing the job state.
340
341 Format Description
342 A Destination SubAddress
343 B Destination Password
344 C Destination company name
345 D Total # dials/maximum # dials
346 E Desired signalling rate
347 F Client-specific tagline format string
348 G Desired min-scanline time
349 H Desired data format
350 I Client-specified scheduling priority
351 J Client-specified job tag string
352 K Desired use of ECM
353 L Destination geographic location
354 M Notification e-mail address
355 N Desired use of private tagline (one-character symbol)
356 O Whether to use continuation cover page (one-character symbol)
357 P # pages transmitted/total # pages to transmit
358 Q Client-specified minimum acceptable signalling rate
359 R Destination person (receiver)
360 S Sender's identity
361 T Total # tries/maximum # tries
362 U Page chopping threshold (inches)
363 V Job done operation
364 W Communication identifier
365 X Job type (one-character symbol)
366 Y Scheduled date and time
367 Z Scheduled time in seconds since the UNIX epoch
368 a Job state (one-character symbol)
369 b # consecutive failed tries
370 c Client machine name
371 d Total # dials
372 e Public (external) format of dialstring
373 f # consecutive failed dials
374 g Group identifier
375 h Page chop handling (one-character symbol)
376 i Current scheduling priority
377 j Job identifier
378 k Job kill time
379 l Page length in mm
380 m Assigned modem
381 n E-mail notification handling (one-character symbol)
382 o Job owner
383 p # pages transmitted
384 q Job retry time (MM::SS)
385 r Document resolution in lines/inch
386 s Job status information from last failure
387 t Total # tries attempted
388 u Maximum # tries
389 v Client-specified dialstring
390 w Page width in mm
391 x Maximum # dials
392 y Total # pages to transmit
393 z Time to send job
394
395 The default format string is ``%-4j %3i %1a %6.6o %-12.12e
396 %5P %5D %7z %.25s''. This string constrains each status line
397 to be less than 80 characters. It is recommended that all
398 items include a field width so that client applications, such
399 as faxstat(1) that construct headers from the format string
400 can constrain the width of column title strings.
401
402 JobHostID A formatted string of the format ``<id>[:<host>[:<user‐
403 name>:<password>:<adminwd>]]'' that identifies a job host.
404 Multiple instances of JobHostID are used in the configuration
405 file to identify multiple job hosts. ``<id>'' is a numeric
406 identification for the host which is prepended onto job ids
407 created by that host. This is used by a client to distin‐
408 guish between jobs created on different hosts when it may not
409 initially know to which server it connected. ``<id>'' must be
410 the same number of digits for all configured job hosts. For
411 compatibility with all clients ``<id>'' must be numeric only.
412 If the instance of JobHostID only includes ``<id>'' then it
413 is understood to refer to the local host and not a remote
414 host. It is this configuration entry that causes the
415 prepending of the ``<id>'' number onto the job ids. The
416 other values for the formatted string refer to connection de‐
417 tails for user-level and admin-level login at the identified
418 remote host. If only ``<host>'' is provided then the current
419 user's login credentials are used for the chained connection.
420 This configuration will cause hfaxd to connect as a client to
421 the specified remote host for the requested action when the
422 job id provided by its client refers to that remote host (the
423 provided job id matches the ``<id>'' value in the host's Job‐
424 HostID configuration). To do this the hfaxd client connec‐
425 tion to the remote host requires administrative privileges or
426 synchonized user accounts on both hosts. Be aware that when
427 providing ``<username>'', ``<password>'', and especially
428 ``<adminwd>'' in the configuration that this may compromise
429 job security on the remote host since users from this host
430 will be connecting to the remote host as a different user
431 (and possibly with administrative privileges). As a null
432 value for ``<adminwd>'' is permissible, administrative privi‐
433 leges may be omitted by using ``*'' for ``<adminwd>''. Be‐
434 cause of the chroot under which the client instance of hfaxd
435 operates it may be necessary to copy or link at least some
436 system files to the HylaFAX spool directory structure so that
437 the chained client connection can be made to the remote job
438 host. This operation may need to be revisited after upgrades
439 or changes to those system files. To identify which files
440 may need to be included one may examine strace output for
441 faxstat and look for which files it opens in the operation.
442
443 JobProtection
444 The default setting of ``0644'' allows all users to view all
445 job parameters in the send and done queues. The mode deter‐
446 mines the permissions of the clients to see the jobs, follow‐
447 ing the HylaFAX permission model of the group bits control‐
448 ling uid permissions and the other bits controlling other
449 permissions. A setting of ``0640'' allows only the job owner
450 and the administrator to view jobs. If a user doesn't have
451 permissions on the job, the job will not be visible to them
452 when viewing the queues.
453
454 KillTimeMap
455 The mapping from SNPP service level (0-11) to job expiration
456 time (kill time). A mapping is specified as a string of
457 space-separate numbers where each value is the number of min‐
458 utes to permit a job to run. The default mapping is ``5 5 5
459 15 60 240 720 1440 1440 1440 1440 1440'' which expires a job
460 in 5 minutes for service levels 0-2, 15 minutes for level
461 three, 60 minutes for level four, etc.
462
463 LDAPServerURI
464 The full address of the ldap server including port number,
465 i.e.: ldaps://1.2.3.4:636 (for secure connections) or
466 ldap://1.2.3.4:389 (for insecure connections)
467
468 LDAPBaseDN
469 The full LDAP context where user objects can be found, i.e.:
470 ou=users,dc=example,dc=com for Active Directory/LDAP or
471 ou=users,o=organization for Novell eDirectory
472
473 LDAPBindQuery
474 The format for the LDAP bind query (ldap_sasl_bind_s) where
475 ``%s'' is replaced with the username. If LDAPBindQuery is
476 not configured, then the bind query will use the format
477 ``cn=%s,<BaseDN>'' where ``%s'' is the username, and
478 ``<BaseDN>'' is the configured LDAPBaseDN string.
479
480 LDAPGroupAttribute
481 The label for the group membership data. On older OpenLDAP
482 servers this should probably be ``groupMembership''. On Ac‐
483 tiveDirectory this should probably be ``memberOf''.
484
485 LDAPReqGroup
486 The full LDAP context of the group users have to be a member
487 of to gain HylaFAX access for sending faxes. If this is not
488 set then no group membership is required.
489
490 LDAPSearchDN
491 The format for the UserDN in the LDAP search
492 (ldap_search_ext_s) where ``%s'' is replaced with the user‐
493 name. By default this is the same as LDAPBindQuery .
494
495 LDAPSearchQuery
496 The format for the LDAP search query (ldap_search_ext_s)
497 where ``%s'' is replaced with the username. By default this
498 is ``uid=%s''. On ActiveDirectory this should probably be
499 set to ``cn=%s''.
500
501 LDAPVersion
502 Version number of the LDAP Protocol to use (default is '3')
503
504 LogFacility
505 The symbolic name for the syslog(3) facility to use when log‐
506 ging error messages and informational/debugging messages re‐
507 quested through the ServerTracing parameter. The list of fa‐
508 cility names is found in the system include file <syslog.h>;
509 comparisons are case-insensitive.
510
511 MaxAdminAttempts
512 The maximum number of unsuccessful attempts gain administra‐
513 tive privileges with the ADMIN command that hfaxd will permit
514 a client before terminating the connection. Note that the
515 count of attempts is reset if/when the client successfully
516 gains administrative privileges.
517
518 MaxConsecutiveBadCmds
519 The maximum number of consecutive unrecognized, unimple‐
520 mented, syntactically incorrect, or otherwise unacceptable
521 commands to permit a client before terminating the connec‐
522 tion. This control has two purposes: to handle naive or ma‐
523 licious clients from sending long streams of nonsense com‐
524 mands to a server, and to ensure that clients are forcibly
525 terminated when a server is marked shutdown.
526
527 MaxIdleTimeout
528 The maximum value that a client may set the idle timeout to.
529 This value is not enforced if the client has administrative
530 privileges.
531
532 MaxLoginAttempts
533 The maximum number of unsuccessful attempts to login with the
534 USER and PASS commands that hfaxd will permit a client before
535 terminating the connection.
536
537 MaxMsgLength
538 The maximum number of characters to accept in a pager message
539 specified with the DATA or MESS commands. Messages longer
540 than this value are rejected.
541
542 ModemFmt The format string to use when returning modem status informa‐
543 tion for modems listed in the status directory. Formats are
544 specified using printf(3S) style conventions but using the
545 field identifiers listed below. Each item can include field
546 width, precision, left-justification, 0-filling, etc. just as
547 for printf; e.g. %-8h for an 8-character wide, left-justi‐
548 fied, blank-padded field containing the name of the host the
549 server is running on.
550
551 Format Description
552 h Server hostname
553 l Local identifier string
554 m Canonical modem name
555 n FAX phone number
556 r Maximum pages that can be received in a single call
557 s Status information string
558 t Server and session tracing levels (xxxxx:yyyyy)
559 v Modem speaker volume as one-character symbol
560 z A ``*'' if a faxgetty(8C) process is running; otherwise `` '' (space)
561
562 The default format string is ``Modem %m (%n): %s''.
563
564 PagerIDMapFile
565 The absolute pathname of the file that contains directions
566 for mapping pager identifiers to IXO/TAP or UCP service
567 providers (and optionally a pager identification number).
568 Consult pagermap(5F) for information on the format and con‐
569 tent of this file. (Note that absolute pathnames are rela‐
570 tive to the root of the spooling area).
571
572 PriorityMap
573 The mapping from SNPP service level (0-11) to job scheduling
574 priority. A mapping is specified as a string of space-sepa‐
575 rate numbers where each value is the priority to assign to a
576 job. The default mapping is ``63 127 127 127 127 127 127 127
577 127 127 127 127'' which assigns a high priority to service
578 level zero and normal (default) priority to all other service
579 levels.
580
581 RcvFmt The format string to use when returning status information
582 for received facsimile in the recvq directory. Formats are
583 specified using printf(3S) style conventions but using the
584 field identifiers listed below. Each item can include field
585 width, precision, left-justification, 0-filling, etc. just as
586 for printf; e.g. %-3b for a 3-character wide, left-justified,
587 blank-padded field containing the signalling rate.
588
589 Format Description
590 X Reception indicator (1=yes, 0=no)
591 Y Received date and time
592 Z Received time in seconds since the UNIX epoch
593 a SubAddress received from sender (if any)
594 b Signalling rate used during receive
595 d Data format used during receive
596 e Error description if an error occurred during receive
597 f Document filename (relative to the recvq directory)
598 h Time spent receiving document (HH:MM:SS)
599 l Page length in mm
600 m Fax-style protection mode string (``-rwxrwx'')
601 n File size (number of bytes)
602 o File owner
603 p Number of pages in document
604 q UNIX-style protection flags
605 r Resolution of received data
606 s Sender identity (TSI)
607 t Compact representation of the time when the receive happened
608 w Page width in mm
609 z A ``*'' if receive is going on; otherwise `` '' (space)
610
611 The default format string is ``%-7m %4p%1z %-8.8o %14.14s %7t
612 %f''. This string constrains each status line to be less
613 than 80 characters. It is recommended that all items include
614 a field width so that client applications, such as faxstat(1)
615 that construct headers from the format string can constrain
616 the width of column title strings.
617
618 RecvqProtection
619 The permissions setting for administrator, owners, and users
620 for viewing files in the HylaFAX receive queue. The default
621 setting of ``0444'' allows all users to view all files in the
622 queues. A setting of ``0440'' allows only the job owner and
623 the administrator to view files. A setting of ``0040'' al‐
624 lows only the administrator to view the files. If a user
625 doesn't have permissions on the file, the file will not be
626 visible to them when viewing the queue.
627
628 RetryTimeMap
629 The mapping from SNPP service level (0-11) to job retry time.
630 A mapping is specified as a string of space-separate numbers
631 where each value is the number of seconds to delay between
632 delivery attempts. A value of zero causes retries to be
633 scheduled using the default algorithm used by the HylaFAX job
634 scheduler. The default mapping is ``30 60 60 180 0 0 0 0 0 0
635 0 0'' which retries a level 0 job after a 30 second delay,
636 levels 1 and 2 after 60 seconds, level 3 after 3 minutes, and
637 other jobs are retried according to the usual scheduling al‐
638 gorithm.
639
640 ServerTracing
641 A number that controls the generation of tracing information
642 by a server. areas that are individually controlled. To en‐
643 able tracing of multiple areas of operation, the flag associ‐
644 ated with each area should be bit-or'd to form the value for
645 this tag.
646 Flag Description
647 1 (0x00001) General server operation
648 2 (0x00002) Client-server protocol requests and responses
649 4 (0x00004) File transfers from client to server
650 8 (0x00008) File transfers from server to client
651 16 (0x00010) Client logins
652 32 (0x00020) All network connections
653 64 (0x00040) FIFO messages to and from faxq(8C)
654 128 (0x00080) TIFF Library errors and warnings
655 256 (0x00100) Configuration file processing
656
657 Tracing messages are directed to syslog(3) using the facility
658 specified with the LogFacility configuration parameter. Note
659 that syslogd(8C) must be configured to capture facility.info,
660 facility.debug, facility.warning, and facility.err messages.
661
662 ShutdownFile
663 The absolute pathname of the server shutdown file; see hy‐
664 lafax-shutdown(5F) for information on the format and content
665 of this file. (Note that absolute pathnames are relative to
666 the root of the spooling area).
667
668 UserAccessFile
669 The absolute pathname of the user access control file; see
670 hosts.hfaxd(5F) for information on the format and content of
671 this file. (Note that absolute pathnames are relative to the
672 root of the spooling area).
673
674 XferLogFile
675 The absolute pathname of the file to use for logging client-
676 server file transfers (when enabled through the ServerTracing
677 parameter). (Note that absolute pathnames are relative to
678 the root of the spooling area).
679
681 -q dir The specified directory is treated as the spooling area. The
682 default spooling area, /var/spool/hylafax, is defined at the
683 time the software is built.
684
685 -d Stop hfaxd from detaching itself from the controlling termi‐
686 nal. This option is normally used only when running hfaxd
687 under a debugger or when hfaxd is started up from the in‐
688 etd(8C) process.
689
690 -D secs Sleep for the specified number of seconds before actually
691 processing the client to allow a debugger to attach.
692
693 -f bindaddressfamily
694 Bind to the specified bindaddressfamily tcp port. Options are
695 ``IPv4'', ``IPv6'', or ``all''. Please note that this argu‐
696 ment needs to be specified before -i otherwise it will be ig‐
697 nored.
698
699 -l bindaddress
700 Bind to the specified bindaddress tcp port. Please note that
701 this argument needs to be specified before -i otherwise it
702 will be ignored. A better approach to improve security would
703 be to run hfaxd from xinetd, binding its service to the spe‐
704 cific port. This will also make hylafax benefits from tcp
705 wrappers and other options provided by xinetd.
706
707 -p port:port
708 Restrict the range of TCP ports used when binding the socket
709 for PASV/EPSV mode data transfers. Without this option, bind
710 will be called with a port of 0, allowing the kernel to allo‐
711 cate an ephemeral port. To be useful, -p MUST be specified
712 BEFORE -i due to the way command line arguments are parsed.
713
714 -i port Listen on the specified port for service requests and respond
715 with the client-server protocol. The port may be specified
716 either symbolically, e.g. ``hylafax'' or numerically. This
717 flag may be specified multiple times to request service on
718 multiple different ports.
719
720 -s port Listen on the specified port for service requests and respond
721 with the Simple Network Paging (SNPP) protocol. The port may
722 be specified either symbolically, e.g. ``snpp'' or numeri‐
723 cally. This flag may be specified multiple times to request
724 service on multiple different ports.
725
726 -I Service the client-server protocol using the standard input
727 and output. This option is useful when hfaxd is started up
728 by inetd(8C).
729
730 -S Service the Simple Network Paging (SNPP) protocol using the
731 standard input and output. This option is useful when hfaxd
732 is started up by inetd(8C).
733
735 Diagnostics generated by hfaxd are logged using syslog(3).
736
737 -c config Treat config as a configuration parameter specification that
738 is interpreted after reading the configuration file. For ex‐
739 ample, ``-c servertracing:0x4f'' would set the ServerTracing
740 configuration parameter to ``0x4f'', overriding any setting
741 in the configuration file.
742
744 /etc/hylafax/hfaxd.conf server configuration file
745 /var/spool/hylafax spooling area
746 /var/spool/hylafax/FIFO for submitting the job
747 /var/spool/hylafax/sendq where job description is placed
748 /var/spool/hylafax/sendq/seqf for assigning job identifiers
749 /var/spool/hylafax/sendq/seqf.incrementincrement value for sendq seqf
750 /var/spool/hylafax/docq/seqf for assigning document identifiers
751 /var/spool/hylafax/docq/seqf.incrementincrement value for docq seqf
752 /var/spool/hylafax/tmp temporary location of job-related files
753 /var/spool/hylafax/docq where document files are placed
754 /var/spool/hylafax/recvq where received facsimile are found
755 /var/spool/hylafax/archive where archived jobs are placed
756 /var/spool/hylafax/log for server log files
757 /var/spool/hylafax/client for FIFO files used in communicating with faxq
758 /var/spool/hylafax/status for server status information
759 /var/spool/hylafax/config.device for returning server status
760 /var/spool/hylafax/etc/hosts.hfaxd host access control list
761 /var/spool/hylafax/etc/shutdown server shutdown control
762 /var/spool/hylafax/etc/pagermap SNPP pager ID mapping file
763
765 To be filled in.
766
768 sendfax(1), sendpage(1), faxalter(1), faxrm(1), faxstat(1), faxq(8C),
769 syslog(3) hylafax-server(5F), hosts.hfaxd(5F), status(5F), hylafax-
770 shutdown(5F),
771
772
773
774 July 12, 1996 HFAXD(8C)