Security fixes for SA16906 (CAN-2005-3069 and CAN-2005-3070) from hylafax CVS

Remove obsolete patches to make this build again on NetBSD (x86)
This commit is contained in:
adrianp 2005-10-30 20:14:07 +00:00
parent 6b1c7caead
commit 83cf29c540
11 changed files with 134 additions and 58 deletions

View file

@ -1,6 +1,7 @@
# $NetBSD: Makefile,v 1.43 2005/04/11 21:45:07 tv Exp $
# $NetBSD: Makefile,v 1.44 2005/10/30 20:14:07 adrianp Exp $
DISTNAME= hylafax-4.2.1
PKGREVISION= 1
CATEGORIES= comms
MASTER_SITES= ftp://ftp.hylafax.org/source/ \
ftp://ftp.leo.org/pub/comp/os/unix/networking/fax/hylafax/source/

View file

@ -1,4 +1,4 @@
$NetBSD: distinfo,v 1.14 2005/02/23 16:05:30 agc Exp $
$NetBSD: distinfo,v 1.15 2005/10/30 20:14:07 adrianp Exp $
SHA1 (hylafax/hylafax-4.2.1.tar.gz) = 7686daa4db84a90695cff6eba2f873ef59659e0e
RMD160 (hylafax/hylafax-4.2.1.tar.gz) = 49634ac9048b428bd4cebae0a0a72c7e3047bcfc
@ -12,12 +12,13 @@ SHA1 (patch-af) = 5c2429d08f2f4c6f5af19dd4775277434abc7ac4
SHA1 (patch-ag) = e1a38918cadf1d1cca7765ee2c050e99dfed0b7f
SHA1 (patch-ah) = 084a99cfe21d7090fca33d9e068036e19707f441
SHA1 (patch-ai) = d45bb9e224b18999489314aa1c1c74fc62a77328
SHA1 (patch-aj) = 4fb211cbe98c3b0919b2f54959320b11da92d1a7
SHA1 (patch-ak) = 56c027115b470819a85974c0e70d3ab649fec744
SHA1 (patch-al) = edac7c7af07556f7321ba7ede1eeca55e618b8cc
SHA1 (patch-am) = b004485310a2257630561a42b3f08896604ce986
SHA1 (patch-an) = 535f9454e473d7bb26a256aec3158cffdb3d0399
SHA1 (patch-ao) = 73da088c0dbc13a0dcb8d6abaa36804f34638c51
SHA1 (patch-ap) = f9d6a2796535e7200419d6e24203b9995e5cfb39
SHA1 (patch-ar) = d5f331cf4be711c33073a348304eb053d41ab0b3
SHA1 (patch-as) = 57c85bfd08738efdb91ec63f5d5e5c36c79fd3a3
SHA1 (patch-ba) = d675d4ef737e0e0ec06c3c668bc094980f2e018d
SHA1 (patch-bb) = 7b035593390cbcbebfc2cc311695c52cc6a8177f
SHA1 (patch-bc) = 6810f1ead317173d0cc0dead389f55a279d5738a
SHA1 (patch-bd) = f3c52d9372831d1f75389fcd1a7cf67fe44079aa
SHA1 (patch-be) = 73e0f40182665a8d0c9007230ddfcc4c6a4477d2

View file

@ -1,13 +0,0 @@
$NetBSD: patch-aj,v 1.6 2005/01/27 16:22:37 adam Exp $
--- faxd/FaxModem.c++.orig 2004-11-23 18:11:02.000000000 +0000
+++ faxd/FaxModem.c++
@@ -734,7 +734,7 @@ FaxModem::notifyPageSent(TIFF* tif)
#include "MemoryDecoder.h"
int
-FaxModem::correctPhaseCData(u_char* buf, u_long* pBufSize,
+FaxModem::correctPhaseCData(u_char* buf, uint32* pBufSize,
u_int fillorder, const Class2Params& params)
{
u_char* endOfData;

View file

@ -1,13 +0,0 @@
$NetBSD: patch-ak,v 1.6 2005/01/27 16:22:37 adam Exp $
--- faxd/FaxModem.h.orig 2004-09-20 19:18:07.000000000 +0000
+++ faxd/FaxModem.h
@@ -152,7 +152,7 @@ protected:
/*
* Correct if neccessary Phase C (T.4/T.6) data (remove extra RTC/EOFB etc.)
*/
- int correctPhaseCData(u_char* buf, u_long* pBufSize,
+ int correctPhaseCData(u_char* buf, uint32* pBufSize,
u_int fillorder, const Class2Params& params);
/*
* Convert Phase C data...

View file

@ -1,13 +0,0 @@
$NetBSD: patch-ar,v 1.8 2005/01/27 16:22:37 adam Exp $
--- faxd/Class1Send.c++.orig 2004-12-29 02:16:46.000000000 +0000
+++ faxd/Class1Send.c++
@@ -1673,7 +1673,7 @@ Class1Modem::sendPage(TIFF* tif, Class2P
uint32* stripbytecount;
(void) TIFFGetField(tif, TIFFTAG_STRIPBYTECOUNTS, &stripbytecount);
tstrip_t strip;
- u_long totdata = 0;
+ uint32 totdata = 0;
for (strip = 0; strip < nstrips; strip++)
totdata += stripbytecount[strip];
/*

View file

@ -1,13 +0,0 @@
$NetBSD: patch-as,v 1.6 2005/01/27 16:22:37 adam Exp $
--- faxd/Class2Send.c++.orig 2004-11-23 18:11:02.000000000 +0000
+++ faxd/Class2Send.c++
@@ -450,7 +450,7 @@ Class2Modem::sendPageData(TIFF* tif, u_i
uint32* stripbytecount;
(void) TIFFGetField(tif, TIFFTAG_STRIPBYTECOUNTS, &stripbytecount);
tstrip_t strip;
- u_long totdata = 0;
+ uint32 totdata = 0;
for (strip = 0; strip < nstrips; strip++)
totdata += stripbytecount[strip];
/*

View file

@ -0,0 +1,20 @@
$NetBSD: patch-ba,v 1.1 2005/10/30 20:14:07 adrianp Exp $
--- util/faxcron.sh.in.orig 2005-10-30 19:13:07.000000000 +0000
+++ util//faxcron.sh.in
@@ -69,9 +69,12 @@ TEE=tee
UPDATE="date +'%D %H:%M' >$LAST"
# security
-TMPDIR=/tmp/.faxcron.sh$$
-rm -rf $TMPDIR
-mkdir $TMPDIR || exit 1
+TMPDIR=`(mktemp -d /tmp/.faxcron.XXXXXX) 2>/dev/null`
+if test X$TMPDIR = X; then
+ TMPDIR=/tmp/.faxcron$$
+fi
+@RM@ -fr $TMPDIR
+(umask 077 ; mkdir $TMPDIR) || exit 1
JUNK=$TMPDIR/faxjunk$$ # temp file used multiple times
AWKTMP=$TMPDIR/faxawk$$ # temp file for awk program

View file

@ -0,0 +1,28 @@
$NetBSD: patch-bb,v 1.1 2005/10/30 20:14:07 adrianp Exp $
--- util/recvstats.sh.in.orig 2005-10-30 19:15:58.000000000 +0000
+++ util/recvstats.sh.in
@@ -142,14 +142,15 @@ esac
#
# Generate an awk program to process the statistics file.
#
-tmpAwk=/tmp/xferfax$$
-trap "rm -f $tmpAwk; exit 1" 0 1 2 15
-
-# security
-rm -rf $tmpAwk
-${NOCLOBBER_ON}
-> $tmpAwk || exit 1
-${NOCLOBBER_OFF}
+TMPDIR=`(mktemp -d /tmp/.recvstats.XXXXXX) 2>/dev/null`
+if test X$TMPDIR = X; then
+ TMPDIR=/tmp/.recvstats$$
+fi
+
+@RM@ -fr $TMPDIR
+(umask 077 ; mkdir $TMPDIR) || exit 1
+tmpAwk=$TMPDIR/xferfax$$
+trap "@RM@ -f $tmpAwk; @RM@ -fr $TMPDIR; exit 1" 0 1 2 15
($CAT<<'EOF'
#

View file

@ -0,0 +1,21 @@
$NetBSD: patch-bc,v 1.1 2005/10/30 20:14:07 adrianp Exp $
--- util/xferfaxstats.sh.in.orig 2005-10-30 19:24:06.000000000 +0000
+++ util/xferfaxstats.sh.in
@@ -169,8 +169,14 @@ esac
#
# Generate an awk program to process the statistics file.
#
-tmpAwk=/tmp/xferfax$$
-trap "rm -f $tmpAwk; exit 1" 0 1 2 15
+TMPDIR=`(mktemp -d /tmp/.xferfaxstats.XXXXXX) 2>/dev/null`
+if test X$TMPDIR = X; then
+ TMPDIR=/tmp/.xferfaxstats$$
+fi
+@RM@ -fr $TMPDIR
+(umask 077 ; mkdir $TMPDIR) || exit 1
+tmpAwk=$TMPDIR/xferfax$$
+trap "@RM@ -fr $TMPDIR; exit 1" 0 1 2 15
($CAT<<'EOF'
#

View file

@ -0,0 +1,38 @@
$NetBSD: patch-bd,v 1.1 2005/10/30 20:14:07 adrianp Exp $
--- util/Transport.c++.orig 2005-10-30 19:41:36.000000000 +0000
+++ util/Transport.c++
@@ -27,7 +27,9 @@
#include "Transport.h"
#include "FaxClient.h"
#include "InetTransport.h"
+#if CONFIG_UNIXTRANSPORT
#include "UnixTransport.h"
+#endif
#include "Sys.h"
#include <errno.h>
@@ -50,17 +52,23 @@ Transport::getTransport(FaxClient& clien
* An unqualified destination; look for
* the best available transport facility.
*/
+#if CONFIG_UNIXTRANPSORT
if (UnixTransport::isA(FAX_DEFUNIX)) {
client.setHost(FAX_DEFUNIX);
return *new UnixTransport(client);
} else {
+#endif
client.setHost(FAX_DEFHOST);
return *new InetTransport(client);
+#if CONFIG_UNIXTRANPSORT
}
+#endif
} else {
+#if CONFIG_UNIXTRANPSORT
if (UnixTransport::isA(address))
return *new UnixTransport(client);
else
+#endif
return *new InetTransport(client);
}
}

View file

@ -0,0 +1,19 @@
$NetBSD: patch-be,v 1.1 2005/10/30 20:14:07 adrianp Exp $
--- util/UnixTransport.c++.orig 2005-10-30 19:44:31.000000000 +0000
+++ util/UnixTransport.c++
@@ -31,13 +31,13 @@
UnixTransport::UnixTransport(FaxClient& c) : Transport(c) {}
UnixTransport::~UnixTransport() {}
+#if CONFIG_UNIXTRANPSORT
bool
UnixTransport::isA(const char* address)
{
return Sys::isSocketFile(address);
}
-#if CONFIG_UNIXTRANSPORT
#include "Socket.h"
extern "C" {