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