summaryrefslogtreecommitdiff
path: root/net-ftp/oftpd
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /net-ftp/oftpd
reinit the tree, so we can have metadata
Diffstat (limited to 'net-ftp/oftpd')
-rw-r--r--net-ftp/oftpd/Manifest18
-rw-r--r--net-ftp/oftpd/files/conf.d.oftpd-r726
-rw-r--r--net-ftp/oftpd/files/init.d.oftpd-r728
-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
-rw-r--r--net-ftp/oftpd/metadata.xml8
-rw-r--r--net-ftp/oftpd/oftpd-0.3.7-r10.ebuild51
-rw-r--r--net-ftp/oftpd/oftpd-0.3.7-r7.ebuild45
-rw-r--r--net-ftp/oftpd/oftpd-0.3.7-r8.ebuild48
-rw-r--r--net-ftp/oftpd/oftpd-0.3.7-r9.ebuild49
15 files changed, 752 insertions, 0 deletions
diff --git a/net-ftp/oftpd/Manifest b/net-ftp/oftpd/Manifest
new file mode 100644
index 000000000000..1d1a7c1abe3a
--- /dev/null
+++ b/net-ftp/oftpd/Manifest
@@ -0,0 +1,18 @@
+AUX conf.d.oftpd-r7 978 SHA256 e0df1e91dd525a035a4c7e9756853c5eea07b0ceb2ebbd2924fb28f013feb866 SHA512 6f864b2a6010cd81e0f767bc769200a26793540f77f95deb4678254d48acb93814eb214e4d3df46825c647483fac1bfcbdfd1c32d4da11af6596331408f75e0f WHIRLPOOL 6028f3b164cabce48699f132eb9f178aadec14b911846f729522e9f0b79dcce3f54fdb919ea4e9fe5dd1756697a6d9352c8fbfd707a4af4626e3d761f53da58f
+AUX init.d.oftpd-r7 526 SHA256 8c1aada4e9cfcf0278efcd9d57f3a8f62750003c2e3467e3b3c74eb49d8508e7 SHA512 be48a7a04be71eff0330dbea622d79b15d75bf033de901158199862c8c049a1126021a069009152b938a8c55138c36db7862410f836570c65d2729f737112142 WHIRLPOOL 240e0090f70063a3571317b888813c21572635fdbc15e8d34e0730e54731d5adf83699e0f6495b1bd72d12c951b0df12122aa64faab30a35eddbdafac3c20f32
+AUX oftpd-0.3.7-delay-root-check.patch 778 SHA256 782899dbbfa31db0cc772281576113f56e7f33fb02265d868ef05dfd46ebcfe4 SHA512 ea420fdec8df42d6482bf41409571769b1f4011e2bcf9157cd32f68c68c582edd0908cb13286618248647922023f72b029a4523464ce15a5adbfa4ce0bb9f326 WHIRLPOOL b94d68ea5e29a81240c42719dec68d67078473e3bb7fc05a9932f684368fa909bfe27eeaee5bee8e3c96ff945582632faed8faf6def7a86982c3769470d35f6d
+AUX oftpd-0.3.7-error-output.patch 706 SHA256 aa33fb9ac511895158ed78fc4a4b1984cb7f9ed407f3cd958c3f47d8662d82ca SHA512 36c996038784a0e6b6a17e1f52c346dde741f812588254441c3419f0859daf63c75135e156684f014a576315560da0227aa184870edb3a0c95a18968d9e62a52 WHIRLPOOL 84d954c928f956eb46f7c473adaa01c097c1e73d81fa8c8c1c5c56ba5547d7ce1ed3e55d98425f22f5f510476b4be044493f3299fa94e0a9bd9cde4097707ad8
+AUX oftpd-0.3.7-family-1.patch 936 SHA256 fe903d6fbb4a523f7b85dfb4c112f489da07764e8d67e15faa9b8380d400ba2a SHA512 045eb48da94b3f888ff3f9dab17170338d078284d136d2fb684fac09dedaef55dd186080a520072bf2906be17770f70e66a311e19b86da766f49fe68174857e2 WHIRLPOOL 5498455e4645783f09f3acdc8323d9bc038b20dd59abf4793f29c1230425e57c0f5629056df2cc077da7af0beea16ad43af4ca83677f805d923ba2addf398891
+AUX oftpd-0.3.7-htons.patch 458 SHA256 0f18b2e4a80b835e865bc376e060bd6fde3fdf2d4a09fd963d789feeaddbb400 SHA512 75da3b40206b5c495a2edab531d6c7d2a41e30729a03605e514ec12e20499e4f7f3fb03859b19c5fc5cdb1ea591243abcbf18decefddc03c977254a924ff2109 WHIRLPOOL f4861b628906a8e762dace8ba6f6133ea309eaf3f3cbe132a21f3374c9e6752e39a38ba5fe5d98c44f7a7d9405f4389d2474569da0a276dedc757e53831e09b0
+AUX oftpd-0.3.7-ipv6rel2-0.3.6-to-0.3.7.patch 14107 SHA256 83101b57c00cebe9ed456d79697520f582fc427d18ecf84137c502709fef6bf3 SHA512 c752bdeb0227c036268e3840c3aac9a19e875b9fa37e4f6440211aed312c42836982ff7e8a8e97a1f12f172552f96b290fb17bb139ded5d75999d49270facfc8 WHIRLPOOL 5adb70106584df7b7930439fc41591cfbbd0fb82d02f73bc64416acf7a19db6000c127ef7d088b0f1668faa6490d83be4dfd0ca012bc789a5a7e4e573420d0eb
+AUX oftpd-0.3.7-pthread-cancel.patch 797 SHA256 5ffd545376c3443d9c82b9d25021335cabc7071ed55772b90112ba21b69ce5da SHA512 7920c04bb3eb5ed3b832d140d7ff7808c3d214f804a04569706815d07fb505b7134d283c944c5a76fd64b1da55820ccda872d89a3be6e2363e31a386c320a161 WHIRLPOOL 98c724b07e9e19534479785638e3ebe1e4b958554917d62277bbbd04c16071efe58fa416c72c772764f60ca17ad6dacd8a3efd056993e08429607bd58d0f51f8
+AUX oftpd-0.3.7-unistd.patch 448 SHA256 6f40bc71c91f4e65a640366a17c3f9848a0362abf1143d538d17d4d38bb2bc8f SHA512 0e0ad78eecb9f2be425fcda44e624fe118ceb0ccb094a05bce96a9bb1268bf58e4a8efab553e767d4ad2165e9bc5b360f5d36ad28b21ccfee35f9a2809a96d7e WHIRLPOOL e4ca025978a9d2755c817faa061b5c3f3ed72c663c8f82cfaf17641595fee98f28fd57184323d1411238cdfd1c3fe6b97a58506043412f956e0134f86d71bbe8
+DIST oftpd-0.3.6-ipv6rel2.patch.gz 12478 SHA256 b1165052e0169e1495b5009111f07ba56cb81ce34234b9578a9eb2862e76ac3d SHA512 76d12b82424a9a338f151534df55310511d3138a1e80851e6ebb8f4a841cd075892ab1a02851d871772a2229c107ec35de2d5fb3572c72207a65629e10e55dba WHIRLPOOL f513e485f429957f1559684f6f85c2cea9fc0ae912cf46ccc21c4f272f4809587db3da473e4ebf4c717b48c2a11267ca3bfd875e88231b854d5c80aee36fb2a1
+DIST oftpd-0.3.7.tar.gz 97364 SHA256 b135cd2bc6c54e03e5374845964eab73d5e567160c15bb4226c1c922b1e6d64e SHA512 36bfd15dbe84043aee9678acbcc2c1312091887b381bee36a6a57f2516a5ec742a1733bf570c7cc71aaa28bd053d686976e6bfd549443a8bb398f8176db1a6a8 WHIRLPOOL 1d16c6fa5904700e41e0a499dc72d300823814197114ecb67211abea686a7a7d4017accb3ca3ade4a44a16b778499820b4a3d9589f0495618c6bcd3c6c1cafc4
+EBUILD oftpd-0.3.7-r10.ebuild 1307 SHA256 33bf829b31fb6ce64443290df86ab2e465aaf1c4be32f2ccdddb380ec9986e84 SHA512 aa71eb4644089b9ce1b9956b2993e01e28e48fef39ca52e1f7b5cf224cbec6db25f7d4d5abe5b576329885cac15c7b7d3e81204b77f583da7f04ac71532e7e87 WHIRLPOOL 864401ecf8dc2cceda7bbbb285dcf87816a6c0fcab44bc889de76b384f0c5d130c9fccf887a50f11cbf22a7a3f12bc5be57517ae249d0778e86938848fef9fbf
+EBUILD oftpd-0.3.7-r7.ebuild 1122 SHA256 c524d1c90ff1d0f0afa01b0a03cae6551f03d2400b1b1731297ecfdfb0966e49 SHA512 c87bbc4ab04e0e3c58e97f99f1b1f8a5fbb7039b0018fc6a0145f87895612f14e6a585c31df9d57c1843b778519aa9f504ae9aa1fadcfd3d6943fe21e3930d10 WHIRLPOOL 0b4c87ebc4558b8940ff080e1de6cabc63e004a664167465a25133e2211b4f64bb45a4de302b13d71ad7ba8196c67ee8975c4a87768b6f48553949563a7ae34a
+EBUILD oftpd-0.3.7-r8.ebuild 1142 SHA256 4d5e0c635d7d56c9f09df3863eb3d3a7147622cc37ffffdf566f40eb6193b87a SHA512 4b1da7307d64982fc1ed31bf71908cfde352ff8e19219a16f7744d18de62b5ad83b6939384342f0120fa982641c595e42bedb948c592d96d26f13379c7be1c50 WHIRLPOOL 7c1efe738dbd79c36496c2fe45594e2a691042be397218d4620e3a89056a9758f7f2ed74b339c0ea9620a274655b9d54e4c61b4ba1e10fd163e5b5217fc98897
+EBUILD oftpd-0.3.7-r9.ebuild 1199 SHA256 0ab53fc1e533c6a562b6b50bcc0f5665dcac453d15d14688b6ebd848689fc179 SHA512 89e5f21643f26c2fbcc855fe1a473918e17949cddaeedb9137a41636664205166b53e3d7716e606f867bf8057194247071aa73948cd397b930545def3013437b WHIRLPOOL e4606ea440db7dad302b2f861f0af52c41b76f95b0059746a35c4863ec9171bfcdd88099ce43f8d07cec267899fd347c8d9c391fe70de5883fb97dbacde54305
+MISC ChangeLog 2804 SHA256 da3d193edd7451dadbb94364e3ed25d1b7d0846d0eb83074f3152c3626bc2d0c SHA512 7394a40ebe1c76ef5c64d631d6487a0e4e29ef30d991bfc7d1658b8ee54620721d018146c96baa19c5dcb4f444c44e3f8ec16d061e3ba66860e0d6ee581fc5e6 WHIRLPOOL 61133275f4977e4cbd5edd0ccb3660260b279965acf22e7d182f3454873b8f4aa175dd82ca6e158036e4f41eedda8a35e8ab7b28456b7338b6f4bbb70cbf58b3
+MISC ChangeLog-2015 6877 SHA256 b9a03e958cb50bcc366b3fd6a2d2bd1d91f7a0975c6efd4e554b41d15953a286 SHA512 26801e1322b686086b0238db9aa065b9a0026e1c82ced3cbc3aec4015222e6749ad10f28798d4192f2124776e04f661a866b779dcd8416d047901faef2d0f208 WHIRLPOOL bab2d842e0bbfa85abca20a077f4b9866c0dd299b32cfbed52815a42e7cabef86fb2b586bc31ec54649b9f6eef0993f620b887778f5705248222d78b0fc796d9
+MISC metadata.xml 246 SHA256 627b35d9bc3902724ed228dcafecc7a1544ce6ef25a65b010b25316da7827858 SHA512 6c55de4cd9bbe749a7c1b2b35a59751bd1b6a6d45d3f48452263a89d204fa1589b1f91fd34d47f360aafda3164542050e963169a271c28f98bf0866e295c85cc WHIRLPOOL 2b817e6feb1f3c7f620ef6fef637845a1d96413004b438d0c59f481cf7a1fb9f7552dcf2f57aed408e03559a6d6fbccd6fc8b39c632de5972db99b455bbd7404
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..3a395c83712c
--- /dev/null
+++ b/net-ftp/oftpd/files/init.d.oftpd-r7
@@ -0,0 +1,28 @@
+#!/sbin/openrc-run
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+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
+
diff --git a/net-ftp/oftpd/metadata.xml b/net-ftp/oftpd/metadata.xml
new file mode 100644
index 000000000000..59e5b15b00cb
--- /dev/null
+++ b/net-ftp/oftpd/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>xmw@gentoo.org</email>
+ <name>Michael Weber</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/net-ftp/oftpd/oftpd-0.3.7-r10.ebuild b/net-ftp/oftpd/oftpd-0.3.7-r10.ebuild
new file mode 100644
index 000000000000..d945790a0dde
--- /dev/null
+++ b/net-ftp/oftpd/oftpd-0.3.7-r10.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=4
+
+inherit autotools eutils
+
+DESCRIPTION="Secure, small, anonymous only ftpd"
+HOMEPAGE="http://www.time-travellers.org/oftpd"
+SRC_URI="http://www.time-travellers.org/oftpd/${P}.tar.gz
+ ftp://ftp.deepspace6.net/pub/ds6/sources/${PN}/${PN}-0.3.6-ipv6rel2.patch.gz"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~sh ~sparc ~x86"
+IUSE="ipv6"
+
+DEPEND="net-ftp/ftpbase"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ cd "${WORKDIR}" || die
+ epatch "${FILESDIR}"/oftpd-0.3.7-ipv6rel2-0.3.6-to-0.3.7.patch
+
+ cd "${S}" || die
+ epatch "${WORKDIR}"/${PN}-0.3.6-ipv6rel2.patch
+ epatch "${FILESDIR}"/${PN}-0.3.7-delay-root-check.patch
+ epatch "${FILESDIR}"/${PN}-0.3.7-error-output.patch
+ epatch "${FILESDIR}"/${PN}-0.3.7-pthread-cancel.patch
+
+ # Don't crash when using an unsupported address family, #159178.
+ # updated in bug #157005
+ epatch "${FILESDIR}"/${P}-family-1.patch
+
+ # htons patch #371963
+ epatch "${FILESDIR}"/${P}-htons.patch
+
+ epatch "${FILESDIR}"/${P}-unistd.patch
+ eautoreconf
+}
+
+src_configure() {
+ econf --bindir=/usr/sbin $(use_enable ipv6)
+}
+
+src_install() {
+ default
+ keepdir /home/ftp
+ newinitd "${FILESDIR}"/init.d.oftpd-r7 oftpd
+ newconfd "${FILESDIR}"/conf.d.oftpd-r7 oftpd
+}
diff --git a/net-ftp/oftpd/oftpd-0.3.7-r7.ebuild b/net-ftp/oftpd/oftpd-0.3.7-r7.ebuild
new file mode 100644
index 000000000000..d898a4dba669
--- /dev/null
+++ b/net-ftp/oftpd/oftpd-0.3.7-r7.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=2
+
+inherit autotools eutils
+
+DESCRIPTION="Secure, small, anonymous only ftpd"
+HOMEPAGE="http://www.time-travellers.org/oftpd"
+SRC_URI="http://www.time-travellers.org/oftpd/${P}.tar.gz
+ ftp://ftp.deepspace6.net/pub/ds6/sources/${PN}/${PN}-0.3.6-ipv6rel2.patch.gz"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="amd64 arm ppc ppc64 sh sparc x86"
+IUSE="ipv6"
+
+DEPEND="net-ftp/ftpbase"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ cd "${WORKDIR}" || die
+ epatch "${FILESDIR}"/oftpd-0.3.7-ipv6rel2-0.3.6-to-0.3.7.patch
+
+ cd "${S}" || die
+ epatch "${WORKDIR}"/${PN}-0.3.6-ipv6rel2.patch
+
+ # Don't crash when using an unsupported address family, #159178.
+ # updated in bug #157005
+ epatch "${FILESDIR}"/${P}-family-1.patch
+
+ eautoreconf
+}
+
+src_configure() {
+ econf --bindir=/usr/sbin $(use_enable ipv6)
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die
+ dodoc AUTHORS BUGS FAQ NEWS README TODO || die
+ keepdir /home/ftp
+ newinitd "${FILESDIR}"/init.d.oftpd-r7 oftpd || die
+ newconfd "${FILESDIR}"/conf.d.oftpd-r7 oftpd || die
+}
diff --git a/net-ftp/oftpd/oftpd-0.3.7-r8.ebuild b/net-ftp/oftpd/oftpd-0.3.7-r8.ebuild
new file mode 100644
index 000000000000..431e783eb9b9
--- /dev/null
+++ b/net-ftp/oftpd/oftpd-0.3.7-r8.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=4
+
+inherit autotools eutils
+
+DESCRIPTION="Secure, small, anonymous only ftpd"
+HOMEPAGE="http://www.time-travellers.org/oftpd"
+SRC_URI="http://www.time-travellers.org/oftpd/${P}.tar.gz
+ ftp://ftp.deepspace6.net/pub/ds6/sources/${PN}/${PN}-0.3.6-ipv6rel2.patch.gz"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~sh ~sparc ~x86"
+IUSE="ipv6"
+
+DEPEND="net-ftp/ftpbase"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ cd "${WORKDIR}" || die
+ epatch "${FILESDIR}"/oftpd-0.3.7-ipv6rel2-0.3.6-to-0.3.7.patch
+
+ cd "${S}" || die
+ epatch "${WORKDIR}"/${PN}-0.3.6-ipv6rel2.patch
+
+ # Don't crash when using an unsupported address family, #159178.
+ # updated in bug #157005
+ epatch "${FILESDIR}"/${P}-family-1.patch
+
+ # htons patch #371963
+ epatch "${FILESDIR}"/${P}-htons.patch
+
+ epatch "${FILESDIR}"/${P}-unistd.patch
+ eautoreconf
+}
+
+src_configure() {
+ econf --bindir=/usr/sbin $(use_enable ipv6)
+}
+
+src_install() {
+ default
+ keepdir /home/ftp
+ newinitd "${FILESDIR}"/init.d.oftpd-r7 oftpd
+ newconfd "${FILESDIR}"/conf.d.oftpd-r7 oftpd
+}
diff --git a/net-ftp/oftpd/oftpd-0.3.7-r9.ebuild b/net-ftp/oftpd/oftpd-0.3.7-r9.ebuild
new file mode 100644
index 000000000000..510f2bb03cf9
--- /dev/null
+++ b/net-ftp/oftpd/oftpd-0.3.7-r9.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=4
+
+inherit autotools eutils
+
+DESCRIPTION="Secure, small, anonymous only ftpd"
+HOMEPAGE="http://www.time-travellers.org/oftpd"
+SRC_URI="http://www.time-travellers.org/oftpd/${P}.tar.gz
+ ftp://ftp.deepspace6.net/pub/ds6/sources/${PN}/${PN}-0.3.6-ipv6rel2.patch.gz"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~sh ~sparc ~x86"
+IUSE="ipv6"
+
+DEPEND="net-ftp/ftpbase"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ cd "${WORKDIR}" || die
+ epatch "${FILESDIR}"/oftpd-0.3.7-ipv6rel2-0.3.6-to-0.3.7.patch
+
+ cd "${S}" || die
+ epatch "${WORKDIR}"/${PN}-0.3.6-ipv6rel2.patch
+ epatch "${FILESDIR}"/${PN}-0.3.7-delay-root-check.patch
+
+ # Don't crash when using an unsupported address family, #159178.
+ # updated in bug #157005
+ epatch "${FILESDIR}"/${P}-family-1.patch
+
+ # htons patch #371963
+ epatch "${FILESDIR}"/${P}-htons.patch
+
+ epatch "${FILESDIR}"/${P}-unistd.patch
+ eautoreconf
+}
+
+src_configure() {
+ econf --bindir=/usr/sbin $(use_enable ipv6)
+}
+
+src_install() {
+ default
+ keepdir /home/ftp
+ newinitd "${FILESDIR}"/init.d.oftpd-r7 oftpd
+ newconfd "${FILESDIR}"/conf.d.oftpd-r7 oftpd
+}