Browse Source

nginx: Add missing WebDAV methods support (PROPFIND & OPTIONS)

Nginx provide WebDAV methods PUT, DELETE, MKCOL, COPY, and MOVE with
http_dav_module. But most WebDAV clients that require additional WebDAV
methods (PROPFIND & OPTIONS) to operate. Add missing methods support
with Arutyunyan Roman (arutyunyan.roman@gmail.com)'s nginx-dav-ext-module.
(see: http://nginx.org/en/docs/http/ngx_http_dav_module.html
https://github.com/arut/nginx-dav-ext-module)

Example config:
	location / {
		dav_methods PUT DELETE MKCOL COPY MOVE;
		dav_ext_methods PROPFIND OPTIONS;

		root /var/root/;
	}

Signed-off-by: Ruixi Zhou <zhouruixi@gmail.com>
lilik-openwrt-22.03
Ruixi Zhou 6 years ago
parent
commit
fa257720ab
1 changed files with 26 additions and 5 deletions
  1. +26
    -5
      net/nginx/Makefile

+ 26
- 5
net/nginx/Makefile View File

@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=nginx
PKG_VERSION:=1.15.2
PKG_RELEASE:=3
PKG_RELEASE:=4
PKG_SOURCE:=nginx-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=http://nginx.org/download/
@ -78,7 +78,7 @@ define Package/nginx/default
TITLE:=Nginx web server
URL:=http://nginx.org/
DEPENDS:=+NGINX_PCRE:libpcre +(NGINX_SSL||NGINX_HTTP_CACHE||NGINX_HTTP_AUTH_BASIC):libopenssl \
+NGINX_HTTP_GZIP:zlib +NGINX_LUA:liblua +libpthread
+NGINX_HTTP_GZIP:zlib +NGINX_LUA:liblua +libpthread +NGINX_DAV:libexpat
endef
define Package/nginx/description
@ -107,7 +107,7 @@ Package/nginx-ssl/description = $(Package/nginx/description) \
define Package/nginx-all-module
$(Package/nginx/default)
TITLE += with ALL module selected
DEPENDS:=+libpcre +libopenssl +zlib +liblua +libpthread
DEPENDS:=+libpcre +libopenssl +zlib +liblua +libpthread +libexpat
VARIANT:=all-module
PROVIDES:=nginx
endef
@ -247,7 +247,7 @@ ifneq ($(BUILD_VARIANT),all-module)
ADDITIONAL_MODULES += --with-http_flv_module
endif
ifeq ($(CONFIG_NGINX_DAV),y)
ADDITIONAL_MODULES += --with-http_dav_module
ADDITIONAL_MODULES += --with-http_dav_module --add-module=$(PKG_BUILD_DIR)/nginx-dav-ext-module
endif
ifeq ($(CONFIG_NGINX_HTTP_AUTH_REQUEST),y)
ADDITIONAL_MODULES += --with-http_auth_request_module
@ -283,9 +283,11 @@ else
CONFIG_NGINX_TS_MODULE:=y
CONFIG_NGINX_NAXSI:=y
CONFIG_NGINX_LUA:=y
CONFIG_NGINX_DAV:=y
ADDITIONAL_MODULES += --with-http_ssl_module --add-module=$(PKG_BUILD_DIR)/nginx-naxsi/naxsi_src \
--add-module=$(PKG_BUILD_DIR)/lua-nginx --with-ipv6 --with-http_stub_status_module --with-http_flv_module \
--with-http_dav_module --with-http_auth_request_module --with-http_v2_module --with-http_realip_module \
--with-http_dav_module --add-module=$(PKG_BUILD_DIR)/nginx-dav-ext-module \
--with-http_auth_request_module --with-http_v2_module --with-http_realip_module \
--with-http_secure_link_module --with-http_sub_module --add-module=$(PKG_BUILD_DIR)/nginx-headers-more \
--add-module=$(PKG_BUILD_DIR)/nginx-brotli --add-module=$(PKG_BUILD_DIR)/nginx-rtmp \
--add-module=$(PKG_BUILD_DIR)/nginx-ts
@ -388,6 +390,7 @@ define Build/Prepare
$(Prepare/nginx-headers-more)
$(Prepare/nginx-rtmp)
$(Prepare/nginx-ts)
$(Prepare/nginx-dav-ext-module)
endef
@ -499,6 +502,24 @@ ifeq ($(CONFIG_NGINX_LUA),y)
endef
endif
ifeq ($(CONFIG_NGINX_DAV),y)
define Download/nginx-dav-ext-module
VERSION:=430fd774fe838a04f1a5defbf1dd571d42300cf9
SUBDIR:=nginx-dav-ext-module
FILE:=nginx-dav-ext-module-$(PKG_VERSION)-$$(VERSION).tar.gz
URL:=https://github.com/arut/nginx-dav-ext-module.git
MIRROR_HASH:=0566053a8756423ecab455fd9d218cec1e017598fcbb3d6415a06f816851611e
PROTO:=git
endef
$(eval $(call Download,nginx-dav-ext-module))
define Prepare/nginx-dav-ext-module
$(eval $(Download/nginx-dav-ext-module))
gzip -dc $(DL_DIR)/$(FILE) | tar -C $(PKG_BUILD_DIR) $(TAR_OPTIONS)
endef
endif
$(eval $(call BuildPackage,nginx))
$(eval $(call BuildPackage,nginx-ssl))
$(eval $(call BuildPackage,nginx-all-module))


Loading…
Cancel
Save