summaryrefslogtreecommitdiff
path: root/package/proftpd
diff options
context:
space:
mode:
Diffstat (limited to 'package/proftpd')
-rw-r--r--package/proftpd/Makefile33
-rw-r--r--package/proftpd/files/proftpd.conf60
-rw-r--r--package/proftpd/files/proftpd.conffiles1
-rw-r--r--package/proftpd/files/proftpd.init30
-rw-r--r--package/proftpd/files/proftpd.postinst3
-rw-r--r--package/proftpd/patches/patch-Make_rules_in16
-rw-r--r--package/proftpd/patches/patch-Makefile_in33
-rw-r--r--package/proftpd/patches/patch-locale_Makefile_in11
8 files changed, 187 insertions, 0 deletions
diff --git a/package/proftpd/Makefile b/package/proftpd/Makefile
new file mode 100644
index 000000000..d74ff9e35
--- /dev/null
+++ b/package/proftpd/Makefile
@@ -0,0 +1,33 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:= proftpd
+PKG_VERSION:= 1.3.2b
+PKG_RELEASE:= 1
+PKG_MD5SUM:= 4918908fcae9e591ba84c66edff73410
+PKG_DESCR:= An advanced and very configurable FTP server
+PKG_SECTION:= utils
+PKG_NOPARALLEL:= 1
+PKG_URL:= http://www.proftpd.org/
+PKG_SITES:= ftp://ftp.proftpd.org/distrib/source/
+
+include $(TOPDIR)/mk/package.mk
+
+$(eval $(call PKG_template,PROFTPD,$(PKG_NAME),$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+
+CONFIGURE_ARGS+= --disable-cap
+CONFIGURE_ENV+= ac_cv_func_setpgrp_void=yes \
+ ac_cv_func_setgrent_void=yes
+
+post-install:
+ $(INSTALL_DIR) $(IDIR_PROFTPD)/etc
+ $(INSTALL_DATA) ./files/proftpd.conf $(IDIR_PROFTPD)/etc/
+ $(INSTALL_DIR) $(IDIR_PROFTPD)/usr/{s,}bin
+ $(INSTALL_BIN) $(WRKINST)/usr/bin/ftp{count,dctl,top,who} \
+ $(IDIR_PROFTPD)/usr/bin/
+ $(INSTALL_BIN) $(WRKINST)/usr/sbin/{ftpshut,proftpd} \
+ $(IDIR_PROFTPD)/usr/sbin/
+
+include ${TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/proftpd/files/proftpd.conf b/package/proftpd/files/proftpd.conf
new file mode 100644
index 000000000..8d4f7f2fa
--- /dev/null
+++ b/package/proftpd/files/proftpd.conf
@@ -0,0 +1,60 @@
+ServerName "ProFTPD Default Installation"
+ServerType standalone
+DefaultServer on
+
+# Port 21 is the standard FTP port.
+Port 21
+
+# Don't use IPv6 support by default.
+UseIPv6 off
+
+# Umask 022 is a good standard umask to prevent new dirs and files
+# from being group and world writable.
+Umask 022
+
+# To prevent DoS attacks, set the maximum number of child processes
+# to 30. If you need to allow more than 30 concurrent connections
+# at once, simply increase this value. Note that this ONLY works
+# in standalone mode, in inetd mode you should use an inetd server
+# that allows you to limit maximum number of processes per service
+# (such as xinetd).
+MaxInstances 30
+
+# Set the user and group under which the server will run.
+User nobody
+Group nogroup
+
+# To cause every FTP user to be "jailed" (chrooted) into their home
+# directory, uncomment this line.
+#DefaultRoot ~
+
+# Normally, we want files to be overwriteable.
+AllowOverwrite on
+
+# Bar use of SITE CHMOD by default
+<Limit SITE_CHMOD>
+ DenyAll
+</Limit>
+
+# A basic anonymous configuration, no upload directories. If you do not
+# want anonymous users, simply delete this entire <Anonymous> section.
+<Anonymous ~ftp>
+ User ftp
+ Group ftp
+
+ # We want clients to be able to login with "anonymous" as well as "ftp"
+ UserAlias anonymous ftp
+
+ # Limit the maximum number of anonymous logins
+ MaxClients 10
+
+ # We want 'welcome.msg' displayed at login, and '.message' displayed
+ # in each newly chdired directory.
+ DisplayLogin welcome.msg
+ DisplayChdir .message
+
+ # Limit WRITE everywhere in the anonymous chroot
+ <Limit WRITE>
+ DenyAll
+ </Limit>
+</Anonymous>
diff --git a/package/proftpd/files/proftpd.conffiles b/package/proftpd/files/proftpd.conffiles
new file mode 100644
index 000000000..9796c366f
--- /dev/null
+++ b/package/proftpd/files/proftpd.conffiles
@@ -0,0 +1 @@
+/etc/proftpd.conf
diff --git a/package/proftpd/files/proftpd.init b/package/proftpd/files/proftpd.init
new file mode 100644
index 000000000..bf3dc0efe
--- /dev/null
+++ b/package/proftpd/files/proftpd.init
@@ -0,0 +1,30 @@
+#!/bin/sh
+#PKG proftpd
+#INIT 60
+
+. /etc/rc.conf
+
+case $1 in
+autostop) ;;
+autostart)
+ test x"${proftpd:-NO}" = x"NO" && exit 0
+ exec sh $0 start
+ ;;
+start)
+ [ -f /etc/proftpd.conf ] || exit
+ proftpd
+ ;;
+stop)
+ pkill proftpd
+ ;;
+restart)
+ sh $0 stop
+ sleep 1
+ sh $0 start
+ ;;
+*)
+ echo "Usage: $0 {start | stop | restart}"
+ exit 1
+ ;;
+esac
+exit $?
diff --git a/package/proftpd/files/proftpd.postinst b/package/proftpd/files/proftpd.postinst
new file mode 100644
index 000000000..0b3fa08aa
--- /dev/null
+++ b/package/proftpd/files/proftpd.postinst
@@ -0,0 +1,3 @@
+#!/bin/sh
+. $IPKG_INSTROOT/etc/functions.sh
+add_rcconf proftpd proftpd NO
diff --git a/package/proftpd/patches/patch-Make_rules_in b/package/proftpd/patches/patch-Make_rules_in
new file mode 100644
index 000000000..6f12634fa
--- /dev/null
+++ b/package/proftpd/patches/patch-Make_rules_in
@@ -0,0 +1,16 @@
+ do not try to set user or group id when installing
+--- proftpd-1.3.2b.orig/Make.rules.in 2008-11-19 04:51:38.000000000 +0100
++++ proftpd-1.3.2b/Make.rules.in 2010-01-27 23:00:19.000000000 +0100
+@@ -29,9 +29,9 @@ UTILS_LIBS=@UTILS_LIBS@ @LIBS@
+ INSTALL=@INSTALL@
+ INSTALL_USER=@install_user@
+ INSTALL_GROUP=@install_group@
+-INSTALL_BIN=$(INSTALL) @INSTALL_STRIP@ -o $(INSTALL_USER) -g $(INSTALL_GROUP) -m 0755
+-INSTALL_SBIN=$(INSTALL) @INSTALL_STRIP@ -o $(INSTALL_USER) -g $(INSTALL_GROUP) -m 0755
+-INSTALL_MAN=$(INSTALL) -o $(INSTALL_USER) -g $(INSTALL_GROUP) -m 0644
++INSTALL_BIN=$(INSTALL) -m 0755
++INSTALL_SBIN=$(INSTALL) -m 0755
++INSTALL_MAN=$(INSTALL) -m 0644
+
+ RM=rm -f
+ SHELL=/bin/sh
diff --git a/package/proftpd/patches/patch-Makefile_in b/package/proftpd/patches/patch-Makefile_in
new file mode 100644
index 000000000..338a3b691
--- /dev/null
+++ b/package/proftpd/patches/patch-Makefile_in
@@ -0,0 +1,33 @@
+ hiding it won't help, we install as non-root so no chown possible
+--- proftpd-1.3.2b.orig/Makefile.in 2008-11-19 04:51:38.000000000 +0100
++++ proftpd-1.3.2b/Makefile.in 2010-01-20 18:03:40.552178286 +0100
+@@ -76,7 +76,6 @@ check: proftpd$(EXEEXT)
+ $(DESTDIR)$(localedir) $(DESTDIR)$(includedir) $(DESTDIR)$(includedir)/proftpd $(DESTDIR)$(libdir) $(DESTDIR)$(pkgconfigdir) $(DESTDIR)$(libdir)/proftpd $(DESTDIR)$(libexecdir) $(DESTDIR)$(localstatedir) $(DESTDIR)$(sysconfdir) $(DESTDIR)$(rundir) $(DESTDIR)$(bindir) $(DESTDIR)$(sbindir) $(DESTDIR)$(mandir) $(DESTDIR)$(mandir)/man1 $(DESTDIR)$(mandir)/man5 $(DESTDIR)$(mandir)/man8:
+ @if [ ! -d $@ ]; then \
+ mkdir -p $@; \
+- chown $(INSTALL_USER):$(INSTALL_GROUP) $@; \
+ chmod 0755 $@; \
+ fi
+
+@@ -86,7 +85,6 @@ install-proftpd: proftpd $(DESTDIR)$(inc
+ rm -f $(DESTDIR)$(sbindir)/in.proftpd ; \
+ fi
+ ln -s proftpd $(DESTDIR)$(sbindir)/in.proftpd
+- -chown -h $(INSTALL_USER):$(INSTALL_GROUP) $(DESTDIR)$(sbindir)/in.proftpd
+
+ install-libs: $(DESTDIR)$(libdir)/proftpd
+ cd lib/ && $(MAKE) install
+@@ -121,11 +119,11 @@ install-utils: $(DESTDIR)$(sbindir) $(DE
+ $(INSTALL_SBIN) ftpshut $(DESTDIR)$(sbindir)/ftpshut
+ $(INSTALL_BIN) ftptop $(DESTDIR)$(bindir)/ftptop
+ $(INSTALL_BIN) ftpwho $(DESTDIR)$(bindir)/ftpwho
+- $(INSTALL) -o $(INSTALL_USER) -g $(INSTALL_GROUP) -m 0755 src/prxs $(DESTDIR)$(bindir)/prxs
++ $(INSTALL) -m 0755 src/prxs $(DESTDIR)$(bindir)/prxs
+
+ install-conf: $(DESTDIR)$(sysconfdir)
+ if [ ! -f $(DESTDIR)$(sysconfdir)/proftpd.conf ] ; then \
+- $(INSTALL) -o $(INSTALL_USER) -g $(INSTALL_GROUP) -m 0644 \
++ $(INSTALL) -m 0644 \
+ $(top_srcdir)/sample-configurations/basic.conf \
+ $(DESTDIR)$(sysconfdir)/proftpd.conf ; \
+ fi
diff --git a/package/proftpd/patches/patch-locale_Makefile_in b/package/proftpd/patches/patch-locale_Makefile_in
new file mode 100644
index 000000000..91f274ebd
--- /dev/null
+++ b/package/proftpd/patches/patch-locale_Makefile_in
@@ -0,0 +1,11 @@
+ drop anything that has to do with owner/group changing *grrr*
+--- proftpd-1.3.2b.orig/locale/Makefile.in 2009-04-29 00:50:22.000000000 +0200
++++ proftpd-1.3.2b/locale/Makefile.in 2010-01-20 18:03:53.909480484 +0100
+@@ -51,7 +51,6 @@ install: $(LANGS)
+ if [ -f $$lang.mo ]; then \
+ if [ ! -d $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES ]; then \
+ mkdir -p $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES; \
+- chown $(INSTALL_USER):$(INSTALL_GROUP) $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES; \
+ chmod 0755 $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES; \
+ fi; \
+ $(INSTALL_MAN) $$lang.mo $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(PACKAGE).mo; \