diff --git a/configure.ac b/configure.ac
index a863327..deb44ed 100644
--- a/configure.ac
+++ b/configure.ac
@@ -26,9 +26,9 @@ PRESET_CFLAGS="$CFLAGS"
 PRESET_LDFLAGS="$LDFLAGS"
 
 dnl Set default LDFLAGS
-if test "x$LDFLAGS" = "x" ; then
-  LDFLAGS="-g"
-fi
+dnl if test "x$LDFLAGS" = "x" ; then
+dnl   LDFLAGS="-g"
+dnl fi
 
 # Check for GNU cc
 AC_PROG_CC
diff --git a/src/Makefile.am b/src/Makefile.am
index 6b69267..10f506a 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -867,8 +867,8 @@ DEFAULT_LOG_PREFIX	= $(DEFAULT_LOG_DIR)
 DEFAULT_CACHE_LOG	= $(DEFAULT_LOG_PREFIX)/cache.log
 DEFAULT_ACCESS_LOG	= $(DEFAULT_LOG_PREFIX)/access.log
 DEFAULT_STORE_LOG	= $(DEFAULT_LOG_PREFIX)/store.log
-DEFAULT_NETDB_FILE	= $(DEFAULT_LOG_PREFIX)/netdb.state
-DEFAULT_SSL_DB_DIR	= $(localstatedir)/lib/ssl_db
+DEFAULT_NETDB_FILE	= $(localstatedir)/lib/squid/netdb.state
+DEFAULT_SSL_DB_DIR	= $(localstatedir)/lib/squid/ssl_db
 DEFAULT_PINGER		= $(libexecdir)/`echo pinger | sed '$(transform);s/$$/$(EXEEXT)/'`
 DEFAULT_UNLINKD		= $(libexecdir)/`echo unlinkd | sed '$(transform);s/$$/$(EXEEXT)/'`
 DEFAULT_LOGFILED	= $(libexecdir)/`echo log_file_daemon | sed '$(transform);s/$$/$(EXEEXT)/'`
diff --git a/src/debug.cc b/src/debug.cc
index 64ab0ba..062119a 100644
--- a/src/debug.cc
+++ b/src/debug.cc
@@ -450,7 +450,7 @@ _db_init(const char *logfile, const char *options)
 #if HAVE_SYSLOG && defined(LOG_LOCAL4)
 
     if (Debug::log_syslog)
-        openlog(APP_SHORTNAME, LOG_PID | LOG_NDELAY | LOG_CONS, syslog_facility);
+        openlog(APP_SHORTNAME, LOG_PID | LOG_NDELAY, syslog_facility);
 
 #endif /* HAVE_SYSLOG */
 
diff --git a/src/main.cc b/src/main.cc
index d6eb01a..0b93f0e 100644
--- a/src/main.cc
+++ b/src/main.cc
@@ -1657,7 +1657,7 @@ watch_child(char *argv[])
     if (!IamMasterProcess())
         return;
 
-    openlog(APP_SHORTNAME, LOG_PID | LOG_NDELAY | LOG_CONS, LOG_LOCAL4);
+    openlog(APP_SHORTNAME, LOG_PID | LOG_NDELAY, LOG_LOCAL4);
 
     if ((pid = fork()) < 0)
         syslog(LOG_ALERT, "fork failed: %s", xstrerror());
@@ -1720,7 +1720,7 @@ watch_child(char *argv[])
 
             if ((pid = fork()) == 0) {
                 /* child */
-                openlog(APP_SHORTNAME, LOG_PID | LOG_NDELAY | LOG_CONS, LOG_LOCAL4);
+                openlog(APP_SHORTNAME, LOG_PID | LOG_NDELAY, LOG_LOCAL4);
                 prog = argv[0];
                 argv[0] = const_cast<char*>(kid.name().termedBuf());
                 execvp(prog, argv);
@@ -1733,7 +1733,7 @@ watch_child(char *argv[])
         }
 
         /* parent */
-        openlog(APP_SHORTNAME, LOG_PID | LOG_NDELAY | LOG_CONS, LOG_LOCAL4);
+        openlog(APP_SHORTNAME, LOG_PID | LOG_NDELAY, LOG_LOCAL4);
 
         squid_signal(SIGINT, SIG_IGN, SA_RESTART);
 
--- a/src/cf.data.pre	2013-04-29 11:17:59.256167134 +0300
+++ b/src/cf.data.pre	2013-04-29 11:20:17.043924313 +0300
@@ -1019,6 +1019,7 @@
 acl Safe_ports port 488		# gss-http
 acl Safe_ports port 591		# filemaker
 acl Safe_ports port 777		# multiling http
+acl Safe_ports port 901		# SWAT
 acl CONNECT method CONNECT
 NOCOMMENT_END
 DOC_END
@@ -5300,11 +5301,11 @@
 
 NAME: cache_mgr
 TYPE: string
-DEFAULT: webmaster
+DEFAULT: root
 LOC: Config.adminEmail
 DOC_START
 	Email-address of local cache manager who will receive
-	mail if the cache dies.  The default is "webmaster".
+	mail if the cache dies.  The default is "root".
 DOC_END
 
 NAME: mail_from
