Download raw body.
[UPDATE] comms/hylafax 6.0.6 -> 6.0.7
The port has been updated to version 6.0.7.
Additional changes introduced in this port:
- Change the daemon account to use _iaxmodem uid, rather than uucp which
was removed from base ages ago.
- Remove patch file patch-libhylafax_FaxRecvInfo_c++ as this is included
in 6.0.7
- Update package permissions so files in /usr/local/libdata/hylafax/bin
are executable
- Update package permission for
/usr/local/libdata/hylafax/etc/xferfaxlog to be writable
- No longer strip symbols when compiling with DEBUG_PACKAGES=
${BUILD_PACKAGES}
Advice for existing installations:
- Updating of old files with ownership set to _iaxmodem in
/usr/local/libdata/hylafax required prior to running this version
- Remove the legacy uucp account from the system if no other
dependencies exist
To update the file ownership in HylaFAX's spool directory, and assuming
the legacy uucp account was set to uid of 66, running this command will
update the files;
find /usr/local/libdata/hylafax -user 66 -exec /sbin/chown 902 {} \;
Alternatively, if this version of HylaFax 6.0.7 has already been
installed you can use;
find /usr/local/libdata/hylafax -user 66 -exec /sbin/chown _hylafax {} \;
Known Issues:
When a facsimile is received and ECM has not been negotiated, the
faxgetty process will SIGABRT on the first page. See attached backtrace.
It appears the SIGABRT issue arose in OpenBSD 6.2.
There are no issues sending a facsimile when ECM has not been negotiated.
If someone can cast their eyes over the code relating to the SIGABRT and
make suggestions, they will be welcomed.
diff -Nupr /usr/ports/comms/hylafax/Makefile ./Makefile
--- /usr/ports/comms/hylafax/Makefile Thu Oct 19 23:38:54 2023
+++ ./Makefile Wed Feb 18 20:52:26 2026
@@ -1,8 +1,6 @@
COMMENT= send/receive faxes and share modems
-DISTNAME= hylafax-6.0.6
-REVISION= 16
+DISTNAME= hylafax-6.0.7
CATEGORIES= comms
-BROKEN= abandonware, uses binaries removed in tiff 4.6
HOMEPAGE= https://www.HylaFAX.org/
@@ -13,7 +11,7 @@ SITES= http://ftp.hylafax.org/source/ \
# License: BSD
# http://www.hylafax.org/HylaFAQ/copyright.html
-PERMIT_PACKAGE= Yes
+PERMIT_PACKAGE= Yes
FLAVORS= a4
FLAVOR?=
@@ -37,6 +35,10 @@ CONFIGURE_ARGS= --nointeractive \
--with-CC="${CC}" \
--with-CXX="${CXX}" \
--with-INSTALL="" \
+ --with-CHGRP="/bin/chgrp" \
+ --with-CHOWN="/sbin/chown" \
+ --with-FAXUID="_hylafax" \
+ --with-FAXGID="dialer" \
--with-OPTIMIZER=""
CONFIGURE_ENV+= CCOMPILER="${CC}" CXXCOMPILER="${CXX}" \
diff -Nupr /usr/ports/comms/hylafax/distinfo ./distinfo
--- /usr/ports/comms/hylafax/distinfo Thu Jul 19 23:05:30 2012
+++ ./distinfo Wed Feb 18 20:52:26 2026
@@ -1,2 +1,2 @@
-SHA256 (hylafax-6.0.6.tar.gz) = KJJpFbI85/W0iW3orF9YOJwsbmu3O07uW71RKWA798A=
-SIZE (hylafax-6.0.6.tar.gz) = 1297412
+SHA256 (hylafax-6.0.7.tar.gz) = o9yxp/2HlL0zzqmpQUwy2hABGd0hMb0IqzqzdJ/DAxU=
+SIZE (hylafax-6.0.7.tar.gz) = 1309111
diff -Nupr /usr/ports/comms/hylafax/patches/patch-configure ./patches/patch-configure
--- /usr/ports/comms/hylafax/patches/patch-configure Sat Mar 12 02:26:27 2022
+++ ./patches/patch-configure Wed Feb 18 20:52:26 2026
@@ -1,6 +1,5 @@
-Index: configure
---- configure.orig
-+++ configure
+--- configure.orig Wed Jun 6 08:58:38 2012
++++ configure Sun Feb 15 10:20:17 2026
@@ -39,7 +39,6 @@
#
DIR_BIN=/usr/local/bin
@@ -9,7 +8,7 @@ Index: configure
DIR_LIB=/usr/local/lib
DIR_LIBEXEC=$DIR_SBIN
DIR_SPOOL=/var/spool/hylafax
-@@ -73,13 +72,13 @@ NLS=auto
+@@ -73,13 +72,13 @@
OPTIMIZER="-O"
LIBCRYPT=
LIBPAM=
@@ -26,7 +25,16 @@ Index: configure
INTLINC=
REGEX=yes
LIBREGEX='-L${DEPTH}/regex -lregex'
-@@ -1559,7 +1558,7 @@ int t() { $f(); return 0; }
+@@ -293,7 +292,7 @@
+ # random version of a program in someone's personal bin.
+ #
+ OPATH=$PATH
+-PATH=/bin:/usr/bin:/etc
++PATH=$OPATH:/bin:/usr/bin:/etc
+ test -d /usr/ccs/bin && PATH=$PATH:/usr/ccs/bin # SVR4/Solaris2
+ test -d /usr/sbin && PATH=$PATH:/usr/sbin # SGI and others
+ test -d /usr/bsd && PATH=$PATH:/usr/bsd # SGI
+@@ -1559,7 +1558,7 @@
int main(){ t(); return 0; }
EOF
capture cat t.c
@@ -35,7 +43,7 @@ Index: configure
}
#
-@@ -1587,7 +1586,7 @@ CheckForIncludeFile()
+@@ -1587,7 +1586,7 @@
echo "#include \"$i\""
done)>t.c++
capture cat t.c++
@@ -44,7 +52,7 @@ Index: configure
}
if [ "$SGI2FAX" = auto ]; then
-@@ -1959,6 +1958,12 @@ EmitConfigurationDefinitions()
+@@ -1959,6 +1958,12 @@
CONFIG_OPENFIFO=O_RDONLY;
fi
;;
@@ -57,7 +65,7 @@ Index: configure
*sysv4.2uw2.1.3) CONFIG_OPENFIFO=O_RDWR;; # UnixWare 2.1.3
*-sysv5UnixWare*) CONFIG_OPENFIFO=O_RDWR;; # UnixWare 7
*-sysv5OpenUNIX*) CONFIG_OPENFIFO=O_RDWR;; # OpenUNIX 8
-@@ -2563,12 +2568,11 @@ EOF
+@@ -2563,12 +2568,11 @@
tiff_offset_t="uint32"
tiff_bytecount_t="uint32"
;;
@@ -71,7 +79,7 @@ Index: configure
;;
esac
fi
-@@ -3405,19 +3409,8 @@ fi
+@@ -3405,19 +3409,8 @@
HAVE_JBIGTIFF="/*#define HAVE_JBIGTIFF 1*/"
if [ "$DISABLE_JBIG" != "yes" ]; then
Note "Checking JBIG-in-TIFF conversion support."
@@ -93,7 +101,7 @@ Index: configure
fi
Note "Done checking TIFF support."
-@@ -3957,6 +3950,7 @@ if [ "$LOCKS" = auto ]; then
+@@ -3957,6 +3950,7 @@
*-solaris*) LOCKS="+ascii";;
*-freebsd*) LOCKS=ascii;;
*-netbsd*) LOCKS=ascii;;
@@ -101,7 +109,7 @@ Index: configure
*bsd*) LOCKS=binary;;
*) LOCKS=ascii;;
esac
-@@ -4681,10 +4675,10 @@ case $MANSCHEME in
+@@ -4681,10 +4675,10 @@
*-0|*-0.gz|*-0.Z|*-gz|*-Z|*-z)
suf=`echo $MANSCHEME | $SED 's/.*-/./'`
A='`echo $$i | sed' B='`' # workaround shell bugs
diff -Nupr /usr/ports/comms/hylafax/patches/patch-faxd_UUCPLock_c++ ./patches/patch-faxd_UUCPLock_c++
--- /usr/ports/comms/hylafax/patches/patch-faxd_UUCPLock_c++ Sat Mar 12 02:26:27 2022
+++ ./patches/patch-faxd_UUCPLock_c++ Wed Feb 18 20:52:26 2026
@@ -1,5 +1,5 @@
---- faxd/UUCPLock.c++.orig Thu Sep 21 05:24:54 2000
-+++ faxd/UUCPLock.c++ Wed Jul 31 12:40:10 2002
+--- faxd/UUCPLock.c++.orig Wed Sep 19 02:51:17 2018
++++ faxd/UUCPLock.c++ Mon Feb 16 09:18:10 2026
@@ -37,6 +37,7 @@ extern "C" {
}
#endif
@@ -8,13 +8,16 @@
/*
* UUCP Device Locking Support.
-@@ -143,10 +144,13 @@ UUCPLock::setupIDs()
+@@ -142,11 +143,14 @@ void
+ UUCPLock::setupIDs()
{
if (UUCPuid == (uid_t) -1) {
- const passwd *pwd = getpwnam("uucp");
+- const passwd *pwd = getpwnam("uucp");
++ const passwd *pwd = getpwnam(FAX_USER);
+ const group *grp = getgrnam("dialer");
if (!pwd)
- faxApp::fatal("Can not deduce identity of UUCP");
+- faxApp::fatal("Can not deduce identity of UUCP");
++ faxApp::fatal("Can not deduce identity of \"%s\"", FAX_USER);
+ if (!grp)
+ faxApp::fatal("Can not deduce identity of DIALER");
UUCPuid = pwd->pw_uid;
diff -Nupr /usr/ports/comms/hylafax/patches/patch-libhylafax_FaxRecvInfo_c++ ./patches/patch-libhylafax_FaxRecvInfo_c++
--- /usr/ports/comms/hylafax/patches/patch-libhylafax_FaxRecvInfo_c++ Sat Mar 12 02:26:27 2022
+++ ./patches/patch-libhylafax_FaxRecvInfo_c++ Thu Jan 1 08:00:00 1970
@@ -1,14 +0,0 @@
-Allow building with C++14
-
-Index: libhylafax/FaxRecvInfo.c++
---- libhylafax/FaxRecvInfo.c++.orig
-+++ libhylafax/FaxRecvInfo.c++
-@@ -112,7 +112,7 @@ FaxRecvInfo::decode(const char* cp)
- if (cp == NULL || cp[1] != ',' || cp[2] != '"')
- return (false);
- u_int i = 0;
-- while (cp+2 != '\0') {
-+ while (*(cp+2) != '\0') {
- callid[i] = cp+3; // +1 for "/+1 for ,/+1 for "
- if (*cp == '\"') break;
- callid[i].resize(callid[i].next(0,'"'));
diff -Nupr /usr/ports/comms/hylafax/pkg/PLIST ./pkg/PLIST
--- /usr/ports/comms/hylafax/pkg/PLIST Sat Mar 12 02:26:27 2022
+++ ./pkg/PLIST Wed Feb 18 21:27:20 2026
@@ -1,6 +1,8 @@
+@newgroup _hylafax:902
+@newuser _hylafax:902:_hylafax::HylaFAX Server:/var/spool/hylafax:/sbin/nologin
@conflict p5-SendPage-*
@mode 4555
-@owner uucp
+@owner _hylafax
@group dialer
@bin bin/faxalter
@mode
@@ -9,7 +11,7 @@
@bin bin/faxcover
@bin bin/faxmail
@mode 4555
-@owner uucp
+@owner _hylafax
@group dialer
@bin bin/faxrm
@mode
@@ -18,13 +20,14 @@
@bin bin/faxstat
@bin bin/sendfax
@bin bin/sendpage
-@owner uucp
+@owner _hylafax
@group dialer
libdata/hylafax/
libdata/hylafax/COPYRIGHT
@comment libdata/hylafax/FIFO
libdata/hylafax/archive/
libdata/hylafax/bin/
+@mode 555
libdata/hylafax/bin/archive
libdata/hylafax/bin/b64-encode.awk
libdata/hylafax/bin/common-functions
@@ -45,6 +48,7 @@ libdata/hylafax/bin/qp-encode.awk
libdata/hylafax/bin/tiff2fax
libdata/hylafax/bin/tiff2pdf
libdata/hylafax/bin/wedged
+@mode
libdata/hylafax/client/
libdata/hylafax/config/
libdata/hylafax/config/att-dataport
@@ -365,7 +369,9 @@ libdata/hylafax/etc/templates/ro/notify-removed.txt
libdata/hylafax/etc/templates/ro/notify-requeued.txt
libdata/hylafax/etc/templates/ro/notify-timedout.txt
libdata/hylafax/etc/typerules
+@mode 600
libdata/hylafax/etc/xferfaxlog
+@mode
libdata/hylafax/info/
libdata/hylafax/log/
libdata/hylafax/pollq/
@@ -451,7 +457,7 @@ sbin/faxaddmodem
sbin/faxcron
@bin sbin/faxdeluser
@mode 4555
-@owner uucp
+@owner _hylafax
@group dialer
@bin sbin/faxgetty
@mode
@@ -462,7 +468,7 @@ sbin/faxcron
@bin sbin/faxmodem
@bin sbin/faxmsg
@mode 4555
-@owner uucp
+@owner _hylafax
@group dialer
@bin sbin/faxq
@mode
@@ -491,7 +497,7 @@ sbin/recvstats
@bin sbin/typetest
sbin/xferfaxstats
@exec ln -sf %D/libdata/hylafax /var/spool/hylafax
-@exec mkfifo %D/libdata/hylafax/FIFO; chown uucp:dialer %D/libdata/hylafax/FIFO; chmod 600 %D/libdata/hylafax/FIFO
+@exec mkfifo %D/libdata/hylafax/FIFO; chown _hylafax:dialer %D/libdata/hylafax/FIFO; chmod 600 %D/libdata/hylafax/FIFO
@unexec rm %D/libdata/hylafax/FIFO
@extraunexec rm -f /var/spool/hylafax
share/doc/pkg-readmes/${PKGSTEM}
Starting program: /usr/local/sbin/faxgetty ttyIAX3
assertion "x == lastx" failed: file "G3Decoder.c++", line 191, function "shopliftedfrom_TIFFFax3fillruns"
Program received signal SIGABRT, Aborted.
thrkill () at /tmp/-:2
warning: 2 /tmp/-: No such file or directory
(gdb) bt
#0 thrkill () at /tmp/-:2
#1 0xf0ab60cc0951767c in ?? ()
#2 0x00000720c9fd690b in _libc_abort () at /usr/src/lib/libc/stdlib/abort.c:51
#3 0x00000720c9f6141a in _libc___assert2 (file=<optimized out>, line=<optimized out>, func=<optimized out>,
failedexpr=<optimized out>) at /usr/src/lib/libc/gen/assert.c:52
#4 0x0000071e3fdf8bff in shopliftedfrom_TIFFFax3fillruns (buf=<optimized out>, runs=0x7ee0e2b08028, erun=<optimized out>,
lastx=<optimized out>) at G3Decoder.c++:191
#5 0x0000071e3fdf9c20 in G3Decoder::decodeRow (this=0x72078fa4a10, scanline=0x7ee0e2b08020, lastx=1728) at G3Decoder.c++:345
#6 0x0000071e3fdf6179 in FaxModem::recvPageDLEData (this=0x72078fa4560, tif=0x72078fc3600, checkQuality=<optimized out>,
params=..., eresult=...) at CopyQuality.c++:215
#7 0x0000071e3fde496c in Class1Modem::recvPageData (this=0x72078fa4560, tif=0x72078fc3600, eresult=...) at Class1Recv.c++:1859
#8 0x0000071e3fde3cbd in Class1Modem::recvPage (this=0x72078fa4560, tif=0x72078fc3600, ppm=@0x7ee0e2b13024: 2, eresult=...,
id=...) at Class1Recv.c++:619
#9 0x0000071e3fdc8718 in FaxServer::recvFaxPhaseD (this=0x720b03bb000, tif=0x72078fc3600, info=..., ppm=@0x7ee0e2b13024: 2,
result=...) at FaxRecv.c++:247
#10 0x0000071e3fdc7f80 in FaxServer::recvDocuments (this=0x720b03bb000, tif=0x72078fc3600, info=..., docs=..., result=...)
at FaxRecv.c++:201
#11 0x0000071e3fdc78f9 in FaxServer::recvFax (this=0x720b03bb000, callid=..., result=...) at FaxRecv.c++:69
#12 0x0000071e3fdc06ef in faxGettyApp::processCall (this=0x720b03bb000, ctype=<optimized out>, eresult=..., callid=...)
at faxGettyApp.c++:579
#13 0x0000071e3fdc0994 in faxGettyApp::answerCall (this=0x720b03bb000, atype=<optimized out>, ctype=@0x7ee0e2b137a4: 2,
eresult=..., callid=..., dialnumber=<optimized out>) at faxGettyApp.c++:542
#14 0x0000071e3fdc0301 in faxGettyApp::answerPhone (this=0x720b03bb000, atype=0, ctype=2, callid=..., dialnumber=0x0)
at faxGettyApp.c++:429
#15 0x0000071e3fdbfb04 in faxGettyApp::listenForRing (this=0x720b03bb000) at faxGettyApp.c++:248
#16 0x0000071e3fdc1864 in faxGettyApp::inputReady (this=0x0, fd=6) at faxGettyApp.c++:905
#17 0x0000071e3fdc1864 in non-virtual thunk to faxGettyApp::inputReady(int) ()
#18 0x0000071e3fe0d76a in Dispatcher::notify (this=0x72078fae380, nfound=1, rmaskret=..., wmaskret=..., emaskret=...)
at Dispatcher.c++:617
#19 0x0000071e3fe0ce4e in Dispatcher::dispatch (this=0x72078fae380, howlong=<optimized out>) at Dispatcher.c++:499
#20 0x0000071e3fdc2519 in main (argc=2, argv=0x7ee0e2b13cd8) at faxGettyApp.c++:1150
(gdb)
[UPDATE] comms/hylafax 6.0.6 -> 6.0.7