nginx-0.3.3-RELEASE import

    *) Change: the "bl" and "af" parameters of the "listen" directive was
       renamed to the "backlog" and "accept_filter".

    *) Feature: the "rcvbuf" and "sndbuf" parameters of the "listen"
       directive.

    *) Change: the "$msec" log parameter does not require now the
       additional the gettimeofday() system call.

    *) Feature: the -t switch now tests the "listen" directives.

    *) Bugfix: if the invalid address was specified in the "listen"
       directive, then after the -HUP signal nginx left an open socket in
       the CLOSED state.

    *) Bugfix: the mime type may be incorrectly set to default value for
       index file with variable in the name; the bug had appeared in 0.3.0.

    *) Feature: the "timer_resolution" directive.

    *) Feature: the millisecond "$upstream_response_time" log parameter.

    *) Bugfix: a temporary file with client request body now is removed
       just after the response header was transferred to a client.

    *) Bugfix: OpenSSL 0.9.6 compatibility.

    *) Bugfix: the SSL certificate and key file paths could not be relative.

    *) Bugfix: the "ssl_prefer_server_ciphers" directive did not work in
       the ngx_imap_ssl_module.

    *) Bugfix: the "ssl_protocols" directive allowed to specify the single
       protocol only.
diff --git a/auto/cc/gcc b/auto/cc/gcc
index af279fa..17bb138 100644
--- a/auto/cc/gcc
+++ b/auto/cc/gcc
@@ -37,7 +37,7 @@
 case "$NGX_PLATFORM" in
 
     *:sun4u)
-        # "-mcpu=v9" enables the "casxa" assembler instruction
+        # "-mcpu=v9" enables the "casa" assembler instruction
         CFLAGS="$CFLAGS -mcpu=v9"
     ;;
 
@@ -134,6 +134,8 @@
         # we have a lot of the unused function arguments
         CFLAGS="$CFLAGS -Wno-unused-parameter"
         CFLAGS="$CFLAGS -Wno-unused-function"
+        CFLAGS="$CFLAGS -Wunused-variable"
+        CFLAGS="$CFLAGS -Wunused-value"
         #CFLAGS="$CFLAGS -Wunreachable-code"
     ;;
 
diff --git a/auto/cc/icc b/auto/cc/icc
index 0aa975e..d3a151c 100644
--- a/auto/cc/icc
+++ b/auto/cc/icc
@@ -22,8 +22,18 @@
 
 # single-file IP optimizations
 #IPO="-ip"
+
 # multi-file IP optimizations
-IPO="-ipo -ipo_obj"
+case "$NGX_ICC_VER" in
+    9.*)
+        IPO="-ipo"
+    ;;
+
+    *)
+        IPO="-ipo -ipo_obj"
+    ;;
+esac
+
 CFLAGS="$CFLAGS $IPO"
 CORE_LINK="$CORE_LINK $IPO"
 CORE_LINK="$CORE_LINK -opt_report_file=$NGX_OBJS/opt_report_file"
@@ -72,7 +82,7 @@
 CFLAGS="$CFLAGS -wd181"
 # zero used for undefined preprocessing identifier
 CFLAGS="$CFLAGS -wd193"
-#the format string ends before this argument
+# the format string ends before this argument
 CFLAGS="$CFLAGS -wd268"
 # invalid format string conversion
 CFLAGS="$CFLAGS -wd269"
@@ -92,15 +102,17 @@
 CFLAGS="$CFLAGS -wd1418"
 # external declaration in primary source file
 CFLAGS="$CFLAGS -wd1419"
-# explicit conversion of a 64-bit integral type to a smaller integral type
-CFLAGS="$CFLAGS -wd1683"
-# conversion from pointer to same-sized integral type, warning on offsetof()
-CFLAGS="$CFLAGS -wd1684"
 
 case "$NGX_ICC_VER" in
     8.* | 9.*)
         # "cc" clobber ignored, warnings for Liunx's htons()
         CFLAGS="$CFLAGS -wd1469"
+        # explicit conversion of a 64-bit integral type to a smaller
+        # integral type
+        CFLAGS="$CFLAGS -wd1683"
+        # conversion from pointer to same-sized integral type,
+        # warning on offsetof()
+        CFLAGS="$CFLAGS -wd1684"
 
         # STUB
         # non-POD class type passed through ellipsis, Linux only ?
diff --git a/auto/cc/name b/auto/cc/name
index faa3290..7202aaa 100644
--- a/auto/cc/name
+++ b/auto/cc/name
@@ -11,47 +11,47 @@
           2>&1 >/dev/null`; then
 
         NGX_CC_NAME=msvc7
-        echo " using Microsoft Visual C++ 7 compiler"
+        echo " Microsoft Visual C++ 7 compiler"
 
     else
         NGX_CC_NAME=msvc
-        echo " using Microsoft Visual C++ compiler"
+        echo " Microsoft Visual C++ compiler"
     fi
 
 else
 if [ $CC = wcl386 ]; then
     NGX_CC_NAME=owc
-    echo " using Open Watcom C compiler"
+    echo " Open Watcom C compiler"
 
 else
 if [ $CC = bcc32 ]; then
     NGX_CC_NAME=bcc
-    echo " using Borland C++ compiler"
+    echo " Borland C++ compiler"
 
 else
 if `$CC -v 2>&1 | grep 'gcc version' 2>&1 >/dev/null`; then
     NGX_CC_NAME=gcc
-    echo " using GNU C compiler"
+    echo " GNU C compiler"
 
 else
 if `$CC -V 2>&1 | grep '^Intel(R) C' 2>&1 >/dev/null`; then
     NGX_CC_NAME=icc
-    echo " using Intel C++ compiler"
+    echo " Intel C++ compiler"
 
 else
 if `$CC -V 2>&1 | grep 'Sun C' 2>&1 >/dev/null`; then
     NGX_CC_NAME=sunc
-    echo " using Sun C compiler"
+    echo " Sun C compiler"
 
 else
 if `$CC -V 2>&1 | grep '^Compaq C' 2>&1 >/dev/null`; then
     NGX_CC_NAME=ccc
-    echo " using Compaq C compiler"
+    echo " Compaq C compiler"
 
 else
 if `$CC -V 2>&1 | grep '^aCC: ' 2>&1 >/dev/null`; then
     NGX_CC_NAME=acc
-    echo " using HP aC++ compiler"
+    echo " HP aC++ compiler"
 
 else
     NGX_CC_NAME=unknown
diff --git a/auto/configure b/auto/configure
index daff4bd..89390ea 100755
--- a/auto/configure
+++ b/auto/configure
@@ -19,12 +19,28 @@
 fi
 
 
+if test -z "$NGX_PLATFORM"; then
+    echo "checking for OS"
+
+    NGX_SYSTEM=`uname -s 2>/dev/null`
+    NGX_RELEASE=`uname -r 2>/dev/null`
+    NGX_MACHINE=`uname -m 2>/dev/null`
+
+    echo " + $NGX_SYSTEM $NGX_RELEASE $NGX_MACHINE"
+
+    NGX_PLATFORM="$NGX_SYSTEM:$NGX_RELEASE:$NGX_MACHINE";
+
+else
+    echo "building for $NGX_PLATFORM"
+fi
+
+
 if [ "$NGX_PLATFORM" != win32 ]; then
     . auto/headers
 fi
 
-. auto/os/conf
 . auto/cc/conf
+. auto/os/conf
 
 if [ "$NGX_PLATFORM" != win32 ]; then
     . auto/os/features
diff --git a/auto/os/conf b/auto/os/conf
index 69813ce..56bdd22 100644
--- a/auto/os/conf
+++ b/auto/os/conf
@@ -2,20 +2,7 @@
 # Copyright (C) Igor Sysoev
 
 
-if test -z "$NGX_PLATFORM"; then
-    echo "checking for OS"
-
-    NGX_SYSTEM=`uname -s 2>/dev/null`
-    NGX_RELEASE=`uname -r 2>/dev/null`
-    NGX_MACHINE=`uname -m 2>/dev/null`
-
-    echo " + $NGX_SYSTEM $NGX_RELEASE $NGX_MACHINE"
-
-    NGX_PLATFORM="$NGX_SYSTEM:$NGX_RELEASE:$NGX_MACHINE";
-
-else
-    echo "building for $NGX_PLATFORM"
-fi
+echo "checking for $NGX_SYSTEM specific features"
 
 case "$NGX_PLATFORM" in
 
diff --git a/auto/os/features b/auto/os/features
index 44c33cd..3ec9110 100644
--- a/auto/os/features
+++ b/auto/os/features
@@ -92,6 +92,9 @@
 
 if [ "$NGX_SYSTEM" = "NetBSD" ]; then
 
+    have=NGX_HAVE_TIMER_EVENT . auto/have
+    echo " + kqueue's EVFILT_TIMER found"
+
     # NetBSD 2.0 incompatibly defines kevent.udata as "intptr_t"
 
     cat << END >> $NGX_AUTO_CONFIG_H
diff --git a/auto/os/freebsd b/auto/os/freebsd
index e545122..870ec92 100644
--- a/auto/os/freebsd
+++ b/auto/os/freebsd
@@ -37,7 +37,7 @@
 # sendfile
 
 if [ $osreldate -gt 300007 ]; then
-    echo " + using sendfile()"
+    echo " + sendfile() found"
 
     have=NGX_HAVE_SENDFILE . auto/have
     CORE_SRCS="$CORE_SRCS $FREEBSD_SENDFILE_SRCS"
@@ -49,7 +49,7 @@
 if [ \( $osreldate -lt 500000 -a $osreldate -ge 410000 \) \
      -o $osreldate -ge 500011 ]
 then
-    echo " + using kqueue"
+    echo " + kqueue found"
 
     have=NGX_HAVE_KQUEUE . auto/have
     have=NGX_HAVE_CLEAR_EVENT . auto/have
@@ -67,10 +67,19 @@
 if [ \( $version -lt 500000 -a $version -ge 430000 \) \
      -o $version -ge 500018 ]
 then
-    echo " + using kqueue's NOTE_LOWAT"
+    echo " + kqueue's NOTE_LOWAT found"
     have=NGX_HAVE_LOWAT_EVENT . auto/have
 fi
 
+# kqueue's EVFILT_TIMER
+
+if [ \( $version -lt 500000 -a $version -ge 440001 \) \
+     -o $version -ge 500023 ]
+then
+    echo " + kqueue's EVFILT_TIMER found"
+    have=NGX_HAVE_TIMER_EVENT . auto/have
+fi
+
 
 if [ $USE_THREADS = "rfork" ]; then
 
diff --git a/auto/os/linux b/auto/os/linux
index 32ef4cb..c31f848 100644
--- a/auto/os/linux
+++ b/auto/os/linux
@@ -25,7 +25,7 @@
 # enable the rt signals on Linux 2.2.19 and onward
 
 if [ $version -ge 131609 -o $EVENT_RTSIG = YES ]; then
-    echo " + using rt signals"
+    echo " + rt signals found"
     have=NGX_HAVE_RTSIG . auto/have
     have=NGX_HAVE_POLL . auto/have
     EVENT_MODULES="$EVENT_MODULES $RTSIG_MODULE"