Upgrade to 4.01. This port requires tiff-3.4.

PR:		3518
Submitted by:	itojun@itojun.org
This commit is contained in:
Satoshi Asami 1997-05-29 06:49:26 +00:00
parent 3373e4deb6
commit 78c9b17c9c
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=6618
10 changed files with 462 additions and 587 deletions

View File

@ -1,119 +1,62 @@
# ports collection makefile for: hylafax
# Version required: v3.0pl1
# Date created: 16 May 1995
# Whom: Julian Stacey <jhs@freebsd.org>
# To Replace: flexfax v2.3beta038special
# Name changed from flexfax to hylafax by author of both: Sam Leffler.
# Version required: v4.0pl1
# Date created: 19 Apr 1997
# Whom: Jun-ichiro itojun Itoh <itojun@itojun.org>
#
# $Id: Makefile,v 1.8 1996/11/17 03:00:42 obrien Exp $
#
# $Id: Makefile,v 1.7 1996/03/06 08:19:56 asami Exp $
DISTNAME= hylafax-v3.0pl0
PKGNAME= hylafax-3.0.1
DISTNAME= hylafax-v4.0pl1
PKGNAME= hylafax-4.0.1
CATEGORIES= comms
MASTER_SITES= ftp://ftp.sgi.com/sgi/fax/source/
EXTRACT_SUFX= -tar.gz
PATCH_SITES= ftp://ftp.sgi.com/sgi/fax/source/
PATCHFILES= hylafax-v3.0pl0-patch01.gz
MAINTAINER= itojun@itojun.org
MAINTAINER= jhs@FreeBSD.org
BUILD_DEPENDS= bash:${PORTSDIR}/shells/bash \
${PREFIX}/lib/afm/Courier:${PORTSDIR}/print/afm
# no dependency on ghostscript because we don't know which
# version the user prefers
RUN_DEPENDS= bash:${PORTSDIR}/shells/bash
LIB_DEPENDS= tiff34\\.1\\.:${PORTSDIR}/graphics/tiff34 \
jpeg\\.7\\.:${PORTSDIR}/graphics/jpeg
RUN_DEPENDS= bash:${PORTSDIR}/shells/bash gs:${PORTSDIR}/print/ghostscript
BUILD_DEPENDS= bash:${PORTSDIR}/shells/bash
# Someone with more time & less space than me can investigate merging these.
# LIB_DEPENDS= something:${PORTSDIR}/graphics/tiff
# ./libtiff has 2M, & may be duplicates of what is in ${PORTSDIR}/graphics/tiff
# LIB_DEPENDS= something:${PORTSDIR}/print/afm
# ./afm/ has 536K of fonts, that perhaps could be merged.
.if !exists(patches/patch-ab)
IS_INTERACTIVE= yes
# patches/patch-ab makes this BATCH compilable,
# ( If you need interactive config, rm patch-ab )
.endif
PATCH_DIST_STRIP=-p1
USE_GMAKE= yes
CONFIGURE_ARGS= --with-INSTALL="" \
--with-MAKE=gmake --with-CC=/usr/bin/cc \
--with-LIBTIFF="-L${PREFIX}/lib -ltiff34 -ljpeg" \
--with-TIFFINC="${WRKSRC}"
HAS_CONFIGURE= yes
MAN1= fax2ps.1 faxalter.1 faxcover.1 faxmail.1 faxrm.1 faxstat.1 \
hylafax.1 sendfax.1 sendpage.1 sgi2fax.1 textfmt.1
MAN5= pagesizes.5f typerules.5f cid.5f config.5f destctrls.5f \
dialrules.5f hosts.5f hylafax.5f info.5f log.5f recvq.5f \
sendq.5f status.5f tsi.5f xferlog.5f
MAN8= dialtest.8c faxabort.8c faxaddmodem.8c faxanswer.8c \
faxcron.8c faxd.recv.8c faxgetty.8c faxq.8c faxquit.8c \
faxrcvd.8c faxsend.8c mkcover.8c notify.8c pagesend.8c \
pollrcvd.8c ps2fax.8c recvstats.8c tagtest.8c transcript.8c \
tsitest.8c xferstats.8c
MAN1= hylafax.1 faxalter.1 faxcover.1 faxmail.1 faxrm.1 faxstat.1 sendfax.1 \
sendpage.1 sgi2fax.1 textfmt.1
MAN5= pagesizes.5f typerules.5f \
hylafax.5f cid.5f config.5f destctrls.5f dialrules.5f hosts.5f \
info.5f log.5f pagermap.5f recvq.5f sendq.5f shutdown.5f status.5f \
tsi.5f xferlog.5f
MAN8= cqtest.8c choptest.8c dialtest.8c faxabort.8c faxaddmodem.8c \
faxanswer.8c faxconfig.8c faxmodem.8c faxstate.8c faxcron.8c \
faxgetty.8c faxinfo.8c faxq.8c faxqclean.8c faxquit.8c faxrcvd.8c \
faxsend.8c faxsetup.8c faxwatch.8c hfaxd.8c mkcover.8c notify.8c \
pagesend.8c pollrcvd.8c ps2fax.8c recvstats.8c tagtest.8c tiff2fax.8c \
tiffcheck.8c tsitest.8c wedged.8c xferstats.8c
FAXCOVER?= /etc/faxcover.ps
# Default location to check for an optional over-riding host specific
# customised faxcover that will be installed in these sources,
# & end up where Hylafax installs all its stuff by default:
# /var/spool/fax/etc/....
# Note dont make FAXCOVER use a variable (such as ${PREFIX}),
# as that wont work in `exists' below.
SUID_EXES= ${PREFIX}/sbin/faxgetty ${PREFIX}/sbin/faxq \
${PREFIX}/bin/faxrm ${PREFIX}/bin/faxalter
# ------------------------------------------------------------------------------
# We don't want INSTALL to be passed to configure
do-configure:
@(cd ${WRKSRC}; CC="${CC}" ac_cv_path_CC="${CC}" CFLAGS="${CFLAGS}" \
./${CONFIGURE_SCRIPT} ${CONFIGURE_ARGS})
post-configure:
.if exists(${FAXCOVER})
@echo I see you have ${FAXCOVER},
@echo which I will use to install a system default from.
@# When I suggested to Sam (in the flexfax mailing list) merging
@# in the distribution util/cover.templ & faxcover/faxcover.ps
@# ( as they are virtually identical) Sam said they're for
@# different things, & wouldn't do it. I don't know what the
@# different purposes are, & I Do succesfully use the same file.
-cd ${WRKSRC} ; mv faxcover/faxcover.ps faxcover/faxcover.ps.mv
-cd ${WRKSRC} ; mv util/cover.templ util/cover.templ.mv
-cd ${WRKSRC} ; ln -s ../cover.ps faxcover/faxcover.ps
-cd ${WRKSRC} ; ln -s ../cover.ps util/cover.templ
-cd ${WRKSRC} ; ln -s ${FAXCOVER} cover.ps
.endif
.if exists(patches/patch-ab)
@echo "patches/patch-ab has supressed interactive configuration."
@# If you need interactive config, rm patch-ab
.endif
# for tiff34
pre-configure:
@${RM} -f ${WRKSRC}/tiff.h
@${RM} -f ${WRKSRC}/tiffio.h
@ln -s ${PREFIX}/include/tiff34.h ${WRKSRC}/tiff.h
@ln -s ${PREFIX}/include/tiffio34.h ${WRKSRC}/tiffio.h
post-install:
cd ${PREFIX}/bin ; strip \
fax2ps faxalter faxcover faxmail faxrm faxstat sendfax sendpage
cd ${PREFIX}/sbin ; strip faxd.recv faxgetty faxq
@echo "Hylafax by default only does this sete[gu]id 0 stuff:"
@echo " -u uucp -m 4755 faxq faxgetty"
@echo "If you, like I, think it needs more, run 'make suid'"
@echo "Now consider running faxaddmodem"
SUID_EXES= /usr/local/sbin/faxgetty
SUID_EXES+= /usr/local/sbin/faxq
SUID_EXES+= /usr/local/bin/faxrm
SUID_EXES+= /usr/local/bin/faxalter
suid:
@# This does too much, & may perhaps cause security loopholes,
@# but default Hylafax doesnt do enough, eg faxrm wont work,
@# & even worse, I have received a faxes that then silent failed
@# to write to recvq.
@# Only fax modem users who test their hypotheses may change this !
@# (Imagine losing an important incoming fax, if recvq is unwritable.)
chown uucp ${SUID_EXES}
chgrp dialer ${SUID_EXES}
chmod 6555 ${SUID_EXES}
find /var/spool/fax -print | xargs chown uucp
find /var/spool/fax -print | xargs chgrp dialer
find /var/spool/fax -print | xargs chmod g+w
find /var/spool/fax -print | xargs chmod g+r
find /var/spool/fax -type d -print | xargs chmod g+x
# now remove some x bits that get set by mistake.
-cd /var/spool/fax ; chmod g-x FIFO* log/* status/* recvq/* sendq/*
@echo "Now nonsider doing somethink like this:"
@echo " sh"
@echo " n=1"
@echo ' all="ttyd$$n ttyid$$n ttyld$$n cua0$$n cuai0$$n cual0$$n"'
@echo ' chown uucp $$all; chgrp dialer $$all; chmod 660 $$all'
chmod 4555 ${SUID_EXES}
@if [ ! -f ${PREFIX}/etc/rc.d/hylafax.sh.sample ]; then \
cp ${FILESDIR}/hylafax.sh.sample ${PREFIX}/etc/rc.d; \
fi
${CAT} ${PKGDIR}/MESSAGE
.include <bsd.port.mk>

View File

@ -1,2 +1 @@
MD5 (hylafax-v3.0pl0-tar.gz) = 014ec8a64ea7493d26c50c61b5ef3111
MD5 (hylafax-v3.0pl0-patch01.gz) = ed7b8aa6a6ae5d2843624f86478a0f8c
MD5 (hylafax-v4.0pl1-tar.gz) = 47af6fb4b94985c8829c47003bc4e4ab

View File

@ -1,225 +1,10 @@
NOTES ON HYLAFAX IN FREEBSD (/usr/ports/comms/hylafax)
By Julian Stacey <jhs@freebsd.org> May 1995
This port replaces flexfax (which is over a year old).
Thanks to Sam Leffler of SGI for writing & releasing Hylafax :-)
I <jhs@freebsd.org> wrote the FreeBSD ports/comm/hylafax/* files,
Copyright Julian Stacey 1995:
Please preserve & comply with Sam Leffler's & SGI's legal stuff
I hereby release my work in this area for public use, & disclaim
all liability !
Leave my name intact please, I'm a freelance, publicity can be useful.
Documentation:
- On Line Manuals: man hylafax.
- World Wide Web site: (http://www.vix.com/flexfax/
- Source tree: Local copies of web in html & html/FAQ etc.
Mailing List for Support, Development etc:
Don't mail me your fax or modem problems, nor post Hylafax
software bugs & fax modem problems to a Freebsd mail list.
The correct mail list: flexfax@sgi.com
Patches:
Bug reports, accompanied by diff -c patches, will be reviewed &
commited to FreeBSD/ports).
Examples:
Syntax etc examples are in: config.jhs config.ttyd1.jhs etc.ttys.jhs
My Test Environment:
SupraFax V32bis + FreeBSD-2-current (May 1995)
Outstanding:
I'm not sure if the lock file scheme is OK
(It may be, I just used the default).
Some of the permissions are not right,
(sometimes I get many email acknowledgements for each fax
sent (but fax is only sent once, no horrendous phone bill
... yet ;-)
My faxgetty will not answer as a normal modem (maybe its the modem,
or maybe my config file is wrong).
---
Julian Stacey <jhs@freebsd.org> Tel. +49 89 268616. Fax Modem: 2608126
http://www.regent.e-technik.tu-muenchen.de/people/jhs.html
Vector Systems Ltd: an Internet, Unix & C consultancy in Munich Germany
Appended are some example Config files:
etc.ttys
{-------
ttyd1 "/usr/local/sbin/faxgetty" vt100 on unsecure
-------}
config
{-------
LogFacility: daemon
CountryCode: 49
AreaCode: 89
LongDistancePrefix: 0
InternationalPrefix: 00
DialStringRules: etc/dialrules.europe
ServerTracing: 1
MaxSendPages: 20
-------}
config.ttyd1
{-------
# /var/spool/fax/etc/config.ttyd1 by jhs@freebsd.org
# from $Header: /usr/people/sam/fax/config/RCS/rockwell,v 1.25 1995/03/10 23:36:02 sam Exp $
# this file documented in man config
# Sam says:
# {
# If you stop faxq then faxd.recv will remove the job itself;
# otherwise if it sees faxq is running it passes the remove request on and
# assumes the task was completed (there is no acknowledgement).
# ServerTracing so that tracing messages are not sent out (listed in the
# TODO file, a fix is welcome). If you think this might be happening, try
# echo "CServerTracing: 0x201">/var/spool/fax/FIFO
# to force faxq to reset the current value for ServerTracing.
# }
# Configuration for a Rockwell-based Class 2 modem.
# Boca M1440E firmware V1.270 or newer
# Dallas Fax (throw it away!)
# Hayes Optima 24+Fax96 firmware TR00-J260-001 XXX or newer
# SupraFAX v.32bis firmware V1.200-C or newer
# Twincom 144/DF firmware revision V1.200 or newer
# Dynalink 1414VE
# (and others)
# This configuration file sets up the modem to run at 19.2 for
# sending and for receiving. XON/XOFF flow control is used on
# the tty port. RTS/CTS can be used by switching the flow control
# setup, but beware of modems that do not support it during
# facsimile operations. Also beware that the adaptive-answer
# facility, when supported, is usually unreliable.
# AdaptiveAnswer boolean No enable adaptive answer of inbound calls
AdaptiveAnswer Yes
# AnswerRotary string Any alternatives for answering calls
# AnswerRotary "fax data"
# DestControls jhs set later see man destctrls
MaxDials 3 # max calls to transmit a job (presumably doing succesive pages)
# Wrong numbers cost me 23pf per fail, & earache to whoever answers the phone !
# MaxTries 3 # max attempts to transmit a job (3 default)
NoCarrierRetrys 0 # default 1 # number of times to retry dialing on ``NO CARRIER''
# JobReqBusy integer 300 requeue interval for BUSY dial result
MaxSendPages 20 # max pages to permit in a send
# jhs later QualifyTSI file of TSI patterns for qualifying senders
CountryCode: 49
AreaCode: 89
FAXNumber: +49.89.2608126 # also used to name session log file
LocalIdentifier: "+49 89 2608126"
LongDistancePrefix: 0
InternationalPrefix: 00
DialStringRules: etc/dialrules.europe
ServerTracing: 1
SessionTracing: 11
RecvFileMode: 0644 # if you have nosey users, consider 0600
LogFileMode: 0644 # make it 0600 if calling card access codes are logged
DeviceMode: 0600
RingsBeforeAnswer: 2
SpeakerVolume: medium
# Any appearance of ``%l'' is replaced with the tty name and any
# appearance of ``%s'' is replaced with the serial port speed (in decimal).
GettyArgs: "std.%s -" # "std.%s ttyd1" # default is "-h %l dx_%s"
# FreeBSD man getty says: getty [type [tty]]
# FreeBSD man login says: -h specifies host from which the connection received.
# kew@timesink.spk.wa.us (FreeBSD 2.1.0) uses "std.%s -".
TagLineFont: etc/lutRS18.pcf
# pre jhs default was TagLineFormat: "From %%l|%c|Page %%p of %%t"
# %c gives American-only date format, which is confusing in Britain or Germany
# so I use international accountancy date format: (19)95 08 01 (ie 1st Aug)
# I use no words in my tag line, as fax may be in German or English.
#---
# allow at least 4 spaces before VSL as PCS fax chops left margin
# dont actually use space char, as entabbing this file will lose it all
# dont put too much in any one field or will overprint
# %%l takes LocalIdentifier
# %%n sender fax ie +49.89.2608126
# %%d target fax ie +498968004525, from sendfax -d gary@68004.525
# %%p page number inc. cover sheet
# %%t total pages inc. cover sheet
# jhs created `pages' symbol (\241 dec161 xa1) in lutRS18.pcf
# jhs created `phone' symbol (\244 dec164 xa4) in lutRS18.pcf
# `phone' & `pages' are inspired by symbols that pcs fax machine prints
# PCS FAX is "Canon Fax 280" Model H11232, + H11 2325 + HA2 1324, REN=3
TagLineFormat: "Fax %%n|Tel \244 +49 89 268616|\241 %%p/%%t %Y:%m:%d %H:%M"
# MaxRecvPages: unlimited
# Modem-related stuff: should reflect modem command interface
# and hardware connection/cabling (e.g. flow control).
ModemType: Class2 # use class 2 interface
ModemRate: 19200 # fax send&recv is locked at 19.2
ModemFlowControl: xonxoff # default
ModemResetCmds: AT&F2 # what you want for a Supra # JJ I have not checked operation since enabling this
ModemNoFlowCmd: AT&K # disable flow control cmd
ModemHardFlowCmd: AT&K3 # hardware flow control cmd
ModemSoftFlowCmd: AT&K4 # software flow control cmd
ModemSetupDTRCmd: AT&D3 # DTR off causes modem to reset
#ModemSetupDTRCmd: AT&D2S25=1S38=0 # Dynalink 1414VE needs this
ModemSetupDCDCmd: AT&C1 # DCD follows carrier
ModemSetupAACmd: AT+FAA=1+FCLASS=0 # enable in current class
# FAQ says: AT+FAA=1 Auto answer as facsimile or data depending on call
ModemSendFillOrder: LSB2MSB # as expected
ModemRecvFillOrder: MSB2LSB # opposite of what makes sense
ModemDialCmd: ATDT%s@ # T for tone dialing, @ for silence
# Caller ID configuration setup for Supra.
# QualifyCID: etc/cid (off by default) CID access control list file
CIDNumber: "NMBR = " # pattern string for phone number info # JJ I have not checked operation since enabling this
CIDName: "NAME = " # pattern string for identity info # JJ I have not checked operation since enabling this
# DEFAULTS FOR REFERENCE
# ModemAnswerFaxCmd string ATA command for answering fax call
# ModemAnswerDataCmd string ATA command for answering data call
# Class1RecvIdentTimer
# The time, in milliseconds, to wait for an initial
# DCS when receiving a facsimile. CCITT recommenda-
# tion T.30 specifies this as the value of the T1
# timer. However, adaptive answering schemes such as
# that described above under the AdaptiveAnswer
# parameter may require that this timer be shortened.
# Class1RecvIdentTimer 35000 Class 1: max wait (ms) for initial ident frame
Class1RecvIdentTimer 12000
# Supra default wait for carrier is 50/10th sec, change with ats7=255
# Datatronic default wait for carrier is 45/10th sec.
# matthias says: config.ttyd1
#
# FaxT1Timer
# should not be changed without full understanding of the ... server.
# The value of the T1 timer in milliseconds. This
# timer is used to time out the initial session con-
# tact; i.e. receipt of DIS/DCS.
# FaxT1Timer 35000 CCITT T.30 T1 timer (ms)
#
# AdaptiveAnswer:
# Class1RecvIdentTimer should be set to a value that
# is shorter than FaxT1Timer.
# yet defaults for both are exactly the same: 35000 / 1000 sec.
UUCPLockDir /var/spool/lock # jhs added this after seeing where kermit created a lock.
UUCPLockType ascii # jhs added this after seeing what kermit created
# Note kermit -l /dev/supra created /var/spool/lock/LCK..supra
# (supra is a link to cua01, so the lock wont really work, as I'm running
# gettyfax on ttyd1.
-------}
The port is complete rewrite of hylafax-3.0p1 port by Julian Stacey
<jhs@freebsd.org>, May 1995.
original notice was as follows:
Copyright Julian Stacey 1995:
Please preserve & comply with Sam Leffler's & SGI's legal stuff
I hereby release my work in this area for public use,
& disclaim all liability !
Leave my name intact please, I'm a freelance, publicity can
be useful.

View File

@ -0,0 +1,9 @@
#! /bin/sh
# hylafax startup example.
# be sure to initialize the followings:
# server: /usr/local/sbin/faxsetup
# modems: /usr/local/sbin/faxaddmodem
# incoming calls: /etc/ttys
if [ -x /usr/local/sbin/faxq ]; then
/usr/local/sbin/faxq && echo -n ' hylafax'
fi

View File

@ -1,32 +1,27 @@
This patch prepared by Julian Stacey <jhs@FreeBSD.Org
Make this a BATCH compilable port, instead of IS_INTERACTIVE
Warning before removing or renaming this patch,
consult this code segment in ../Makefile:
.if !exists(patches/patch-aa)
IS_INTERACTIVE= yes
.endif
*** configure Sat May 20 16:30:29 1995
--- configure Sat May 20 16:58:58 1995
***************
*** 2889,2895 ****
fi
checkForExecutable $PATH_SENDMAIL
checkForExecutable $PATH_GETTY
! printConfig; prompt "Are these ok [yes]?"; read ok
test -z "$ok" && ok=yes
case "$ok" in
[1-9]|1[0-7]) promptForParameter $ok;;
--- 2889,2898 ----
fi
checkForExecutable $PATH_SENDMAIL
checkForExecutable $PATH_GETTY
! printConfig
! ok=yes
! echo "If you do not like this config, uncomment next prompt line in configure."
! # prompt "Are these ok [yes]?"; read ok
test -z "$ok" && ok=yes
case "$ok" in
[1-9]|1[0-7]) promptForParameter $ok;;
--- ./configure.org Tue Nov 26 15:20:17 1996
+++ ./configure Wed May 28 21:55:16 1997
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/usr/local/bin/bash
# $Id: configure,v 1.401 1996/11/23 17:28:45 sam Rel $
#
# HylaFAX Facsimile Software
@@ -239,7 +241,7 @@
test -d /usr/ucb && PATH=$PATH:/usr/ucb # Sun and others
test -d /usr/contrib/bin && PATH=$PATH:/usr/contrib/bin # BSDi
test -d /usr/5bin && PATH=/usr/5bin:$PATH:/usr/etc # Sun and others
-test -d /usr/local/bin && PATH=/usr/local/bin:$PATH # for GNU stuff
+test -d /usr/local/bin && PATH=$PATH:/usr/local/bin # for GNU stuff
PATH=$PATH:$OPATH
POSIXLY_CORRECT=1; export POSIXLY_CORRECT # disable GNU extensions
@@ -3928,7 +3930,8 @@
printConfig
checkForExecutable $PATH_SENDMAIL
checkForExecutable $PATH_GETTY
- prompt "Are these ok [yes]?"; read ok
+# prompt "Are these ok [yes]?"; read ok
+ ok=yes
test -z "$ok" && ok=yes
case "$ok" in
[1-9]|1[0-9]) promptForParameter $ok;;

View File

@ -1,102 +1,78 @@
*** 1.14 1995/04/08 21:29:53
--- faxd/ClassModem.c++ 1995/06/21 14:44:41
***************
*** 910,915 ****
--- 910,919 ----
* the syntax specified in the "standard". Try looking
* at some of the responses given by rev ~4.04 of the
* ZyXEL firmware (for example)!
+ *
+ * NB: We accept alphanumeric items but don't return them
+ * in the parsed range so that modems like the ZyXEL 2864
+ * that indicate they support ``Class Z'' are handled.
*/
fxBool
ClassModem::vparseRange(const char* cp, int nargs ... )
***************
*** 926,935 ****
matchc = CPAREN;
acceptList = TRUE;
cp++;
! } else if (isdigit(cp[0])) { // <item>
matchc = COMMA;
acceptList = (nargs == 0);
! } else {
b = FALSE;
break;
}
--- 930,939 ----
matchc = CPAREN;
acceptList = TRUE;
cp++;
! } else if (isalnum(cp[0])) { // <item>
matchc = COMMA;
acceptList = (nargs == 0);
! } else { // skip to comma
b = FALSE;
break;
}
***************
*** 939,952 ****
cp++;
continue;
}
! if (!isdigit(cp[0])) {
b = FALSE;
goto done;
}
! int v = 0;
! do {
! v = v*10 + (cp[0] - '0');
! } while (isdigit((++cp)[0]));
int r = v;
if (cp[0] == '-') { // <low>-<high>
cp++;
--- 943,963 ----
cp++;
continue;
}
! if (!isalnum(cp[0])) {
b = FALSE;
goto done;
}
! int v;
! if (isdigit(cp[0])) {
! v = 0;
! do {
! v = v*10 + (cp[0] - '0');
! } while (isdigit((++cp)[0]));
! } else {
! v = -1; // XXX skip item below
! while (isalnum((++cp)[0]))
! ;
! }
int r = v;
if (cp[0] == '-') { // <low>-<high>
cp++;
***************
*** 964,972 ****
cp++;
v++, r++; // XXX 2.0 -> 3
}
! // expand range or list
! for (; v <= r; v++)
! mask |= 1<<v;
if (acceptList && cp[0] == COMMA) // (<item>,<item>...)
cp++;
}
--- 975,984 ----
cp++;
v++, r++; // XXX 2.0 -> 3
}
! if (v != -1) { // expand range or list
! for (; v <= r; v++)
! mask |= 1<<v;
! }
if (acceptList && cp[0] == COMMA) // (<item>,<item>...)
cp++;
}
To fit the FreeBSD tty device handling scheme.
*** faxd/Getty.c++.orig Sun Apr 20 16:40:07 1997
--- faxd/Getty.c++ Sun Apr 20 16:40:31 1997
***************
*** 218,224 ****
// NB: this is executed in the parent
fxStr device = fxStr::format("%s/" | line, _PATH_DEV);
Sys::chown(device, UUCPLock::getUUCPUid(), UUCPLock::getUUCPGid());
! Sys::chmod(device, 0600); // reset protection
}
extern void vlogError(const char* fmt, va_list ap);
--- 218,224 ----
// NB: this is executed in the parent
fxStr device = fxStr::format("%s/" | line, _PATH_DEV);
Sys::chown(device, UUCPLock::getUUCPUid(), UUCPLock::getUUCPGid());
! Sys::chmod(device, 0660); // reset protection
}
extern void vlogError(const char* fmt, va_list ap);
*** faxd/UUCPLock.c++.orig Wed Nov 27 08:21:38 1996
--- faxd/UUCPLock.c++ Sun Apr 20 17:09:21 1997
***************
*** 37,42 ****
--- 37,43 ----
}
#endif
#include <pwd.h>
+ #include <grp.h>
/*
* UUCP Device Locking Support.
***************
*** 146,153 ****
if (!pwd)
faxApp::fatal("Can not deduce identity of UUCP");
UUCPuid = pwd->pw_uid;
- UUCPgid = pwd->pw_gid;
endpwent(); // paranoia
}
}
uid_t UUCPLock::getUUCPUid() { setupIDs(); return UUCPuid; }
--- 147,159 ----
if (!pwd)
faxApp::fatal("Can not deduce identity of UUCP");
UUCPuid = pwd->pw_uid;
endpwent(); // paranoia
+
+ const group *grp = getgrnam("dialer");
+ if (!grp)
+ faxApp::fatal("Can not deduce identity of DIALER");
+ UUCPgid = grp->gr_gid;
+ endgrent(); // paranoia
}
}
uid_t UUCPLock::getUUCPUid() { setupIDs(); return UUCPuid; }
*** config/skel.orig Sun Apr 20 21:53:58 1997
--- config/skel Sun Apr 20 21:54:30 1997
***************
*** 41,48 ****
SessionTracing: 11 # log server-related operations
RecvFileMode: 0600 # recvd facsimile are not public
LogFileMode: 0600 # private log files
! DeviceMode: 0600 # device is accessible only to uucp/fax
! GettyArgs: "-h %l dx_%s" # requires modem to auto-detect fax/data
QualifyTSI: "" # do not restrict inbound facsimile
SpeakerVolume: off # machine's are already too loud
RingsBeforeAnswer: 1 # answer on first ring
--- 41,48 ----
SessionTracing: 11 # log server-related operations
RecvFileMode: 0600 # recvd facsimile are not public
LogFileMode: 0600 # private log files
! DeviceMode: 0660 # device is accessible only to uucp/fax
! GettyArgs: "std.%s" # requires modem to auto-detect fax/data
QualifyTSI: "" # do not restrict inbound facsimile
SpeakerVolume: off # machine's are already too loud
RingsBeforeAnswer: 1 # answer on first ring

View File

@ -1,17 +1,129 @@
Deal with cc -version reporting "2.7.2.1" or any other junk following the
third number.
For multilingualization (iso-2022 variant encodings).
Some part of this is biased to Japanization, however, it should
give some hints to asian people.
Inspired by a larger patch from <jhs@freebsd.org> and apparently
Andreas Klemm <andreas@klemm.gtn.com>
--- configure.dist Mon Oct 14 10:17:10 1996
+++ configure Mon Oct 14 10:18:20 1996
@@ -446,7 +446,7 @@
{
app=$1; shift
eval `$app -v 2>&1 | \
- sed -n -e '/version/s/.* \([0-9]*\)\.\([0-9]*\).\([0-9]*\)/GCCdist=\1;GCCmajor=\2;GCCminor=\3/p'`
+ sed -n -e '/version/s/.* \([0-9]*\)\.\([0-9]*\).\([0-9]*\).*/GCCdist=\1;GCCmajor=\2;GCCminor=\3/p'`
GCCversion="${GCCdist}.${GCCmajor}.${GCCminor}"; export GCCversion
required="$1$2$3"
actual="${GCCdist}${GCCmajor}${GCCminor}"
*** util/TypeRules.c++.orig Wed Nov 27 08:20:45 1996
--- util/TypeRules.c++ Sun Apr 20 23:43:42 1997
***************
*** 48,54 ****
}
static const char* typeNames[] =
! { "ascii", "string", "address", "byte", "short", "long" };
static const char* opNames[] =
{ "<any>", "=", "!=", "<", "<=", ">", ">=", "&", "^", "!" };
static const char* resultNames[] = { "tiff", "postscript", "error" };
--- 48,54 ----
}
static const char* typeNames[] =
! { "ascii", "asciiesc", "string", "address", "byte", "short", "long" };
static const char* opNames[] =
{ "<any>", "=", "!=", "<", "<=", ">", ">=", "&", "^", "!" };
static const char* resultNames[] = { "tiff", "postscript", "error" };
***************
*** 65,71 ****
);
if (type == STRING)
printf(" \"%s\"", value.s);
! else if (type != ASCII) {
if (op == ANY)
printf(" <any value>");
else
--- 65,71 ----
);
if (type == STRING)
printf(" \"%s\"", value.s);
! else if (type != ASCII && type != ASCIIESC) {
if (op == ANY)
printf(" <any value>");
else
***************
*** 83,88 ****
--- 83,89 ----
const u_char* cp = (const u_char*) data;
switch (type) {
case ASCII:
+ {
u_int i;
for (i = 0; i < size; i++)
if (!isprint(cp[i]) && !isspace(cp[i])) {
***************
*** 92,97 ****
--- 93,111 ----
}
ok = TRUE;
goto done;
+ }
+ case ASCIIESC:
+ {
+ u_int i;
+ for (i = 0; i < size; i++)
+ if (!isprint(cp[i]) && !isspace(cp[i]) && cp[i] != '\033') {
+ if (verbose)
+ printf("failed (unprintable char %#x)\n", cp[i]);
+ return (FALSE);
+ }
+ ok = TRUE;
+ goto done;
+ }
case STRING:
ok = (strncmp((const char*)(cp+off), value.s,
fxmin((u_int) strlen(value.s), (u_int)(size-off))) == 0);
***************
*** 307,312 ****
--- 321,328 ----
rule.type = TypeRule::STRING;
else if (strncasecmp(tp, "ascii", cp-tp) == 0)
rule.type = TypeRule::ASCII;
+ else if (strncasecmp(tp, "asciiesc", cp-tp) == 0)
+ rule.type = TypeRule::ASCIIESC;
else if (strncasecmp(tp, "addr", cp-tp) == 0)
rule.type = TypeRule::ADDR;
else {
***************
*** 317,323 ****
cp++;
rule.op = TypeRule::EQ; // default is '='
const char* vp = cp;
! if (rule.type != TypeRule::STRING && rule.type != TypeRule::ASCII) {
// numeric value
switch (*vp) {
case '=': rule.op = TypeRule::EQ; cp++; break;
--- 333,340 ----
cp++;
rule.op = TypeRule::EQ; // default is '='
const char* vp = cp;
! if (rule.type != TypeRule::STRING && rule.type != TypeRule::ASCII
! && rule.type != TypeRule::ASCIIESC) {
// numeric value
switch (*vp) {
case '=': rule.op = TypeRule::EQ; cp++; break;
*** util/TypeRules.h.orig Sun Apr 20 23:22:28 1997
--- util/TypeRules.h Sun Apr 20 23:21:11 1997
***************
*** 130,135 ****
--- 130,136 ----
fxBool cont; // continuation
enum {
ASCII, // ascii-only string
+ ASCIIESC, // ascii-only string + escape char (iso-2022 variants)
STRING, // byte string
ADDR, // address of match
BYTE, // 8 bits
*** util/typerules.orig Sun Apr 20 23:22:49 1997
--- util/typerules Sun Apr 20 23:24:45 1997
***************
*** 128,133 ****
--- 128,138 ----
>15 string ascii ps %F/textfmt -B -f Courier-Bold\
-p 11 -s %s >%o <%i
#
+ # Japanization (should help other iso-2022 variants too)
+ #
+ #>15 string asciiesc ps a2ps-j -l '' -p -ns -nt <%i >%o
+ #0 asciiesc x ps a2ps-j -l '' -p -ns -nt <%i >%o
+ #
# This causes anything else with ascii-only data to be treated as text.
#
0 ascii x ps %F/textfmt -B -f Courier-Bold\

View File

@ -1,14 +1,14 @@
HylaFAX is a facsimile system for UNIXtm systems. Among
the features of HylaFAX are:
- HylaFAX runs as a network service; this means a fax
modem may be effectively shared by a large number of users.
- HylaFAX can be configured to work with a wide variety
of fax modems on a wide variety of systems.
- Access to the system can be restricted by the adminis-
trator to selected hosts and/or users.
- Transmission requests may be processed immediately (default) or queued
for processing at a later time, in the manner of the at(1) command.
- Remote facsimile machines may be polled to retrieve
publicly available documents.
(excerpt from HylaFAX FAQ, http://www.vix.com/hylafax/FAQ/Q1.html)
Julian Stacey <jhs@freebsd.org>
HylaFAX is a facsimile system for UNIX systems. It supports:
o sending facsimile
o receiving facsimile
o polled retrieval of facsimile
o transparent shared data use of the modem
o sending messages to pagers
Facsimile can be any size (e.g. A4, B4), either 98 or 196 lpi, and
transmitted/received as either 1D-encoded or 2D-encoded facsimile data
(2D-encoded data is frequently more compact and hence takes a shorter
time to communicate). Any modem that supports one of the standard
interfaces for facsimile operation can be used; i.e. any Class 1, Class
2, or Class 2.0 modem.

18
comms/hylafax/pkg-message Normal file
View File

@ -0,0 +1,18 @@
Hylafax was installed. You'll need manual configurations to actually
activate it.
Setting up: (for impatients)
Invoke /usr/local/sbin/faxsetup, and answer what she asks.
When you are asked to specify the name of tty device, use "cuaa1"
instead of "ttyd1". Otherwise it does not work well.
Consult /usr/local/etc/rc.d/hylafax.sh.sample for startups.
For accepting incoming FAX/data calls, modify /etc/ttys as below
and send SIGHUP to init process:
>cuaa1 "/usr/local/sbin/faxgetty" dialup on secure
Documentation:
On Line Manuals: man hylafax.
World Wide Web site: http://www.vix.com/flexfax/

View File

@ -1,30 +1,63 @@
@cd /usr/local
sbin/textfmt
sbin/faxmsg
sbin/faxabort
sbin/faxanswer
sbin/faxquit
sbin/faxinfo
sbin/dialtest
sbin/typetest
sbin/xferstats
sbin/recvstats
sbin/faxcron
sbin/faxq
sbin/faxgetty
sbin/faxsend
sbin/pagesend
sbin/tsitest
sbin/tagtest
sbin/faxd.recv
sbin/faxaddmodem
sbin/probemodem
sbin/lockname
sbin/ondelay
lib/fax/pagesizes
lib/fax/typerules
lib/fax/faxcover.ps
bin/fax2ps
/var/spool/fax/COPYRIGHT
/var/spool/fax/FIFO
/var/spool/fax/bin/faxrcvd
/var/spool/fax/bin/mkcover
/var/spool/fax/bin/notify
/var/spool/fax/bin/notify.awk
/var/spool/fax/bin/pcl2fax
/var/spool/fax/bin/pollrcvd
/var/spool/fax/bin/ps2fax.dps
/var/spool/fax/bin/ps2fax.gs
/var/spool/fax/bin/ps2fax.imp
/var/spool/fax/bin/tiff2fax
/var/spool/fax/bin/wedged
/var/spool/fax/config/att-dataport
/var/spool/fax/config/att-dataport-2
/var/spool/fax/config/att-dataport-2.0
/var/spool/fax/config/cirrus
/var/spool/fax/config/class1
/var/spool/fax/config/class2
/var/spool/fax/config/class2.0
/var/spool/fax/config/dsi-scout+
/var/spool/fax/config/e-tech
/var/spool/fax/config/everex-2496d
/var/spool/fax/config/exar
/var/spool/fax/config/gvc-288
/var/spool/fax/config/gvc-288-2
/var/spool/fax/config/intel-400e
/var/spool/fax/config/moto-288
/var/spool/fax/config/mt-1432
/var/spool/fax/config/nuvo-voyager
/var/spool/fax/config/ppi-pm14400fxmt
/var/spool/fax/config/ppi-pm14400fxsa
/var/spool/fax/config/rc144ac
/var/spool/fax/config/rc144ac-1
/var/spool/fax/config/rc288dpi
/var/spool/fax/config/rc288dpi-1
/var/spool/fax/config/rc32acl
/var/spool/fax/config/rc32acl-1
/var/spool/fax/config/rockwell
/var/spool/fax/config/skel
/var/spool/fax/config/telebit-qblazer
/var/spool/fax/config/telebit-t3000
/var/spool/fax/config/telebit-wb
/var/spool/fax/config/tricom2842
/var/spool/fax/config/uds-fastalk
/var/spool/fax/config/usr-2.0
/var/spool/fax/config/usr-rts
/var/spool/fax/config/usr-xon
/var/spool/fax/config/zyxel-1496e
/var/spool/fax/config/zyxel-1496e-1
/var/spool/fax/config/zyxel-1496e-2.0
/var/spool/fax/config/zyxel-2864
/var/spool/fax/etc/cover.templ
/var/spool/fax/etc/dialrules
/var/spool/fax/etc/dialrules.europe
/var/spool/fax/etc/dialrules.sf-ba
/var/spool/fax/etc/dpsprinter.ps
/var/spool/fax/etc/hosts
/var/spool/fax/etc/lutRS18.pcf
/var/spool/fax/etc/xferlog
bin/faxalter
bin/faxcover
bin/faxmail
@ -32,7 +65,12 @@ bin/faxrm
bin/faxstat
bin/sendfax
bin/sendpage
man/man1/fax2ps.1.gz
etc/rc.d/hylafax.sh.sample
lib/fax/faxcover.ps
lib/fax/faxmail.ps
lib/fax/hfaxd.conf
lib/fax/pagesizes
lib/fax/typerules
man/man1/faxalter.1.gz
man/man1/faxcover.1.gz
man/man1/faxmail.1.gz
@ -43,8 +81,6 @@ man/man1/sendfax.1.gz
man/man1/sendpage.1.gz
man/man1/sgi2fax.1.gz
man/man1/textfmt.1.gz
man/man5/pagesizes.5f.gz
man/man5/typerules.5f.gz
man/man5/cid.5f.gz
man/man5/config.5f.gz
man/man5/destctrls.5f.gz
@ -53,22 +89,35 @@ man/man5/hosts.5f.gz
man/man5/hylafax.5f.gz
man/man5/info.5f.gz
man/man5/log.5f.gz
man/man5/pagermap.5f.gz
man/man5/pagesizes.5f.gz
man/man5/recvq.5f.gz
man/man5/sendq.5f.gz
man/man5/shutdown.5f.gz
man/man5/status.5f.gz
man/man5/tsi.5f.gz
man/man5/typerules.5f.gz
man/man5/xferlog.5f.gz
man/man8/choptest.8c.gz
man/man8/cqtest.8c.gz
man/man8/dialtest.8c.gz
man/man8/faxabort.8c.gz
man/man8/faxaddmodem.8c.gz
man/man8/faxanswer.8c.gz
man/man8/faxconfig.8c.gz
man/man8/faxcron.8c.gz
man/man8/faxd.recv.8c.gz
man/man8/faxgetty.8c.gz
man/man8/faxinfo.8c.gz
man/man8/faxmodem.8c.gz
man/man8/faxq.8c.gz
man/man8/faxqclean.8c.gz
man/man8/faxquit.8c.gz
man/man8/faxrcvd.8c.gz
man/man8/faxsend.8c.gz
man/man8/faxsetup.8c.gz
man/man8/faxstate.8c.gz
man/man8/faxwatch.8c.gz
man/man8/hfaxd.8c.gz
man/man8/mkcover.8c.gz
man/man8/notify.8c.gz
man/man8/pagesend.8c.gz
@ -76,70 +125,59 @@ man/man8/pollrcvd.8c.gz
man/man8/ps2fax.8c.gz
man/man8/recvstats.8c.gz
man/man8/tagtest.8c.gz
man/man8/transcript.8c.gz
man/man8/tiff2fax.8c.gz
man/man8/tiffcheck.8c.gz
man/man8/tsitest.8c.gz
man/man8/wedged.8c.gz
man/man8/xferstats.8c.gz
@cd /var/spool/fax
bin/ps2fax.gs
bin/ps2fax.dps
bin/notify
bin/notify.awk
bin/faxrcvd
bin/pollrcvd
bin/mkcover
bin/transcript
bin/ps2fax
etc/dpsprinter.ps
etc/cover.templ
etc/hosts
etc/xferlog
etc/dialrules
etc/dialrules.sf-ba
etc/dialrules.europe
etc/lutRS18.pcf
config/class1
config/class2
config/class2.0
config/skel
config/att-dataport-2
config/att-dataport-2.0
config/att-dataport
config/cirrus
config/dsi-scout+
config/e-tech
config/everex-2496d
config/exar
config/gvc-288
config/gvc-288-2
config/intel-400e
config/moto-288
config/mt-1432
config/nuvo-voyager
config/ppi-pm14400fxmt
config/ppi-pm14400fxsa
config/rc144ac
config/rc144ac-1
config/rc288dpi
config/rc288dpi-1
config/rc32acl
config/rc32acl-1
config/telebit-t3000
config/telebit-qblazer
config/telebit-wb
config/tricom2842
config/uds-fastalk
config/usr-2.0
config/usr-rts
config/usr-xon
config/zyxel-1496e
config/zyxel-1496e-1
config/zyxel-1496e-2.0
recvq
info
log
status
sendq
docq
tmp
FIFO
COPYRIGHT
sbin/choptest
sbin/cqtest
sbin/dialtest
sbin/faxabort
sbin/faxaddmodem
sbin/faxanswer
sbin/faxconfig
sbin/faxcron
sbin/faxgetty
sbin/faxinfo
sbin/faxmodem
sbin/faxmsg
sbin/faxq
sbin/faxqclean
sbin/faxquit
sbin/faxsend
sbin/faxsetup
sbin/faxsetup.bsdi
sbin/faxsetup.irix
sbin/faxsetup.linux
sbin/faxstate
sbin/faxwatch
sbin/hfaxd
sbin/lockname
sbin/ondelay
sbin/pagesend
sbin/probemodem
sbin/recvstats
sbin/tagtest
sbin/textfmt
sbin/tiffcheck
sbin/tsitest
sbin/typetest
sbin/xferstats
@dirrm /var/spool/fax
@dirrm /var/spool/fax/archive
@dirrm /var/spool/fax/bin
@dirrm /var/spool/fax/client
@dirrm /var/spool/fax/config
@dirrm /var/spool/fax/dev
@dirrm /var/spool/fax/docq
@dirrm /var/spool/fax/doneq
@dirrm /var/spool/fax/etc
@dirrm /var/spool/fax/info
@dirrm /var/spool/fax/log
@dirrm /var/spool/fax/pollq
@dirrm /var/spool/fax/recvq
@dirrm /var/spool/fax/sendq
@dirrm /var/spool/fax/status
@dirrm /var/spool/fax/tmp
@dirrm lib/fax