aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPiotr Sikora <piotr@aviatrix.com>2025-02-12 10:40:58 +0200
committerRoman Arutyunyan <arutyunyan.roman@gmail.com>2025-02-18 16:18:10 +0300
commit9a4090f02ab438c47178b3b5a4c15a3c769d5027 (patch)
tree8e2a409fa355f7c3c0100edafd05a33e9aaf84bc
parentf274b3f72fa9aa3b2ed9b32817ed4a88eb2256b3 (diff)
downloadnginx-9a4090f02ab438c47178b3b5a4c15a3c769d5027.tar.gz
nginx-9a4090f02ab438c47178b3b5a4c15a3c769d5027.zip
Core: fix build without libcrypt.
libcrypt is no longer part of glibc, so it might not be available. Signed-off-by: Piotr Sikora <piotr@aviatrix.com>
-rw-r--r--auto/unix4
-rw-r--r--src/os/unix/ngx_linux_config.h6
-rw-r--r--src/os/unix/ngx_user.c10
3 files changed, 16 insertions, 4 deletions
diff --git a/auto/unix b/auto/unix
index f29e69c61..8bd1b1370 100644
--- a/auto/unix
+++ b/auto/unix
@@ -150,7 +150,7 @@ fi
ngx_feature="crypt()"
-ngx_feature_name=
+ngx_feature_name="NGX_HAVE_CRYPT"
ngx_feature_run=no
ngx_feature_incs=
ngx_feature_path=
@@ -162,7 +162,7 @@ ngx_feature_test="crypt(\"test\", \"salt\");"
if [ $ngx_found = no ]; then
ngx_feature="crypt() in libcrypt"
- ngx_feature_name=
+ ngx_feature_name="NGX_HAVE_CRYPT"
ngx_feature_run=no
ngx_feature_incs=
ngx_feature_path=
diff --git a/src/os/unix/ngx_linux_config.h b/src/os/unix/ngx_linux_config.h
index 88fef47ce..d99358c93 100644
--- a/src/os/unix/ngx_linux_config.h
+++ b/src/os/unix/ngx_linux_config.h
@@ -52,7 +52,6 @@
#include <malloc.h> /* memalign() */
#include <limits.h> /* IOV_MAX */
#include <sys/ioctl.h>
-#include <crypt.h>
#include <sys/utsname.h> /* uname() */
#include <dlfcn.h>
@@ -61,6 +60,11 @@
#include <ngx_auto_config.h>
+#if (NGX_HAVE_CRYPT_H)
+#include <crypt.h>
+#endif
+
+
#if (NGX_HAVE_POSIX_SEM)
#include <semaphore.h>
#endif
diff --git a/src/os/unix/ngx_user.c b/src/os/unix/ngx_user.c
index b3d81d07b..8c769ed93 100644
--- a/src/os/unix/ngx_user.c
+++ b/src/os/unix/ngx_user.c
@@ -41,7 +41,7 @@ ngx_libc_crypt(ngx_pool_t *pool, u_char *key, u_char *salt, u_char **encrypted)
return NGX_ERROR;
}
-#else
+#elif (NGX_HAVE_CRYPT)
ngx_int_t
ngx_libc_crypt(ngx_pool_t *pool, u_char *key, u_char *salt, u_char **encrypted)
@@ -71,6 +71,14 @@ ngx_libc_crypt(ngx_pool_t *pool, u_char *key, u_char *salt, u_char **encrypted)
return NGX_ERROR;
}
+#else
+
+ngx_int_t
+ngx_libc_crypt(ngx_pool_t *pool, u_char *key, u_char *salt, u_char **encrypted)
+{
+ return NGX_ERROR;
+}
+
#endif
#endif /* NGX_CRYPT */