diff --git a/libs/neon/Makefile b/libs/neon/Makefile new file mode 100644 index 000000000..4d3bf8cf5 --- /dev/null +++ b/libs/neon/Makefile @@ -0,0 +1,78 @@ +# +# Copyright (C) 2007-2014 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk + +PKG_NAME:=neon +PKG_VERSION:=0.30.0 +PKG_RELEASE:=1 + +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz +PKG_SOURCE_URL:=http://www.webdav.org/neon +PKG_MD5SUM:=fb60b3a124eeec441937a812c456fd94 + +PKG_INSTALL:=1 + +include $(INCLUDE_DIR)/package.mk + +define Package/libneon + SECTION:=libs + CATEGORY:=Libraries + TITLE:=HTTP and WebDAV client library + URL:=http://www.webdav.org/neon/ + DEPENDS:=+libopenssl +libexpat + MAINTAINER:=Federico Di Marco +endef + +define Package/libneon/description + neon is an HTTP and WebDAV client library, with a C interface. Features: + + - High-level wrappers for common HTTP and WebDAV operations (GET, MOVE, DELETE, etc) + - Low-level interface to the HTTP request/response engine, allowing the use of arbitrary HTTP methods, headers, etc. + - Authentication support including Basic and Digest support, along with GSSAPI-based Negotiate on Unix, and + SSPI-based Negotiate/NTLM on Win32 + - SSL/TLS support using OpenSSL or GnuTLS; exposing an abstraction layer for verifying server certificates, handling client + certificates, and examining certificate properties. Smartcard-based client certificates are also supported via a + PKCS11 wrapper interface. + - Abstract interface to parsing XML using libxml2 or expat, and wrappers for simplifying handling XML HTTP response bodies + - WebDAV metadata support; wrappers for PROPFIND and PROPPATCH to simplify property manipulation. +endef + + +TARGET_CFLAGS += $(FPIC) +TARGET_CPPFLAGS += -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE + +CONFIGURE_ARGS += \ + --enable-shared \ + --enable-static \ + --with-expat \ + --with-ssl="openssl" \ + --without-egd \ + --without-libproxy + +CONFIGURE_VARS += \ + LDFLAGS="$$$$LDFLAGS -lcrypto -lssl" + +define Build/InstallDev + $(INSTALL_DIR) $(1)/usr/bin + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/neon-config $(1)/usr/bin/ + $(INSTALL_DIR) $(1)/usr/include + $(CP) $(PKG_INSTALL_DIR)/usr/include/neon $(1)/usr/include/ + $(INSTALL_DIR) $(1)/usr/lib + $(CP) $(PKG_INSTALL_DIR)/usr/lib/libneon.{a,so*} $(1)/usr/lib/ + $(INSTALL_DIR) $(1)/usr/lib/pkgconfig + $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/neon.pc $(1)/usr/lib/pkgconfig/ + $(SED) 's,-I$$$${includedir}/,-I$(STAGING_DIR)/usr/include/,g' $(1)/usr/bin/neon-config + $(SED) 's,-L$$$${libdir},,g' $(1)/usr/bin/neon-config +endef + +define Package/libneon/install + $(INSTALL_DIR) $(1)/usr/lib + $(CP) $(PKG_INSTALL_DIR)/usr/lib/libneon.so.* $(1)/usr/lib/ +endef + +$(eval $(call BuildPackage,libneon)) diff --git a/net/davfs2/Makefile b/net/davfs2/Makefile new file mode 100644 index 000000000..fc247b8eb --- /dev/null +++ b/net/davfs2/Makefile @@ -0,0 +1,67 @@ +# +# Copyright (C) 2006-2014 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk + +PKG_NAME:=davfs2 +PKG_VERSION:=1.5.2 +PKG_RELEASE:=1 + +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz +PKG_SOURCE_URL:=http://download.savannah.gnu.org/releases/davfs2/ +PKG_MD5SUM:=376bc9346454135cba78afacbcb23f86 + +include $(INCLUDE_DIR)/package.mk + +define Package/davfs2 + SECTION:=net + CATEGORY:=Network + SUBMENU:=Filesystem + DEPENDS=+libopenssl +libneon +libiconv +libintl +libexpat +kmod-fuse +libfuse + TITLE:=Mount a WebDAV resource as a regular file system. + URL:=http://savannah.nongnu.org/projects/davfs2/ + MAINTAINER:=Federico Di Marco +endef + +define Package/davfs2/description + Web Distributed Authoring and Versioning (WebDAV), an extension to the HTTP-protocol, + allows authoring of resources on a remote web server.davfs2 provides the ability to + access such resources like a typical filesystem, allowing for use by standard + applications with no built-in support for WebDAV. + + davfs2 is designed to fully integrate into the filesystem semantics of Unix-like + systems (mount, umount, etc.). davfs2 makes mounting by unprivileged users as easy + and secure as possible. + + davfs2 does extensive caching to make the file system responsive, to avoid + unnecessary network traffic and to prevent data loss, and to cope for slow or + unreliable connections. + + davfs2 will work with most WebDAV servers needing little or no configuration. +endef + +define Package/davfs2/conffiles +/etc/davfs2/davfs2.conf +endef + +TARGET_CFLAGS += -I$(STAGING_DIR)/usr/include + +CONFIGURE_VARS += \ + LDFLAGS="$(TARGET_LDFLAGS) -L$(TOOLCHAIN_DIR)/usr/lib -L$(TOOLCHAIN_DIR)/lib" + +CONFIGURE_ARGS += --with-neon="$(STAGING_DIR)/usr" + +define Package/davfs2/install + $(INSTALL_DIR) $(1)/usr/sbin + $(INSTALL_BIN) $(PKG_BUILD_DIR)/src/mount.davfs $(1)/usr/sbin/ + $(INSTALL_BIN) $(PKG_BUILD_DIR)/src/umount.davfs $(1)/usr/sbin/ + $(INSTALL_DIR) $(1)/etc + $(INSTALL_DIR) $(1)/etc/davfs2 + $(INSTALL_DATA) files/$(PKG_NAME).conf $(1)/etc/davfs2 +endef + +$(eval $(call BuildPackage,davfs2)) diff --git a/net/davfs2/files/davfs2.conf b/net/davfs2/files/davfs2.conf new file mode 100644 index 000000000..4cf501be5 --- /dev/null +++ b/net/davfs2/files/davfs2.conf @@ -0,0 +1,9 @@ +# +# davfs2 configuration file +# please see http://linux.die.net/man/5/davfs2.conf for details +# + +dav_user nobody +dav_group nogroup +cache_dir /tmp/davfs2 +cache_size 4 diff --git a/net/davfs2/patches/010-main_code_fix.patch b/net/davfs2/patches/010-main_code_fix.patch new file mode 100644 index 000000000..aa36fdfaa --- /dev/null +++ b/net/davfs2/patches/010-main_code_fix.patch @@ -0,0 +1,35 @@ +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -32,8 +32,8 @@ mount_davfs_SOURCES = cache.c dav_coda.c + kernel_interface.h mount_davfs.h webdav.h + umount_davfs_SOURCES = umount_davfs.c defaults.h + +-AM_CFLAGS = -Wall -Werror=format-security \ +- -fstack-protector --param=ssp-buffer-size=4 ++AM_CFLAGS = -Wall -Werror=format-security ++# -fstack-protector --param=ssp-buffer-size=4 -- removed ssp not supported in openwrt + DEFS = -DPROGRAM_NAME=\"mount.davfs\" \ + -DDAV_SYS_CONF_DIR=\"$(pkgsysconfdir)\" \ + -DDAV_LOCALSTATE_DIR=\"$(dav_localstatedir)\" \ +--- a/src/cache.c ++++ b/src/cache.c +@@ -58,7 +58,7 @@ + #ifdef HAVE_SYS_TYPES_H + #include + #endif +-#include ++#include + + #include + #include +--- a/src/webdav.c ++++ b/src/webdav.c +@@ -2033,7 +2033,7 @@ ssl_verify(void *userdata, int failures, + len = getline(&s, &n, stdin); + if (len < 0) + abort(); +- if (rpmatch(s) > 0) ++ if ((s[0]=='y' || s[0]=='Y') > 0) + ret = 0; + free(s); + }