summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2015-08-08 13:49:04 -0700
committerRobin H. Johnson <robbat2@gentoo.org>2015-08-08 17:38:18 -0700
commit56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch)
tree3f91093cdb475e565ae857f1c5a7fd339e2d781e /net-ftp/oftpd/files
downloadgentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip
proj/gentoo: Initial commit
This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'net-ftp/oftpd/files')
-rw-r--r--net-ftp/oftpd/files/conf.d.oftpd-r726
-rw-r--r--net-ftp/oftpd/files/init.d.oftpd-r729
-rw-r--r--net-ftp/oftpd/files/oftpd-0.3.7-delay-root-check.patch30
-rw-r--r--net-ftp/oftpd/files/oftpd-0.3.7-error-output.patch20
-rw-r--r--net-ftp/oftpd/files/oftpd-0.3.7-family-1.patch23
-rw-r--r--net-ftp/oftpd/files/oftpd-0.3.7-htons.patch16
-rw-r--r--net-ftp/oftpd/files/oftpd-0.3.7-ipv6rel2-0.3.6-to-0.3.7.patch354
-rw-r--r--net-ftp/oftpd/files/oftpd-0.3.7-pthread-cancel.patch17
-rw-r--r--net-ftp/oftpd/files/oftpd-0.3.7-unistd.patch19
9 files changed, 534 insertions, 0 deletions
diff --git a/net-ftp/oftpd/files/conf.d.oftpd-r7 b/net-ftp/oftpd/files/conf.d.oftpd-r7
new file mode 100644
index 000000000000..a8daed0f4f53
--- /dev/null
+++ b/net-ftp/oftpd/files/conf.d.oftpd-r7
@@ -0,0 +1,26 @@
+# Please read the oftpd(8) man page for a more detailed explaination of these
+# variables.
+#
+# FTPUSER (user-name in the man page):
+# Set this variable to the user to run the ftp daemon as
+FTPUSER=ftp
+
+# FTPROOT (root-directory in the man page):
+# The server uses chroot(2) to change the root directory of the server to this
+# directory. When a user connects, this is the directory that they will start
+# in, and is the top of their directory tree.
+#
+FTPROOT=/home/ftp
+
+# FTPPORT (TCP port)
+# 21 is the standard ftp port, but you can change it here to something else
+FTPPORT=21
+
+## Uncoment this line to activate oftpd service
+# Note: in order for passive connections to work, you must specify an IP address
+# here with the -i flag. You can make it listen to all IPv4 addresses:
+# -i 0.0.0.0
+# or make it listen to all IPv6 addresses:
+# -i ::1
+# By default, oftpd listens to all IPv4/IPv6 addresses, but passive mode fails.
+#OFTPD_OPTS="-p ${FTPPORT} ${FTPUSER} ${FTPROOT}"
diff --git a/net-ftp/oftpd/files/init.d.oftpd-r7 b/net-ftp/oftpd/files/init.d.oftpd-r7
new file mode 100644
index 000000000000..42576bf76351
--- /dev/null
+++ b/net-ftp/oftpd/files/init.d.oftpd-r7
@@ -0,0 +1,29 @@
+#!/sbin/runscript
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+depend() {
+ need net
+}
+
+checkconfig() {
+ if [ -z "${OFTPD_OPTS}" ] ; then
+ eerror "You need to setup OFTPD_OPTS /etc/conf.d/oftpd"
+ return 1
+ fi
+}
+
+start() {
+ checkconfig || return 1
+
+ ebegin "Starting oftpd"
+ start-stop-daemon --start --exec /usr/sbin/oftpd -- ${OFTPD_OPTS}
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping oftpd"
+ start-stop-daemon --stop --quiet --exec /usr/sbin/oftpd
+ eend $?
+}
diff --git a/net-ftp/oftpd/files/oftpd-0.3.7-delay-root-check.patch b/net-ftp/oftpd/files/oftpd-0.3.7-delay-root-check.patch
new file mode 100644
index 000000000000..56ab51e4d6c3
--- /dev/null
+++ b/net-ftp/oftpd/files/oftpd-0.3.7-delay-root-check.patch
@@ -0,0 +1,30 @@
+check for root after processing args so non-root can run --help
+
+--- a/src/oftpd.c
++++ b/src/oftpd.c
+@@ -56,12 +56,6 @@ int main(int argc, char *argv[])
+ exe_name = argv[0];
+ }
+
+- /* verify we're running as root */
+- if (geteuid() != 0) {
+- fprintf(stderr, "%s: program needs root permission to run\n", exe_name);
+- exit(1);
+- }
+-
+ /* default command-line arguments */
+ port = FTP_PORT;
+ user_ptr = NULL;
+@@ -187,6 +181,12 @@ int main(int argc, char *argv[])
+ exit(1);
+ }
+
++ /* verify we're running as root */
++ if (geteuid() != 0) {
++ fprintf(stderr, "%s: program needs root permission to run\n", exe_name);
++ exit(1);
++ }
++
+ /* become a daemon */
+ if (detach) {
+ daemonize();
diff --git a/net-ftp/oftpd/files/oftpd-0.3.7-error-output.patch b/net-ftp/oftpd/files/oftpd-0.3.7-error-output.patch
new file mode 100644
index 000000000000..ab62220b553e
--- /dev/null
+++ b/net-ftp/oftpd/files/oftpd-0.3.7-error-output.patch
@@ -0,0 +1,20 @@
+fix writing of the error message to stderr by processing the varargs
+
+--- a/src/error.c
++++ b/src/error.c
+@@ -23,7 +23,6 @@ void error_init(error_t *err, int error_code, const char *desc_fmt, ...)
+ {
+ va_list args;
+
+- fprintf(stderr, "error_init: %d %s", error_code, desc_fmt);
+ daemon_assert(err != NULL);
+ daemon_assert(error_code >= 0);
+ daemon_assert(desc_fmt != NULL);
+@@ -32,6 +31,7 @@ void error_init(error_t *err, int error_code, const char *desc_fmt, ...)
+ va_start(args, desc_fmt);
+ vsnprintf(err->desc, sizeof(err->desc), desc_fmt, args);
+ va_end(args);
++ fprintf(stderr, "error_init: %d %s\n", error_code, err->desc);
+
+ daemon_assert(invariant(err));
+ }
diff --git a/net-ftp/oftpd/files/oftpd-0.3.7-family-1.patch b/net-ftp/oftpd/files/oftpd-0.3.7-family-1.patch
new file mode 100644
index 000000000000..490612d8752e
--- /dev/null
+++ b/net-ftp/oftpd/files/oftpd-0.3.7-family-1.patch
@@ -0,0 +1,23 @@
+Submitted By: Mario Fetka (geos_one) (mario dot fetka at gmail dot com)
+Date: 2010-01-05
+Initial Package Version: 0.3.7
+Origin: http://gentoo.mirror.solnet.ch/net-ftp/oftpd/files/oftpd-0.3.7-family.patch
+Upstream Status: unkonwn
+Description: dont crash on wrong protocol family
+
+diff -Naur oftpd-0.3.7.orig/src/ftp_session.c oftpd-0.3.7/src/ftp_session.c
+--- oftpd-0.3.7.orig/src/ftp_session.c 2010-01-05 21:56:48.540303543 +0000
++++ oftpd-0.3.7/src/ftp_session.c 2010-01-05 21:57:29.995553119 +0000
+@@ -708,10 +708,12 @@
+ if ((((struct sockaddr *)host_port)->sa_family != AF_INET) &&
+ (((struct sockaddr *)host_port)->sa_family != AF_INET6)) {
+ reply(f, 521, "Only IPv4 and IPv6 supported, address families (4,6)");
++ return;
+ }
+ #else
+ if (((struct sockaddr *)host_port)->sa_family != AF_INET) {
+ reply(f, 521, "Only IPv4 supported, address family (4)");
++ return;
+ }
+ #endif
+
diff --git a/net-ftp/oftpd/files/oftpd-0.3.7-htons.patch b/net-ftp/oftpd/files/oftpd-0.3.7-htons.patch
new file mode 100644
index 000000000000..584e0a72497c
--- /dev/null
+++ b/net-ftp/oftpd/files/oftpd-0.3.7-htons.patch
@@ -0,0 +1,16 @@
+--- oftpd-0.3.7/src/ftp_listener.c
++++ oftpd-0.3.7/src/ftp_listener.c
+@@ -159,11 +159,11 @@
+ switch (family) {
+ #ifdef INET6
+ case AF_INET6:
+- ((struct sockaddr_in6*)&sock_addr)->sin6_port = port;
++ ((struct sockaddr_in6*)&sock_addr)->sin6_port = htons(port);
+ break;
+ #endif
+ case AF_INET:
+- ((struct sockaddr_in*)&sock_addr)->sin_port = port;
++ ((struct sockaddr_in*)&sock_addr)->sin_port = htons(port);
+ break;
+ default:
+ /* handle error */
diff --git a/net-ftp/oftpd/files/oftpd-0.3.7-ipv6rel2-0.3.6-to-0.3.7.patch b/net-ftp/oftpd/files/oftpd-0.3.7-ipv6rel2-0.3.6-to-0.3.7.patch
new file mode 100644
index 000000000000..e3ed8df775f8
--- /dev/null
+++ b/net-ftp/oftpd/files/oftpd-0.3.7-ipv6rel2-0.3.6-to-0.3.7.patch
@@ -0,0 +1,354 @@
+Difference from upstream mentioned patch for version 0.3.6
+ftp://ftp.deepspace6.net/pub/ds6/sources/oftpd/oftpd-0.3.6-ipv6rel2.patch.gz
+to Mario Fetka (geos_one) (mario dot fetka at gmail dot com) at
+http://bugs.gentoo.org/attachment.cgi?id=220543&action=view
+
+--- oftpd-0.3.6-ipv6rel2.patch 2010-09-01 11:17:37.137000090 +0200
++++ oftpd-0.3.6-ipv6rel2.patch 2010-09-01 11:15:21.900000084 +0200
+@@ -1,146 +1,10 @@
+-diff -urN oftpd-0.3.6-orig/Makefile.in oftpd-0.3.6/Makefile.in
+---- oftpd-0.3.6-orig/Makefile.in Mon May 28 00:53:40 2001
+-+++ oftpd-0.3.6/Makefile.in Fri Jun 8 19:09:50 2001
+-@@ -72,8 +72,8 @@
+- CONFIG_HEADER = ./src/config.h
+- CONFIG_CLEAN_FILES =
+- DIST_COMMON = README AUTHORS COPYING ChangeLog INSTALL Makefile.am \
+--Makefile.in NEWS TODO acconfig.h aclocal.m4 configure configure.in \
+--install-sh missing mkinstalldirs src/config.h.in src/stamp-h.in
+-+Makefile.in NEWS TODO aclocal.m4 configure configure.in install-sh \
+-+missing mkinstalldirs
+-
+-
+- DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+-@@ -83,9 +83,9 @@
+- all: all-redirect
+- .SUFFIXES:
+- $(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+-- cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps Makefile
+-+ cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile
+-
+--Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+-+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES)
+- cd $(top_builddir) \
+- && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
+-
+-@@ -97,34 +97,6 @@
+- $(srcdir)/configure: $(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
+- cd $(srcdir) && $(AUTOCONF)
+-
+--src/config.h: src/stamp-h
+-- @if test ! -f $@; then \
+-- rm -f src/stamp-h; \
+-- $(MAKE) src/stamp-h; \
+-- else :; fi
+--src/stamp-h: $(srcdir)/src/config.h.in $(top_builddir)/config.status
+-- cd $(top_builddir) \
+-- && CONFIG_FILES= CONFIG_HEADERS=src/config.h \
+-- $(SHELL) ./config.status
+-- @echo timestamp > src/stamp-h 2> /dev/null
+--$(srcdir)/src/config.h.in: $(srcdir)/src/stamp-h.in
+-- @if test ! -f $@; then \
+-- rm -f $(srcdir)/src/stamp-h.in; \
+-- $(MAKE) $(srcdir)/src/stamp-h.in; \
+-- else :; fi
+--$(srcdir)/src/stamp-h.in: $(top_srcdir)/configure.in $(ACLOCAL_M4) acconfig.h
+-- cd $(top_srcdir) && $(AUTOHEADER)
+-- @echo timestamp > $(srcdir)/src/stamp-h.in 2> /dev/null
+--
+--mostlyclean-hdr:
+--
+--clean-hdr:
+--
+--distclean-hdr:
+-- -rm -f src/config.h
+--
+--maintainer-clean-hdr:
+--
+- # This directory's subdirectories are mostly independent; you can cd
+- # into them and run `make' without going through this Makefile.
+- # To change the values of `make' variables: instead of editing Makefiles,
+-@@ -252,6 +224,11 @@
+- -rm -rf $(distdir)
+- mkdir $(distdir)
+- -chmod 777 $(distdir)
+-+ here=`cd $(top_builddir) && pwd`; \
+-+ top_distdir=`cd $(distdir) && pwd`; \
+-+ distdir=`cd $(distdir) && pwd`; \
+-+ cd $(top_srcdir) \
+-+ && $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --gnu Makefile
+- $(mkinstalldirs) $(distdir)/dist $(distdir)/init
+- @for file in $(DISTFILES); do \
+- d=$(srcdir); \
+-@@ -309,32 +286,32 @@
+- -rm -f config.cache config.log stamp-h stamp-h[0-9]*
+-
+- maintainer-clean-generic:
+--mostlyclean-am: mostlyclean-hdr mostlyclean-tags mostlyclean-generic
+-+mostlyclean-am: mostlyclean-tags mostlyclean-generic
+-
+- mostlyclean: mostlyclean-recursive
+-
+--clean-am: clean-hdr clean-tags clean-generic mostlyclean-am
+-+clean-am: clean-tags clean-generic mostlyclean-am
+-
+- clean: clean-recursive
+-
+--distclean-am: distclean-hdr distclean-tags distclean-generic clean-am
+-+distclean-am: distclean-tags distclean-generic clean-am
+-
+- distclean: distclean-recursive
+- -rm -f config.status
+-
+--maintainer-clean-am: maintainer-clean-hdr maintainer-clean-tags \
+-- maintainer-clean-generic distclean-am
+-+maintainer-clean-am: maintainer-clean-tags maintainer-clean-generic \
+-+ distclean-am
+- @echo "This command is intended for maintainers to use;"
+- @echo "it deletes files that may require special tools to rebuild."
+-
+- maintainer-clean: maintainer-clean-recursive
+- -rm -f config.status
+-
+--.PHONY: mostlyclean-hdr distclean-hdr clean-hdr maintainer-clean-hdr \
+--install-data-recursive uninstall-data-recursive install-exec-recursive \
+--uninstall-exec-recursive installdirs-recursive uninstalldirs-recursive \
+--all-recursive check-recursive installcheck-recursive info-recursive \
+--dvi-recursive mostlyclean-recursive distclean-recursive clean-recursive \
+-+.PHONY: install-data-recursive uninstall-data-recursive \
+-+install-exec-recursive uninstall-exec-recursive installdirs-recursive \
+-+uninstalldirs-recursive all-recursive check-recursive \
+-+installcheck-recursive info-recursive dvi-recursive \
+-+mostlyclean-recursive distclean-recursive clean-recursive \
+- maintainer-clean-recursive tags tags-recursive mostlyclean-tags \
+- distclean-tags clean-tags maintainer-clean-tags distdir info-am info \
+- dvi-am dvi check check-am installcheck-am installcheck install-exec-am \
+-diff -urN oftpd-0.3.6-orig/man/Makefile.in oftpd-0.3.6/man/Makefile.in
+---- oftpd-0.3.6-orig/man/Makefile.in Mon May 28 00:53:44 2001
+-+++ oftpd-0.3.6/man/Makefile.in Fri Jun 8 19:09:50 2001
+-@@ -84,9 +84,9 @@
+- all: all-redirect
+- .SUFFIXES:
+- $(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+-- cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps man/Makefile
+-+ cd $(top_srcdir) && $(AUTOMAKE) --gnu man/Makefile
+-
+--Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+-+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES)
+- cd $(top_builddir) \
+- && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
+-
+-@@ -138,6 +138,11 @@
+- subdir = man
+-
+- distdir: $(DISTFILES)
+-+ here=`cd $(top_builddir) && pwd`; \
+-+ top_distdir=`cd $(top_distdir) && pwd`; \
+-+ distdir=`cd $(distdir) && pwd`; \
+-+ cd $(top_srcdir) \
+-+ && $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --gnu man/Makefile
+- @for file in $(DISTFILES); do \
+- d=$(srcdir); \
+- if test -d $$d/$$file; then \
++Submitted By: Mario Fetka (geos_one) (mario dot fetka at gmail dot com)
++Date: 2010-01-05
++Initial Package Version: 0.3.6
++Origin: ftp://ftp.deepspace6.net/pub/ds6/sources/oftpd/oftpd-0.3.6-ipv6rel2.patch.gz
++Upstream Status: unknown
++Description: add better ipv6 support to oftpd
++
+ diff -urN oftpd-0.3.6-orig/src/Makefile.am oftpd-0.3.6/src/Makefile.am
+ --- oftpd-0.3.6-orig/src/Makefile.am Wed Apr 18 01:05:16 2001
+ +++ oftpd-0.3.6/src/Makefile.am Fri Jun 8 19:09:45 2001
+@@ -148,158 +12,6 @@
+ bin_PROGRAMS = oftpd
+ -oftpd_SOURCES = file_list.c file_list.h ftp_command.c ftp_command.h ftp_listener.c ftp_listener.h ftp_session.c ftp_session.h oftpd.c oftpd.h telnet_session.c telnet_session.h watchdog.c watchdog.h error.c error.h af_portability.h daemon_assert.c daemon_assert.h
+ +oftpd_SOURCES = file_list.c file_list.h ftp_command.c ftp_command.h ftp_listener.c ftp_listener.h ftp_session.c ftp_session.h oftpd.c oftpd.h telnet_session.c telnet_session.h watchdog.c watchdog.h error.c error.h af_portability.h af_portability.c daemon_assert.c daemon_assert.h
+-diff -urN oftpd-0.3.6-orig/src/Makefile.in oftpd-0.3.6/src/Makefile.in
+---- oftpd-0.3.6-orig/src/Makefile.in Mon May 28 00:53:42 2001
+-+++ oftpd-0.3.6/src/Makefile.in Fri Jun 8 19:09:50 2001
+-@@ -66,7 +66,7 @@
+- VERSION = @VERSION@
+-
+- bin_PROGRAMS = oftpd
+--oftpd_SOURCES = file_list.c file_list.h ftp_command.c ftp_command.h ftp_listener.c ftp_listener.h ftp_session.c ftp_session.h oftpd.c oftpd.h telnet_session.c telnet_session.h watchdog.c watchdog.h error.c error.h af_portability.h daemon_assert.c daemon_assert.h
+-+oftpd_SOURCES = file_list.c file_list.h ftp_command.c ftp_command.h ftp_listener.c ftp_listener.h ftp_session.c ftp_session.h oftpd.c oftpd.h telnet_session.c telnet_session.h watchdog.c watchdog.h error.c error.h af_portability.h af_portability.c daemon_assert.c daemon_assert.h
+- mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+- CONFIG_HEADER = config.h
+- CONFIG_CLEAN_FILES =
+-@@ -78,7 +78,8 @@
+- LDFLAGS = @LDFLAGS@
+- LIBS = @LIBS@
+- oftpd_OBJECTS = file_list.o ftp_command.o ftp_listener.o ftp_session.o \
+--oftpd.o telnet_session.o watchdog.o error.o daemon_assert.o
+-+oftpd.o telnet_session.o watchdog.o error.o af_portability.o \
+-+daemon_assert.o
+- oftpd_LDADD = $(LDADD)
+- oftpd_DEPENDENCIES =
+- oftpd_LDFLAGS =
+-@@ -93,6 +94,10 @@
+-
+- TAR = gtar
+- GZIP_ENV = --best
+-+DEP_FILES = .deps/af_portability.P .deps/daemon_assert.P .deps/error.P \
+-+.deps/file_list.P .deps/ftp_command.P .deps/ftp_listener.P \
+-+.deps/ftp_session.P .deps/oftpd.P .deps/telnet_session.P \
+-+.deps/watchdog.P
+- SOURCES = $(oftpd_SOURCES)
+- OBJECTS = $(oftpd_OBJECTS)
+-
+-@@ -100,9 +105,9 @@
+- .SUFFIXES:
+- .SUFFIXES: .S .c .o .s
+- $(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+-- cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps src/Makefile
+-+ cd $(top_srcdir) && $(AUTOMAKE) --gnu src/Makefile
+-
+--Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+-+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES)
+- cd $(top_builddir) \
+- && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
+-
+-@@ -160,9 +165,6 @@
+- rm -f $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \
+- done
+-
+--.c.o:
+-- $(COMPILE) -c $<
+--
+- .s.o:
+- $(COMPILE) -c $<
+-
+-@@ -217,6 +219,11 @@
+- subdir = src
+-
+- distdir: $(DISTFILES)
+-+ here=`cd $(top_builddir) && pwd`; \
+-+ top_distdir=`cd $(top_distdir) && pwd`; \
+-+ distdir=`cd $(distdir) && pwd`; \
+-+ cd $(top_srcdir) \
+-+ && $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --gnu src/Makefile
+- @for file in $(DISTFILES); do \
+- d=$(srcdir); \
+- if test -d $$d/$$file; then \
+-@@ -228,6 +235,37 @@
+- fi; \
+- done
+-
+-+DEPS_MAGIC := $(shell mkdir .deps > /dev/null 2>&1 || :)
+-+
+-+-include $(DEP_FILES)
+-+
+-+mostlyclean-depend:
+-+
+-+clean-depend:
+-+
+-+distclean-depend:
+-+ -rm -rf .deps
+-+
+-+maintainer-clean-depend:
+-+
+-+%.o: %.c
+-+ @echo '$(COMPILE) -c $<'; \
+-+ $(COMPILE) -Wp,-MD,.deps/$(*F).pp -c $<
+-+ @-cp .deps/$(*F).pp .deps/$(*F).P; \
+-+ tr ' ' '\012' < .deps/$(*F).pp \
+-+ | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \
+-+ >> .deps/$(*F).P; \
+-+ rm .deps/$(*F).pp
+-+
+-+%.lo: %.c
+-+ @echo '$(LTCOMPILE) -c $<'; \
+-+ $(LTCOMPILE) -Wp,-MD,.deps/$(*F).pp -c $<
+-+ @-sed -e 's/^\([^:]*\)\.o[ ]*:/\1.lo \1.o :/' \
+-+ < .deps/$(*F).pp > .deps/$(*F).P; \
+-+ tr ' ' '\012' < .deps/$(*F).pp \
+-+ | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \
+-+ >> .deps/$(*F).P; \
+-+ rm -f .deps/$(*F).pp
+- info-am:
+- info: info-am
+- dvi-am:
+-@@ -268,24 +306,26 @@
+-
+- maintainer-clean-generic:
+- mostlyclean-am: mostlyclean-hdr mostlyclean-binPROGRAMS \
+-- mostlyclean-compile mostlyclean-tags \
+-+ mostlyclean-compile mostlyclean-tags mostlyclean-depend \
+- mostlyclean-generic
+-
+- mostlyclean: mostlyclean-am
+-
+- clean-am: clean-hdr clean-binPROGRAMS clean-compile clean-tags \
+-- clean-generic mostlyclean-am
+-+ clean-depend clean-generic mostlyclean-am
+-
+- clean: clean-am
+-
+- distclean-am: distclean-hdr distclean-binPROGRAMS distclean-compile \
+-- distclean-tags distclean-generic clean-am
+-+ distclean-tags distclean-depend distclean-generic \
+-+ clean-am
+-
+- distclean: distclean-am
+-
+- maintainer-clean-am: maintainer-clean-hdr maintainer-clean-binPROGRAMS \
+- maintainer-clean-compile maintainer-clean-tags \
+-- maintainer-clean-generic distclean-am
+-+ maintainer-clean-depend maintainer-clean-generic \
+-+ distclean-am
+- @echo "This command is intended for maintainers to use;"
+- @echo "it deletes files that may require special tools to rebuild."
+-
+-@@ -296,10 +336,11 @@
+- maintainer-clean-binPROGRAMS uninstall-binPROGRAMS install-binPROGRAMS \
+- mostlyclean-compile distclean-compile clean-compile \
+- maintainer-clean-compile tags mostlyclean-tags distclean-tags \
+--clean-tags maintainer-clean-tags distdir info-am info dvi-am dvi check \
+--check-am installcheck-am installcheck all-recursive-am install-exec-am \
+--install-exec install-data-am install-data install-am install \
+--uninstall-am uninstall all-redirect all-am all installdirs \
+-+clean-tags maintainer-clean-tags distdir mostlyclean-depend \
+-+distclean-depend clean-depend maintainer-clean-depend info-am info \
+-+dvi-am dvi check check-am installcheck-am installcheck all-recursive-am \
+-+install-exec-am install-exec install-data-am install-data install-am \
+-+install uninstall-am uninstall all-redirect all-am all installdirs \
+- mostlyclean-generic distclean-generic clean-generic \
+- maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+-
+ diff -urN oftpd-0.3.6-orig/src/af_portability.c oftpd-0.3.6/src/af_portability.c
+ --- oftpd-0.3.6-orig/src/af_portability.c Thu Jan 1 01:00:00 1970
+ +++ oftpd-0.3.6/src/af_portability.c Fri Jun 8 19:01:31 2001
+@@ -376,7 +88,7 @@
+ diff -urN oftpd-0.3.6-orig/src/config.h.in oftpd-0.3.6/src/config.h.in
+ --- oftpd-0.3.6-orig/src/config.h.in Sun May 27 23:04:05 2001
+ +++ oftpd-0.3.6/src/config.h.in Fri Jun 8 19:03:43 2001
+-@@ -100,14 +100,14 @@
++@@ -97,15 +97,15 @@
+ /* Define if you have the <limits.h> header file. */
+ #undef HAVE_LIMITS_H
+
+@@ -388,12 +100,13 @@
+
+ /* Define if you have the <sys/types.h> header file. */
+ #undef HAVE_SYS_TYPES_H
+--
++
+ -/* Define if you have the <syslog.h> header file. */
+ -#undef HAVE_SYSLOG_H
+-
++-
+ /* Define if you have the <unistd.h> header file. */
+ #undef HAVE_UNISTD_H
++
+ diff -urN oftpd-0.3.6-orig/src/error.c oftpd-0.3.6/src/error.c
+ --- oftpd-0.3.6-orig/src/error.c Wed Apr 18 23:41:04 2001
+ +++ oftpd-0.3.6/src/error.c Thu Jun 21 20:57:09 2001
+@@ -1436,7 +1149,7 @@
+ }
+ #else
+ if (memcmp(&f->client_addr.sin_addr,
+-@@ -1803,20 +1893,69 @@
++@@ -1811,20 +1901,69 @@
+ }
+ }
+
diff --git a/net-ftp/oftpd/files/oftpd-0.3.7-pthread-cancel.patch b/net-ftp/oftpd/files/oftpd-0.3.7-pthread-cancel.patch
new file mode 100644
index 000000000000..586885c3c08c
--- /dev/null
+++ b/net-ftp/oftpd/files/oftpd-0.3.7-pthread-cancel.patch
@@ -0,0 +1,17 @@
+in order for pthread_cancel to work (which oftpd uses to close inactive
+connections), most ports need to load libgcc_s.so.1. but when oftpd uses
+a chroot, that file is no longer available (in fact, it'll try to load it
+from the chroot itself which is kind of a security issue). so have the
+code proactively link against libgcc_s when it is found so that the lib
+is already loaded when we cancel.
+
+--- a/configure.in
++++ b/configure.in
+@@ -39,6 +39,7 @@ AC_FUNC_STRFTIME
+ AC_CHECK_FUNCS(getcwd gettimeofday select socket strerror localtime_r gmtime_r)
+ dnl AC_CHECK_LIB(pthread, pthread_create)
+ dnl AC_SEARCH_LIBS(pthread_create, [ pthread pthreads thread threads ])
++AC_CHECK_LIB(gcc_s, _Unwind_Resume)
+ AC_SEARCH_LIBS(socket, socket)
+ AC_SEARCH_LIBS(inet_ntoa, nsl)
+ AC_CHECK_FUNCS(inet_aton)
diff --git a/net-ftp/oftpd/files/oftpd-0.3.7-unistd.patch b/net-ftp/oftpd/files/oftpd-0.3.7-unistd.patch
new file mode 100644
index 000000000000..e7f858febd91
--- /dev/null
+++ b/net-ftp/oftpd/files/oftpd-0.3.7-unistd.patch
@@ -0,0 +1,19 @@
+--- oftpd-0.3.7/src/daemon_assert.c
++++ oftpd-0.3.7/src/daemon_assert.c
+@@ -3,6 +3,7 @@
+ #include <pthread.h>
+ #include <syslog.h>
+ #include <stdio.h>
++#include <unistd.h>
+
+ #ifndef NDEBUG
+ void daemon_assert_fail(const char *assertion,
+@@ -13,7 +13,7 @@
+ {
+ syslog(LOG_CRIT, "%s:%d: %s: %s", file, line, function, assertion);
+ fprintf(stderr, "%s:%d: %s: %s\n", file, line, function, assertion);
+- exit(1);
++ _exit(1);
+ }
+ #endif
+