Vsftpd: import from oldpackageslilik-openwrt-22.03
@ -0,0 +1,85 @@ | |||||
# | |||||
# 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:=vsftpd | |||||
PKG_VERSION:=3.0.2 | |||||
PKG_RELEASE:=4 | |||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz | |||||
PKG_SOURCE_URL:=https://security.appspot.com/downloads/ | |||||
PKG_MD5SUM:=8b00c749719089401315bd3c44dddbb2 | |||||
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION) | |||||
include $(INCLUDE_DIR)/package.mk | |||||
define Package/vsftpd/Default | |||||
SUBMENU:=File Transfer | |||||
SECTION:=net | |||||
CATEGORY:=Network | |||||
TITLE:=A fast and secure FTP server | |||||
URL:=http://vsftpd.beasts.org/ | |||||
MAINTAINER:=Cezary Jackiewicz <cezary@eko.one.pl> | |||||
endef | |||||
define Package/vsftpd | |||||
$(call Package/vsftpd/Default) | |||||
VARIANT:=notls | |||||
TITLE+= (no TLS) | |||||
endef | |||||
define Package/vsftpd-tls | |||||
$(call Package/vsftpd/Default) | |||||
VARIANT:=tls | |||||
TITLE+= (TLS) | |||||
DEPENDS+=+libopenssl | |||||
endef | |||||
define Package/vsftpd/conffiles | |||||
/etc/vsftpd.conf | |||||
endef | |||||
Package/vsftpd-tls/conffiles=$(Package/vsftpd/conffiles) | |||||
ifeq ($(BUILD_VARIANT),notls) | |||||
define Build/Compile | |||||
$(MAKE) -C $(PKG_BUILD_DIR) \ | |||||
CC="$(TARGET_CC)" \ | |||||
CFLAGS="$(TARGET_CFLAGS)" \ | |||||
LDFLAGS="$(TARGET_LDFLAGS)" \ | |||||
vsftpd | |||||
endef | |||||
endif | |||||
ifeq ($(BUILD_VARIANT),tls) | |||||
define Build/Compile | |||||
$(SED) 's/#undef VSF_BUILD_SSL/#define VSF_BUILD_SSL/' $(PKG_BUILD_DIR)/builddefs.h | |||||
$(SED) 's/-lcrypt -lnsl/-lcrypt -lnsl -lssl -lcrypto/' $(PKG_BUILD_DIR)/Makefile | |||||
$(MAKE) -C $(PKG_BUILD_DIR) \ | |||||
CC="$(TARGET_CC)" \ | |||||
CFLAGS="$(TARGET_CFLAGS)" \ | |||||
LDFLAGS="$(TARGET_LDFLAGS)" \ | |||||
vsftpd | |||||
endef | |||||
endif | |||||
define Package/vsftpd/install | |||||
$(INSTALL_DIR) $(1)/usr/sbin | |||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/$(PKG_NAME) $(1)/usr/sbin/ | |||||
$(INSTALL_DIR) $(1)/etc | |||||
$(INSTALL_CONF) ./files/$(PKG_NAME).conf $(1)/etc/$(PKG_NAME).conf | |||||
$(INSTALL_DIR) $(1)/etc/init.d | |||||
$(INSTALL_BIN) ./files/$(PKG_NAME).init $(1)/etc/init.d/$(PKG_NAME) | |||||
endef | |||||
Package/vsftpd-tls/install=$(Package/vsftpd/install) | |||||
$(eval $(call BuildPackage,vsftpd)) | |||||
$(eval $(call BuildPackage,vsftpd-tls)) |
@ -0,0 +1,30 @@ | |||||
background=YES | |||||
listen=YES | |||||
anonymous_enable=NO | |||||
local_enable=YES | |||||
write_enable=YES | |||||
local_umask=022 | |||||
check_shell=NO | |||||
#dirmessage_enable=YES | |||||
#ftpd_banner=Welcome to blah FTP service. | |||||
session_support=NO | |||||
#syslog_enable=YES | |||||
#userlist_enable=YES | |||||
#userlist_deny=NO | |||||
#userlist_file=/etc/vsftpd.users | |||||
#xferlog_enable=YES | |||||
#xferlog_file=/var/log/vsftpd.log | |||||
#xferlog_std_format=YES | |||||
### | |||||
### TLS/SSL options | |||||
### example key generation: openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/config/vsftpd_privkey.pem -out /etc/config/vsftpd_cert.pem -subj /C="DE"/ST="Saxony"/L="Leipzig"/CN="OpenWrt" | |||||
#ssl_enable=YES | |||||
#allow_anon_ssl=NO | |||||
#force_local_data_ssl=NO | |||||
#force_local_logins_ssl=NO | |||||
#ssl_tlsv1=YES | |||||
#ssl_sslv2=NO | |||||
#ssl_sslv3=NO | |||||
#rsa_cert_file=/etc/config/vsftpd_cert.pem | |||||
#rsa_private_key_file=/etc/config/vsftpd_privkey.pem | |||||
@ -0,0 +1,13 @@ | |||||
#!/bin/sh /etc/rc.common | |||||
# Copyright (C) 2006-2011 OpenWrt.org | |||||
START=50 | |||||
start() { | |||||
mkdir -m 0755 -p /var/run/vsftpd | |||||
service_start /usr/sbin/vsftpd | |||||
} | |||||
stop() { | |||||
service_stop /usr/sbin/vsftpd | |||||
} |
@ -0,0 +1,47 @@ | |||||
--- a/Makefile | |||||
+++ b/Makefile | |||||
@@ -22,6 +22,8 @@ OBJS = main.o utility.o prelogin.o ftpcm | |||||
seccompsandbox.o | |||||
+DESTDIR = | |||||
+ | |||||
.c.o: | |||||
$(CC) -c $*.c $(CFLAGS) $(IFLAGS) | |||||
@@ -29,21 +31,20 @@ vsftpd: $(OBJS) | |||||
$(CC) -o vsftpd $(OBJS) $(LINK) $(LDFLAGS) $(LIBS) | |||||
install: | |||||
- if [ -x /usr/local/sbin ]; then \ | |||||
- $(INSTALL) -m 755 vsftpd /usr/local/sbin/vsftpd; \ | |||||
- else \ | |||||
- $(INSTALL) -m 755 vsftpd /usr/sbin/vsftpd; fi | |||||
- if [ -x /usr/local/man ]; then \ | |||||
- $(INSTALL) -m 644 vsftpd.8 /usr/local/man/man8/vsftpd.8; \ | |||||
- $(INSTALL) -m 644 vsftpd.conf.5 /usr/local/man/man5/vsftpd.conf.5; \ | |||||
- elif [ -x /usr/share/man ]; then \ | |||||
- $(INSTALL) -m 644 vsftpd.8 /usr/share/man/man8/vsftpd.8; \ | |||||
- $(INSTALL) -m 644 vsftpd.conf.5 /usr/share/man/man5/vsftpd.conf.5; \ | |||||
- else \ | |||||
- $(INSTALL) -m 644 vsftpd.8 /usr/man/man8/vsftpd.8; \ | |||||
- $(INSTALL) -m 644 vsftpd.conf.5 /usr/man/man5/vsftpd.conf.5; fi | |||||
- if [ -x /etc/xinetd.d ]; then \ | |||||
- $(INSTALL) -m 644 xinetd.d/vsftpd /etc/xinetd.d/vsftpd; fi | |||||
+ mkdir -p $(DESTDIR)/usr/sbin | |||||
+ $(INSTALL) -m 755 vsftpd $(DESTDIR)/usr/sbin/ | |||||
+ mkdir -p $(DESTDIR)/usr/share/man/man8 | |||||
+ $(INSTALL) -m 644 vsftpd.8 $(DESTDIR)/usr/share/man/man8/ | |||||
+ mkdir -p $(DESTDIR)/usr/share/man/man5 | |||||
+ $(INSTALL) -m 644 vsftpd.conf.5 $(DESTDIR)/usr/share/man/man5/ | |||||
+ mkdir -p $(DESTDIR)/etc/xinetd.d | |||||
+ $(INSTALL) -m 644 xinetd.d/vsftpd $(DESTDIR)/etc/xinetd.d/ | |||||
+ | |||||
+uninstall: | |||||
+ rm -f $(DESTDIR)/usr/sbin/vsftpd | |||||
+ rm -f $(DESTDIR)/usr/share/man/man8/vsftpd.8 | |||||
+ rm -f $(DESTDIR)/usr/share/man/man5/vsftpd.conf.5 | |||||
+ rm -f $(DESTDIR)/etc/xinetd.d/vsftpd | |||||
clean: | |||||
rm -f *.o *.swp vsftpd |
@ -0,0 +1,13 @@ | |||||
--- a/Makefile | |||||
+++ b/Makefile | |||||
@@ -8,8 +8,8 @@ CFLAGS = -O2 -fPIE -fstack-protector --p | |||||
-D_FORTIFY_SOURCE=2 \ | |||||
#-pedantic -Wconversion | |||||
-LIBS = `./vsf_findlibs.sh` | |||||
-LINK = -Wl,-s | |||||
+LIBS = -lcrypt -lnsl | |||||
+LINK = | |||||
LDFLAGS = -fPIE -pie -Wl,-z,relro -Wl,-z,now | |||||
OBJS = main.o utility.o prelogin.o ftpcmdio.o postlogin.o privsock.o \ |
@ -0,0 +1,11 @@ | |||||
--- a/tunables.c | |||||
+++ b/tunables.c | |||||
@@ -254,7 +254,7 @@ tunables_load_defaults() | |||||
/* -rw------- */ | |||||
tunable_chown_upload_mode = 0600; | |||||
- install_str_setting("/usr/share/empty", &tunable_secure_chroot_dir); | |||||
+ install_str_setting("/var/run/vsftpd", &tunable_secure_chroot_dir); | |||||
install_str_setting("ftp", &tunable_ftp_username); | |||||
install_str_setting("root", &tunable_chown_username); | |||||
install_str_setting("/var/log/xferlog", &tunable_xferlog_file); |
@ -0,0 +1,12 @@ | |||||
--- a/sysdeputil.c | |||||
+++ b/sysdeputil.c | |||||
@@ -165,6 +165,9 @@ | |||||
#endif | |||||
/* END config */ | |||||
+#undef VSF_SYSDEP_HAVE_CAPABILITIES | |||||
+#undef VSF_SYSDEP_HAVE_LIBCAP | |||||
+ | |||||
/* PAM support - we include our own dummy version if the system lacks this */ | |||||
#include <security/pam_appl.h> | |||||
@ -0,0 +1,11 @@ | |||||
--- a/builddefs.h | |||||
+++ b/builddefs.h | |||||
@@ -2,7 +2,7 @@ | |||||
#define VSF_BUILDDEFS_H | |||||
#undef VSF_BUILD_TCPWRAPPERS | |||||
-#define VSF_BUILD_PAM | |||||
+#undef VSF_BUILD_PAM | |||||
#undef VSF_BUILD_SSL | |||||
#endif /* VSF_BUILDDEFS_H */ |