Your message dated Tue, 25 Jan 2005 07:47:17 -0500
with message-id <[EMAIL PROTECTED]>
and subject line Bug#291962: fixed in postgresql 7.4.6-7
has caused the attached Bug report to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what I am
talking about this indicates a serious mail system misconfiguration
somewhere.  Please contact me immediately.)

Debian bug tracking system administrator
(administrator, Debian Bugs database)

--------------------------------------
Received: (at submit) by bugs.debian.org; 24 Jan 2005 09:54:31 +0000
>From [EMAIL PROTECTED] Mon Jan 24 01:54:30 2005
Return-path: <[EMAIL PROTECTED]>
Received: from 148.red-213-96-98.pooles.rima-tde.net (silicio) [213.96.98.148] 
(Debian-exim)
        by spohr.debian.org with esmtp (Exim 3.35 1 (Debian))
        id 1CszwM-0001oL-00; Mon, 24 Jan 2005 00:51:18 -0800
Received: from jfs by silicio with local (Exim 4.43)
        id 1CszwJ-0000Dy-4T; Mon, 24 Jan 2005 09:51:15 +0100
Date: Mon, 24 Jan 2005 09:51:14 +0100
From: Javier =?iso-8859-1?Q?Fern=E1ndez-Sanguino_Pe=F1a?= <[EMAIL PROTECTED]>
To: [EMAIL PROTECTED]
Subject: postgresql: Multiple unsafe /tmp usage in build scripts and tools and 
some fixes to maintainer scripts
Message-ID: <[EMAIL PROTECTED]>
Mime-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha1;
        protocol="application/pgp-signature"; boundary="5I6of5zJg18YgZEa"
Content-Disposition: inline
User-Agent: Mutt/1.5.6+20040907i
Delivered-To: [EMAIL PROTECTED]
X-Spam-Checker-Version: SpamAssassin 2.60-bugs.debian.org_2005_01_02 
        (1.212-2003-09-23-exp) on spohr.debian.org
X-Spam-Status: No, hits=-3.0 required=4.0 tests=BAYES_00 autolearn=no 
        version=2.60-bugs.debian.org_2005_01_02
X-Spam-Level: 


--5I6of5zJg18YgZEa
Content-Type: multipart/mixed; boundary="DocE+STaALJfprDB"
Content-Disposition: inline


--DocE+STaALJfprDB
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

Package: postgresql
Version: 7.4.6-6
Priority: important
Tags: security patch

(Note to security team: even if this bug is tagged security it does not
apply to average users of PostgreSQL just to those building it and using
other extra tools which are not available in the Debian binary packages
but are present in the source code)

Hi postgresql maintainer,

I've been auditing postgresql as part of an auditing effort within the
work of the Debian Security Audit team [1] looking for security bugs
that might be used for symlink attacks in temporary directories.
Reviewin postgresql code I've found a lot of scripts which don't use
temporary directories safely:

- temporary files are created based on the $$ construct, which can be
  known in advance by an attcker enabling him to construct a=20
  symlink attack (either because it is used multiple times in
  files that are created throughout the script or because the PID range
  used can be estimated)
- scripts don't honor $TMPDIR and just drop their stuff in /tmp=20
  directly
- scripts remove files in traps or on startup which might not have been
  created by the script itself.

(Debian specific)
- scripts could use -t in mktemp calls instead of ${TMPDIR:-/tmp}
  (the -t call adds additional checks, see the manpage)
- one script (debian/enable_lang.in) does not check mktemp's
  return value and is not running with -e=20
- the postinst script makes temporary files world-readable when they
  might contain sensitive information (such as database dumps)
=20
As said above, I don't find these issues particularly troubling since
the tools are only used on build systems and that code is not
provided to end-users, that's why I'm labeling this bug as 'important'
and not a higher priority ('grave' is usually attached to these kind
of bugs)

Attached is a proposed patch to fix the above issues. It's not tested,
I'm just trying to provide insight at the code pieces which I
think should be fixed (even though they are easy to find just looking
for '/tmp' in the sources). The patch has been done against the=20
build-tree that the Debian package creates.

It's not included in the patch but I'm slightly worried about the
following file: build-tree/postgresql-7.4.6/src/pl/plperl/ppport.h
Shouldn't this one be modified to one that doesn't use $$ constructs
but File::Temp?

Hope this is useful, if you do think it's proper, please forward it
upstream.

Regards

Javier Fernandez-Sanguino

[1] http://www.nl.debian.org/security/audit/

--DocE+STaALJfprDB
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="postgresql-7.4.6.diff"
Content-Transfer-Encoding: quoted-printable

diff -Nru postgresql-7.4.6.orig/build-tree/postgresql-7.4.6/contrib/pg_upgr=
ade/pg_upgrade postgresql-7.4.6/build-tree/postgresql-7.4.6/contrib/pg_upgr=
ade/pg_upgrade
--- postgresql-7.4.6.orig/build-tree/postgresql-7.4.6/contrib/pg_upgrade/pg=
_upgrade        2002-08-30 00:19:03.000000000 +0200
+++ postgresql-7.4.6/build-tree/postgresql-7.4.6/contrib/pg_upgrade/pg_upgr=
ade     2005-01-23 02:23:25.000000000 +0100
@@ -29,7 +29,11 @@
 fi
=20
=20
-trap "rm -f /tmp/$$.*" 0 1 2 3 15
+tmpsavedata=3D`mktemp -t savedata.XXXXXX` || { echo "$0: Cannot create tem=
porary file" >&2 ; exit 1 ; }
+tmppgdata=3D`mktemp -t pgtmpdata.XXXXXX` || { echo "$0: Cannot create temp=
orary file" >&2 ; exit 1 ; }
+tmpdboidmap=3D`mktemp -t dboidmap.XXXXXX` || { echo "$0: Cannot create tem=
porary file" >&2 ; exit 1 ; }
+tmpdbobjoidmap=3D`mktemp -t dbobjimap.XXXXXX` || { echo "$0: Cannot create=
 temporary file" >&2 ; exit 1 ; }
+trap "rm -f -- \"$tmpsavedata\" \"$tmppgdata\" \"$tmpdboidmap\" \"$tmpdbob=
joidmap\" " 0 1 2 3 13 15
=20
 BASENAME=3D`basename "$0"`
 PHASE=3D""
@@ -328,9 +332,9 @@
=20
 # compare locales to make sure they match
=20
-pg_resetxlog -n "$SAVEDATA" | grep "^LC_" > /tmp/$$.0
-pg_resetxlog -n "$PGDATA" | grep "^LC_" > /tmp/$$.1
-if ! diff /tmp/$$.0 /tmp/$$.1 > /dev/null
+pg_resetxlog -n "$SAVEDATA" | grep "^LC_" > $tmpsavedata
+pg_resetxlog -n "$PGDATA" | grep "^LC_" > $tmppgdata
+if ! diff $tmpsavedata $tmppgdata > /dev/null
 then   echo "Locales do not match between the two versions.  Exiting." 1>&2
        exit 1
 fi
@@ -360,8 +364,8 @@
 echo "Input script completed, fixing row commit statuses..."
=20
 # Generate mappings for new database
-make_dboidmap > /tmp/$$.dboidmap || exit "$?"
-make_dbobjoidmap > /tmp/$$.dbobjoidmap || exit "$?"
+make_dboidmap > $tmpdboidmap || exit "$?"
+make_dbobjoidmap > $tmpdbobjoidmap || exit "$?"
=20
 # we are done with SQL database access
 # shutdown forces buffers to disk
@@ -391,8 +395,8 @@
=20
        SRC_OID=3D`echo "$LINE" | awk '{print $3}'`
        SRC_DBOID=3D`grep "^$DB " "$INFODIR"/dboidmap | awk '{print $2}'`
-       DST_DBOID=3D`grep "^$DB " /tmp/$$.dboidmap | awk '{print $2}'`
-       DST_OID=3D`grep "^$DB   $OBJ    " /tmp/$$.dbobjoidmap | awk '{print 
$3}'`
+       DST_DBOID=3D`grep "^$DB " $tmpdboidmap | awk '{print $2}'`
+       DST_OID=3D`grep "^$DB   $OBJ    " $tmpdbobjoidmap | awk '{print $3}'`
=20
        move_objfiles
=20
@@ -405,13 +409,13 @@
                SRC_OID=3D`grep "^$DB   pg_toast_$SAVE_SRC_OID  " \
                        "$INFODIR"/dbobjoidmap | awk '{print $3}'`
                DST_OID=3D`grep "^$DB   pg_toast_$SAVE_DST_OID  " \
-                       /tmp/$$.dbobjoidmap | awk '{print $3}'`
+                       $tmpdbobjoidmap | awk '{print $3}'`
                move_objfiles
                # toast index
                SRC_OID=3D`grep "^$DB   pg_toast_${SAVE_SRC_OID}_idx    " \
                        "$INFODIR"/dbobjoidmap | awk '{print $3}'`
                DST_OID=3D`grep "^$DB   pg_toast_${SAVE_DST_OID}_idx    " \
-                       /tmp/$$.dbobjoidmap | awk '{print $3}'`
+                       $tmpdbobjoidmap | awk '{print $3}'`
                move_objfiles
        fi
 done
diff -Nru postgresql-7.4.6.orig/build-tree/postgresql-7.4.6/contrib/tools/a=
dd-emacs-variables postgresql-7.4.6/build-tree/postgresql-7.4.6/contrib/too=
ls/add-emacs-variables
--- postgresql-7.4.6.orig/build-tree/postgresql-7.4.6/contrib/tools/add-ema=
cs-variables    1999-06-05 21:09:45.000000000 +0200
+++ postgresql-7.4.6/build-tree/postgresql-7.4.6/contrib/tools/add-emacs-va=
riables 2005-01-24 09:10:28.000000000 +0100
@@ -4,12 +4,15 @@
 #
 # Usage:  cd $PG_HOME && add-emacs-variables `find . -name \*.[chy] -print`
=20
+tmpfile=3D`mktemp -t .add-local.XXXXXX`  || { echo "$0: Cannot create temp=
orary file" >&2; exit 1;  }
+trap " [ -f \"$tmpfile\" ] && /bin/rm -f -- \"$tmpfile\"" 0 1 2 3 13 15
+
 for f in $*; do
     if [ -L $f ] || grep -q '^ \* Local Variables:' $f; then
        continue
     fi
     echo $f
-    touch -r $f /tmp/.add-local-variables.$$
+    touch -r $f $tmpfile
     cat <<- '    EOF' >> $f=20
 =09
        /*
@@ -20,9 +23,8 @@
         * End:
         */
     EOF
-    touch -r /tmp/.add-local-variables.$$ $f
+    touch -r $tmpfile $f
 done
=20
-rm -f /tmp/.add-local-variables.$$
-
+exit 0
 # end of file
diff -Nru postgresql-7.4.6.orig/build-tree/postgresql-7.4.6/src/backend/cat=
alog/genbki.sh postgresql-7.4.6/build-tree/postgresql-7.4.6/src/backend/cat=
alog/genbki.sh
--- postgresql-7.4.6.orig/build-tree/postgresql-7.4.6/src/backend/catalog/g=
enbki.sh        2003-07-29 16:12:50.000000000 +0200
+++ postgresql-7.4.6/build-tree/postgresql-7.4.6/src/backend/catalog/genbki=
=2Esh   2005-01-23 02:34:41.000000000 +0100
@@ -108,13 +108,8 @@
     exit 1
 fi
=20
-if [ x"$TMPDIR" =3D x"" ] ; then
-    TMPDIR=3D/tmp
-fi
-
-
-TMPFILE=3D"$TMPDIR/genbkitmp$$.c"
-
+TMPFILE=3D`tempfile --prefix=3Dgenbk --suffix=3D.c` || {echo "$0: Cannot c=
reate temporary file"
+>&2; exit 1;  }
 trap "rm -f $TMPFILE ${OUTPUT_PREFIX}.bki.$$ ${OUTPUT_PREFIX}.description.=
$$" 0 1 2 3 15
=20
=20
diff -Nru postgresql-7.4.6.orig/build-tree/postgresql-7.4.6/src/include/cat=
alog/duplicate_oids postgresql-7.4.6/build-tree/postgresql-7.4.6/src/includ=
e/catalog/duplicate_oids
--- postgresql-7.4.6.orig/build-tree/postgresql-7.4.6/src/include/catalog/d=
uplicate_oids   2002-09-17 03:28:36.000000000 +0200
+++ postgresql-7.4.6/build-tree/postgresql-7.4.6/src/include/catalog/duplic=
ate_oids        2005-01-24 09:10:51.000000000 +0100
@@ -17,19 +17,21 @@
   echo "uniq -d is not supported on your platform."
   echo "Please report this to [email protected]"
=20
+alloid=3D`mktemp -t alloids.XXXXXX` || { echo "$0: Cannot create temporary=
 file" >&2; exit 1;  }
+uniqoid=3D`mktemp -t uniqoid.XXXXXX` || { echo "$0: Cannot create temporar=
y file" >&2; exit 1;  }
+trap " /bin/rm -f -- \"$alloid\" \"$uniqoid\" " 0 1 2 3 13 15
+
 egrep '^DATA' $FILES | \
        sed -e 's/^.*OID[^=3D]*=3D[^0-9]*//' -e 's/[^0-9].*$//' | \
-       sort -n >/tmp/alloids.$$
-uniq /tmp/alloids.$$ >/tmp/uniqoids.$$
+       sort -n >$alloid
+uniq $alloid >$uniqoid
=20
-diff -u /tmp/alloids.$$ /tmp/uniqoids.$$ | \
+diff -u $alloid $uniqoid | \
        grep -v '/tmp/' | \
        grep '^-' | \
        sed -e 's/^-//' | \
        grep -v '^0$' | \
        uniq
-rm /tmp/alloids.$$
-rm /tmp/uniqoids.$$
=20
 else
=20
diff -Nru postgresql-7.4.6.orig/build-tree/postgresql-7.4.6/src/test/bench/=
perquery postgresql-7.4.6/build-tree/postgresql-7.4.6/src/test/bench/perque=
ry
--- postgresql-7.4.6.orig/build-tree/postgresql-7.4.6/src/test/bench/perque=
ry      1996-07-09 08:22:21.000000000 +0200
+++ postgresql-7.4.6/build-tree/postgresql-7.4.6/src/test/bench/perquery        
20=
05-01-24 09:12:53.000000000 +0100
@@ -1,6 +1,9 @@
 #!/bin/sh
=20
-egrep 'x =3D "|elapse' > /tmp/foo$$
+foo=3D`mktemp -t foo.XXXXXX` || { echo "$0: Cannot create temporary file" =
>&2; exit 1;  }
+trap " [ -f \"$foo\" ] && /bin/rm -f -- \"$foo\"" 0 1 2 3 13 15
+
+egrep 'x =3D "|elapse' > $foo
=20
 awk 'BEGIN { x =3D 0; y =3D 0; z =3D 0; a =3D 0; } \
      /.*elapse.*/ {x =3D $2 + x; y =3D $4 + y; z =3D $6 + z;} \
@@ -8,5 +11,5 @@
         printf "query %2d: %7.3f real %7.3f user %7.3f sys\n", a, x, y, z; \
         x =3D 0; y =3D 0; z =3D 0; a =3D a + 1; } \
      END {printf("query %2d: %7.3f real %7.3f user %7.3f sys\n", a, x, y, =
z);}' \
-        < /tmp/foo$$
+        < $foo
        =20
diff -Nru postgresql-7.4.6.orig/build-tree/postgresql-7.4.6/src/tools/ccsym=
 postgresql-7.4.6/build-tree/postgresql-7.4.6/src/tools/ccsym
--- postgresql-7.4.6.orig/build-tree/postgresql-7.4.6/src/tools/ccsym   2003-=
10-24 23:28:52.000000000 +0200
+++ postgresql-7.4.6/build-tree/postgresql-7.4.6/src/tools/ccsym        
2005-01-24=
 09:14:56.000000000 +0100
@@ -1,10 +1,16 @@
 #!/bin/sh
-trap "rm -f /tmp/$$.*" 0 1 2 3 15
-cd /tmp
-cat >$$.c <<EOF
+
+tmpfile=3D`tempfile --suffix=3D.c` || { echo "$0: Cannot create temporary =
file" >&2; exit 1;  }
+trap " [ -f \"$tmpfile\" ] && /bin/rm -f -- \"$tmpfile\"" 0 1 2 3 13 15
+if [ -d "$TMPDIR" ]; then
+       cd $TMPDIR
+else
+       cd /tmp
+fi
+cat >$tmpfile <<EOF
 extern int foo;
 EOF
-for i in `cc -v -c $$.c 2>&1`
+for i in `cc -v -c $tempfile 2>&1`
 do
         case "$i" in
         -D*) echo "$i" | sed 's/^-D//';;
diff -Nru postgresql-7.4.6.orig/build-tree/postgresql-7.4.6/src/tools/find_=
static postgresql-7.4.6/build-tree/postgresql-7.4.6/src/tools/find_static
--- postgresql-7.4.6.orig/build-tree/postgresql-7.4.6/src/tools/find_static=
        2000-06-09 00:38:00.000000000 +0200
+++ postgresql-7.4.6/build-tree/postgresql-7.4.6/src/tools/find_static  2005=
-01-24 09:15:49.000000000 +0100
@@ -1,5 +1,7 @@
 #!/bin/sh
-trap "rm -f /tmp/$$" 0 1 2 3 15
+
+tmpfile=3D`tempfile` || { echo "$0: Cannot create temporary file" >&2; exi=
t 1;  }
+trap " [ -f \"$tmpfile\" ] && /bin/rm -f -- \"$tmpfile\"" 0 1 2 3 13 15
=20
 # This script finds functions that are either never called, or
 # should be static.
@@ -15,13 +17,13 @@
 find . -name '[a-z]*.o' -type f -print | while read FILE
 do
        nm $FILE | cut -c10-100 |awk '{printf "%s\t%s\t%s\n", 
"'"$FILE"'",$1,$2}'
-done >/tmp/$$
+done >$tmpfile
 dropdb debug
 createdb debug
 echo "
        create table debug (file text, scope char, func text);
=20
-       copy debug from '/tmp/"$$"';
+       copy debug from '"$tmpfile"';
=20
        select  *=20
        into    table debug2=20
diff -Nru postgresql-7.4.6.orig/build-tree/postgresql-7.4.6/src/tools/make_=
ctags postgresql-7.4.6/build-tree/postgresql-7.4.6/src/tools/make_ctags
--- postgresql-7.4.6.orig/build-tree/postgresql-7.4.6/src/tools/make_ctags      
=
2003-01-18 07:06:51.000000000 +0100
+++ postgresql-7.4.6/build-tree/postgresql-7.4.6/src/tools/make_ctags   2005-=
01-24 09:16:37.000000000 +0100
@@ -1,5 +1,7 @@
 #!/bin/sh
-trap "rm -f /tmp/$$" 0 1 2 3 15
+
+tmpfile=3D`tempfile` || { echo "$0: Cannot create temporary file" >&2; exi=
t 1;  }
+trap " [ -f \"$tmpfile\" ] && /bin/rm -f -- \"$tmpfile\"" 0 1 2 3 13 15
 rm -f ./tags
=20
 if ctags --version 2>&1 | grep Exuberant >/dev/null
@@ -10,7 +12,7 @@
 find `pwd`/ \( -name _deadcode -a -prune \) -o \
        -type f -name '*.[chyl]' -print|xargs ctags "$FLAGS" -a -f tags
=20
-sort tags >/tmp/$$ && mv /tmp/$$ tags
+sort tags >$tmpfile && mv $tmpfile tags
=20
 find . -name  'CVS' -prune -o -type d -print  |while read DIR
 do
diff -Nru postgresql-7.4.6.orig/build-tree/postgresql-7.4.6/src/tools/make_=
etags postgresql-7.4.6/build-tree/postgresql-7.4.6/src/tools/make_etags
--- postgresql-7.4.6.orig/build-tree/postgresql-7.4.6/src/tools/make_etags      
=
2001-03-14 22:07:16.000000000 +0100
+++ postgresql-7.4.6/build-tree/postgresql-7.4.6/src/tools/make_etags   2005-=
01-24 09:16:54.000000000 +0100
@@ -1,5 +1,4 @@
 #!/bin/sh
-trap "rm -f /tmp/$$" 0 1 2 3 15
 rm -f ./TAGS
 find `pwd`/ -type f -name '*.[chyl]' -print | \
   xargs etags --append -o TAGS
diff -Nru postgresql-7.4.6.orig/build-tree/postgresql-7.4.6/src/tools/pginc=
lude/pgcompinclude postgresql-7.4.6/build-tree/postgresql-7.4.6/src/tools/p=
ginclude/pgcompinclude
--- postgresql-7.4.6.orig/build-tree/postgresql-7.4.6/src/tools/pginclude/p=
gcompinclude    2000-06-15 00:33:06.000000000 +0200
+++ postgresql-7.4.6/build-tree/postgresql-7.4.6/src/tools/pginclude/pgcomp=
include 2005-01-24 09:19:14.000000000 +0100
@@ -2,22 +2,26 @@
 # report which #include files can not compile on their own
 # takes -v option to display compile failure message and line numbers
=20
-trap "rm -f /tmp/$$.c /tmp/$$.o /tmp/$$ /tmp/$$a" 0 1 2 3 15
+ctmp=3D`tempfile --suffix=3D.c` || { echo "$0: Cannot create temporary fil=
e" >&2; exit 1; }=20
+otmp=3D`tempfile --suffix=3D.o` || { echo "$0: Cannot create temporary fil=
e" >&2; exit 1; }
+tmpfile=3D`tempfile` || { echo "$0: Cannot create temporary file" >&2; exi=
t 1; }
+atmp=3D`tempfile --suffix=3D.a` || { echo "$0: Cannot create temporary fil=
e" >&2; exit 1; }
+trap "rm -f $ctmp $otmp $tmpfile $atmp" 0 1 2 3 13 15
 find . \( -name CVS -a -prune \) -o -name '*.[ch]' -type f -print | while =
read FILE
 do
-       sed 's/->[a-zA-Z0-9_\.]*//g' "$FILE" >/tmp/$$a
-       echo "#include \"postgres.h\"" >/tmp/$$.c
-       echo "#include \"/tmp/$$a\"" >>/tmp/$$.c
-       echo "void include_test(void);" >>/tmp/$$.c
-       echo "void include_test() {" >>/tmp/$$.c
-       pgdefine "$FILE" >>/tmp/$$.c
-       echo "}" >>/tmp/$$.c
-       cc -fsyntax-only -Werror -Wall -Wmissing-prototypes 
-Wmissing-declaration=
s -I/pg/include -I/pg/backend -c /tmp/$$.c -o /tmp/$$.o >/tmp/$$ 2>&1
+       sed 's/->[a-zA-Z0-9_\.]*//g' "$FILE" >$atmp
+       echo "#include \"postgres.h\"" >$ctmp
+       echo "#include \"$atmp\"" >>$ctmp
+       echo "void include_test(void);" >>$ctmp
+       echo "void include_test() {" >>$ctmp
+       pgdefine "$FILE" >>$ctmp
+       echo "}" >>$ctmp
+       cc -fsyntax-only -Werror -Wall -Wmissing-prototypes 
-Wmissing-declaration=
s -I/pg/include -I/pg/backend -c $ctmp -o $otmp >$tmpfile 2>&1
        if [ "$?" -ne 0 ]
        then    echo "$FILE"
                if [ "$1" =3D "-v" ]
-               then    cat /tmp/$$
-                       nl /tmp/$$.c
+               then    cat $tmpfile
+                       nl $ctmp
                        echo
                fi
        fi
diff -Nru postgresql-7.4.6.orig/build-tree/postgresql-7.4.6/src/tools/pginc=
lude/pgdefine postgresql-7.4.6/build-tree/postgresql-7.4.6/src/tools/pgincl=
ude/pgdefine
--- postgresql-7.4.6.orig/build-tree/postgresql-7.4.6/src/tools/pginclude/p=
gdefine 2000-06-15 00:28:16.000000000 +0200
+++ postgresql-7.4.6/build-tree/postgresql-7.4.6/src/tools/pginclude/pgdefi=
ne      2005-01-24 09:08:15.000000000 +0100
@@ -1,12 +1,14 @@
 :
 # create macro calls for all defines in the file
=20
-trap "rm -f /tmp/$$" 0 1 2 3 15
+tmpfile=3D`mktemp -t pgdef.XXXXXX` || { echo "$0: Cannot create temporary =
file"
+>&2; exit 1;  }
+trap " [ -f \"$tmpfile\" ] && /bin/rm -f -- \"$tmpfile\"" 0 1 2 3 13 15
 for FILE
 do
-       cat "$FILE" | grep "^#define" >/tmp/$$
-       cat /tmp/$$ | sed -n 's/^#define[       ][      ]*\([a-zA-Z0-9_]*\)[    
][      ]*[^    ].=
*$/(void)\1;/p'
-       cat /tmp/$$ | sed -n 's/^#define[       ][      
]*\([a-zA-Z0-9_]*([^)]*)\).*$/(=3D=
void)\1;/p' |
+       cat "$FILE" | grep "^#define" >$tmpfile
+       cat $tmpfile | sed -n 's/^#define[      ][      ]*\([a-zA-Z0-9_]*\)[    
][      ]*[^    ]=
=2E*$/(void)\1;/p'
+       cat $tmpfile | sed -n 's/^#define[      ][      
]*\([a-zA-Z0-9_]*([^)]*)\).*$/(=
=3Dvoid)\1;/p' |
        sed 's/([a-zA-Z0-9_ ][a-zA-Z0-9_ ]*)/(0)/g' |
        sed 's/([a-zA-Z0-9_ ]*,/(0,/g' |
        sed 's/,[a-zA-Z0-9_ ]*,/,0,/g' |
diff -Nru postgresql-7.4.6.orig/build-tree/postgresql-7.4.6/src/tools/pginc=
lude/pgfixinclude postgresql-7.4.6/build-tree/postgresql-7.4.6/src/tools/pg=
include/pgfixinclude
--- postgresql-7.4.6.orig/build-tree/postgresql-7.4.6/src/tools/pginclude/p=
gfixinclude     2000-06-15 00:28:16.000000000 +0200
+++ postgresql-7.4.6/build-tree/postgresql-7.4.6/src/tools/pginclude/pgfixi=
nclude  2005-01-24 09:07:48.000000000 +0100
@@ -1,7 +1,8 @@
 :
 # change #include's to <> or ""
=20
-trap "rm -f /tmp/$$.c /tmp/$$.o /tmp/$$ /tmp/$$a /tmp/$$b" 0 1 2 3 15
+tmpfile=3D`mktemp -t tempfile.XXXXXX` || { echo "$0: Cannot create tempora=
ry file" >&2; exit 1;  }
+trap " [ -f \"$tmpfile\" ] && /bin/rm -f -- \"$tmpfile\"" 0 1 2 3 13 15
 find . \( -name CVS -a -prune \) -o -type f -print |
 while read FILE
 do
@@ -11,10 +12,10 @@
        do
                if [ -s /usr/include/"$INCLUDE" ]
                then    cat "$FILE" |
-                       sed 's;^#include[       ][      
]*[<"]'"$INCLUDE"'[>"]$;#include <'"$INCLUDE"'>;=
g' >/tmp/$$
+                       sed 's;^#include[       ][      
]*[<"]'"$INCLUDE"'[>"]$;#include <'"$INCLUDE"'>;=
g' $tmpfile
                else    cat "$FILE" |
-                       sed 's;^#include[       ][      
]*[<"]'"$INCLUDE"'[>"]$;#include "'"$INCLUDE"'";=
g' >/tmp/$$
+                       sed 's;^#include[       ][      
]*[<"]'"$INCLUDE"'[>"]$;#include "'"$INCLUDE"'";=
g' $tmpfile
                fi
-               cat /tmp/$$ > "$FILE"
+               cat $tmpfile > "$FILE"
        done
 done
diff -Nru postgresql-7.4.6.orig/build-tree/postgresql-7.4.6/src/tools/pginc=
lude/pgrminclude postgresql-7.4.6/build-tree/postgresql-7.4.6/src/tools/pgi=
nclude/pgrminclude
--- postgresql-7.4.6.orig/build-tree/postgresql-7.4.6/src/tools/pginclude/p=
grminclude      2001-08-24 16:07:50.000000000 +0200
+++ postgresql-7.4.6/build-tree/postgresql-7.4.6/src/tools/pginclude/pgrmin=
clude   2005-01-24 09:21:31.000000000 +0100
@@ -1,7 +1,12 @@
 :
 # remove extra #include's
=20
-trap "rm -f /tmp/$$.c /tmp/$$.o /tmp/$$ /tmp/$$a /tmp/$$b" 0 1 2 3 15
+ctmp=3D`tempfile --suffix=3D.c` || { echo "$0: Cannot create temporary fil=
e" >&2; exit 1; }
+otmp=3D`tempfile --suffix=3D.o` || { echo "$0: Cannot create temporary fil=
e" >&2; exit 1; }
+tmpfile=3D`tempfile` || { echo "$0: Cannot create temporary file" >&2; exi=
t 1; }
+atmp=3D`tempfile --suffix=3D.a` || { echo "$0: Cannot create temporary fil=
e" >&2; exit 1; }
+btmp=3D`tempfile --suffix=3D.b` || { echo "$0: Cannot create temporary fil=
e" >&2; exit 1; }
+trap "rm -f $ctmp $otmp $tmpfile $atmp $btmp" 0 1 2 3 13 15
 find . \( -name CVS -a -prune \) -o -type f -print |=20
 grep -v '\./postgres.h' |
 grep -v '\./pg_config.h' |
@@ -16,12 +21,12 @@
        # remove defines
        if [ "$IS_INCLUDE" =3D "Y" ]
        then    cat "$FILE" | grep -v "^#if" | grep -v "^#else" |=20
-               grep -v "^#endif" | sed 's/->[a-zA-Z0-9_\.]*//g' >/tmp/$$a
-       else    cat "$FILE" >/tmp/$$a
+               grep -v "^#endif" | sed 's/->[a-zA-Z0-9_\.]*//g' >$atmp
+       else    cat "$FILE" >$atmp
        fi
=20
        # loop through all includes
-       cat /tmp/$$a | grep "^#include" |
+       cat $atmp | grep "^#include" |
        sed 's/^#include[       ]*[<"]\([^>"]*\).*$/\1/g' |
        while read INCLUDE
        do
@@ -37,29 +42,29 @@
                grep -A1 '^#include[    ][      ]*[<"]'"$INCLUDE"'[>"]' "$FILE" 
|
                     egrep -q '^#else|^#endif' && continue      =09
=20
-               cat /tmp/$$a |
-               grep -v '^#include[     ]*[<"]'"$INCLUDE"'[>"]' >/tmp/$$b
+               cat $atmp |
+               grep -v '^#include[     ]*[<"]'"$INCLUDE"'[>"]' >$btmp
                if [ "$IS_INCLUDE" =3D "Y" ]
-               then    echo "#include \"postgres.h\"" >/tmp/$$.c
-               else    >/tmp/$$.c
+               then    echo "#include \"postgres.h\"" >$ctmp
+               else    >$ctmp
                fi
-               echo "#include \"/tmp/$$b\"" >>/tmp/$$.c
-               echo "void include_test(void);" >>/tmp/$$.c
-               echo "void include_test() {" >>/tmp/$$.c
+               echo "#include \"$btmp\"" >>$ctmp
+               echo "void include_test(void);" >>$ctmp
+               echo "void include_test() {" >>$ctmp
                if [ "$IS_INCLUDE" =3D "Y" ]
-               then    pgdefine "$FILE" >>/tmp/$$.c
+               then    pgdefine "$FILE" >>$ctmp
                fi
-               echo "}" >>/tmp/$$.c
-               cc -fsyntax-only -Werror -Wall -Wmissing-prototypes 
-Wmissing-declaratio=
ns -I/pg/include -I/pg/backend -c /tmp/$$.c -o /tmp/$$.o >/tmp/$$ 2>&1
+               echo "}" >>$ctmp
+               cc -fsyntax-only -Werror -Wall -Wmissing-prototypes 
-Wmissing-declaratio=
ns -I/pg/include -I/pg/backend -c $ctmp -o $otmp >$tmpfile 2>&1
                if [ "$?" -eq 0 ]
                then    echo "$FILE $INCLUDE"
                        if [ "$IS_INCLUDE" =3D "N" ]
-                       then    grep -v '^#include[     ][      
]*[<"]'"$INCLUDE"'[>"]' "$FILE" >/tmp/$$b
-                               mv /tmp/$$b "$FILE"
+                       then    grep -v '^#include[     ][      
]*[<"]'"$INCLUDE"'[>"]' "$FILE" >$btmp
+                               mv $btmp "$FILE"
                        fi
                        if [ "$1" =3D "-v" ]
-                       then    cat /tmp/$$
-                               cat /tmp/$$.c
+                       then    cat $tmpfile
+                               cat $ctmp
                        fi
                fi
        done
diff -Nru postgresql-7.4.6.orig/build-tree/postgresql-7.4.6/src/tools/pgind=
ent/pgcppindent postgresql-7.4.6/build-tree/postgresql-7.4.6/src/tools/pgin=
dent/pgcppindent
--- postgresql-7.4.6.orig/build-tree/postgresql-7.4.6/src/tools/pgindent/pg=
cppindent       2002-06-15 21:13:04.000000000 +0200
+++ postgresql-7.4.6/build-tree/postgresql-7.4.6/src/tools/pgindent/pgcppin=
dent    2005-01-24 09:23:01.000000000 +0100
@@ -1,6 +1,8 @@
 #!/bin/sh
=20
-trap "rm -f /tmp/$$ /tmp/$$a" 0 1 2 3 15
+tmpfile=3D`tempfile` || { echo "$0: Cannot create temporary file" >&2; exi=
t 1; }
+atmp=3D`tempfile --suffix=3D.a` || { echo "$0: Cannot create temporary fil=
e" >&2; exit 1; }
+trap "rm -f $tmpfile $atmp" 0 1 2 3 13 15
 entab </dev/null >/dev/null
 if [ "$?" -ne 0 ]
 then   echo "Go to the src/tools/entab directory and do a 'make' and 'make i=
nstall'." >&2
@@ -16,12 +18,12 @@
=20
 for FILE
 do
-       astyle --style=3Dansi -b -p -S < "$FILE" >/tmp/$$ 2>/tmp/$$a
-       if [ "$?" -ne 0 -o -s /tmp/$$a ]
+       astyle --style=3Dansi -b -p -S < "$FILE" >$tmpfile 2>$atmp
+       if [ "$?" -ne 0 -o -s $atmp ]
        then    echo "$FILE"
-               cat /tmp/$$a
+               cat $atmp
        fi
-       cat /tmp/$$ |
+       cat $tmpfile |
        entab -t4 -qc |
-       cat >/tmp/$$a && cat /tmp/$$a >"$FILE"
+       cat >$atmp && cat $atmp >"$FILE"
 done
diff -Nru postgresql-7.4.6.orig/build-tree/postgresql-7.4.6/src/tools/pgind=
ent/pgindent postgresql-7.4.6/build-tree/postgresql-7.4.6/src/tools/pginden=
t/pgindent
--- postgresql-7.4.6.orig/build-tree/postgresql-7.4.6/src/tools/pgindent/pg=
indent  2003-09-28 02:25:22.000000000 +0200
+++ postgresql-7.4.6/build-tree/postgresql-7.4.6/src/tools/pgindent/pginden=
t       2005-01-24 09:24:25.000000000 +0100
@@ -6,7 +6,9 @@
 # after *:
 #      y =3D (int) x *y;
=20
-trap "rm -f /tmp/$$ /tmp/$$a" 0 1 2 3 15
+tmpfile=3D`tempfile` || { echo "$0: Cannot create temporary file" >&2; exi=
t 1; }
+atmp=3D`tempfile --suffix=3D.a` || { echo "$0: Cannot create temporary fil=
e" >&2; exit 1; }
+trap "rm -f $tmpfile $atmp" 0 1 2 3 13 15
 entab </dev/null >/dev/null
 if [ "$?" -ne 0 ]
 then   echo "Go to the src/tools/entab directory and do a 'make' and 'make i=
nstall'." >&2
@@ -100,7 +102,7 @@
 # protect backslashes in DATA()
        sed 's;^DATA(.*$;/*&*/;' |
 # protect wrapping in CATALOG()
-       sed 's;^CATALOG(.*$;/*&*/;' >/tmp/$$a
+       sed 's;^CATALOG(.*$;/*&*/;' >$atmp
=20
 # We get the list of typedef's from /src/tools/find_typedef
        indent -bad -bap -bc -bl -d0 -cdb -nce -nfc1 -di12 -i4 -l75 \
@@ -1667,13 +1669,13 @@
 -Tyysigned_char \
 -Tz_stream \
 -Tz_streamp \
-/tmp/$$a >/tmp/$$ 2>&1
-       if [ "$?" -ne 0 -o -s /tmp/$$ ]
+$atmp >$tmpfile 2>&1
+       if [ "$?" -ne 0 -o -s "$tmpfile" ]
        then    echo
                echo "$FILE"
-               cat /tmp/$$
+               cat $tmpfile
        fi
-       cat /tmp/$$a |
+       cat $atmp |
 # restore DATA/CATALOG lines
        sed 's;^/\*\(DATA(.*\)\*/$;\1;' |
        sed 's;^/\*\(CATALOG(.*\)\*/$;\1;' |
@@ -1849,7 +1851,7 @@
                }
                else    print $0;
        }' |
-       cat >/tmp/$$ && cat /tmp/$$ >"$FILE"
+       cat >$tmpfile && cat $tmpfile >"$FILE"
 done
=20
 # The 'for' loop makes these backup files useless so delete them
diff -Nru postgresql-7.4.6.orig/build-tree/postgresql-7.4.6/src/tools/pgind=
ent/pgjindent postgresql-7.4.6/build-tree/postgresql-7.4.6/src/tools/pginde=
nt/pgjindent
--- postgresql-7.4.6.orig/build-tree/postgresql-7.4.6/src/tools/pgindent/pg=
jindent 2001-11-20 00:16:46.000000000 +0100
+++ postgresql-7.4.6/build-tree/postgresql-7.4.6/src/tools/pgindent/pgjinde=
nt      2005-01-24 09:25:51.000000000 +0100
@@ -1,6 +1,8 @@
 #!/bin/sh
=20
-trap "rm -f /tmp/$$ /tmp/$$a" 0 1 2 3 15
+tmpfile=3D`tempfile` || { echo "$0: Cannot create temporary file" >&2; exi=
t 1; }
+atmp=3D`tempfile --suffix=3D.a` || { echo "$0: Cannot create temporary fil=
e" >&2; exit 1; }
+trap "rm -f $tmpfile $atmp" 0 1 2 3 13 15
 entab </dev/null >/dev/null
 if [ "$?" -ne 0 ]
 then   echo "Go to the src/tools/entab directory and do a 'make' and 'make i=
nstall'." >&2
@@ -16,12 +18,12 @@
=20
 for FILE
 do
-       astyle --style=3Djava -b -p -j -S < "$FILE" >/tmp/$$ 2>/tmp/$$a
-       if [ "$?" -ne 0 -o -s /tmp/$$a ]
+       astyle --style=3Djava -b -p -j -S < "$FILE" >$tmpfile 2>$atmp
+       if [ "$?" -ne 0 -o -s "$atmp" ]
        then    echo "$FILE"
-               cat /tmp/$$a
+               cat $atmp
        fi
-       cat /tmp/$$ |
+       cat $tmpfile |
        entab -t4 -qc |
-       cat >/tmp/$$a && cat /tmp/$$a >"$FILE"
+       cat >$atmp && cat $atmp >"$FILE"
 done
diff -Nru postgresql-7.4.6.orig/build-tree/postgresql-7.4.6/src/tools/pgtes=
t postgresql-7.4.6/build-tree/postgresql-7.4.6/src/tools/pgtest
--- postgresql-7.4.6.orig/build-tree/postgresql-7.4.6/src/tools/pgtest  2003=
-06-28 00:04:50.000000000 +0200
+++ postgresql-7.4.6/build-tree/postgresql-7.4.6/src/tools/pgtest       
2005-01-2=
4 09:00:30.000000000 +0100
@@ -10,9 +10,8 @@
=20
 [ ! -d src ] && echo "This must be run from the top of the PostgreSQL sour=
ce tree" 1>&2 && exit 1
=20
-trap "rm -rf /tmp/$$" 0 1 2 3 15
-mkdir /tmp/$$
-TMP=3D"/tmp/$$"
+TMP=3D`mktemp -d pgtest.XXXXXX` || { echo "$0: Cannot create temporary dir=
ectory" >&2; exit 1; }=20
+trap " [ -d \"$TMP\" ] && rm -rf \"$TMP\"" 0 1 2 3 13 15
=20
 [ "X$1" !=3D "X-n" ] && PGCLEAN=3Dclean
=20
@@ -26,3 +25,5 @@
 grep -v find_rule |=20
 grep -v yy_flex_realloc |
 grep -v '\[javac\] [0-9]* warning'
+
+exit
diff -Nru postgresql-7.4.6.orig/debian/enable_lang.in postgresql-7.4.6/debi=
an/enable_lang.in
--- postgresql-7.4.6.orig/debian/enable_lang.in 2005-01-21 01:42:11.0000000=
00 +0100
+++ postgresql-7.4.6/debian/enable_lang.in      2005-01-24 09:27:34.000000000 
+0=
100
@@ -46,8 +46,8 @@
        exit
 fi
=20
-TMPFILE=3D`mktemp ${TMPDIR:=3D/tmp}/enable_lang.XXXXXX`
-TMPFIL2=3D`mktemp ${TMPDIR:=3D/tmp}/enable_lang.XXXXXX`
+TMPFILE=3D`mktemp -t enable_lang.XXXXXX`  || { echo "$0: Cannot create tem=
porary file" >&2; exit 1;  }
+TMPFIL2=3D`mktemp -t enable_lang.XXXXXX`  || { echo "$0: Cannot create tem=
porary file" >&2; exit 1;  }
 trap "rm $TMPFILE $TMPFIL2" EXIT
=20
 if ! [ -r /etc/postgresql/postgresql.env ]=20
diff -Nru postgresql-7.4.6.orig/debian/postgresql-dump.in postgresql-7.4.6/=
debian/postgresql-dump.in
--- postgresql-7.4.6.orig/debian/postgresql-dump.in     2005-01-21 01:42:11.000=
000000 +0100
+++ postgresql-7.4.6/debian/postgresql-dump.in  2005-01-24 09:26:41.00000000=
0 +0100
@@ -105,7 +105,7 @@
 ## Start of execution ##
=20
 SHELL=3D/bin/sh
-TMPFILE=3D`mktemp ${TMPDIR:-/tmp}/pg.XXXXXX` || exit 1
+TMPFILE=3D`mktemp -t pg.XXXXXX` || exit 1
 chmod a+rw $TMPFILE
 trap recoverconfig 0
=20
diff -Nru postgresql-7.4.6.orig/debian/postinst.in postgresql-7.4.6/debian/=
postinst.in
--- postgresql-7.4.6.orig/debian/postinst.in    2005-01-21 01:42:11.000000000 =
+0100
+++ postgresql-7.4.6/debian/postinst.in 2005-01-24 09:28:49.000000000 +0100
@@ -238,13 +238,13 @@
        exit
 esac
=20
-SCRIPTFILE=3D`mktemp ${TMPDIR:-/tmp}/pg.XXXXXX` || exit 1
-chmod 755 $SCRIPTFILE
-TMPFILE=3D`mktemp ${TMPDIR:-/tmp}/pg.XXXXXX` || exit 1
+SCRIPTFILE=3D`mktemp -t pg.XXXXXX` || exit 1
+chmod 750 $SCRIPTFILE
+TMPFILE=3D`mktemp -t pg.XXXXXX` || exit 1
 chown postgres:postgres $TMPFILE
-chmod 644 $TMPFILE
-MAILFILE=3D`mktemp ${TMPDIR:-/tmp}/pg.XXXXXX` || exit 1
-chmod 644 $MAILFILE
+chmod 640 $TMPFILE
+MAILFILE=3D`mktemp -t pg.XXXXXX` || exit 1
+chmod 640 $MAILFILE
 MAILSUBJECT=3D"Postgresql installation"
=20
 # arrange to delete the temporary files and mail output to root
diff -Nru postgresql-7.4.6.orig/debian/preinst.in postgresql-7.4.6/debian/p=
reinst.in
--- postgresql-7.4.6.orig/debian/preinst.in     2005-01-21 01:42:11.000000000 +=
0100
+++ postgresql-7.4.6/debian/preinst.in  2005-01-24 09:30:33.000000000 +0100
@@ -28,7 +28,7 @@
=20
 current=3D%PG_VERSION%
 SHELL=3D/bin/sh
-TMPFILE=3D$(mktemp ${TMPDIR:-/tmp}/postgresql.XXXXXX || exit 1)
+TMPFILE=3D$(mktemp -t postgresql.XXXXXX || exit 1)
 chmod a+rw $TMPFILE
 trap "rm -f $TMPFILE" 0
=20

--DocE+STaALJfprDB--

--5I6of5zJg18YgZEa
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: Digital signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.5 (GNU/Linux)

iD8DBQFB9LcCsandgtyBSwkRAlwjAJ90mTzvWZCCtXUB/P5NycQPtLJ+cgCfWNyp
SkRzTTJa3j6YeD+gSc3eEjU=
=Y2md
-----END PGP SIGNATURE-----

--5I6of5zJg18YgZEa--

---------------------------------------
Received: (at 291962-close) by bugs.debian.org; 25 Jan 2005 12:53:03 +0000
>From [EMAIL PROTECTED] Tue Jan 25 04:53:03 2005
Return-path: <[EMAIL PROTECTED]>
Received: from newraff.debian.org [208.185.25.31] (mail)
        by spohr.debian.org with esmtp (Exim 3.35 1 (Debian))
        id 1CtQBr-0004xc-00; Tue, 25 Jan 2005 04:53:03 -0800
Received: from katie by newraff.debian.org with local (Exim 3.35 1 (Debian))
        id 1CtQ6H-00065T-00; Tue, 25 Jan 2005 07:47:17 -0500
From: Martin Pitt <[EMAIL PROTECTED]>
To: [EMAIL PROTECTED]
X-Katie: $Revision: 1.55 $
Subject: Bug#291962: fixed in postgresql 7.4.6-7
Message-Id: <[EMAIL PROTECTED]>
Sender: Archive Administrator <[EMAIL PROTECTED]>
Date: Tue, 25 Jan 2005 07:47:17 -0500
Delivered-To: [EMAIL PROTECTED]
X-Spam-Checker-Version: SpamAssassin 2.60-bugs.debian.org_2005_01_02 
        (1.212-2003-09-23-exp) on spohr.debian.org
X-Spam-Status: No, hits=-6.0 required=4.0 tests=BAYES_00,HAS_BUG_NUMBER 
        autolearn=no version=2.60-bugs.debian.org_2005_01_02
X-Spam-Level: 

Source: postgresql
Source-Version: 7.4.6-7

We believe that the bug you reported is fixed in the latest version of
postgresql, which is due to be installed in the Debian FTP archive:

libecpg-dev_7.4.6-7_i386.deb
  to pool/main/p/postgresql/libecpg-dev_7.4.6-7_i386.deb
libecpg4_7.4.6-7_i386.deb
  to pool/main/p/postgresql/libecpg4_7.4.6-7_i386.deb
libpgtcl-dev_7.4.6-7_i386.deb
  to pool/main/p/postgresql/libpgtcl-dev_7.4.6-7_i386.deb
libpgtcl_7.4.6-7_i386.deb
  to pool/main/p/postgresql/libpgtcl_7.4.6-7_i386.deb
libpq3_7.4.6-7_i386.deb
  to pool/main/p/postgresql/libpq3_7.4.6-7_i386.deb
postgresql-client_7.4.6-7_i386.deb
  to pool/main/p/postgresql/postgresql-client_7.4.6-7_i386.deb
postgresql-contrib_7.4.6-7_i386.deb
  to pool/main/p/postgresql/postgresql-contrib_7.4.6-7_i386.deb
postgresql-dev_7.4.6-7_i386.deb
  to pool/main/p/postgresql/postgresql-dev_7.4.6-7_i386.deb
postgresql-doc_7.4.6-7_all.deb
  to pool/main/p/postgresql/postgresql-doc_7.4.6-7_all.deb
postgresql_7.4.6-7.diff.gz
  to pool/main/p/postgresql/postgresql_7.4.6-7.diff.gz
postgresql_7.4.6-7.dsc
  to pool/main/p/postgresql/postgresql_7.4.6-7.dsc
postgresql_7.4.6-7_i386.deb
  to pool/main/p/postgresql/postgresql_7.4.6-7_i386.deb



A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to [EMAIL PROTECTED],
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Martin Pitt <[EMAIL PROTECTED]> (supplier of updated postgresql package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [EMAIL PROTECTED])


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Format: 1.7
Date: Tue, 25 Jan 2005 12:43:35 +0100
Source: postgresql
Binary: postgresql-client libecpg4 libpgtcl-dev libpq3 postgresql-doc 
libecpg-dev postgresql-dev postgresql libpgtcl postgresql-contrib
Architecture: source i386 all
Version: 7.4.6-7
Distribution: unstable
Urgency: medium
Maintainer: Martin Pitt <[EMAIL PROTECTED]>
Changed-By: Martin Pitt <[EMAIL PROTECTED]>
Description: 
 libecpg-dev - development files for ECPG (Embedded PostgreSQL for C)
 libecpg4   - run-time library for ECPG programs
 libpgtcl   - Tcl procedural language, library and front-end for PostgreSQL
 libpgtcl-dev - Tcl library for PostgreSQL - development files
 libpq3     - PostgreSQL C client library
 postgresql - object-relational SQL database management system
 postgresql-client - front-end programs for PostgreSQL
 postgresql-contrib - additional facilities for PostgreSQL
 postgresql-dev - development files for libpq (PostgreSQL library)
 postgresql-doc - documentation for the PostgreSQL database management system
Closes: 286737 290544 291700 291962
Changes: 
 postgresql (7.4.6-7) unstable; urgency=medium
 .
   * Urgency medium since this fixes (only) RC and important bugs.
   * Dropped obsolete patch 04doc_src_sgml_Makefile
   * Dropped now obsolete build dependency "mmv" again
   * postinst.in: correct argument passing to do_upgrade() function.
     Closes: #290544
   * postgresql-startup.in: Remove broken check for obsolete "peer"
     authentication method; this was already obsolete and checked in Woody, so
     we can assume it is correct now. Closes: #291700
   * Fixed handling of temporary files (partly security relevant), thanks a lot
     to Javier Fernández-Sanguino Peña for spotting these. Closes: #291962
     - debian/postgresql-dump.in: remove creation/deletion of TMPFILE, it is
       not used any more
     - debian/enable_lang.in, debian/preinst.in: eliminate usage of temporary
       files, replaced by variables
     - debian/postinst.in:
       + use mktemp switch -t
       + tighten permissions of $MAILFILE, $TMPFILE, and $SCRIPTFILE
       + replaced some TMPFILE usage with variables
     - Added patch 15secure_tempfiles which fixes relevant issues in upstream
       build files:
       + src/backend/catalog/genbki.sh: use mktemp
       + src/test/bench/perquery: eliminate tempfile, use pipe instead
     - All other files mentioned in the bug report are not used for building
       postgresql. pg_upgrade is not shipped, so does not need to be fixed as
       well.
    * Create the default log directory world-readable again and also with
      setgid postgres (2775) to comply with Debian Policy. Since the directory
      is not touched if it already exists, administrator can easily change the
      permissions afterwards (some people want to have it non-world-readable).
      Closes: #286737
    * Moved newer libpq.mo translations out of postgresql into libpq3, where
      they belong. libpq3 now Conflicts: to postgresql << 7.4.6-7.
    * debian/control: set Martin as primary maintainer and Oliver as
      Comaintainer
Files: 
 4b7413635dc0861cb7e5506d1a3cc386 973 misc optional postgresql_7.4.6-7.dsc
 c8ff0a20a539575ced3661735429a293 146273 misc optional 
postgresql_7.4.6-7.diff.gz
 7a343a688236cccb211b1dcaa8699e34 2386150 doc optional 
postgresql-doc_7.4.6-7_all.deb
 d35c34a3da6526bd9b08bde3767a74c2 3753180 misc optional 
postgresql_7.4.6-7_i386.deb
 42903e35dfc025b2b89589bb2dc795ea 536636 misc optional 
postgresql-client_7.4.6-7_i386.deb
 f67763214163c3b76c2a928fc67a7561 511142 libdevel optional 
postgresql-dev_7.4.6-7_i386.deb
 363168a269ae55eaf20eceda1a76c88b 123790 libs optional libpq3_7.4.6-7_i386.deb
 ad365380a7bec248147eff73c927413d 92900 libs optional libecpg4_7.4.6-7_i386.deb
 f2c2084c1245ee4250bfae82849d9096 204322 libdevel optional 
libecpg-dev_7.4.6-7_i386.deb
 9bdce4e027d5e11a332ab4351eaf2c9f 74834 libs optional libpgtcl_7.4.6-7_i386.deb
 77b1a35a6f48793698f613dad855d954 52650 libdevel optional 
libpgtcl-dev_7.4.6-7_i386.deb
 39f35422885185a7a77b6942e91f73f0 619068 misc optional 
postgresql-contrib_7.4.6-7_i386.deb

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (GNU/Linux)

iD8DBQFB9jyRDecnbV4Fd/IRAvJoAJ9N54vfvEnEeZ08XYfJZQOaebiTPwCgle5l
OzI9Ta40iFcs/uLAUE0HRbk=
=pa+4
-----END PGP SIGNATURE-----


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to