Commit d6b55667 authored by Wade Berrier's avatar Wade Berrier
Browse files

vsftpd:

-Patch to build against newer kernel headers
 ( vsftpd-2.0.7-uclibc.patch , based on idea from
   http://www.bitshrine.org/gpp/vsftpd-2.0.5-syscall2.patch )
-new basic init script (no config yet)
-Update version (2.0.7)
-openssl fixes
-cleanup makefile deps so it doesn't get built when things
 don't change
parent b8508d75
Loading
Loading
Loading
Loading
+15 −0
Original line number Diff line number Diff line
--- vsftpd-2.0.5/sysdeputil.c.orig	2008-10-06 15:24:42.000000000 -0600
+++ vsftpd-2.0.5/sysdeputil.c	2008-10-06 15:35:35.000000000 -0600
@@ -159,7 +159,12 @@
 #include <linux/capability.h>
 #include <errno.h>
 #include <syscall.h>
+/* try to handle kernel header versions correctly (2.4 and >= 2.6.18) */
+#ifndef capset
+#define capset(head,data) syscall(__NR_capset,head,data)
+#else
 _syscall2(int, capset, cap_user_header_t, header, const cap_user_data_t, data)
+#endif /* capset */
 /* Gross HACK to avoid warnings - linux headers overlap glibc headers */
 #undef __NFDBITS
 #undef __FDMASK
+33 −0
Original line number Diff line number Diff line
#! /bin/sh

set -e

DESC="vsftpd"
NAME=vsftpd
DAEMON=/usr/sbin/$NAME

case "$1" in
  start)
	echo -n "Starting $DESC: "
	start-stop-daemon -S -b -x $NAME
	echo "OK"
	;;
  stop)
	echo -n "Stopping $DESC: "
	start-stop-daemon -K -x $NAME
	echo "OK"
	;;
  restart|force-reload)
	echo "Restarting $DESC: "
	$0 stop
	sleep 1
	$0 start
	echo ""
	;;
  *)
	echo "Usage: $0 {start|stop|restart|force-reload}" >&2
	exit 1
	;;
esac

exit 0
+11 −7
Original line number Diff line number Diff line
@@ -3,7 +3,7 @@
# vsftpd
#
#############################################################
VSFTPD_VERSION:=2.0.5
VSFTPD_VERSION:=2.0.7
VSFTPD_SOURCE:=vsftpd-$(VSFTPD_VERSION).tar.gz
VSFTPD_SITE:=ftp://vsftpd.beasts.org/users/cevans
VSFTPD_DIR:=$(BUILD_DIR)/vsftpd-$(VSFTPD_VERSION)
@@ -12,7 +12,6 @@ VSFTPD_BINARY:=vsftpd
VSFTPD_TARGET_BINARY:=usr/sbin/vsftpd

ifeq ($(BR2_PACKAGE_OPENSSL),y)
VSFTPF_PREREQ:=openssl
VSFTPD_LIBS:=-lcrypt -lssl
else
VSFTPD_LIBS:=-lcrypt
@@ -26,7 +25,7 @@ vsftpd-source: $(DL_DIR)/$(VSFTPD_SOURCE)
$(VSFTPD_DIR)/.unpacked: $(DL_DIR)/$(VSFTPD_SOURCE)
	$(VSFTPD_CAT) $(DL_DIR)/$(VSFTPD_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
	toolchain/patch-kernel.sh $(VSFTPD_DIR) package/vsftpd/ vsftpd\*.patch
	touch $(VSFTPD_DIR)/.unpacked
	touch $@

$(VSFTPD_DIR)/.configured: $(VSFTPD_DIR)/.unpacked
ifeq ($(BR2_PACKAGE_OPENSSL),y)
@@ -45,17 +44,22 @@ else # not uclibc
endif


$(VSFTPD_DIR)/$(VSFTPD_BINARY): $(VSFTPF_PREREQ) $(VSFTPD_DIR)/.configured
$(VSFTPD_DIR)/$(VSFTPD_BINARY): $(VSFTPD_DIR)/.configured
	$(MAKE) CC=$(TARGET_CC) CFLAGS="$(TARGET_CFLAGS)" LIBS="$(VSFTPD_LIBS)" -C $(VSFTPD_DIR)

$(TARGET_DIR)/usr/sbin/$(VSFTPD_BINARY): $(VSFTPD_DIR)/$(VSFTPD_BINARY)
$(TARGET_DIR)/$(VSFTPD_TARGET_BINARY): $(VSFTPD_DIR)/$(VSFTPD_BINARY)
	cp -dpf $< $@
	$(INSTALL) -D -m 0755 package/vsftpd/vsftpd-init $(TARGET_DIR)/etc/init.d/S70vsftpd

vsftpd: uclibc libgmp $(TARGET_DIR)/$(VSFTPD_TARGET_BINARY)
ifeq ($(BR2_PACKAGE_OPENSSL),y)
vsftpd: uclibc openssl $(TARGET_DIR)/$(VSFTPD_TARGET_BINARY)
else
vsftpd: uclibc $(TARGET_DIR)/$(VSFTPD_TARGET_BINARY)
endif

vsftpd-clean:
	-$(MAKE) -C $(VSFTPD_DIR) clean
	rm -f $(TARGET_DIR)/usr/sbin/$(VSFTPD_BINARY)
	rm -f $(TARGET_DIR)/$(VSFTPD_TARGET_BINARY)

vsftpd-dirclean:
	rm -rf $(VSFTPD_DIR)