Index: nginx-1.4.7/src/os/unix/ngx_linux_config.h
===================================================================
--- nginx-1.4.7.orig/src/os/unix/ngx_linux_config.h
+++ nginx-1.4.7/src/os/unix/ngx_linux_config.h
@@ -51,7 +51,6 @@
 #include <malloc.h>             /* memalign() */
 #include <limits.h>             /* IOV_MAX */
 #include <sys/ioctl.h>
-#include <sys/sysctl.h>
 #include <crypt.h>
 #include <sys/utsname.h>        /* uname() */

--- nginx-1.2.7/src/os/unix/ngx_user.c
+++ nginx-1.2.7-patched/src/os/unix/ngx_user.c
@@ -31,8 +31,6 @@
     struct crypt_data   cd;
 
     cd.initialized = 0;
-    /* work around the glibc bug */
-    cd.current_salt[0] = ~salt[0];
 
     value = crypt_r((char *) key, (char *) salt, &cd);

diff --git a/auto/lib/openssl/conf b/auto/lib/openssl/conf
index 528ee17..73ef359 100644
--- a/auto/lib/openssl/conf
+++ b/auto/lib/openssl/conf
@@ -47,7 +47,7 @@ else
         ngx_feature_run=no
         ngx_feature_incs="#include <openssl/ssl.h>"
         ngx_feature_path=
-        ngx_feature_libs="-lssl -lcrypto"
+        ngx_feature_libs="-lssl -lcrypto -lz"
         ngx_feature_test="SSL_library_init()"
         . auto/feature
