diff -ruN squid-2.6.STABLE21/ChangeLog squid-2.6.STABLE22/ChangeLog
--- squid-2.6.STABLE21/ChangeLog	2008-06-27 23:37:35.000000000 +0200
+++ squid-2.6.STABLE22/ChangeLog	2008-10-19 19:43:14.000000000 +0200
@@ -1,3 +1,17 @@
+Changes to squid-2.6.STABLE22 (19 October 2008)
+	- Bug #2396: Correct the opening of the PF device file.
+	- Make --with-large-files and --with-build-envirnment=default play
+	  nice together
+	- Workaround for Linux-2.6.24 & 2.6.25 netfiler_ipv4.h include header
+	  __u32 problem
+	- Make dns_nameserver work when using --disable-internal-dns on glibc
+	  based systems
+	- Bug #2426: Increase negotiate auth token buffer size
+	- Bug #2427: squid_ldap_group -h reports the old % codes for -f
+	- Bug #2477: swap.state permission issues if crashing during "squid -k
+	  reconfigure"
+	- Windows port: Fix build error using latest MinGW runtime.
+
 Changes to squid-2.6.STABLE21 (27 June 2008)
 
 	- Bug #2350: Bugs in Linux kernel capabilities code
diff -ruN squid-2.6.STABLE21/configure squid-2.6.STABLE22/configure
--- squid-2.6.STABLE21/configure	2008-06-27 23:55:39.000000000 +0200
+++ squid-2.6.STABLE22/configure	2008-10-19 19:45:40.000000000 +0200
@@ -1,7 +1,7 @@
 #! /bin/sh
-# From configure.in Revision: 1.416.2.27 .
+# From configure.in Revision: 1.416.2.30 .
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.61 for Squid Web Proxy 2.6.STABLE21.
+# Generated by GNU Autoconf 2.61 for Squid Web Proxy 2.6.STABLE22.
 #
 # Report bugs to <http://www.squid-cache.org/bugs/>.
 #
@@ -575,8 +575,8 @@
 # Identity of this package.
 PACKAGE_NAME='Squid Web Proxy'
 PACKAGE_TARNAME='squid'
-PACKAGE_VERSION='2.6.STABLE21'
-PACKAGE_STRING='Squid Web Proxy 2.6.STABLE21'
+PACKAGE_VERSION='2.6.STABLE22'
+PACKAGE_STRING='Squid Web Proxy 2.6.STABLE22'
 PACKAGE_BUGREPORT='http://www.squid-cache.org/bugs/'
 
 ac_default_prefix=/usr/local/squid
@@ -1314,7 +1314,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures Squid Web Proxy 2.6.STABLE21 to adapt to many kinds of systems.
+\`configure' configures Squid Web Proxy 2.6.STABLE22 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1384,7 +1384,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of Squid Web Proxy 2.6.STABLE21:";;
+     short | recursive ) echo "Configuration of Squid Web Proxy 2.6.STABLE22:";;
    esac
   cat <<\_ACEOF
 
@@ -1662,7 +1662,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-Squid Web Proxy configure 2.6.STABLE21
+Squid Web Proxy configure 2.6.STABLE22
 generated by GNU Autoconf 2.61
 
 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1676,7 +1676,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by Squid Web Proxy $as_me 2.6.STABLE21, which was
+It was created by Squid Web Proxy $as_me 2.6.STABLE22, which was
 generated by GNU Autoconf 2.61.  Invocation command line was
 
   $ $0 $@
@@ -2349,7 +2349,7 @@
 
 # Define the identity of the package.
  PACKAGE='squid'
- VERSION='2.6.STABLE21'
+ VERSION='2.6.STABLE22'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -5229,10 +5229,16 @@
 	if test -z "$buildmodel"; then
 		echo "WARNING: No suitable build environment found for large files. Trying to use _FILE_OFFSET_BITS=64"
 		sleep 1
-		CFLAGS="-D_FILE_OFFSET_BITS=64 $CFLAGS"
 	fi
 fi
-if test -n "$buildmodel" && test "$buildmodel" != "default"; then
+case "$buildmodel" in
+"default"|"")
+	if test $needlargefiles; then
+		echo "Enabling -D_FILE_OFFSET_BITS=64 for large file support"
+		CFLAGS="-D_FILE_OFFSET_BITS=64 $CFLAGS"
+	fi
+	;;
+*)
 	echo "Using $buildmodel build environment"
 	if test "`getconf _$buildmodel 2>/dev/null || true`" = 1 || test "`getconf $buildmodel 2>/dev/null || true`" ; then
 	    : # All fine
@@ -5263,7 +5269,8 @@
 	    *)
 		;;
 	esac
-fi
+	;;
+esac
 
 # Check whether --enable-linux-tproxy was given.
 if test "${enable_linux_tproxy+set}" = set; then
@@ -24458,6 +24465,7 @@
 
 
 
+
 for ac_func in \
 	bcopy \
 	backtrace_symbols_fd \
@@ -24491,6 +24499,7 @@
 	regexec \
 	regfree \
 	res_init \
+	__res_init \
 	rint \
 	sbrk \
 	select \
@@ -27276,7 +27285,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by Squid Web Proxy $as_me 2.6.STABLE21, which was
+This file was extended by Squid Web Proxy $as_me 2.6.STABLE22, which was
 generated by GNU Autoconf 2.61.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -27329,7 +27338,7 @@
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF
 ac_cs_version="\\
-Squid Web Proxy config.status 2.6.STABLE21
+Squid Web Proxy config.status 2.6.STABLE22
 configured by $0, generated by GNU Autoconf 2.61,
   with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
 
diff -ruN squid-2.6.STABLE21/configure.in squid-2.6.STABLE22/configure.in
--- squid-2.6.STABLE21/configure.in	2008-06-27 23:55:39.000000000 +0200
+++ squid-2.6.STABLE22/configure.in	2008-10-19 19:45:40.000000000 +0200
@@ -1,16 +1,16 @@
 dnl
 dnl  Configuration input file for Squid
 dnl
-dnl  $Id: configure.in,v 1.416.2.27 2008/06/27 21:26:34 hno Exp $
+dnl  $Id: configure.in,v 1.416.2.30 2008/10/19 17:43:14 hno Exp $
 dnl
 dnl
 dnl
-AC_INIT(Squid Web Proxy, 2.6.STABLE21, http://www.squid-cache.org/bugs/, squid)
+AC_INIT(Squid Web Proxy, 2.6.STABLE22, http://www.squid-cache.org/bugs/, squid)
 AC_PREREQ(2.52)
 AM_CONFIG_HEADER(include/autoconf.h)
 AC_CONFIG_AUX_DIR(cfgaux)
 AM_INIT_AUTOMAKE
-AC_REVISION($Revision: 1.416.2.27 $)dnl
+AC_REVISION($Revision: 1.416.2.30 $)dnl
 AC_PREFIX_DEFAULT(/usr/local/squid)
 AM_MAINTAINER_MODE
 
@@ -1063,10 +1063,16 @@
 	if test -z "$buildmodel"; then
 		echo "WARNING: No suitable build environment found for large files. Trying to use _FILE_OFFSET_BITS=64"
 		sleep 1
-		CFLAGS="-D_FILE_OFFSET_BITS=64 $CFLAGS"
 	fi
 fi
-if test -n "$buildmodel" && test "$buildmodel" != "default"; then
+case "$buildmodel" in
+"default"|"")
+	if test $needlargefiles; then
+		echo "Enabling -D_FILE_OFFSET_BITS=64 for large file support"
+		CFLAGS="-D_FILE_OFFSET_BITS=64 $CFLAGS"
+	fi
+	;;
+*)
 	echo "Using $buildmodel build environment"
 	if test "`getconf _$buildmodel 2>/dev/null || true`" = 1 || test "`getconf $buildmodel 2>/dev/null || true`" ; then
 	    : # All fine
@@ -1108,7 +1114,8 @@
 	    *)
 		;;
 	esac
-fi
+	;;
+esac
 
 dnl Enable Linux transparent proxy support
 AC_ARG_ENABLE(linux-tproxy,
@@ -2351,6 +2358,7 @@
 	regexec \
 	regfree \
 	res_init \
+	__res_init \
 	rint \
 	sbrk \
 	select \
diff -ruN squid-2.6.STABLE21/helpers/external_acl/ldap_group/squid_ldap_group.c squid-2.6.STABLE22/helpers/external_acl/ldap_group/squid_ldap_group.c
--- squid-2.6.STABLE21/helpers/external_acl/ldap_group/squid_ldap_group.c	2008-03-18 03:59:15.000000000 +0100
+++ squid-2.6.STABLE22/helpers/external_acl/ldap_group/squid_ldap_group.c	2008-09-29 01:05:24.000000000 +0200
@@ -400,7 +400,7 @@
 	fprintf(stderr, "\n" PROGRAM_NAME " version " PROGRAM_VERSION "\n\n");
 	fprintf(stderr, "Usage: " PROGRAM_NAME " -b basedn -f filter [options] ldap_server_name\n\n");
 	fprintf(stderr, "\t-b basedn (REQUIRED)\tbase dn under where to search for groups\n");
-	fprintf(stderr, "\t-f filter (REQUIRED)\tgroup search filter pattern. %%v = user,\n\t\t\t\t%%a = group\n");
+	fprintf(stderr, "\t-f filter (REQUIRED)\tgroup search filter pattern. %%u = user,\n\t\t\t\t%%g = group\n");
 	fprintf(stderr, "\t-B basedn (REQUIRED)\tbase dn under where to search for users\n");
 	fprintf(stderr, "\t-F filter (REQUIRED)\tuser search filter pattern. %%s = login\n");
 	fprintf(stderr, "\t-s base|one|sub\t\tsearch scope\n");
diff -ruN squid-2.6.STABLE21/helpers/negotiate_auth/squid_kerb_auth/squid_kerb_auth.c squid-2.6.STABLE22/helpers/negotiate_auth/squid_kerb_auth/squid_kerb_auth.c
--- squid-2.6.STABLE21/helpers/negotiate_auth/squid_kerb_auth/squid_kerb_auth.c	2008-03-18 00:33:00.000000000 +0100
+++ squid-2.6.STABLE22/helpers/negotiate_auth/squid_kerb_auth/squid_kerb_auth.c	2008-09-29 01:04:50.000000000 +0200
@@ -43,6 +43,9 @@
 #ifndef MAXHOSTNAMELEN
 #define MAXHOSTNAMELEN HOST_NAME_MAX
 #endif
+#ifndef MAX_AUTHTOKEN_LEN
+#define MAX_AUTHTOKEN_LEN   65535
+#endif
 
 #define PROGRAM "squid_kerb_auth"
 
@@ -173,10 +176,9 @@
 }
 
 
-
 int main(int argc, char * const argv[])
 {
-  char buf[6400];
+  char buf[MAX_AUTHTOKEN_LEN];
   char *c;
   int length=0;
   static int err=0;
diff -ruN squid-2.6.STABLE21/include/autoconf.h.in squid-2.6.STABLE22/include/autoconf.h.in
--- squid-2.6.STABLE21/include/autoconf.h.in	2007-09-02 02:14:59.000000000 +0200
+++ squid-2.6.STABLE22/include/autoconf.h.in	2008-07-21 22:53:57.000000000 +0200
@@ -597,6 +597,9 @@
 /* Define if you have PSAPI.DLL on Windows systems */
 #undef HAVE_WIN32_PSAPI
 
+/* Define to 1 if you have the `__res_init' function. */
+#undef HAVE___RES_INIT
+
 /* Some systems support __va_copy */
 #undef HAVE___VA_COPY
 
diff -ruN squid-2.6.STABLE21/include/sspwin32.h squid-2.6.STABLE22/include/sspwin32.h
--- squid-2.6.STABLE21/include/sspwin32.h	2006-09-09 17:41:45.000000000 +0200
+++ squid-2.6.STABLE22/include/sspwin32.h	2008-10-17 20:37:21.000000000 +0200
@@ -1,6 +1,6 @@
 
 /*
- * $Id: sspwin32.h,v 1.2 2006/09/09 15:41:45 serassio Exp $
+ * $Id: sspwin32.h,v 1.2.2.1 2008/10/17 18:37:21 hno Exp $
  *
  * AUTHOR: Guido Serassio <serassio@squid-cache.org>
  * Based on previous work of Francesco Chemolli, Robert Collins and Andrew Doran
@@ -46,6 +46,7 @@
 #include <tchar.h>
 #endif
 #include <windows.h>
+#include <ntsecapi.h>
 #include <security.h>
 #include <sspi.h>
 
diff -ruN squid-2.6.STABLE21/include/version.h squid-2.6.STABLE22/include/version.h
--- squid-2.6.STABLE21/include/version.h	2008-06-27 23:55:39.000000000 +0200
+++ squid-2.6.STABLE22/include/version.h	2008-10-19 19:45:40.000000000 +0200
@@ -9,5 +9,5 @@
  */
 
 #ifndef SQUID_RELEASE_TIME
-#define SQUID_RELEASE_TIME 1214603735
+#define SQUID_RELEASE_TIME 1224438335
 #endif
diff -ruN squid-2.6.STABLE21/RELEASENOTES.html squid-2.6.STABLE22/RELEASENOTES.html
--- squid-2.6.STABLE21/RELEASENOTES.html	2008-06-27 23:56:08.000000000 +0200
+++ squid-2.6.STABLE22/RELEASENOTES.html	2008-10-19 19:46:11.000000000 +0200
@@ -2,12 +2,12 @@
 <HTML>
 <HEAD>
  <META NAME="GENERATOR" CONTENT="LinuxDoc-Tools 0.9.21">
- <TITLE>Squid 2.6.STABLE21 release notes</TITLE>
+ <TITLE>Squid 2.6.STABLE22 release notes</TITLE>
 </HEAD>
 <BODY>
-<H1>Squid 2.6.STABLE21 release notes</H1>
+<H1>Squid 2.6.STABLE22 release notes</H1>
 
-<H2>Squid Developers</H2>$Id: release-2.6.html,v 1.44.2.21 2008/06/27 21:26:34 hno Exp $
+<H2>Squid Developers</H2>$Id: release-2.6.html,v 1.44.2.22 2008/10/19 17:43:14 hno Exp $
 <HR>
 <EM>This document contains the release notes for version 2.6 of Squid.
 Squid is a WWW Cache application developed by the Web Caching community.</EM>
@@ -90,6 +90,9 @@
 <P>
 <H2><A NAME="toc26">26.</A> <A HREF="#s26">Key changes squid-2.6.STABLE20 to 2.6.STABLE21</A></H2>
 
+<P>
+<H2><A NAME="toc27">27.</A> <A HREF="#s27">Key changes squid-2.6.STABLE21 to 2.6.STABLE22</A></H2>
+
 
 <HR>
 <H2><A NAME="s1">1.</A> <A HREF="#toc1">Key changes from squid 2.5</A></H2>
@@ -841,5 +844,23 @@
 </UL>
 </P>
 
+<H2><A NAME="s27">27.</A> <A HREF="#toc27">Key changes squid-2.6.STABLE21 to 2.6.STABLE22</A></H2>
+
+<P>
+<UL>
+<LI>Bug <a href="http://www.squid-cache.org/bugs/show_bug.cgi?id=2396">#2396</a>: Correct the opening of the PF device file.</LI>
+<LI>Make --with-large-files and --with-build-envirnment=default play nice together</LI>
+<LI>Workaround for Linux-2.6.24 &amp; 2.6.25 netfiler_ipv4.h include header __u32 problem</LI>
+<LI>Make dns_nameserver work when using --disable-internal-dns on glibc based systems</LI>
+<LI>Bug <a href="http://www.squid-cache.org/bugs/show_bug.cgi?id=2426">#2426</a>: Increase negotiate auth token buffer size</LI>
+<LI>Bug <a href="http://www.squid-cache.org/bugs/show_bug.cgi?id=2427">#2427</a>: squid_ldap_group -h reports the old % codes for -f</LI>
+<LI>Bug <a href="http://www.squid-cache.org/bugs/show_bug.cgi?id=2477">#2477</a>: swap.state permission issues if crashing during "squid -k reconfigure"</LI>
+<LI>Windows port: Fix build error using latest MinGW runtime.</LI>
+<LI>See also the list of 
+<A HREF="http://www.squid-cache.org/Versions/v2/2.6/changesets/SQUID_2_6_STABLE22.html">squid-2.6.STABLE22 changes</A> and the 
+<A HREF="ChangeLog">ChangeLog</A> file for details.</LI>
+</UL>
+</P>
+
 </BODY>
 </HTML>
diff -ruN squid-2.6.STABLE21/src/auth/negotiate/auth_negotiate.c squid-2.6.STABLE22/src/auth/negotiate/auth_negotiate.c
--- squid-2.6.STABLE21/src/auth/negotiate/auth_negotiate.c	2007-08-31 16:08:53.000000000 +0200
+++ squid-2.6.STABLE22/src/auth/negotiate/auth_negotiate.c	2008-09-29 01:04:50.000000000 +0200
@@ -1,6 +1,6 @@
 
 /*
- * $Id: auth_negotiate.c,v 1.7.2.4 2007/08/31 14:08:53 hno Exp $
+ * $Id: auth_negotiate.c,v 1.7.2.5 2008/09/28 23:04:50 hno Exp $
  *
  * DEBUG: section 29    Negotiate Authenticator
  * AUTHOR: Robert Collins
@@ -41,6 +41,9 @@
 #include "squid.h"
 #include "auth_negotiate.h"
 
+// Maximum length (buffer size) for token strings.
+#define MAX_AUTHTOKEN_LEN   32768
+
 extern AUTHSSETUP authSchemeSetup_negotiate;
 
 static void
@@ -573,7 +576,7 @@
 authenticateNegotiateStart(auth_user_request_t * auth_user_request, RH * handler, void *data)
 {
     authenticateStateData *r = NULL;
-    char buf[8192];
+    char buf[MAX_AUTHTOKEN_LEN];
     char *sent_string = NULL;
     negotiate_user_t *negotiate_user;
     negotiate_request_t *negotiate_request;
@@ -606,9 +609,9 @@
     r->auth_user_request = auth_user_request;
     authenticateAuthUserRequestLock(r->auth_user_request);
     if (negotiate_request->auth_state == AUTHENTICATE_STATE_INITIAL) {
-	snprintf(buf, 8192, "YR %s\n", sent_string);
+	snprintf(buf, MAX_AUTHTOKEN_LEN, "YR %s\n", sent_string);
     } else {
-	snprintf(buf, 8192, "KK %s\n", sent_string);
+	snprintf(buf, MAX_AUTHTOKEN_LEN, "KK %s\n", sent_string);
     }
     negotiate_request->waiting = 1;
     safe_free(negotiate_request->client_blob);
diff -ruN squid-2.6.STABLE21/src/client_side.c squid-2.6.STABLE22/src/client_side.c
--- squid-2.6.STABLE21/src/client_side.c	2008-06-27 23:06:39.000000000 +0200
+++ squid-2.6.STABLE22/src/client_side.c	2008-07-21 22:48:45.000000000 +0200
@@ -1,6 +1,6 @@
 
 /*
- * $Id: client_side.c,v 1.693.2.22 2008/06/27 21:06:39 hno Exp $
+ * $Id: client_side.c,v 1.693.2.24 2008/07/21 20:48:45 hno Exp $
  *
  * DEBUG: section 33    Client-side Routines
  * AUTHOR: Duane Wessels
@@ -92,6 +92,7 @@
 #endif
 
 #if LINUX_NETFILTER
+#include <linux/types.h>
 #include <linux/netfilter_ipv4.h>
 #endif
 
@@ -4458,7 +4459,7 @@
     static int pffd = -1;
     static time_t last_reported = 0;
     if (pffd < 0) {
-	pffd = open("/dev/pf", O_RDWR);
+	pffd = open("/dev/pf", O_RDONLY);
 	if (pffd >= 0)
 	    commSetCloseOnExec(pffd);
     }
diff -ruN squid-2.6.STABLE21/src/dnsserver.c squid-2.6.STABLE22/src/dnsserver.c
--- squid-2.6.STABLE21/src/dnsserver.c	2006-05-22 23:19:48.000000000 +0200
+++ squid-2.6.STABLE22/src/dnsserver.c	2008-07-21 22:49:10.000000000 +0200
@@ -1,6 +1,6 @@
 
 /*
- * $Id: dnsserver.c,v 1.62 2006/05/22 21:19:48 serassio Exp $
+ * $Id: dnsserver.c,v 1.62.2.1 2008/07/21 20:49:10 hno Exp $
  *
  * DEBUG: section 0     DNS Resolver
  * AUTHOR: Harvest Derived
@@ -142,7 +142,7 @@
 #include "util.h"
 #include "snprintf.h"
 
-#if !defined(_SQUID_AIX_) && !defined(_SQUID_MSWIN_)
+#if !defined(_SQUID_AIX_) && !defined(_SQUID_MSWIN_) && !defined(h_errno)
 extern int h_errno;
 #endif
 
@@ -150,6 +150,16 @@
 extern int _dns_ttl_;		/* this is a really *dirty* hack - bne */
 #endif
 
+/*
+ * res_init() is a macro re-definition of __res_init on: Debian
+ */
+#if !defined(HAVE_RES_INIT) && defined(HAVE___RES_INIT)
+#ifndef res_init
+#define res_init  __res_init
+#endif
+#define HAVE_RES_INIT   HAVE___RES_INIT
+#endif
+
 #ifdef _SQUID_NEXT_
 /* This is a really bloody hack. frank@langen.bull.de
  * Workaround bug in gethostbyname which sets h_errno wrong
@@ -167,7 +177,7 @@
 #endif
 
 /* error messages from gethostbyname() */
-static char *
+static const char *
 my_h_msgs(int x)
 {
     if (x == HOST_NOT_FOUND)
diff -ruN squid-2.6.STABLE21/src/forward.c squid-2.6.STABLE22/src/forward.c
--- squid-2.6.STABLE21/src/forward.c	2008-04-02 03:16:29.000000000 +0200
+++ squid-2.6.STABLE22/src/forward.c	2008-07-21 22:48:45.000000000 +0200
@@ -1,6 +1,6 @@
 
 /*
- * $Id: forward.c,v 1.120.2.5 2008/04/02 01:16:29 hno Exp $
+ * $Id: forward.c,v 1.120.2.6 2008/07/21 20:48:45 hno Exp $
  *
  * DEBUG: section 17    Request Forwarding
  * AUTHOR: Duane Wessels
@@ -37,6 +37,7 @@
 #include "squid.h"
 
 #if LINUX_NETFILTER
+#include <linux/types.h>
 #include <linux/netfilter_ipv4.h>
 #endif
 #if LINUX_TPROXY
diff -ruN squid-2.6.STABLE21/src/tools.c squid-2.6.STABLE22/src/tools.c
--- squid-2.6.STABLE21/src/tools.c	2008-06-27 23:02:06.000000000 +0200
+++ squid-2.6.STABLE22/src/tools.c	2008-10-06 23:31:57.000000000 +0200
@@ -1,6 +1,6 @@
 
 /*
- * $Id: tools.c,v 1.250.2.5 2008/06/27 21:02:06 hno Exp $
+ * $Id: tools.c,v 1.250.2.6 2008/10/06 21:31:57 hno Exp $
  *
  * DEBUG: section 21    Misc Functions
  * AUTHOR: Harvest Derived
@@ -396,6 +396,7 @@
 void
 fatal(const char *message)
 {
+    leave_suid();
     releaseServerSockets();
     /* check for store_dirs_rebuilding because fatal() is often
      * used in early initialization phases, long before we ever
@@ -444,6 +445,7 @@
 void
 fatal_dump(const char *message)
 {
+    leave_suid();
     failure_notify = NULL;
     releaseServerSockets();
     if (message)
