mirror of
https://github.com/openembedded/meta-openembedded.git
synced 2026-07-16 04:17:25 +00:00
1c4921817e
Change default value of secure_chroot_dir to /var/run/vsftpd/empty, add volatiles entry for it, to ensure it won't fail to start with error: "500 OOPS: vsftpd: not found: directory given in 'secure_chroot_dir':/var/share/empty" This shows up in both standalone mode or started by xined. Signed-off-by: Ming Liu <ming.liu@windriver.com> Signed-off-by: Joe MacDonald <joe@deserted.net>
84 lines
3.3 KiB
BlitzBasic
84 lines
3.3 KiB
BlitzBasic
SUMMARY = "Very Secure FTP server"
|
|
HOMEPAGE = "https://security.appspot.com/vsftpd.html"
|
|
SECTION = "network"
|
|
LICENSE = "GPLv2"
|
|
LIC_FILES_CHKSUM = "file://COPYING;md5=a6067ad950b28336613aed9dd47b1271"
|
|
|
|
DEPENDS = "libcap openssl"
|
|
|
|
SRC_URI = "https://security.appspot.com/downloads/vsftpd-${PV}.tar.gz \
|
|
file://makefile-destdir.patch \
|
|
file://makefile-libs.patch \
|
|
file://makefile-strip.patch \
|
|
file://init \
|
|
file://vsftpd.conf \
|
|
file://vsftpd.user_list \
|
|
file://vsftpd.ftpusers \
|
|
file://change-secure_chroot_dir.patch \
|
|
file://volatiles.99_vsftpd \
|
|
"
|
|
|
|
LIC_FILES_CHKSUM = "file://COPYING;md5=a6067ad950b28336613aed9dd47b1271 \
|
|
file://COPYRIGHT;md5=04251b2eb0f298dae376d92454f6f72e \
|
|
file://LICENSE;md5=654df2042d44b8cac8a5654fc5be63eb"
|
|
SRC_URI[md5sum] = "ad9fa952558c2c5b0426ccaccff0f972"
|
|
SRC_URI[sha256sum] = "ef70205dcd0c7f03b008b9578fb44c0cbe31e66daab8cfafb9904747c17fc2a8"
|
|
|
|
PACKAGECONFIG ??= "tcp-wrappers"
|
|
PACKAGECONFIG[tcp-wrappers] = ",,tcp-wrappers"
|
|
SRC_URI +="${@base_contains('PACKAGECONFIG', 'tcp-wrappers', 'file://vsftpd-tcp_wrappers-support.patch', '', d)}"
|
|
|
|
DEPENDS += "${@base_contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
|
|
RDEPENDS_${PN} += "${@base_contains('DISTRO_FEATURES', 'pam', 'pam-plugin-listfile', '', d)}"
|
|
PAMLIB = "${@base_contains('DISTRO_FEATURES', 'pam', '-L${STAGING_BASELIBDIR} -lpam', '', d)}"
|
|
NOPAM_SRC ="${@base_contains('PACKAGECONFIG', 'tcp-wrappers', 'file://nopam-with-tcp_wrappers.patch', 'file://nopam.patch', d)}"
|
|
SRC_URI += "${@base_contains('DISTRO_FEATURES', 'pam', '', '${NOPAM_SRC}', d)}"
|
|
|
|
inherit update-rc.d useradd
|
|
|
|
CONFFILES_${PN} = "${sysconfdir}/vsftpd.conf"
|
|
LDFLAGS_append =" -lcrypt -lcap"
|
|
|
|
do_configure() {
|
|
# Fix hardcoded /usr, /etc, /var mess.
|
|
cat tunables.c|sed s:\"/usr:\"${prefix}:g|sed s:\"/var:\"${localstatedir}:g \
|
|
|sed s:\"/etc:\"${sysconfdir}:g > tunables.c.new
|
|
mv tunables.c.new tunables.c
|
|
}
|
|
|
|
do_compile() {
|
|
oe_runmake "LIBS=-L${STAGING_LIBDIR} -lcrypt -lcap ${PAMLIB} -lwrap"
|
|
}
|
|
|
|
do_install() {
|
|
install -d ${D}${sbindir}
|
|
install -d ${D}${mandir}/man8
|
|
install -d ${D}${mandir}/man5
|
|
oe_runmake 'DESTDIR=${D}' install
|
|
install -d ${D}${sysconfdir}
|
|
install -m 600 ${WORKDIR}/vsftpd.conf ${D}${sysconfdir}/vsftpd.conf
|
|
install -d ${D}${sysconfdir}/init.d/
|
|
install -m 755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/vsftpd
|
|
install -d ${D}/${sysconfdir}/default/volatiles
|
|
install -m 644 ${WORKDIR}/volatiles.99_vsftpd ${D}/${sysconfdir}/default/volatiles/99_vsftpd
|
|
|
|
install -m 600 ${WORKDIR}/vsftpd.ftpusers ${D}${sysconfdir}/
|
|
install -m 600 ${WORKDIR}/vsftpd.user_list ${D}${sysconfdir}/
|
|
if ! test -z ${PAMLIB} ; then
|
|
install -d ${D}${sysconfdir}/pam.d/
|
|
cp ${S}/RedHat/vsftpd.pam ${D}${sysconfdir}/pam.d/vsftpd
|
|
sed -i "s:/lib/security:${base_libdir}/security:" ${D}${sysconfdir}/pam.d/vsftpd
|
|
sed -i "s:ftpusers:vsftpd.ftpusers:" ${D}${sysconfdir}/pam.d/vsftpd
|
|
fi
|
|
}
|
|
|
|
INITSCRIPT_PACKAGES = "${PN}"
|
|
INITSCRIPT_NAME_${PN} = "vsftpd"
|
|
INITSCRIPT_PARAMS_${PN} = "defaults 80"
|
|
|
|
USERADD_PACKAGES = "${PN}"
|
|
USERADD_PARAM_${PN} = "--system --home-dir /var/lib/ftp --no-create-home -g ftp \
|
|
--shell /bin/false ftp "
|
|
GROUPADD_PARAM_${PN} = "-r ftp"
|
|
|