summaryrefslogtreecommitdiffstats
path: root/meta-networking
diff options
context:
space:
mode:
authorPaul Eggleton <paul.eggleton@linux.intel.com>2013-04-16 10:53:55 +0000
committerMartin Jansa <Martin.Jansa@gmail.com>2013-04-19 02:45:27 +0200
commit21adc5d117329b11fa42da2f62edce3cad8719ff (patch)
tree369b8b36964abec08428032c3162423275160c7d /meta-networking
parentb2aa32edd3f922514938f895354ef6719bf56681 (diff)
downloadmeta-openembedded-21adc5d117329b11fa42da2f62edce3cad8719ff.tar.gz
vsftpd: move from meta-oe to meta-networking and tweak
* Fix stripped file QA warning * Add proper headers to patches (and split makefile.patch into two parts, one of which may be upstreamable) * Use PV in SRC_URI instead of hardcoded version * Move SRC_URI checksums up next to SRC_URI * Set SUMMARY instead of DESCRIPTION Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Diffstat (limited to 'meta-networking')
-rwxr-xr-xmeta-networking/recipes-daemons/vsftpd/files/init41
-rwxr-xr-xmeta-networking/recipes-daemons/vsftpd/files/vsftpd.conf108
-rw-r--r--meta-networking/recipes-daemons/vsftpd/vsftpd-2.3.5/makefile-destdir.patch44
-rw-r--r--meta-networking/recipes-daemons/vsftpd/vsftpd-2.3.5/makefile-libs.patch21
-rw-r--r--meta-networking/recipes-daemons/vsftpd/vsftpd-2.3.5/makefile-strip.patch17
-rw-r--r--meta-networking/recipes-daemons/vsftpd/vsftpd-2.3.5/nopam.patch16
-rw-r--r--meta-networking/recipes-daemons/vsftpd/vsftpd_2.3.5.bb51
7 files changed, 298 insertions, 0 deletions
diff --git a/meta-networking/recipes-daemons/vsftpd/files/init b/meta-networking/recipes-daemons/vsftpd/files/init
new file mode 100755
index 000000000..d0ec010dc
--- /dev/null
+++ b/meta-networking/recipes-daemons/vsftpd/files/init
@@ -0,0 +1,41 @@
1#!/bin/sh
2DAEMON=/usr/sbin/vsftpd
3NAME=vsftpd
4DESC="FTP Server"
5ARGS=""
6FTPDIR=/var/lib/ftp
7
8test -f $DAEMON || exit 0
9
10set -e
11
12case "$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 ;;
39esac
40
41exit 0
diff --git a/meta-networking/recipes-daemons/vsftpd/files/vsftpd.conf b/meta-networking/recipes-daemons/vsftpd/files/vsftpd.conf
new file mode 100755
index 000000000..08f91e048
--- /dev/null
+++ b/meta-networking/recipes-daemons/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
12listen=YES
13
14# Allow anonymous FTP? (Beware - allowed by default if you comment this out).
15anonymous_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.
21write_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.
38dirmessage_enable=YES
39#
40# Activate logging of uploads/downloads.
41xferlog_enable=YES
42#
43# Make sure PORT transfer connections originate from port 20 (ftp-data).
44connect_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-networking/recipes-daemons/vsftpd/vsftpd-2.3.5/makefile-destdir.patch b/meta-networking/recipes-daemons/vsftpd/vsftpd-2.3.5/makefile-destdir.patch
new file mode 100644
index 000000000..ee37f26e9
--- /dev/null
+++ b/meta-networking/recipes-daemons/vsftpd/vsftpd-2.3.5/makefile-destdir.patch
@@ -0,0 +1,44 @@
1Use DESTDIR within install to allow installing under a prefix
2
3Upstream-Status: Pending
4
5Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
6
7diff --git a/Makefile b/Makefile
8--- a/Makefile
9+++ b/Makefile
10@@ -24,21 +24,21 @@ vsftpd: $(OBJS)
11 $(CC) -o vsftpd $(OBJS) $(LINK) $(LIBS) $(LDFLAGS)
12
13 install:
14- if [ -x /usr/local/sbin ]; then \
15- $(INSTALL) -m 755 vsftpd /usr/local/sbin/vsftpd; \
16+ if [ -x ${DESTDIR}/usr/local/sbin ]; then \
17+ $(INSTALL) -m 755 vsftpd ${DESTDIR}/usr/local/sbin/vsftpd; \
18 else \
19- $(INSTALL) -m 755 vsftpd /usr/sbin/vsftpd; fi
20- if [ -x /usr/local/man ]; then \
21- $(INSTALL) -m 644 vsftpd.8 /usr/local/man/man8/vsftpd.8; \
22- $(INSTALL) -m 644 vsftpd.conf.5 /usr/local/man/man5/vsftpd.conf.5; \
23- elif [ -x /usr/share/man ]; then \
24- $(INSTALL) -m 644 vsftpd.8 /usr/share/man/man8/vsftpd.8; \
25- $(INSTALL) -m 644 vsftpd.conf.5 /usr/share/man/man5/vsftpd.conf.5; \
26+ $(INSTALL) -m 755 vsftpd ${DESTDIR}/usr/sbin/vsftpd; fi
27+ if [ -x ${DESTDIR}/usr/local/man ]; then \
28+ $(INSTALL) -m 644 vsftpd.8 ${DESTDIR}/usr/local/man/man8/vsftpd.8; \
29+ $(INSTALL) -m 644 vsftpd.conf.5 ${DESTDIR}/usr/local/man/man5/vsftpd.conf.5; \
30+ elif [ -x ${DESTDIR}/usr/share/man ]; then \
31+ $(INSTALL) -m 644 vsftpd.8 ${DESTDIR}/usr/share/man/man8/vsftpd.8; \
32+ $(INSTALL) -m 644 vsftpd.conf.5 ${DESTDIR}/usr/share/man/man5/vsftpd.conf.5; \
33 else \
34- $(INSTALL) -m 644 vsftpd.8 /usr/man/man8/vsftpd.8; \
35- $(INSTALL) -m 644 vsftpd.conf.5 /usr/man/man5/vsftpd.conf.5; fi
36- if [ -x /etc/xinetd.d ]; then \
37- $(INSTALL) -m 644 xinetd.d/vsftpd /etc/xinetd.d/vsftpd; fi
38+ $(INSTALL) -m 644 vsftpd.8 ${DESTDIR}/usr/man/man8/vsftpd.8; \
39+ $(INSTALL) -m 644 vsftpd.conf.5 ${DESTDIR}/usr/man/man5/vsftpd.conf.5; fi
40+ if [ -x ${DESTDIR}/etc/xinetd.d ]; then \
41+ $(INSTALL) -m 644 xinetd.d/vsftpd ${DESTDIR}/etc/xinetd.d/vsftpd; fi
42
43 clean:
44 rm -f *.o *.swp vsftpd
diff --git a/meta-networking/recipes-daemons/vsftpd/vsftpd-2.3.5/makefile-libs.patch b/meta-networking/recipes-daemons/vsftpd/vsftpd-2.3.5/makefile-libs.patch
new file mode 100644
index 000000000..6a419db47
--- /dev/null
+++ b/meta-networking/recipes-daemons/vsftpd/vsftpd-2.3.5/makefile-libs.patch
@@ -0,0 +1,21 @@
1Hardcode LIBS instead of using a script to determine available libs
2
3We want to avoid this dynamic detection so we have a deterministic
4build.
5
6Upstream-Status: Inappropriate [config]
7
8Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
9
10diff --git a/Makefile b/Makefile
11--- a/Makefile
12+++ b/Makefile
13@@ -5,7 +5,7 @@ IFLAGS = -idirafter dummyinc
14 #CFLAGS = -g
15 CFLAGS = -O2 -Wall -W -Wshadow #-pedantic -Werror -Wconversion
16
17-LIBS = `./vsf_findlibs.sh`
18+LIBS = -lssl -lcrypto -lnsl -lresolv
19 LINK = -Wl,-s
20
21 OBJS = main.o utility.o prelogin.o ftpcmdio.o postlogin.o privsock.o \
diff --git a/meta-networking/recipes-daemons/vsftpd/vsftpd-2.3.5/makefile-strip.patch b/meta-networking/recipes-daemons/vsftpd/vsftpd-2.3.5/makefile-strip.patch
new file mode 100644
index 000000000..a2e0cd048
--- /dev/null
+++ b/meta-networking/recipes-daemons/vsftpd/vsftpd-2.3.5/makefile-strip.patch
@@ -0,0 +1,17 @@
1Disable stripping at link time
2
3Upstream-Status: Inappropriate [config]
4
5Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
6
7diff --git a/Makefile b/Makefile
8--- a/Makefile
9+++ b/Makefile
10@@ -6,7 +6,6 @@ IFLAGS = -idirafter dummyinc
11 CFLAGS = -O2 -Wall -W -Wshadow #-pedantic -Werror -Wconversion
12
13 LIBS = -lssl -lcrypto -lnsl -lresolv
14-LINK = -Wl,-s
15
16 OBJS = main.o utility.o prelogin.o ftpcmdio.o postlogin.o privsock.o \
17 tunables.o ftpdataio.o secbuf.o ls.o \
diff --git a/meta-networking/recipes-daemons/vsftpd/vsftpd-2.3.5/nopam.patch b/meta-networking/recipes-daemons/vsftpd/vsftpd-2.3.5/nopam.patch
new file mode 100644
index 000000000..cf0d68e27
--- /dev/null
+++ b/meta-networking/recipes-daemons/vsftpd/vsftpd-2.3.5/nopam.patch
@@ -0,0 +1,16 @@
1Disable PAM
2
3Upstream-Status: Inappropriate [config]
4
5diff -ur vsftpd-2.0.1_org/builddefs.h vsftpd-2.0.1_patch/builddefs.h
6--- vsftpd-2.0.1_org/builddefs.h 2004-07-02 16:36:59.000000000 +0200
7+++ vsftpd-2.0.1_patch/builddefs.h 2004-07-21 09:34:49.044900488 +0200
8@@ -2,7 +2,7 @@
9 #define VSF_BUILDDEFS_H
10
11 #undef VSF_BUILD_TCPWRAPPERS
12-#define VSF_BUILD_PAM
13+#undef VSF_BUILD_PAM
14 #undef VSF_BUILD_SSL
15
16 #endif /* VSF_BUILDDEFS_H */
diff --git a/meta-networking/recipes-daemons/vsftpd/vsftpd_2.3.5.bb b/meta-networking/recipes-daemons/vsftpd/vsftpd_2.3.5.bb
new file mode 100644
index 000000000..c02ee9c0a
--- /dev/null
+++ b/meta-networking/recipes-daemons/vsftpd/vsftpd_2.3.5.bb
@@ -0,0 +1,51 @@
1SUMMARY = "Very Secure FTP server"
2HOMEPAGE = "https://security.appspot.com/vsftpd.html"
3SECTION = "network"
4LICENSE = "GPLv2"
5LIC_FILES_CHKSUM = "file://COPYING;md5=a6067ad950b28336613aed9dd47b1271"
6
7DEPENDS = "libcap"
8
9SRC_URI = "https://security.appspot.com/downloads/vsftpd-${PV}.tar.gz \
10 file://makefile-destdir.patch \
11 file://makefile-libs.patch \
12 file://makefile-strip.patch \
13 file://nopam.patch \
14 file://init \
15 file://vsftpd.conf"
16
17SRC_URI[md5sum] = "01398a5bef8e85b6cf2c213a4b011eca"
18SRC_URI[sha256sum] = "d87ee2987df8f03e1dbe294905f7907b2798deb89c67ca965f6e2f60879e54f1"
19
20inherit update-rc.d useradd
21
22CONFFILES_${PN} = "${sysconfdir}/vsftpd.conf"
23LDFLAGS_append =" -lcrypt -lcap"
24
25do_configure() {
26 # Fix hardcoded /usr, /etc, /var mess.
27 cat tunables.c|sed s:\"/usr:\"${prefix}:g|sed s:\"/var:\"${localstatedir}:g \
28 |sed s:\"${prefix}/share/empty:\"${localstatedir}/share/empty:g |sed s:\"/etc:\"${sysconfdir}:g > tunables.c.new
29 mv tunables.c.new tunables.c
30}
31
32do_install() {
33 install -d ${D}${sbindir}
34 install -d ${D}${mandir}/man8
35 install -d ${D}${mandir}/man5
36 oe_runmake 'DESTDIR=${D}' install
37 install -d ${D}${sysconfdir}
38 install -m 0755 ${WORKDIR}/vsftpd.conf ${D}${sysconfdir}/vsftpd.conf
39 install -d ${D}${sysconfdir}/init.d/
40 install -m 755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/vsftpd
41}
42
43INITSCRIPT_PACKAGES = "${PN}"
44INITSCRIPT_NAME_${PN} = "vsftpd"
45INITSCRIPT_PARAMS_${PN} = "defaults 80"
46
47USERADD_PACKAGES = "${PN}"
48USERADD_PARAM_${PN} = "--system --home-dir /var/lib/ftp --no-create-home -g ftp \
49 --shell /bin/false ftp "
50GROUPADD_PARAM_${PN} = "-r ftp"
51