1 SUMMARY = "lightweight, efficient FTP server written for security"
2 HOMEPAGE = "https://security.appspot.com/vsftpd.html"
3 SECTION = "console/network"
4 LICENSE = "GPL-2.0-with-OpenSSL-exception"
5 LIC_FILES_CHKSUM = "file://COPYING;md5=a6067ad950b28336613aed9dd47b1271"
6 DEPENDS = "libcap openssl"
7 DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
10 https://security.appspot.com/downloads/${BP}.tar.gz \
11 file://vsftpd@.service \
12 file://vsftpd.socket \
13 file://vsftpd.xinetd.in \
14 file://01-builddefs.patch \
15 file://02-config.patch \
16 file://03-db-doc.patch \
17 file://04-link-local.patch \
18 file://05-whitespaces.patch \
19 file://06-greedy.patch \
20 file://07-utf8.patch \
21 file://08-manpage.patch \
22 file://09-s390.patch \
23 file://10-remote-dos.patch \
24 file://0001-sysdeputil-allow-login-with-empty-passwords-in-etc-p.patch \
26 SRC_URI[md5sum] = "da119d084bd3f98664636ea05b5bb398"
27 SRC_URI[sha256sum] = "9d4d2bf6e6e2884852ba4e69e157a2cecd68c5a7635d66a3a8cf8d898c955ef7"
29 S = "${WORKDIR}/${BP}"
31 inherit systemd useradd xinetd
33 CFLAGS = "${TARGET_CFLAGS}"
34 CFLAGS += "-DVSF_BUILD_SSL=1"
35 CFLAGS += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', '-DVSF_BUILD_PAM=1', '', d)}"
37 LIBS = "-lcap -lcrypt -lssl -lcrypto"
38 LIBS += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', '-lpam', '', d)}"
40 LINK = "${TARGET_LDFLAGS}"
42 SECURE_CHROOT_DIR = "${datadir}/${BPN}/chroot"
43 RSA_CERT_FILE = "${sysconfdir}/ssl/private/${BPN}.pem"
45 EXTRA_OEMAKE = "-e MAKEFLAGS="
53 sed -e "s,^#\?${NAME}=.*,${NAME}=${VALUE}," -i vsftpd.conf
56 set_default listen_ipv6 NO
57 set_default anonymous_enable NO
58 set_default local_enable YES
59 set_default write_enable YES
60 set_default anon_upload_enable NO
61 set_default anon_mkdir_write_enable NO
62 set_default dirmessage_enable NO
63 set_default use_localtime YES
64 set_default xferlog_enable NO
65 set_default connect_from_port_20 YES
66 set_default chown_uploads NO
67 set_default nopriv_user vsftpd
68 set_default async_abor_enable YES
69 set_default ascii_upload_enable NO
70 set_default ascii_download_enable NO
71 set_default ftpd_banner "Welcome to the ${DISTRO_NAME} FTP service!"
72 set_default chroot_local_user NO
73 set_default chroot_list_enable NO
74 set_default ls_recurse_enable YES
75 set_default secure_chroot_dir "${SECURE_CHROOT_DIR}"
76 set_default rsa_cert_file "${RSA_CERT_FILE}"
79 oe_runmake 'CFLAGS=${CFLAGS}' 'LIBS=${LIBS}' 'LINK=${LINK}'
82 install -d ${D}${sysconfdir}
83 install -m 644 vsftpd.conf ${D}${sysconfdir}
84 install -d ${D}${sbindir}
85 install -m 755 vsftpd ${D}${sbindir}/vsftpd
86 install -d ${D}${mandir}/man8
87 install -m 644 vsftpd.8 ${D}${mandir}/man8/vsftpd.8
88 install -d ${D}${mandir}/man5
89 install -m 644 vsftpd.conf.5 ${D}${mandir}/man5/vsftpd.conf.5
90 install -d ${D}${SECURE_CHROOT_DIR}
91 if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
92 install -d ${D}${systemd_unitdir}/system
93 ln -sf /dev/null ${D}${systemd_unitdir}/system/vsftpd.service
94 install -m644 ${WORKDIR}/vsftpd@.service ${D}${systemd_unitdir}/system
95 install -m644 ${WORKDIR}/vsftpd.socket ${D}${systemd_unitdir}/system
99 SYSTEMD_SERVICE_${PN} = "vsftpd.socket"
101 USERADD_PACKAGES = "${PN}"
102 USERADD_PARAM_${PN} = "--home-dir ${SECURE_CHROOT_DIR} --no-create-home --system --shell /bin/false --user-group vsftpd"