]> git.kaiwu.me - nginx.git/commitdiff
Removed glibc crypt_r() bug workaround (ticket #1469).
authorMaxim Dounin <mdounin@mdounin.ru>
Wed, 23 May 2018 13:38:16 +0000 (16:38 +0300)
committerMaxim Dounin <mdounin@mdounin.ru>
Wed, 23 May 2018 13:38:16 +0000 (16:38 +0300)
The bug in question was fixed in glibc 2.3.2 and is no longer expected
to manifest itself on real servers.  On the other hand, the workaround
causes compilation problems on various systems.  Previously, we've
already fixed the code to compile with musl libc (fd6fd02f6a4d), and
now it is broken on Fedora 28 where glibc's crypt library was replaced
by libxcrypt.  So the workaround was removed.

src/os/unix/ngx_user.c

index 7ebe2b576c1e2e0a2182e537dd04a5ad2c818423..b3d81d07b72a6aaff003106fb2b0f59121ba4f43 100644 (file)
@@ -21,10 +21,6 @@ ngx_libc_crypt(ngx_pool_t *pool, u_char *key, u_char *salt, u_char **encrypted)
     struct crypt_data   cd;
 
     cd.initialized = 0;
-#ifdef __GLIBC__
-    /* work around the glibc bug */
-    cd.current_salt[0] = ~salt[0];
-#endif
 
     value = crypt_r((char *) key, (char *) salt, &cd);