summaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorValentin Bartenev <vbart@nginx.com>2019-09-24 15:33:42 +0300
committerValentin Bartenev <vbart@nginx.com>2019-09-24 15:33:42 +0300
commit514f34144a491832db1647c84a7271120ba7e7d6 (patch)
tree44565d310f670ab5ea8282109809a1665a0d2269 /src
parentc416933171810a85b4e4e8fa6778820e1746b003 (diff)
downloadunit-514f34144a491832db1647c84a7271120ba7e7d6.tar.gz
unit-514f34144a491832db1647c84a7271120ba7e7d6.tar.bz2
Static: returning 404 for Unix domain sockets.
It's now similar to how attempts to access other non-regular files are handled.
Diffstat (limited to '')
-rw-r--r--src/nxt_errno.h1
-rw-r--r--src/nxt_http_static.c11
2 files changed, 12 insertions, 0 deletions
diff --git a/src/nxt_errno.h b/src/nxt_errno.h
index e3ce8349..1b29ef2f 100644
--- a/src/nxt_errno.h
+++ b/src/nxt_errno.h
@@ -16,6 +16,7 @@ typedef int nxt_err_t;
#define NXT_ENOPATH ENOENT
#define NXT_ESRCH ESRCH
#define NXT_EINTR EINTR
+#define NXT_ENXIO ENXIO
#define NXT_ECHILD ECHILD
#define NXT_ENOMEM ENOMEM
#define NXT_EACCES EACCES
diff --git a/src/nxt_http_static.c b/src/nxt_http_static.c
index 4679af5b..48a989cf 100644
--- a/src/nxt_http_static.c
+++ b/src/nxt_http_static.c
@@ -94,9 +94,20 @@ nxt_http_static_handler(nxt_task_t *task, nxt_http_request_t *r,
if (nxt_slow_path(ret != NXT_OK)) {
switch (f->error) {
+ /*
+ * For Unix domain sockets "errno" is set to:
+ * - ENXIO on Linux;
+ * - EOPNOTSUPP on *BSD, MacOSX, and Solaris.
+ */
+
case NXT_ENOENT:
case NXT_ENOTDIR:
case NXT_ENAMETOOLONG:
+#if (NXT_LINUX)
+ case NXT_ENXIO:
+#else
+ case NXT_EOPNOTSUPP:
+#endif
level = NXT_LOG_ERR;
status = NXT_HTTP_NOT_FOUND;
break;