diff options
5 files changed, 256 insertions, 0 deletions
diff --git a/meta-oe/recipes-connectivity/vsftpd/files/init b/meta-oe/recipes-connectivity/vsftpd/files/init new file mode 100755 index 0000000000..d0ec010dc7 --- /dev/null +++ b/meta-oe/recipes-connectivity/vsftpd/files/init | |||
| @@ -0,0 +1,41 @@ | |||
| 1 | #!/bin/sh | ||
| 2 | DAEMON=/usr/sbin/vsftpd | ||
| 3 | NAME=vsftpd | ||
| 4 | DESC="FTP Server" | ||
| 5 | ARGS="" | ||
| 6 | FTPDIR=/var/lib/ftp | ||
| 7 | |||
| 8 | test -f $DAEMON || exit 0 | ||
| 9 | |||
| 10 | set -e | ||
| 11 | |||
| 12 | case "$1" in | ||
| 13 | start) | ||
| 14 | echo -n "* starting $DESC: $NAME... " | ||
| 15 | if ! test -d $FTPDIR; then | ||
| 16 | mkdir -p $FTPDIR/in | ||
| 17 | chown ftp $FTPDIR -R | ||
| 18 | chmod a-w $FTPDIR | ||
| 19 | chmod u+w $FTPDIR/in | ||
| 20 | fi | ||
| 21 | start-stop-daemon -S -b -x $DAEMON -- $ARGS | ||
| 22 | echo "done." | ||
| 23 | ;; | ||
| 24 | stop) | ||
| 25 | echo -n "* stopping $DESC: $NAME... " | ||
| 26 | start-stop-daemon -K -x $DAEMON | ||
| 27 | echo "done." | ||
| 28 | ;; | ||
| 29 | restart) | ||
| 30 | echo "* restarting $DESC: $NAME... " | ||
| 31 | $0 stop | ||
| 32 | $0 start | ||
| 33 | echo "done." | ||
| 34 | ;; | ||
| 35 | *) | ||
| 36 | echo "Usage: $0 {start|stop|restart}" | ||
| 37 | exit 1 | ||
| 38 | ;; | ||
| 39 | esac | ||
| 40 | |||
| 41 | exit 0 | ||
diff --git a/meta-oe/recipes-connectivity/vsftpd/files/vsftpd.conf b/meta-oe/recipes-connectivity/vsftpd/files/vsftpd.conf new file mode 100755 index 0000000000..08f91e048d --- /dev/null +++ b/meta-oe/recipes-connectivity/vsftpd/files/vsftpd.conf | |||
| @@ -0,0 +1,108 @@ | |||
| 1 | # Example config file /etc/vsftpd.conf | ||
| 2 | # | ||
| 3 | # The default compiled in settings are fairly paranoid. This sample file | ||
| 4 | # loosens things up a bit, to make the ftp daemon more usable. | ||
| 5 | # Please see vsftpd.conf.5 for all compiled in defaults. | ||
| 6 | # | ||
| 7 | # READ THIS: This example file is NOT an exhaustive list of vsftpd options. | ||
| 8 | # Please read the vsftpd.conf.5 manual page to get a full idea of vsftpd's | ||
| 9 | # capabilities. | ||
| 10 | |||
| 11 | # run standalone | ||
| 12 | listen=YES | ||
| 13 | |||
| 14 | # Allow anonymous FTP? (Beware - allowed by default if you comment this out). | ||
| 15 | anonymous_enable=YES | ||
| 16 | # | ||
| 17 | # Uncomment this to allow local users to log in. | ||
| 18 | #local_enable=YES | ||
| 19 | # | ||
| 20 | # Uncomment this to enable any form of FTP write command. | ||
| 21 | write_enable=YES | ||
| 22 | # | ||
| 23 | # Default umask for local users is 077. You may wish to change this to 022, | ||
| 24 | # if your users expect that (022 is used by most other ftpd's) | ||
| 25 | #local_umask=022 | ||
| 26 | # | ||
| 27 | # Uncomment this to allow the anonymous FTP user to upload files. This only | ||
| 28 | # has an effect if the above global write enable is activated. Also, you will | ||
| 29 | # obviously need to create a directory writable by the FTP user. | ||
| 30 | #anon_upload_enable=YES | ||
| 31 | # | ||
| 32 | # Uncomment this if you want the anonymous FTP user to be able to create | ||
| 33 | # new directories. | ||
| 34 | #anon_mkdir_write_enable=YES | ||
| 35 | # | ||
| 36 | # Activate directory messages - messages given to remote users when they | ||
| 37 | # go into a certain directory. | ||
| 38 | dirmessage_enable=YES | ||
| 39 | # | ||
| 40 | # Activate logging of uploads/downloads. | ||
| 41 | xferlog_enable=YES | ||
| 42 | # | ||
| 43 | # Make sure PORT transfer connections originate from port 20 (ftp-data). | ||
| 44 | connect_from_port_20=YES | ||
| 45 | # | ||
| 46 | # If you want, you can arrange for uploaded anonymous files to be owned by | ||
| 47 | # a different user. Note! Using "root" for uploaded files is not | ||
| 48 | # recommended! | ||
| 49 | #chown_uploads=YES | ||
| 50 | #chown_username=whoever | ||
| 51 | # | ||
| 52 | # You may override where the log file goes if you like. The default is shown | ||
| 53 | # below. | ||
| 54 | #xferlog_file=/var/log/vsftpd.log | ||
| 55 | # | ||
| 56 | # If you want, you can have your log file in standard ftpd xferlog format | ||
| 57 | #xferlog_std_format=YES | ||
| 58 | # | ||
| 59 | # You may change the default value for timing out an idle session. | ||
| 60 | #idle_session_timeout=600 | ||
| 61 | # | ||
| 62 | # You may change the default value for timing out a data connection. | ||
| 63 | #data_connection_timeout=120 | ||
| 64 | # | ||
| 65 | # It is recommended that you define on your system a unique user which the | ||
| 66 | # ftp server can use as a totally isolated and unprivileged user. | ||
| 67 | #nopriv_user=ftpsecure | ||
| 68 | # | ||
| 69 | # Enable this and the server will recognise asynchronous ABOR requests. Not | ||
| 70 | # recommended for security (the code is non-trivial). Not enabling it, | ||
| 71 | # however, may confuse older FTP clients. | ||
| 72 | #async_abor_enable=YES | ||
| 73 | # | ||
| 74 | # By default the server will pretend to allow ASCII mode but in fact ignore | ||
| 75 | # the request. Turn on the below options to have the server actually do ASCII | ||
| 76 | # mangling on files when in ASCII mode. | ||
| 77 | # Beware that turning on ascii_download_enable enables malicious remote parties | ||
| 78 | # to consume your I/O resources, by issuing the command "SIZE /big/file" in | ||
| 79 | # ASCII mode. | ||
| 80 | # These ASCII options are split into upload and download because you may wish | ||
| 81 | # to enable ASCII uploads (to prevent uploaded scripts etc. from breaking), | ||
| 82 | # without the DoS risk of SIZE and ASCII downloads. ASCII mangling should be | ||
| 83 | # on the client anyway.. | ||
| 84 | #ascii_upload_enable=YES | ||
| 85 | #ascii_download_enable=YES | ||
| 86 | # | ||
| 87 | # You may fully customise the login banner string: | ||
| 88 | #ftpd_banner=Welcome to blah FTP service. | ||
| 89 | # | ||
| 90 | # You may specify a file of disallowed anonymous e-mail addresses. Apparently | ||
| 91 | # useful for combatting certain DoS attacks. | ||
| 92 | #deny_email_enable=YES | ||
| 93 | # (default follows) | ||
| 94 | #banned_email_file=/etc/vsftpd.banned_emails | ||
| 95 | # | ||
| 96 | # You may specify an explicit list of local users to chroot() to their home | ||
| 97 | # directory. If chroot_local_user is YES, then this list becomes a list of | ||
| 98 | # users to NOT chroot(). | ||
| 99 | #chroot_list_enable=YES | ||
| 100 | # (default follows) | ||
| 101 | #chroot_list_file=/etc/vsftpd.chroot_list | ||
| 102 | # | ||
| 103 | # You may activate the "-R" option to the builtin ls. This is disabled by | ||
| 104 | # default to avoid remote users being able to cause excessive I/O on large | ||
| 105 | # sites. However, some broken FTP clients such as "ncftp" and "mirror" assume | ||
| 106 | # the presence of the "-R" option, so there is a strong case for enabling it. | ||
| 107 | #ls_recurse_enable=YES | ||
| 108 | |||
diff --git a/meta-oe/recipes-connectivity/vsftpd/vsftpd-2.3.5/makefile.patch b/meta-oe/recipes-connectivity/vsftpd/vsftpd-2.3.5/makefile.patch new file mode 100644 index 0000000000..3bf8f97671 --- /dev/null +++ b/meta-oe/recipes-connectivity/vsftpd/vsftpd-2.3.5/makefile.patch | |||
| @@ -0,0 +1,47 @@ | |||
| 1 | diff -ur vsftpd-2.0.1_org/Makefile vsftpd-2.0.1_patch/Makefile | ||
| 2 | --- vsftpd-2.0.1_org/Makefile 2004-06-06 18:21:27.000000000 +0200 | ||
| 3 | +++ vsftpd-2.0.1_patch/Makefile 2004-07-21 09:50:25.245576352 +0200 | ||
| 4 | @@ -5,7 +5,7 @@ | ||
| 5 | #CFLAGS = -g | ||
| 6 | CFLAGS = -O2 -Wall -W -Wshadow #-pedantic -Werror -Wconversion | ||
| 7 | |||
| 8 | -LIBS = `./vsf_findlibs.sh` | ||
| 9 | +LIBS = -lssl -lcrypto -lnsl -lresolv | ||
| 10 | LINK = -Wl,-s | ||
| 11 | |||
| 12 | OBJS = main.o utility.o prelogin.o ftpcmdio.o postlogin.o privsock.o \ | ||
| 13 | @@ -24,21 +24,21 @@ | ||
| 14 | $(CC) -o vsftpd $(OBJS) $(LINK) $(LIBS) | ||
| 15 | |||
| 16 | install: | ||
| 17 | - if [ -x /usr/local/sbin ]; then \ | ||
| 18 | - $(INSTALL) -m 755 vsftpd /usr/local/sbin/vsftpd; \ | ||
| 19 | + if [ -x ${DESTDIR}/usr/local/sbin ]; then \ | ||
| 20 | + $(INSTALL) -m 755 vsftpd ${DESTDIR}/usr/local/sbin/vsftpd; \ | ||
| 21 | else \ | ||
| 22 | - $(INSTALL) -m 755 vsftpd /usr/sbin/vsftpd; fi | ||
| 23 | - if [ -x /usr/local/man ]; then \ | ||
| 24 | - $(INSTALL) -m 644 vsftpd.8 /usr/local/man/man8/vsftpd.8; \ | ||
| 25 | - $(INSTALL) -m 644 vsftpd.conf.5 /usr/local/man/man5/vsftpd.conf.5; \ | ||
| 26 | - elif [ -x /usr/share/man ]; then \ | ||
| 27 | - $(INSTALL) -m 644 vsftpd.8 /usr/share/man/man8/vsftpd.8; \ | ||
| 28 | - $(INSTALL) -m 644 vsftpd.conf.5 /usr/share/man/man5/vsftpd.conf.5; \ | ||
| 29 | + $(INSTALL) -m 755 vsftpd ${DESTDIR}/usr/sbin/vsftpd; fi | ||
| 30 | + if [ -x ${DESTDIR}/usr/local/man ]; then \ | ||
| 31 | + $(INSTALL) -m 644 vsftpd.8 ${DESTDIR}/usr/local/man/man8/vsftpd.8; \ | ||
| 32 | + $(INSTALL) -m 644 vsftpd.conf.5 ${DESTDIR}/usr/local/man/man5/vsftpd.conf.5; \ | ||
| 33 | + elif [ -x ${DESTDIR}/usr/share/man ]; then \ | ||
| 34 | + $(INSTALL) -m 644 vsftpd.8 ${DESTDIR}/usr/share/man/man8/vsftpd.8; \ | ||
| 35 | + $(INSTALL) -m 644 vsftpd.conf.5 ${DESTDIR}/usr/share/man/man5/vsftpd.conf.5; \ | ||
| 36 | else \ | ||
| 37 | - $(INSTALL) -m 644 vsftpd.8 /usr/man/man8/vsftpd.8; \ | ||
| 38 | - $(INSTALL) -m 644 vsftpd.conf.5 /usr/man/man5/vsftpd.conf.5; fi | ||
| 39 | - if [ -x /etc/xinetd.d ]; then \ | ||
| 40 | - $(INSTALL) -m 644 xinetd.d/vsftpd /etc/xinetd.d/vsftpd; fi | ||
| 41 | + $(INSTALL) -m 644 vsftpd.8 ${DESTDIR}/usr/man/man8/vsftpd.8; \ | ||
| 42 | + $(INSTALL) -m 644 vsftpd.conf.5 ${DESTDIR}/usr/man/man5/vsftpd.conf.5; fi | ||
| 43 | + if [ -x ${DESTDIR}/etc/xinetd.d ]; then \ | ||
| 44 | + $(INSTALL) -m 644 xinetd.d/vsftpd ${DESTDIR}/etc/xinetd.d/vsftpd; fi | ||
| 45 | |||
| 46 | clean: | ||
| 47 | rm -f *.o *.swp vsftpd | ||
diff --git a/meta-oe/recipes-connectivity/vsftpd/vsftpd-2.3.5/nopam.patch b/meta-oe/recipes-connectivity/vsftpd/vsftpd-2.3.5/nopam.patch new file mode 100644 index 0000000000..8e0559cad1 --- /dev/null +++ b/meta-oe/recipes-connectivity/vsftpd/vsftpd-2.3.5/nopam.patch | |||
| @@ -0,0 +1,12 @@ | |||
| 1 | diff -ur vsftpd-2.0.1_org/builddefs.h vsftpd-2.0.1_patch/builddefs.h | ||
| 2 | --- vsftpd-2.0.1_org/builddefs.h 2004-07-02 16:36:59.000000000 +0200 | ||
| 3 | +++ vsftpd-2.0.1_patch/builddefs.h 2004-07-21 09:34:49.044900488 +0200 | ||
| 4 | @@ -2,7 +2,7 @@ | ||
| 5 | #define VSF_BUILDDEFS_H | ||
| 6 | |||
| 7 | #undef VSF_BUILD_TCPWRAPPERS | ||
| 8 | -#define VSF_BUILD_PAM | ||
| 9 | +#undef VSF_BUILD_PAM | ||
| 10 | #undef VSF_BUILD_SSL | ||
| 11 | |||
| 12 | #endif /* VSF_BUILDDEFS_H */ | ||
diff --git a/meta-oe/recipes-connectivity/vsftpd/vsftpd_2.3.5.bb b/meta-oe/recipes-connectivity/vsftpd/vsftpd_2.3.5.bb new file mode 100644 index 0000000000..e5fd7ee2aa --- /dev/null +++ b/meta-oe/recipes-connectivity/vsftpd/vsftpd_2.3.5.bb | |||
| @@ -0,0 +1,48 @@ | |||
| 1 | DESCRIPTION = "Secure ftp server" | ||
| 2 | HOMEPAGE="https://security.appspot.com/vsftpd.html" | ||
| 3 | SECTION = "network" | ||
| 4 | LICENSE = "GPLv2" | ||
| 5 | LIC_FILES_CHKSUM = "file://COPYING;md5=a6067ad950b28336613aed9dd47b1271" | ||
| 6 | |||
| 7 | DEPENDS = "libcap" | ||
| 8 | |||
| 9 | SRC_URI = "https://security.appspot.com/downloads/vsftpd-2.3.5.tar.gz \ | ||
| 10 | file://makefile.patch \ | ||
| 11 | file://nopam.patch \ | ||
| 12 | file://init \ | ||
| 13 | file://vsftpd.conf" | ||
| 14 | |||
| 15 | inherit update-rc.d useradd | ||
| 16 | |||
| 17 | CONFFILES_${PN} = "${sysconfdir}/vsftpd.conf" | ||
| 18 | LDFLAGS_append =" -lcrypt -lcap" | ||
| 19 | |||
| 20 | do_configure() { | ||
| 21 | # Fix hardcoded /usr, /etc, /var mess. | ||
| 22 | cat tunables.c|sed s:\"/usr:\"${prefix}:g|sed s:\"/var:\"${localstatedir}:g \ | ||
| 23 | |sed s:\"${prefix}/share/empty:\"${localstatedir}/share/empty:g |sed s:\"/etc:\"${sysconfdir}:g > tunables.c.new | ||
| 24 | mv tunables.c.new tunables.c | ||
| 25 | } | ||
| 26 | |||
| 27 | do_install() { | ||
| 28 | install -d ${D}${sbindir} | ||
| 29 | install -d ${D}${mandir}/man8 | ||
| 30 | install -d ${D}${mandir}/man5 | ||
| 31 | oe_runmake 'DESTDIR=${D}' install | ||
| 32 | install -d ${D}${sysconfdir} | ||
| 33 | install -m 0755 ${WORKDIR}/vsftpd.conf ${D}${sysconfdir}/vsftpd.conf | ||
| 34 | install -d ${D}${sysconfdir}/init.d/ | ||
| 35 | install -m 755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/vsftpd | ||
| 36 | } | ||
| 37 | |||
| 38 | INITSCRIPT_PACKAGES = "${PN}" | ||
| 39 | INITSCRIPT_NAME_${PN} = "vsftpd" | ||
| 40 | INITSCRIPT_PARAMS_${PN} = "defaults 80" | ||
| 41 | |||
| 42 | USERADD_PACKAGES = "${PN}" | ||
| 43 | USERADD_PARAM_${PN} = "--system --home-dir /var/lib/ftp --no-create-home -g ftp \ | ||
| 44 | --shell /bin/false ftp " | ||
| 45 | GROUPADD_PARAM_${PN} = "-r ftp" | ||
| 46 | |||
| 47 | SRC_URI[md5sum] = "01398a5bef8e85b6cf2c213a4b011eca" | ||
| 48 | SRC_URI[sha256sum] = "d87ee2987df8f03e1dbe294905f7907b2798deb89c67ca965f6e2f60879e54f1" | ||
