1################################################################################ 2# 3# vsftpd 4# 5################################################################################ 6 7VSFTPD_VERSION = 3.0.5 8VSFTPD_SITE = https://security.appspot.com/downloads 9VSFTPD_LIBS = -lcrypt 10VSFTPD_LICENSE = GPL-2.0 11VSFTPD_LICENSE_FILES = COPYING 12VSFTPD_CPE_ID_VENDOR = vsftpd_project 13VSFTPD_SELINUX_MODULES = ftp 14 15define VSFTPD_DISABLE_UTMPX 16 $(SED) 's/.*VSF_BUILD_UTMPX/#undef VSF_BUILD_UTMPX/' $(@D)/builddefs.h 17endef 18 19define VSFTPD_ENABLE_SSL 20 $(SED) 's/.*VSF_BUILD_SSL/#define VSF_BUILD_SSL/' $(@D)/builddefs.h 21endef 22 23ifeq ($(BR2_PACKAGE_VSFTPD_UTMPX),) 24VSFTPD_POST_CONFIGURE_HOOKS += VSFTPD_DISABLE_UTMPX 25endif 26 27ifeq ($(BR2_PACKAGE_OPENSSL),y) 28VSFTPD_DEPENDENCIES += openssl host-pkgconf 29VSFTPD_LIBS += `$(PKG_CONFIG_HOST_BINARY) --libs libssl libcrypto` 30VSFTPD_POST_CONFIGURE_HOOKS += VSFTPD_ENABLE_SSL 31endif 32 33ifeq ($(BR2_PACKAGE_LIBCAP),y) 34VSFTPD_DEPENDENCIES += libcap 35VSFTPD_LIBS += -lcap 36endif 37 38ifeq ($(BR2_PACKAGE_LINUX_PAM),y) 39VSFTPD_DEPENDENCIES += linux-pam 40VSFTPD_LIBS += -lpam 41endif 42 43define VSFTPD_BUILD_CMDS 44 $(TARGET_MAKE_ENV) $(MAKE) CC="$(TARGET_CC)" CFLAGS="$(TARGET_CFLAGS)" \ 45 LDFLAGS="$(TARGET_LDFLAGS)" LIBS="$(VSFTPD_LIBS)" -C $(@D) 46endef 47 48define VSFTPD_USERS 49 ftp -1 ftp -1 * /home/ftp - - Anonymous FTP User 50endef 51 52define VSFTPD_INSTALL_INIT_SYSTEMD 53 $(INSTALL) -D -m 0644 package/vsftpd/vsftpd.service \ 54 $(TARGET_DIR)/usr/lib/systemd/system/vsftpd.service 55endef 56 57define VSFTPD_INSTALL_INIT_SYSV 58 $(INSTALL) -D -m 755 package/vsftpd/S70vsftpd $(TARGET_DIR)/etc/init.d/S70vsftpd 59endef 60 61# vsftpd won't work if the jail directory is writable, it has to be 62# readable only otherwise you get the following error: 63# 500 OOPS: vsftpd: refusing to run with writable root inside chroot() 64# That's why we have to adjust the permissions of /home/ftp 65define VSFTPD_INSTALL_TARGET_CMDS 66 $(INSTALL) -D -m 755 $(@D)/vsftpd $(TARGET_DIR)/usr/sbin/vsftpd 67 test -f $(TARGET_DIR)/etc/vsftpd.conf || \ 68 $(INSTALL) -D -m 644 $(@D)/vsftpd.conf \ 69 $(TARGET_DIR)/etc/vsftpd.conf 70 $(INSTALL) -d -m 700 $(TARGET_DIR)/usr/share/empty 71 $(INSTALL) -d -m 555 $(TARGET_DIR)/home/ftp 72endef 73 74$(eval $(generic-package)) 75