summaryrefslogtreecommitdiff
path: root/net-ftp
diff options
context:
space:
mode:
Diffstat (limited to 'net-ftp')
-rw-r--r--net-ftp/atftp/Manifest19
-rw-r--r--net-ftp/atftp/atftp-0.7-r3.ebuild71
-rw-r--r--net-ftp/atftp/atftp-0.7-r5.ebuild72
-rw-r--r--net-ftp/atftp/files/atftp-0.7-CFLAGS.patch32
-rw-r--r--net-ftp/atftp/files/atftp-0.7-blockno.patch136
-rw-r--r--net-ftp/atftp/files/atftp-0.7-glibc24.patch22
-rw-r--r--net-ftp/atftp/files/atftp-0.7-illreply.patch12
-rw-r--r--net-ftp/atftp/files/atftp-0.7-password.patch94
-rw-r--r--net-ftp/atftp/files/atftp-0.7-pcre.patch14
-rw-r--r--net-ftp/atftp/files/atftp-0.7-spaced_filename.patch96
-rw-r--r--net-ftp/atftp/files/atftp-0.7-tests.patch23
-rw-r--r--net-ftp/atftp/files/atftp.confd4
-rw-r--r--net-ftp/atftp/files/atftp.init28
-rw-r--r--net-ftp/atftp/files/atftp.service9
-rw-r--r--net-ftp/atftp/files/atftp.service.conf2
-rw-r--r--net-ftp/atftp/metadata.xml7
-rw-r--r--net-ftp/axyftp/Manifest6
-rw-r--r--net-ftp/axyftp/axyftp-0.5.1-r2.ebuild42
-rw-r--r--net-ftp/axyftp/files/axyftp-0.5.1-built-in-function-exit.patch18
-rw-r--r--net-ftp/axyftp/metadata.xml8
-rw-r--r--net-ftp/cmdftp/Manifest5
-rw-r--r--net-ftp/cmdftp/cmdftp-0.9.8.ebuild23
-rw-r--r--net-ftp/cmdftp/metadata.xml9
-rw-r--r--net-ftp/filezilla/Manifest7
-rw-r--r--net-ftp/filezilla/files/filezilla-3.22.1-debug.patch12
-rw-r--r--net-ftp/filezilla/filezilla-3.25.2-r1.ebuild68
-rw-r--r--net-ftp/filezilla/filezilla-3.25.2.ebuild68
-rw-r--r--net-ftp/filezilla/metadata.xml18
-rw-r--r--net-ftp/frox/Manifest10
-rw-r--r--net-ftp/frox/files/0.7.18-netfilter-includes.patch16
-rw-r--r--net-ftp/frox/files/0.7.18-respect-CFLAGS.patch15
-rw-r--r--net-ftp/frox/files/frox-0.7.18-config.patch66
-rw-r--r--net-ftp/frox/files/frox.initd37
-rw-r--r--net-ftp/frox/frox-0.7.18-r5.ebuild81
-rw-r--r--net-ftp/frox/frox-0.7.18-r6.ebuild85
-rw-r--r--net-ftp/frox/metadata.xml19
-rw-r--r--net-ftp/ftp/Manifest9
-rw-r--r--net-ftp/ftp/ftp-0.17-r7.ebuild48
-rw-r--r--net-ftp/ftp/ftp-0.17.23.0.2.1.ebuild60
-rw-r--r--net-ftp/ftp/metadata.xml8
-rw-r--r--net-ftp/ftpbase/Manifest7
-rw-r--r--net-ftp/ftpbase/files/ftp-pamd17
-rw-r--r--net-ftp/ftpbase/files/ftp-pamd-include17
-rw-r--r--net-ftp/ftpbase/files/ftpusers36
-rw-r--r--net-ftp/ftpbase/ftpbase-0.01-r2.ebuild53
-rw-r--r--net-ftp/ftpbase/metadata.xml8
-rw-r--r--net-ftp/gftp/Manifest7
-rw-r--r--net-ftp/gftp/files/gftp-2.0.19-desktop.patch26
-rw-r--r--net-ftp/gftp/files/gftp-2.0.19-gftp-expand-path-sigsegv.patch21
-rw-r--r--net-ftp/gftp/gftp-2.0.19-r3.ebuild47
-rw-r--r--net-ftp/gftp/metadata.xml8
-rw-r--r--net-ftp/gproftpd/Manifest5
-rw-r--r--net-ftp/gproftpd/gproftpd-8.3.2-r1.ebuild63
-rw-r--r--net-ftp/gproftpd/metadata.xml5
-rw-r--r--net-ftp/lftp/Manifest13
-rw-r--r--net-ftp/lftp/files/lftp-4.0.2.91-lafile.patch21
-rw-r--r--net-ftp/lftp/files/lftp-4.5.5-am_config_header.patch11
-rw-r--r--net-ftp/lftp/files/lftp-4.7.0-gettext.patch11
-rw-r--r--net-ftp/lftp/lftp-4.7.5.ebuild94
-rw-r--r--net-ftp/lftp/lftp-4.8.1.ebuild97
-rw-r--r--net-ftp/lftp/lftp-4.8.2.ebuild97
-rw-r--r--net-ftp/lftp/lftp-9999.ebuild94
-rw-r--r--net-ftp/lftp/metadata.xml12
-rw-r--r--net-ftp/linksys-tftp/Manifest7
-rw-r--r--net-ftp/linksys-tftp/files/linksys-tftp-1.2.1-r1-Makefile.patch28
-rw-r--r--net-ftp/linksys-tftp/files/linksys-tftp-1.2.1-r1-header.patch52
-rw-r--r--net-ftp/linksys-tftp/linksys-tftp-1.2.1-r3.ebuild29
-rw-r--r--net-ftp/linksys-tftp/metadata.xml9
-rw-r--r--net-ftp/metadata.xml38
-rw-r--r--net-ftp/ncftp/Manifest8
-rw-r--r--net-ftp/ncftp/metadata.xml18
-rw-r--r--net-ftp/ncftp/ncftp-3.2.5-r3.ebuild49
-rw-r--r--net-ftp/ncftp/ncftp-3.2.6.ebuild53
-rw-r--r--net-ftp/netkit-ftpd/Manifest16
-rw-r--r--net-ftp/netkit-ftpd/files/ftp.xinetd12
-rw-r--r--net-ftp/netkit-ftpd/files/netkit-ftpd-0.17-CVE-2008-4247.patch108
-rw-r--r--net-ftp/netkit-ftpd/files/netkit-ftpd-0.17-build.patch43
-rw-r--r--net-ftp/netkit-ftpd/files/netkit-ftpd-0.17-cleanup-ssl.patch10
-rw-r--r--net-ftp/netkit-ftpd/files/netkit-ftpd-0.17-cleanup.patch10
-rw-r--r--net-ftp/netkit-ftpd/files/netkit-ftpd-0.17-cross.patch45
-rw-r--r--net-ftp/netkit-ftpd/files/netkit-ftpd-0.17-fclose-CVE-2007-6263.patch24
-rw-r--r--net-ftp/netkit-ftpd/files/netkit-ftpd-0.17-gcc41.patch32
-rw-r--r--net-ftp/netkit-ftpd/files/netkit-ftpd-0.17-setguid.patch66
-rw-r--r--net-ftp/netkit-ftpd/files/netkit-ftpd-0.17-shadowfix.patch28
-rw-r--r--net-ftp/netkit-ftpd/metadata.xml8
-rw-r--r--net-ftp/netkit-ftpd/netkit-ftpd-0.17-r9.ebuild72
-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
-rw-r--r--net-ftp/oneclickftp/Manifest6
-rw-r--r--net-ftp/oneclickftp/files/oneclickftp-0.5.1-qt47.patch13
-rw-r--r--net-ftp/oneclickftp/metadata.xml11
-rw-r--r--net-ftp/oneclickftp/oneclickftp-0.5.1.ebuild39
-rw-r--r--net-ftp/proftpd/Manifest24
-rw-r--r--net-ftp/proftpd/files/proftpd-1.3.6-use-trace.patch18
-rw-r--r--net-ftp/proftpd/files/proftpd-1.3.6_rc4-diskuse-refresh-api.patch17
-rw-r--r--net-ftp/proftpd/files/proftpd-1.3.6_rc4-gss-refresh-api.patch60
-rw-r--r--net-ftp/proftpd/files/proftpd-1.3.6_rc4-msg-refresh-api.patch29
-rw-r--r--net-ftp/proftpd/files/proftpd-1.3.6_rc4-open-tests.patch24
-rw-r--r--net-ftp/proftpd/files/proftpd-1.3.6_rc4-vroot-refresh-api.patch23
-rw-r--r--net-ftp/proftpd/files/proftpd-tmpfiles.d.conf1
-rw-r--r--net-ftp/proftpd/files/proftpd.conf.sample53
-rw-r--r--net-ftp/proftpd/files/proftpd.initd51
-rw-r--r--net-ftp/proftpd/files/proftpd.service12
-rw-r--r--net-ftp/proftpd/files/proftpd.xinetd15
-rw-r--r--net-ftp/proftpd/metadata.xml50
-rw-r--r--net-ftp/proftpd/proftpd-1.3.5e.ebuild234
-rw-r--r--net-ftp/proftpd/proftpd-1.3.6.ebuild258
-rw-r--r--net-ftp/profxp/Manifest6
-rw-r--r--net-ftp/profxp/metadata.xml5
-rw-r--r--net-ftp/profxp/profxp-3_pre2-r2.ebuild45
-rw-r--r--net-ftp/pure-ftpd/Manifest12
-rw-r--r--net-ftp/pure-ftpd/files/pure-ftpd-1.0.28-pam.patch20
-rw-r--r--net-ftp/pure-ftpd/files/pure-ftpd-1.0.45-openssl-1.1.patch41
-rw-r--r--net-ftp/pure-ftpd/files/pure-ftpd.conf_d-390
-rw-r--r--net-ftp/pure-ftpd/files/pure-ftpd.rc1174
-rw-r--r--net-ftp/pure-ftpd/files/pure-ftpd.xinetd13
-rw-r--r--net-ftp/pure-ftpd/metadata.xml25
-rw-r--r--net-ftp/pure-ftpd/pure-ftpd-1.0.45-r1.ebuild137
-rw-r--r--net-ftp/pure-ftpd/pure-ftpd-1.0.46.ebuild136
-rw-r--r--net-ftp/pureadmin/Manifest6
-rw-r--r--net-ftp/pureadmin/files/pureadmin-0.4-gold.patch28
-rw-r--r--net-ftp/pureadmin/metadata.xml9
-rw-r--r--net-ftp/pureadmin/pureadmin-0.4-r1.ebuild62
-rw-r--r--net-ftp/pybootd/Manifest6
-rw-r--r--net-ftp/pybootd/files/pybootd-scripts.patch36
-rw-r--r--net-ftp/pybootd/metadata.xml9
-rw-r--r--net-ftp/pybootd/pybootd-1.5.0_pre20110524131526.ebuild27
-rw-r--r--net-ftp/qshare/Manifest6
-rw-r--r--net-ftp/qshare/files/qshare-2.1.5-desktop.patch16
-rw-r--r--net-ftp/qshare/metadata.xml8
-rw-r--r--net-ftp/qshare/qshare-2.1.5-r1.ebuild23
-rw-r--r--net-ftp/scythia/Manifest5
-rw-r--r--net-ftp/scythia/metadata.xml8
-rw-r--r--net-ftp/scythia/scythia-0.9.3_p2.ebuild38
-rw-r--r--net-ftp/tftp-hpa/Manifest10
-rw-r--r--net-ftp/tftp-hpa/files/in.tftpd.confd-0.4415
-rw-r--r--net-ftp/tftp-hpa/files/in.tftpd.rc619
-rw-r--r--net-ftp/tftp-hpa/files/tftp.service6
-rw-r--r--net-ftp/tftp-hpa/files/tftp.socket8
-rw-r--r--net-ftp/tftp-hpa/files/tftp.xinetd10
-rw-r--r--net-ftp/tftp-hpa/metadata.xml8
-rw-r--r--net-ftp/tftp-hpa/tftp-hpa-5.2-r1.ebuild55
-rw-r--r--net-ftp/tlswrap/Manifest10
-rw-r--r--net-ftp/tlswrap/files/fix-Wformat-security-warnings.patch67
-rw-r--r--net-ftp/tlswrap/files/modernize-am_init_automake.patch30
-rw-r--r--net-ftp/tlswrap/files/respect-cflags.patch66
-rw-r--r--net-ftp/tlswrap/files/tlswrap-1.04-libressl.patch16
-rw-r--r--net-ftp/tlswrap/files/tlswrap.init19
-rw-r--r--net-ftp/tlswrap/metadata.xml9
-rw-r--r--net-ftp/tlswrap/tlswrap-1.04-r3.ebuild38
-rw-r--r--net-ftp/tnftp/Manifest7
-rw-r--r--net-ftp/tnftp/metadata.xml9
-rw-r--r--net-ftp/tnftp/tnftp-20141104.ebuild31
-rw-r--r--net-ftp/tnftp/tnftp-20151004.ebuild31
-rw-r--r--net-ftp/vsftpd/Manifest31
-rw-r--r--net-ftp/vsftpd/files/vsftpd-2.1.0-caps.patch15
-rw-r--r--net-ftp/vsftpd/files/vsftpd-2.2.0-dont-link-caps.patch21
-rw-r--r--net-ftp/vsftpd/files/vsftpd-2.3.2-as-needed.patch13
-rw-r--r--net-ftp/vsftpd/files/vsftpd-2.3.2-kerberos.patch20
-rw-r--r--net-ftp/vsftpd/files/vsftpd-2.3.5-gentoo.patch207
-rw-r--r--net-ftp/vsftpd/files/vsftpd-3.0.0-Makefile.patch34
-rw-r--r--net-ftp/vsftpd/files/vsftpd-3.0.2-alpha.patch16
-rw-r--r--net-ftp/vsftpd/files/vsftpd-3.0.2-aslim.patch13
-rw-r--r--net-ftp/vsftpd/files/vsftpd-3.0.2-remove-legacy-cap.patch57
-rw-r--r--net-ftp/vsftpd/files/vsftpd-checkconfig.sh29
-rw-r--r--net-ftp/vsftpd/files/vsftpd.conf104
-rw-r--r--net-ftp/vsftpd/files/vsftpd.init50
-rw-r--r--net-ftp/vsftpd/files/vsftpd.logrotate4
-rw-r--r--net-ftp/vsftpd/files/vsftpd.service11
-rw-r--r--net-ftp/vsftpd/files/vsftpd.socket9
-rw-r--r--net-ftp/vsftpd/files/vsftpd.xinetd14
-rw-r--r--net-ftp/vsftpd/files/vsftpd_at.service10
-rw-r--r--net-ftp/vsftpd/metadata.xml12
-rw-r--r--net-ftp/vsftpd/vsftpd-2.3.5.ebuild114
-rw-r--r--net-ftp/vsftpd/vsftpd-3.0.2-r1.ebuild121
-rw-r--r--net-ftp/vsftpd/vsftpd-3.0.2-r2.ebuild131
-rw-r--r--net-ftp/vsftpd/vsftpd-3.0.2-r3.ebuild134
-rw-r--r--net-ftp/vsftpd/vsftpd-3.0.2-r4.ebuild134
-rw-r--r--net-ftp/vsftpd/vsftpd-3.0.2.ebuild117
-rw-r--r--net-ftp/vsftpd/vsftpd-3.0.3-r1.ebuild134
-rw-r--r--net-ftp/vsftpd/vsftpd-3.0.3.ebuild131
-rw-r--r--net-ftp/weex/Manifest7
-rw-r--r--net-ftp/weex/files/formatstring.patch11
-rw-r--r--net-ftp/weex/files/weex-2.6.1.5-va_list.patch23
-rw-r--r--net-ftp/weex/metadata.xml8
-rw-r--r--net-ftp/weex/weex-2.6.1.5-r1.ebuild31
-rw-r--r--net-ftp/yafc/Manifest5
-rw-r--r--net-ftp/yafc/metadata.xml8
-rw-r--r--net-ftp/yafc/yafc-1.3.7.ebuild49
202 files changed, 7787 insertions, 0 deletions
diff --git a/net-ftp/atftp/Manifest b/net-ftp/atftp/Manifest
new file mode 100644
index 000000000000..594c1ee10f0c
--- /dev/null
+++ b/net-ftp/atftp/Manifest
@@ -0,0 +1,19 @@
+AUX atftp-0.7-CFLAGS.patch 619 SHA256 56a9bdf1c4f9452db041fce1bc4c994e84ce44c6093ef48588f8d8bc93adaf24 SHA512 9227354689ea504f0500c244335a83d8a77dcb74c876ada1065c955f414e1f51e06dafcdb5d99f1fbb22036a074f9e46cada7378824d70f677ff6db931a35289 WHIRLPOOL 238a88f78637c21348af1e0c9c9e74b73bc63380297d810617c8cc2d90d5a3b29af213d01b401298771e89b9f04ca7bdbf8301eb5218db642c0d27027ecbec05
+AUX atftp-0.7-blockno.patch 5686 SHA256 f77661c92a66b95773a81f895e982ae65acbbef84c75b1ab8021e4dfb1bb64d1 SHA512 f91e7a7811a1a08268f2ca378eb4e473838e0c07c3cb8c6e6fec1e0e4e9068705451d8d0ae5f3d184a9455d5035bb656176fa3ed09b50fecb6c2d42e8dc73e1d WHIRLPOOL 99e2af2b35263131f0bc3d2a795e99ade0bd20000107931a512c84ea0029f98deb62f08392039c8d24cad88603a15bd55959883e189011248ee1c8092152a5c5
+AUX atftp-0.7-glibc24.patch 778 SHA256 d2bec90943b330db84cd6af089a67e476f45271d9f33095ef3fc281c83eb7ed5 SHA512 1000972a84d3462a0924a4189b240160a9ae5e1429365b329e0be582fdd6593611a59d3f7f955956269144f4c764bb378e04aecc5c18405d340f7cd60efb4e5a WHIRLPOOL cb0a9f32ca7a061683ad7d92dc4ee14d6aaed260b0071942bc6fb932640b8c2e8b5f04dccf9f8b7c87e26458da2980523db5be1eda9fe1d894548170e48f1bde
+AUX atftp-0.7-illreply.patch 382 SHA256 26c26743dd4282841df4bbf4be496809ed820925e2dfa1c0c19516050bbecd06 SHA512 42efdd402a6fb07bd02286afb41c8eb14d68595454e882a967e40453ec85e59214e635537ea8d580259f1bfdb0524bcaba29e8af321136c3e2d973f22b08b467 WHIRLPOOL 0bf037bfc1432018e809a905a08ac8ae23499f098de8b2df182b7d7fe5e86eb68a5a25f173f025885bc3ea2a0187ac91415228fb82a6c6ebca94f897f2758e17
+AUX atftp-0.7-password.patch 3906 SHA256 e56637318c9baa9e85525dc92c6be170713529af834a5bb6871238d374c0a365 SHA512 5f04d4d54aaf5f459e1aa87f56b3920fc039303f6c1c6d0f205bc1937b9c5263e5a51224838ee7aab1b73e0df6c312620caeba9dd2388e1b5b7bdf8253a56fc0 WHIRLPOOL b3d34b6168f381121e49dc918258695fa1e36c10fb82f495fb9d6f57e2659a71eccc42481deaf0cb9c1e5ef236d367d6a79676fa5251533b283a79e8073c4710
+AUX atftp-0.7-pcre.patch 661 SHA256 53cb989038e1c5520104c837cb086ffbb20afb6555f42782f78fd05bcea9f304 SHA512 773ecc9aa63a9ffb2774ca5454daf573813f988defa6e6f8e9f99cfcc88c7984632b6d1944994c2dd6426200057a552743b9c30d5c158f469a9a74b3cd0c5dff WHIRLPOOL c2a7a02db827070c98c013e7d380b6cb08a7ce87a4549bc8989e75dfc225dae054665354158eaca7ead1eecf9a3e12dcf55527bd185ead32f35732414945e6fb
+AUX atftp-0.7-spaced_filename.patch 2395 SHA256 0d93d85295d5e5ad79783b7e45e8c7f5ee061956adf1f160f5647fcb418bdac7 SHA512 f6b352105d40fd4de2b079e847c7e6230ebeef3d2c5568aa260f7c74b22962c168928b38a244e3784e6ba282b47ae09d28b572c36944360f5bf8d880d16aeb64 WHIRLPOOL e5726c0aaae31085099bf7bc33597732100d02e9bff390de2a1b51d7d2b8b6c4dff179ed1352199be4b748edfe08bd3dacbdc068ab34b68c82e21b22cb5832f6
+AUX atftp-0.7-tests.patch 582 SHA256 00e04546214265b0e9d03a0f8182837909825fef111e53a7b23d9e6a382a9d54 SHA512 93863aed523c9787f37b671caa894a92e864b009dd5c028066f7e10e50cefce955f3cf9a24ecc702c3ce572bd88fa6a47d524af08ecbaa6ff116487a68393ea8 WHIRLPOOL 001b1d907dc6d0a03a70d6e4c0a0f4f698098a02cc441bde1c7a18d13eae59bbce76727b5dffbe83222611636fe7d7fd550c0c98107717c441afc540c278dde5
+AUX atftp.confd 105 SHA256 a2dc012a0ecd94f27950901b18a54ecc744630da4c7cd8939b3f11be07685645 SHA512 cdbd63df16c2cee7491209de8ec44e05e10beccc6286cf7cb1c5dc7731c616d41bc94ce4d6c020b4ac8bb77b27956e9ee36d9b5703dcd3477e8b14927d154b91 WHIRLPOOL 85ea4d5e802b503740c6220c57dcc4c104d9015818f2a487e0e02338c634a3132134243273911615d3c7583a7bae3d2d24a77b866b1ee6ad0f34dd2e3d9b7db3
+AUX atftp.init 438 SHA256 ecd4c898bc508ebf031ba84b27f19345e4c3606c447bffd62ea35553286f4ec5 SHA512 b64f78658d2da17a4fe4237835c0a6a0cc59d0b7278e8f6f49673ffd8a97a9473e4773b43bcc70d312043ee4324d8105c50f0cfcf6055c0755ce598c9d7e5a23 WHIRLPOOL 9d1bd8a1d49dbdd3cd8b6a053e97ce365b1af49f66696eaf68a51542551f51634cf32c7927dde9534c3fefe53c5b0c659cfe77abe4a1e102e0108397e3123d45
+AUX atftp.service 233 SHA256 f7b7a98fa22df5b991efdb47cfc4ebd9e22e94d189a168143b7be6093a7249fb SHA512 533372c4863e39d6139ddc491c2b2b2051f1094a90d9854879f28bae7975c8dc997696318794cd1136f9cc542a8f418ad8361b87dd6b3455445d8528d2cc993a WHIRLPOOL e6bb1033fede9ac9dbb9f61af399f14a61b1c8cd7e7d6dad22618f55f8c2110e08792305a0dc476a73d8ce988841bd88426adf5ada03bee5eed7e241b3df93fc
+AUX atftp.service.conf 45 SHA256 a33d187f60ab600e78b88b9198096a4638b6216226a286a013a2731e7ad0d1fc SHA512 661befb6873eee6c0ed25fd5cb156e3d7c4ef801d2f58cda8df0f0c5fd851c7eb28089a9399529164c61505963e9d10143df2195d57ff66f85ad0e2750fbbd57 WHIRLPOOL cecfa44b85c55281b2f729b505f1bcc900345c1906872cc947a4bd540e5c09e5f7fcc6dd84004edc4434158747af56403fb1e50a965ff7ecc14a6400c222a19b
+DIST atftp-0.7.tar.gz 202234 SHA256 9c548c44d3cfdf259118d9fd4e468e1fe4567456dbff8ff59838c5f70ef62ea3 SHA512 81c51b613a640f7db4d26da0fb891bda345d11d3f39e0af37f393d2abf619094c1de83f92f04ac75367f546cc70e37d7d47c1535c241c941036fd4df7863a440 WHIRLPOOL 6af7ae6603ce44a17d5368c794c9e01b1bb03baa0406926ef35d9083dc77c57f9a7f3cfb9a5fb9231330f739f417c06a81089dd58f33c5d06682cdbef4be42bd
+DIST atftp_0.7-11.diff.gz 26055 SHA256 77accd1f5b5d4759fe9572f7a917c629e35692e484ac4dc6fd4415fe745036ff SHA512 28747f8f3ef2fc3b122361f682fe26ba93acf09b190f61efb3cfcbb6bdeef78cfe1348aeaf1699003a7e02586579be670d85b65baad1b1165a4bec9a9279adb5 WHIRLPOOL 9dc3678862d994810bdbfae2189c074345fa895dd8d2612dea155774abb804a3d7dee1465e4b0a2beec7a429440d0d971a3d67db57d43341b87f3533b72bea8a
+EBUILD atftp-0.7-r3.ebuild 1834 SHA256 55558c7674c28e58aa486b64aba065b093f7ae88879281e27ef926f92d8dd0e4 SHA512 a2cd6c88e1cabfbdfcc0829e8152132002a8f1695f11fbc80f576022470455a9f847316c79379e6e571fcec048c9f38e896f340a1945b0e45a0794c7968a51a2 WHIRLPOOL 11510365a2679b96ccd36793afc81fd190cd7c7c6b6e544a225d7c9949229ef2086d1917dde0cdf42e8e2bc7d16a3d3bc5e90fd4624b826310973a512e474849
+EBUILD atftp-0.7-r5.ebuild 1752 SHA256 29c21d7fe2f50d9407324b14e9e037d795043edc239e4f9287c50b26f98c32a1 SHA512 02813b38b258795a361c3cc69e57637c67e35867117fcdd1cf0442de13c240de7bcb1bb34e810dcff46ea796cb2ea53e8a6002d945f5c8849bd811d4d4e905a2 WHIRLPOOL 0573e71914844209d8ffdc735d0583f78852f8c80a641663b6a31ac83260605973fca9145e2d6eb8fedf53c6af4984d2666657982e1bc5170c8cb7b14c657c4a
+MISC ChangeLog 3293 SHA256 10b159295591b6c44c183d5af131dd02e911b7b8b485b7907623aabdba5bd146 SHA512 c05066fefbd7f0c46ec471aa851b818f5fee6b97993b7eb9d08f236ac1d94ea28e5858b2b7b4e65790d898bfe37b8becd3ad5b6e1be49ffa516912e62503efb8 WHIRLPOOL 07dc688f2875bf4e473ddf07db4f5fb0846c054605e054026332ef3b0ef096d19481f3a8cc97ab32edf50c4564f09b80eb70e089b5952d0a07a0bce48b7fc67a
+MISC ChangeLog-2015 6224 SHA256 8429fb5eb944ee77cbc9e5fa23cd03d18e2bd86a04b8d47241eb7c0a520e88ff SHA512 b5730c2f690fccf8531a1a21f9a9daad69ba19f7136915b35086a198ca15a025c8cdccb202273454c8cf53d6a9d71f443dfe5ad4fcee724a294de7d4148af1b6 WHIRLPOOL 4a18d219f9e487621f818a5c4eb8a55a2f8195b19be8be16c4b033a2df5abfa0f251e585929502bd9e056ea62f741669f164a8d20ca0c16dbbc6aa6a76f60f1b
+MISC metadata.xml 215 SHA256 ce3a50f663af586ec3cad6cd8f8dff2319275bbf99394b189091cb3e12bd4c48 SHA512 dfbc3b8198f877d6f858c9228f92e82926664db8f0f19cd6ba97ce06b52d93a998e78c44fd502f20bf249cd70d612f1c0bdc01c9d66ea8495c54dab399b62116 WHIRLPOOL 295667ce786c78e3357b52484c4183a5f773bfafb6a71b6d427056f465e03dfe045ab43766de9d52fd58ccfb52e29dd9a493ce17a805bbe278684623da9a6344
diff --git a/net-ftp/atftp/atftp-0.7-r3.ebuild b/net-ftp/atftp/atftp-0.7-r3.ebuild
new file mode 100644
index 000000000000..839def958f8e
--- /dev/null
+++ b/net-ftp/atftp/atftp-0.7-r3.ebuild
@@ -0,0 +1,71 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit eutils flag-o-matic systemd
+
+DEBIAN_PV="11"
+DEBIAN_A="${PN}_${PV}-${DEBIAN_PV}.diff.gz"
+
+DESCRIPTION="Advanced TFTP implementation client/server"
+HOMEPAGE="ftp://ftp.mamalinux.com/pub/atftp/"
+SRC_URI="ftp://ftp.mamalinux.com/pub/atftp/${P}.tar.gz
+ mirror://debian/pool/main/a/${PN}/${DEBIAN_A}"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 arm ppc ppc64 ~s390 sparc x86"
+IUSE="selinux tcpd readline pcre"
+
+DEPEND="tcpd? ( sys-apps/tcp-wrappers )
+ readline? ( sys-libs/readline )
+ pcre? ( dev-libs/libpcre )"
+RDEPEND="${DEPEND}
+ !net-ftp/netkit-tftp
+ !net-ftp/tftp-hpa
+ selinux? ( sec-policy/selinux-tftp )"
+
+src_prepare() {
+ epatch "${DISTDIR}"/${DEBIAN_A}
+ epatch "${FILESDIR}"/${P}-pcre.patch
+ epatch "${FILESDIR}"/${P}-password.patch
+ epatch "${FILESDIR}"/${P}-tests.patch
+ epatch "${FILESDIR}"/${P}-glibc24.patch
+ epatch "${FILESDIR}"/${P}-blockno.patch
+ epatch "${FILESDIR}"/${P}-spaced_filename.patch
+ epatch "${FILESDIR}"/${P}-illreply.patch
+ # remove upstream's broken CFLAGS
+ sed -i.orig -e \
+ '/^CFLAGS="-g -Wall -D_REENTRANT"/s,".*","",g' \
+ "${S}"/configure
+}
+
+src_configure() {
+ append-flags -D_REENTRANT -DRATE_CONTROL
+ econf \
+ $(use_enable tcpd libwrap) \
+ $(use_enable readline libreadline) \
+ $(use_enable pcre libpcre) \
+ --enable-mtftp
+}
+
+src_compile() {
+ emake CFLAGS="${CFLAGS}"
+}
+
+src_install() {
+ emake install DESTDIR="${D}"
+
+ newinitd "${FILESDIR}"/atftp.init atftp
+ newconfd "${FILESDIR}"/atftp.confd atftp
+
+ systemd_dounit "${FILESDIR}"/atftp.service
+ systemd_install_serviced "${FILESDIR}"/atftp.service.conf
+
+ dodoc README* BUGS FAQ Changelog INSTALL TODO
+ dodoc "${S}"/docs/*
+
+ docinto test
+ cd "${S}"/test
+ dodoc load.sh mtftp.conf pcre_pattern.txt test.sh test_suite.txt
+}
diff --git a/net-ftp/atftp/atftp-0.7-r5.ebuild b/net-ftp/atftp/atftp-0.7-r5.ebuild
new file mode 100644
index 000000000000..dae8d5d1d6d0
--- /dev/null
+++ b/net-ftp/atftp/atftp-0.7-r5.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit autotools flag-o-matic systemd
+
+DEBIAN_PV="11"
+DEBIAN_A="${PN}_${PV}-${DEBIAN_PV}.diff"
+
+DESCRIPTION="Advanced TFTP implementation client/server"
+HOMEPAGE="ftp://ftp.mamalinux.com/pub/atftp/"
+SRC_URI="ftp://ftp.mamalinux.com/pub/atftp/${P}.tar.gz
+ mirror://debian/pool/main/a/${PN}/${DEBIAN_A}.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 arm ppc ppc64 ~s390 sparc x86"
+IUSE="selinux tcpd readline pcre"
+
+DEPEND="tcpd? ( sys-apps/tcp-wrappers )
+ readline? ( sys-libs/readline:0= )
+ pcre? ( dev-libs/libpcre )"
+RDEPEND="${DEPEND}
+ !net-ftp/netkit-tftp
+ !net-ftp/tftp-hpa
+ selinux? ( sec-policy/selinux-tftp )"
+
+PATCHES=(
+ "${WORKDIR}/${DEBIAN_A}"
+ "${FILESDIR}/${P}-pcre.patch"
+ "${FILESDIR}/${P}-password.patch"
+ "${FILESDIR}/${P}-tests.patch"
+ "${FILESDIR}/${P}-glibc24.patch"
+ "${FILESDIR}/${P}-blockno.patch"
+ "${FILESDIR}/${P}-spaced_filename.patch"
+ "${FILESDIR}/${P}-illreply.patch"
+ "${FILESDIR}/${P}-CFLAGS.patch"
+)
+
+src_prepare() {
+ append-cppflags -D_REENTRANT -DRATE_CONTROL
+ # fix #561720 by restoring pre-GCC5 inline semantics
+ append-cflags -std=gnu89
+
+ default
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ $(use_enable tcpd libwrap) \
+ $(use_enable readline libreadline) \
+ $(use_enable pcre libpcre) \
+ --enable-mtftp
+}
+
+src_install() {
+ default
+
+ newinitd "${FILESDIR}"/atftp.init atftp
+ newconfd "${FILESDIR}"/atftp.confd atftp
+
+ systemd_dounit "${FILESDIR}"/atftp.service
+ systemd_install_serviced "${FILESDIR}"/atftp.service.conf
+
+ dodoc README* BUGS FAQ Changelog INSTALL TODO
+ dodoc "${S}"/docs/*
+
+ docinto test
+ cd "${S}"/test || die
+ dodoc load.sh mtftp.conf pcre_pattern.txt test.sh test_suite.txt
+}
diff --git a/net-ftp/atftp/files/atftp-0.7-CFLAGS.patch b/net-ftp/atftp/files/atftp-0.7-CFLAGS.patch
new file mode 100644
index 000000000000..566c1791c591
--- /dev/null
+++ b/net-ftp/atftp/files/atftp-0.7-CFLAGS.patch
@@ -0,0 +1,32 @@
+--- atftp-0.7/configure.ac
++++ atftp-0.7/configure.ac
+@@ -66,29 +66,6 @@
+ dnl Check for AIX
+ AC_AIX
+
+-CFLAGS="-g -Wall -D_REENTRANT"
+-
+-if test x$debug = xtrue; then
+- CFLAGS="$CFLAGS -O0 -DDEBUG"
+-else
+- if test -n "$auto_cflags"; then
+- if test -n "$GCC"; then
+- CFLAGS="$CFLAGS -g -O2 -Wall -Wno-implicit"
+- else
+- case "$host_os" in
+- *hpux*) CFLAGS="$CFLAGS +O3"
+- ;;
+- *ultrix* | *osf*) CFLAGS="$CFLAGS -O -Olimit 2000"
+- ;;
+- *) CFLAGS="$CFLAGS -O2"
+- ;;
+- esac
+- fi
+- else
+- CFLAGS="$CFLAGS -O2"
+- fi
+-fi
+-
+ AC_PROG_MAKE_SET
+ AC_PROG_INSTALL
+
diff --git a/net-ftp/atftp/files/atftp-0.7-blockno.patch b/net-ftp/atftp/files/atftp-0.7-blockno.patch
new file mode 100644
index 000000000000..6a3184f98bec
--- /dev/null
+++ b/net-ftp/atftp/files/atftp-0.7-blockno.patch
@@ -0,0 +1,136 @@
+--- atftp-0.7/tftp_file.c~ 2010-05-27 13:05:12.000000000 -0500
++++ atftp-0.7/tftp_file.c 2010-05-27 12:50:05.000000000 -0500
+@@ -133,19 +133,21 @@
+ int mcast_sockfd = 0;
+ struct sockaddr_in sa_mcast;
+ struct ip_mreq mreq;
+ struct hostent *host;
+ int master_client = 0;
+ unsigned int file_bitmap[NB_BLOCK];
+ int prev_bitmap_hole = -1; /* the previous hole found in the bitmap */
+ char string[MAXLEN];
++ int rx_block_number;
+
+ int prev_block_number = 0; /* needed to support netascii convertion */
+ int temp = 0;
++ size_t ignore;
+
+ data->file_size = 0;
+ tftp_cancel = 0;
+ from.sin_addr.s_addr = 0;
+
+ memset(&sa_mcast, 0, sizeof(struct sockaddr_in));
+ memset(&file_bitmap, 0, sizeof(file_bitmap));
+
+@@ -300,17 +302,17 @@
+ {
+ connect(sockfd, (struct sockaddr *)&sa, sizeof(sa));
+ connected = 1;
+ }
+ state = S_OACK_RECEIVED;
+ break;
+ case GET_ERROR:
+ fprintf(stderr, "tftp: error received from server <");
+- fwrite(tftphdr->th_msg, 1, data_size - 4 - 1, stderr);
++ ignore = fwrite(tftphdr->th_msg, 1, data_size - 4 - 1, stderr);
+ fprintf(stderr, ">\n");
+ state = S_ABORT;
+ break;
+ case GET_DATA:
+ number_of_timeout = 0;
+ /* if the socket if not connected, connect it */
+ if (!connected)
+ {
+@@ -513,21 +515,24 @@
+ state = S_WAIT_PACKET;
+ break;
+ case S_DATA_RECEIVED:
+ if ((multicast && master_client) || (!multicast))
+ timeout_state = S_SEND_ACK;
+ else
+ timeout_state = S_WAIT_PACKET;
+
+- block_number = ntohs(tftphdr->th_block);
++ rx_block_number = ntohs(tftphdr->th_block);
+ if (data->trace)
+ fprintf(stderr, "received DATA <block: %d, size: %d>\n",
+ ntohs(tftphdr->th_block), data_size - 4);
+
++ if ((uint16_t)rx_block_number == (uint16_t)(block_number+1))
++ ++block_number;
++
+ if (tftp_file_write(fp, tftphdr->th_data, data->data_buffer_size - 4, block_number,
+ data_size - 4, convert, &prev_block_number, &temp)
+ != data_size - 4)
+ {
+
+ fprintf(stderr, "tftp: error writing to file %s\n",
+ data->local_file);
+ tftp_send_error(sockfd, &sa, ENOSPACE, data->data_buffer,
+@@ -613,19 +618,21 @@
+ int connected; /* 1 when sockfd is connected */
+ struct tftphdr *tftphdr = (struct tftphdr *)data->data_buffer;
+ FILE *fp; /* the local file pointer */
+ int number_of_timeout = 0;
+ struct stat file_stat;
+ int convert = 0; /* if true, do netascii convertion */
+ char string[MAXLEN];
+
++ int ack_block_number;
+ int prev_block_number = 0; /* needed to support netascii convertion */
+ int prev_file_pos = 0;
+ int temp = 0;
++ size_t ignore;
+
+ data->file_size = 0;
+ tftp_cancel = 0;
+ from.sin_addr.s_addr = 0;
+
+ /* make sure the socket is not connected */
+ sa.sin_family = AF_UNSPEC;
+ connect(sockfd, (struct sockaddr *)&sa, sizeof(sa));
+@@ -759,20 +766,23 @@
+ case GET_ACK:
+ number_of_timeout = 0;
+ /* if the socket if not connected, connect it */
+ if (!connected)
+ {
+ //connect(sockfd, (struct sockaddr *)&sa, sizeof(sa));
+ connected = 1;
+ }
+- block_number = ntohs(tftphdr->th_block);
++ ack_block_number = ntohs(tftphdr->th_block);
++ if ((uint16_t)(block_number+1) == ack_block_number)
++ ++block_number;
+ if (data->trace)
+ fprintf(stderr, "received ACK <block: %d>\n",
+- block_number);
++ ack_block_number);
++
+ if ((last_block != -1) && (block_number > last_block))
+ {
+ state = S_END;
+ break;
+ }
+ state = S_SEND_DATA;
+ break;
+ case GET_OACK:
+@@ -782,17 +792,17 @@
+ {
+ //connect(sockfd, (struct sockaddr *)&sa, sizeof(sa));
+ connected = 1;
+ }
+ state = S_OACK_RECEIVED;
+ break;
+ case GET_ERROR:
+ fprintf(stderr, "tftp: error received from server <");
+- fwrite(tftphdr->th_msg, 1, data_size - 4 - 1, stderr);
++ ignore = fwrite(tftphdr->th_msg, 1, data_size - 4 - 1, stderr);
+ fprintf(stderr, ">\n");
+ state = S_ABORT;
+ break;
+ case GET_DISCARD:
+ /* consider discarded packet as timeout to make sure when don't lock up
+ if routing is broken */
+ number_of_timeout++;
+ fprintf(stderr, "tftp: packet discard <%s:%d>.\n",
diff --git a/net-ftp/atftp/files/atftp-0.7-glibc24.patch b/net-ftp/atftp/files/atftp-0.7-glibc24.patch
new file mode 100644
index 000000000000..195aec69b021
--- /dev/null
+++ b/net-ftp/atftp/files/atftp-0.7-glibc24.patch
@@ -0,0 +1,22 @@
+--- atftp-0.7/stats.c.org
++++ atftp-0.7/stats.c
+@@ -18,6 +18,7 @@
+
+ #include <limits.h>
+ #include <string.h>
++#include <unistd.h>
+ #include "tftp_def.h"
+ #include "stats.h"
+ #include "logger.h"
+@@ -157,8 +158,9 @@
+
+ logger(LOG_INFO, " Load measurements:");
++ long sc_clk_tck = sysconf(_SC_CLK_TCK);
+ logger(LOG_INFO, " User: %8.3fs Sys:%8.3fs",
+- (double)(s_stats.tms.tms_utime) / CLK_TCK,
+- (double)(s_stats.tms.tms_stime) / CLK_TCK);
++ (double)(s_stats.tms.tms_utime) / sc_clk_tck,
++ (double)(s_stats.tms.tms_stime) / sc_clk_tck);
+ logger(LOG_INFO, " Total:%8.3fs CPU:%8.3f%%",
+ (double)(tmp.tv_sec + tmp.tv_usec * 1e-6),
+ (double)(s_stats.tms.tms_utime + s_stats.tms.tms_stime) /
diff --git a/net-ftp/atftp/files/atftp-0.7-illreply.patch b/net-ftp/atftp/files/atftp-0.7-illreply.patch
new file mode 100644
index 000000000000..0f1cacd9b955
--- /dev/null
+++ b/net-ftp/atftp/files/atftp-0.7-illreply.patch
@@ -0,0 +1,12 @@
+*** atftp-0.7/tftp_def.old.c 2009-02-28 17:56:12.000000000 +0100
+--- atftp-0.7/tftp_def.c 2009-02-28 17:57:02.000000000 +0100
+***************
+*** 141,146 ****
+--- 141,147 ----
+ */
+ inline char *Strncpy(char *to, const char *from, size_t size)
+ {
++ if (size <= 0) { *to = '\000'; return to; }
+ to[size-1] = '\000';
+ return strncpy(to, from, size - 1);
+ }
diff --git a/net-ftp/atftp/files/atftp-0.7-password.patch b/net-ftp/atftp/files/atftp-0.7-password.patch
new file mode 100644
index 000000000000..26b59085dde5
--- /dev/null
+++ b/net-ftp/atftp/files/atftp-0.7-password.patch
@@ -0,0 +1,94 @@
+diff -Naur atftp-0.7.orig/tftp.c atftp-0.7/tftp.c
+--- atftp-0.7.orig/tftp.c 2004-03-15 18:55:56.000000000 -0500
++++ atftp-0.7/tftp.c 2005-08-29 21:40:06.000000000 -0400
+@@ -525,6 +525,10 @@
+ fprintf(stderr, " multicast: enabled\n");
+ else
+ fprintf(stderr, " multicast: disabled\n");
++ if (data.tftp_options[OPT_PASSWORD].specified)
++ fprintf(stderr, " password: enabled\n");
++ else
++ fprintf(stderr, " password: disabled\n");
+ return ERR;
+ }
+ /* if disabling an option */
+@@ -971,6 +975,7 @@
+ { "put", 0, NULL, 'p'},
+ { "local-file", 1, NULL, 'l'},
+ { "remote-file", 1, NULL, 'r'},
++ { "password", 1, NULL, 'P'},
+ { "tftp-timeout", 1, NULL, 'T'},
+ { "mode", 1, NULL, 'M'},
+ { "option", 1, NULL, 'O'},
+@@ -993,7 +998,7 @@
+ };
+
+ /* Support old argument until 0.8 */
+- while ((c = getopt_long(argc, argv, /*"gpl:r:Vh"*/ "gpl:r:Vht:b:sm",
++ while ((c = getopt_long(argc, argv, /*"gpl:r:Vh"*/ "gpl:r:Vht:b:smP:",
+ options, &option_index)) != EOF)
+ {
+ switch (c)
+@@ -1028,6 +1033,11 @@
+ else
+ action = PUT;
+ break;
++ case 'P':
++ snprintf(string, sizeof(string), "option password %s", optarg);
++ make_arg(string, &ac, &av);
++ process_cmd(ac, av);
++ break;
+ case 'l':
+ interactive = 0;
+ Strncpy(local_file, optarg, MAXLEN);
+@@ -1169,6 +1179,7 @@
+ " -p, --put : put file\n"
+ " -l, --local-file <file> : local file name\n"
+ " -r, --remote-file <file> : remote file name\n"
++ " -P, --password <password>: specify password (Linksys ext.)\n"
+ " --tftp-timeout <value> : delay before retransmission, client side\n"
+ #if 0
+ " t, --timeout <value> : delay before retransmission, "
+diff -Naur atftp-0.7.orig/tftp_def.c atftp-0.7/tftp_def.c
+--- atftp-0.7.orig/tftp_def.c 2004-02-12 22:16:09.000000000 -0500
++++ atftp-0.7/tftp_def.c 2005-08-29 21:36:57.000000000 -0400
+@@ -37,6 +37,7 @@
+ { "timeout", "5", 0, 1 }, /* 2348, 2349, 2090. */
+ { "blksize", "512", 0, 1 }, /* This is the default option */
+ { "multicast", "", 0, 1 }, /* structure */
++ { "password", "", 0, 1}, /* password */
+ { "", "", 0, 0}
+ };
+
+diff -Naur atftp-0.7.orig/tftp_def.h atftp-0.7/tftp_def.h
+--- atftp-0.7.orig/tftp_def.h 2004-02-12 22:16:09.000000000 -0500
++++ atftp-0.7/tftp_def.h 2005-08-29 20:16:27.000000000 -0400
+@@ -40,6 +40,7 @@
+ #define OPT_TIMEOUT 3
+ #define OPT_BLKSIZE 4
+ #define OPT_MULTICAST 5
++#define OPT_PASSWORD 6
+ #define OPT_NUMBER 7
+
+ #define OPT_SIZE 12
+diff -Naur atftp-0.7.orig/tftp_io.c atftp-0.7/tftp_io.c
+--- atftp-0.7.orig/tftp_io.c 2004-02-18 20:30:00.000000000 -0500
++++ atftp-0.7/tftp_io.c 2005-08-29 22:05:11.000000000 -0400
+@@ -70,10 +70,13 @@
+ break;
+ if (tftp_options[i].enabled && tftp_options[i].specified)
+ {
+- Strncpy(data_buffer + buf_index, tftp_options[i].option,
+- data_buffer_size - buf_index);
+- buf_index += strlen(tftp_options[i].option);
+- buf_index++;
++ if (i != OPT_PASSWORD)
++ {
++ Strncpy(data_buffer + buf_index, tftp_options[i].option,
++ data_buffer_size - buf_index);
++ buf_index += strlen(tftp_options[i].option);
++ buf_index++;
++ }
+ Strncpy(data_buffer + buf_index, tftp_options[i].value,
+ data_buffer_size - buf_index);
+ buf_index += strlen(tftp_options[i].value);
diff --git a/net-ftp/atftp/files/atftp-0.7-pcre.patch b/net-ftp/atftp/files/atftp-0.7-pcre.patch
new file mode 100644
index 000000000000..1f24b67471e2
--- /dev/null
+++ b/net-ftp/atftp/files/atftp-0.7-pcre.patch
@@ -0,0 +1,14 @@
+--- atftp-0.7/tftpd_pcre.c~ 2005-10-17 23:14:52.000000000 +0200
++++ atftp-0.7/tftpd_pcre.c 2005-10-17 23:14:52.000000000 +0200
+@@ -211,9 +211,9 @@
+ chp++; /* point to value indicating substring */
+ rc = pcre_get_substring(str, ovector, matches, *chp - 0x30, &tmpstr);
+ /* found string */
+- if (rc > 0)
++ if (rc > 0 && outchp - outstr + rc+1 < outsize)
+ {
+- Strncpy(outchp, tmpstr, rc);
++ Strncpy(outchp, tmpstr, rc+1);
+ outchp += rc;
+ pcre_free_substring(tmpstr);
+ continue;
diff --git a/net-ftp/atftp/files/atftp-0.7-spaced_filename.patch b/net-ftp/atftp/files/atftp-0.7-spaced_filename.patch
new file mode 100644
index 000000000000..da96d9f6b820
--- /dev/null
+++ b/net-ftp/atftp/files/atftp-0.7-spaced_filename.patch
@@ -0,0 +1,96 @@
+--- atftp-0.7/tftp.c~ 2010-06-03 08:51:14.000000000 -0500
++++ atftp-0.7/tftp.c 2010-06-03 09:40:56.000000000 -0500
+@@ -18,16 +18,17 @@
+ #include "config.h"
+
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
+ #include <unistd.h>
+ #include <getopt.h>
+ #include <string.h>
++#include <stdarg.h>
+
+ #include <sys/types.h>
+ #include <sys/socket.h>
+ #include <netinet/in.h>
+ #include <arpa/inet.h>
+ #include <netdb.h>
+
+ #include <signal.h>
+@@ -344,16 +345,41 @@
+
+ /* If no names matched, then return NULL. */
+ return NULL;
+ }
+ # endif
+ #endif
+
+ /*
++ * set argc/argv from variadic string arguments
++*/
++void make_arg_vector(int *argc, char***argv, ...)
++{
++ char **p;
++ char *s;
++ va_list argp;
++
++ // how many args?
++ *argc = 0;
++ va_start(argp, argv);
++ while ( (s=va_arg(argp, char*)) )
++ ++*argc;
++
++ // allocate storage
++ *argv = malloc(*argc * sizeof (char*));
++
++ // store args
++ p = *argv;
++ va_start(argp, argv);
++ while ( (s=va_arg(argp, char*)) )
++ *p++ = s;
++}
++
++/*
+ * Split a string into args.
+ */
+ void make_arg(char *string, int *argc, char ***argv)
+ {
+ static char *tmp = NULL;
+ size_t argz_len;
+
+ /* split the string to an argz vector */
+@@ -1142,30 +1168,26 @@
+ argv[optind+1]);
+ make_arg(string, &ac, &av);
+ process_cmd(ac, av);
+ }
+
+ if (!interactive)
+ {
+ if (action == PUT)
+- snprintf(string, sizeof(string), "put %s %s", local_file,
+- remote_file);
++ make_arg_vector(&ac,&av,"put",local_file,remote_file,NULL);
+ else if (action == GET)
+- snprintf(string, sizeof(string), "get %s %s", remote_file,
+- local_file);
++ make_arg_vector(&ac,&av,"get",remote_file,local_file,NULL);
+ else if (action == MGET)
+- snprintf(string, sizeof(string), "mget %s %s", remote_file,
+- local_file);
++ make_arg_vector(&ac,&av,"mget",remote_file,local_file,NULL);
+ else
+ {
+ fprintf(stderr, "No action specified in batch mode!\n");
+ exit(ERR);
+ }
+- make_arg(string, &ac, &av);
+ if (process_cmd(ac, av) == ERR)
+ exit(ERR);
+ }
+ return OK;
+ }
+
+ void tftp_usage(void)
+ {
diff --git a/net-ftp/atftp/files/atftp-0.7-tests.patch b/net-ftp/atftp/files/atftp-0.7-tests.patch
new file mode 100644
index 000000000000..9e087950e659
--- /dev/null
+++ b/net-ftp/atftp/files/atftp-0.7-tests.patch
@@ -0,0 +1,23 @@
+diff -Naur atftp-0.7.orig/test/test.sh atftp-0.7/test/test.sh
+--- atftp-0.7.orig/test/test.sh 2003-04-28 21:59:51.000000000 -0400
++++ atftp-0.7/test/test.sh 2005-10-26 22:42:15.000000000 -0400
+@@ -151,7 +151,7 @@
+ test_blocksize 1428
+ test_blocksize 16000
+ test_blocksize 64000
+-test_blocksize 65465
++test_blocksize 65464
+
+ #
+ # testing fot tsize
+@@ -162,9 +162,9 @@
+ TSIZE=`grep "OACK <tsize:" out | sed -e "s/[^0-9]//g"`
+ if [ "$TSIZE" != "2048" ]; then
+ echo "ERROR (server report $TSIZE bytes but it should be 2048)"
++ ERROR=1
+ else
+ echo "OK"
+- ERROR=1
+ fi
+
+ #
diff --git a/net-ftp/atftp/files/atftp.confd b/net-ftp/atftp/files/atftp.confd
new file mode 100644
index 000000000000..a46a7047dbb6
--- /dev/null
+++ b/net-ftp/atftp/files/atftp.confd
@@ -0,0 +1,4 @@
+# Config file for tftp server
+
+TFTPD_ROOT="/tftproot"
+TFTPD_OPTS="--daemon --user nobody --group nobody"
diff --git a/net-ftp/atftp/files/atftp.init b/net-ftp/atftp/files/atftp.init
new file mode 100644
index 000000000000..8ab499127ba4
--- /dev/null
+++ b/net-ftp/atftp/files/atftp.init
@@ -0,0 +1,28 @@
+#!/sbin/openrc-run
+
+depend() {
+ use logger
+ need net
+}
+
+checkconfig() {
+ if [ ! -d ${TFTPD_ROOT} ]
+ then
+ eerror "You need a tftp root directory"
+ return 1
+ fi
+}
+
+start() {
+ checkconfig || return 1
+ ebegin "Starting tftpd"
+ start-stop-daemon --start --quiet --exec /usr/sbin/in.tftpd \
+ -- ${TFTPD_OPTS} ${TFTPD_ROOT}
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping tftpd"
+ start-stop-daemon --stop --quiet --exec /usr/sbin/in.tftpd
+ eend $?
+}
diff --git a/net-ftp/atftp/files/atftp.service b/net-ftp/atftp/files/atftp.service
new file mode 100644
index 000000000000..e6570f63445c
--- /dev/null
+++ b/net-ftp/atftp/files/atftp.service
@@ -0,0 +1,9 @@
+[Unit]
+Description=Advanced TFTP implementation client/server
+After=syslog.target network.target
+
+[Service]
+ExecStart=/usr/sbin/atftpd --daemon --no-fork --user nobody --group nobody $TFTPD_ROOT
+
+[Install]
+WantedBy=multi-user.target
diff --git a/net-ftp/atftp/files/atftp.service.conf b/net-ftp/atftp/files/atftp.service.conf
new file mode 100644
index 000000000000..d8aa19abe32f
--- /dev/null
+++ b/net-ftp/atftp/files/atftp.service.conf
@@ -0,0 +1,2 @@
+[Service]
+Environment="TFTPD_ROOT=/tftproot"
diff --git a/net-ftp/atftp/metadata.xml b/net-ftp/atftp/metadata.xml
new file mode 100644
index 000000000000..cf1190698b2e
--- /dev/null
+++ b/net-ftp/atftp/metadata.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="person">
+<email>klausman@gentoo.org</email>
+</maintainer>
+</pkgmetadata>
diff --git a/net-ftp/axyftp/Manifest b/net-ftp/axyftp/Manifest
new file mode 100644
index 000000000000..c2e5c648feaf
--- /dev/null
+++ b/net-ftp/axyftp/Manifest
@@ -0,0 +1,6 @@
+AUX axyftp-0.5.1-built-in-function-exit.patch 725 SHA256 85ec22ec49351c8463ef3a98028cd27bd32983ce77744de4a486d036bbf6c4ac SHA512 0b8a748d94b8fbfa1e7ca070b52cb60a79dad0eb52d1ebdd84be3f845cde57c7f5e43b89fbff10ff0791ada02f9c146f0ea679b89ab614ecfe676c7335375273 WHIRLPOOL 6108b2cfb4909329dc3cd5641a8aa4d049c394a43bf069e0444599cf163f9962b01158efc313c202e426411eacedbf36dcec5094c72d9875bcfe91db3c9142e1
+DIST axyftp-0.5.1.tar.gz 518736 SHA256 f35735393de275b6bed3070fc879791014961e3ec16f0305397759df60ebef89 SHA512 b818537dd8aff34996bdbc770ee01f5927d0c8be05ff5b1220fc72741c07a141cc41c86432c0da60ca3289f34fc5f516c4b35fcf20178efa7c7e96f1d84477b7 WHIRLPOOL 33419bc93945291669f311dd2a90303ab67432baa862f48595da8f86d6824ed9c786f9850cbc7096bdd47ad9e0d8b077213666feeabd4b6e43dfb5e82edf9bfe
+EBUILD axyftp-0.5.1-r2.ebuild 902 SHA256 7b78ab8f44f7d0b570a6f334048a2ab8e1d22754010a5d5afa4b8561fb8b8347 SHA512 a714a8359b10f73667f2102e1cf6c8770f3cb28a42f45d12f6eb851872105eacaa73597e947dafde1f4ed4e3b596b58c1402456196f4a45e224d94e768006dd5 WHIRLPOOL 47bf2869709c29cf8fa5a5abbdf98ee26705a62cd5a237aa0f44f50178ed9bf9b262570a6dae4e9e43ed5420389202df62aefc17e6f4102b546d7703e60c5b5e
+MISC ChangeLog 2574 SHA256 cac8e8a4f28b24f8253746a1273ad1c4d7b11be8b60f1f94bca2ccd00fcf9955 SHA512 ecc98fa8058f88b012fca7d4fd151318e8275cc745882c6b66a12b7fffa63e600f3e8398351aa2c82c390674c06b46d5b471987c6639cb312933c9b7f36367a5 WHIRLPOOL 4a8bddf4dd20dd1702ae50ebd67a9c2fa550e7666cfd2087f0fb0c557702cc0b774587fe3ccb871a99ef01c9ccbd94516ee5f70c4563d2b03fcfbeead6bb4588
+MISC ChangeLog-2015 1546 SHA256 52306fe0d1d304dbbe28ebc170a647abf1bc300fc8f030a5e1a81008aa8e007e SHA512 f7a04e3a2371f89984e5c81c4d9d62d2d1267f822520dd5bea07edb10fec9f3980d824609189c38173e7bd7e6a33de6aa1c7f6e1eed47349eb152591d40e50ac WHIRLPOOL 1916d75991f750259a95bdc3463df97d1e0cdd0f3f6f8d415e18441248bd1a4a7055f1438d1dd81452be36c3f5095637751c10432022d266387f97204c42b765
+MISC metadata.xml 240 SHA256 8941543a73b2109260a792e4a732dcf6ef7320ee42c4f63dd60c7ff21a1c9ad9 SHA512 5a1895a23b9d1f47a8c59c55fa81175f06a9a7d92c892e686fc3cfdd57467d432d8fc2b63b4b45adac8b1e4d76047fe5c66fbf88f475e67d039d9ed3a2c3fd7c WHIRLPOOL 2bc7d6ee0b6fa105f1b642e49ac5f06e79d63227ce652951330f8db28251ce240aedd84bea51a9cba3fc28b811ec0388d9d5191b72e348babe112047ac605f63
diff --git a/net-ftp/axyftp/axyftp-0.5.1-r2.ebuild b/net-ftp/axyftp/axyftp-0.5.1-r2.ebuild
new file mode 100644
index 000000000000..f25ebe2821cc
--- /dev/null
+++ b/net-ftp/axyftp/axyftp-0.5.1-r2.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit eutils
+
+DESCRIPTION="GUI FTP client for X Window System (former WXftp)"
+HOMEPAGE="http://freecode.com/projects/axyftp/ http://www.wxftp.seul.org"
+SRC_URI="http://www.wxftp.seul.org/download/${P}.tar.gz"
+
+LICENSE="Artistic LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE=""
+
+RDEPEND=">=x11-libs/motif-2.3:0
+ x11-libs/libXt
+ x11-libs/libX11
+ x11-libs/libXpm
+ x11-libs/libXaw"
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-built-in-function-exit.patch
+}
+
+src_configure(){
+ econf --with-help=/usr/share/doc/${PF}/html \
+ --with-gui=motif
+}
+
+src_compile() {
+ emake -j1
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+ dodoc CHANGES README TODO
+ newicon icons/${PN}-ball64.xpm ${PN}.xpm
+ make_desktop_entry ${PN} "AxY FTP" ${PN} "Network;FileTransfer;Motif"
+}
diff --git a/net-ftp/axyftp/files/axyftp-0.5.1-built-in-function-exit.patch b/net-ftp/axyftp/files/axyftp-0.5.1-built-in-function-exit.patch
new file mode 100644
index 000000000000..8937114251e3
--- /dev/null
+++ b/net-ftp/axyftp/files/axyftp-0.5.1-built-in-function-exit.patch
@@ -0,0 +1,18 @@
+diff -ur axyftp-0.5.1.orig/src/buttonbar.c axyftp-0.5.1/src/buttonbar.c
+--- axyftp-0.5.1.orig/src/buttonbar.c 2000-01-17 21:50:04.000000000 +0200
++++ axyftp-0.5.1/src/buttonbar.c 2008-01-17 15:46:22.000000000 +0200
+@@ -1,4 +1,5 @@
+ /* Copyright (c) 1998 Alexander Yukhimets. All rights reserved. */
++#include<stdlib.h>
+ #include"axyftp.h"
+ #include"utils.h"
+ #include"multi.h"
+diff -ur axyftp-0.5.1.orig/src/utils.c axyftp-0.5.1/src/utils.c
+--- axyftp-0.5.1.orig/src/utils.c 2000-01-17 22:03:59.000000000 +0200
++++ axyftp-0.5.1/src/utils.c 2008-01-17 15:45:51.000000000 +0200
+@@ -1,4 +1,5 @@
+ /* Copyright (c) 1998 Alexander Yukhimets. All rights reserved. */
++#include<stdlib.h>
+ #include<string.h>
+ #include<stdio.h>
+
diff --git a/net-ftp/axyftp/metadata.xml b/net-ftp/axyftp/metadata.xml
new file mode 100644
index 000000000000..8d7df8a51210
--- /dev/null
+++ b/net-ftp/axyftp/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-needed -->
+ <upstream>
+ <remote-id type="freecode">axyftp</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/net-ftp/cmdftp/Manifest b/net-ftp/cmdftp/Manifest
new file mode 100644
index 000000000000..743ca6149010
--- /dev/null
+++ b/net-ftp/cmdftp/Manifest
@@ -0,0 +1,5 @@
+DIST cmdftp-0.9.8.tar.gz 145985 SHA256 e769f06bf81473edd88ab006bb38607f5dec0e277306b612dd80d4d4c655b45d SHA512 8c8bb670988c439838493f1c6d31e47ae01e3fd6a1521602267dc8cb8dcc6ed18605277bdbf22a06b3af61e33a676ff3f188648f54af5d0839c7039eaab6b262 WHIRLPOOL 48fae2d047cfc074742fda9a40e10624343b9233f9e75dfde796099d56fd60555e34ee41b83328a7c34e5908dd0035588f0e20292f6ced94c6f6d5d7afe3e8ac
+EBUILD cmdftp-0.9.8.ebuild 470 SHA256 0629c719c13793b39bac26ae7ad69371e9d096e887201bc0086a2b5344781c07 SHA512 bb02f80475154839e0f509b145c718ae12bd9188b7f55134f4be75fbfd066e2196656564be3f972d5abac8ecb41b3df6439f5c07ed6e9f2e54a64fb931d90a95 WHIRLPOOL 68227cbd3e46396aa0402b505522bf814f2a74a2b0392963f91e508dfc17cc9d6b9abaa5d06db4f9bef2975f3a207d53d44b5f0f5bdca68ab66074b742ff7cb5
+MISC ChangeLog 2557 SHA256 756ddbcaa93e847a1542e0e8db377db09cfb2a787c86bd73f1374296282bb9e1 SHA512 6c2da89a26bcb229c2694a7079eb0c008bd76957bd47ff4ddf54d3aaf48fec1c434d983c1fb16197321b9e122903666deff28f766b3512d568c54ed8bd9e8b71 WHIRLPOOL 3af724856f549044731d0982b3e6a35fd13753b18d15b4d7142089147a686b6f07a328180731ce9897a897252a74fb3484b265b95fc6bce995414da019924f8e
+MISC ChangeLog-2015 1427 SHA256 bea937a44c718dd21d2923ca57bcc548eb157680c3f23cbee96590526f9d5cfe SHA512 79278c933026e9551b8dbd33ae0e2aeec7e40a4604bdb7b046c24ac4b1ef94e113a2ddcb78a8ffbb0468935cd211398bae7028d5a96006fcc29b481d15f69ec4 WHIRLPOOL cce0495dbb5b3b103e2f4fc787b08843f0a2c2c0e786cc39e7152c6dde116a690036a357098a69118ecba3428b51cb3fc3c00bc57da0fda3a0a58130681796fa
+MISC metadata.xml 293 SHA256 cd72631ef409f2724e00c6fd32b2174daacaf11f933bd3286c4ebc6d86a2292e SHA512 01e38ab096f216f988b87309b37964f88d2856e0d4d7618598350e0184bdf4f6507fcdb57ddba37831a6ad85ccf51d4e6aa20571472eb3d0be1b21a61a508f9e WHIRLPOOL 2f4e91151b23a50c9f1a2b8154601686599df4c58b6c797eda86af9bb005ade00485c28ef5ee4564a95a8f44755939c857115e0b4f5ebae88fb8b8437723e18f
diff --git a/net-ftp/cmdftp/cmdftp-0.9.8.ebuild b/net-ftp/cmdftp/cmdftp-0.9.8.ebuild
new file mode 100644
index 000000000000..5f78333248ab
--- /dev/null
+++ b/net-ftp/cmdftp/cmdftp-0.9.8.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+DESCRIPTION="Light weight, yet robust command line FTP client with shell-like
+functions."
+HOMEPAGE="https://savannah.nongnu.org/projects/cmdftp/"
+SRC_URI="mirror://nongnu/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 x86 ~x86-fbsd"
+IUSE=""
+
+DEPEND=""
+RDEPEND=""
+
+DOCS=( NEWS README AUTHORS )
+
+src_configure() {
+ econf --enable-largefile
+}
diff --git a/net-ftp/cmdftp/metadata.xml b/net-ftp/cmdftp/metadata.xml
new file mode 100644
index 000000000000..88ccef8f8274
--- /dev/null
+++ b/net-ftp/cmdftp/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<!-- maintainer-needed -->
+<longdescription lang="en">
+ Light weight, yet robust command line FTP client with shell-like
+ functions.
+</longdescription>
+</pkgmetadata>
diff --git a/net-ftp/filezilla/Manifest b/net-ftp/filezilla/Manifest
new file mode 100644
index 000000000000..a5f21fecbc04
--- /dev/null
+++ b/net-ftp/filezilla/Manifest
@@ -0,0 +1,7 @@
+AUX filezilla-3.22.1-debug.patch 349 SHA256 fac9a1d419ccfd269954819224655cb4a3fb44f219d36e4886b35105bbfb6660 SHA512 009946fbb676698e404b1c91bb6b14767234751cbecb7faa097692b382a65af7ab31b54f1aac81fdb72c1492db4698d24f5fa9b1966f69bffa1f4b6073283e00 WHIRLPOOL bb6cddef037ddb3b331448c1bd2b6acf820002ff737bfffe50309d9cac8e9dd69e29162695d2f803ccdf24da9ef4fc6b8ef0b475fd9916727b0602ac1d6dfee9
+DIST FileZilla_3.25.2_src.tar.bz2 4712781 SHA256 559b0adbc1aff862dddbce95ed8a4a854c7a255b1de79efba9eabe459381aacd SHA512 6c6feeec0b1bd15ff2c3fecbec22bca9c79f4263e0d1855c6d27a3df54128cfd837f0a546d1540b87b4645e620b57961b8ac0f01bd52748832f5625139c39764 WHIRLPOOL 68bb9fab223af9fdb4a80a14424286c2a1fa28d55393c5ed387ce5b546fc422ca97ced10b81885faab4eb9b29980874b8b7b11ee265b0df0fa50df6c299d0dc8
+EBUILD filezilla-3.25.2-r1.ebuild 1679 SHA256 71630c3a9ef09fcf54246f2664dec5b2a29b8a08b952af5e9e54d2a1c308b501 SHA512 dff45fc13c5b7684c7f4798bde7d99cc6fab20a10d36474db7987b2753f06fd30032d2ce73077b14814e10441c955f1d137e7e8f9f0692f929e92fc243b27e65 WHIRLPOOL afc849ef35f38fa1547ddf412019ace72bbd776b6ee51ea349b53033d25a96fea8dd197cb71a301dd5e03bd5e6904a180b88ab5eb87cfa39c07a9d3e16be055a
+EBUILD filezilla-3.25.2.ebuild 1662 SHA256 54ee2be6178f762ec75419fbb1f099fd3636e95358c6eca15596160f2d16ca50 SHA512 e541d8b29ae7a8b66deaa72a4f489b2d863014fe1f834231e87c19a1265ab691372863d74cf83e98ab511f379d6a480bb9a76e6b04a9e6796c6fc0a0c3b2645d WHIRLPOOL 5cf3f17459159053a300a52bcb9e446e18e0ccd96fe3be1d0eef943713187d16db527e930d8e7376bf5b883bee7e90580df57fdb6e902abbd932971b4f5ca1ef
+MISC ChangeLog 12446 SHA256 81b108e0a42b8e212c0ad5b74e18ffbe811b501c90e5a56291f4d606014b4b5d SHA512 e2fa6a319bd4c4206db64cd4b9a4a7118431d5365fbde2cb1627f8853679981b634b891e2b96899c880860adfa7645f4b8ebcc80a3b56e032cca42f5bc5f0ac2 WHIRLPOOL 1d08602430c36bd6811230d1b417d38c0f3145ecfb05c2ec5edbb54c83c02502796be4b95675554fb53df8c785dd2fb9650b468d59d56fa53ca94a8c3d4e1cea
+MISC ChangeLog-2015 22808 SHA256 9bd2cbd573a2fe8c472b0b0eb99583fd41299af255413a8b0caabf3636f9ab91 SHA512 83b36aa66a84ba9e1c86e185c585b313491d0b71fb03e6cce86201263e9541382086f4e31bd78418b12beba75e9ae83ae8e2914d6df1d107e8da3291b003aa95 WHIRLPOOL 6910a733c6b25f7631b576e9008f30bc682fefb6431ed14d5b74a66c2b08fb5ce69406f37aea1fef3bc1b96c467af8d6e32b9cd03b20ec1e6f1f403dbb6633e9
+MISC metadata.xml 562 SHA256 c0410f8efa9743d304eb8bdc4f958d794c68ca780684063e95f630707f6d5bf9 SHA512 a69afbf6f03dec20a4ec61e39bcfbc964e09e0d74496b383a348764a61d83e54fea2cd715a4bcc239ca0f3ed0c2e1c5d46dcfeb99f7cc4feea488663a0931544 WHIRLPOOL 4d001568118d394632f5aabf820cf961e654baa8451fa4b8524d58248f939b3554cc1212ae41f953432a225236fc38cb4e4791fc8f8615acd428e03e98331a06
diff --git a/net-ftp/filezilla/files/filezilla-3.22.1-debug.patch b/net-ftp/filezilla/files/filezilla-3.22.1-debug.patch
new file mode 100644
index 000000000000..71430db1c79e
--- /dev/null
+++ b/net-ftp/filezilla/files/filezilla-3.22.1-debug.patch
@@ -0,0 +1,12 @@
+--- filezilla-3.22.1/configure.ac
++++ filezilla-3.22.1/configure.ac
+@@ -36,9 +36,7 @@
+
+ if test "X$GCC" = Xyes; then
+ AX_APPEND_FLAG(-Wall, CFLAGS)
+- AX_APPEND_FLAG(-g, CFLAGS)
+ AX_APPEND_FLAG(-Wall, CXXFLAGS)
+- AX_APPEND_FLAG(-g, CXXFLAGS)
+ fi
+
+ # Do this early: Compiler and linker flags to work around a nasty bug in Xcode.
diff --git a/net-ftp/filezilla/filezilla-3.25.2-r1.ebuild b/net-ftp/filezilla/filezilla-3.25.2-r1.ebuild
new file mode 100644
index 000000000000..27a892849dad
--- /dev/null
+++ b/net-ftp/filezilla/filezilla-3.25.2-r1.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+WX_GTK_VER="3.0-gtk3"
+
+inherit autotools eutils flag-o-matic multilib wxwidgets
+
+MY_PV=${PV/_/-}
+MY_P="FileZilla_${MY_PV}"
+
+DESCRIPTION="FTP client with lots of useful features and an intuitive interface"
+HOMEPAGE="http://filezilla-project.org/"
+SRC_URI="mirror://sourceforge/${PN}/${MY_P}_src.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ia64 ~ppc ~x86"
+IUSE="dbus nls test"
+
+# pugixml 1.7 minimal dependency is for c++11 proper configuration
+RDEPEND=">=app-eselect/eselect-wxwidgets-0.7-r1
+ >=dev-libs/nettle-3.1:=
+ >=dev-db/sqlite-3.7
+ >=dev-libs/libfilezilla-0.9.1
+ >=dev-libs/pugixml-1.7
+ net-dns/libidn
+ >=net-libs/gnutls-3.4.0
+ >=x11-libs/wxGTK-3.0.2.0-r1:${WX_GTK_VER}[X]
+ x11-misc/xdg-utils
+ dbus? ( sys-apps/dbus )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ >=sys-devel/libtool-1.4
+ nls? ( >=sys-devel/gettext-0.11 )
+ test? ( dev-util/cppunit )"
+
+S="${WORKDIR}"/${PN}-${MY_PV}
+
+DOCS=(AUTHORS ChangeLog NEWS )
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.22.1-debug.patch
+)
+
+pkg_pretend() {
+ if [[ ${MERGE_TYPE} != binary ]]; then
+ if ! test-flag-CXX -std=c++14; then
+ eerror "${P} requires C++14-capable C++ compiler. Your current compiler"
+ eerror "does not seem to support -std=c++14 option. Please upgrade your compiler"
+ eerror "to gcc-4.9 or an equivalent version supporting C++14."
+ die "Currently active compiler does not support -std=c++14"
+ fi
+ fi
+}
+
+src_prepare() {
+ setup-wxwidgets
+ default
+ eautoreconf
+}
+
+src_configure() {
+ econf $(use_with dbus) $(use_enable nls locales) \
+ --with-pugixml=system \
+ --disable-autoupdatecheck
+}
diff --git a/net-ftp/filezilla/filezilla-3.25.2.ebuild b/net-ftp/filezilla/filezilla-3.25.2.ebuild
new file mode 100644
index 000000000000..9273ca52e53c
--- /dev/null
+++ b/net-ftp/filezilla/filezilla-3.25.2.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+WX_GTK_VER="3.0"
+
+inherit autotools eutils flag-o-matic multilib wxwidgets
+
+MY_PV=${PV/_/-}
+MY_P="FileZilla_${MY_PV}"
+
+DESCRIPTION="FTP client with lots of useful features and an intuitive interface"
+HOMEPAGE="http://filezilla-project.org/"
+SRC_URI="mirror://sourceforge/${PN}/${MY_P}_src.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~ia64 ~ppc x86"
+IUSE="dbus nls test"
+
+# pugixml 1.7 minimal dependency is for c++11 proper configuration
+RDEPEND=">=app-eselect/eselect-wxwidgets-0.7-r1
+ >=dev-libs/nettle-3.1:=
+ >=dev-db/sqlite-3.7
+ >=dev-libs/libfilezilla-0.9.1
+ >=dev-libs/pugixml-1.7
+ net-dns/libidn
+ >=net-libs/gnutls-3.4.0
+ >=x11-libs/wxGTK-3.0.2.0-r1:3.0[X]
+ x11-misc/xdg-utils
+ dbus? ( sys-apps/dbus )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ >=sys-devel/libtool-1.4
+ nls? ( >=sys-devel/gettext-0.11 )
+ test? ( dev-util/cppunit )"
+
+S="${WORKDIR}"/${PN}-${MY_PV}
+
+DOCS=(AUTHORS ChangeLog NEWS )
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.22.1-debug.patch
+)
+
+pkg_pretend() {
+ if [[ ${MERGE_TYPE} != binary ]]; then
+ if ! test-flag-CXX -std=c++14; then
+ eerror "${P} requires C++14-capable C++ compiler. Your current compiler"
+ eerror "does not seem to support -std=c++14 option. Please upgrade your compiler"
+ eerror "to gcc-4.9 or an equivalent version supporting C++14."
+ die "Currently active compiler does not support -std=c++14"
+ fi
+ fi
+}
+
+src_prepare() {
+ setup-wxwidgets
+ default
+ eautoreconf
+}
+
+src_configure() {
+ econf $(use_with dbus) $(use_enable nls locales) \
+ --with-pugixml=system \
+ --disable-autoupdatecheck
+}
diff --git a/net-ftp/filezilla/metadata.xml b/net-ftp/filezilla/metadata.xml
new file mode 100644
index 000000000000..13541a402eae
--- /dev/null
+++ b/net-ftp/filezilla/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>voyageur@gentoo.org</email>
+ <name>Bernard Cafarelli</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>polynomial-c@gentoo.org</email>
+ <name>Lars Wendler</name>
+ </maintainer>
+ <longdescription lang="en">
+ The native linux ftp/sftp client GUI built on wxGTK
+</longdescription>
+ <upstream>
+ <remote-id type="sourceforge">filezilla</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/net-ftp/frox/Manifest b/net-ftp/frox/Manifest
new file mode 100644
index 000000000000..304adb1badc4
--- /dev/null
+++ b/net-ftp/frox/Manifest
@@ -0,0 +1,10 @@
+AUX 0.7.18-netfilter-includes.patch 552 SHA256 d26a9a193e8727229994ff7154a09c8fe7581759559bb1b18cdbbe62176e5494 SHA512 3dbed66a3602736f881ca993b416731112bcdd9885f9b9f8d05f573e748dcbd43d118f3b97d4689ad17695e52d6c7e94e2e72e04921f19ec4af181f16e9361aa WHIRLPOOL 63e17c3a3a884556824e78480be84563f66adf7c1e49f83f4d245d26066e1cf3f9050a2c5829a9fd1c61082f582ef9eb041cf2850face16446a80a270ec66796
+AUX 0.7.18-respect-CFLAGS.patch 332 SHA256 56fa31f3bfbb2f6288a3cb7742a36cecd42df103d6952d033f87c086185012a8 SHA512 88c6efab38aaf9cf58e77d4c6f677f66920f9a48fcd964ac4e02a471a805b41ad85949bc7134eff715254235be77b8056f03d031dcf310fd883c37eb820942b3 WHIRLPOOL 4359a285ea382a38716ec71f90527fe6b1a92f25193b59f49f69048774645bd4a5ba7dcd71f6f8cd8207b0b5ec42ef125b41533053aa5370c6f794ed792f3195
+AUX frox-0.7.18-config.patch 1960 SHA256 dd6b2bd265d20b569c4b897d66f5b1317b4642998a454e7889fc458c1f6dbd5a SHA512 69210560adaa38cc94960f4e76ba4ae9f20b5044c0d3d84e835a107554ae3f5315f9463c7730ada716c63615cab782d140e8df8c2b9f9bcf6e844a7bd7033666 WHIRLPOOL e398ec03ffa3fad930a5cb4b8238b234ee5aa565b5cb8faa43fce4a96b5da42befe7a9079321001294304e531c9eacd188b6df46334b8ddd7f072d392ec3f8ef
+AUX frox.initd 873 SHA256 aac2cb2d7f4b613686318b84e3a45d2f0f92f3e5dc814166a6a2a77352175faa SHA512 26bc18f28cf46184b0c387196958f9236ec0cd70fe43ac8b18de66e69c42d73087ed5063f3ecc1b1d5c0880b2047293403e4cfbb15f5a23ca5d6fc521021f364 WHIRLPOOL fce893804a29ccc48a3c7a4be337b07369b36934f08ce89c060538d02de9a12366a08a8d19d91181aab93f438ed0f96fdebe2665750e55af3b6d3c830f3140e7
+DIST frox-0.7.18.tar.bz2 173355 SHA256 f7b637dd108444ff9c2302aa134f434e1606a2f965c01492abfbdc9b1c0bd0fc SHA512 bdffe4b70c91b920378a422dcf386088c3bb34f26e10de8ff57f487ccef6356803c93057eee2b3801a79120a6b2e1618a51dde5bc8c42e13211abf4182c4ff8c WHIRLPOOL 9b7c4d4c2e9e14d1d2d753096b06935fa9ad18ac6fba5c28c05f45b0e5bfb28d9574cdfe649f8cf7bfa0ac666f9e341769db0a57253ac15c72ed1508657de0e1
+EBUILD frox-0.7.18-r5.ebuild 1867 SHA256 0384463b73188fbd53186ae06fd1024326c4c02aadb93e74e96318408054f9b1 SHA512 052b7ec3c474dad56403188bc69f377752d6f9a24d40f87c25c54feff23c9d4187c61fff0dd759c09eb0326e2719b425a6165c370e57e299bc8ffb1967ba6f57 WHIRLPOOL 786c4d67b11159c0a7d296c402e4caa52d0d1d2e3bcaffbb1690cd71add218e2cc42357782d7eecbf06887c1409d84ad305ad7ea0eac293f368025be85943fa6
+EBUILD frox-0.7.18-r6.ebuild 1976 SHA256 641cfea0600263414036167b0a2e233d513d4c4c1422f37876bea094fe1f5d88 SHA512 e998e2d9a6a548756534994bfc7359b983fe3d6d98dc208398a9ee366132cd1da50ca7ff0e760c9f86350c6ebb201d5e6c9e7043c832b7c8087ea0f515412c6f WHIRLPOOL f7095739e67bccfe724e3a1ed9ffa6f400328077d523435b6d471f0149b0235dc21d13a6b95c50806b11c46ceb1318015385ad970b241b5baea42d720eba36c1
+MISC ChangeLog 4217 SHA256 72236dd8fbb443c79b33e0fdb118e51944fe55f7a44d500f92d3745e4dfd699f SHA512 7c2a23bb7009a4c34c8b02da3ee31ecef2f0748dfa83613421a02f70b54fbee1dac70111800a8843e6266ea830f09016438504b6fb4eaf984de14d33d25a1f70 WHIRLPOOL aeb5b118d11d95d8770c4b23169b3d5b03a9e94ae1452057ae458eb3125ce1af84644a0a88bf4a2a4f434d7cdae5630805cbef6d555fc548d6393eb919519da3
+MISC ChangeLog-2015 4170 SHA256 019d2952bb5d563ea90517546374f8fa4757685ba7e26f0f04f8ba46cb6ee52c SHA512 e929425ae397c5dfba23fc23315631cb049bb6a0dd6e04e621c0f100c3d6fbd8d062f87e8eb911f091ed0e75220fc47be037d9bff182a80d0fc142287979f37f WHIRLPOOL 821c6df2be3d88f439a4ae5c8c521e63b825989ae2cd680eda84ee28323a8306a1fb1add44881c330606955f46deeef78993c5d77dd3428c4ecf682b45729495
+MISC metadata.xml 656 SHA256 874de254c0f8a79631826c4221d6f26d9486be5275008f4679030fe2ec4ba2aa SHA512 c4e9a07f7e868c032e8830b70d3ccc876a54d685790e74aac5ea5554710af473004a176ffb9501e87fa6b32010464e274a111f34f318e12be97f86a96df58f3a WHIRLPOOL ad9061b1cf2f38a7d090b11d4796affe2bf2921bf7e9b9b81ef0c95f34a910b8c7567df70db9c272c27ff804612e630f8a42da7cc50ebe87e29795125268adcf
diff --git a/net-ftp/frox/files/0.7.18-netfilter-includes.patch b/net-ftp/frox/files/0.7.18-netfilter-includes.patch
new file mode 100644
index 000000000000..889f42121722
--- /dev/null
+++ b/net-ftp/frox/files/0.7.18-netfilter-includes.patch
@@ -0,0 +1,16 @@
+--- a/configure.in.ori 2012-03-01 22:32:17.044450088 +0100
++++ b/configure.in 2012-03-01 22:36:40.995882948 +0100
+@@ -331,7 +331,12 @@
+ AC_HEADER_STDC
+ AC_HEADER_SYS_WAIT
+ AC_CHECK_HEADERS(fcntl.h strings.h sys/ioctl.h sys/time.h syslog.h unistd.h)
+-AC_CHECK_HEADERS(linux/netfilter_ipv4.h, , , [#include <limits.h>])
++AC_CHECK_HEADERS(linux/netfilter_ipv4.h, , ,[
++ #include <limits.h>
++ #include <sys/socket.h>
++ #include <linux/in.h>
++ #include <linux/in6.h>
++])
+
+ dnl Checks for typedefs, structures, and compiler characteristics.
+ AC_C_CONST
diff --git a/net-ftp/frox/files/0.7.18-respect-CFLAGS.patch b/net-ftp/frox/files/0.7.18-respect-CFLAGS.patch
new file mode 100644
index 000000000000..8076d91ea268
--- /dev/null
+++ b/net-ftp/frox/files/0.7.18-respect-CFLAGS.patch
@@ -0,0 +1,15 @@
+--- a/configure.in 2005-02-04 11:24:55.000000000 +0100
++++ b/configure.in 2012-03-01 22:56:25.985725178 +0100
+@@ -46,11 +46,9 @@
+ ;;
+ *)
+ AC_MSG_RESULT(no)
+- CFLAGS="$CFLAGS -O2"
+ ;;
+ esac],
+- [AC_MSG_RESULT(no)
+- CFLAGS="$CFLAGS -O2"]
++ [AC_MSG_RESULT(no)]
+ )
+
+ AC_MSG_CHECKING(whether to compile in profiling info)
diff --git a/net-ftp/frox/files/frox-0.7.18-config.patch b/net-ftp/frox/files/frox-0.7.18-config.patch
new file mode 100644
index 000000000000..feee37e3674e
--- /dev/null
+++ b/net-ftp/frox/files/frox-0.7.18-config.patch
@@ -0,0 +1,66 @@
+--- a/src/frox.conf 2005-02-04 19:54:55.000000000 +0930
++++ b/src/frox.conf 2005-02-07 19:35:32.995421344 +0930
+@@ -18,7 +18,9 @@
+ # commented out to listen on all local IPs.
+ #
+ # Listen firewall.localnet
+-Listen 192.168.2.1
++# Listen 192.168.2.1
++
++Listen 127.0.0.1
+
+ # Port to listen on. Must be supplied.
+ #
+@@ -26,7 +28,7 @@
+
+ # If specified then bind to this device
+ #
+-BindToDevice eth0
++#BindToDevice eth0
+
+ # Whether to run from inetd. You should still define Port above, but
+ # it isn't used for much.
+@@ -69,12 +71,12 @@
+ ####################################################################
+ # General Options #
+ ####################################################################
+-# User and group to drop priveliges to. This must be specified - if
++User ftpproxy
+ # you really want to run as root (not a good idea) you must say so
+ # specifically, and have compiled with --enable-run-as-root.
+ #
+-# User nobody
+-# Group nogroup
++User ftpproxy
++Group ftpproxy
+
+ # This is frox's working directory - it must be specified. Temporary
+ # files and sockets will be created here. If you are using local
+@@ -83,7 +85,7 @@
+ # also chroot to this dir on startup. To avoid this you must specifically
+ # set DontChroot to Yes.
+ #
+-# WorkingDir /usr/local/lib/frox
++WorkingDir /var/spool/frox
+ # DontChroot Yes
+
+ # Logging level. 0=No logging. 5=Critical errors only. 10= All errors.
+@@ -96,15 +98,15 @@
+ # transferred irrespective of the log level. You can turn this off
+ # below.
+ #
+-# LogLevel 15
+-# LogFile /usr/local/lib/frox/frox-log
++LogLevel 20
++LogFile /var/log/frox/frox-log
+ # XferLogging no
+
+ # File to store PID in. Default is not to. If this file is not within
+ # the Chroot directory then it cannot be deleted on exit, but will
+ # otherwise work fine.
+ #
+-PidFile /var/run/frox.pid
++PidFile /var/run/frox/frox.pid
+
+
+ ####################################################################
diff --git a/net-ftp/frox/files/frox.initd b/net-ftp/frox/files/frox.initd
new file mode 100644
index 000000000000..0512d05857a5
--- /dev/null
+++ b/net-ftp/frox/files/frox.initd
@@ -0,0 +1,37 @@
+#!/sbin/openrc-run
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+extra_commands="reload"
+
+FROX_CONFIG="/etc/frox.conf"
+FROX_PID_FILE="/var/run/frox/frox.pid"
+FROX_OPTS="-f ${FROX_CONFIG}"
+
+checkconfig() {
+ local piddir="$(dirname ${FROX_PID_FILE})"
+ checkpath -q -d -o ftpproxy:ftpproxy -m 0770 "${piddir}" || return 1
+ if [ ! -f "${FROX_CONFIG}" ] ; then
+ eerror "missing ${FROX_CONFIG}"
+ return 1
+ fi
+}
+
+start() {
+ checkconfig || return 1
+ ebegin "Starting ${SVCNAME}"
+ start-stop-daemon --start --quiet --exec /usr/sbin/frox -- ${FROX_OPTS}
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping ${SVCNAME}"
+ start-stop-daemon --stop --quiet --exec /usr/sbin/frox --pidfile "${FROX_PID_FILE}"
+ eend $?
+}
+
+reload() {
+ ebegin "Reloading configuration"
+ start-stop-daemon --signal HUP --pidfile "${FROX_PID_FILE}"
+ eend $?
+}
diff --git a/net-ftp/frox/frox-0.7.18-r5.ebuild b/net-ftp/frox/frox-0.7.18-r5.ebuild
new file mode 100644
index 000000000000..6ae5baf2c80e
--- /dev/null
+++ b/net-ftp/frox/frox-0.7.18-r5.ebuild
@@ -0,0 +1,81 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit autotools eutils user
+
+DESCRIPTION="A transparent ftp proxy"
+SRC_URI="http://frox.sourceforge.net/download/${P}.tar.bz2"
+HOMEPAGE="http://frox.sourceforge.net/"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~ppc x86"
+
+IUSE="clamav ssl transparent"
+
+DEPEND="clamav? ( >=app-antivirus/clamav-0.80 )
+ ssl? ( dev-libs/openssl )
+ kernel_linux? ( >=sys-kernel/linux-headers-2.6 )"
+RDEPEND="${DEPEND}"
+
+# INSTALL has useful filewall rules
+DOCS=(
+ BUGS README
+ doc/CREDITS doc/ChangeLog doc/FAQ doc/INSTALL
+ doc/INTERNALS doc/README.transdata doc/RELEASE
+ doc/SECURITY doc/TODO
+)
+
+pkg_setup() {
+ enewgroup ftpproxy
+ enewuser ftpproxy -1 -1 /var/spool/frox ftpproxy
+
+ use clamav && ewarn "Virus scanner potentialy broken in chroot - see bug #81035"
+}
+
+src_prepare () {
+ epatch "${FILESDIR}/${PV}-respect-CFLAGS.patch"
+ epatch "${FILESDIR}/${PV}-netfilter-includes.patch"
+ epatch "${FILESDIR}/${P}-config.patch"
+
+ if use clamav ; then
+ sed -i -e "s:^# VirusScanner.*:# VirusScanner '\"/usr/bin/clamscan\" \"%s\"':" \
+ "src/${PN}.conf" || die
+ fi
+
+ epatch_user
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ --enable-http-cache --enable-local-cache \
+ --enable-procname \
+ --enable-configfile=/etc/frox.conf \
+ $(use_enable !kernel_linux libiptc) \
+ $(use_enable clamav virus-scan) \
+ $(use_enable ssl) \
+ $(use_enable transparent transparent-data) \
+ $(use_enable !transparent ntp)
+}
+
+src_install() {
+ default
+
+ keepdir /var/{log,spool}/"${PN}"
+
+ fperms 700 /var/spool/frox
+ fowners ftpproxy:ftpproxy /var/{log,spool}/frox
+
+ dohtml doc/*.html doc/*.sgml
+
+ newman "doc/${PN}.man" "${PN}.man.8"
+ newman "doc/${PN}.conf.man" "${PN}.conf.man.5"
+
+ newinitd "${FILESDIR}/${PN}.initd" "${PN}"
+
+ insinto /etc
+ newins "src/${PN}.conf" "${PN}.conf.example"
+}
diff --git a/net-ftp/frox/frox-0.7.18-r6.ebuild b/net-ftp/frox/frox-0.7.18-r6.ebuild
new file mode 100644
index 000000000000..0a5b6ace383a
--- /dev/null
+++ b/net-ftp/frox/frox-0.7.18-r6.ebuild
@@ -0,0 +1,85 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit autotools eutils user
+
+DESCRIPTION="A transparent ftp proxy"
+SRC_URI="http://frox.sourceforge.net/download/${P}.tar.bz2"
+HOMEPAGE="http://frox.sourceforge.net/"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE="clamav libressl ssl transparent"
+
+DEPEND="
+ clamav? ( >=app-antivirus/clamav-0.80 )
+ ssl? (
+ !libressl? ( dev-libs/openssl:0 )
+ libressl? ( dev-libs/libressl:0= ) )
+ kernel_linux? ( >=sys-kernel/linux-headers-2.6 )
+"
+RDEPEND="${DEPEND}"
+
+# INSTALL has useful filewall rules
+DOCS=(
+ BUGS README
+ doc/CREDITS doc/ChangeLog doc/FAQ doc/INSTALL
+ doc/INTERNALS doc/README.transdata doc/RELEASE
+ doc/SECURITY doc/TODO
+)
+
+pkg_setup() {
+ enewgroup ftpproxy
+ enewuser ftpproxy -1 -1 /var/spool/frox ftpproxy
+
+ use clamav && ewarn "Virus scanner potentialy broken in chroot - see bug #81035"
+}
+
+src_prepare () {
+ HTML_DOCS=( doc/*.html doc/*.sgml )
+
+ default
+
+ eapply "${FILESDIR}/${PV}-respect-CFLAGS.patch"
+ eapply "${FILESDIR}/${PV}-netfilter-includes.patch"
+ eapply "${FILESDIR}/${P}-config.patch"
+
+ if use clamav ; then
+ sed -i -e "s:^# VirusScanner.*:# VirusScanner '\"/usr/bin/clamscan\" \"%s\"':" \
+ "src/${PN}.conf" || die
+ fi
+
+ mv configure.in configure.ac || die
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ --enable-http-cache --enable-local-cache \
+ --enable-procname \
+ --enable-configfile=/etc/frox.conf \
+ $(use_enable !kernel_linux libiptc) \
+ $(use_enable clamav virus-scan) \
+ $(use_enable ssl) \
+ $(use_enable transparent transparent-data) \
+ $(use_enable !transparent ntp)
+}
+
+src_install() {
+ default
+
+ keepdir /var/{log,spool}/"${PN}"
+
+ fperms 700 /var/spool/frox
+ fowners ftpproxy:ftpproxy /var/{log,spool}/frox
+
+ newman "doc/${PN}.man" "${PN}.man.8"
+ newman "doc/${PN}.conf.man" "${PN}.conf.man.5"
+
+ newinitd "${FILESDIR}/${PN}.initd" "${PN}"
+
+ insinto /etc
+ newins "src/${PN}.conf" "${PN}.conf.example"
+}
diff --git a/net-ftp/frox/metadata.xml b/net-ftp/frox/metadata.xml
new file mode 100644
index 000000000000..62cb681b803e
--- /dev/null
+++ b/net-ftp/frox/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>kabel@blackhole.sk</email>
+ <name>Marek Behun</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <use>
+ <flag name="transparent">Enable transparent proxying of data connections</flag>
+ </use>
+ <longdescription>A transparent ftp proxy</longdescription>
+ <upstream>
+ <remote-id type="sourceforge">frox</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/net-ftp/ftp/Manifest b/net-ftp/ftp/Manifest
new file mode 100644
index 000000000000..f089124f54b8
--- /dev/null
+++ b/net-ftp/ftp/Manifest
@@ -0,0 +1,9 @@
+DIST netkit-ftp-0.17-patches-1.tar.bz2 17549 SHA256 5de0537b109040862f57538ee73a2493674c60d260daf26a8dbeefe49bada326 SHA512 0344316cade2cfe35a9987582e0e381177d412f9be296d1ba4b917699f5112ec48c90e8480a009acf9ba7f14fb5f42a76d9d3551db7d9f8a036eb3ce8fce2113 WHIRLPOOL 8d076a842fca933ad0b5694780044af7b950d6d94efa153a1410e4538e2afd922f8e546ac108771e98772e59910d2d114eedbf6a1fcaccd1b87a744c30a54070
+DIST netkit-ftp-0.17-patches-2.tar.bz2 4307 SHA256 8d47f0c9c4aec0a37f4caa554c8625a1927045a37125cea9f86b84c7af65b09e SHA512 6a9adfd33eae4ac2e1a9e070ed89467804dc484eda084694398bb7e3ebbaf04bf70d00ffaa637bace078c4c0024115ba3620fd75d4a3558a44dc991798885461 WHIRLPOOL 62e4aa120259bb1639fc2ca38296cd05b17672c724502b907d7ac565caa2ce8a90e75e9c2f05f1628ea6fd37fd2d78a2af9419949699a7f59a3c420d9a693a3c
+DIST netkit-ftp-0.17.tar.gz 53934 SHA256 61c913299b81a4671ff089aac821329f7db9bc111aa812993dd585798b700349 SHA512 ba8e411d0230c78e9e4555c03dc1036c6e506ef8edb72ecee4d6a7559d85143721bffbe8b8a6e42918b3098072ac8f207584be9e3a241f6bd31e361c92de6554 WHIRLPOOL fa60506e817ac0e61a3deb41dc7a143a4506e49c91e81aea03ec58f31802c8cbb7025712d13fc164f931e275c01fb88b787991e89f7a75b5e9d8c88058cb88c2
+DIST netkit-ftp-ssl_0.17.23+0.2-1.debian.tar.gz 48189 SHA256 82f2c3f6d999df6e1014c6016a6a3c861a861b2eca1c1143530603f44e2f0574 SHA512 c2fa882c185987298a73e7cef8c073ab0aee7627b60b412be90eef8619bf02d97721c15197fe4f443eab53bcca87876633924872f3102ef9e92dc7511c065228 WHIRLPOOL c4024d406ce1002fe8b9184f5a29ebe1f5c678488fab2166523655762e305f6bdff0aaddfc052f2433fb27c101a29af2d092ea4712ce11d0ced89a9b6de3fbfe
+EBUILD ftp-0.17-r7.ebuild 1101 SHA256 54b1036a45e20e65e4c33fc7650a0d8f4b79672a3e32a03fed5a677b09945088 SHA512 eefe5c6d58ee734d556edcf4b800b72147664b6bd4371e12a65816238d9eb3134be57aea71fb0c8d5567d76d91ad1154780c83b0053e0f73ebfdf9906a8de1f9 WHIRLPOOL b469464da8070daa0290c75bf2034f539fed96149db4e8d2aa987b2bf310d7acc333db2271fe3d5ba267c7216a274edf16b935378a7e97740d142c22946761e2
+EBUILD ftp-0.17.23.0.2.1.ebuild 1568 SHA256 e659a745eef4aa9367b79a480bb786f9bacac2e6a8b2e1294994d4c542563da5 SHA512 587de0789eaaa462b2e4caf61c8081c0a0bedacde6ca78711b5fcfe0e861f2cee9696c0c5d9784498b6f8604e6720e2eec197c0de435ce35dbc26a4d35fd73e2 WHIRLPOOL 05499b8f4545f9bd2fd422d89318b51729d39b008e7281a0611cccfe1420cb2b81669803d4111dc98358ac94da71d1cb895291995c5d2911f2243b05dfe71503
+MISC ChangeLog 2614 SHA256 2f7d9b59ffb1825db7189e906a99dc6e4c3b5980e35dc7da8984fca8b105c733 SHA512 f0f2f31c1c676e6030bcfb777fa67c5b56050b3aff263b12551fa97af242525a7ec02dc0fd39ceea20cc2205e585a0591f709ac69eae42715548fa73a71e02c1 WHIRLPOOL a9f13dbf768345f5ce81903cdec502aaa80a103601b9d5072b6071c9814064e253841f4f10b7262e42114b5f90abbfdfcbd7bade86aa85213922f0c87980f16c
+MISC ChangeLog-2015 6499 SHA256 09393b82fe8ef7d95d1b5da42e4f33fed14a5734f87f0f6fdc94f816dceb9c8d SHA512 b914674b833be018934b55c8d97717d86d05d2aa878e59209f7dec0b6a12f6c74febe30b8f1f4a9ba5039d3d39b5ab3d356932962c2d11b38bebbe35f15419f8 WHIRLPOOL 0e7921e48e23226436a62fb157f475f918496bd855a7c7c7daa22e1df1daa438a7d462238614f0c43188d21ad802fd65246676b7e9a8116a248590c011da4000
+MISC metadata.xml 253 SHA256 d82c33ef453113a5c1ebe250dcba373c22934a69b0a86c6ab15a5ca589c25b91 SHA512 54a9069aeb4165d2dff3d473c8001bc51613aac9dff3f7f5e9971a9891a737a31511ffa11cbd523febe581ac1d9de2bdf2f40410f0c4239138f2ccca3ef15555 WHIRLPOOL e5aee23acff864609953a1e4de768f0e4aef704b44c53c021f28573e1ca5c99f1a46d92935ecec2449f7b4419a36d8373127d0ecfa8d7bae72d835e1839eb3f8
diff --git a/net-ftp/ftp/ftp-0.17-r7.ebuild b/net-ftp/ftp/ftp-0.17-r7.ebuild
new file mode 100644
index 000000000000..3dfa70dde0ce
--- /dev/null
+++ b/net-ftp/ftp/ftp-0.17-r7.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+PATCHLEVEL=1
+
+inherit eutils toolchain-funcs flag-o-matic
+
+MY_P=netkit-${P}
+S=${WORKDIR}/${MY_P}
+DESCRIPTION="Standard Linux FTP client"
+HOMEPAGE="http://www.hcs.harvard.edu/~dholland/computers/netkit.html"
+SRC_URI="ftp://ftp.uk.linux.org/pub/linux/Networking/netkit/${MY_P}.tar.gz
+ mirror://gentoo/${MY_P}-patches-${PATCHLEVEL}.tar.bz2"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 s390 sh sparc x86"
+IUSE="ssl ipv6"
+
+RDEPEND=">=sys-libs/ncurses-5.2
+ ssl? ( dev-libs/openssl )"
+DEPEND="${RDEPEND}
+ >=sys-apps/sed-4"
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ EPATCH_DIR="${WORKDIR}"/patch \
+ EPATCH_SUFFIX="patch" \
+ epatch
+ append-lfs-flags #101038
+}
+
+src_compile() {
+ ./configure \
+ --prefix=/usr \
+ $(use_enable ssl) \
+ $(use_enable ipv6) \
+ ${EXTRA_ECONF} \
+ || die "configure failed"
+ emake CC="$(tc-getCC)" LDFLAGS="${LDFLAGS}" || die "make failed"
+}
+
+src_install() {
+ dobin ftp/ftp || die
+ doman ftp/ftp.1 ftp/netrc.5
+ dodoc ChangeLog README BUGS
+}
diff --git a/net-ftp/ftp/ftp-0.17.23.0.2.1.ebuild b/net-ftp/ftp/ftp-0.17.23.0.2.1.ebuild
new file mode 100644
index 000000000000..c158c31e7f80
--- /dev/null
+++ b/net-ftp/ftp/ftp-0.17.23.0.2.1.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+inherit eutils toolchain-funcs flag-o-matic versionator
+
+PATCH_VER="2"
+MY_PN="netkit-ftp"
+MY_PV="$(get_version_component_range 1-2)"
+MY_P="netkit-${PN}-${MY_PV}"
+DEB_PN="${MY_PN}-ssl"
+DEB_PV="$(get_version_component_range 1-3)+$(get_version_component_range 4-5)-$(get_version_component_range 6)"
+DESCRIPTION="Standard Linux FTP client"
+HOMEPAGE="http://www.hcs.harvard.edu/~dholland/computers/netkit.html"
+SRC_URI="ftp://sunsite.unc.edu/pub/Linux/system/network/netkit/${MY_P}.tar.gz
+ mirror://debian/pool/main/n/${DEB_PN}/${DEB_PN}_${DEB_PV}.debian.tar.gz
+ mirror://gentoo/${MY_P}-patches-${PATCH_VER}.tar.bz2"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+IUSE="ipv6 libressl readline ssl"
+
+RDEPEND="
+ >=sys-libs/ncurses-5.2:=
+ readline? ( sys-libs/readline:0= )
+ ssl? (
+ !libressl? ( dev-libs/openssl:0= )
+ libressl? ( dev-libs/libressl:0= ) )
+"
+DEPEND="${RDEPEND}"
+
+S=${WORKDIR}/${MY_P}
+
+src_prepare() {
+ EPATCH_FORCE="yes" EPATCH_SUFFIX="diff" epatch "${WORKDIR}"/debian/patches
+ EPATCH_SUFFIX="patch" epatch "${WORKDIR}"/patch
+ sed -i \
+ -e 's:echo -n:printf %s :' \
+ configure || die
+}
+
+src_configure() {
+ append-lfs-flags #101038
+ tc-export CC
+ # not an autoconf script
+ ./configure \
+ --prefix=/usr \
+ $(use_enable ipv6) \
+ $(use_enable readline) \
+ $(use_enable ssl) \
+ || die
+}
+
+src_install() {
+ dobin ftp/ftp
+ doman ftp/ftp.1 ftp/netrc.5
+ dodoc ChangeLog README BUGS
+}
diff --git a/net-ftp/ftp/metadata.xml b/net-ftp/ftp/metadata.xml
new file mode 100644
index 000000000000..56c124413057
--- /dev/null
+++ b/net-ftp/ftp/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="project">
+ <email>base-system@gentoo.org</email>
+ <name>Gentoo Base System</name>
+</maintainer>
+</pkgmetadata>
diff --git a/net-ftp/ftpbase/Manifest b/net-ftp/ftpbase/Manifest
new file mode 100644
index 000000000000..6d51885d1ae7
--- /dev/null
+++ b/net-ftp/ftpbase/Manifest
@@ -0,0 +1,7 @@
+AUX ftp-pamd 700 SHA256 6b96a05790c0e191e685ba15494abe7787e490f9709ffbd9703df97cc0ec9fdf SHA512 61aceee28610cb7a6989fca0ee82702df1118dd2e964bb26fe5cfcb508250599e9e1cdb9aa5dfb61df9c5fef25af4334a87d5f1f4065f693193912dfe172bb68 WHIRLPOOL 31f6a9394e82173907287d3dfc4011f11a7d5b3647742ce212b9edba4ee38e4a2da9bdfde18071476425738ae75ed01363e0b10d1878e05b18a9dc257486ac00
+AUX ftp-pamd-include 632 SHA256 dc170d03bc34e654a9b4fbed240a6bd8a5d45c8c699a7187d15a21582b052d87 SHA512 adc59c544b815bd88b7e91a43cb5620008d1f83d15a08620f56242d74991ba413e56b31bcca8e5fcfe71f05362bbad89b02d5289260f08649d38965c8951ec76 WHIRLPOOL 32684654db0080f0febc7616bbbc3d25c82375eee1366e1c15b5a097c493f865d21dab58f98554ee670c8c4ac4d94fd797675aabcb5099e0fc7e840a87830b65
+AUX ftpusers 300 SHA256 912c6ab8c869d7372c28bbaf3e781671160423c850bbbd3a21cd8a2595ff878f SHA512 29a8bdca1a6bb516c5189e6c69969cba3c220ea878e352e78bb6ea5cb2ac7476306736240155dc6d3f7512aac48164354db68721ea952d1010639e8ae14635e0 WHIRLPOOL d286bb3e783e3ca5e08474d4586c7c8c02bfc722ea0551053a21b70f17a2f546b28a04136847b2ac9da278990354dae2d1e123b7a20c5918a37e1889e10cb597
+EBUILD ftpbase-0.01-r2.ebuild 1443 SHA256 eb74378e9b46c5c12c5aca5e652df67832c6883625767a57170bf9da34189a83 SHA512 92f4b1a732393e0df1fe25a2effd54920d700fffe5595339ff5d755cb00c5cda60805122d6460cfb02b6130061157c41db4ad70f6693ea2580aa80e85eaeb3c9 WHIRLPOOL a415f91fdd0fbb3e55c8b2b904ce5ed634746dae8eb92d83e643ec59f8b532f2cde3bc7a32c738a742635f1af709299e3247bc0c7f0a6993cff0be9e3eb0e20d
+MISC ChangeLog 2612 SHA256 ae86a809322715600812e2d6a764cb4a60d9b8da87a2b89de7061845677a7bf8 SHA512 f2bf7e5a0763e511b92d896d4f883f1c36908f244ea795ec8838998d8e1528eb9ca0c441c58bad69ef386531d9dce68ed6c97717c0d2e0a16b36b1d8473dcc92 WHIRLPOOL 5c35b7c039ea2f2619709ab815e00f35b84b9fe5bf79d45696fb66eadb421a1df24f4ea09f5d5601032fcca4075f78668a285cee2ce93d318115d81e9d55faa7
+MISC ChangeLog-2015 4532 SHA256 a1a37a46a7474ec0f28aefb7938903443a7167ce7621913c2fd8f610963ce5ed SHA512 992eef70ee50054a21ada65e73556147435072302d5a173494d7f41deade2fa3d33975aadfbf1ffb2b6d4424a3cd37d52aeeaee22ab34d2a47d107979a3d3570 WHIRLPOOL 8cf30012d25662cd0ff3aa30e7726e58d1e81668a4bfc813dcb52956cafeca40d237948c6ee45a27e4397afcdcd92f99dc1a96262afe0a397a672816b8cca3a8
+MISC metadata.xml 235 SHA256 a850039e6b668408ff15dc3243747e320af718b09bb100a6852619efc986b543 SHA512 fa78af8197737bd5d9b44305bac24dacac9034fd96284af1e3c89428fc418e17a4bea91fa53f07dce02e6ab8afe6455343db364d031ab342225a26d0364c23da WHIRLPOOL df5f931566f25de2b35defcf16abe9ede6e24c7226c17444a97cf77b190a7edd221d48cb9c7e78e4c481a1e5168236526dfa2ba3179b928bb012322a521e8bca
diff --git a/net-ftp/ftpbase/files/ftp-pamd b/net-ftp/ftpbase/files/ftp-pamd
new file mode 100644
index 000000000000..34b7912a0b48
--- /dev/null
+++ b/net-ftp/ftpbase/files/ftp-pamd
@@ -0,0 +1,17 @@
+# Provided by ftpbase (dont remove this line!)
+# Standard pam.d file for ftp service packages.
+
+auth required pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed
+auth required pam_stack.so service=system-auth
+
+# If this is enabled, anonymous logins will fail because the 'ftp' user does
+# not have a "valid" shell, as listed in /etc/shells.
+#
+# If you enable this, it is recommended that you do *not* give the 'ftp'
+# user a real shell. Instead, give the 'ftp' user /bin/false for a shell and
+# add /bin/false to /etc/shells.
+# auth required pam_shells.so
+
+account required pam_stack.so service=system-auth
+
+session required pam_stack.so service=system-auth
diff --git a/net-ftp/ftpbase/files/ftp-pamd-include b/net-ftp/ftpbase/files/ftp-pamd-include
new file mode 100644
index 000000000000..c410527c8a60
--- /dev/null
+++ b/net-ftp/ftpbase/files/ftp-pamd-include
@@ -0,0 +1,17 @@
+# Provided by ftpbase (dont remove this line!)
+# Standard pam.d file for ftp service packages.
+
+auth required pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed
+auth include system-auth
+
+# If this is enabled, anonymous logins will fail because the 'ftp' user does
+# not have a "valid" shell, as listed in /etc/shells.
+#
+# If you enable this, it is recommended that you do *not* give the 'ftp'
+# user a real shell. Instead, give the 'ftp' user /bin/false for a shell and
+# add /bin/false to /etc/shells.
+# auth required pam_shells.so
+
+account include system-auth
+
+session include system-auth
diff --git a/net-ftp/ftpbase/files/ftpusers b/net-ftp/ftpbase/files/ftpusers
new file mode 100644
index 000000000000..7754be9b7fc8
--- /dev/null
+++ b/net-ftp/ftpbase/files/ftpusers
@@ -0,0 +1,36 @@
+# Provided by ftpbase (dont remove this line!)
+# /etc/ftpusers: list of users disallowed FTP access
+
+halt
+operator
+root
+shutdown
+sync
+bin
+daemon
+adm
+lp
+mail
+postmaster
+news
+uucp
+man
+games
+at
+cron
+www
+named
+squid
+gdm
+mysql
+postgres
+guest
+nobody
+alias
+qmaild
+qmaill
+qmailp
+qmailq
+qmailr
+qmails
+postfix
diff --git a/net-ftp/ftpbase/ftpbase-0.01-r2.ebuild b/net-ftp/ftpbase/ftpbase-0.01-r2.ebuild
new file mode 100644
index 000000000000..392c27075c28
--- /dev/null
+++ b/net-ftp/ftpbase/ftpbase-0.01-r2.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+inherit eutils pam user
+
+DESCRIPTION="FTP layout package"
+HOMEPAGE="https://www.gentoo.org/"
+SRC_URI=""
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~x86-fbsd"
+IUSE="pam"
+
+DEPEND="pam? ( virtual/pam )
+ !<net-ftp/proftpd-1.2.10-r6
+ !<net-ftp/pure-ftpd-1.0.20-r2
+ !<net-ftp/vsftpd-2.0.3-r1"
+
+S=${WORKDIR}
+
+pkg_setup() {
+ # Check if home exists
+ local exists=false
+ [[ -d "${ROOT}home/ftp" ]] && exists=true
+
+ # Add our default ftp user
+ enewgroup ftp 21
+ enewuser ftp 21 -1 /home/ftp ftp
+
+ # If home did not exist and does now then we created it in the enewuser
+ # command. Now we have to change it's permissions to something sane.
+ if [[ ${exists} == "false" && -d "${ROOT}home/ftp" ]] ; then
+ chown root:ftp "${ROOT}"home/ftp
+ fi
+}
+
+src_install() {
+ # The ftpusers file is a list of people who are NOT allowed
+ # to use the ftp service.
+ insinto /etc
+ doins "${FILESDIR}/ftpusers" || die
+
+ # Ideally we would create the home directory here with a dodir.
+ # But we cannot until bug #9849 is solved - so we kludge in pkg_postinst()
+
+ cp "${FILESDIR}/ftp-pamd-include" "${T}" || die
+ if use elibc_FreeBSD; then
+ sed -i -e "/pam_listfile.so/s/^.*$/account required pam_ftpusers.so no_warn disallow/" \
+ "${T}"/ftp-pamd-include || die
+ fi
+ newpamd "${T}"/ftp-pamd-include ftp
+}
diff --git a/net-ftp/ftpbase/metadata.xml b/net-ftp/ftpbase/metadata.xml
new file mode 100644
index 000000000000..ba090926742a
--- /dev/null
+++ b/net-ftp/ftpbase/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-needed -->
+ <longdescription lang="en">
+ FTP base package
+ </longdescription>
+</pkgmetadata>
diff --git a/net-ftp/gftp/Manifest b/net-ftp/gftp/Manifest
new file mode 100644
index 000000000000..55c9c1c3b35a
--- /dev/null
+++ b/net-ftp/gftp/Manifest
@@ -0,0 +1,7 @@
+AUX gftp-2.0.19-desktop.patch 837 SHA256 cd583fb5089adfe678f59ccbdcb553ce6504b071ca62101d840a68cf34b89ed8 SHA512 c71c10eca36e767e4778c4664723f04ea23a20cb6b96e2b0e45c439ed83a1daa325919683663695c17ab26317021090d4855f9f5b6e952f70a400980b0ebfe69 WHIRLPOOL bb2e05d6fec1963029d6d1298127396e94b324cbb230bf80e6c4ba1831875fe4692e9e3978d297c46eaf9e761fac5b0965c36f7824869170cc69743071804b1a
+AUX gftp-2.0.19-gftp-expand-path-sigsegv.patch 640 SHA256 79bbc67cf428dc323d6aedd8b047d8f8fdad42cf11a1e75fa5c118d358f85def SHA512 4ee09d50955fc91dea33bb71d8bd65a7c481f02c7bdf6dce53bbd630307c2ab898b533babe7597b1e434d0defdde3be6e145c0c5344d21e8a23c1537eb5f2bbf WHIRLPOOL cd34afa4b1426170b781544868a1f6d091a43b0edb8e3b67fe00d3957254edcf3d0d536d4da0b54529bcbd8be63948a4485e8482f1f4705ac148d8cf8ab79770
+DIST gftp-2.0.19.tar.bz2 1687167 SHA256 5306a46be96d6f4d23906cb1836fb3d732039621a6c7fcfa921acc21ac110bfd SHA512 59968786d66aaf6fb520f73d52ed0f8b57751a5ed222a5c65a7257628cd9addfd0ff3213206311bfd24441d7e6cc6d245d74d6687a1ad9739361da61ca078172 WHIRLPOOL 511572735b97d504e660cc6db2acc9898cb75bf4ef00304b9c225a2340aa4378ad1aa341a83db1c5c0ad637c4645655616effca901fc6990632c2c8a401df1b2
+EBUILD gftp-2.0.19-r3.ebuild 943 SHA256 d6c4e7351c692dbd763deeaa020d6a68e70fcacb6f8feae7f99b7ef72f8fa7d4 SHA512 9373c5ee4685fb5dcb366bc47866efad6e4d5dc8f6366c5a954f7de08078c999b1e04078b24234006ee9ae02f4e79cac3c830701b1eb17e7cd096d7fb4642c44 WHIRLPOOL 6ae100dc996c16ba4a1416c2bd6fa74243aecdf12d134506388c1be5dc06bdf77f65bb0d3c8d7bec19b2ac7b6d20b8d692bca3f18724ca296d9356e9d4249b05
+MISC ChangeLog 3255 SHA256 94f42afc6a7e6430409176862c4509228a5bb250c44d355d7e948f1c9719e972 SHA512 60530d859e814b0f3064f79d13968c25162ce4cef70461ec500a6bd30311d85c7a7f785f231e944cc4a76fb442f0a187269fe42012c6d1f30fcf7feaef0fdd52 WHIRLPOOL c68945c411fe710da939d54b18873b7c33d9d51200c8a9c1496d1740b51186e971120c126aef7356308b0c3a658e8d83f7ef987213fe2f0e551be84a2b7ccea2
+MISC ChangeLog-2015 12095 SHA256 4da40cfea0002018b592db445a99bd691edb84734d2d0edaf6b505cbda358706 SHA512 082cef4bafe1ae9366262a7f217e73f3078804790932b6fe1ba750f5cfaa6c7ed67139c11e37342cf112dc61318bcedc66a0a0a6b43004ef799b57cf455c49d4 WHIRLPOOL c3dc969bb86b0393e3f0e13bab02c1c8fa504c4e27b8c6777688c864f35dbf0425a235f83e848a4ca435e877ef7ed9acf3018cffa215b2516135fad4700bebe8
+MISC metadata.xml 249 SHA256 4505b0bfeadff287958620b7dc7b7209699065a8f17139a237a5dd409a726a97 SHA512 c40662134899a5c9f0369a1017806f35adf3280a0b3c91726f7a8ca6012a073a8b471583f5bfb6fe95faac1dcf607e8e2e43f8c91d48ec46f4a8824e2f551506 WHIRLPOOL 333a938ee1d2124595596c572697bf5ebad523a92ba12005cfb12e6bb6270881a94a911f0cc9c1cf2bb571559e8271e07dfd307dabe50058236dbe7103562b92
diff --git a/net-ftp/gftp/files/gftp-2.0.19-desktop.patch b/net-ftp/gftp/files/gftp-2.0.19-desktop.patch
new file mode 100644
index 000000000000..878a77b5bf72
--- /dev/null
+++ b/net-ftp/gftp/files/gftp-2.0.19-desktop.patch
@@ -0,0 +1,26 @@
+@@ -, +, @@
+ <kevin.bernard.allies@gmail.com>
+ * the Encoding key is now deprecated, and UTF-8 is the default value.
+ * As the value of Icon is not an absolute path, there should be no extension.
+ * The Application category is deprecated.
+ docs/gftp.desktop | 5 ++---
+ 1 file changed, 2 insertions(+), 3 deletions(-)
+--- a/docs/gftp.desktop
++++ a/docs/gftp.desktop
+@@ -1,5 +1,4 @@
+ [Desktop Entry]
+-Encoding=UTF-8
+ Name=gFTP
+ Comment=Download and upload files using multiple file transfer protocols
+ Comment[fr]=Télécharge des fichiers en utilisant le protocole FTP
+@@ -8,8 +7,8 @@ Exec=gftp %u
+ Terminal=false
+ X-MultipleArgs=false
+ Type=Application
+-Icon=gftp.png
+-Categories=Application;Network;
++Icon=gftp
++Categories=Network;
+ X-GNOME-Bugzilla-Bugzilla=GNOME
+ X-GNOME-Bugzilla-Product=gftp
+ X-GNOME-Bugzilla-Component=general
diff --git a/net-ftp/gftp/files/gftp-2.0.19-gftp-expand-path-sigsegv.patch b/net-ftp/gftp/files/gftp-2.0.19-gftp-expand-path-sigsegv.patch
new file mode 100644
index 000000000000..f3e029dea0ca
--- /dev/null
+++ b/net-ftp/gftp/files/gftp-2.0.19-gftp-expand-path-sigsegv.patch
@@ -0,0 +1,21 @@
+Fix segmentation fault, when gftpui_run_chdir is called with directory=0x0,
+and then calls gftp_expand_path (src=0x0),
+the NULL string was cloned using g_strdup, which returns NULL if
+its only argument is NULL, then this returned string was unreferenced.
+
+ lib/misc.c | 2 ++
+ 1 files changed, 2 insertions(+), 0 deletions(-)
+
+diff --git a/lib/misc.c b/lib/misc.c
+index 16c019b..2791466 100644
+--- a/lib/misc.c
++++ b/lib/misc.c
+@@ -143,6 +143,8 @@ gftp_expand_path (gftp_request * request, const char *src)
+ tempchar;
+ struct passwd *pw;
+
++ g_return_val_if_fail(src != NULL, NULL);
++
+ pw = NULL;
+ str = g_strdup (src);
+
diff --git a/net-ftp/gftp/gftp-2.0.19-r3.ebuild b/net-ftp/gftp/gftp-2.0.19-r3.ebuild
new file mode 100644
index 000000000000..23abfe2fe2de
--- /dev/null
+++ b/net-ftp/gftp/gftp-2.0.19-r3.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit gnome2
+
+DESCRIPTION="Gnome based FTP Client"
+SRC_URI="http://www.gftp.org/${P}.tar.bz2"
+HOMEPAGE="http://www.gftp.org"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha amd64 ppc ppc64 sparc x86 ~x86-fbsd"
+IUSE="gtk libressl ssl"
+
+RDEPEND="
+ dev-libs/glib:2
+ sys-devel/gettext
+ sys-libs/ncurses:0=
+ sys-libs/readline:0
+ gtk? ( x11-libs/gtk+:2 )
+ ssl? (
+ !libressl? ( dev-libs/openssl:0= )
+ libressl? ( dev-libs/libressl:0= ) )
+"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+"
+
+PATCHES=(
+ # Fix SIGSEGV for gftp_expand_path function
+ "${FILESDIR}/${P}-${PN}-expand-path-sigsegv.patch"
+
+ # https://bugzilla.gnome.org/show_bug.cgi?id=740785
+ "${FILESDIR}/${P}-desktop.patch"
+)
+
+src_configure() {
+ gnome2_src_configure \
+ $(use_enable gtk gtkport) \
+ $(use_enable ssl)
+}
+
+src_install() {
+ gnome2_src_install
+ dodoc docs/USERS-GUIDE
+}
diff --git a/net-ftp/gftp/metadata.xml b/net-ftp/gftp/metadata.xml
new file mode 100644
index 000000000000..39980802b1da
--- /dev/null
+++ b/net-ftp/gftp/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="project">
+ <email>gnome@gentoo.org</email>
+ <name>Gentoo GNOME Desktop</name>
+</maintainer>
+</pkgmetadata>
diff --git a/net-ftp/gproftpd/Manifest b/net-ftp/gproftpd/Manifest
new file mode 100644
index 000000000000..3076274ca8d0
--- /dev/null
+++ b/net-ftp/gproftpd/Manifest
@@ -0,0 +1,5 @@
+DIST gproftpd-8.3.2.tar.gz 605797 SHA256 6afd290ea8b68c3258f5c355144a8c6adbeb9c2c88ff85a2563916c2f1e3b468 SHA512 71a3b80b2bf18ec17719b1484d45fb6110764d28492edafcd97538ad99ad7cc182ed25723b721226329b61f29e511b48e0153cf01f90c3c7f5ce939f7b233f59 WHIRLPOOL d6929a981b5a44815daae0e4d2d4cce7e5a54e998b663f65cbcc237f215c0cf2882169d4805acdefcc0877c43dba88b4dbb0cc4d746fe8267b68cab0de200814
+EBUILD gproftpd-8.3.2-r1.ebuild 1468 SHA256 a6b6e896f9ff2ef50b4aba1d3968df94417dd059d70704e10d84522188a84b70 SHA512 bb2a0c5f4784109796549dce1396c675b6721dd720556548de1443f4f1dcfbfb4ce728b32c8f5c325628830f38d0f50c9e29475fd02936993403510ecd8aa21b WHIRLPOOL 345ff1ec2de8c4fba96e311d7572614dcd3d0d4f9bd0e5ee39570016f939edcfa1616f4bf660280db31a0a0c0858be5d50ef980b1115ac955f102781a66f122b
+MISC ChangeLog 2530 SHA256 697b76bc4c37859ba26070e1648ebebf701899487fd9858ed60a3a417229bfbe SHA512 ca7144992acf8ef1093c117bafd56d0484657b28395b97b130193d497a9b6089efd7291b625a93adbd7a670b28c07277c81b4fd5e8c225a6f106ae0d52d6e3c8 WHIRLPOOL 07ac2a823daf4bbab4cdd66c80838b2f26d60b8376c8faf71ecd7a6084357513755f99b0d48a72e98024412f45182db25b5662f0be5bb9d33ec57f550530c778
+MISC ChangeLog-2015 3734 SHA256 6f6b7431dadf4401eab66463e22f3d47ee2ff89c4cc28d502bca107f628f81c4 SHA512 ed583f4402770b37ea86803164cccb8f554ea2e379b9b2b1eb937e68690edd14b2634fd4803281c6269bb32a5877551eed3a6a223c21f5bf66f7e439ac744450 WHIRLPOOL 21f5f315276d3ce27217c0baa857a372e9e83a8d93f4d0213ad6f61ba288fc5240f09cab8998bb0dbc0b761953c7804a91c1c3d2954437fae9e4b54ddc6a1935
+MISC metadata.xml 166 SHA256 2caff447f5bd2701d8456ada5cc633c41ef4373fa4bfeabeb73599d40bcc941b SHA512 a56648c974a1d14dd4c18237532773c72057a13ab90c58b5da04f185e3c12a8bd8d5c21fb06053507f31766291a82dc7d87b34cd65fd94cfe2af7295c813ef84 WHIRLPOOL 1ff70497eca6531f0e0614c72a19f4b8e5ff486a58d369f4f0b36308d1d6b01168f9da887740e3b9f536236be251d3fe05f904d27a9233a7cf613416ba882968
diff --git a/net-ftp/gproftpd/gproftpd-8.3.2-r1.ebuild b/net-ftp/gproftpd/gproftpd-8.3.2-r1.ebuild
new file mode 100644
index 000000000000..a41eee3c7d3a
--- /dev/null
+++ b/net-ftp/gproftpd/gproftpd-8.3.2-r1.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+DESCRIPTION="GTK frontend to proftpd"
+HOMEPAGE="http://mange.dynup.net/linux.html"
+SRC_URI="http://mange.dynup.net/linux/gproftpd/${P}.tar.gz"
+LICENSE="GPL-2"
+KEYWORDS="amd64 ~ppc sparc x86"
+SLOT="0"
+
+IUSE="gnome ssl"
+
+# Requiring ProFTPD 1.2.9 due to security fixes
+RDEPEND="x11-libs/gtk+:2
+ dev-libs/glib:2
+ >=x11-libs/pango-1.0
+ >=dev-libs/atk-1.0
+ >=media-libs/freetype-2.0
+ ssl? ( >=dev-libs/openssl-0.9.6f )
+ >=net-ftp/proftpd-1.2.9"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+src_configure() {
+ local modules includes myconf
+
+ #location of proftpd.conf
+ myconf="/etc/proftpd"
+
+ if use ssl; then
+ # enable mod_tls
+ modules="${modules}:mod_tls"
+ includes="${include}:/usr/kerberos/include"
+ fi
+
+ econf --sysconfdir=${myconf} \
+ --localstatedir=/var \
+ --with-modules=${modules} \
+ --with-includes=${includes}
+}
+
+src_install () {
+ emake DESTDIR="${D}" install
+
+# Add the Gnome menu entry
+ if use gnome; then
+ insinto /usr/share/gnome/apps/Internet/
+ doins "${S}"/desktop/net-gproftpd.desktop
+ fi
+
+ dodoc AUTHORS ChangeLog README
+
+ rm -r "${D}/usr/share/doc/gproftpd" || die
+}
+
+pkg_postinst() {
+ elog "gproftpd looks for your proftpd.conf file in /etc/proftpd"
+ elog "run gproftpd with the option -c to specify an alternate location"
+ elog "ex: gproftpd -c /etc/proftpd.conf"
+ elog "Do NOT edit /etc/conf.d/proftpd with this program"
+}
diff --git a/net-ftp/gproftpd/metadata.xml b/net-ftp/gproftpd/metadata.xml
new file mode 100644
index 000000000000..6f49eba8f496
--- /dev/null
+++ b/net-ftp/gproftpd/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<!-- maintainer-needed -->
+</pkgmetadata>
diff --git a/net-ftp/lftp/Manifest b/net-ftp/lftp/Manifest
new file mode 100644
index 000000000000..8e4b457ad36c
--- /dev/null
+++ b/net-ftp/lftp/Manifest
@@ -0,0 +1,13 @@
+AUX lftp-4.0.2.91-lafile.patch 976 SHA256 b54aac35c297657290a2d9571c38bdc4bf51548f826b4ec958a768c398c0cd0b SHA512 5da906b19e2f2eeb46292e4b406656e851072fcba431c3fc771baf3825f09e577550cab079991625cb96b1547a6ba15938b6c67c4e89ee9e11fb9ccd21509bf2 WHIRLPOOL 9348707606cc0772d76666167425196b79cb3c9509cb037c61f28bdd8f023593f78b16e0c970b8520f58aa9c0c193cb15314b715f4840f2afd3044e43729c828
+AUX lftp-4.5.5-am_config_header.patch 306 SHA256 7ab090449f8c26624ebe853a0285954c414e31242fcd3db1026bd88d6ebbd6a0 SHA512 613c0942ec5c4b9de38b6020eddcfcbe91ad6febd176b2953503ee47c82a11a9ed661b442127b25383d1f6593df0ce6837229939ec48da5c36079b145ab488b9 WHIRLPOOL 3d2c0fccdf6f13ed9176bb99c9da13601fd6e8a04c46c6dc62a215334fa7531e684ffcdcbf769a6df7ab14f5e49e3bafecdcab09f990a3202cd1e079917f48ea
+AUX lftp-4.7.0-gettext.patch 421 SHA256 83134d745ea0af69adaeac9445cff6a934cf6286ec4c7b7c09e19bf32bd17385 SHA512 5b90dc5ae24c2b5e7ef630ecfb709c139ff176644c5a351d97ae78b4adc28266ed09ea17e1cfd875ec52eb15e719eb12d796eb02859875a5c099d99b04035a69 WHIRLPOOL ab831738c70d3af07437389704c370ff8c645ac17ac1f9b87b06128c5940d1afd326dbd0e96ab44521d9a2fa5469e45ca782e4215d00550b930d7f610acb1545
+DIST lftp-4.7.5.tar.xz 1567232 SHA256 53b5c5eba2e38b418bcf451776f2df596050dff4db90ab4ea73d872f8b1fd0d8 SHA512 e7d478367a3b79f61686a538827efe8afb807a587d2967189ae351927e3acb0d5b097d8707e0cb3997aa650f8f0787aa44038bb1d081e393bc7202b348249960 WHIRLPOOL 12d53a4c51ee52b67e57dc2e1c2c90443a65964073ee05ce123211096ea82813efbc51345ea488c24aa00600818ce6c0cd96beef27de619ff5d938bef3cabd06
+DIST lftp-4.8.1.tar.xz 1598768 SHA256 e770daa5592ad21bd0b8a8915a0f4fdc2e15dec6c69e754a870ad9c18be57b27 SHA512 55c21a927c5bbfe2075b3f9baa1d19d1dafb0ade7e7a21f24f0a7d42fece5b760bc6cef033296318991926d227730d5f89ee9526d30fda95d54960c1e8079164 WHIRLPOOL d26d3c09ab2de41ec06bd2c970a42ffcec7aed55652a35a48f2548a1f7ae1ef175b209df68698381c0e2fc34a30a6ae9d21f0761c4f60c4deff39683bbed88cd
+DIST lftp-4.8.2.tar.xz 1598920 SHA256 5c875b8476e05e856ebc8eec458e43317b2bebd6ed5f7725a733d4591548cd9c SHA512 582775c27f020a6864b960a06681698522842e147deee6dba18115738af56fc0094c2b21ed1eb4984626276472f707be795fcf4b23f451ba17a60e4bf8facd5e WHIRLPOOL 6cb2b3346c25159eaf0f6e5b630e94f254a1d2b27e64e443a4fd6c1d5e50806df458df432caa8a4152c7c3e43e585d6c4cae5a0808aaac0f24b18739e96bb8db
+EBUILD lftp-4.7.5.ebuild 2339 SHA256 bd1a4b87e1260db95f4335deb1a3ddcdd79473c67e8c142f2594c69d41e23f63 SHA512 8fb38cddc5221b459fdf5dde109fe795f54172dcc8924b1f0198169e58c3d82b86ca8635e4a1ada6c964a526407d328b633f1cac7953a2d6d064dcf6d95f99d6 WHIRLPOOL 66a4d8b9d6396a03c0c7147d82dafd55356ac8bb071f7d22021dd44baa68300acaca1b99864d8490a4837bd57b914f340cc9dbce5cf4043f2501f519d1bfd427
+EBUILD lftp-4.8.1.ebuild 2354 SHA256 29e13bb59ffb0fd7155d7900292dacaceb3dac6086dd7d89b4777407dc04f0fc SHA512 51be9f4291d0eca72e95d84c8add598a4da2c9aab0e8bc74ae73d15f1af69214f9b48768ac9ad292681c904b505a5a442659ddf499bee09f259b1a0db5a9a56b WHIRLPOOL 1727efbc38d250cf6d80bb4394b093c66668887f52308b945bb774754256f0f81aac2b1d73cab42f41420c5a039289d47dc63709faa9e634ea8ca7daef8200c1
+EBUILD lftp-4.8.2.ebuild 2354 SHA256 29e13bb59ffb0fd7155d7900292dacaceb3dac6086dd7d89b4777407dc04f0fc SHA512 51be9f4291d0eca72e95d84c8add598a4da2c9aab0e8bc74ae73d15f1af69214f9b48768ac9ad292681c904b505a5a442659ddf499bee09f259b1a0db5a9a56b WHIRLPOOL 1727efbc38d250cf6d80bb4394b093c66668887f52308b945bb774754256f0f81aac2b1d73cab42f41420c5a039289d47dc63709faa9e634ea8ca7daef8200c1
+EBUILD lftp-9999.ebuild 2174 SHA256 2886569a8a655d6fc149ab0f9d403cc3b0e2bc2fdec23f7eafbfbe1e7b35f7bf SHA512 bc8c132f56be23adc2d56b96bc9650373f347a8e9d0011804191e27fd32e897b8c49774be2cba0b54613633f7f437b724a10c7310ead357d95976f8199058b44 WHIRLPOOL 991c8f7c1e2f0a7d0b48f56ac54febdcda6d8475f0de7768a3158613895f75a734c6694a1460c5839a6b228973d172576cbb0926a277db8cdc851bdd3bb60d83
+MISC ChangeLog 11092 SHA256 8d7313624bae7ff7dd3cda265fd6ad652f48ea127d1723c942d467b339fd9ee2 SHA512 e83c4df3eed01265bed7ba38e04d9888fc8aa5a54f2a5ace4be3b69f35f7a754697392b2c07ab5b8ed2b8ceff5a09c27c97272dd77ed830696ceb50685766d2c WHIRLPOOL 5c7e771b1d84303990dffb9754192f486411cc1901ed406020896ac8a8158a8e39b2eb7547c83a837f586b91b880dbeff3cce7238ded768a4dff9dad51055e0a
+MISC ChangeLog-2015 66770 SHA256 030d572df6bc8c3cecc7ab1606be2dd05ac3f96045c9286e91339ed50eff8c54 SHA512 4fb7838b21109e0f80d6258a8523c6b458f0fc3a28d216ffd3c0f7f0237a429fda471d54f94f2613965ac21d68c4b201bb3a5adea3677f9276abc439b59b4de5 WHIRLPOOL 4a320ddc17cc602df3ddd32d4a3a7ec20fc778fbbaf874a5b226190d9a70cceb9d49bea2fd56066453363c268dda1973f43d0853cd892767b403f44567ae5465
+MISC metadata.xml 465 SHA256 a4c4dc7232639a125fd5c76659cffaf1f17d5abd710684686ade9d6d2138e747 SHA512 542f366f55d7c19bb3e17a57d060824db5933f2ea3b3aaa8dd3520dc757be53e1dcf4f91fa34f15abc478e9c6b68799df3ad14836e0579f02977843e8d330bfd WHIRLPOOL 0c23edec50cb0e90ffec3ce929a62679e552bebde1918e3c7ad944fe11b9ddb7f438e6b8108b590b19f8ba9a567f23fa168aba7c3ac5e4553125b7c6b59353e9
diff --git a/net-ftp/lftp/files/lftp-4.0.2.91-lafile.patch b/net-ftp/lftp/files/lftp-4.0.2.91-lafile.patch
new file mode 100644
index 000000000000..6180d923a8ff
--- /dev/null
+++ b/net-ftp/lftp/files/lftp-4.0.2.91-lafile.patch
@@ -0,0 +1,21 @@
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -18,7 +18,8 @@
+ example_module1_la_SOURCES = example-module1.cc
+ example_module1_la_LDFLAGS = -module -avoid-version -rpath $(pkgverlibdir)
+
+-TASK_MODULES = liblftp-pty.la liblftp-network.la proto-ftp.la proto-http.la proto-file.la proto-fish.la proto-sftp.la
++TASK_MODULES = liblftp-pty.la liblftp-network.la proto-ftp.la proto-http.la proto-file.la proto-fish.la proto-sftp.la liblftp-tasks.la liblftp-jobs.la
++
+ JOB_MODULES = cmd-mirror.la cmd-sleep.la cmd-torrent.la
+ if WITH_MODULES
+ pkgverlib_LTLIBRARIES = $(TASK_MODULES) $(JOB_MODULES)
+@@ -26,8 +27,6 @@
+ TASK_MODULES_STATIC = $(TASK_MODULES)
+ JOB_MODULES_STATIC = $(JOB_MODULES)
+ endif
+-lib_LTLIBRARIES = liblftp-tasks.la liblftp-jobs.la
+-
+ proto_ftp_la_SOURCES = ftpclass.cc ftpclass.h FtpListInfo.cc FtpListInfo.h\
+ FtpDirList.cc FtpDirList.h ftp-opie.c FileCopyFtp.cc FileCopyFtp.h
+ proto_http_la_SOURCES = Http.cc Http.h HttpDir.cc HttpDir.h HttpDirXML.cc
diff --git a/net-ftp/lftp/files/lftp-4.5.5-am_config_header.patch b/net-ftp/lftp/files/lftp-4.5.5-am_config_header.patch
new file mode 100644
index 000000000000..28a9e80504a5
--- /dev/null
+++ b/net-ftp/lftp/files/lftp-4.5.5-am_config_header.patch
@@ -0,0 +1,11 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -5,7 +5,7 @@
+ AC_CONFIG_MACRO_DIR([m4])
+ AC_CONFIG_LIBOBJ_DIR([lib])
+ AC_CONFIG_SRCDIR([src/ftpclass.cc])
+-AM_CONFIG_HEADER([lib/config.h])
++AC_CONFIG_HEADERS([lib/config.h])
+ AM_INIT_AUTOMAKE
+
+ dnl This doesn't *require* GNU extensions; it merely enables them if
diff --git a/net-ftp/lftp/files/lftp-4.7.0-gettext.patch b/net-ftp/lftp/files/lftp-4.7.0-gettext.patch
new file mode 100644
index 000000000000..729410a9ddf6
--- /dev/null
+++ b/net-ftp/lftp/files/lftp-4.7.0-gettext.patch
@@ -0,0 +1,11 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -138,7 +138,7 @@
+
+ ALL_LINGUAS="de es fr it ja ko pl pt_BR ru uk zh_CN zh_TW zh_HK cs"
+ AM_GNU_GETTEXT([external])
+-AM_GNU_GETTEXT_VERSION([0.15])
++AM_GNU_GETTEXT_VERSION([0.19])
+ test "$MSGFMT" = "no" && MSGFMT ="$missing_dir/missing msgfmt"
+ test "$GMSGFMT" = "no" && GMSGFMT ="$missing_dir/missing msgfmt"
+ test "$XGETTEXT" = ":" && XGETTEXT="$missing_dir/missing xgettext"
diff --git a/net-ftp/lftp/lftp-4.7.5.ebuild b/net-ftp/lftp/lftp-4.7.5.ebuild
new file mode 100644
index 000000000000..b9013a02ed9a
--- /dev/null
+++ b/net-ftp/lftp/lftp-4.7.5.ebuild
@@ -0,0 +1,94 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit autotools eutils libtool
+
+DESCRIPTION="A sophisticated ftp/sftp/http/https/torrent client and file transfer program"
+HOMEPAGE="https://lftp.tech/"
+SRC_URI="${HOMEPAGE}ftp/${P}.tar.xz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 ~s390 sparc x86 ~sparc-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x86-solaris"
+
+IUSE="convert-mozilla-cookies +gnutls idn ipv6 libressl nls socks5 +ssl verify-file"
+LFTP_LINGUAS=( cs de es fr it ja ko pl pt_BR ru uk zh_CN zh_HK zh_TW )
+IUSE+=" ${LFTP_LINGUAS[@]/#/linguas_}"
+RESTRICT="test"
+
+RDEPEND="
+ >=sys-libs/ncurses-5.1:=
+ >=sys-libs/readline-5.1:=
+ dev-libs/expat
+ sys-libs/zlib
+ convert-mozilla-cookies? ( dev-perl/DBI )
+ idn? ( net-dns/libidn )
+ socks5? (
+ >=net-proxy/dante-1.1.12
+ virtual/pam
+ )
+ ssl? (
+ gnutls? ( >=net-libs/gnutls-1.2.3:0= )
+ !gnutls? (
+ !libressl? ( dev-libs/openssl:0= )
+ libressl? ( dev-libs/libressl:0= )
+ )
+ )
+ verify-file? (
+ dev-perl/String-CRC32
+ virtual/perl-Digest-MD5
+ )
+"
+
+DEPEND="
+ ${RDEPEND}
+ =sys-devel/libtool-2*
+ app-arch/xz-utils
+ nls? ( >=sys-devel/gettext-0.19 )
+ virtual/pkgconfig
+"
+
+DOCS=(
+ BUGS ChangeLog FAQ FEATURES MIRRORS NEWS README README.debug-levels
+ README.dnssec README.modules THANKS TODO
+)
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-4.0.2.91-lafile.patch
+ "${FILESDIR}"/${PN}-4.5.5-am_config_header.patch
+ "${FILESDIR}"/${PN}-4.7.0-gettext.patch
+)
+
+src_prepare() {
+ default
+
+ eautoreconf
+ elibtoolize # for Darwin bundles
+
+ # bug #536036
+ printf 'set fish:auto-confirm no\nset sftp:auto-confirm no\n' >> ${PN}.conf || die
+}
+
+src_configure() {
+ econf \
+ $(use_enable ipv6) \
+ $(use_enable nls) \
+ $(use_with idn libidn) \
+ $(use_with socks5 socksdante "${EPREFIX}"/usr) \
+ $(usex ssl "$(use_with !gnutls openssl ${EPREFIX}/usr)" '--without-openssl') \
+ $(usex ssl "$(use_with gnutls)" '--without-gnutls') \
+ --enable-packager-mode \
+ --sysconfdir="${EPREFIX}"/etc/${PN} \
+ --with-modules \
+ --with-readline="${EPREFIX}"/usr \
+ --without-included-regex
+}
+
+src_install() {
+ default
+ local script
+ for script in {convert-mozilla-cookies,verify-file}; do
+ use ${script} || { rm "${ED}"/usr/share/${PN}/${script} || die ;}
+ done
+}
diff --git a/net-ftp/lftp/lftp-4.8.1.ebuild b/net-ftp/lftp/lftp-4.8.1.ebuild
new file mode 100644
index 000000000000..90a9934a1bcd
--- /dev/null
+++ b/net-ftp/lftp/lftp-4.8.1.ebuild
@@ -0,0 +1,97 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit autotools eutils libtool
+
+DESCRIPTION="A sophisticated ftp/sftp/http/https/torrent client and file transfer program"
+HOMEPAGE="https://lftp.tech/"
+SRC_URI="
+ ${HOMEPAGE}ftp/${P}.tar.xz
+"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~sparc-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x86-solaris"
+
+IUSE="convert-mozilla-cookies +gnutls idn ipv6 libressl nls socks5 +ssl verify-file"
+LFTP_LINGUAS=( cs de es fr it ja ko pl pt_BR ru uk zh_CN zh_HK zh_TW )
+IUSE+=" ${LFTP_LINGUAS[@]/#/linguas_}"
+RESTRICT="test"
+
+RDEPEND="
+ >=sys-libs/ncurses-5.1:=
+ >=sys-libs/readline-5.1:=
+ dev-libs/expat
+ sys-libs/zlib
+ convert-mozilla-cookies? ( dev-perl/DBI )
+ idn? ( net-dns/libidn2 )
+ socks5? (
+ >=net-proxy/dante-1.1.12
+ virtual/pam
+ )
+ ssl? (
+ gnutls? ( >=net-libs/gnutls-1.2.3:0= )
+ !gnutls? (
+ !libressl? ( dev-libs/openssl:0= )
+ libressl? ( dev-libs/libressl:0= )
+ )
+ )
+ verify-file? (
+ dev-perl/String-CRC32
+ virtual/perl-Digest-MD5
+ )
+"
+
+DEPEND="
+ ${RDEPEND}
+ =sys-devel/libtool-2*
+ app-arch/xz-utils
+ nls? ( >=sys-devel/gettext-0.19 )
+ virtual/pkgconfig
+"
+
+DOCS=(
+ BUGS ChangeLog FAQ FEATURES MIRRORS NEWS README README.debug-levels
+ README.dnssec README.modules THANKS TODO
+)
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-4.0.2.91-lafile.patch
+ "${FILESDIR}"/${PN}-4.5.5-am_config_header.patch
+ "${FILESDIR}"/${PN}-4.7.0-gettext.patch
+)
+
+src_prepare() {
+ default
+
+ eautoreconf
+
+ elibtoolize # for Darwin bundles
+
+ # bug #536036
+ printf 'set fish:auto-confirm no\nset sftp:auto-confirm no\n' >> ${PN}.conf || die
+}
+
+src_configure() {
+ econf \
+ $(use_enable ipv6) \
+ $(use_enable nls) \
+ $(use_with idn libidn2) \
+ $(use_with socks5 socksdante "${EPREFIX}"/usr) \
+ $(usex ssl "$(use_with !gnutls openssl ${EPREFIX}/usr)" '--without-openssl') \
+ $(usex ssl "$(use_with gnutls)" '--without-gnutls') \
+ --enable-packager-mode \
+ --sysconfdir="${EPREFIX}"/etc/${PN} \
+ --with-modules \
+ --with-readline="${EPREFIX}"/usr \
+ --without-included-regex
+}
+
+src_install() {
+ default
+ local script
+ for script in {convert-mozilla-cookies,verify-file}; do
+ use ${script} || { rm "${ED}"/usr/share/${PN}/${script} || die ;}
+ done
+}
diff --git a/net-ftp/lftp/lftp-4.8.2.ebuild b/net-ftp/lftp/lftp-4.8.2.ebuild
new file mode 100644
index 000000000000..90a9934a1bcd
--- /dev/null
+++ b/net-ftp/lftp/lftp-4.8.2.ebuild
@@ -0,0 +1,97 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit autotools eutils libtool
+
+DESCRIPTION="A sophisticated ftp/sftp/http/https/torrent client and file transfer program"
+HOMEPAGE="https://lftp.tech/"
+SRC_URI="
+ ${HOMEPAGE}ftp/${P}.tar.xz
+"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~sparc-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x86-solaris"
+
+IUSE="convert-mozilla-cookies +gnutls idn ipv6 libressl nls socks5 +ssl verify-file"
+LFTP_LINGUAS=( cs de es fr it ja ko pl pt_BR ru uk zh_CN zh_HK zh_TW )
+IUSE+=" ${LFTP_LINGUAS[@]/#/linguas_}"
+RESTRICT="test"
+
+RDEPEND="
+ >=sys-libs/ncurses-5.1:=
+ >=sys-libs/readline-5.1:=
+ dev-libs/expat
+ sys-libs/zlib
+ convert-mozilla-cookies? ( dev-perl/DBI )
+ idn? ( net-dns/libidn2 )
+ socks5? (
+ >=net-proxy/dante-1.1.12
+ virtual/pam
+ )
+ ssl? (
+ gnutls? ( >=net-libs/gnutls-1.2.3:0= )
+ !gnutls? (
+ !libressl? ( dev-libs/openssl:0= )
+ libressl? ( dev-libs/libressl:0= )
+ )
+ )
+ verify-file? (
+ dev-perl/String-CRC32
+ virtual/perl-Digest-MD5
+ )
+"
+
+DEPEND="
+ ${RDEPEND}
+ =sys-devel/libtool-2*
+ app-arch/xz-utils
+ nls? ( >=sys-devel/gettext-0.19 )
+ virtual/pkgconfig
+"
+
+DOCS=(
+ BUGS ChangeLog FAQ FEATURES MIRRORS NEWS README README.debug-levels
+ README.dnssec README.modules THANKS TODO
+)
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-4.0.2.91-lafile.patch
+ "${FILESDIR}"/${PN}-4.5.5-am_config_header.patch
+ "${FILESDIR}"/${PN}-4.7.0-gettext.patch
+)
+
+src_prepare() {
+ default
+
+ eautoreconf
+
+ elibtoolize # for Darwin bundles
+
+ # bug #536036
+ printf 'set fish:auto-confirm no\nset sftp:auto-confirm no\n' >> ${PN}.conf || die
+}
+
+src_configure() {
+ econf \
+ $(use_enable ipv6) \
+ $(use_enable nls) \
+ $(use_with idn libidn2) \
+ $(use_with socks5 socksdante "${EPREFIX}"/usr) \
+ $(usex ssl "$(use_with !gnutls openssl ${EPREFIX}/usr)" '--without-openssl') \
+ $(usex ssl "$(use_with gnutls)" '--without-gnutls') \
+ --enable-packager-mode \
+ --sysconfdir="${EPREFIX}"/etc/${PN} \
+ --with-modules \
+ --with-readline="${EPREFIX}"/usr \
+ --without-included-regex
+}
+
+src_install() {
+ default
+ local script
+ for script in {convert-mozilla-cookies,verify-file}; do
+ use ${script} || { rm "${ED}"/usr/share/${PN}/${script} || die ;}
+ done
+}
diff --git a/net-ftp/lftp/lftp-9999.ebuild b/net-ftp/lftp/lftp-9999.ebuild
new file mode 100644
index 000000000000..7193beabd857
--- /dev/null
+++ b/net-ftp/lftp/lftp-9999.ebuild
@@ -0,0 +1,94 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit autotools eutils git-r3 libtool
+
+DESCRIPTION="A sophisticated ftp/sftp/http/https/torrent client and file transfer program"
+HOMEPAGE="https://lftp.tech/"
+EGIT_REPO_URI="https://github.com/lavv17/lftp"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS=""
+
+IUSE="convert-mozilla-cookies +gnutls idn ipv6 libressl nls socks5 +ssl verify-file"
+LFTP_LINGUAS=( cs de es fr it ja ko pl pt_BR ru uk zh_CN zh_HK zh_TW )
+IUSE+=" ${LFTP_LINGUAS[@]/#/linguas_}"
+
+RDEPEND="
+ >=sys-libs/ncurses-5.1:=
+ >=sys-libs/readline-5.1:=
+ dev-libs/expat
+ sys-libs/zlib
+ convert-mozilla-cookies? ( dev-perl/DBI )
+ idn? ( net-dns/libidn )
+ socks5? (
+ >=net-proxy/dante-1.1.12
+ virtual/pam
+ )
+ ssl? (
+ gnutls? ( >=net-libs/gnutls-1.2.3:0= )
+ !gnutls? (
+ !libressl? ( dev-libs/openssl:0= )
+ libressl? ( dev-libs/libressl:0= )
+ )
+ )
+ verify-file? (
+ dev-perl/String-CRC32
+ virtual/perl-Digest-MD5
+ )
+"
+
+DEPEND="
+ ${RDEPEND}
+ dev-libs/gnulib
+ =sys-devel/libtool-2*
+ app-arch/xz-utils
+ nls? ( >=sys-devel/gettext-0.19 )
+ virtual/pkgconfig
+"
+
+DOCS=(
+ BUGS ChangeLog FAQ FEATURES MIRRORS NEWS README README.debug-levels
+ README.dnssec README.modules THANKS TODO
+)
+PATCHES=(
+ "${FILESDIR}"/${PN}-4.5.5-am_config_header.patch
+)
+
+src_prepare() {
+ default
+
+ gnulib-tool --update || die
+
+ chmod +x build-aux/git-version-gen || die
+
+ eautoreconf
+ elibtoolize # for Darwin bundles
+}
+
+src_configure() {
+ econf \
+ $(use_enable ipv6) \
+ $(use_enable nls) \
+ $(use_with idn libidn) \
+ $(use_with socks5 socksdante "${EPREFIX}"/usr) \
+ $(usex ssl "$(use_with !gnutls openssl ${EPREFIX}/usr)" '--without-openssl') \
+ $(usex ssl "$(use_with gnutls)" '--without-gnutls') \
+ --enable-packager-mode \
+ --sysconfdir="${EPREFIX}"/etc/${PN} \
+ --with-modules \
+ --with-readline="${EPREFIX}"/usr \
+ --without-included-regex
+}
+
+src_install() {
+ # FIXME: MKDIR_P is not getting picked up in po/Makefile
+ emake DESTDIR="${D}" mkdir_p="mkdir -p" install
+
+ local script
+ for script in {convert-mozilla-cookies,verify-file}; do
+ use ${script} || { rm "${ED}"/usr/share/${PN}/${script} || die ;}
+ done
+}
diff --git a/net-ftp/lftp/metadata.xml b/net-ftp/lftp/metadata.xml
new file mode 100644
index 000000000000..1c23e9e44b2d
--- /dev/null
+++ b/net-ftp/lftp/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="person">
+ <email>jer@gentoo.org</email>
+ <name>Jeroen Roovers</name>
+</maintainer>
+<use>
+<flag name="convert-mozilla-cookies">Install the convert-mozilla-cookies script and its run-time dependencies</flag>
+<flag name="verify-file">Install the verify-file script and its run-time dependencies</flag>
+</use>
+</pkgmetadata>
diff --git a/net-ftp/linksys-tftp/Manifest b/net-ftp/linksys-tftp/Manifest
new file mode 100644
index 000000000000..db6a1dfa651f
--- /dev/null
+++ b/net-ftp/linksys-tftp/Manifest
@@ -0,0 +1,7 @@
+AUX linksys-tftp-1.2.1-r1-Makefile.patch 734 SHA256 c4e0a048d5c0808ee1c88b3c7e662f397d528fe2204b55df1119e996b516cea5 SHA512 ebb5288cf4774550f7bcc090efd43873c631ff6a029e17fcbaffe9150d71b37a4f3f317744958c3a8864f0e64042f4bfcd144aecd6ee6bf245d8c34a63c875a3 WHIRLPOOL 536835213d08fd881632311db2630611e2ceb61d4768ff941850f62ec4d464a6cf45ffb21156469da347289d5cc85bcde9d5e2f346cb8d67e515c62d4e0b83da
+AUX linksys-tftp-1.2.1-r1-header.patch 959 SHA256 e042e698d2443cc029a9064bbb02e2199f05e49f6d70cd4e6ee8ae73edce3d74 SHA512 8d59f13f16b9b512488d5773904ac0f617d2bbbff567040e009e8033012435c713d0ebac5ea145add5adb8881a66eefef4926a8aab2adc6590826744549356f7 WHIRLPOOL 62663d233360512e371b42927dc1fc6cd99624bd599f72a7e69c5773ab7befef73509ebfb2b278f27a4d22293f118bec75506b23fded612d85e0d992e380bf2a
+DIST linksys-tftp-1.2.1.tar.bz2 11124 SHA256 872e9e58d0673d14ca00edfc1d2680a77c9737ba5a4654540182e5e5ffc7f16f SHA512 7d99cd7cc2144396fe008ed0fbc21053ef4e614021d6d2e24adca799d8eabd1b3c177b4bee20e14034170bc234d36e9eeaaf8e825513ef6f37e73643b91667fc WHIRLPOOL 52823f9dde9b4069b4ff6e0c742fcad8651e3206b4145e909a950dc5e24dbebbb393827e84a317b5a445e26f24f0245df11fee35cfc623964da7f23029cb4bf3
+EBUILD linksys-tftp-1.2.1-r3.ebuild 616 SHA256 c88ef7b755f4c0faec6b7a5cfc7a4a581f838435ecd38e2b3b94a01e9fb83aaa SHA512 e116e13d1ed342dbfae4ebb2f8e4288ea35990bf7ac08738958e8b177398fb09ab5b87724d2ab9791a03bdd11e6743e48885ce52db18fbeea27f051adf3e03d1 WHIRLPOOL 1e392712722376779a15628739029b8009095fd31ddd93f41e08c92016881842f4fe98b0767cdc1e15ae813106180ebdf94f1637e62139386b01a24031253bb9
+MISC ChangeLog 2926 SHA256 387728efde3a435dd46317d642fa416891054d9513d4c93356e1584fc31cb048 SHA512 b469224d122dc1fde02e37d1bf75a861fd41cf0ac1c95ce7c7a50454122371a468a30ce220eabcb49f45b7e7470d5a3b427dfd334de01fa58d4b71e5c54aa289 WHIRLPOOL 2bb49a936742f634ecc485ebea5344dd2842893267879bc9d2ecf03d00cf05abb018b5edc5a7c45b0cbfd2a7e90119d79bc261f77769a2ea7612b157f6c8941d
+MISC ChangeLog-2015 2846 SHA256 5464b15dbed45e7407b459c1567019cfef17e9ce2ef93ff1cc0b1b84aaf4cca2 SHA512 0504fee8d964ce548d9298bc22e3ab605a7f9b9421a3d9500143453ec2733a85d1a935db7145ea72a1aa9402ff1ac0c6ee682e3280d67b8e3b09d39f37b85cd2 WHIRLPOOL 449e5ec3bb39dbd204b4d9be46c33451a59f864d1dcc757eb9a31a32a61a8caf1fd1e90d55cced087c5213475a8989be9e8b3f053113b992c3c8dc5cfe5eeaf6
+MISC metadata.xml 341 SHA256 dce3246eaba00b1424c806bae267b3db0c411ba01177fe25f92c90a77c92645f SHA512 2a53ba435993e13fadce62e4aaed9f5cb635cf86a0793ed8ad06aa25ee1f7622ecad595c1952760bdfd3573c19a8a0296ba46b6db3200357e80a70da50eb22bb WHIRLPOOL 0a954392cfced59a06d3a138361385e6993281a01dd7d2ed615b00561a4a0028d7032e63c2acacf1ddc4c94b5e027d7e7770b9cb6a25f45ff97870dc591bd8d7
diff --git a/net-ftp/linksys-tftp/files/linksys-tftp-1.2.1-r1-Makefile.patch b/net-ftp/linksys-tftp/files/linksys-tftp-1.2.1-r1-Makefile.patch
new file mode 100644
index 000000000000..b374e808ece2
--- /dev/null
+++ b/net-ftp/linksys-tftp/files/linksys-tftp-1.2.1-r1-Makefile.patch
@@ -0,0 +1,28 @@
+Fix LDFLAGS (bug http://bugs.gentoo.org/336956 ) and
+CFLAGS (bug http://bugs.gentoo.org/240894 ) by
+Michael Weber <xmw@gentoo.org>
+
+--- linksys-tftp-1.2.1/Makefile
++++ linksys-tftp-1.2.1/Makefile
+@@ -19,18 +19,18 @@
+ # We override /usr/include/arpa/tftp.h with our own because
+ # we want tu_block to be unsigned short, not short as on most platforms
+ #
+-CFLAGS= -I. -O2 -Dsin=sin_x
++CFLAGS += -I. -Dsin=sin_x
+ #DEBUG
+ # CFLAGS= -I. -Wall -ggdb -Dsin=sin_x
+ SRCS= main.c tftp.c tftpsubs.c
+ OBJS= main.o tftp.o tftpsubs.o
+ DOBJS= tftpsubs.o
+-CC= gcc
++CC?= gcc
+
+ all: linksys-tftp
+
+ linksys-tftp: ${OBJS}
+- ${CC} -o $@ ${CFLAGS} ${OBJS}
++ ${CC} -o $@ ${CFLAGS} ${OBJS} ${LDFLAGS}
+
+ clean:
+ rm -f ${OBJS} ${DOBJS} *core linksys-tftp
diff --git a/net-ftp/linksys-tftp/files/linksys-tftp-1.2.1-r1-header.patch b/net-ftp/linksys-tftp/files/linksys-tftp-1.2.1-r1-header.patch
new file mode 100644
index 000000000000..9944f3c059bc
--- /dev/null
+++ b/net-ftp/linksys-tftp/files/linksys-tftp-1.2.1-r1-header.patch
@@ -0,0 +1,52 @@
+--- linksys-tftp-1.2.1/main.c
++++ linksys-tftp-1.2.1/main.c
+@@ -40,6 +40,10 @@
+ #include <setjmp.h>
+ #include <ctype.h>
+ #include <netdb.h>
++#include <stdlib.h>
++#include <string.h>
++#include <unistd.h>
++#include <sys/sendfile.h>
+
+ #define TIMEOUT 5 /* secs between rexmt's */
+
+@@ -110,7 +112,7 @@
+ char *index();
+ char *rindex();
+
+-main(argc, argv)
++int main(argc, argv)
+ char *argv[];
+ {
+ struct sockaddr_in sin;
+--- a/tftp.c
++++ b/tftp.c
+@@ -36,8 +36,8 @@
+ #include <stdio.h>
+ #include <errno.h>
+ #include <setjmp.h>
+-
+-extern int errno;
++#include <string.h>
++#include <unistd.h>
+
+ extern struct sockaddr_in sin; /* filled in by main */
+ extern int f; /* the opened socket */
+@@ -69,16 +69,6 @@ void timer(int sig)
+ longjmp(timeoutbuf, 1);
+ }
+
+-strnlen(s, n)
+- char *s;
+- int n;
+-{
+- int i = 0;
+-
+- while (n-- > 0 && *s++) i++;
+- return(i);
+-}
+-
+ /*
+ * Parse an OACK package and set blocksize accordingly
+ */
diff --git a/net-ftp/linksys-tftp/linksys-tftp-1.2.1-r3.ebuild b/net-ftp/linksys-tftp/linksys-tftp-1.2.1-r3.ebuild
new file mode 100644
index 000000000000..b265bc6ee05c
--- /dev/null
+++ b/net-ftp/linksys-tftp/linksys-tftp-1.2.1-r3.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit eutils toolchain-funcs
+
+DESCRIPTION="TFTP client suitable for uploading to the Linksys WRT54G Wireless Router"
+HOMEPAGE="https://www.redsand.net/solutions/linksys_tftp.html"
+SRC_URI="https://www.redsand.net/solutions/${P}.tar.bz2"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~ppc x86"
+IUSE=""
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-r1-header.patch
+ epatch "${FILESDIR}"/${P}-r1-Makefile.patch
+}
+
+src_compile() {
+ emake CC="$(tc-getCC)"
+}
+
+src_install() {
+ dobin linksys-tftp
+ dodoc README
+}
diff --git a/net-ftp/linksys-tftp/metadata.xml b/net-ftp/linksys-tftp/metadata.xml
new file mode 100644
index 000000000000..b2a49e29541c
--- /dev/null
+++ b/net-ftp/linksys-tftp/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>embedded@gentoo.org</email>
+ <name>Embedded Gentoo</name>
+ </maintainer>
+ <longdescription>An extended version of BSD tftp with passwords</longdescription>
+</pkgmetadata>
diff --git a/net-ftp/metadata.xml b/net-ftp/metadata.xml
new file mode 100644
index 000000000000..48d42818c2c6
--- /dev/null
+++ b/net-ftp/metadata.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE catmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<catmetadata>
+ <longdescription lang="en">
+ The net-ftp contains FTP (File Transfer Protocol) software.
+ </longdescription>
+ <longdescription lang="de">
+ Die Kategorie net-ftp enthält Software für das File Transfer Protocol (FTP).
+ </longdescription>
+ <longdescription lang="es">
+ La categoría net-ftp contiene programas relacionados con FTP, el
+ protocolo de transferencia de ficheros.
+ </longdescription>
+ <longdescription lang="ja">
+ net-ftpカテゴリーにはファイル・トランスファー・プロトコルの
+ ソフトウェアが含まれています。
+ </longdescription>
+ <longdescription lang="nl">
+ De net-ftp categorie bevat software voor gebruik van FTP (File Transfer Protocol).
+ </longdescription>
+ <longdescription lang="pt">
+ A categoria net-ftp contem programas relacionados com FTP (File Transfer
+ Protocol).
+ </longdescription>
+ <longdescription lang="sk">
+ Kategória net-ftp obsahuje aplikácie vzťahujúce sa k FTP (File Transfer Protocol).
+ </longdescription>
+ <longdescription lang="vi">
+ Nhóm net-ftp chứa các phần mềm FTP (File Transfer Protocol).
+ </longdescription>
+ <longdescription lang="it">
+ La categoria net-ftp contiene programmi per l'FTP (File Transfer Protocol).
+ </longdescription>
+ <longdescription lang="pl">
+ Kategoria net-ftp zawiera pakiety związane z FTP (File Transfer Protocol).
+ </longdescription>
+</catmetadata>
+
diff --git a/net-ftp/ncftp/Manifest b/net-ftp/ncftp/Manifest
new file mode 100644
index 000000000000..a2182085dc08
--- /dev/null
+++ b/net-ftp/ncftp/Manifest
@@ -0,0 +1,8 @@
+DIST ncftp-3.2.5.474.tar.bz2 454682 SHA256 b4ebe2415761a5137cd1d313c8fc1352f26d8963cc9e9e354e29720aa2089d42 SHA512 ebd7f618e5a9ac5e59f3e3dbf9b15765e80404416865212c0b2ee7339aafe2296867faf02fad2084e5a6377796e787d5cfc6599ec3f0e544c6b137734cfdc405 WHIRLPOOL 4b9c0a6bc5b90149d3a1b9ea24dea030faefa4dfe9e361c7694a2e1f133182bf85e46041de209a9a34d7be81b70870298c718a19dd41458dbc9c90283478cfd8
+DIST ncftp-3.2.6.tar.xz 418836 SHA256 7abd3e8f848f0efb4bb6a4bc5da58a59524d4378fc8d70a52adb0fe1fd00b89d SHA512 040db7e2ca2ee78b79d682a951fd98c1e0ee2936b64462259992d70c51241fa50ae06c66b4f40933ad0ab7122f581bbb8ba7cda764dba5f70a1f8c7d3d751199 WHIRLPOOL 9d41e9e1f9119482cdbb10b819a48b0e58e2df2f3f56fb1ccd0443527592d31aba48642b1831b272231fabb230b0c7c673099d2d272a6a9077001abbb02491a5
+DIST ncftp-325-v6.diff.gz 23295 SHA256 7fb95240c33aeca67e53be58f6016a7e1dcd753b125940f539dab7595e0d02ba SHA512 6e2e740fba2c2b5268ab5928db979ac813bd29dd76633603d69d747fdf765858e1de893a6067518b0b1f01d0b90d8d6426998f5d9b37bbbebe144951878e2b0a WHIRLPOOL 2f7868bdc0e74707a0b0e2e8a2a1b7d0634fd86ff440e5046a48d5b01c1efb86621a5844d56b0e8793d243fa1a998b6136d147a1a9aeeb95c00e1d312415ebb6
+EBUILD ncftp-3.2.5-r3.ebuild 1167 SHA256 2c1ffedc45bb169e925eab4515c763ae5771f46917cc7adf1d4617fce16a9390 SHA512 e17fbd19e18b55cf757cedca548a0568b366ee38dfc370468a03daecc9d5f028e3045999e54875e85bfc00c45bf32ac1fb7c50c7abbfed62fb1b89dc9e7c16ba WHIRLPOOL 1a6d1975cf8befd7e0c5e1c2d8ceeac793f88759d5af1e9ff0b6ab1ea48f16baa0ceb44c7f2b01ab1dff146a1ea9061c3b685d31fbd6b8be36f50ef06233da76
+EBUILD ncftp-3.2.6.ebuild 1060 SHA256 c94f4093fc2b88c365e00107c5be4552dd0358b1e8f74ad1cea4a9ee3e1c8997 SHA512 231619730f787b6a8005a1bd9af07245f7e8d6f718246a0d8e48e90f4d484aa0681584d3da34b6027ec78d3a097f0345d1996438da04a7736f16fba66d5b856b WHIRLPOOL d3fbe0da3bec649664967a99d25615bbe5fb3f97855f183f18f8aa32b9c27262cf88bc0e7084ba9247b70b2a11d4a6e6b74c6de7337d48938fd8d447ba17e2be
+MISC ChangeLog 2322 SHA256 9fd24ac61d902f6f69d1fc2e7538514fd21c16a2cfd52f346b52c1a53ef0d426 SHA512 b9c010dbaa123607a58c6d242e623a035e1f077e8a44b44ea413d5bc81f990db4cabcced811e98ffd8e500ca88ea494af9ab6e1992f5a43df3dd0686c86dccae WHIRLPOOL 0c7e1ad3f4bb741c127228be97f2c841b19565696e942106aa638d63485c8549ed359746f4d1048c8db7b772c6f825bdcfd78cee57142a82a795829a067a9ced
+MISC ChangeLog-2015 17803 SHA256 34f41bacc4fdf891983dcf4095aca1c5f28015754e4bdd9dcd29162c8bd2597e SHA512 b6d0a8be68acc8fcdf0c3a745685196808db6803991039f44f71d54c65ce930288fbe37c24aee47a623847c1a372c108897e5bd39321e18e821895965df5a1ad WHIRLPOOL b7f44ab88ccfd667a6632ac24cce1439e09170a15378077c872566499d4b477eb22091551689f59f586ac1cdac512d9486b639201af705d6cfde8d559ab83650
+MISC metadata.xml 738 SHA256 719fb096a36c8d1be308c67234688f6af2dea89fe59a0ef3445fdcc76d61008f SHA512 e792a9cbbc371515f5137c4c00faad6936b4c6cc27bcfd5bfab151b00002ae8159cb9b76777a4bdd59dd87ea951ea62898ac74f6afd8a4ec0a1e5dcec12210b3 WHIRLPOOL 6b08b542a318a5ab4e01163db4c1a631fbb709c4e0bb0df4842c30145583874dfce9a859206f0b4337e8e929e2cf5332bbb54d5892747a8fd14f2b79faaa35f3
diff --git a/net-ftp/ncftp/metadata.xml b/net-ftp/ncftp/metadata.xml
new file mode 100644
index 000000000000..ea305f5d25b0
--- /dev/null
+++ b/net-ftp/ncftp/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="person">
+ <email>jer@gentoo.org</email>
+ <name>Jeroen Roovers</name>
+</maintainer>
+<longdescription>
+NcFTP Client (also known as just NcFTP) is a set of FREE application
+programs implementing the File Transfer Protocol (FTP).
+
+The program has been in service on UNIX systems since 1991 and is a
+popular alternative to the FTP program, /usr/bin/ftp. NcFTP offers many
+ease-of-use and performance enhancements over the stock ftp client, and
+runs on a wide variety of UNIX platforms as well as operating systems
+such as Microsoft Windows and Apple Mac OS X.
+</longdescription>
+</pkgmetadata>
diff --git a/net-ftp/ncftp/ncftp-3.2.5-r3.ebuild b/net-ftp/ncftp/ncftp-3.2.5-r3.ebuild
new file mode 100644
index 000000000000..b0903768db2b
--- /dev/null
+++ b/net-ftp/ncftp/ncftp-3.2.5-r3.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit autotools eutils toolchain-funcs
+
+DESCRIPTION="An extremely configurable ftp client"
+HOMEPAGE="http://www.ncftp.com/"
+SRC_URI="
+ ftp://ftp.${PN}.com/${PN}/${P}-src.tar.bz2 -> ${P}.474.tar.bz2
+ mirror://openbsd/distfiles/${P//.}-v6.diff.gz
+"
+
+LICENSE="Clarified-Artistic"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~x86-solaris"
+IUSE="ipv6 pch"
+
+DEPEND="sys-libs/ncurses"
+RDEPEND="${DEPEND}"
+
+S=${WORKDIR}/${P/.474}
+
+src_prepare() {
+ epatch "${WORKDIR}"/${P//.}-v6.diff
+ tc-export CC
+ sed -i \
+ -e "s:CC=gcc:CC ?= ${CC}:" \
+ -e 's:@SFLAG@::' \
+ -e 's:@STRIP@:true:' \
+ Makefile.in */Makefile.in || die
+ AT_M4DIR=autoconf_local/ eautoreconf
+}
+
+src_configure() {
+ LC_ALL="C" \
+ LIBS="$( $(tc-getPKG_CONFIG) --libs ncurses)" \
+ econf \
+ $(use_enable ipv6) \
+ $(use_enable pch precomp) \
+ --disable-ccdv \
+ --disable-universal
+}
+
+src_install() {
+ default
+ dodoc README.txt doc/*.txt
+ dohtml doc/html/*.html
+}
diff --git a/net-ftp/ncftp/ncftp-3.2.6.ebuild b/net-ftp/ncftp/ncftp-3.2.6.ebuild
new file mode 100644
index 000000000000..db45d0a6a9c2
--- /dev/null
+++ b/net-ftp/ncftp/ncftp-3.2.6.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit autotools eutils toolchain-funcs
+
+DESCRIPTION="An extremely configurable ftp client"
+HOMEPAGE="http://www.ncftp.com/"
+SRC_URI="
+ ftp://ftp.${PN}.com/${PN}/${P}-src.tar.xz -> ${P}.tar.xz
+"
+
+LICENSE="Clarified-Artistic"
+SLOT="0"
+KEYWORDS="alpha amd64 ~arm hppa ia64 ~mips ppc ppc64 ~s390 ~sh ~sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~x86-solaris"
+IUSE="pch"
+
+DEPEND="
+ sys-libs/ncurses:*
+"
+RDEPEND="
+ ${DEPEND}
+"
+
+src_prepare() {
+ default
+
+ tc-export CC
+
+ sed -i \
+ -e "s:CC=gcc:CC ?= ${CC}:" \
+ -e 's:@SFLAG@::' \
+ -e 's:@STRIP@:true:' \
+ Makefile.in */Makefile.in || die
+
+ AT_M4DIR=autoconf_local/ eautoreconf
+}
+
+src_configure() {
+ LC_ALL="C" \
+ LIBS="$( $(tc-getPKG_CONFIG) --libs ncurses)" \
+ econf \
+ $(use_enable pch precomp) \
+ --disable-ccdv \
+ --disable-universal
+}
+
+src_install() {
+ default
+ dodoc README.txt doc/*.txt
+ docinto html
+ dodoc doc/html/*.html
+}
diff --git a/net-ftp/netkit-ftpd/Manifest b/net-ftp/netkit-ftpd/Manifest
new file mode 100644
index 000000000000..62e0e5d79a3d
--- /dev/null
+++ b/net-ftp/netkit-ftpd/Manifest
@@ -0,0 +1,16 @@
+AUX ftp.xinetd 207 SHA256 2f5195c5544e594e91d91da51db8cc551a48abf90656b8782e58bf008b878121 SHA512 3a9bd4b5d8eabe11a4db9eb9181accd735ffa3979f81ea38cdf11c888f5500e71d1f528c44f662ec0b990cff73d794770b60f39209b3865c747c36523433d477 WHIRLPOOL ec76203fc37962f2d54185d02446e307a6043fba495f983b078be297447a5ae4382200785fd0563163e35db86e420d83baccdcdb487c62eb137b43c0879bc338
+AUX netkit-ftpd-0.17-CVE-2008-4247.patch 2909 SHA256 fa585fd8499a8670015f35cc31f2b15ca2781ae9635a1eb4c1541eb18c9bdd4d SHA512 bf4469dd7ebc7b203e45b8503ef918acb273d8b5aac82657a0c7996a8e31a3b652a2879bc5a37b4917aa7fb45d39eaa87fe8c3e06eb10b79f0e07a2e88ee0a1d WHIRLPOOL 8c73c2224c0737ab0f0420df9bbd0d645e3459d7449903845895dd3afbd401d0658359d9fe1df173031f74f047cb879f20178c5c9214087148340df96aa9bc80
+AUX netkit-ftpd-0.17-build.patch 862 SHA256 2dabb6d6df74c15a1f97ea6fa90ed9ed7f437c5ebeb26f6ba4183362119b769c SHA512 68fc321b318acdad4685870af06096a3f165affe1edce7e8c4cde796c934d4b564c0b9faa07741eb0dcc9a3a1422a925c7bfcbe2cfdb5288308be26687867964 WHIRLPOOL cdcd3c585e1b2fd8758bc24b3e587d5c8fc08d81cc8d501225a9bc9daaa8907d63cbc68fc996ac68dbed7e38f67cd05ade64a83dc0f2d33d9bf4e224378ce0cd
+AUX netkit-ftpd-0.17-cleanup-ssl.patch 279 SHA256 110d1de5c37f29de6e9e753114d97c03742793481f1f377fd91a7b4dc5483076 SHA512 5c5c1c3d10a2d969701dbb2b23b56b367b28ba1e3aab33d1a14ae606d27a44870ec5f274819bccab1fa0f802712210af3b3118f5b9334092b853e8999ad391e3 WHIRLPOOL a84e857303e740bd2b23a78f9058a26b7fd219ef73785777b7aeb1d1cd7e491ceaf4dcf2076eb91f10e0cfc3433e13bf8111ad0e90ba2eb0c5ef50063dee2a1b
+AUX netkit-ftpd-0.17-cleanup.patch 186 SHA256 5eb8134a8be569f1fc448bb781193f1820bddd36e735b1d164de2dfd4071a12f SHA512 c0f407f324e7c28f7cd7b26d0ce53849f8e02910a7813b9fef4648f767856f361fb0157337b76425ebd27c056702808ab408a6969af19c17550bcea22094711c WHIRLPOOL 043af5246ebef524651b7246c378bacfa0bb85e4f7688ecd37f81b036b9ef2065ce66b493c87fa0feec21cef867c1015841ac13e3873f0de81efe64d05348105
+AUX netkit-ftpd-0.17-cross.patch 1353 SHA256 dc4af056be711835feb00ebb28505a8817a2e8f59f90627ab0307b4aea2022df SHA512 19bad02d42b6abaf6b4280a9fc0cd56e90183976251584976105042aa682c1a9354886945e1e6e2364e1487425a0771d772334979510d5da6deded7199880d66 WHIRLPOOL 2aa7f6792211da766c1fc1c2f5275dc6fbbad7c252f3efdf87808c2400ff8a93e0a6eba879c76aba1c43e8ee6b1311cd144f9ff6dd4e244398376032b1603062
+AUX netkit-ftpd-0.17-fclose-CVE-2007-6263.patch 658 SHA256 aa233506a3322bd9363aca4423b1bbb18ad618f2d722edae614b47640f42bb65 SHA512 c3a0c04504dbd946ac235cb8ed68fead4647cec893cdd94cf46bfabd3b4b21e2065835b5b42782d4a3e2661408a81d9c406234dcd9f96745901c0e52bd33f216 WHIRLPOOL 6c6c6199930fb8388b013b5b32e67917e76ccaa0d890ccb9e0af3799e7ce0dfed833f28ead2e91007636daffa7dcce3a4ff6fb1f7ee9490eebcd26a72230c9e6
+AUX netkit-ftpd-0.17-gcc41.patch 770 SHA256 d5ebda1221b9dbce3ba7ddccae846da65a0c7c5e544a0a8625d93396a3a1ea50 SHA512 9139fecff5b0169362f7c73a9502bc464925def180ec2f557c177bdb61eb63b9dcbeec5389199ce17abc0701dfa589851fdcad663a2d37192a1b4f8bbbbf5e35 WHIRLPOOL 91fae3b9ba25a176b712ffb4e9ddf3555ae2b6c0c8b856ff20fdb24bb4c18077d3ca41f63758d8d9008d686a5c7c8db77e551eccb62c059c8eb354af2653ae5c
+AUX netkit-ftpd-0.17-setguid.patch 1809 SHA256 7cf4924713e629bce9f0e7c483332046b336480da16156d6db5fa094b6d38424 SHA512 b9b9c2765440688b8ad66034d227c3e11f8fb3ead4c0268b78633af995e82f92def653b7cfe5528cb11f07e14b80e6ceb5e2603d5486aa4630605786fa1aa9ff WHIRLPOOL f16c2f08a039a7794937483adb09d40d8e70026fa5ae6f9fc8ac8fdd4b9e6a4705aa45c7e8c2054b0e46c69e9165f6c7e6677aea8f93ee5abfbb88a0c7e23150
+AUX netkit-ftpd-0.17-shadowfix.patch 587 SHA256 93c43a7033f24c3232438d81c5442e75cd4d38a2a6a9cf90ed73dc962d1203b6 SHA512 4e22825300c1979aad4df7f6c38e42276ca32536ae06474efa0150c423e93779f35c26a5eb0f02da503bec825cb45206893a3393b5120c5eb0d9bc146aa3c684 WHIRLPOOL d91d34b003fdaed94ff409f2a80939c9d659af50a32dd2e02d92d20f8bc5f519e05f9f19af3ea1af7c50ecb8bcfdf48a820617756c85352f261375d0f00d6559
+DIST linux-ftpd-0.17-ssl.patch 36459 SHA256 0082ee6a71fdd83f61e63166f7bbba97c204cdc67f9e1bf10f2df31590fba780 SHA512 f27dd2f9a50a2b3c38131c46cdb4420f81abfdbb7cd7e70d00e864da3e4562363d585a308e57b9abce7db64ede8d02e41710101e618f6c14489193776b2b1e71 WHIRLPOOL 1c2fb70da4bd8b8e5189dc3eb4c9606b056d905e89f397938358247fcd35dea26e1728ddd752748e1cd4364c0f140cf94f6c8932e5c3ee930b8ca22379982206
+DIST linux-ftpd-0.17.tar.gz 46763 SHA256 65a0b249e38bf3c3a16dbd4d3edd2657683ca8f47b307e92007f378b21d2fa65 SHA512 160191baa904b4c404473e2c1de23813de1b31cbb11a3c28ff64f9953aec8270b74d865a57d5aaa6d25cf404c8aeadff05348a9b32847a2a137ef4c998557d58 WHIRLPOOL 5f0783a2ddc11519132db10ed837241eec8ef9cddff00891728ead29a4170858d96518bb05b8bf0dfa9204b1ed5033ffbc3d0106b9ccd1dca201e4d5a2819f46
+EBUILD netkit-ftpd-0.17-r9.ebuild 1696 SHA256 922ae59b9821c7479e3f5aa08d48df620272b6105e91a1bff3cc0ec0ff5e766b SHA512 8c6f5e3accfe4ef8ad571e36a7afe0b27d9d424e80886ce551129f0b163eb0024a34308c1b6462b09bb2a2e59beaf8f0caab7ba07dabcd607bbd117f7284b8dd WHIRLPOOL c3e51725584ff373986a1df9aa05bee95bc0bdefd57276974ca336629d1b54f8814cbade80cdc225abca0e435fed85b1f86580ddd775ec57a26a0ce6d79d31a8
+MISC ChangeLog 3496 SHA256 dc25a6fb9f68c7132eb2bea1a55699f8eab8f41587d7aa6e36d9ecb96780d208 SHA512 7e762788b095c1b659c8b5bd36126de1660036ee80404779e4ba2048ddfd3510ab5b402df4ad7c248459d56407042c66d549f60703ea544a22601fb08b160139 WHIRLPOOL 5f9601f4c25950dd2df3d15825b618f8e7ef822201208d20a1ccdec868954f97899d016502f17abde5fcf00520bfad75a3c9edf1fa33006cd58bae253da77100
+MISC ChangeLog-2015 8059 SHA256 b772f81552f48c1bcea3fddb255e04a3f86274c305509130ac6c60a291415a97 SHA512 5216788ab8f8a1803d261699b850bf3d670a6e7e2ba943743059a773c643df341df82b4f14f4034f291dcba8c6612f814d777fdda166d75ac56340cadd64d24e WHIRLPOOL 57925c02889b3cbba2af5079ec1bec888378c329ce3878e32b573130f54fe3161236f4c2ea95a3c7756855fc4f486c94af2b630cc39bd0434360471b268643f9
+MISC metadata.xml 253 SHA256 d82c33ef453113a5c1ebe250dcba373c22934a69b0a86c6ab15a5ca589c25b91 SHA512 54a9069aeb4165d2dff3d473c8001bc51613aac9dff3f7f5e9971a9891a737a31511ffa11cbd523febe581ac1d9de2bdf2f40410f0c4239138f2ccca3ef15555 WHIRLPOOL e5aee23acff864609953a1e4de768f0e4aef704b44c53c021f28573e1ca5c99f1a46d92935ecec2449f7b4419a36d8373127d0ecfa8d7bae72d835e1839eb3f8
diff --git a/net-ftp/netkit-ftpd/files/ftp.xinetd b/net-ftp/netkit-ftpd/files/ftp.xinetd
new file mode 100644
index 000000000000..1d486c3a45f6
--- /dev/null
+++ b/net-ftp/netkit-ftpd/files/ftp.xinetd
@@ -0,0 +1,12 @@
+# default: off
+# description: The netkit ftp daemon with optional SSL support.
+
+service ftp
+{
+ socket_type = stream
+ protocol = tcp
+ wait = no
+ user = root
+ server = /usr/bin/ftpd
+ disable = yes
+}
diff --git a/net-ftp/netkit-ftpd/files/netkit-ftpd-0.17-CVE-2008-4247.patch b/net-ftp/netkit-ftpd/files/netkit-ftpd-0.17-CVE-2008-4247.patch
new file mode 100644
index 000000000000..e1b50c825bfc
--- /dev/null
+++ b/net-ftp/netkit-ftpd/files/netkit-ftpd-0.17-CVE-2008-4247.patch
@@ -0,0 +1,108 @@
+http://bugs.gentoo.org/239047
+
+--- linux-ftpd-0.17/ftpd/extern.h
++++ linux-ftpd-0.17/ftpd/extern.h
+@@ -43,7 +43,7 @@ void dologout __P((int));
+ void fatal __P((const char *));
+ int ftpd_pclose __P((FILE *));
+ FILE *ftpd_popen __P((char *, const char *));
+-char *ftpd_getline __P((char *, int, FILE *));
++int ftpd_getline __P((char *, int, FILE *));
+ void ftpdlogwtmp __P((const char *, const char *, const char *));
+ void lreply __P((int, const char *, ...));
+ void makedir __P((char *));
+--- linux-ftpd-0.17/ftpd/ftpcmd.y
++++ linux-ftpd-0.17/ftpd/ftpcmd.y
+@@ -980,7 +980,7 @@ static struct tab *lookup(struct tab *p,
+ /*
+ * getline - a hacked up version of fgets to ignore TELNET escape codes.
+ */
+-char * ftpd_getline(char *s, int n, FILE *iop)
++int ftpd_getline(char *s, int n, FILE *iop)
+ {
+ int c;
+ register char *cs;
+@@ -995,7 +995,7 @@ char * ftpd_getline(char *s, int n, FILE
+ if (debug)
+ syslog(LOG_DEBUG, "command: %s", s);
+ tmpline[0] = '\0';
+- return(s);
++ return(0);
+ }
+ if (c == 0)
+ tmpline[0] = '\0';
+@@ -1037,11 +1037,22 @@ char * ftpd_getline(char *s, int n, FILE
+ }
+ }
+ *cs++ = c;
+- if (--n <= 0 || c == '\n')
++ if (--n <= 0) {
++ /*
++ * If command doesn't fit into buffer, discard the
++ * rest of the command and indicate truncation.
++ * This prevents the command to be split up into
++ * multiple commands.
++ */
++ while (c != '\n' && (c = getc(iop)) != EOF)
++ ;
++ return (-2);
++ }
++ if (c == '\n')
+ break;
+ }
+ if (c == EOF && cs == s)
+- return (NULL);
++ return (-1);
+ *cs++ = '\0';
+ if (debug) {
+ if (!guest && strncasecmp("pass ", s, 5) == 0) {
+@@ -1061,7 +1072,7 @@ char * ftpd_getline(char *s, int n, FILE
+ syslog(LOG_DEBUG, "command: %.*s", len, s);
+ }
+ }
+- return (s);
++ return (0);
+ }
+
+ void toolong(int signo)
+@@ -1090,9 +1101,14 @@ static int yylex(void)
+ case CMD:
+ (void) signal(SIGALRM, toolong);
+ (void) alarm((unsigned) timeout);
+- if (ftpd_getline(cbuf, sizeof(cbuf)-1, stdin)==NULL) {
++ n = ftpd_getline(cbuf, sizeof(cbuf)-1, stdin);
++ if (n == -1) {
+ reply(221, "You could at least say goodbye.");
+ dologout(0);
++ } else if (n == -2) {
++ reply(500, "Command too long.");
++ alarm(0);
++ continue;
+ }
+ (void) alarm(0);
+ if ((cp = strchr(cbuf, '\r'))) {
+--- linux-ftpd-0.17/ftpd/ftpd.c
++++ linux-ftpd-0.17/ftpd/ftpd.c
+@@ -2210,6 +2210,7 @@ void dologout(int status)
+ static void myoob(int signo)
+ {
+ char *cp;
++ int ret;
+ int save_errno = errno;
+
+ (void)signo;
+@@ -2218,9 +2219,13 @@ static void myoob(int signo)
+ if (!transflag)
+ return;
+ cp = tmpline;
+- if (ftpd_getline(cp, 7, stdin) == NULL) {
++ ret = ftpd_getline(cp, 7, stdin);
++ if (ret == -1) {
+ reply(221, "You could at least say goodbye.");
+ dologout(0);
++ } else if (ret == -2) {
++ /* Ignore truncated command */
++ return;
+ }
+ upper(cp);
+ if (strcmp(cp, "ABOR\r\n") == 0) {
diff --git a/net-ftp/netkit-ftpd/files/netkit-ftpd-0.17-build.patch b/net-ftp/netkit-ftpd/files/netkit-ftpd-0.17-build.patch
new file mode 100644
index 000000000000..6df58378c93f
--- /dev/null
+++ b/net-ftp/netkit-ftpd/files/netkit-ftpd-0.17-build.patch
@@ -0,0 +1,43 @@
+--- configure
++++ configure
+@@ -114,40 +114,6 @@
+ echo 'no'
+ fi
+
+-if [ x$DEBUG = x ]; then
+- echo -n "Checking if $CC accepts -O2... "
+- if (
+- $CC -O2 __conftest.c -o __conftest
+- ) >/dev/null 2>&1; then
+- echo 'yes'
+- CFLAGS="$CFLAGS -O2"
+- else
+- echo 'no'
+- echo -n "Checking if $CC accepts -O... "
+- if (
+- $CC -O __conftest.c -o __conftest
+- ) >/dev/null 2>&1; then
+- echo 'yes'
+- CFLAGS="$CFLAGS -O"
+- else
+- echo 'no'
+- fi
+- fi
+-
+-else
+- echo -n "Checking if $CC accepts -g... "
+- if (
+- $CC -g __conftest.c -o __conftest
+- ) >/dev/null 2>&1; then
+- echo 'yes'
+- CFLAGS="$CFLAGS -g"
+- else
+- echo 'no'
+- fi
+-
+-fi
+-
+-LDFLAGS=
+ LIBS=
+
+ rm -f __conftest*
diff --git a/net-ftp/netkit-ftpd/files/netkit-ftpd-0.17-cleanup-ssl.patch b/net-ftp/netkit-ftpd/files/netkit-ftpd-0.17-cleanup-ssl.patch
new file mode 100644
index 000000000000..e228eaceda5f
--- /dev/null
+++ b/net-ftp/netkit-ftpd/files/netkit-ftpd-0.17-cleanup-ssl.patch
@@ -0,0 +1,10 @@
+--- ftpd/ftpcmd.y
++++ ftpd/ftpcmd.y
+@@ -109,6 +109,7 @@
+ typedef struct ssl_st SSL;
+ int SSL_write(SSL *ssl,const char *buf,int num);
+ extern int do_ssl_start(void);
++int ssl_getc(SSL *ssl_con);
+ extern int ssl_secure_flag;
+ extern int ssl_active_flag;
+ extern SSL *ssl_con;
diff --git a/net-ftp/netkit-ftpd/files/netkit-ftpd-0.17-cleanup.patch b/net-ftp/netkit-ftpd/files/netkit-ftpd-0.17-cleanup.patch
new file mode 100644
index 000000000000..73289adfba05
--- /dev/null
+++ b/net-ftp/netkit-ftpd/files/netkit-ftpd-0.17-cleanup.patch
@@ -0,0 +1,10 @@
+--- ftpd/logwtmp.c
++++ ftpd/logwtmp.c
+@@ -43,6 +43,7 @@
+ #include <sys/types.h>
+ #include <sys/time.h>
+ #include <sys/stat.h>
++#include <time.h>
+
+ #include <fcntl.h>
+ #include <utmp.h>
diff --git a/net-ftp/netkit-ftpd/files/netkit-ftpd-0.17-cross.patch b/net-ftp/netkit-ftpd/files/netkit-ftpd-0.17-cross.patch
new file mode 100644
index 000000000000..cb6ad986a914
--- /dev/null
+++ b/net-ftp/netkit-ftpd/files/netkit-ftpd-0.17-cross.patch
@@ -0,0 +1,45 @@
+--- configure.orig 2008-05-11 12:02:50.000000000 -0700
++++ configure 2008-05-11 12:04:14.000000000 -0700
+@@ -93,7 +93,7 @@
+ echo -n 'Checking if C compiler works... '
+ if (
+ $CC __conftest.c -o __conftest || exit 1
+- ./__conftest || exit 1
++ [ -e __conftest ] || exit 1
+ ) >/dev/null 2>&1; then
+ echo 'yes'
+ else
+@@ -169,13 +169,13 @@
+ EOF
+ if (
+ $CC $CFLAGS __conftest.c -o __conftest || exit 1
+- ./__conftest || exit 1
++ [ -e __conftest ] || exit 1
+ ) >/dev/null 2>&1; then
+ echo 'yes'
+ else
+ if (
+ $CC $CFLAGS -D__USE_BSD_SIGNAL __conftest.c -o __conftest || exit 1
+- ./__conftest || exit 1
++ [ -e ./__conftest ] || exit 1
+ ) >/dev/null 2>&1; then
+ echo '-D__USE_BSD_SIGNAL'
+ CFLAGS="$CFLAGS -D__USE_BSD_SIGNAL"
+@@ -311,7 +311,7 @@
+ else
+ if (
+ $CC $CFLAGS -D_GNU_SOURCE __conftest.c -o __conftest || exit 1
+- ./__conftest || exit 1
++ [ -e ./__conftest ] || exit 1
+ ) >/dev/null 2>&1; then
+ echo '-D_GNU_SOURCE'
+ CFLAGS="$CFLAGS -D_GNU_SOURCE"
+@@ -342,7 +342,7 @@
+ EOF
+ if (
+ $CC $CFLAGS __conftest.c $LIBBSD -o __conftest || exit 1
+- ./__conftest || exit 1
++ [ -e ./__conftest ] || exit 1
+ ) >/dev/null 2>&1; then
+ echo 'ok'
+ else
diff --git a/net-ftp/netkit-ftpd/files/netkit-ftpd-0.17-fclose-CVE-2007-6263.patch b/net-ftp/netkit-ftpd/files/netkit-ftpd-0.17-fclose-CVE-2007-6263.patch
new file mode 100644
index 000000000000..5da61aee7343
--- /dev/null
+++ b/net-ftp/netkit-ftpd/files/netkit-ftpd-0.17-fclose-CVE-2007-6263.patch
@@ -0,0 +1,24 @@
+diff -u linux-ftpd-ssl-0.17.18+0.3/ftpd/ftpd.c linux-ftpd-ssl-0.17.18+0.3/ftpd/ftpd.c
+--- linux-ftpd-ssl-0.17.18+0.3/ftpd/ftpd.c
++++ linux-ftpd-ssl-0.17.18+0.3/ftpd/ftpd.c
+@@ -1729,7 +1729,7 @@
+ static FILE * dataconn(const char *name, off_t size, const char *mode, int stou)
+ {
+ char sizebuf[32];
+- FILE *file;
++ FILE *file = NULL;
+ int retry = 0, tos;
+
+ file_size = size;
+@@ -1822,7 +1822,10 @@
+ ERR_error_string(ERR_get_error(),NULL));
+ perror_reply(425, errbuf);
+ /* abort time methinks ... */
+- fclose(file);
++ if(file != NULL){
++ fclose(file);
++ file = NULL;
++ }
+ return NULL;
+ } else {
+ if (ssl_debug_flag) {
diff --git a/net-ftp/netkit-ftpd/files/netkit-ftpd-0.17-gcc41.patch b/net-ftp/netkit-ftpd/files/netkit-ftpd-0.17-gcc41.patch
new file mode 100644
index 000000000000..5f516ce5d356
--- /dev/null
+++ b/net-ftp/netkit-ftpd/files/netkit-ftpd-0.17-gcc41.patch
@@ -0,0 +1,32 @@
+--- linux-ftpd-0.17/ftpd/ftpcmd.y
++++ linux-ftpd-0.17/ftpd/ftpcmd.y
+@@ -125,7 +125,14 @@
+ char cbuf[512];
+ char *fromname;
+
+-struct tab;
++struct tab {
++ const char *name;
++ short token;
++ short state;
++ short implemented; /* 1 if command is implemented */
++ const char *help;
++};
++
+ static int yylex __P((void));
+ static void sizecmd __P((char *));
+ static void help __P((struct tab *, char *));
+@@ -891,13 +898,6 @@
+ #define SITECMD 7 /* SITE command */
+ #define NSTR 8 /* Number followed by a string */
+
+-struct tab {
+- const char *name;
+- short token;
+- short state;
+- short implemented; /* 1 if command is implemented */
+- const char *help;
+-};
+
+ struct tab cmdtab[] = { /* In order defined in RFC 765 */
+ { "AUTH", AUTH, STR1, 1, "<sp> auth_type" },
diff --git a/net-ftp/netkit-ftpd/files/netkit-ftpd-0.17-setguid.patch b/net-ftp/netkit-ftpd/files/netkit-ftpd-0.17-setguid.patch
new file mode 100644
index 000000000000..f5d0cf75fcfd
--- /dev/null
+++ b/net-ftp/netkit-ftpd/files/netkit-ftpd-0.17-setguid.patch
@@ -0,0 +1,66 @@
+--- linux-ftpd-0.17/ftpd/popen.c
++++ linux-ftpd-0.17/ftpd/popen.c
+@@ -169,8 +169,13 @@
+ * XXX: this doesn't seem right... and shouldn't
+ * we initgroups, or at least setgroups(0,0)?
+ */
+- setgid(getegid());
+- setuid(i);
++
++/*
++ * PSz 25 Aug 06 Must check the return status of these setgid/setuid calls,
++ * see http://www.bress.net/blog/archives/34-setuid-madness.html
++ */
++ if ( setgid(getegid()) != 0 ) _exit(1);
++ if ( setuid(i) != 0 ) _exit(1);
+
+ #ifndef __linux__
+ /*
+--- linux-ftpd-0.17/ftpd/ftpd.c
++++ linux-ftpd-0.17/ftpd/ftpd.c
+@@ -1159,6 +1159,13 @@
+ }
+ strcpy(pw->pw_dir, "/");
+ setenv("HOME", "/", 1);
++ }
++ /* PSz 25 Aug 06 chdir for real users done after setting UID */
++ if (seteuid((uid_t)pw->pw_uid) < 0) {
++ reply(550, "Can't set uid.");
++ goto bad;
++ }
++ if (guest || dochroot) { /* do nothing, handled above */
+ } else if (chdir(pw->pw_dir) < 0) {
+ if (chdir("/") < 0) {
+ reply(530, "User %s: can't change directory to %s.",
+@@ -1167,10 +1174,7 @@
+ } else
+ lreply(230, "No directory! Logging in with home=/");
+ }
+- if (seteuid((uid_t)pw->pw_uid) < 0) {
+- reply(550, "Can't set uid.");
+- goto bad;
+- }
++
+ sigfillset(&allsigs);
+ sigprocmask(SIG_UNBLOCK,&allsigs,NULL);
+
+@@ -1408,7 +1412,8 @@
+ goto bad;
+ sleep(tries);
+ }
+- (void) seteuid((uid_t)pw->pw_uid);
++/* PSz 25 Aug 06 Check return status */
++ if (seteuid((uid_t)pw->pw_uid) != 0) _exit(1);
+ sigfillset(&allsigs);
+ sigprocmask (SIG_UNBLOCK, &allsigs, NULL);
+
+@@ -1440,7 +1445,8 @@
+ bad:
+ /* Return the real value of errno (close may change it) */
+ t = errno;
+- (void) seteuid((uid_t)pw->pw_uid);
++/* PSz 25 Aug 06 Check return status */
++ if (seteuid((uid_t)pw->pw_uid) != 0) _exit(1);
+ sigfillset (&allsigs);
+ sigprocmask (SIG_UNBLOCK, &allsigs, NULL);
+ (void) close(s);
diff --git a/net-ftp/netkit-ftpd/files/netkit-ftpd-0.17-shadowfix.patch b/net-ftp/netkit-ftpd/files/netkit-ftpd-0.17-shadowfix.patch
new file mode 100644
index 000000000000..79a241ff9c51
--- /dev/null
+++ b/net-ftp/netkit-ftpd/files/netkit-ftpd-0.17-shadowfix.patch
@@ -0,0 +1,28 @@
+--- linux-ftpd-0.17/ftpd/Makefile
++++ linux-ftpd-0.17-patched/ftpd/Makefile
+@@ -19,7 +19,11 @@
+ all: ftpd
+
+ %.o: %.c
++ ifdef USE_SHADOW
++ $(CC) $(CFLAGS) -DUSE_SHADOW -DHASSETPROCTITLE $< -c
++ else
+ $(CC) $(CFLAGS) -DHASSETPROCTITLE $< -c
++ endif
+
+ ftpcmd.c: %.c: %.y
+ $(YACC) $<
+--- linux-ftpd-0.17/support/Makefile
++++ linux-ftpd-0.17-patched/support/Makefile
+@@ -5,7 +5,11 @@
+ all: libsupport.a
+
+ %.o: %.c
++ ifdef USE_SHADOW
++ $(CC) $(CFLAGS) -DUSE_SHADOW -DHASSETPROCTITLE $< -c
++ else
+ $(CC) $(CFLAGS) -DHASSETPROCTITLE $< -c
++ endif
+
+ libsupport.a: $(OBJS)
+ ar -cruv $@ $^
diff --git a/net-ftp/netkit-ftpd/metadata.xml b/net-ftp/netkit-ftpd/metadata.xml
new file mode 100644
index 000000000000..56c124413057
--- /dev/null
+++ b/net-ftp/netkit-ftpd/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="project">
+ <email>base-system@gentoo.org</email>
+ <name>Gentoo Base System</name>
+</maintainer>
+</pkgmetadata>
diff --git a/net-ftp/netkit-ftpd/netkit-ftpd-0.17-r9.ebuild b/net-ftp/netkit-ftpd/netkit-ftpd-0.17-r9.ebuild
new file mode 100644
index 000000000000..f5466dcc5136
--- /dev/null
+++ b/net-ftp/netkit-ftpd/netkit-ftpd-0.17-r9.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit eutils ssl-cert toolchain-funcs
+
+MY_P="linux-ftpd-${PV}"
+DESCRIPTION="The netkit FTP server with optional SSL support"
+HOMEPAGE="http://www.hcs.harvard.edu/~dholland/computers/netkit.html"
+SRC_URI="ftp://ftp.uk.linux.org/pub/linux/Networking/netkit/${MY_P}.tar.gz
+ mirror://gentoo/${MY_P}-ssl.patch"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ia64 ppc ~ppc64 s390 sh sparc x86"
+IUSE="libressl ssl"
+
+DEPEND="ssl? (
+ !libressl? ( dev-libs/openssl:0= )
+ libressl? ( dev-libs/libressl:0= ) )
+"
+RDEPEND="${DEPEND}
+ virtual/inetd
+ !www-servers/publicfile"
+
+S=${WORKDIR}/${MY_P}
+
+src_prepare() {
+ default
+
+ cd "${S}" || die
+ if use ssl; then
+ epatch "${DISTDIR}"/${MY_P}-ssl.patch
+ epatch "${FILESDIR}"/${P}-cleanup-ssl.patch
+ epatch "${FILESDIR}"/${P}-fclose-CVE-2007-6263.patch #199206
+ fi
+
+ epatch "${FILESDIR}"/${P}-cleanup.patch
+ epatch "${FILESDIR}"/${P}-build.patch
+ epatch "${FILESDIR}"/${P}-shadowfix.patch
+ epatch "${FILESDIR}"/${P}-gcc41.patch
+ epatch "${FILESDIR}"/${P}-setguid.patch
+ epatch "${FILESDIR}"/${P}-cross.patch
+ epatch "${FILESDIR}"/${P}-CVE-2008-4247.patch #239047
+}
+
+src_configure() {
+ tc-export CC
+ ./configure --prefix=/usr || die
+}
+
+src_compile() {
+ emake
+}
+
+src_install() {
+ dobin ftpd/ftpd
+ doman ftpd/ftpd.8
+ dodoc README ChangeLog
+ insinto /etc/xinetd.d
+ newins "${FILESDIR}"/ftp.xinetd ftp
+}
+
+pkg_postinst() {
+ if use ssl; then
+ install_cert /etc/ssl/certs/ftpd
+ elog "In order to start the server with SSL support"
+ elog "You need a certificate /etc/ssl/certs/ftpd.pem."
+ elog "A temporary certificiate has been created."
+ fi
+}
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
+}
diff --git a/net-ftp/oneclickftp/Manifest b/net-ftp/oneclickftp/Manifest
new file mode 100644
index 000000000000..cdcab7351036
--- /dev/null
+++ b/net-ftp/oneclickftp/Manifest
@@ -0,0 +1,6 @@
+AUX oneclickftp-0.5.1-qt47.patch 679 SHA256 fcccb44c76d84cf08ecb3cb344a247d5846f4c2431b2db62e228eedd415751f0 SHA512 238f0ccac1149f3324dac6c3c48e6616da4a8ba60e940a71eda997dea087b07e32cf239dd999c2fef3e3840a085665d4256b94b31a4616946bf80679a2d75a45 WHIRLPOOL db308a9fed32cefcc4336ba8f076127a46d3bead403ae54b768f91c9a2d4307bb99be33ae9eaae64d4fcc67e3a25bcfbd6e8bdfd85d108584a083c901374a0ab
+DIST oneclickftp-0.5.1.tar.gz 109759 SHA256 91a36cd7c2fb53e7ca6e7bef4d7ff62cf2c72967b242290184b4530326bd39b5 SHA512 69314faf29b7732b3a69958006e652cac97468cccff3ea3c8646f5633bfcf728d38ab412c6ab3c7b8451f314cc5e3078422eb65b41c207750ae88fc1d38d4b03 WHIRLPOOL 4d415aeba9c2134ac9d2638ba5dc043bc5f4aec62d52f21ff4b907035acd4569e46565f264449dc60d746065787243f8f0dc8bb890e58a0caaa4abb8d609a3a4
+EBUILD oneclickftp-0.5.1.ebuild 641 SHA256 aef8bb48a1150dd53682761d30101d30bf47bdd752c8149391fc7f70c8cc5424 SHA512 3579bb259d26ee9fb44d02b83d38a06743ec377a10202d4ed5cb3db59dbe4c74547e0814f9266b6ea8c76870b4e6d10345974629e4af4d2f123a03c059f66e0a WHIRLPOOL e9a01a1f0c88a8339669a077bbf537603829eb7a72697cb2c9364e72ee641b8d80494debacbe77b6c734b12ca26569e7d5b8d3d30d38eadb4303a416f381129e
+MISC ChangeLog 2612 SHA256 81ca741f632ee61c9c38f67e21b6b4e9fca5cf249e5c9d02e3b39c0ed234aed0 SHA512 8346711b4280a9cca965fe6035bf1daaf99c1bad65ff8804b9ac25ec31f0c2efe6f3b4285cbfbcd91000db7cbb6b08364d16436ce89bcf98faa2b2a9b7241d7b WHIRLPOOL 23b3d3856830f21a4e2a6afbff49d65af1ac70af8844f3ef8cdd38ae1208e78ad931ca76222b01884726b9862ff6d23052cba79eee31bb70332d3b52740aa904
+MISC ChangeLog-2015 762 SHA256 c4b4759841c396ecc8407789d069c52c882565570281f5d5bed5f82d0ec662a1 SHA512 e57ebf8f6520c1381b7ad0367ba60bb480195ba2da071f09452a2f1d52d369a2c2aff9b25689d13f10d416dad8a930cbfe6c87550bed9e399dbff39ce123f577 WHIRLPOOL 2764553615868e5340348cc7e5ac7b43fb58b49429458aa06040e68ece48a45cbaa893d425e0877965627957e6bf9cbed92fa76ba31687d7e690b6ede9380fc6
+MISC metadata.xml 338 SHA256 ccdabdcb024cba053a457096c123b36e8c7c756e8c892d51aecb24f070debbe2 SHA512 ac653b110f7197c0db29aa196c63530131fc31f4070493f82716a5025e1b9e8033bcbfdc17d036c5e4c9ad3b1a73304938a7ec9ed8c19c94d7d2caab2cb62cb8 WHIRLPOOL 0a8af9bffd6a2361b13db0cc194ec49a680c86571cf1ad9a1b154e58b7d3c8f65d6fd6d094f7db80e91302fb0f7091b36245430ed1c7972003550915b422a34f
diff --git a/net-ftp/oneclickftp/files/oneclickftp-0.5.1-qt47.patch b/net-ftp/oneclickftp/files/oneclickftp-0.5.1-qt47.patch
new file mode 100644
index 000000000000..bea8e32af477
--- /dev/null
+++ b/net-ftp/oneclickftp/files/oneclickftp-0.5.1-qt47.patch
@@ -0,0 +1,13 @@
+Index: oneclickftp-0.5.1/src/ftpwindowimpl.h
+===================================================================
+--- oneclickftp-0.5.1.orig/src/ftpwindowimpl.h
++++ oneclickftp-0.5.1/src/ftpwindowimpl.h
+@@ -38,7 +38,7 @@ class FTPWindowImpl : public QWidget, pu
+ {
+ Q_OBJECT
+ public:
+- FTPWindowImpl(QString Dir, QString Profile, QString ProxyIP = 0, QString ProxyPort = 0);
++ FTPWindowImpl(QString Dir, QString Profile, QString ProxyIP = QString::number(0), QString ProxyPort = QString::number(0));
+ bool Upload(OProfile *ProfiletoUpload, std::vector<OFileConnection*> SelectedFiles);
+ bool Download(OProfile *ProfiletoDownload, std::vector<OFileConnection*> SelectedFiles);
+
diff --git a/net-ftp/oneclickftp/metadata.xml b/net-ftp/oneclickftp/metadata.xml
new file mode 100644
index 000000000000..a7a22d8c9a5f
--- /dev/null
+++ b/net-ftp/oneclickftp/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>qt@gentoo.org</email>
+ <name>Gentoo Qt Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">oneclickftp</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/net-ftp/oneclickftp/oneclickftp-0.5.1.ebuild b/net-ftp/oneclickftp/oneclickftp-0.5.1.ebuild
new file mode 100644
index 000000000000..bd44189dc92f
--- /dev/null
+++ b/net-ftp/oneclickftp/oneclickftp-0.5.1.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit eutils qmake-utils
+
+DESCRIPTION="The somehow different FTP client"
+HOMEPAGE="http://oneclickftp.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="
+ app-crypt/qca:2[qt4(+)]
+ dev-qt/qtcore:4
+ dev-qt/qtgui:4
+"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}/${P}-qt47.patch"
+)
+
+src_configure() {
+ eqmake4
+}
+
+src_install() {
+ emake INSTALL_ROOT="${D}" install
+
+ doicon res/icons/${PN}.png
+ make_desktop_entry ${PN} ${PN}
+
+ einstalldocs
+}
diff --git a/net-ftp/proftpd/Manifest b/net-ftp/proftpd/Manifest
new file mode 100644
index 000000000000..069920fe4e86
--- /dev/null
+++ b/net-ftp/proftpd/Manifest
@@ -0,0 +1,24 @@
+AUX proftpd-1.3.6-use-trace.patch 477 SHA256 5d4e5da19f3dfe8ca96996f0b1250d6a452dbbcfdd381d835d3bbd04b82f8172 SHA512 90164f799d1f6c3768a30161a40d5c369e576c3b1a875047ef65c1224d3e18cf1f4dd5145c5ff6f7aeda80135134df58a1d57046129b922514cb56d1de97f13e WHIRLPOOL 18956f666f54ebb503d8c2516288b4e04ebc04e05aac3c9612eefa4944b4d87d28a3efcda85d536395a9bf96e46a50889983e1be53176f6226c4252c18ece3a1
+AUX proftpd-1.3.6_rc4-diskuse-refresh-api.patch 576 SHA256 68b27e9d457f87a80f6c4a1f943352bb5b81c0316250117f4b9a3166e99e9e4b SHA512 08a0674600944ff5d13033651a1dea1647c9d22f18efe6505e051b36566bf357bc41439d2dd7c2900e873ef8d600ba7f16332680dda1abb2529808fbe5a4e573 WHIRLPOOL 0b2c283027eedd7d3a6a58b2e8b1be80da47f3ea2c5094a4eff7452be3ab2e29361777d4f1e8008af46d84c8a4c7a23ed5fc4014c267d899d57f3c724fe4f0f0
+AUX proftpd-1.3.6_rc4-gss-refresh-api.patch 1868 SHA256 1e6360fba78b2f5242fbcb428c581365e66ea39e639bf3aa03e68609cfbcda51 SHA512 4cc235bdb60ea4c84794d4347826b040057067d8283dcfcb795d5d25a156de480df7d897078ab8ab4faf12d4fc9e714a55f723ce27c9397bc2223550597df674 WHIRLPOOL ffc1a64355593db43d40cf822c9b65f311b75223e14e334edaef1b4b916e36f085e30d13203beecc8d900023c8f85315f6b44f04c6f9c69ce4c8c64c82e4878d
+AUX proftpd-1.3.6_rc4-msg-refresh-api.patch 903 SHA256 dd232a954737848c8077b604b0d3c7050b3eb6e720aefd4e70489331dd25937b SHA512 d0dcc467289b4107aecee66edf122667b2fbb9b1f1a6a6ecea517f286090d22682200b9d11f503465cb9b5387e8fb749cc09c3033825282450fe1d6c0a4bb11d WHIRLPOOL b620914736899842696737932858ba3fe50dc2f90bf2d95dc96bd6ab0cda44d9fb29a5292ba2e9e421e98e24e446accef58542efca6d2e711b0dd9347aae5c06
+AUX proftpd-1.3.6_rc4-open-tests.patch 1206 SHA256 20d19ba6a64e961925d811e1921682b5df73a56537d89e37c2f7127bb0a81c6b SHA512 d860eebfa05870866e0e523af34c25d3c7513d4a2f0b0a84963f86c58475d957013fbf503f9d0934146c566326f49784dbc4e7ba4ac089a9214558a677bb9266 WHIRLPOOL 11562795fe868e3ee25f78e4d3caaf0609dff8d3c00b46c23c7fa21a7d59ff733d0bd168570edd7c13a71f7c263515db77afd63ddc34c94fdb47ab76807d1817
+AUX proftpd-1.3.6_rc4-vroot-refresh-api.patch 736 SHA256 fcc15a6c5f8f8cd8ad50328897c5be9aab772ed2997c858ac1a0e09582b1b295 SHA512 9cd98e2fb8c17d2ca38f5f7a20f5c6ffb03da7f51e53542237992bd2b98b2ef5b5fc0634cd7f5eef24fba8a601703b70ff7d0404e1c5103394e9fda260b815cd WHIRLPOOL 75cf5fede0c02128acbd93f31dfc6a501ad2488c8084c6fbc8771532a3a1d58c79676dbbeeded3eaeaf8e00989167d77169128eb7fe0f952a940a4c10b821638
+AUX proftpd-tmpfiles.d.conf 34 SHA256 75288bb0c76392ae10e7ef3ff27e7b665742cdac8ce4c70dff9f29d645d0f0f3 SHA512 aa6ffbf15e4275941837306259fb426608e82e45a2da4b99c5d7778d11b8c9341e3a12ae9b751d0e173635239b6f1b20f0431be17296c005a83525a48327fa52 WHIRLPOOL d3ef47f4e2abc178c2d153599e7b13148345a470c76410b499e41912f9e90a48c1217e7fdee3d6777b1598dd09840f8bffbd208fa9addbeaaaf9c64058d8df93
+AUX proftpd.conf.sample 1275 SHA256 a214b3937f319c70976d29cfcd47c2cd937d1d70b7274c2b241b1e97606e89c0 SHA512 1c26f3e98ed07d89192c640f7823af168c045abee6ab076791aee9d50be5446be870a189979df4b828e7ae907dd40a346f1b92998fa39195195bfada4061c5df WHIRLPOOL a9f71cf50926ccdf5fe1116250c29a4048e7eb7fc7eb73732023b7c6e78c56b02356c001c203d9dc8c46f817471116977f76e961a6b2a60c03ae1d4722d9e3e1
+AUX proftpd.initd 1434 SHA256 70d20dc3e830c7bd68048d137948d3b921f2498e4b95c1c9a30d88b1c75c510d SHA512 24875a5034813a12f1d24e1fa2c7a71330ffded96112d50dbe4fea6ea127f735eae48134e2f4c3faad168706eb9ff4e15f93dbbe7d6cb6ed0e0768e47aa1100b WHIRLPOOL 3acdbbc4a6682b1ad63b4195da150d36c5603b0e96150c62d59ad021e459405d3d9d2bf925d77b0d40e4d34b3fbd4089efbb73f797ade41617e61d029a453323
+AUX proftpd.service 196 SHA256 165235565ca2029c6c33d9e4b73f6da2b0ee08a662fd368dc9260761997b7277 SHA512 12ee7893d37a9d06140b5b6492be74308fe1165a741d4c1b6b690ab4b973f074cad8517fd36af54f2aa452494759d1534c11e70f7212cd55a37cfa439b953062 WHIRLPOOL 3d8f01d1c22a99d2410d492364833a718a008143c76856145372fa15a0cfc5727b1e744ed45e2fcc8303d90b7e10641662342c1b7d0a50c3bdbc3bd5958d8969
+AUX proftpd.xinetd 295 SHA256 150a5701f5c2788ecdf2c6ec228ce674963c9dc7bc1c511ad1eba8dfe05e2d5d SHA512 a13d29ca2289f8bd58b4eb317683d57dfb7d608c53f163844349bbf0b896790f5e9f47a27eafda3b8fc78e60f4a0d6859da7c7ced7df852166cf0b8bcad876d4 WHIRLPOOL 8fa187fe6aff903952257013d06f8953159787f03e6a1b1cd105f55bc6ed8fb70f03e02d4600c593152f9fc418b96fd7ac92555cdd6b9a8c59392e7852b8c186
+DIST mod_clamav-0.11rc.tar.gz 5115 SHA256 87630eb1866066d6320ee711897d8998b8f4915c0498b2e78cc0464abd34855a SHA512 6d33ee7b1c9c8e3fb0a0014dde90cfb1d37daa0f4914f147bb800a8318bcf0e03c7c6748d84cda36c5e5c7cd11ee8114bad9978362f581f367db54d3563f4636 WHIRLPOOL b15024d1011a83a10ce52fb676f1f2162d67750dc137600b624cd04ebd498bb3c9242e4889fd7b73c18224eb483286cb543fc627b27e6a8ff4c9bf35468218b9
+DIST mod_gss-1.3.6.tar.gz 117294 SHA256 bd1cb3f8ba0668981beb54d8b4de10ab204199327a464debd9da19196bbb23c4 SHA512 a7e2f201bc7706f47f583317899bf4bc6a75d5e284b20a4cd9019020d3427334ada92fa3bbb4e153a2cd68e04f76185472b46ed3d3d168bf52a4c200e70ed8e4 WHIRLPOOL 96dce4cf8027961d0358a6f6f7ab33a606bfeb9bfe52702663e6c176e21d1ec357617e2d7f780247895f489700d129b03a62712ffc945c1104b53508ea1fca32
+DIST mod_vroot-0.9.4.tar.gz 29461 SHA256 80c82c18639909a3b5219cbb76363584c0eb311535de38adb5d9040a9b12bde8 SHA512 f5de392c9fe39f0a03b0783a7092bbfe17ea6db991f4b4e4a2d8f092f073d27ef2c64dd6484d5665b5abc808c0caba016d4fc3fab3da3810f5ebe5249bb4cbce WHIRLPOOL a3e086812e270d96dd659bbb1c3afb7e84adfe8db525adb08ecaabe02afb972032b413b8e16e2a26a8d99f2a599a3901010a6d1201c964164559aacf6105dc2a
+DIST proftpd-1.3.5e.tar.gz 29968142 SHA256 8307dc0103a8e716b99745919be7f09b54708c57c7d5aa70262f7593dc56bc9d SHA512 54a9700af803297697e4b7f2d7dc82139785f9f2cbeb40b226f94ff3e8690f2e3672aa80373005dfec4b53f3dd9ca7b0a658ea39bda63e71292c810ba994eac7 WHIRLPOOL 3747ddb69936b1631b937bed9bc9865a75abcb1ec55ebf796c733f4cb1323b947c34142332d0d6c1f289b21174b83fe995e492ac77cb1d942aabd6467aaed143
+DIST proftpd-1.3.6.tar.gz 20251898 SHA256 91ef74b143495d5ff97c4d4770c6804072a8c8eb1ad1ecc8cc541b40e152ecaf SHA512 2a3ca76a0c35ba31e9d79f7f652f4f35768262f5039c5dc04ef83ac9218f624645ac6cee445af4ec6a8c59a9bdad1e7b48e0e90cd13934cbe7c3e77a2f6013c0 WHIRLPOOL 1b304015083a3e7a8aec15b306d802f6fe32cb0d8f0c5c260cfa0eb6e07d30ac2c5bb436d8cdaf1f379703fd73898a1d491a16d7c16150d87ca2349caff2f211
+DIST proftpd-mod-case-0.7.tar.gz 13184 SHA256 c3f65588250fea7771439933fa754927794f664e99b8d20f99b1e400fea62111 SHA512 c08d13ef82fec36ae75aa3213dd02e0ce4045904849f422e152f039a9da66a45e4423751074b8bcf8ce347a40ce0e7bde798a85cbadc962fd872aeaa898261fc WHIRLPOOL 27f49e9f34099c081add803aa679fd9abe7afa652dffe5d8e42889fef49aeaefd499e1009fc564d6c8f882b3c6dc31d4c6dd08cc06a42b770e7ef76a2ebfcf8a
+DIST proftpd-mod-diskuse-0.9.tar.gz 18596 SHA256 424f3fd49237245ec176d27ade0965fe21a0db1d645979d5ae3e55497e3da036 SHA512 d41976bf2810e4b783e775e8c767ca2030c3b5df116219fd31cbbac7feaf9922c315bf4ea092881b0d6cf43f2f4c5dbcae61be3c3a833058d12f962a3024b975 WHIRLPOOL aabd1dc23d6c38d308e859ff778beffd0dabfe70d3530c093cf2f95e80b5e9c94b97b6b5ae5109d031f76ff94dffc3822a7aa60fa30df04523d37ebed99730d6
+DIST proftpd-mod-msg-0.4.1.tar.gz 8082 SHA256 255b79d31dc509ffad5d0fbcd469f833a8481e880aa962910c2bc8aa608ca6da SHA512 38ea63b1d355e1e10a6a4477596bf3fa28529a871c9fb8dbf093b5317f0743ef9cb59b986d0b8c1c7ed932dad5d5d571883d596fad2d3b793431824db4487012 WHIRLPOOL ff907e26a354f53231fed94515eb60050dec77118be6f49147e0eb8b79e50c9d73354618bca19d98d32a3fb79d7ba87507cc6c8b269f259c5fcf23d44ad3a906
+EBUILD proftpd-1.3.5e.ebuild 7387 SHA256 5e1a75cb2d5baf6bde8a1a80f0b9e10a086806e4b1354b6c531b1cd25299fbd5 SHA512 3b753faff75ceb473663efbb1474c8f5b0e82e4c5960883d894e40cca1bfc174e10b8a4fb8fb3e6ff9d1493a4c33810e28063499e6b2d410f86ae457f9b2ff4d WHIRLPOOL fe82a2e1dad663c4048e40f2d85b0a392f6f9d3dc9f700c3a4a910a98fb268eae41f33ea0ce3e9019296a9416fa80af2132849096a071db2ce0b286d768e567f
+EBUILD proftpd-1.3.6.ebuild 8460 SHA256 d8758cce2c43956634b6cb388e53c9ad1d4424471571ae7edd70944fb120c18a SHA512 2f29943da024b2bde729377321c991feb3e11f8641ed9efbe872bf3b6d8dd9c64d4022367358ffa766e6ebf8cc7e888a2a11f08c3100c9434b3e84944cdae000 WHIRLPOOL 0bff142a56fe2b3f546f7663131fbc88da70daf0a35bb7395bc060c63bc1b6d69063a78ac1a04513447ff4c10245aa497416f0035a55a9160e700fd33b6e4717
+MISC ChangeLog 7780 SHA256 a33c7412885fc7653398a73f52945a061b7914c9159ab2e2fd89935cdd8cdb4c SHA512 d7462c20e92a1305e1c4355d6e5aa677f378e12c18bf80b8c1160f6d52ffd913d04d0b2f68b7719ed381043e7049acc72740f89b39c1af75d4736f1b0af65e2c WHIRLPOOL f7d6da3a7d11f8f4412d519810f262517d32cb22801fc8333fbbd9a1439809cee800baf397992ba5af52a799c55e5216064ca9659ac3da34e6536b234f17b2b3
+MISC ChangeLog-2015 58811 SHA256 f9097cb46f926a9b8651e9887c7e0183fc01a5f294068a953e8b417db4eecf52 SHA512 d2ffc47c806eac41920b570d8cbcc7e7770c36730a0ff121d5e4ec4262eae4bed726de1d41fcf95ba868bd550c51cb73c6fe43cab34873b254f426a065acb0bb WHIRLPOOL e066bcd5de25953acb23a857f403765c52c6601a14a58326dbf015e5aebe7a56b24e98ac3a3f2e52ba3496d0caac9d6fba82f0ceac51b38ed0daa413db9973f9
+MISC metadata.xml 3240 SHA256 e02ee7bbb8bcc0f4a43c25a6c15c653a7c555b6f5774668c9cf539b205525a37 SHA512 0709d672dd94e5a76928fa5945e45de6270b4aacf10e4669d2e9388bc2ec9745ecda646528d5f54cd1ea84e76d3ed366314c013fe20663f1a8d3e835738c1363 WHIRLPOOL 6bd2bcaf77ea210e150e42faa1c938aa6a3754ff42e80dbccaafa126297aa9dbff44dac47fcc46404f8223943531afc3cebb8cb0ffc241d89ff323e3f6249ece
diff --git a/net-ftp/proftpd/files/proftpd-1.3.6-use-trace.patch b/net-ftp/proftpd/files/proftpd-1.3.6-use-trace.patch
new file mode 100644
index 000000000000..c7d918425636
--- /dev/null
+++ b/net-ftp/proftpd/files/proftpd-1.3.6-use-trace.patch
@@ -0,0 +1,18 @@
+Make --disable-trace a build-time failure instead of link-time one.
+
+Reported-by: Toralf Förster
+Bug: https://bugs.gentoo.org/624570
+diff --git a/include/trace.h b/include/trace.h
+index f05dd0e..398e939 100644
+--- a/include/trace.h
++++ b/include/trace.h
+@@ -29,2 +29,4 @@
+
++#ifdef PR_USE_TRACE
++
+ #define PR_TRACE_DEFAULT_CHANNEL "DEFAULT"
+@@ -64,2 +66,4 @@ int pr_trace_vmsg(const char *, int, const char *, va_list);
+
++#endif /* PR_USE_TRACE */
++
+ #endif /* PR_TRACE_H */
diff --git a/net-ftp/proftpd/files/proftpd-1.3.6_rc4-diskuse-refresh-api.patch b/net-ftp/proftpd/files/proftpd-1.3.6_rc4-diskuse-refresh-api.patch
new file mode 100644
index 000000000000..34f1d95ebee0
--- /dev/null
+++ b/net-ftp/proftpd/files/proftpd-1.3.6_rc4-diskuse-refresh-api.patch
@@ -0,0 +1,17 @@
+diff --git a/mod_diskuse.c b/mod_diskuse.c
+index 0e0a0d0..7eb5edf 100644
+--- a/mod_diskuse.c
++++ b/mod_diskuse.c
+@@ -53,6 +53,12 @@
+
+ #define MOD_DISKUSE_VERSION "mod_diskuse/0.9"
+
++#define pr_parse_expression pr_expr_create
++#define pr_class_or_expression pr_expr_eval_class_or
++#define pr_group_and_expression pr_expr_eval_group_and
++#define pr_group_or_expression pr_expr_eval_group_or
++#define pr_user_or_expression pr_expr_eval_user_or
++
+ static unsigned char have_max_diskuse = FALSE;
+ static double min_diskfree = 0.0;
+ static double current_diskfree = 0.0;
diff --git a/net-ftp/proftpd/files/proftpd-1.3.6_rc4-gss-refresh-api.patch b/net-ftp/proftpd/files/proftpd-1.3.6_rc4-gss-refresh-api.patch
new file mode 100644
index 000000000000..43cc659e47dc
--- /dev/null
+++ b/net-ftp/proftpd/files/proftpd-1.3.6_rc4-gss-refresh-api.patch
@@ -0,0 +1,60 @@
+diff --git a/mod_auth_gss.c.in b/mod_auth_gss.c.in
+index 6228b4d..3569ebb 100644
+--- a/mod_auth_gss.c.in
++++ b/mod_auth_gss.c.in
+@@ -38,6 +38,10 @@
+ */
+
+ #include "mod_gss.h"
++
++#define DECLINED PR_DECLINED
++#define ERROR_INT PR_ERROR_INT
++
+ extern unsigned char gss_engine;
+ extern unsigned long gss_flags;
+ extern int gss_logfd;
+diff --git a/mod_gss.c.in b/mod_gss.c.in
+index 9d2d4c8..83a4019 100644
+--- a/mod_gss.c.in
++++ b/mod_gss.c.in
+@@ -57,6 +57,13 @@
+
+ #include "mod_gss.h"
+
++#define LOG_SYMLINK PR_LOG_SYMLINK
++#define LOG_WRITEABLE_DIR PR_LOG_WRITABLE_DIR
++#define HANDLED PR_HANDLED
++#define ERROR PR_ERROR
++#define DECLINED PR_DECLINED
++#define ERROR_INT PR_ERROR_INT
++
+ module gss_module;
+
+ /* Module variables maybe used externaly */
+@@ -1395,7 +1402,7 @@ MODRET gss_auth(cmd_rec *cmd) {
+
+ /* Convert the parameter to upper case */
+ for (i = 0; i < strlen(cmd->argv[1]); i++)
+- (cmd->argv[1])[i] = toupper((cmd->argv[1])[i]);
++ ((char*)cmd->argv[1])[i] = toupper(((char*)cmd->argv[1])[i]);
+
+ if (!strcmp(cmd->argv[1], "GSSAPI")) {
+ pr_response_send(R_334, "Using authentication type %s; ADAT must follow", cmd->argv[1]);
+@@ -2014,7 +2021,7 @@ MODRET gss_prot(cmd_rec *cmd) {
+
+ /* Convert the parameter to upper case */
+ for (i = 0; i < strlen(cmd->argv[1]); i++)
+- (cmd->argv[1])[i] = toupper((cmd->argv[1])[i]);
++ ((char*)cmd->argv[1])[i] = toupper(((char*)cmd->argv[1])[i]);
+
+ /* Only PROT S , PROT C or PROT P is valid with respect to GSS. */
+ if (!strcmp(cmd->argv[1], "C")) {
+@@ -2098,7 +2105,7 @@ MODRET set_gsskeytab(cmd_rec *cmd) {
+ if (!file_exists(cmd->argv[1]))
+ CONF_ERROR(cmd, "file does not exist");
+
+- if (*cmd->argv[1] != '/')
++ if (((char*)(*cmd->argv))[1] != '/')
+ CONF_ERROR(cmd, "parameter must be an absolute path");
+
+ add_config_param_str(cmd->argv[0], 1, cmd->argv[1]);
diff --git a/net-ftp/proftpd/files/proftpd-1.3.6_rc4-msg-refresh-api.patch b/net-ftp/proftpd/files/proftpd-1.3.6_rc4-msg-refresh-api.patch
new file mode 100644
index 000000000000..2e90be254cb6
--- /dev/null
+++ b/net-ftp/proftpd/files/proftpd-1.3.6_rc4-msg-refresh-api.patch
@@ -0,0 +1,29 @@
+diff --git a/mod_msg.c b/mod_msg.c
+index 70bce69..4ce6bd7 100644
+--- a/mod_msg.c
++++ b/mod_msg.c
+@@ -52,10 +52,14 @@ extern pid_t mpid;
+
+ module msg_module;
+
+-#ifndef USE_CTRLS
++#ifndef PR_USE_CTRLS
+ # error "mod_msg requires Controls support (--enable-ctrls)"
+ #endif /* USE_CTRLS */
+
++#define pr_scoreboard_read_entry pr_scoreboard_entry_read
++#define DECLINED PR_DECLINED
++#define HANDLED PR_HANDLED
++
+ static ctrls_acttab_t msg_acttab[];
+
+ static int msg_engine = FALSE;
+@@ -709,7 +713,7 @@ static int msg_handle_msg(pr_ctrls_t *ctrl, int reqargc, char **reqargv) {
+ if (msg_send_msg(score->sce_pid, msgstr) < 0) {
+ msg_errno = errno;
+ (void) pr_log_writefile(msg_logfd, MOD_MSG_VERSION,
+- "error sending message to all (pid %u): %s", reqargv[1],
++ "error sending message to all (pid %u): %s",
+ score->sce_pid, strerror(errno));
+
+ } else
diff --git a/net-ftp/proftpd/files/proftpd-1.3.6_rc4-open-tests.patch b/net-ftp/proftpd/files/proftpd-1.3.6_rc4-open-tests.patch
new file mode 100644
index 000000000000..f65a2cc3fbb4
--- /dev/null
+++ b/net-ftp/proftpd/files/proftpd-1.3.6_rc4-open-tests.patch
@@ -0,0 +1,24 @@
+gcc-6.3 + glibc-2.25 now can detect 2-argument open that is supposed to created new files.
+diff --git a/tests/api/fsio.c b/tests/api/fsio.c
+index 2041f43..18d173b 100644
+--- a/tests/api/fsio.c
++++ b/tests/api/fsio.c
+@@ -1058,3 +1058,3 @@ START_TEST (fsio_sys_access_file_test) {
+ /* Make the file to check; we want it to have perms 664.*/
+- fd = open(fsio_test_path, O_CREAT|O_EXCL|O_WRONLY);
++ fd = open(fsio_test_path, O_CREAT|O_EXCL|O_WRONLY, S_IRUSR | S_IWUSR);
+ fail_if(fd < 0, "Unable to create file '%s': %s", fsio_test_path,
+diff --git a/tests/api/scoreboard.c b/tests/api/scoreboard.c
+index f0ffdbc..f26d833 100644
+--- a/tests/api/scoreboard.c
++++ b/tests/api/scoreboard.c
+@@ -267,3 +267,3 @@ START_TEST (scoreboard_lock_test) {
+
+- fd = open(test_file2, O_CREAT|O_EXCL|O_RDWR);
++ fd = open(test_file2, O_CREAT|O_EXCL|O_RDWR, S_IRUSR | S_IWUSR);
+ fail_unless(fd >= 0, "Failed to open '%s': %s", test_file2, strerror(errno));
+@@ -911,3 +911,3 @@ START_TEST (scoreboard_entry_lock_test) {
+
+- fd = open(test_file2, O_CREAT|O_EXCL|O_RDWR);
++ fd = open(test_file2, O_CREAT|O_EXCL|O_RDWR, S_IRUSR | S_IWUSR);
+ fail_unless(fd >= 0, "Failed to open '%s': %s", test_file2, strerror(errno));
diff --git a/net-ftp/proftpd/files/proftpd-1.3.6_rc4-vroot-refresh-api.patch b/net-ftp/proftpd/files/proftpd-1.3.6_rc4-vroot-refresh-api.patch
new file mode 100644
index 000000000000..59b96ce90027
--- /dev/null
+++ b/net-ftp/proftpd/files/proftpd-1.3.6_rc4-vroot-refresh-api.patch
@@ -0,0 +1,23 @@
+diff --git a/mod_vroot.c b/mod_vroot.c
+index b0ce59a..db0df35 100644
+--- a/mod_vroot.c
++++ b/mod_vroot.c
+@@ -1515,7 +1515,7 @@ MODRET set_vrootserverroot(cmd_rec *cmd) {
+ */
+
+ pathlen = strlen(cmd->argv[1]);
+- if (cmd->argv[1][pathlen - 1] != '/') {
++ if (((char*)cmd->argv[1])[pathlen - 1] != '/') {
+ c->argv[0] = pstrcat(c->pool, cmd->argv[1], "/", NULL);
+
+ } else {
+@@ -1648,7 +1648,9 @@ MODRET vroot_pre_pass(cmd_rec *cmd) {
+ fs->rename = vroot_rename;
+ fs->unlink = vroot_unlink;
+ fs->open = vroot_open;
++#if ! PROFTPD_VERSION_NUMBER >= 0x0001030604
+ fs->creat = vroot_creat;
++#endif /* before ProFTPD 1.3.6_rc4 */
+ fs->link = vroot_link;
+ fs->readlink = vroot_readlink;
+ fs->symlink = vroot_symlink;
diff --git a/net-ftp/proftpd/files/proftpd-tmpfiles.d.conf b/net-ftp/proftpd/files/proftpd-tmpfiles.d.conf
new file mode 100644
index 000000000000..26ad04256b43
--- /dev/null
+++ b/net-ftp/proftpd/files/proftpd-tmpfiles.d.conf
@@ -0,0 +1 @@
+d /var/run/proftpd 0755 root root
diff --git a/net-ftp/proftpd/files/proftpd.conf.sample b/net-ftp/proftpd/files/proftpd.conf.sample
new file mode 100644
index 000000000000..7bbfa03f0bc1
--- /dev/null
+++ b/net-ftp/proftpd/files/proftpd.conf.sample
@@ -0,0 +1,53 @@
+# This is a sample ProFTPD configuration file for Gentoo Linux (rename
+# it to 'proftpd.conf' for actual use). It establishes a single server
+# and a single anonymous login.
+
+ServerName "ProFTPD Default Server"
+ServerType standalone
+DefaultServer on
+RequireValidShell off
+AuthPAM off
+AuthPAMConfig ftp
+
+# Listen on the standard FTP port 21.
+Port 21
+
+# New directories and files should not be group or 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.
+MaxInstances 30
+
+# The server will run under ftp/ftp.
+User ftp
+Group ftp
+
+# Every FTP sessions is "jailed" into the user's home directory.
+DefaultRoot ~
+
+# Generally files are overwritable.
+AllowOverwrite on
+
+# Disallow the use of the SITE CHMOD command.
+<Limit SITE_CHMOD>
+ DenyAll
+</Limit>
+
+# A basic anonymous FTP account without an upload directory.
+<Anonymous ~ftp>
+ User ftp
+ Group ftp
+
+ # Clients can login with the username "anonymous" and "ftp".
+ UserAlias anonymous ftp
+
+ # Limit the maximum number of parallel anonymous logins to 10.
+ MaxClients 10
+
+ # Prohibit the WRITE command for the anonymous users.
+ <Limit WRITE>
+ DenyAll
+ </Limit>
+</Anonymous>
diff --git a/net-ftp/proftpd/files/proftpd.initd b/net-ftp/proftpd/files/proftpd.initd
new file mode 100644
index 000000000000..a7ab650e1105
--- /dev/null
+++ b/net-ftp/proftpd/files/proftpd.initd
@@ -0,0 +1,51 @@
+#!/sbin/openrc-run
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+extra_started_commands="reload"
+
+depend() {
+ need net
+ use logger dns mysql postgresql antivirus
+}
+
+check_configuration() {
+ if [ ! -e /etc/proftpd/proftpd.conf ] ; then
+ eerror "To execute the ProFTPD server you need a /etc/proftpd/proftpd.conf configuration"
+ eerror "file. In /etc/proftpd you can find a sample configuration."
+ return 1
+ fi
+ /usr/sbin/proftpd -t &>/dev/null
+ if [ $? -ne 0 ] ; then
+ eerror "The ProFTPD configuration file /etc/proftpd/proftpd.conf is invalid! You have to"
+ eerror "fix your configuration in order to run the ProFTPD server. For more information"
+ eerror "you may execute the ProFTPD configuration check '/usr/sbin/proftpd -t'."
+ return 2
+ fi
+}
+
+start() {
+ checkpath -d /var/run/proftpd
+ [ "${RC_CMD}" = "restart" ] || check_configuration || return 1
+ ebegin "Starting ProFTPD"
+ start-stop-daemon --start --quiet \
+ --exec /usr/sbin/proftpd \
+ --pidfile /var/run/proftpd/proftpd.pid
+ eend $?
+}
+
+stop() {
+ [ "${RC_CMD}" != "restart" ] || check_configuration || return 1
+ ebegin "Stopping ProFTPD"
+ start-stop-daemon --stop --quiet --retry 20 \
+ --pidfile /var/run/proftpd/proftpd.pid
+ eend $?
+}
+
+reload() {
+ check_configuration || return 1
+ ebegin "Reloading ProFTPD"
+ start-stop-daemon --quiet --signal HUP \
+ --pidfile /var/run/proftpd/proftpd.pid
+ eend $?
+}
diff --git a/net-ftp/proftpd/files/proftpd.service b/net-ftp/proftpd/files/proftpd.service
new file mode 100644
index 000000000000..904c90f25714
--- /dev/null
+++ b/net-ftp/proftpd/files/proftpd.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=ProFTPd FTP daemon
+
+[Service]
+Type=simple
+ExecStart=/usr/sbin/proftpd --nodaemon
+StandardOutput=syslog
+StandardError=syslog
+Restart=always
+
+[Install]
+WantedBy=multi-user.target
diff --git a/net-ftp/proftpd/files/proftpd.xinetd b/net-ftp/proftpd/files/proftpd.xinetd
new file mode 100644
index 000000000000..ad75aefddb6c
--- /dev/null
+++ b/net-ftp/proftpd/files/proftpd.xinetd
@@ -0,0 +1,15 @@
+#
+# ProFTPd FTP daemon - http://www.proftpd.org
+#
+service ftp
+{
+ flags = REUSE
+ socket_type = stream
+ instances = 30
+ wait = no
+ user = root
+ server = /usr/sbin/proftpd
+ log_on_success = HOST PID
+ log_on_failure = HOST
+ disable = yes
+}
diff --git a/net-ftp/proftpd/metadata.xml b/net-ftp/proftpd/metadata.xml
new file mode 100644
index 000000000000..4331411c0cb0
--- /dev/null
+++ b/net-ftp/proftpd/metadata.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>slyfox@gentoo.org</email>
+ <name>Sergei Trofimovich</name>
+ <description>Mostly user.</description>
+ </maintainer>
+ <longdescription>ProFTPD grew out of the desire to have a secure and
+configurable FTP server, and out of a significant admiration of the Apache web
+server.</longdescription>
+ <use>
+ <flag name="authfile">Enable support for the auth-file module</flag>
+ <flag name="ban">Enable support for the mod_ban module</flag>
+ <flag name="case">Enable support for the mod_case module</flag>
+ <flag name="ctrls">Enable support for the mod_ctrls and mod_ctrls_admin modules</flag>
+ <flag name="copy">Enable support for the mod_copy module</flag>
+ <flag name="deflate">Enable support for the mod_deflate module</flag>
+ <flag name="diskuse">Enable support for the mod_diskuse module</flag>
+ <flag name="dso">Enable support for the mod_dso module</flag>
+ <flag name="dynmasq">Enable support for the mod_dynmasq module, for dynamically updating MasqueradeAddress for dyndns-like scenarios)</flag>
+ <flag name="exec">Enable support for the mod_exec module. WARNING: this could be a security risk</flag>
+ <flag name="ident">Enable support for the mod_ident module</flag>
+ <flag name="ifsession">Enable support for the ifsession module</flag>
+ <flag name="ifversion">Enable support for the mod_ifversion module</flag>
+ <flag name="linguas_bg_BG">Language support for bg_BG</flag>
+ <flag name="linguas_fr_FR">Language support for fr_FR</flag>
+ <flag name="linguas_it_IT">Language support for it_IT</flag>
+ <flag name="linguas_ja_JP">Language support for ja_JP</flag>
+ <flag name="linguas_ru_RU">Language support for ru_RU</flag>
+ <flag name="log_forensic">Enable support for the mod_log_forensic module, log only suspicious actions.</flag>
+ <flag name="memcache">Enable support for the mod_memcache module, for using memcached servers</flag>
+ <flag name="msg">Enable support for the mod_msg module, allows system users to send messages to connected clients via the ftpdctl program.</flag>
+ <flag name="qos">Enable support for the mod_qos module</flag>
+ <flag name="ratio">Enable support for the mod_ratio module</flag>
+ <flag name="readme">Enable support for the mod_readme module</flag>
+ <flag name="rewrite">Enable support for the rewrite module</flag>
+ <flag name="shaper">Enable support for the mod_shaper module</flag>
+ <flag name="sftp">Enable support for the mod_sftp module and optionally mod_sftp_sql and mod_sftp_pam if matching USE flags are enabled</flag>
+ <flag name="sitemisc">Enable support for the sitemisc module</flag>
+ <flag name="softquota">Enable support for the quotatab module</flag>
+ <flag name="trace">Build with trace support. Should not be enabled on production servers</flag>
+ <flag name="unique_id">Enable support for the mod_unique_id module, every connection gets unique ID.</flag>
+ <flag name="vroot">Enable support for the virtual root module</flag>
+ </use>
+ <upstream>
+ <remote-id type="sourceforge">gssmod</remote-id>
+ <remote-id type="github">Castaglia/proftpd-mod_vroot</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/net-ftp/proftpd/proftpd-1.3.5e.ebuild b/net-ftp/proftpd/proftpd-1.3.5e.ebuild
new file mode 100644
index 000000000000..ef4a85a80e16
--- /dev/null
+++ b/net-ftp/proftpd/proftpd-1.3.5e.ebuild
@@ -0,0 +1,234 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit multilib systemd
+
+MOD_CASE="0.7"
+MOD_CLAMAV="0.11rc"
+MOD_DISKUSE="0.9"
+MOD_GSS="1.3.6"
+MOD_MSG="0.4.1"
+MOD_VROOT="0.9.4"
+
+DESCRIPTION="An advanced and very configurable FTP server"
+HOMEPAGE="http://www.proftpd.org/
+ http://www.castaglia.org/proftpd/
+ http://www.thrallingpenguin.com/resources/mod_clamav.htm
+ http://gssmod.sourceforge.net/"
+SRC_URI="ftp://ftp.proftpd.org/distrib/source/${P/_/}.tar.gz
+ case? ( http://www.castaglia.org/${PN}/modules/${PN}-mod-case-${MOD_CASE}.tar.gz )
+ clamav? ( https://secure.thrallingpenguin.com/redmine/attachments/download/1/mod_clamav-${MOD_CLAMAV}.tar.gz )
+ diskuse? ( http://www.castaglia.org/${PN}/modules/${PN}-mod-diskuse-${MOD_DISKUSE}.tar.gz )
+ kerberos? ( mirror://sourceforge/gssmod/mod_gss-${MOD_GSS}.tar.gz )
+ msg? ( http://www.castaglia.org/${PN}/modules/${PN}-mod-msg-${MOD_MSG}.tar.gz )
+ vroot? ( https://github.com/Castaglia/${PN}-mod_vroot/archive/v${MOD_VROOT}.tar.gz -> mod_vroot-${MOD_VROOT}.tar.gz )"
+LICENSE="GPL-2"
+
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 sparc x86 ~x86-fbsd"
+IUSE="acl authfile ban +caps case clamav copy ctrls deflate diskuse doc dso dynmasq exec ifsession ifversion ident ipv6
+ kerberos ldap libressl linguas_bg_BG linguas_en_US linguas_fr_FR linguas_it_IT linguas_ja_JP linguas_ko_KR
+ linguas_ru_RU linguas_zh_CN linguas_zh_TW log_forensic memcache msg mysql ncurses nls pam +pcre postgres qos radius
+ ratio readme rewrite selinux sftp shaper sitemisc snmp softquota sqlite ssl tcpd test trace unique_id vroot xinetd"
+# TODO: geoip
+REQUIRED_USE="ban? ( ctrls )
+ msg? ( ctrls )
+ sftp? ( ssl )
+ shaper? ( ctrls )"
+
+CDEPEND="acl? ( virtual/acl )
+ caps? ( sys-libs/libcap )
+ clamav? ( app-antivirus/clamav )
+ kerberos? ( virtual/krb5 )
+ ldap? ( net-nds/openldap )
+ memcache? ( >=dev-libs/libmemcached-0.41 )
+ mysql? ( virtual/mysql )
+ nls? ( virtual/libiconv )
+ ncurses? ( sys-libs/ncurses:0= )
+ ssl? (
+ !libressl? ( dev-libs/openssl:0= )
+ libressl? ( dev-libs/libressl:= )
+ )
+ pam? ( virtual/pam )
+ pcre? ( dev-libs/libpcre )
+ postgres? ( dev-db/postgresql:= )
+ sqlite? ( dev-db/sqlite:3 )
+ xinetd? ( virtual/inetd )"
+DEPEND="${CDEPEND}
+ test? ( dev-libs/check )"
+RDEPEND="${CDEPEND}
+ net-ftp/ftpbase
+ selinux? ( sec-policy/selinux-ftp )"
+
+S="${WORKDIR}/${P/_/}"
+
+__prepare_module() {
+ local mod_name=$1
+ local mod_topdir=${WORKDIR}/${2:-${mod_name}}
+
+ mv "${mod_topdir}/${mod_name}.c" contrib || die
+ mv "${mod_topdir}/${mod_name}.html" doc/contrib || die
+ rm -r "${mod_topdir}" || die
+}
+
+src_prepare() {
+ # Skip 'install-conf' / Support LINGUAS
+ sed -i -e "/install-all/s/ install-conf//" Makefile.in
+ sed -i -e "s/^LANGS=.*$/LANGS=${LINGUAS}/" locale/Makefile.in
+
+ # Prepare external modules
+ use case && __prepare_module mod_case
+ if use clamav ; then
+ mv "${WORKDIR}"/mod_clamav-${MOD_CLAMAV}/mod_clamav.{c,h} contrib
+ eapply "${WORKDIR}"/mod_clamav-${MOD_CLAMAV}/${PN}.patch
+ rm -r "${WORKDIR}"/mod_clamav-${MOD_CLAMAV}
+ fi
+ use msg && __prepare_module mod_msg
+ use vroot && __prepare_module mod_vroot ${PN}-mod_vroot-${MOD_VROOT}
+
+ # Prepare external kerberos module
+ if use kerberos ; then
+ cd "${WORKDIR}"/mod_gss-${MOD_GSS}
+
+ # Support app-crypt/heimdal / Gentoo Bug #284853
+ sed -i -e "s/krb5_principal2principalname/_\0/" mod_auth_gss.c.in
+
+ # Remove obsolete DES / Gentoo Bug #324903
+ # Replace 'rpm' lookups / Gentoo Bug #391021
+ sed -i -e "/ac_gss_libs/s/ -ldes425//" \
+ -e "s/ac_libdir=\`rpm -q -l.*$/ac_libdir=\/usr\/$(get_libdir)\//" \
+ -e "s/ac_includedir=\`rpm -q -l.*$/ac_includedir=\/usr\/include\//" configure{,.in}
+ fi
+ eapply_user
+}
+
+src_configure() {
+ local c m
+
+ use acl && m="${m}:mod_facl"
+ use ban && m="${m}:mod_ban"
+ use case && m="${m}:mod_case"
+ use clamav && m="${m}:mod_clamav"
+ use copy && m="${m}:mod_copy"
+ use ctrls && m="${m}:mod_ctrls_admin"
+ use deflate && m="${m}:mod_deflate"
+ if use diskuse ; then
+ cd "${WORKDIR}"/mod_diskuse
+ econf
+ mv mod_diskuse.{c,h} "${S}"/contrib
+ mv mod_diskuse.html "${S}"/doc/contrib
+ cd "${S}"
+ rm -r "${WORKDIR}"/mod_diskuse
+ m="${m}:mod_diskuse"
+ fi
+ use dynmasq && m="${m}:mod_dynmasq"
+ use exec && m="${m}:mod_exec"
+ use ifsession && m="${m}:mod_ifsession"
+ use ifversion && m="${m}:mod_ifversion"
+ if use kerberos ; then
+ cd "${WORKDIR}"/mod_gss-${MOD_GSS}
+ econf
+ mv mod_{auth_gss,gss}.c "${S}"/contrib
+ mv mod_gss.h "${S}"/include
+ mv README.mod_{auth_gss,gss} "${S}"
+ mv mod_gss.html "${S}"/doc/contrib
+ mv rfc{1509,2228}.txt "${S}"/doc/rfc
+ cd "${S}"
+ rm -r "${WORKDIR}"/mod_gss-${MOD_GSS}
+ m="${m}:mod_gss:mod_auth_gss"
+ fi
+ use ldap && m="${m}:mod_ldap"
+ use log_forensic && m="${m}:mod_log_forensic"
+ use msg && m="${m}:mod_msg"
+ if use mysql || use postgres || use sqlite ; then
+ m="${m}:mod_sql:mod_sql_passwd"
+ use mysql && m="${m}:mod_sql_mysql"
+ use postgres && m="${m}:mod_sql_postgres"
+ use sqlite && m="${m}:mod_sql_sqlite"
+ fi
+ use qos && m="${m}:mod_qos"
+ use radius && m="${m}:mod_radius"
+ use ratio && m="${m}:mod_ratio"
+ use readme && m="${m}:mod_readme"
+ use rewrite && m="${m}:mod_rewrite"
+ if use sftp ; then
+ m="${m}:mod_sftp"
+ use pam && m="${m}:mod_sftp_pam"
+ use mysql || use postgres || use sqlite && m="${m}:mod_sftp_sql"
+ fi
+ use shaper && m="${m}:mod_shaper"
+ use sitemisc && m="${m}:mod_site_misc"
+ use snmp && m="${m}:mod_snmp"
+ if use softquota ; then
+ m="${m}:mod_quotatab:mod_quotatab_file"
+ use ldap && m="${m}:mod_quotatab_ldap"
+ use radius && m="${m}:mod_quotatab_radius"
+ use mysql || use postgres || use sqlite && m="${m}:mod_quotatab_sql"
+ fi
+ if use ssl ; then
+ m="${m}:mod_tls:mod_tls_shmcache"
+ use memcache && m="${m}:mod_tls_memcache"
+ fi
+ if use tcpd ; then
+ m="${m}:mod_wrap2:mod_wrap2_file"
+ use mysql || use postgres || use sqlite && m="${m}:mod_wrap2_sql"
+ fi
+ use unique_id && m="${m}:mod_unique_id"
+ use vroot && m="${m}:mod_vroot"
+
+ if [[ -n ${PROFTP_CUSTOM_MODULES} ]]; then
+ einfo "Adding user-specified extra modules: '${PROFTP_CUSTOM_MODULES}'"
+ m="${m}:${PROFTP_CUSTOM_MODULES}"
+ fi
+
+ [[ -z ${m} ]] || c="${c} --with-modules=${m:1}"
+ econf --localstatedir=/var/run/proftpd --sysconfdir=/etc/proftpd --disable-strip \
+ $(use_enable acl facl) \
+ $(use_enable authfile auth-file) \
+ $(use_enable caps cap) \
+ $(use_enable ctrls) \
+ $(use_enable dso) \
+ $(use_enable ident) \
+ $(use_enable ipv6) \
+ $(use_enable memcache) \
+ $(use_enable ncurses) \
+ $(use_enable nls) \
+ $(use_enable ssl openssl) \
+ $(use_enable pam auth-pam) \
+ $(use_enable pcre) \
+ $(use_enable test tests) \
+ $(use_enable trace) \
+ $(use_enable userland_GNU shadow) \
+ $(use_enable userland_GNU autoshadow) \
+ ${c:1}
+}
+
+src_test() {
+ emake api-tests -C tests
+}
+
+src_install() {
+ default
+ [[ -z ${LINGUAS} ]] && rm -r "${ED}"/usr/share/locale
+ rm -rf "${ED}"/var/run
+
+ newinitd "${FILESDIR}"/proftpd.initd proftpd
+ insinto /etc/proftpd
+ doins "${FILESDIR}"/proftpd.conf.sample
+
+ if use xinetd ; then
+ insinto /etc/xinetd.d
+ newins "${FILESDIR}"/proftpd.xinetd proftpd
+ fi
+
+ dodoc ChangeLog CREDITS INSTALL NEWS README* RELEASE_NOTES
+ if use doc ; then
+ dohtml doc/*.html doc/contrib/*.html doc/howto/*.html doc/modules/*.html
+ docinto rfc
+ dodoc doc/rfc/*.txt
+ fi
+
+ systemd_dounit "${FILESDIR}"/${PN}.service
+ systemd_newtmpfilesd "${FILESDIR}"/${PN}-tmpfiles.d.conf ${PN}.conf
+}
diff --git a/net-ftp/proftpd/proftpd-1.3.6.ebuild b/net-ftp/proftpd/proftpd-1.3.6.ebuild
new file mode 100644
index 000000000000..fffba1c6c266
--- /dev/null
+++ b/net-ftp/proftpd/proftpd-1.3.6.ebuild
@@ -0,0 +1,258 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit multilib systemd
+
+MOD_CASE="0.7"
+MOD_CLAMAV="0.11rc"
+MOD_DISKUSE="0.9"
+MOD_GSS="1.3.6"
+MOD_MSG="0.4.1"
+MOD_VROOT="0.9.4"
+
+DESCRIPTION="An advanced and very configurable FTP server"
+HOMEPAGE="http://www.proftpd.org/
+ http://www.castaglia.org/proftpd/
+ http://www.thrallingpenguin.com/resources/mod_clamav.htm
+ http://gssmod.sourceforge.net/"
+SRC_URI="ftp://ftp.proftpd.org/distrib/source/${P/_/}.tar.gz
+ case? ( http://www.castaglia.org/${PN}/modules/${PN}-mod-case-${MOD_CASE}.tar.gz )
+ clamav? ( https://secure.thrallingpenguin.com/redmine/attachments/download/1/mod_clamav-${MOD_CLAMAV}.tar.gz )
+ diskuse? ( http://www.castaglia.org/${PN}/modules/${PN}-mod-diskuse-${MOD_DISKUSE}.tar.gz )
+ kerberos? ( mirror://sourceforge/gssmod/mod_gss-${MOD_GSS}.tar.gz )
+ msg? ( http://www.castaglia.org/${PN}/modules/${PN}-mod-msg-${MOD_MSG}.tar.gz )
+ vroot? ( https://github.com/Castaglia/${PN}-mod_vroot/archive/v${MOD_VROOT}.tar.gz -> mod_vroot-${MOD_VROOT}.tar.gz )"
+LICENSE="GPL-2"
+
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd"
+IUSE="acl authfile ban +caps case clamav copy ctrls deflate diskuse doc dso dynmasq exec ifsession ifversion ident ipv6
+ kerberos ldap libressl linguas_bg_BG linguas_en_US linguas_fr_FR linguas_it_IT linguas_ja_JP linguas_ko_KR
+ linguas_ru_RU linguas_zh_CN linguas_zh_TW log_forensic memcache msg mysql ncurses nls pam +pcre postgres qos radius
+ ratio readme rewrite selinux sftp shaper sitemisc snmp softquota sqlite ssl tcpd test unique_id vroot xinetd"
+# TODO: geoip
+REQUIRED_USE="ban? ( ctrls )
+ msg? ( ctrls )
+ sftp? ( ssl )
+ shaper? ( ctrls )"
+
+CDEPEND="acl? ( virtual/acl )
+ caps? ( sys-libs/libcap )
+ clamav? ( app-antivirus/clamav )
+ kerberos? ( virtual/krb5 )
+ ldap? ( net-nds/openldap )
+ memcache? ( >=dev-libs/libmemcached-0.41 )
+ mysql? ( virtual/mysql )
+ nls? ( virtual/libiconv )
+ ncurses? ( sys-libs/ncurses:0= )
+ ssl? (
+ !libressl? ( dev-libs/openssl:0= )
+ libressl? ( dev-libs/libressl:= )
+ )
+ pam? ( virtual/pam )
+ pcre? ( dev-libs/libpcre )
+ postgres? ( dev-db/postgresql:= )
+ sqlite? ( dev-db/sqlite:3 )
+ xinetd? ( virtual/inetd )"
+DEPEND="${CDEPEND}
+ test? ( dev-libs/check )"
+RDEPEND="${CDEPEND}
+ net-ftp/ftpbase
+ selinux? ( sec-policy/selinux-ftp )"
+
+S="${WORKDIR}/${P/_/}"
+
+PATCHES=("${FILESDIR}"/${PN}-1.3.6-use-trace.patch)
+
+RESTRICT=test # tests corrupt memory. need to be fixed upstream first
+
+in_dir() {
+ pushd "${WORKDIR}/${1}" || die
+ shift
+ "$@"
+ popd
+}
+
+src_prepare() {
+ # Skip 'install-conf' / Support LINGUAS
+ sed -i -e "/install-all/s/ install-conf//" Makefile.in || die
+ sed -i -e "s/^LANGS=.*$/LANGS=${LINGUAS}/" locale/Makefile.in || die
+
+ # Prepare external modules
+ if use case; then
+ cp -v "${WORKDIR}"/mod_case/mod_case.c contrib || die
+ cp -v "${WORKDIR}"/mod_case/mod_case.html doc/contrib || die
+ fi
+
+ if use clamav ; then
+ cp -v "${WORKDIR}"/mod_clamav-${MOD_CLAMAV}/mod_clamav.{c,h} contrib || die
+ eapply "${WORKDIR}"/mod_clamav-${MOD_CLAMAV}/${PN}.patch
+ fi
+
+ if use diskuse; then
+ in_dir mod_diskuse eapply "${FILESDIR}"/${PN}-1.3.6_rc4-diskuse-refresh-api.patch
+
+ # ./configure will modify files. Symlink them instead of copying
+ ln -sv "${WORKDIR}"/mod_diskuse/mod_diskuse.h "${S}"/contrib || die
+
+ cp -v "${WORKDIR}"/mod_diskuse/mod_diskuse.c "${S}"/contrib || die
+ cp -v "${WORKDIR}"/mod_diskuse/mod_diskuse.html "${S}"/doc/contrib || die
+ fi
+
+ if use msg; then
+ in_dir mod_msg eapply "${FILESDIR}"/${PN}-1.3.6_rc4-msg-refresh-api.patch
+
+ cp -v "${WORKDIR}"/mod_msg/mod_msg.c contrib || die
+ cp -v "${WORKDIR}"/mod_msg/mod_msg.html doc/contrib || die
+ fi
+
+ if use vroot; then
+ in_dir ${PN}-mod_vroot-${MOD_VROOT} eapply "${FILESDIR}"/${PN}-1.3.6_rc4-vroot-refresh-api.patch
+
+ cp -v "${WORKDIR}"/${PN}-mod_vroot-${MOD_VROOT}/mod_vroot.c contrib || die
+ cp -v "${WORKDIR}"/${PN}-mod_vroot-${MOD_VROOT}/mod_vroot.html doc/contrib || die
+ fi
+
+ if use kerberos ; then
+ in_dir mod_gss-${MOD_GSS} eapply "${FILESDIR}"/${PN}-1.3.6_rc4-gss-refresh-api.patch
+
+ # Support app-crypt/heimdal / Gentoo Bug #284853
+ sed -i -e "s/krb5_principal2principalname/_\0/" "${WORKDIR}"/mod_gss-${MOD_GSS}/mod_auth_gss.c.in || die
+
+ # Remove obsolete DES / Gentoo Bug #324903
+ # Replace 'rpm' lookups / Gentoo Bug #391021
+ sed -i -e "/ac_gss_libs/s/ -ldes425//" \
+ -e "s/ac_libdir=\`rpm -q -l.*$/ac_libdir=\/usr\/$(get_libdir)\//" \
+ -e "s/ac_includedir=\`rpm -q -l.*$/ac_includedir=\/usr\/include\//" "${WORKDIR}"/mod_gss-${MOD_GSS}/configure{,.in} || die
+
+ # ./configure will modify files. Symlink them instead of copying
+ ln -sv "${WORKDIR}"/mod_gss-${MOD_GSS}/mod_auth_gss.c "${S}"/contrib || die
+ ln -sv "${WORKDIR}"/mod_gss-${MOD_GSS}/mod_gss.c "${S}"/contrib || die
+ ln -sv "${WORKDIR}"/mod_gss-${MOD_GSS}/mod_gss.h "${S}"/include || die
+
+ cp -v "${WORKDIR}"/mod_gss-${MOD_GSS}/README.mod_{auth_gss,gss} "${S}" || die
+ cp -v "${WORKDIR}"/mod_gss-${MOD_GSS}/mod_gss.html "${S}"/doc/contrib || die
+ cp -v "${WORKDIR}"/mod_gss-${MOD_GSS}/rfc{1509,2228}.txt "${S}"/doc/rfc || die
+ fi
+
+ default
+}
+
+src_configure() {
+ local c m
+
+ use acl && m="${m}:mod_facl"
+ use ban && m="${m}:mod_ban"
+ use case && m="${m}:mod_case"
+ use clamav && m="${m}:mod_clamav"
+ use copy && m="${m}:mod_copy"
+ use ctrls && m="${m}:mod_ctrls_admin"
+ use deflate && m="${m}:mod_deflate"
+ if use diskuse ; then
+ in_dir mod_diskuse econf
+ m="${m}:mod_diskuse"
+ fi
+ use dynmasq && m="${m}:mod_dynmasq"
+ use exec && m="${m}:mod_exec"
+ use ifsession && m="${m}:mod_ifsession"
+ use ifversion && m="${m}:mod_ifversion"
+ if use kerberos ; then
+ in_dir mod_gss-${MOD_GSS} econf
+ m="${m}:mod_gss:mod_auth_gss"
+ fi
+ use ldap && m="${m}:mod_ldap"
+ use log_forensic && m="${m}:mod_log_forensic"
+ use msg && m="${m}:mod_msg"
+ if use mysql || use postgres || use sqlite ; then
+ m="${m}:mod_sql:mod_sql_passwd"
+ use mysql && m="${m}:mod_sql_mysql"
+ use postgres && m="${m}:mod_sql_postgres"
+ use sqlite && m="${m}:mod_sql_sqlite"
+ fi
+ use qos && m="${m}:mod_qos"
+ use radius && m="${m}:mod_radius"
+ use ratio && m="${m}:mod_ratio"
+ use readme && m="${m}:mod_readme"
+ use rewrite && m="${m}:mod_rewrite"
+ if use sftp ; then
+ m="${m}:mod_sftp"
+ use pam && m="${m}:mod_sftp_pam"
+ use mysql || use postgres || use sqlite && m="${m}:mod_sftp_sql"
+ fi
+ use shaper && m="${m}:mod_shaper"
+ use sitemisc && m="${m}:mod_site_misc"
+ use snmp && m="${m}:mod_snmp"
+ if use softquota ; then
+ m="${m}:mod_quotatab:mod_quotatab_file"
+ use ldap && m="${m}:mod_quotatab_ldap"
+ use radius && m="${m}:mod_quotatab_radius"
+ use mysql || use postgres || use sqlite && m="${m}:mod_quotatab_sql"
+ fi
+ if use ssl ; then
+ m="${m}:mod_tls:mod_tls_shmcache"
+ use memcache && m="${m}:mod_tls_memcache"
+ fi
+ if use tcpd ; then
+ m="${m}:mod_wrap2:mod_wrap2_file"
+ use mysql || use postgres || use sqlite && m="${m}:mod_wrap2_sql"
+ fi
+ use unique_id && m="${m}:mod_unique_id"
+ use vroot && m="${m}:mod_vroot"
+
+ if [[ -n ${PROFTP_CUSTOM_MODULES} ]]; then
+ einfo "Adding user-specified extra modules: '${PROFTP_CUSTOM_MODULES}'"
+ m="${m}:${PROFTP_CUSTOM_MODULES}"
+ fi
+
+ [[ -z ${m} ]] || c="${c} --with-modules=${m:1}"
+
+ econf --localstatedir=/var/run/proftpd --sysconfdir=/etc/proftpd --disable-strip \
+ $(use_enable acl facl) \
+ $(use_enable authfile auth-file) \
+ $(use_enable caps cap) \
+ $(use_enable ctrls) \
+ $(use_enable dso) \
+ $(use_enable ident) \
+ $(use_enable ipv6) \
+ $(use_enable memcache) \
+ $(use_enable ncurses) \
+ $(use_enable nls) \
+ $(use_enable ssl openssl) \
+ $(use_enable pam auth-pam) \
+ $(use_enable pcre) \
+ $(use_enable test tests) \
+ --enable-trace \
+ $(use_enable userland_GNU shadow) \
+ $(use_enable userland_GNU autoshadow) \
+ ${c:1}
+}
+
+src_test() {
+ emake api-tests -C tests
+}
+
+src_install() {
+ default
+ [[ -z ${LINGUAS} ]] && rm -r "${ED}"/usr/share/locale
+ rm -rf "${ED}"/var/run
+
+ newinitd "${FILESDIR}"/proftpd.initd proftpd
+ insinto /etc/proftpd
+ doins "${FILESDIR}"/proftpd.conf.sample
+
+ if use xinetd ; then
+ insinto /etc/xinetd.d
+ newins "${FILESDIR}"/proftpd.xinetd proftpd
+ fi
+
+ dodoc ChangeLog CREDITS INSTALL NEWS README* RELEASE_NOTES
+ if use doc ; then
+ dohtml doc/*.html doc/contrib/*.html doc/howto/*.html doc/modules/*.html
+ docinto rfc
+ dodoc doc/rfc/*.txt
+ fi
+
+ systemd_dounit "${FILESDIR}"/${PN}.service
+ systemd_newtmpfilesd "${FILESDIR}"/${PN}-tmpfiles.d.conf ${PN}.conf
+}
diff --git a/net-ftp/profxp/Manifest b/net-ftp/profxp/Manifest
new file mode 100644
index 000000000000..75da7bb138c7
--- /dev/null
+++ b/net-ftp/profxp/Manifest
@@ -0,0 +1,6 @@
+DIST SOCKS.pm 17069 SHA256 dffb26ecafc4fdd052d398a51e4edf4dd97082a7d6b56781b352bc3458a48cc1 SHA512 87029d9fb58ba384499a2ac73d661dd4c91faa81636e41c1d3c3a1d1efab1d5e01804467428d1daf8dd2fcb231666e2986f6cc806f5f7d419e7d3280a95c497e WHIRLPOOL ce63a9effc6beaea7a5d2dc462511db1c7677266eaeb6255d2e652bedb320b20e0bb9d1b0966f7f59f91dc9fcff80cff854441f1f0ddb3f603f89523bba82cc9
+DIST profxp-v3-pre2-src.tar.gz 16647 SHA256 975af5393b2a66bdca378b349d5c674551b668858e0ac505763052170e484452 SHA512 5f48e15f0c6c43c8b20b7cb72bf642e12a99d469bea21372a7a602d5f8522c4097d18918a3a007961b3ea6177ec864d50a7bc24211194ac9d791c5190978e167 WHIRLPOOL b69c6a7284d0b73288b611fd586d8a7622c6d945a50321caa73e135ec9b1e8c7b9156564cb15f1c1f2ba51ecc2489fd2ef937a23a7f53173ac69db7a236f1271
+EBUILD profxp-3_pre2-r2.ebuild 940 SHA256 8dbd5270478cfac83583ecafeaf78920dc035ba826d1f9e675361a88e528771b SHA512 2e61b186c37d12d71baf957f1582214edda88acdbdda15f49fc362112aee0a0fbc5d754d036682b7b36e54a38b1fffcf1c08387a28ec10a268f0a1bdf59078a2 WHIRLPOOL 40abf1d005cd2f14fc62c6adb48c425106f3c17c8c3f7260bdbd8422551d80b2dd1cef6cbb9cf11a617f6e2ac75d0b0a50861a4d499931cf4c6552597e7cc891
+MISC ChangeLog 2526 SHA256 a6d4152f3322c407f882cc19142aa6d898be2af5e6bb94436c25427a794b8390 SHA512 711307fc1b14852feb332b46e4cab36c4d674c03e68017a7a8038f0f2dd75cdd0d81072e6e8f439ff27dd1115211e4d078bbf6e55a13f07eeeb1ae3d8b32eb5c WHIRLPOOL b8249e53f6e5d6b9b7ece8bcb4a67c94cb4be893282971d189d6be21707ac12ef8f57562129b51446d92d48b52aa88c083c9a51369fcfb2488ee109fb3746e0a
+MISC ChangeLog-2015 1547 SHA256 852dc6cbbc51aaca5bf7cd26dcc35c67d2224b8f56e04a42c6bfa19fa6037093 SHA512 cae27498dd34de4afe416680b9f7a50b0ea63a0962d3442fa69cec440627a7fab500d1fccf23c64900e9e5a7a32dbd955b272d04c3762cbec6d43e2f325f34d6 WHIRLPOOL b2235be35c1af3c667b2bc434fb7a5d0a3384e74fdb3d0f24273afefbd3b345156d1ab7bb094f8ec7f65ea34725d4dabbde58e26bbbc3382b434680f330bc289
+MISC metadata.xml 166 SHA256 2caff447f5bd2701d8456ada5cc633c41ef4373fa4bfeabeb73599d40bcc941b SHA512 a56648c974a1d14dd4c18237532773c72057a13ab90c58b5da04f185e3c12a8bd8d5c21fb06053507f31766291a82dc7d87b34cd65fd94cfe2af7295c813ef84 WHIRLPOOL 1ff70497eca6531f0e0614c72a19f4b8e5ff486a58d369f4f0b36308d1d6b01168f9da887740e3b9f536236be251d3fe05f904d27a9233a7cf613416ba882968
diff --git a/net-ftp/profxp/metadata.xml b/net-ftp/profxp/metadata.xml
new file mode 100644
index 000000000000..6f49eba8f496
--- /dev/null
+++ b/net-ftp/profxp/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<!-- maintainer-needed -->
+</pkgmetadata>
diff --git a/net-ftp/profxp/profxp-3_pre2-r2.ebuild b/net-ftp/profxp/profxp-3_pre2-r2.ebuild
new file mode 100644
index 000000000000..025fd90ef53d
--- /dev/null
+++ b/net-ftp/profxp/profxp-3_pre2-r2.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit perl-module
+
+DESCRIPTION="FXP (server-to-server FTP) commandline client written in Perl"
+HOMEPAGE="http://duncanthrax.net/profxp/"
+SRC_URI="http://duncanthrax.net/profxp/profxp-v${PV/_/-}-src.tar.gz
+ http://search.cpan.org/src/CLINTDW/SOCKS-0.03/lib/Net/SOCKS.pm"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE=""
+
+DEPEND="virtual/perl-Time-HiRes
+ dev-perl/TermReadKey
+ dev-perl/Term-ReadLine-Perl"
+
+S=${WORKDIR}/${PN}
+
+src_unpack() {
+ unpack profxp-v${PV/_/-}-src.tar.gz
+ cp "${DISTDIR}"/SOCKS.pm "${S}"/
+}
+
+src_prepare() {
+ sed -i 's:/home/tom/ActivePerl-5\.6:/usr:' "${S}"/profxpv3.pl || die
+}
+
+src_compile() {
+ :;
+}
+
+src_install() {
+ perl_set_version
+ newbin profxpv3.pl profxp.pl
+ dosym profxp.pl /usr/bin/profxp
+ insinto ${ARCH_LIB}/Net
+ doins SOCKS.pm
+ insinto ${ARCH_LIB}/${PN}
+ doins ${PN}/*.pm
+}
diff --git a/net-ftp/pure-ftpd/Manifest b/net-ftp/pure-ftpd/Manifest
new file mode 100644
index 000000000000..b382536713e7
--- /dev/null
+++ b/net-ftp/pure-ftpd/Manifest
@@ -0,0 +1,12 @@
+AUX pure-ftpd-1.0.28-pam.patch 568 SHA256 070e44f8502095dcefd56ebc9508412e3914a7e5f105c97aa7c58f3674140484 SHA512 c331837c4c8988e0623a6a4f4222263dd161a49a2748079d3c539db2025b7b048ca5976b4450dd32cab5755932c7e59f6976d9d3bda2e5e87f1869789f8e00ba WHIRLPOOL e8c33271265d640a7627cc200cb6e4fae74a2598f9373909d7867df2ef8fca85eaddb08ba8195269dbc9739f877f9a0075a428fb19909a46dccac83419d1ab9b
+AUX pure-ftpd-1.0.45-openssl-1.1.patch 1184 SHA256 4e0e477ef5653d009642f25dd7270da760d03f8b7a2dda194730d3f8bcd43641 SHA512 e6876cd2dd8551f7ad37ad52dfad142d19d7294c2ef226b394d1ea064ab89408b90ad84a7b560be0eb4ac955606f9aeb44b28009a712b681acceafa7410fb053 WHIRLPOOL 47e593d140adf05e0d12ff34268645c7be0eb7cbab2a480d8fc897e04fc1ce1409da1fa43af3ac9ec6ef042f4778f9025188aad2cf0da5db88b199827b9e6cdb
+AUX pure-ftpd.conf_d-3 3728 SHA256 6b67379efa91a6168bd4cebee56ba09dfa77830a4843b25edb7a85f1bb88e5fa SHA512 a5cc8e59178a5d0f7b5909d09009ef6ace1f8e6874bd733e21bc30f4899447e70b020a0369077132751ceb28afa971588efedcce3dea83e9b043b1545caf3393 WHIRLPOOL 5004cbac643d05b0315309d943c1718c30778f07bcbfb834fb3957a7b9060b24ad98607793060549dc17a61ec7714a5081d80151dfa80b0d41d0f9abad77c312
+AUX pure-ftpd.rc11 1990 SHA256 9d10da1c459f0167eea910b8515d23f7c44dd7ce8c55e1dc97fa13cd94c69f05 SHA512 39e076b3ecc511646e6e14884852313ba6126810841ed9667a53ac061232418e8e53e2cf9191b35d7655168680d961ee2edf67bff5e16b295f8a00752032e253 WHIRLPOOL bc70544c9c8abae240c4ba0b0a01a2dbab02a241f31a62d73782a59c3c68904113a67d9c632d9c92ee7df6bfdfc0e6a27f21fa6f1a5f534341a26c6b69bc11e9
+AUX pure-ftpd.xinetd 247 SHA256 30e166051c7331c48ab1d948d6deecaa71130aaf3cfdc3ffb99124971b64f80c SHA512 e8ac0527daf1e182e7514d17f04bd20e789231e627cc7228ac23a241a4c420204a61ef9438c57e63f402eb3608ae0acc15a72fe484c99bb4e172bbd5ece2b72d WHIRLPOOL 557d9f627b0ff32975edc674386bdde3676ab8e69d486e28755f889e844171f5a26a53511f313a9416e3376d27f00113b005f12c9605017498b898862c9e3fc1
+DIST pure-ftpd-1.0.45.tar.bz2 497695 SHA256 9256db7e59abdba712f84581a3ec47cd5b039034c78825d9dc24ea4eecda7d20 SHA512 bb22b6b88778e2586411318905aa165e590185f7a87ac30761d6250f4de22a1deec6be5441926eae28011d3a5a923bad2ac366e237cc96a4d7932e3dbc9a1f2a WHIRLPOOL 4eebb19342d2580658cac7bb13cf6ecebf70ec5000336565aea6609204befe85a5a96aed1ad24ada6a3b187a4750194d7d4676ea4942f0aff3137b45c9cde139
+DIST pure-ftpd-1.0.46.tar.bz2 490337 SHA256 9e733f366d8d600004bb171cf2ec75dad0da4b922b7102ee4b3e18824966192d SHA512 e44c1842e6f101f4d7dd42617392f3d54ff58d68608f6a3bc5e612fc89bfd1da6935215a7e87c0d2bbd9fc9f0fa31a40ceb764fd67428dfdd8c5454e0d64e0ab WHIRLPOOL b8b9ab6cab507dab9c529be651ef37126134932fb4d853e9ddbe012434e06dade27301523098db72ce8ed8287ef0ed4750284827266a8cdf9359313046780a40
+EBUILD pure-ftpd-1.0.45-r1.ebuild 3896 SHA256 b346e8b929e4122af8eb3f22643a15cf0fd0ecadcc54135feee4b910e3214672 SHA512 285cfa299ff0f5554b1b54163e4d0c9824f404c2eee76cb77831c6989b8bbc089f45b6c0acc969ac35bfc77065082d6a0288ec35c38427204edc0bcef7354176 WHIRLPOOL a134872252c65840faffbffeabd2a050037a3a1707c08200102e8e5f767b64b64bb8ba13b780535d6326efcf0e1b67b3e83a7ad2168d0006e34d65ee965b9e2c
+EBUILD pure-ftpd-1.0.46.ebuild 3867 SHA256 dfb09f1ae8b4b720c7d077c6ee1585831879115d045ba4ac5ecd23169ca1973d SHA512 baae36d4332ba3e44b913691fe90e382f55eeff34da12cbbf1d81361db5db8e0d1014329d915972010656131519071f1c983bf7177a59f2bed9ad04ed625859c WHIRLPOOL 565990993d988b685524df339d2c65a5be421b89573e16bef384143b0a4de1abe0f97d9070d66cb1c0df09c6ef278ba12d4daaafc80305c9c31e054646857d3e
+MISC ChangeLog 4805 SHA256 4c09d05c1e65224975dd8c33c71c73c68e0df80fd1794147d85ada1aa21bdc87 SHA512 f00511979bbe4cf7e5b7051a165d10021595e0417ad8531b34d278d9c0e84b7f9f5c7cf6e835f630bbf2c2d99fede7dff38b09790dd6cc2e19407a4c05659641 WHIRLPOOL 536b43acf88af51ffe09a69c1588b5c746ea559a05f00595a9c7b52b6c2aad9de0e8be783b6a93a34096ec036558f222ba1add8386ae06894504304a1d2f0b64
+MISC ChangeLog-2015 26402 SHA256 192a65608c963577c608802cf06913574bbb6f92839609a774dcd92e1d955309 SHA512 bb720b13f2e07e33e2345562427273368aad03af1400d340978b98e7376e9f13ac9b0c1b8872a07c1878b0019f16a50e0af4b5de3c68a907a30378a70e20337f WHIRLPOOL 0e4305b08866528e0226344e19dd83786198ae0fb0f2f16f1fd4a9fa61a6e4fb059bdacaceb3a05111481c8f34e7e144de26063dd21ea00981c48b264ad118f7
+MISC metadata.xml 1233 SHA256 b245931d3aa6017e091ea91954375fb66bbae741d29b7e5c258904a59de0cff6 SHA512 ce47470d3c8bfeba9c02f6d6638e7b0bb6e0ddeddd1aaf0362342aadf07e823f1093523a1432c703bd410c3b760049a1e1c32e3f36718844b3a1ba44144afea4 WHIRLPOOL f5f7cf56bd28f06dfba12a9dc67e1a934b893b39e62b6643e45ded0d7d7e473108cc335f5e7438ad4df48d67e58ad0a8fc2393c64079862f5c0f0a0e1abe2a97
diff --git a/net-ftp/pure-ftpd/files/pure-ftpd-1.0.28-pam.patch b/net-ftp/pure-ftpd/files/pure-ftpd-1.0.28-pam.patch
new file mode 100644
index 000000000000..8346cf253f4f
--- /dev/null
+++ b/net-ftp/pure-ftpd/files/pure-ftpd-1.0.28-pam.patch
@@ -0,0 +1,20 @@
+--- a/src/log_pam.c
++++ b/src/log_pam.c
+@@ -49,7 +49,7 @@
+ # endif
+
+ #ifndef FTPD_PAM_SERVICE_NAME
+-# define FTPD_PAM_SERVICE_NAME "pure-ftpd"
++# define FTPD_PAM_SERVICE_NAME "ftp"
+ #endif
+
+ /* Static variables used to communicate between the conversation function
+@@ -164,7 +164,7 @@
+ &PAM_conversation, &pamh);
+ PAM_BAIL;
+ # ifdef PAM_TTY
+- (void) pam_set_item(pamh, PAM_TTY, "pure-ftpd");
++ (void) pam_set_item(pamh, PAM_TTY, FTPD_PAM_SERVICE_NAME);
+ # endif
+ # ifdef PAM_RUSER
+ (void) pam_set_item(pamh, PAM_RUSER, user);
diff --git a/net-ftp/pure-ftpd/files/pure-ftpd-1.0.45-openssl-1.1.patch b/net-ftp/pure-ftpd/files/pure-ftpd-1.0.45-openssl-1.1.patch
new file mode 100644
index 000000000000..714809f37af1
--- /dev/null
+++ b/net-ftp/pure-ftpd/files/pure-ftpd-1.0.45-openssl-1.1.patch
@@ -0,0 +1,41 @@
+From 54cc692f997c72eb530f38e62de38ed444eb152e Mon Sep 17 00:00:00 2001
+From: Frank Denis <github@pureftpd.org>
+Date: Wed, 5 Apr 2017 12:30:32 -0700
+Subject: [PATCH] Add strict support for the OpenSSL 1.1 API
+
+---
+ src/tls.c | 10 ++++++++++
+ 1 file changed, 10 insertions(+)
+
+diff --git a/src/tls.c b/src/tls.c
+index 3c87bbb..21c83b2 100644
+--- a/src/tls.c
++++ b/src/tls.c
+@@ -258,9 +258,17 @@ int tls_init_library(void)
+
+ tls_cnx_handshook = 0;
+ tls_data_cnx_handshook = 0;
++# if OPENSSL_VERSION_NUMBER < 0x10100000L
+ SSL_library_init();
+ SSL_load_error_strings();
+ OpenSSL_add_all_algorithms();
++# else
++ OPENSSL_init_ssl(OPENSSL_INIT_LOAD_SSL_STRINGS |
++ OPENSSL_INIT_LOAD_CRYPTO_STRINGS, NULL);
++ OPENSSL_init_crypto(OPENSSL_INIT_ADD_ALL_CIPHERS |
++ OPENSSL_INIT_ADD_ALL_DIGESTS |
++ OPENSSL_INIT_LOAD_CONFIG, NULL);
++# endif
+ while (RAND_status() == 0) {
+ rnd = zrand();
+ RAND_seed(&rnd, (int) sizeof rnd);
+@@ -347,7 +355,9 @@ void tls_free_library(void)
+ SSL_CTX_free(tls_ctx);
+ tls_ctx = NULL;
+ }
++# if OPENSSL_API_COMPAT < 0x10100000L
+ EVP_cleanup();
++# endif
+ }
+
+ int tls_init_new_session(void)
diff --git a/net-ftp/pure-ftpd/files/pure-ftpd.conf_d-3 b/net-ftp/pure-ftpd/files/pure-ftpd.conf_d-3
new file mode 100644
index 000000000000..29b15a5a8928
--- /dev/null
+++ b/net-ftp/pure-ftpd/files/pure-ftpd.conf_d-3
@@ -0,0 +1,90 @@
+# Config file for /etc/init.d/pure-ftpd
+##Comment variables out to disable its features, or change the values in it... ##
+
+## This variable must be uncommented in order for the server to start ##
+#IS_CONFIGURED="yes"
+
+## FTP Server,Port (separated by comma) ##
+## If you prefer host names over IP addresses, it's your choice:
+## SERVER="-S ftp.rtchat.com,21"
+## IPv6 addresses are supported.
+## !!! WARNING !!!
+## Using an invalid IP will result in the server not starting,
+## but reporting a correct start!
+## SERVER="-S 192.168.0.1,21"
+## By default binds to all available IPs.
+SERVER="-S 21"
+
+## Number of simultaneous connections in total, and per IP ##
+MAX_CONN="-c 30"
+MAX_CONN_IP="-C 10"
+
+## Don't allow uploads if the partition is more full then this var ##
+DISK_FULL="-k 90%"
+
+## If your FTP server is behind a NAT box, uncomment this ##
+#USE_NAT="-N"
+
+## Authentication mechanisms (others are 'pam', ...) ##
+## Further infos can be found in the README file.
+AUTH="-l unix"
+
+## Change the maximum idle time (in minutes) ##
+## If this variable is not defined, it will default to 15 minutes.
+#TIMEOUT="-I <timeout>'"
+
+## Facility used for syslog logging ##
+## If this variable is not defined, it will default to the 'ftp' facility.
+## Logging can be disabled with '-f none'.
+#LOG="-f <facility>"
+
+## Charset conversion support *experimental* ##
+## Only works if USE "charconv" is enabled (only Pure-FTPd >=1.0.21).
+## Set the charset of the filesystem.
+# CHARCONV="--fscharset <charset>"
+
+## If you want to process each file uploaded through Pure-FTPd, enter the name
+## of the script that should process the files below.
+## man pure-uploadscript to learn more about how to write this script.
+# UPLOADSCRIPT="/path/to/uploadscript"
+
+## Misc. Others ##
+MISC_OTHER="-A -x -j -R -Z"
+
+#
+# Use these inside $MISC_OTHER
+# More can be found on "http://download.pureftpd.org/pub/pure-ftpd/doc/README"
+#
+# -A [ chroot() everyone, but root ]
+# -e [ Only allow anonymous users ]
+# -E [ Only allow authenticated users. Anonymous logins are prohibited. ]
+# -i [ Disallow upload for anonymous users, whatever directory perms are ]
+# -j [ If the home directory of a user doesn't exist, auto-create it ]
+# -M [ Allow anonymous users to create directories. ]
+# -R [ Disallow users (even non-anonymous ones) usage of the CHMOD command ]
+# -x [ In normal operation mode, authenticated users can read/write
+# files beginning with a dot ('.'). Anonymous users can't, for security reasons
+# (like changing banners or a forgotten .rhosts). When '-x' is used, authenticated
+# users can download dot-files, but not overwrite/create them, even if they own
+# them. ]
+# -X [ This flag is identical to the previous one (writing
+# dot-files is prohibited), but in addition, users can't even *read* files and
+# directories beginning with a dot (like "cd .ssh"). ]
+# -D [ List files beginning with a dot ('.') even when the client doesn't
+# append the '-a' option to the list command. A workaround for badly
+# configured FTP clients. ]
+# -G [ Disallow renaming. ]
+# -d [ Send various debugging messages to the syslog. ONLY for DEBUG ]
+# -F <fortune file> [ Display a fortune cookie on login. Check the README file ]
+# -H [ By default, fully-qualified host names are logged. The '-H' flag avoids host names resolution. ]
+
+
+# Some filesystems don't like accesses being memory mapped. This happens for
+# example with ftpwho on JFFS2 filesystems (bug #330563). If you happen to
+# have such a filesystem on /var set TMPFS_MOUNT to "true".
+TMPFS_MOUNT="false"
+
+# Special mount options (like nosuid or nodev) for the tmpfs mount can be added
+# here. Several options must be separated by comma: "nodev,nosuid"
+#TMPFS_OPTS=""
+
diff --git a/net-ftp/pure-ftpd/files/pure-ftpd.rc11 b/net-ftp/pure-ftpd/files/pure-ftpd.rc11
new file mode 100644
index 000000000000..cc17b5afa12d
--- /dev/null
+++ b/net-ftp/pure-ftpd/files/pure-ftpd.rc11
@@ -0,0 +1,74 @@
+#!/sbin/openrc-run
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+ftpd_pidfile="/var/run/pure-ftpd.pid"
+script_pidfile="/var/run/pure-uploadscript.pid"
+ftpd_rundir="/var/lib/run/pure-ftpd"
+daemon="/usr/sbin/pure-ftpd"
+script_daemon="/usr/sbin/pure-uploadscript"
+
+depend() {
+ need net
+}
+
+start_pre() {
+ if [ -z "$IS_CONFIGURED" ] ; then
+ eerror "You need to setup /etc/conf.d/pure-ftpd first!"
+ return 1
+ fi
+}
+
+start() {
+ UPSCRIPT=""
+ if [ -n "$UPLOADSCRIPT" ] ; then
+ UPSCRIPT="--uploadscript"
+ fi
+
+ FTPD_CONFIG="$SERVER $MAX_CONN $MAX_CONN_IP $DISK_FULL $USE_NAT $AUTH
+ $LOG $TIMEOUT $CHARCONV $MISC_OTHER $UPSCRIPT"
+
+ WAIT="--wait 100"
+
+ if ${TMPFS_MOUNT:-false} && grep -q tmpfs /proc/filesystems ; then
+ [ -n "${TMPFS_OPTS}" ] && MOUNT_OPTS="-o ${TMPFS_OPTS}"
+ einfo "Mounting tmpfs on ${ftpd_rundir}"
+ mount ${MOUNT_OPTS} -t tmpfs tmpfs ${ftpd_rundir} \
+ || eerror "Unable to mount tmpfs"
+ fi
+
+ ebegin "Starting Pure-FTPd"
+ start-stop-daemon --start --quiet --pidfile ${ftpd_pidfile} \
+ --make-pidfile --background --exec /usr/sbin/pure-ftpd ${WAIT} \
+ -- $(echo ${FTPD_CONFIG} | sed 's@\([[:space:]]\+\|^\)-B\([[:space:]]\+\|$\)@\1@g')
+ result=$?
+ if [ $result -ne 0 ] ; then
+ eend 1 "Could not launch Pure-FTPd"
+ else
+ eend $result
+ if [ -n "$UPLOADSCRIPT" ] ; then
+ ebegin "Starting Pure-FTPd upload script"
+ start-stop-daemon --start --quiet --make-pidfile \
+ --pidfile ${script_pidfile} \
+ --exec ${script_daemon} --background ${WAIT} \
+ -- -r $UPLOADSCRIPT
+ eend $?
+ fi
+ fi
+}
+
+stop() {
+ if [ -n "$UPLOADSCRIPT" ] ; then
+ ebegin "Stopping Pure-FTPd upload script"
+ start-stop-daemon --stop --retry 20 --quiet \
+ --pidfile ${script_pidfile}
+ eend $?
+ fi
+ ebegin "Stopping Pure-FTPd"
+ start-stop-daemon --stop --retry 20 --quiet --pidfile ${ftpd_pidfile}
+ eend $?
+
+ if ${TMPFS_MOUNT:-false} && mount | grep -q ${ftpd_rundir} ; then
+ umount ${ftpd_rundir} >/dev/null 2>&1
+ fi
+}
diff --git a/net-ftp/pure-ftpd/files/pure-ftpd.xinetd b/net-ftp/pure-ftpd/files/pure-ftpd.xinetd
new file mode 100644
index 000000000000..11022e6fde8d
--- /dev/null
+++ b/net-ftp/pure-ftpd/files/pure-ftpd.xinetd
@@ -0,0 +1,13 @@
+#
+# Pure-FTPd FTP daemon - http://www.pureftpd.org
+#
+service ftp
+{
+ socket_type = stream
+ wait = no
+ user = root
+ server = /usr/sbin/pure-ftpd
+ server_args = -s -a 42
+ protocol = tcp
+ disable = yes
+}
diff --git a/net-ftp/pure-ftpd/metadata.xml b/net-ftp/pure-ftpd/metadata.xml
new file mode 100644
index 000000000000..5ee42de87aec
--- /dev/null
+++ b/net-ftp/pure-ftpd/metadata.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="person">
+ <email>polynomial-c@gentoo.org</email>
+ <name>Lars Wendler</name>
+</maintainer>
+<longdescription>Free (BSD), secure, production-quality and standard-conformant FTP server based upon Troll-FTPd. It doesn't provide useless bells and whistles, but focuses on efficiency and ease of use.</longdescription>
+<use>
+ <flag name="anondel">Permit anonymous to delete files</flag>
+ <flag name="anonperm">Permit anonymous to change file permissions</flag>
+ <flag name="anonren">Permit anonymous to rename files</flag>
+ <flag name="anonres">Permit anonymous to resume file transfers</flag>
+ <flag name="charconv">Enables charset conversion</flag>
+ <flag name="implicittls">Enable TLS on Port 990</flag>
+ <flag name="noiplog">Disables logging of IP addresses</flag>
+ <flag name="paranoidmsg">Display paranoid messages instead of normal
+ ones</flag>
+ <flag name="resolveids">Resolve UIDs/GIDs</flag>
+ <flag name="sysquota">Enables system quota support (needs sys-fs/quota)
+ </flag>
+ <flag name="vchroot">Enable support for virtual chroot (possible security
+ risk)</flag>
+</use>
+</pkgmetadata>
diff --git a/net-ftp/pure-ftpd/pure-ftpd-1.0.45-r1.ebuild b/net-ftp/pure-ftpd/pure-ftpd-1.0.45-r1.ebuild
new file mode 100644
index 000000000000..7dcc0d9aee3d
--- /dev/null
+++ b/net-ftp/pure-ftpd/pure-ftpd-1.0.45-r1.ebuild
@@ -0,0 +1,137 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit eutils flag-o-matic
+
+KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 sparc x86"
+
+DESCRIPTION="Fast, production-quality, standard-conformant FTP server"
+HOMEPAGE="http://www.pureftpd.org/"
+SRC_URI="ftp://ftp.pureftpd.org/pub/${PN}/releases/${P}.tar.bz2
+ http://download.pureftpd.org/pub/${PN}/releases/${P}.tar.bz2"
+
+LICENSE="BSD"
+SLOT="0"
+
+IUSE="anondel anonperm anonren anonres caps charconv implicittls ldap libressl mysql noiplog pam paranoidmsg postgres resolveids selinux ssl sysquota vchroot xinetd"
+
+REQUIRED_USE="implicittls? ( ssl )"
+
+DEPEND="caps? ( sys-libs/libcap )
+ charconv? ( virtual/libiconv )
+ ldap? ( >=net-nds/openldap-2.0.25 )
+ mysql? ( virtual/mysql )
+ pam? ( virtual/pam )
+ postgres? ( dev-db/postgresql:= )
+ ssl? (
+ !libressl? ( >=dev-libs/openssl-0.9.6g:0=[-bindist] )
+ libressl? ( dev-libs/libressl:= )
+ )
+ sysquota? ( sys-fs/quota[-rpc] )
+ xinetd? ( virtual/inetd )"
+
+RDEPEND="${DEPEND}
+ dev-libs/libsodium:=
+ net-ftp/ftpbase
+ selinux? ( sec-policy/selinux-ftp )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.0.28-pam.patch
+ "${FILESDIR}"/${P}-openssl-1.1.patch
+)
+
+src_configure() {
+ # adjust max user length to something more appropriate
+ # for virtual hosts. See bug #62472 for details.
+ sed -e "s:# define MAX_USER_LENGTH 32U:# define MAX_USER_LENGTH 127U:" \
+ -i "${S}/src/ftpd.h" || die "sed failed"
+
+ # Those features are only configurable like this, see bug #179375.
+ use anondel && append-cppflags -DANON_CAN_DELETE
+ use anonperm && append-cppflags -DANON_CAN_CHANGE_PERMS
+ use anonren && append-cppflags -DANON_CAN_RENAME
+ use anonres && append-cppflags -DANON_CAN_RESUME
+ use resolveids && append-cppflags -DALWAYS_RESOLVE_IDS
+
+ # Do not auto-use SSP -- let the user select this.
+ export ax_cv_check_cflags___fstack_protector_all=no
+
+ local myeconfargs=(
+ --enable-largefile
+ --with-altlog
+ --with-cookie
+ --with-diraliases
+ --with-extauth
+ --with-ftpwho
+ --with-language=${PUREFTPD_LANG:=english}
+ --with-peruserlimits
+ --with-privsep
+ --with-puredb
+ --with-quotas
+ --with-ratios
+ --with-throttling
+ --with-uploadscript
+ --with-virtualhosts
+ $(use_with charconv rfc2640)
+ $(use_with ldap)
+ $(use_with mysql)
+ $(use_with pam)
+ $(use_with paranoidmsg)
+ $(use_with postgres pgsql)
+ $(use_with ssl tls)
+ $(use_with implicittls)
+ $(use_with vchroot virtualchroot)
+ $(use_with sysquota sysquotas)
+ $(usex caps '' '--without-capabilities')
+ $(usex noiplog '--without-iplogging' '')
+ $(usex xinetd '' '--without-inetd')
+ )
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ local DOCS=( AUTHORS CONTACT ChangeLog FAQ HISTORY INSTALL README* NEWS )
+
+ default
+
+ newinitd "${FILESDIR}/pure-ftpd.rc11" ${PN}
+ newconfd "${FILESDIR}/pure-ftpd.conf_d-3" ${PN}
+
+ if use implicittls ; then
+ sed -i '/^SERVER/s@21@990@' "${ED}"/etc/conf.d/${PN} \
+ || die "Adjusting default server port for implicittls usage failed!"
+ fi
+
+ keepdir /var/lib/run/${PN}
+
+ if use xinetd ; then
+ insinto /etc/xinetd.d
+ newins "${FILESDIR}/pure-ftpd.xinetd" ${PN}
+ fi
+
+ if use ldap ; then
+ insinto /etc/openldap/schema
+ doins pureftpd.schema
+ insinto /etc/openldap
+ insopts -m 0600
+ doins pureftpd-ldap.conf
+ fi
+}
+
+pkg_postinst() {
+ if [[ -z "${REPLACING_VERSIONS}" ]]; then
+ # This is a new installation
+ elog
+ elog "Before starting Pure-FTPd, you have to edit the /etc/conf.d/pure-ftpd file!"
+ elog
+ ewarn "It's *really* important to read the README provided with Pure-FTPd!"
+ ewarn "Check out http://download.pureftpd.org/pub/pure-ftpd/doc/README for general info"
+ ewarn "and http://download.pureftpd.org/pub/pure-ftpd/doc/README.TLS for SSL/TLS info."
+ ewarn
+ if use charconv ; then
+ ewarn "Charset conversion is an *experimental* feature!"
+ ewarn "Remember to set a valid charset for your filesystem in the configuration!"
+ fi
+ fi
+}
diff --git a/net-ftp/pure-ftpd/pure-ftpd-1.0.46.ebuild b/net-ftp/pure-ftpd/pure-ftpd-1.0.46.ebuild
new file mode 100644
index 000000000000..0666f54ec764
--- /dev/null
+++ b/net-ftp/pure-ftpd/pure-ftpd-1.0.46.ebuild
@@ -0,0 +1,136 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit eutils flag-o-matic
+
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+
+DESCRIPTION="Fast, production-quality, standard-conformant FTP server"
+HOMEPAGE="http://www.pureftpd.org/"
+SRC_URI="ftp://ftp.pureftpd.org/pub/${PN}/releases/${P}.tar.bz2
+ http://download.pureftpd.org/pub/${PN}/releases/${P}.tar.bz2"
+
+LICENSE="BSD"
+SLOT="0"
+
+IUSE="anondel anonperm anonren anonres caps charconv implicittls ldap libressl mysql noiplog pam paranoidmsg postgres resolveids selinux ssl sysquota vchroot xinetd"
+
+REQUIRED_USE="implicittls? ( ssl )"
+
+DEPEND="caps? ( sys-libs/libcap )
+ charconv? ( virtual/libiconv )
+ ldap? ( >=net-nds/openldap-2.0.25 )
+ mysql? ( virtual/mysql )
+ pam? ( virtual/pam )
+ postgres? ( dev-db/postgresql:= )
+ ssl? (
+ !libressl? ( >=dev-libs/openssl-0.9.6g:0=[-bindist] )
+ libressl? ( dev-libs/libressl:= )
+ )
+ sysquota? ( sys-fs/quota[-rpc] )
+ xinetd? ( virtual/inetd )"
+
+RDEPEND="${DEPEND}
+ dev-libs/libsodium:=
+ net-ftp/ftpbase
+ selinux? ( sec-policy/selinux-ftp )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.0.28-pam.patch
+)
+
+src_configure() {
+ # adjust max user length to something more appropriate
+ # for virtual hosts. See bug #62472 for details.
+ sed -e "s:# define MAX_USER_LENGTH 32U:# define MAX_USER_LENGTH 127U:" \
+ -i "${S}/src/ftpd.h" || die "sed failed"
+
+ # Those features are only configurable like this, see bug #179375.
+ use anondel && append-cppflags -DANON_CAN_DELETE
+ use anonperm && append-cppflags -DANON_CAN_CHANGE_PERMS
+ use anonren && append-cppflags -DANON_CAN_RENAME
+ use anonres && append-cppflags -DANON_CAN_RESUME
+ use resolveids && append-cppflags -DALWAYS_RESOLVE_IDS
+
+ # Do not auto-use SSP -- let the user select this.
+ export ax_cv_check_cflags___fstack_protector_all=no
+
+ local myeconfargs=(
+ --enable-largefile
+ --with-altlog
+ --with-cookie
+ --with-diraliases
+ --with-extauth
+ --with-ftpwho
+ --with-language=${PUREFTPD_LANG:=english}
+ --with-peruserlimits
+ --with-privsep
+ --with-puredb
+ --with-quotas
+ --with-ratios
+ --with-throttling
+ --with-uploadscript
+ --with-virtualhosts
+ $(use_with charconv rfc2640)
+ $(use_with ldap)
+ $(use_with mysql)
+ $(use_with pam)
+ $(use_with paranoidmsg)
+ $(use_with postgres pgsql)
+ $(use_with ssl tls)
+ $(use_with implicittls)
+ $(use_with vchroot virtualchroot)
+ $(use_with sysquota sysquotas)
+ $(usex caps '' '--without-capabilities')
+ $(usex noiplog '--without-iplogging' '')
+ $(usex xinetd '' '--without-inetd')
+ )
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ local DOCS=( AUTHORS CONTACT ChangeLog FAQ HISTORY INSTALL README* NEWS )
+
+ default
+
+ newinitd "${FILESDIR}/pure-ftpd.rc11" ${PN}
+ newconfd "${FILESDIR}/pure-ftpd.conf_d-3" ${PN}
+
+ if use implicittls ; then
+ sed -i '/^SERVER/s@21@990@' "${ED}"/etc/conf.d/${PN} \
+ || die "Adjusting default server port for implicittls usage failed!"
+ fi
+
+ keepdir /var/lib/run/${PN}
+
+ if use xinetd ; then
+ insinto /etc/xinetd.d
+ newins "${FILESDIR}/pure-ftpd.xinetd" ${PN}
+ fi
+
+ if use ldap ; then
+ insinto /etc/openldap/schema
+ doins pureftpd.schema
+ insinto /etc/openldap
+ insopts -m 0600
+ doins pureftpd-ldap.conf
+ fi
+}
+
+pkg_postinst() {
+ if [[ -z "${REPLACING_VERSIONS}" ]]; then
+ # This is a new installation
+ elog
+ elog "Before starting Pure-FTPd, you have to edit the /etc/conf.d/pure-ftpd file!"
+ elog
+ ewarn "It's *really* important to read the README provided with Pure-FTPd!"
+ ewarn "Check out http://download.pureftpd.org/pub/pure-ftpd/doc/README for general info"
+ ewarn "and http://download.pureftpd.org/pub/pure-ftpd/doc/README.TLS for SSL/TLS info."
+ ewarn
+ if use charconv ; then
+ ewarn "Charset conversion is an *experimental* feature!"
+ ewarn "Remember to set a valid charset for your filesystem in the configuration!"
+ fi
+ fi
+}
diff --git a/net-ftp/pureadmin/Manifest b/net-ftp/pureadmin/Manifest
new file mode 100644
index 000000000000..fe93fe39588f
--- /dev/null
+++ b/net-ftp/pureadmin/Manifest
@@ -0,0 +1,6 @@
+AUX pureadmin-0.4-gold.patch 842 SHA256 59813b8d7e2855c002476538ddb979b36768f002887ab26ea580872351982795 SHA512 1c6848987cf21c023cabecd8107d9f4292e704164c4330bd8c43217b7ebd1a6d74a5476c8ab1586e2a1f683f7e35926dfe8c3cbae91b01617e6689dc966e8851 WHIRLPOOL 2966e6b9b601132b2ffbb7338aeafeab8eec92133453e2eed26e559821501e2c8ba1351348104ef1d799abb013c7b9faf6dcc70a542df7809eede7b7d3d9282a
+DIST pureadmin-0.4.tar.gz 386739 SHA256 d7a43da0eb16ad5d57ac4ffe045004977186b2bacb244cb8c5239e2e0b3a2112 SHA512 46fd4caff0d6c123412478690411409038d5590cc7388993eed35fc33a34302b8310ae1ede971ed31cbf29ba4ef3b4c21ce5b8c9b225659b3110c6abcd1e78c6 WHIRLPOOL 3168c872ac6c3c6d54dac0ff4dee9ac2f9878f20911b9f1f570d7be3c3201293441aaf05b8d6fcb2c43f7389320670588033e73a597b1d48228e0c58b27ebbf1
+EBUILD pureadmin-0.4-r1.ebuild 1334 SHA256 0de308e43538c87cca2009372891cfa987628e402a390e29386a9dcab56c4a0f SHA512 a39baf4c784be696ba68faab95ece344a1075f6e087515d90e8d21a27f772df1324cb586483e4fbf5155ba46fc4c7c9b6cd4b0436550c37066fc485f4aa4fe1a WHIRLPOOL cbbbf668ae1247f07f91b43f759c0c0b0948ec47eedb44070944f5eca240494f1a5ae22210219a72eef08e27c8020230fcf89826e790fee14e407179634f5a15
+MISC ChangeLog 2562 SHA256 cf5ba73971c4dafc49e6e394b28c80fc01e258763864c5ca865919093dceaf79 SHA512 fc21f109e3da7e1e57c2b864c25d45204a74aa86ade8d27d4618c963f6b4515ddedc60b0cb45193a1b9ed55ce4f9d8f181fd9ddf876126ca406467fcb7ed8b6c WHIRLPOOL ad26cc220119782f55c77df9fde550fe81020a78ba2c2dd29cfb2f3ca7051cc64d1c9f83d82ca1716537d868fe7109d5a1cfaff887414dc23122e99cd84697f6
+MISC ChangeLog-2015 3365 SHA256 04e628e59de90304cca8ee10cdcfa3106894ff96e554a731a5b32960331f54bb SHA512 8d1f9c6982baa9d6d9d91c1d473287b53f18a6e2b7d07d698d1a39e0b10830f1e29334d9a13ee58c3fabee68043319e84895106a8af3997352dc04d5264031b8 WHIRLPOOL 54825002260bbf4d9716b9a74bce414422def2e95dbeb9a82952534be92f1d334eac34101493b5896977bed8fc40e075ba18e47967fe2df2b5794f093b64edae
+MISC metadata.xml 351 SHA256 139e7ee4a0159d74be08db380463cb91f18a67a46fd4e3bfe1375d1691712e43 SHA512 572cec5a1abc7ebd7cb0db74ab3e3cadefe7c85ab92f38a76bbdf37049961eb2e82c8f392fca6c15cecc59a78b01237d1a760d0d6cf381b9ba19781537bcd86b WHIRLPOOL fc49c4b3a9dee2f8c9832a1e55f9c066b9e83f4be19e2963b880a482bff059553b7ec33d01feb5cdafecbabf5b38a3022ac5623de57c3ba48673bd5b8bf14eda
diff --git a/net-ftp/pureadmin/files/pureadmin-0.4-gold.patch b/net-ftp/pureadmin/files/pureadmin-0.4-gold.patch
new file mode 100644
index 000000000000..7b19565ac10a
--- /dev/null
+++ b/net-ftp/pureadmin/files/pureadmin-0.4-gold.patch
@@ -0,0 +1,28 @@
+ src/Makefile.am | 2 +-
+ src/Makefile.in | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/Makefile.am b/src/Makefile.am
+index 94f61e0..0ebb561 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -38,5 +38,5 @@ pureadmin_CFLAGS = -std=gnu99 -Wall
+
+ pureadmin_LDFLAGS = -export-dynamic
+
+-pureadmin_LDADD = @GTK_LIBS@ $(INTLLIBS) @BINRELOC_LIBS@
++pureadmin_LDADD = @GTK_LIBS@ $(INTLLIBS) @BINRELOC_LIBS@ -lm -lX11
+
+diff --git a/src/Makefile.in b/src/Makefile.in
+index b2ade45..dd9401c 100644
+--- a/src/Makefile.in
++++ b/src/Makefile.in
+@@ -249,7 +249,7 @@ pureadmin_SOURCES = \
+
+ pureadmin_CFLAGS = -std=gnu99 -Wall
+ pureadmin_LDFLAGS = -export-dynamic
+-pureadmin_LDADD = @GTK_LIBS@ $(INTLLIBS) @BINRELOC_LIBS@
++pureadmin_LDADD = @GTK_LIBS@ $(INTLLIBS) @BINRELOC_LIBS@ -lm -lX11
+ all: all-am
+
+ .SUFFIXES:
diff --git a/net-ftp/pureadmin/metadata.xml b/net-ftp/pureadmin/metadata.xml
new file mode 100644
index 000000000000..674860b13fd5
--- /dev/null
+++ b/net-ftp/pureadmin/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <!-- maintainer-needed -->
+ <longdescription>Graphical tool used to make the management of PureFTPd a little easier.</longdescription>
+ <upstream>
+ <remote-id type="sourceforge">purify</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/net-ftp/pureadmin/pureadmin-0.4-r1.ebuild b/net-ftp/pureadmin/pureadmin-0.4-r1.ebuild
new file mode 100644
index 000000000000..815d949ac40e
--- /dev/null
+++ b/net-ftp/pureadmin/pureadmin-0.4-r1.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=4
+
+inherit eutils
+
+DESCRIPTION="GUI tool used to make the management of Pure-FTPd a little easier"
+HOMEPAGE="http://purify.sourceforge.net/"
+SRC_URI="mirror://sourceforge/purify/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~ppc x86"
+IUSE="debug doc"
+
+RDEPEND="
+ gnome-base/libglade:2.0
+ sys-libs/zlib
+ virtual/fam
+ x11-libs/gtk+:2"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+src_prepare() {
+ cat >> po/POTFILES.skip <<- EOF
+ src/eggstatusicon.c
+ src/eggtrayicon.c
+ src/prereq_usrmanager.c
+ EOF
+ epatch "${FILESDIR}"/${P}-gold.patch
+}
+
+src_configure() {
+ local myconf=""
+
+ use debug && myconf="${myconf} --enable-debug"
+
+ econf ${myconf}
+}
+
+src_install() {
+ default
+
+ # Move the docs to the correct location, if we want the docs
+ if use doc ; then
+ dodoc "${ED}"usr/share/pureadmin/docs/*
+ fi
+ rm -Rfv "${ED}"usr/share/pureadmin/docs || die
+
+ make_desktop_entry pureadmin "Pure-FTPd menu config" pureadmin
+}
+
+pkg_postinst() {
+ ewarn "PureAdmin is at a beta-stage right now and it may break your"
+ ewarn "configuration. DO NOT use it for safety critical system"
+ ewarn "or production use!"
+ echo
+ elog "You need root-privileges to be able to use PureAdmin."
+ elog "This will probably change in the future."
+ echo
+}
diff --git a/net-ftp/pybootd/Manifest b/net-ftp/pybootd/Manifest
new file mode 100644
index 000000000000..1983b4bc7dfd
--- /dev/null
+++ b/net-ftp/pybootd/Manifest
@@ -0,0 +1,6 @@
+AUX pybootd-scripts.patch 1055 SHA256 457d5d5335d70872aa443fd7597496bd122150e63c0109c3704116096e1b4208 SHA512 b3727ac420ab322742bfcbba6f59aea4e30d592549c1652ae092d93c4918d2d83ee9252058f4bf35dd0a3a3e20e97f2c032a6a2b014cc132ab7cc9e9a61c8933 WHIRLPOOL de1958afbe244a1264be482fc18700d9dd0bdae474867308abf052818d65226539de9e85a9244e4605c46fe473547b0d3e08a5203c62a7fcc5a38b9dc7992dfe
+DIST pybootd-1.5.0_pre20110524131526.tar.gz 21855 SHA256 55c7f74f32ac160a47631d2ef2f2962c2ea6c3321a3a5ef4dc8aac8be252468d SHA512 113a2195d33ba5a0196810370fedd582204de5f8323ecec37e6209fc7074cde06ba80cb8113fd83be70685c8ea18c6167d751085ea9bee5c1ab34dab152eea71 WHIRLPOOL 967322a33ae6a39f137910af9aa11f58ce58c3e0739817678d071356fa9d2a973411ca56bcdc056c2e0be1b95c410d12ee06dbbeffc960a9bc9125ccfdafdec8
+EBUILD pybootd-1.5.0_pre20110524131526.ebuild 597 SHA256 148928fde78013b7aa523040b94edffd1ee5643ce74b5e83a56a2ee604d02670 SHA512 6429cce2e69904a29d373096989d9d035c01cf344c46e22782c056eeaa4f9776335a040f3fc2d2174ef65279b7c7a4222a4f88831b68584d6bcc6a41da4f1816 WHIRLPOOL e7b76dd4760966bf968bd24cdeb6efc5b1e56d7f3362dafcac743d2aac45c60adad5fc056a6546186538082dc0cab80c29739c7b85c97561b8e3365ccca31239
+MISC ChangeLog 2597 SHA256 2162de2929bda0b238a12b1b36c80f0e14b8499ce964ffff29c729c5c9f54568 SHA512 3a08b2256c6689ce4b92d478e13ece56da8e78b77ba259c4ba7ea5b4a3e91a37f2e6044a1a0708befc81015acee45a56e02acc3ed8dbfa4289af97433a5c71e3 WHIRLPOOL 191ff48767e03273ef2c4e561c9cd784e30a4108c89bbdf6a9de8e2166eb3c5899aa8a9b4f72d548526dbe01819eb877280a82968e912b92b2c0bc7da9449030
+MISC ChangeLog-2015 427 SHA256 548afa7f8ea26692a11dd27248d0dabb313326437126a08e7a66cf957be1b596 SHA512 39ef863ac4568c6ff442b6618ea244a138b5a41d6e9230446b4d4a2ba2b69cbe89a70a88f3154039227b30b12fc9654c9335ca0d42025795e90ce47b9f03823d WHIRLPOOL 8cf9118bbb696837d89be331eba229dcb39474c2f5ad0d5ccc2c3c64080bf8b840098ac4cfe1039ca93e96cd501a33a06eda02f2c301af538291a161ab641818
+MISC metadata.xml 290 SHA256 0bcc4597dc32bba48111f8b124e554f1958cfb211d77bfde896ef312cc93f045 SHA512 b0756ada0e59328587d68c99d9ce401c0e2f3f5a402719a5e9b67b7969b56fd55c4930c63e1209e01d58562f09c45cbcedb758204efec65d09f82c4595e39ce5 WHIRLPOOL a420c5ec0dbbf309754ed3897e0550506a902ad0b2181fec82d2fa9c2240ce85e2a7413253023585dfff8d2dab8d59834fed3dc78797f32db4250ba9db31e1d9
diff --git a/net-ftp/pybootd/files/pybootd-scripts.patch b/net-ftp/pybootd/files/pybootd-scripts.patch
new file mode 100644
index 000000000000..71a001f44798
--- /dev/null
+++ b/net-ftp/pybootd/files/pybootd-scripts.patch
@@ -0,0 +1,36 @@
+install the pybootd.py helper as pybootd otherwise the import gets confused
+
+--- a/setup.py
++++ b/setup.py
+@@ -18,13 +18,23 @@
+ # License along with this library; if not, write to the Free Software
+ # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
++import shutil
+ from distutils.core import setup
++import distutils.command.install_scripts
+
+
+ def _read(fname):
+ import os
+ return open(os.path.join(os.path.dirname(__file__), fname)).read()
+
++class script_rename(distutils.command.install_scripts.install_scripts):
++
++ def run(self):
++ distutils.command.install_scripts.install_scripts.run(self)
++ for script in self.get_outputs():
++ if script.endswith('.py'):
++ shutil.move(script, script[:-3])
++
+ setup(
+ name='pybootd',
+ version='1.5.0',
+@@ -56,5 +66,7 @@ setup(
+ package_data = {
+ '': ['etc/*.ini', 'etc/*.cfg'],
+ },
++ cmdclass = {'install_scripts': script_rename},
++ scripts = ['pybootd.py'],
+ long_description=_read('README.rst'),
+ )
diff --git a/net-ftp/pybootd/metadata.xml b/net-ftp/pybootd/metadata.xml
new file mode 100644
index 000000000000..236bb92992dd
--- /dev/null
+++ b/net-ftp/pybootd/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <!-- maintainer-needed -->
+ <upstream>
+ <remote-id type="pypi">pybootd</remote-id>
+ <remote-id type="github">eblot/pybootd</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/net-ftp/pybootd/pybootd-1.5.0_pre20110524131526.ebuild b/net-ftp/pybootd/pybootd-1.5.0_pre20110524131526.ebuild
new file mode 100644
index 000000000000..ba6a2718f413
--- /dev/null
+++ b/net-ftp/pybootd/pybootd-1.5.0_pre20110524131526.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+GIT_HASH="7fd7d045fd4b4cdeebf4d07c1c5cd9649c2172b8"
+
+DESCRIPTION="Simplified BOOTP/DHCP/PXE/TFTP server"
+HOMEPAGE="https://github.com/eblot/pybootd"
+SRC_URI="https://github.com/eblot/pybootd/archive/${GIT_HASH:0:6}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="LGPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND=">=dev-python/netifaces-0.5"
+DEPEND=""
+
+S="${WORKDIR}/pybootd-${GIT_HASH}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-scripts.patch
+)
diff --git a/net-ftp/qshare/Manifest b/net-ftp/qshare/Manifest
new file mode 100644
index 000000000000..c1d0b7c5318d
--- /dev/null
+++ b/net-ftp/qshare/Manifest
@@ -0,0 +1,6 @@
+AUX qshare-2.1.5-desktop.patch 758 SHA256 c6f95da42e769e588a8c4109ceae9cac39e397dab0b53a695750f55103c51087 SHA512 eb4ee8b9ee6004afbfa5601f9205b9712e1c68f656d5671b3e00ae1e361aa6d9fad2469a47f3d80f4035c088c8e0fc130da1707bfb26990bb629b72ee51709a2 WHIRLPOOL 434b7300d582ac1127aeb3cdfdec07fbb0790b58b1465096e381a70ee4990e9b3f771a21fe73ca02c84c2457a5575e1857ba9e2ec5b45042ed1b3dc82e5c3916
+DIST qshare-2.1.5-src.tar.bz2 770556 SHA256 9122ecd6f4b0091a24fe664ee6254ae16acada0e315b5e30bdf95828639fcde2 SHA512 5d1ca2ffaf93d1136a2549cb4b7525f4990182a53dbff0752d60c2d24b4022f4082d39c8df2758d97e3830bc59033da9018a80474f52dd83245a8830ec3b4c1f WHIRLPOOL d67e14a5dfaf230e43250ec3946e106d43d80177f696680c7672fdc29d03c292dbaf2e6ae7d98bdbae8dfd47c944309ec644a60eeb175ea2751c0665520a1cb8
+EBUILD qshare-2.1.5-r1.ebuild 521 SHA256 edb23ae0a794ef643d8d509cebd42fe1ca1570f496b62feed96a782ca6e8741c SHA512 86b9d9d4d3f0e9ce6a551a5c6a01a3a32583aed5ca318808d8998bf85bd0b4f50728eeabda27f88d2254350c28ed02f21a6ffe0ac94bbe5f400cc013b8950062 WHIRLPOOL 7b1948ea3fe61418425f047d6ca5f92c294c4cb30de3dcaab14b7330b72c679b368f54cf5e07b12f6a4225ce856655c6608749d90289018426c98c78a8ab55a3
+MISC ChangeLog 2464 SHA256 63f1b4e2a6984c89e3232ea766b2c01701a22eda3e4b5be21fa4452f0355ba4b SHA512 2efe9a31903af60b0a02586a26893b08183179426e3fe2af8290974acf647137501e14f893a5a8d8e027e9ea882706a1edafb42d559738826afe911206016311 WHIRLPOOL 8e742b412a02c77373fffecb8e9f32655872d0b2942a66f7a7957cb6fba894788051d31b4d866e2a89382b320de24335c19af98dec1847d3668ea62a0f26914a
+MISC ChangeLog-2015 3386 SHA256 9e795f009dc9a0d5ec81783715575f9588a92103f5a333efa3f2b8445a27c6e8 SHA512 48fa22a63184d8bf6411a68e04323aa96461f265d2e59cb026d80b94b54cc1277b1391982e36c8096aabd7630e980a7c9bdbd30cf26168c66bbb21f3d212dd54 WHIRLPOOL d531beabb9474dadf96aeee666fe47021a96911562e16fc3cc84eb717355108f8dba3d7d6757f9707499a7a491e380bc08e5fe4e80b734c2280c17c6a6494422
+MISC metadata.xml 243 SHA256 40d70720dcef790c8b2af5864ea1d289f0a661e0db1e89d2c6a8a5c0d2ea971e SHA512 fc40891d1d0c8526f7ac87f25fbdb63e927494f972894e0006fe85eab8eef60ae79761cbc42febd202172da040283a2daa432908bf02ef83d27454660f20e72b WHIRLPOOL 0c09ba0a23280f3d5b0bd26ca7e3f3fe8e43302780afbcb20218599b9b8f426485b8aba8c97f1507f9adab1688d78cb132792cb4d13e130454c393b69fc662f4
diff --git a/net-ftp/qshare/files/qshare-2.1.5-desktop.patch b/net-ftp/qshare/files/qshare-2.1.5-desktop.patch
new file mode 100644
index 000000000000..1c18e85e8db1
--- /dev/null
+++ b/net-ftp/qshare/files/qshare-2.1.5-desktop.patch
@@ -0,0 +1,16 @@
+Gentoo bug #457712.
+
+Index: distrib/linux/qshare.desktop
+===================================================================
+--- distrib/linux/qshare.desktop (revision 90)
++++ distrib/linux/qshare.desktop (working copy)
+@@ -1,7 +1,7 @@
+ [Desktop Entry]
+ Comment=Desktop FTP server without any configuration
+-Comment[ru_RU]Графический FTP-сервер без конфигурирования
+-Comment[uk_UA]Графічний FTP-сервер без конфігурування
++Comment[ru_RU]=Графический FTP-сервер без конфигурирования
++Comment[uk_UA]=Графічний FTP-сервер без конфігурування
+ Exec=qshare
+ GenericName=Personal FTP server
+ GenericName[fr]=Serveur FTP personnel
diff --git a/net-ftp/qshare/metadata.xml b/net-ftp/qshare/metadata.xml
new file mode 100644
index 000000000000..32fe1293e9a9
--- /dev/null
+++ b/net-ftp/qshare/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="project">
+ <email>qt@gentoo.org</email>
+ <name>Gentoo Qt Project</name>
+</maintainer>
+</pkgmetadata>
diff --git a/net-ftp/qshare/qshare-2.1.5-r1.ebuild b/net-ftp/qshare/qshare-2.1.5-r1.ebuild
new file mode 100644
index 000000000000..774b89db7b79
--- /dev/null
+++ b/net-ftp/qshare/qshare-2.1.5-r1.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit cmake-utils
+
+DESCRIPTION="FTP server with a service discovery feature"
+HOMEPAGE="http://www.zuzuf.net/qshare/"
+SRC_URI="http://www.zuzuf.net/qshare/files/${P}-src.tar.bz2"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+RDEPEND="dev-qt/qtcore:4
+ dev-qt/qtgui:4
+ net-dns/avahi[mdnsresponder-compat]"
+DEPEND="${RDEPEND}"
+
+DOCS=( AUTHORS README )
+PATCHES=( "${FILESDIR}/${P}-desktop.patch" )
diff --git a/net-ftp/scythia/Manifest b/net-ftp/scythia/Manifest
new file mode 100644
index 000000000000..b198c6d5dadf
--- /dev/null
+++ b/net-ftp/scythia/Manifest
@@ -0,0 +1,5 @@
+DIST scythia_0.9.3-2-src.tar.gz 407388 SHA256 e014f5f011b2f7464597a446490102f2dfad53a1a546043b826d6cf6cfe6b9aa SHA512 48ca7640da8ccbcdfea20427b153692e0a276acef7ca3b5abb08fe0ef886cb5486815dafd83d1f45f98a4d1723303713480c048a2b49b37d298808c95a0be786 WHIRLPOOL b5bba8c5c9dfb4f741f0202b0c07c489e74c33876ee3d94bf77bf1635fdbb40bdbcde82e1497d507fede37b95a0c9d4897fb8b8eb149b9cd7d613b4ac554bd4d
+EBUILD scythia-0.9.3_p2.ebuild 694 SHA256 8cc169feaa02de45bde26b44cd60f0a6ceb8762b32772837213b9dee24d51329 SHA512 1e3ef1ccee3ff3813ad6a45e1b67889cfab11bc2aae15bcfdf8c26179a28ab40f6420a610ae4ad9beefa6dd763009862febeb38a4a4c1f900d7f95535622ce3a WHIRLPOOL ba098c0534cac13aed8a19192c12af65a0316dc39625a86348be67b9c780a3b0908231ee3db0bc92723e9a6879059193583af785e874481af00ad668cb118bd6
+MISC ChangeLog 2551 SHA256 f9eb8c67f458e998d77f5264bd18183cb4164a6b0ea4cd6092a9dc7c8639abca SHA512 ce21c195efe71180679ff06067b3538de01c7554debe1882f5f15d0b85af44f1acd85fec2bdbd302af54bfd485bee078e601a6e8149e911f35a385740a9b337e WHIRLPOOL 9b12572cef629057cba432663e1370335fb52b73f7fc5a998352361b70b34f6c4ceb94d6772bffd15851447fbe55eab3b7a444ef9cfa4307ae8a2135978bf65b
+MISC ChangeLog-2015 654 SHA256 bd93cf4e6fa15ad842d9cab61a002c3fc268bd283c66c6e7c917c770c1db8e8c SHA512 f3c18809ae0cf4c65c7cb6371aecc6656ba8625557f9e2d5b775d8057da3b339dc148f898f10235962d536477eb606c2cd24e8c18961964fbc813ada7e46e395 WHIRLPOOL 6369374c45734dc0b2b4ccf6a17db39c2a14791f1e42e3f5cb3c05e9e755eecfaba740ab2781a0e18ca68b9330e477f87646b9830027b0d1544d14639741b0f5
+MISC metadata.xml 253 SHA256 36bd209de009a489b24e922a4d2e3fb8ff0d8c68ef9943eb0f4c2a9ec6638a3f SHA512 5417d2869e029c2e156185a3263bef4e78109b9306575cfcf072105a61ad2f75ee7bc6401db3564c1ae5c7630aadf551e09234b4448cd64341380f687ee47436 WHIRLPOOL a0d96df37ca16a58705d8ad4c8ac3da87f0bd059c6c5d85b7c109a1c83b917f72688a79baaa496c4b7badc0960a469dced4127166481a07df05da3de261bbcdb
diff --git a/net-ftp/scythia/metadata.xml b/net-ftp/scythia/metadata.xml
new file mode 100644
index 000000000000..a7f1abb3029b
--- /dev/null
+++ b/net-ftp/scythia/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="project">
+ <email>qt@gentoo.org</email>
+ <name>Gentoo Qt Project</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/net-ftp/scythia/scythia-0.9.3_p2.ebuild b/net-ftp/scythia/scythia-0.9.3_p2.ebuild
new file mode 100644
index 000000000000..31d38020de70
--- /dev/null
+++ b/net-ftp/scythia/scythia-0.9.3_p2.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit gnome2-utils qt4-r2
+
+DESCRIPTION="Just a small FTP client"
+HOMEPAGE="http://scythia.free.fr/"
+SRC_URI="http://scythia.free.fr/wp-content/${PN}_${PV/_p/-}-src.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 ~x86"
+IUSE=""
+
+RDEPEND="dev-qt/qtgui:4"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/${PN}"
+
+src_prepare() {
+ sed -i \
+ -e 's:/usr/share/applnk/Internet:/usr/share/applications:g' \
+ -e "s:scythia/html:${PF}/html:" \
+ scythia.pro || die
+}
+
+pkg_preinst() {
+ gnome2_icon_savelist
+}
+
+pkg_postinst() {
+ gnome2_icon_cache_update
+}
+
+pkg_postrm() {
+ gnome2_icon_cache_update
+}
diff --git a/net-ftp/tftp-hpa/Manifest b/net-ftp/tftp-hpa/Manifest
new file mode 100644
index 000000000000..df604e98f347
--- /dev/null
+++ b/net-ftp/tftp-hpa/Manifest
@@ -0,0 +1,10 @@
+AUX in.tftpd.confd-0.44 576 SHA256 55e67f871f070db2b7fa1428dabf55777ca87fecdbba7fa3b03e63c63734f977 SHA512 2aa2f69a6cc86cd0b0ac9dd3c06bb271e3085eb5d44b74edf1b33a9723ba172b0cd0aa92dc0224de52e0572deb9f855e725ed076d8f57c86b509b2fbc03f5075 WHIRLPOOL 583852aea654171bc74d8fd431ef93ddca6d818285a4864b7e6a2fbc6a53c1f71452bcc9eaecfde5165c567430d7c6af05aaed52ade40492315e78a4c479731d
+AUX in.tftpd.rc6 334 SHA256 57fc8d603045563edf8cf657e2292f5cf830111002feb47af91e868d88733297 SHA512 77fd2fd385a6ee9415dfe4a15a993bde86396014cf7cfc0f97fb56c4040ef4becfe103be973b90688d0ee00bb46a36b51297ea46ecf7e32c400373c976de05df WHIRLPOOL 2cada63581757f4ec088f787f72249c75cc89d32ebdf8976869206e0dbc6049301e97aeb617e6979fc66c8cde28ed1d5ee0d13ca33ae6cacc8e552bc10ab9596
+AUX tftp.service 119 SHA256 a3eea8222b6e1f6a5ee9548635f1702ab7ef20db7537c270568d4b8487279a28 SHA512 e6be243fb28d014d7492b64cc9e72a29f0d2fcf7cf403f0b41998483c298bc39e83be2d0a6d0b7604d4da71fcb48ad0aabbfd0fa1620597883e66d5a6df222d8 WHIRLPOOL fc6bdf933717fb55a158cfb2a4993f27c86d6602c1681bab1bc00047d9f3e60f0be97be5c27c3af13b8f2fe0d5eeb6b65aba5956b680ad6121b09096192cb84c
+AUX tftp.socket 112 SHA256 7cf8fd4d11d478436f99ca5e16ab6fe985208d52609874ee1f617a180c4e028f SHA512 d49cdbb7e265aa98d989f8ae96e2c80bfd5887ae0efc6bfcd726d5fa4d83ffc480f5f374e30b8564b05d9690eb2a0c0ed0077982a74946edfbce5d19066d0564 WHIRLPOOL 4b05a93b25f88b8cf7438f5fad94b73b51e59fa2c877cf19b7fee0342b8c2e93ea6c3e7a492b1ef69f4ee4a88b10e544dbc9d9134d0849678c075d474dcb7e7c
+AUX tftp.xinetd 219 SHA256 044c1c262cbeddbcddf449a694c5c472cc236aba87ea89b5a4dc7a76a1bf90a5 SHA512 26883a4feffe8f66fe2c21c05892beeb93fa4511ca5ce18e92273badd4b93afefb0d9cef48e07503037ca37b2ff0cdb24d35e5c24d2e32d8027a5e74c49426f5 WHIRLPOOL 43a0883338b74f18b63afde21e881932e83017aa47f28240f33eed25426705ac7d545b7220245c2a47785c53d4ebc23ce171667ccbabc7e8d94ff7ff8ea82407
+DIST tftp-hpa-5.2.tar.xz 89564 SHA256 afee361df96a2f88344e191f6a25480fd714e1d28d176c3f10cc43fa206b718b SHA512 a5198e923a6e58281f749dc77b3f3ed8579e56b6f0fd6a17482cc88bdc8d34b6702c7c709717885b9b937ecae459d9a832328a49a2e3536dc7432cdb39d2a394 WHIRLPOOL 43fc1db9e4e88266e280402a4d499da5e22632624e1c3ad868f15cf55b5f6c6557662cd8a6739bea89b608cf5c8917ef5c7ce6d6fb16164458ac6f4cc67e2c19
+EBUILD tftp-hpa-5.2-r1.ebuild 1313 SHA256 1aa8a68b14d1e83e6b699c2581609c74ee1b6d58350e188a8e23009f7135c1d3 SHA512 4c1c1ca350efc504dcddb5268bc8699ac38fa40995216f4dcec8268510fd5b7b9f1bd2cb80271be3569bfdf9f8b29bcc8ec3eeff0e2e28a905f1939a1025420a WHIRLPOOL 80c08e92751e1e452f12dd1e6e452059d53d2593563087b1f74b4c3124d4df72b46fccbbfff9525d7413e3e9cf03e9a44b59c205bd8471662e2d03954292e99e
+MISC ChangeLog 2911 SHA256 9c0165aa5216ac558eee971a6841725ca58e522b75365fb87d1a9174d8a6e411 SHA512 364abd9617208040c8044d6db20216b2ee6b71289f83d12031ccc84ce8c910161c0e19e44fa2730c759155d62d2e1412d4f506f1e680eac57d93cee76affbf20 WHIRLPOOL 6f963c6bf1b78aa9e870cda553040a2baaac2e3ddc6c1edaf300b86800a0637c804ece9d12522a26ebd445275e90e7446468957635a1db1d9a01a74f5a502e6a
+MISC ChangeLog-2015 12705 SHA256 cdee8657ba6e6546f800152e827e7965da9b393f109f74bb546f11c2800c49ff SHA512 3c6664b3a1e934de6c82ecc846a5869591ed9db96b5526c98225d90700ab884a91df26c54f80d020f914884316144623b2dae76cd39057a7e4ea6cebfaf5a170 WHIRLPOOL f8b718f1d2611b728763f33f51abfb82760d912c17863fd797d090032c72d0575434f97fa801d50776d041891a24b2d01e66f53c1589232ca87efb54a80cd6ab
+MISC metadata.xml 253 SHA256 d82c33ef453113a5c1ebe250dcba373c22934a69b0a86c6ab15a5ca589c25b91 SHA512 54a9069aeb4165d2dff3d473c8001bc51613aac9dff3f7f5e9971a9891a737a31511ffa11cbd523febe581ac1d9de2bdf2f40410f0c4239138f2ccca3ef15555 WHIRLPOOL e5aee23acff864609953a1e4de768f0e4aef704b44c53c021f28573e1ca5c99f1a46d92935ecec2449f7b4419a36d8373127d0ecfa8d7bae72d835e1839eb3f8
diff --git a/net-ftp/tftp-hpa/files/in.tftpd.confd-0.44 b/net-ftp/tftp-hpa/files/in.tftpd.confd-0.44
new file mode 100644
index 000000000000..14e8d1452881
--- /dev/null
+++ b/net-ftp/tftp-hpa/files/in.tftpd.confd-0.44
@@ -0,0 +1,15 @@
+# /etc/init.d/in.tftpd
+
+# Path to server files from
+# Depending on your application you may have to change this.
+# This is commented out to force you to look at the file!
+#INTFTPD_PATH="/var/tftp/"
+#INTFTPD_PATH="/tftpboot/"
+#INTFTPD_PATH="/tftproot/"
+
+# For more options, see in.tftpd(8)
+# -R 4096:32767 solves problems with ARC firmware, and obsoletes
+# the /proc/sys/net/ipv4/ip_local_port_range hack.
+# -s causes $INTFTPD_PATH to be the root of the TFTP tree.
+# -l is passed by the init script in addition to these options.
+INTFTPD_OPTS="-R 4096:32767 -s ${INTFTPD_PATH}"
diff --git a/net-ftp/tftp-hpa/files/in.tftpd.rc6 b/net-ftp/tftp-hpa/files/in.tftpd.rc6
new file mode 100644
index 000000000000..92f7352358e1
--- /dev/null
+++ b/net-ftp/tftp-hpa/files/in.tftpd.rc6
@@ -0,0 +1,19 @@
+#!/sbin/openrc-run
+# Copyright 1999-2005 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+depend() {
+ need net
+}
+
+start() {
+ ebegin "Starting tftpd"
+ /usr/sbin/in.tftpd -l ${INTFTPD_OPTS}
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping tftpd"
+ start-stop-daemon --stop --exec /usr/sbin/in.tftpd
+ eend $?
+}
diff --git a/net-ftp/tftp-hpa/files/tftp.service b/net-ftp/tftp-hpa/files/tftp.service
new file mode 100644
index 000000000000..f43937875409
--- /dev/null
+++ b/net-ftp/tftp-hpa/files/tftp.service
@@ -0,0 +1,6 @@
+[Unit]
+Description=Tftp Server
+
+[Service]
+ExecStart=/usr/sbin/in.tftpd -R 4096:32767 -s /tftproot
+StandardInput=socket
diff --git a/net-ftp/tftp-hpa/files/tftp.socket b/net-ftp/tftp-hpa/files/tftp.socket
new file mode 100644
index 000000000000..8764c1de349c
--- /dev/null
+++ b/net-ftp/tftp-hpa/files/tftp.socket
@@ -0,0 +1,8 @@
+[Unit]
+Description=Tftp Server Activation Socket
+
+[Socket]
+ListenDatagram=69
+
+[Install]
+WantedBy=sockets.target
diff --git a/net-ftp/tftp-hpa/files/tftp.xinetd b/net-ftp/tftp-hpa/files/tftp.xinetd
new file mode 100644
index 000000000000..c1bf20ab2929
--- /dev/null
+++ b/net-ftp/tftp-hpa/files/tftp.xinetd
@@ -0,0 +1,10 @@
+service tftp
+{
+ disable = yes
+ socket_type = dgram
+ protocol = udp
+ wait = yes
+ user = root
+ server = /usr/sbin/in.tftpd
+ server_args = -R 4096:32767 -s /tftpboot
+}
diff --git a/net-ftp/tftp-hpa/metadata.xml b/net-ftp/tftp-hpa/metadata.xml
new file mode 100644
index 000000000000..56c124413057
--- /dev/null
+++ b/net-ftp/tftp-hpa/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="project">
+ <email>base-system@gentoo.org</email>
+ <name>Gentoo Base System</name>
+</maintainer>
+</pkgmetadata>
diff --git a/net-ftp/tftp-hpa/tftp-hpa-5.2-r1.ebuild b/net-ftp/tftp-hpa/tftp-hpa-5.2-r1.ebuild
new file mode 100644
index 000000000000..a0de442dd025
--- /dev/null
+++ b/net-ftp/tftp-hpa/tftp-hpa-5.2-r1.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+inherit systemd eutils toolchain-funcs
+
+DESCRIPTION="port of the OpenBSD TFTP server"
+HOMEPAGE="https://www.kernel.org/pub/software/network/tftp/"
+SRC_URI="mirror://kernel/software/network/tftp/${PN}/${P}.tar.xz"
+
+LICENSE="BSD-4"
+SLOT="0"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 s390 sh sparc x86 ~x86-fbsd ~ppc-macos"
+IUSE="ipv6 readline selinux tcpd"
+
+CDEPEND="
+ readline? ( sys-libs/readline:0= )
+ tcpd? ( sys-apps/tcp-wrappers )
+ !net-ftp/atftp
+ !net-ftp/netkit-tftp"
+DEPEND="${CDEPEND}
+ app-arch/xz-utils"
+RDEPEND="${CDEPEND}
+ selinux? ( sec-policy/selinux-tftp )
+"
+src_prepare() {
+ epatch_user
+
+ sed -i "/^AR/s:ar:$(tc-getAR):" MCONFIG.in || die
+}
+
+src_configure() {
+ econf \
+ $(use_with ipv6) \
+ $(use_with tcpd tcpwrappers) \
+ $(use_with readline)
+}
+
+src_install() {
+ emake INSTALLROOT="${D}" install
+ dodoc README* CHANGES tftpd/sample.rules
+
+ # iputils installs this
+ rm "${ED}"/usr/share/man/man8/tftpd.8 || die
+
+ newconfd "${FILESDIR}"/in.tftpd.confd-0.44 in.tftpd
+ newinitd "${FILESDIR}"/in.tftpd.rc6 in.tftpd
+
+ systemd_dounit "${FILESDIR}"/tftp.service
+ systemd_dounit "${FILESDIR}"/tftp.socket
+
+ insinto /etc/xinetd.d
+ newins "${FILESDIR}"/tftp.xinetd tftp
+}
diff --git a/net-ftp/tlswrap/Manifest b/net-ftp/tlswrap/Manifest
new file mode 100644
index 000000000000..8dc4ecb476f1
--- /dev/null
+++ b/net-ftp/tlswrap/Manifest
@@ -0,0 +1,10 @@
+AUX fix-Wformat-security-warnings.patch 2478 SHA256 b322f6d5d341a15a229a22562ad334481f4f20af7bd77fe9f59083a89e28185d SHA512 77af5535f8a250baa1e1967bdf31a8f74f2e5222b7c138f140ec245b06a7bcd398e7877f523170fe2cfa2bc026245f66533285bf03008eb317ecc5a0955ee239 WHIRLPOOL 8df88cd90178f27b2fdd8a03caf32b06fd1cd693e8b801b2fba26b74eb0946f636be7c00084c1da84328b29a72728de8ee099faa91d768d47b5de106499117f6
+AUX modernize-am_init_automake.patch 920 SHA256 68cb0a92944597249b9350773973fb01d245830869a20bf6a2a647ea40a1bbc0 SHA512 42056abceb24f7680d0480f2dbe9f87c37c124a5012811681a4826fb1dd3d3cdc883d31e5fb4d202a67bd1f6dc7edc5f8fa2aa828c20ee46c1ab6a05b0e49a17 WHIRLPOOL be8a41e38642c35dcf61187befef742e736904cc6deb998684b1a98c428291fc832237119fd81698ed003402b83754293eb440e510042b83c9d75147ce47dbdb
+AUX respect-cflags.patch 2327 SHA256 f3c865b495925a02a3c5e04ba5fdfcf4b62d9d05ba3873531876f02dc369a743 SHA512 97ff02e1417bbee2cf518f8dfcd6d32535fd610394f499ef4c552aa0741a56fe54a8ab7cedf8a553f337f4a38a221e990c222ff9c019f3037e01bdd3241e92fc WHIRLPOOL 39b8b957bde343395de2b86673cc1d6880b7bb0d4c5eb425dce48cb159e71b7c4eb56bb3ef55739311d6a782a359b340c46cbce5d75ec902a14117ad4c738d80
+AUX tlswrap-1.04-libressl.patch 522 SHA256 6da682d821402487d1a172d5c814299461429efbea5851f1b2fd948d228bf962 SHA512 e9011223a76fe6090478dcb589be81065b71c6363bb35bc02153dedf426c238a275e605a598718b917adaa55778033ed3a689af4d513fb0a3948a39e8c6df77f WHIRLPOOL ab9eeed7abd6fa2e779b7e064fddee55783fe1befc729cc2d096ae615258eaa0c9b95a343e4c223a739f2d577c87a44e5d0fe8cc1bdd19f74e213e11e365a30a
+AUX tlswrap.init 395 SHA256 03603c3d58a9de35433c025701f27a13fe2bcdad6460ed1bebf7106c030ad135 SHA512 6699101e5a628cf91013575e31f85c13a254854814240e7d7bf7006d1bb6f73eab8ecb80fe1d168e952c7c6ffc001495a6a6bc0e591de2e84d40591fccf02fae WHIRLPOOL c3787a62baee33d006b4fa5bfae7822131fe1beb4c335d42c400360e738dccf5b1394290bd426ffb801770b42a0ac3f7d8ad0ce66e9e34f4d91d75bbe4455dad
+DIST tlswrap-1.04.tar.gz 129507 SHA256 d10b8b45276695f5357d3e46212b8708a6baf42c83c5e4f4a263801890ac34b4 SHA512 f6d2a54cd77fef42174726cbe7ddd5109bb8a9c2289ddf22eddb2d240edba4a5de2e857d940ab44298e4c48da142e638d9b91fd971e5f328a36c6a557f4a257a WHIRLPOOL 3b82990176efa14fb8b05aee90a18e54bad3c5dd927a799670780615582d65308cc265318dc8d6e4be3cece3e3eb8795d0e6ab9ad56df7278a31b71e7517b0b0
+EBUILD tlswrap-1.04-r3.ebuild 827 SHA256 32b0b8be79586c3947e5fed07635313402260f42ae22f7062d49e241d1596ee5 SHA512 929d178f567617c0259ae149f7e52a547f7af398a40b7c85d9e63f24949622e44b30b241085e1a8f58db6c5145ea0595a688db04937be29b164e86bedb77b2a5 WHIRLPOOL c905db3f085d18d3db62ff8748c212175f9a2edd3cb93b0d84b78c6c060ab3f59b98cbcd6f6382f9cc4e31c545687fcd2732416fdd8176e15e0ffc972f75a9b2
+MISC ChangeLog 4391 SHA256 3661355afb520e14acf488541ffd0f467cd4cb5d14deeb1f2c05fc14fbb98925 SHA512 9ee20bd7f41f9dbf672152c62129725cfafd584760f96e030cef8033d5be442a0c6a6620853840aeb2a1565e476b6ffd6140d9e24b5c48feabad0ba09cc11c85 WHIRLPOOL ae1f8fa460ef08f960c92fa91338afc67f2b3594200e77285bbdad5fe6e98bb027a7160d9d8555779758db00f1e583dfe6c522e903d4dad96589a43142156800
+MISC ChangeLog-2015 1301 SHA256 a2be5379b95064b0f29d15f2848aa2c24d57c0302070e93aa4e5e3e4f306292c SHA512 c9a560f9f9d79f6b6bca8a6acba480ddf3439fbb78f1de389660825d57a719b20398f7bc2f71cb35299eb93396225ba033dfb6cce2ed282ae47b6015ae53e631 WHIRLPOOL f2d54a098c14d61737034fb9d5fecd491966c6a8fd0e61f47a48dbd6bc3b1e8822a66ad47a82b7064b7afcf6a65a5a396b7e2a9cfd779d0451ca7cca4516019c
+MISC metadata.xml 305 SHA256 6daf7ee66c78d50ad167abf25f8292e78c2f84e31881f8737b954acfa982e212 SHA512 4a622677eeb69709c3ca1f15cadadc536f5478afcbcf673bd0f4247c9f8f099f267343634c61942104989dd428b39082fd05b4d048694c55698a5e30a9530c95 WHIRLPOOL d74966b415b617efa1e0c795eb58ffc4950970ef4f9727bbe63df465168401962df76b23a1a742d6f2ba73439627b34d143b6f94b5323eb63b948a944b1df9f6
diff --git a/net-ftp/tlswrap/files/fix-Wformat-security-warnings.patch b/net-ftp/tlswrap/files/fix-Wformat-security-warnings.patch
new file mode 100644
index 000000000000..e90ffffc4335
--- /dev/null
+++ b/net-ftp/tlswrap/files/fix-Wformat-security-warnings.patch
@@ -0,0 +1,67 @@
+From dbbc4b17b5fdd08b11b0f285cfc99a28be8a89e5 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Thu, 11 Aug 2016 13:05:43 -0400
+Subject: [PATCH 3/3] Fix -Wformat-security warnings by adding trivial format
+ strings.
+
+Newer versions of GCC have the option to output warnings for insecure
+(e.g. missing) format string usage. A few places were making calls to
+the printf family of functions, and passing in a string variable
+without a format string. In all cases, the desired format string was
+simply "%s", intended to print the sole argument, and that "%s" has
+been added.
+
+This eliminates the warnings, and allows the build to complete when
+-Werror=format-security is used.
+---
+ misc.c | 4 ++--
+ parse.c | 4 ++--
+ 2 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/misc.c b/misc.c
+index ebaabb2..d9bb150 100644
+--- a/misc.c
++++ b/misc.c
+@@ -164,7 +164,7 @@ int print_to_ud(struct user_data *ud, const char *s) {
+ size_t slen;
+ char str[1024];
+
+- snprintf(str, sizeof(str), s);
++ snprintf(str, sizeof(str), "%s", s);
+
+ slen = strlen(str); /* NOT including null char */
+
+@@ -184,7 +184,7 @@ int print_to_serv(struct user_data *ud, const char *s) {
+ size_t slen;
+ char str[130];
+
+- snprintf(str, sizeof(str), s);
++ snprintf(str, sizeof(str), "%s", s);
+ slen = strlen(str); /* NOT including null char */
+ if ( (&ud->u2s_buf[U2S_SIZE]-ud->u2s_i)<slen) {
+ printf("print_to_ud: can't fit string to buffer\n");
+diff --git a/parse.c b/parse.c
+index 1174202..ac4529f 100644
+--- a/parse.c
++++ b/parse.c
+@@ -345,7 +345,7 @@ parse_serv_buf(struct user_data *ud, int index, char *ucertspath, char *cafile)
+ ud->serv_status = SERV_PBSZ;
+ snprintf(s, sizeof(s), "PROT %c\r\n", ud->prot);
+ if (debug)
+- printf(s);
++ printf("%s", s);
+ print_to_serv(ud,s);
+ } else if ((ud->serv_status == SERV_PBSZ) && (strncasecmp(dst,"200 ",4) == 0) ) {
+ ud->serv_status = SERV_PROT;
+@@ -365,7 +365,7 @@ parse_serv_buf(struct user_data *ud, int index, char *ucertspath, char *cafile)
+ } else if (ud->delay_prot && (ud->serv_status == SERV_PROT) && (strncasecmp(dst,"230 ",4) == 0) ) {
+ snprintf(s, sizeof(s), "PROT %c\r\n", ud->prot);
+ if (debug)
+- printf(s);
++ printf("%s", s);
+ print_to_serv(ud,s);
+ } else if (ud->delay_prot && (ud->serv_status == SERV_PROT) && (strncasecmp(dst,"200 ",4) == 0) ) {
+ write(ud->user_fd, "230 Bypassed login text because the ftpd can't handle PROT before USER.\r\n", 73);
+--
+2.7.3
+
diff --git a/net-ftp/tlswrap/files/modernize-am_init_automake.patch b/net-ftp/tlswrap/files/modernize-am_init_automake.patch
new file mode 100644
index 000000000000..6171e45801ab
--- /dev/null
+++ b/net-ftp/tlswrap/files/modernize-am_init_automake.patch
@@ -0,0 +1,30 @@
+From 4d6541b108ab59e30e7413a5bc62f29bbc1fd2ab Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Thu, 11 Aug 2016 13:00:53 -0400
+Subject: [PATCH 2/3] Modernize the AM_INIT_AUTOMAKE invocation.
+
+The existing call to AM_INIT_AUTOMAKE, which passed both the project
+name and its version, had been deprecated. These days, you're supposed
+to pass those things to AC_INIT, and then call AM_INIT_AUTOMAKE with
+no arguments. This commit does that, and fixes the version number in
+the process.
+---
+ configure.ac | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 575a5ab..fe26bad 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -1,6 +1,6 @@
+ dnl Process this file with autoconf to produce a configure script.
+-AC_INIT(tlswrap.c)
+-AM_INIT_AUTOMAKE(tlswrap, 0.8)
++AC_INIT(tlswrap.c, 1.04)
++AM_INIT_AUTOMAKE
+
+ dnl
+ dnl Get cannonical host
+--
+2.7.3
+
diff --git a/net-ftp/tlswrap/files/respect-cflags.patch b/net-ftp/tlswrap/files/respect-cflags.patch
new file mode 100644
index 000000000000..38da48b167e4
--- /dev/null
+++ b/net-ftp/tlswrap/files/respect-cflags.patch
@@ -0,0 +1,66 @@
+From 1a38cd3f931d728fc7a2bcfdf1fa19510a19acde Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Thu, 11 Aug 2016 12:53:53 -0400
+Subject: [PATCH 1/3] Rename configure.in to configure.ac and respect the
+ user's CFLAGS.
+
+The name configure.in has been deprecated for a long time, so the
+first order of business was to rename it to configure.ac.
+
+To respect the user's CFLAGS, the most important change was to remove
+the line CFLAGS="-g" which wiped out any pre-existing CFLAGS and
+replaced them all with just "-g". There was also a test for GCC that
+would append a few flags like "-O2" and "-Wall" to the user's CFLAGS
+if the configure script detected GCC. That test was modified to only
+trigger when the user's CFLAGS were unset, and in that case, the (now
+removed) "-g" flag was added back.
+
+The end result of the CFLAGS changes is that a default set of CFLAGS
+will be used for GCC, but only if the user does not have any CFLAGS
+previously set. The default behavior should be completely unchanged
+when CFLAGS="".
+
+Gentoo-Bug: 240898
+---
+ configure.in => configure.ac | 17 ++++-------------
+ 1 file changed, 4 insertions(+), 13 deletions(-)
+ rename configure.in => configure.ac (84%)
+
+diff --git a/configure.in b/configure.ac
+similarity index 84%
+rename from configure.in
+rename to configure.ac
+index dd0ee15..575a5ab 100644
+--- a/configure.in
++++ b/configure.ac
+@@ -6,23 +6,14 @@ dnl
+ dnl Get cannonical host
+ dnl
+
+-CFLAGS="-g"
+-
+ dnl Checks for programs.
+ AC_PROG_CC
+-if test "$GCC" = "yes" && test "$CC" != "icc"; then CFLAGS="$CFLAGS -O2 -Wall -Wmissing-prototypes"; fi
+-# if test -n "$GCC"; then
+-# CFLAGS="$CFLAGS -O2 -Wall -Wmissing-prototypes"
+-# else
+- #case "$host_os" in
+-# *hpux*) CFLAGS="$CFLAGS +O3" ;;
+-# *ultrix* | *osf*) CFLAGS="$CFLAGS -O -Olimit 2000" ;;
+-# *) CFLAGS="$CFLAGS -O" ;;
+-# esac
+-# fi
++if test "$GCC" = "yes" && test "$CC" != "icc" && test -z "$CFLAGS" ; then
++ CFLAGS="-g -O2 -Wall -Wmissing-prototypes";
++fi
+
+ AC_CYGWIN
+-if test "$CYGWIN" = "yes"; then CFLAGS="$CFLAGS -Dsys_errlist=_imp___sys_errlist"; fi
++if test "$CYGWIN" = "yes"; then CFLAGS="$CFLAGS -g -Dsys_errlist=_imp___sys_errlist"; fi
+ checkssldir() { :
+ if test -f "$1/include/openssl/ssl.h"; then
+ # AC_DEFINE(HAVE_OPENSSL)
+--
+2.7.3
+
diff --git a/net-ftp/tlswrap/files/tlswrap-1.04-libressl.patch b/net-ftp/tlswrap/files/tlswrap-1.04-libressl.patch
new file mode 100644
index 000000000000..5c1f1083005f
--- /dev/null
+++ b/net-ftp/tlswrap/files/tlswrap-1.04-libressl.patch
@@ -0,0 +1,16 @@
+diff -Naur a/tls.c b/tls.c
+--- a/tls.c 2006-11-25 19:52:08.000000000 +0100
++++ b/tls.c 2015-11-10 16:16:25.000000000 +0100
+@@ -73,10 +73,12 @@
+ printf("egd_sock is %s\n", egd_sock);
+ #ifdef HAVE_RAND_STATUS
+ if (RAND_status() != 1) {
++#ifndef OPENSSL_NO_EGD
+ if ( RAND_egd(egd_sock) == -1 ) {
+ fprintf(stderr, "egd_sock is %s\n", egd_sock);
+ sys_err("RAND_egd failed\n");
+ }
++#endif
+ if (RAND_status() != 1)
+ sys_err("ssl_init: System without /dev/urandom, PRNG seeding must be done manually.\r\n");
+ }
diff --git a/net-ftp/tlswrap/files/tlswrap.init b/net-ftp/tlswrap/files/tlswrap.init
new file mode 100644
index 000000000000..a454c1692260
--- /dev/null
+++ b/net-ftp/tlswrap/files/tlswrap.init
@@ -0,0 +1,19 @@
+#!/sbin/openrc-run
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+depend() {
+ need net
+}
+
+start() {
+ ebegin "Starting tlswrap"
+ start-stop-daemon --start --exec /usr/bin/tlswrap >/dev/null
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping tlswrap"
+ start-stop-daemon --stop --exec /usr/sbin/tlswrap
+ eend $?
+}
diff --git a/net-ftp/tlswrap/metadata.xml b/net-ftp/tlswrap/metadata.xml
new file mode 100644
index 000000000000..b960b5a2c17d
--- /dev/null
+++ b/net-ftp/tlswrap/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <!-- maintainer-needed -->
+ <longdescription lang="en">
+ TLSWRAP is a TLS/SSL FTP wrapper/proxy which allows to use TLS with
+ every FTP client
+ </longdescription>
+</pkgmetadata>
diff --git a/net-ftp/tlswrap/tlswrap-1.04-r3.ebuild b/net-ftp/tlswrap/tlswrap-1.04-r3.ebuild
new file mode 100644
index 000000000000..f560a6c65370
--- /dev/null
+++ b/net-ftp/tlswrap/tlswrap-1.04-r3.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit autotools
+
+DESCRIPTION="FTP wrapper which supports TLS with every FTP client"
+HOMEPAGE="http://www.tlswrap.com/"
+SRC_URI="http://www.tlswrap.com/${P}.tar.gz"
+
+# GPL-2 for Gentoo init script
+LICENSE="BSD GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="libressl"
+
+DEPEND="!libressl? ( dev-libs/openssl:0= )
+ libressl? ( dev-libs/libressl:= )"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}/${P}-libressl.patch"
+ "${FILESDIR}/respect-cflags.patch"
+ "${FILESDIR}/modernize-am_init_automake.patch"
+ "${FILESDIR}/fix-Wformat-security-warnings.patch"
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_install() {
+ emake prefix="${D}/usr" install
+ dodoc ChangeLog README
+ newinitd "${FILESDIR}/tlswrap.init" tlswrap
+}
diff --git a/net-ftp/tnftp/Manifest b/net-ftp/tnftp/Manifest
new file mode 100644
index 000000000000..abecbb1b9804
--- /dev/null
+++ b/net-ftp/tnftp/Manifest
@@ -0,0 +1,7 @@
+DIST tnftp-20141104.tar.gz 613180 SHA256 124e9f263c01600acb4072f936d2d0ab5120e68cd8598b86ff4b1d15c87af7b8 SHA512 e3d99215d36d27d3d841d946975c2a2723c6ca227cc7d9469f30dbc398f32bdd5c0922933dd12d9e822d7e85826a74619fb7712a6c5a97d1ee721c79d5728d55 WHIRLPOOL aa793e70f235627cf8540bbbe6decaaacee0f137fa22b23ed2fe17999fd1859449a21d392bcc5edd7fe276b673ed5eef5d70c9bf8ccc5c14bc119772bd996f0a
+DIST tnftp-20151004.tar.gz 613482 SHA256 c94a8a49d3f4aec1965feea831d4d5bf6f90c65fd8381ee0863d11a5029a43a0 SHA512 0702dc26c072599eebbe8731924452575eab93ab72245d4703497daa6e5e4a2c050b28278c0a20b4dbb86cee25949f216fc80a581ed73457a78c1616f484ed6e WHIRLPOOL 3bb888e9ccc2912b793a8e5e80416d8fe2f74dae4f85f53e42e416d21b5ac377807485beaf8be8e0f3c366f8ab61bc2fa7e67778e82a9ce529da34b40c39ab51
+EBUILD tnftp-20141104.ebuild 830 SHA256 85be6eb6dcf5e962b1bf218523184a90b786a7a8a7bb670c006fa5195df73150 SHA512 73391c0064f2b44ba6294110061ad4512749f41ee07d1c2c84674a8f54474ce4e21be254b0783d20a29c6c5578ed126af02d43c243b58e7f778599ad6a0da266 WHIRLPOOL 0585095445d0ca7aa074d9e1d348aa757ee22f9c999dfe34b8e210c31eb77a542512db0ea1d303946027ba6a82121816cc8b57e6469fdc8e82f9ae4aa939d526
+EBUILD tnftp-20151004.ebuild 833 SHA256 4b38e86c87067d1d0c85b1c081a6b1f3f18213496d48ae963287e9bc038d0c81 SHA512 2a5032e2360498784849c6666696f62bf59fd9b1e6578d31cb61a177ea4a3c25e0639f40cb03164a24970b67ffc147f057090a4273c150b2b1e2ca2d28bf9b3e WHIRLPOOL 580ba9c1c3a68c33ad0e90ba509fd341c3099d7afad1f8ce57f287f8afcdc2e2afe11b08bbe96c0eb497eaea10df601c0fb29d508a4870fdf027eac1e7d2923f
+MISC ChangeLog 3129 SHA256 9c0e3ed1a45c143c7f7c11bdc8e1cc0967bcd726b45362033696982593daecbb SHA512 693e4a0737824eae896146dd2f257e21ed10a4e8702ccf4f7397f94c26feff7eb816883e0ae2c6dcff492dab08fd2fd37c764b72b75929f45afcab8bc2d85d0f WHIRLPOOL 8d7aaa136523c1d81595cf924af0b8431b942d2f92e82f701a395972d7ad7e8f693cd36f62fd2b0ded3aaa8cc95a4b8e0e7e06354e0f9b76834317edc47e53ef
+MISC ChangeLog-2015 6750 SHA256 b36233cc2be7474f85399041688ecea6a9fbaa146f4cb5859302e75dde2b9c34 SHA512 46e9a6fa62f7e23fa0d7643dcd36fc5d510b8364cb0d4ecb58e55a36d19cc297b2a01468b0be6bd552e25978533020ba63f66849a1183215f1feb6f05d84751a WHIRLPOOL b67086ef11840aa8cf7f2df5f5247c2f4809ccc5af8e06ba6cefa9aa0d0451a0ef896004ad24d501bf831a205602fc3b395760ab78dd4aa89bd0b20f0381ee68
+MISC metadata.xml 291 SHA256 966ae9d740e78623e788fe125f7f3e78872348fd44c1a8bab7758efaf0a98980 SHA512 f92710819a841d037fb4933a32ff00cc0c08051b18869944cee5b6187b1cd215f4994d5b0f51e7de74fa4ae9e464c8c785a74d5ccc5877b2e24f49fffcb71079 WHIRLPOOL 23b53cdb3f57534e52499c274d38186e75317809f745822778945b52fbc1b5acb7cc65b877e1322455975f27fe0dab27f57be4f6414d35c847a355cd46ff04ae
diff --git a/net-ftp/tnftp/metadata.xml b/net-ftp/tnftp/metadata.xml
new file mode 100644
index 000000000000..ac0139cdd26c
--- /dev/null
+++ b/net-ftp/tnftp/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="person">
+ <email>swegener@gentoo.org</email>
+ <name>Sven Wegenery</name>
+ <description>Primary Maintainer</description>
+</maintainer>
+</pkgmetadata>
diff --git a/net-ftp/tnftp/tnftp-20141104.ebuild b/net-ftp/tnftp/tnftp-20141104.ebuild
new file mode 100644
index 000000000000..4e837a6af1dc
--- /dev/null
+++ b/net-ftp/tnftp/tnftp-20141104.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+DESCRIPTION="NetBSD FTP client with several advanced features"
+SRC_URI="ftp://ftp.netbsd.org/pub/NetBSD/misc/${PN}/${P}.tar.gz
+ ftp://ftp.netbsd.org/pub/NetBSD/misc/${PN}/old/${P}.tar.gz"
+HOMEPAGE="ftp://ftp.netbsd.org/pub/NetBSD/misc/tnftp/"
+
+SLOT="0"
+LICENSE="BSD-4 BSD ISC"
+KEYWORDS="amd64 ppc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE="ipv6 socks5"
+
+DEPEND=">=sys-libs/ncurses-5.1
+ socks5? ( net-proxy/dante )"
+RDEPEND="${DEPEND}"
+
+src_configure() {
+ econf \
+ --enable-editcomplete \
+ $(use_enable ipv6) \
+ $(use_with socks5 socks) \
+ || die "econf failed"
+}
+
+src_install() {
+ emake install DESTDIR="${D}" || die "emake install failed"
+ dodoc ChangeLog README THANKS || die "dodoc failed"
+}
diff --git a/net-ftp/tnftp/tnftp-20151004.ebuild b/net-ftp/tnftp/tnftp-20151004.ebuild
new file mode 100644
index 000000000000..5751cef0d265
--- /dev/null
+++ b/net-ftp/tnftp/tnftp-20151004.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+DESCRIPTION="NetBSD FTP client with several advanced features"
+SRC_URI="ftp://ftp.netbsd.org/pub/NetBSD/misc/${PN}/${P}.tar.gz
+ ftp://ftp.netbsd.org/pub/NetBSD/misc/${PN}/old/${P}.tar.gz"
+HOMEPAGE="ftp://ftp.netbsd.org/pub/NetBSD/misc/tnftp/"
+
+SLOT="0"
+LICENSE="BSD-4 BSD ISC"
+KEYWORDS="~amd64 ~ppc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE="ipv6 socks5"
+
+DEPEND=">=sys-libs/ncurses-5.1
+ socks5? ( net-proxy/dante )"
+RDEPEND="${DEPEND}"
+
+src_configure() {
+ econf \
+ --enable-editcomplete \
+ $(use_enable ipv6) \
+ $(use_with socks5 socks) \
+ || die "econf failed"
+}
+
+src_install() {
+ emake install DESTDIR="${D}" || die "emake install failed"
+ dodoc ChangeLog README THANKS || die "dodoc failed"
+}
diff --git a/net-ftp/vsftpd/Manifest b/net-ftp/vsftpd/Manifest
new file mode 100644
index 000000000000..1438cd919500
--- /dev/null
+++ b/net-ftp/vsftpd/Manifest
@@ -0,0 +1,31 @@
+AUX vsftpd-2.1.0-caps.patch 575 SHA256 4888021a25625041746b91025af0c2a2cb1fde758eda1d6c94098d4de0c1e370 SHA512 aeb407d9d0cf3940bc0fb1ef76c23cd19f68293e64d8a6a64e2a271b624a237fa3721b6a3476d59f0c6fabf69a418f9577fde351aba0e9aa96dc1362c02e1524 WHIRLPOOL bfad7367797f0fd0da502d9ebdcf13364123742642d384fb44220c0af2370997c5fbf9e72bf9eaabf47a449650702b1b73ac165a49ebc8687cb624e0caccbf99
+AUX vsftpd-2.2.0-dont-link-caps.patch 806 SHA256 fd164d4702ae866cb06ad245653b4f25c73d1d701a211b1f972b45b98ab55dd2 SHA512 b162f3afcc135bdecea63ef24a1f321e6723a1218a96a8897b3db67338f5cdceb6178c7cd0a155dee80af3e7b9198610562de7cff6986e7dfc93df79b5ee501c WHIRLPOOL cd7c6a94cc094af32097031aeca93873604d86f1d2ddaeb4980a18c82ab0061e95ca36484f157b68db9f81456e71fa02a6d01520f7ca9487bd2a266458c5a4cd
+AUX vsftpd-2.3.2-as-needed.patch 423 SHA256 ad393655b30887294dfcf46fe63ea24e3339f027a84fe7de03364500829496d9 SHA512 25ebf85e565f384a480e55d8811f81cfc22cf466359b82ab109f86323956aae892e6ae93176ef31d9222cf4e0b9ea62ec68b8a05fb489c566192944086fb4cd3 WHIRLPOOL e82348a4d34113ffce86d5dd9bd61db049091dd6064825ad37c92d41768bdd60cb19f8d13683fb89b879d22594b1113c29a6fabe1f122bce53f978fb2571b32b
+AUX vsftpd-2.3.2-kerberos.patch 842 SHA256 d86bed62c0fd22372f4704a12d7f75ce42fc15765ceec802b4b0c5680bc9c200 SHA512 94c743b4f78f41aba4427b6e75b8d85d57a1eec6eb89e0ca93f47c0e5ccdb31a80eb28cfeb3c50cce5cbf5909646150aec762d8b250650dcfbaa6ad190271af8 WHIRLPOOL 53ff6a29d84e23584f7ca873cb715369e636f0d1739fd1a591cc400f6ebe59aa28547a1a6d9b9681822d678e007750c81189c8ed296199eb56d9e77ddd4c7fcf
+AUX vsftpd-2.3.5-gentoo.patch 8560 SHA256 227fc60234c002d756d6a4f0867b6f7cf63315cb53dda78a1ef62ea5ccc61bdd SHA512 dbe8a022b9dd4bfdf5c0138aa0ad13311d4a52e7671888fc2018992e7906c2aab53355d2ab24cc4e1f19c358a5202eb9965bf3ca9180d6b9d369d451c7c656b3 WHIRLPOOL 40aaeeab47b1775d3b035a91810bc8e67d573d2d51de886d80aa44c96ac92c21154a3e214faf6f7d890b8e18626cdd8e3b28df5b203df3817929c40aeb9400ec
+AUX vsftpd-3.0.0-Makefile.patch 1093 SHA256 e654f707a4c1da2433b28e35a05e1dd92fee35f4582e458e64066f30b75db7de SHA512 66217e5be8e5a7b819c0a38ee8ac9e84ea5937c7285843d1de5b8361211ea86816551b440bf9d5c89c9f874e867c9f50590a2e8a50dbd313fcde1d5d4ea6ab4e WHIRLPOOL 1b031f17fd4176e1d42f2b955b7656d2d281db46fc768f52063e009028224e20dc50b82f93f8c21842cffad82cba3492dfd8ff740ec72d3ad07caad825be73b0
+AUX vsftpd-3.0.2-alpha.patch 525 SHA256 e544547b4f665e40e5a55e411946e37c2493dfe0391ba9ef6760ba889f7a9c98 SHA512 5d9639bf7fa08bfce5cbbc79c59445e099c42adec6dc1a3e14e6a9586c53a082e0c712625a3de62418fd0f0bd253b6b673a700157be07ab114770707739a6c38 WHIRLPOOL c08ddd9fb7aa60c4e1a84a95c3f390cff279d060c6d63464b5defbf4aa9765bf35c717506cb404cc937d4b6b7307d63ed906c796e4409ff7d5494fc2c1ee3b85
+AUX vsftpd-3.0.2-aslim.patch 512 SHA256 29563dc497b3845c753abd451aebe55a3c9618073ddf0a76997e5a58b2f51cf8 SHA512 ca444fa86279711942e30ef2d756193f9aeb318c2c52dda822c70085c250a09fa182187ecf99d45b64364fde12db8ce818ea50d71fcb73145fc64f5e2d66f263 WHIRLPOOL 423fc960ce6513c195933e8bfd03c5bdaa80d0288189d907998a37cc0d3a2a2a6a475bccf60229f769bd0111b1d371632b2ed1064bb90ab99c7cb9251d139c0b
+AUX vsftpd-3.0.2-remove-legacy-cap.patch 1739 SHA256 c18a5b1092d07c5ff5380553345d4cdf06e0b8968cf90499d3dd1751f889a438 SHA512 b0c2b91f0ba3b73706c352ac391e35b048b544fbab1ab3cd223be7f5ca33516143a775456871ded354a05bf74f0403436f4659d06ae9345e8d6a6d1b21addd42 WHIRLPOOL 253453c1696cfe1e5330055410d5e7e080f0c27ea8ba2158e5667f692067f73c070b8bd7ed56d7aa77c2dcadbe10f62442f31ceef4a7cfdcf8578895525c84d1
+AUX vsftpd-checkconfig.sh 785 SHA256 2de7c7c1edfe3ae0480e22d988a564db3bb873050929ebb6e8361d7a1288ddda SHA512 541702557231c79413ae77cf26c28398fea3cb332375f8d22e0c0a45706b04db954d268addd76fecbb8b0ab3109f1009c18b0599394ed33c4a6fc8dc647d889e WHIRLPOOL ac2d38c646a440edc093f8458cc2395c6da465d9719c10464ded9cba2c480b9398f8ece2d25920d10893dca0fc16ba8b3a583c55724f5a5b5de46eab671bab63
+AUX vsftpd.conf 3733 SHA256 c32d6ef426f3e4b508506e95a37969b12b026ad0773efb7f8aa40235c589fdf1 SHA512 417b2ebdffe41073d7ee8a1f414ba5bfe4b15411e37b99444443c240fa540c97b0c247f9151ef306f84775dd78370f5985121417267bf25a76f87d259d843719 WHIRLPOOL 194cfc3102aac641a4c6fc69068c4cedb0480c70a811344833652443604955fb8ea0e446357a6ee0f0ad8d32d735b18d6734f88a0ddf1bce0be889ac7760956d
+AUX vsftpd.init 1319 SHA256 46dba1df0fb5d575d6d37ed54aa887d9a5fa8853bc46b2b0bd18f9fab2a27640 SHA512 b367c412f2aebdfa90fae912467ebf227b39be04b45f686c5ea5f66df6addc81a2f130dd616dae932a55108337169e19ef53012f27127eb1970852ed5ea697c0 WHIRLPOOL 5e998abb31f8a3181b8c4f9f6c9acb2f48382c3b651ff3e7a9fe86980672cc49b6f36157c3317393fce65354b9beb84c5de8594917dd96ee9780703828d9cabe
+AUX vsftpd.logrotate 54 SHA256 2037b22eee79bf20b7047ca291af4e73fce63db303a3682fcf0d9d601029e3bf SHA512 cee63caaf5e3db620e57132dc1a531cfd39ce790ac64e22b649cf3fac8b825cf188425bdf19cd376aa3f31ea114c8889ee307b6e7f9a2cbd155324f64084d5fc WHIRLPOOL 3930bf8f67b5d0bd843c69a587ab089df7c34f861252337c46a1424f127d84ba894df79b839e585661e33777aadb066e6f6b5f680d2b9fb96d0f6ec54e8f61e6
+AUX vsftpd.service 218 SHA256 5c93a836c0be34d785197ba01541b6cd9db6f8992c4ea081c07a6111cc98290d SHA512 f032f64ed5fab15b1c9543579090cdca007d0a759073e7c4aa0f0ef0f852f6787610f776ce63d0d922ccfbadd480df81ed9a62e6e0f399327d770f9b70c34df9 WHIRLPOOL c91aabb3b89dc3faa002cd998329d44677f756ee2901492324e37b3f7dbcc29b83c53032891ef1d802ea70d01b060f091970c20a06b36d2cae9358269df6f4e4
+AUX vsftpd.socket 104 SHA256 9fdbfd2ec0207170371ca3cf2b0ddca2dc2fe3d062e5792e0d3e51474c3198c9 SHA512 4c56607dde0ccc4773edf905c1d52b66fff774e6aa8b20a23f9443a04838a9ad8a1df535a0bb27660e9a4528d1d7c90b53fd6dd1fa3d4862e87ed06a1a8a87b7 WHIRLPOOL 435e23297ff200ab68cb2813d2024279ed7d21e7d03f1c732c8ef06baf4b92c330edd496798c197078f07b08c4680c9c70e8dcc8aa4d35872d0cc556298b9fc9
+AUX vsftpd.xinetd 321 SHA256 bd5f4808a809ac6eb374128201a2fab6cf67a96d250f2fa5181621ac6b778912 SHA512 30fb4ae07f55011b9b29625db072062a0f1df4f1c7578041231f35febfb90ad2d2dfe1deb964e34fde5c660f0e3ffc3df3d77af1b2f3a1f724176f691a53a182 WHIRLPOOL e78021421576022d0a693c650273e2a3452730b6ddfed1f3d8db5708e92fdd630d446cc38002d7e233e755a0998d8f91b8f79518ca029f1ac3f598825b546c3c
+AUX vsftpd_at.service 328 SHA256 5239d00bafe9686b5ee454365e32ea383ea85af70434037fd3812245dc50e8cd SHA512 5a39e853405bd5028f2c52183eb91ad559fb8edbaacfff5d5146e686417c208bb894bd86d5830a61720a1aaa9ba901160c75ed2bf47eec459b2a49ed217b9cb1 WHIRLPOOL cac14417d2c47a7491653c5835e913f980a09934a00b08eeb47f40f15ba3927639ab1ec8efc8d5c28ea49c34391b30946dcb04771b3eefcea5a7b2429b33f6a8
+DIST vsftpd-2.3.5.tar.gz 187691 SHA256 d87ee2987df8f03e1dbe294905f7907b2798deb89c67ca965f6e2f60879e54f1 SHA512 7d58d601c4a14cf16c074f238d557fd28e080d7573a1257f742e43bf97cff455b6bf083d8e3594cc7f8865f9485b307b692e91c17426c7fed11af9e4b41a0643 WHIRLPOOL 2dba4ae125bbd66522f58ce4ffc9d5be8ea2a84876fe6751593b82aa2c3e5fe1e1ed076c1c09268054f7ea6831683a2be0dd4e269e321d572d859d0ae2535406
+DIST vsftpd-3.0.2.tar.gz 192808 SHA256 be46f0e2c5528fe021fafc8dab1ecfea0c1f183063a06977f8537fcd0b195e56 SHA512 d5b978e07d8b0a623b79a531824666fb9b970ad5989a8c34c21b545b62ba07cde4bfe3d77b40a8b6e92d17890c37cae209231af8f106da3404f6548e217bd023 WHIRLPOOL 7a74ab478880d021f7a82ffc6ec3989617003234e30d97063760bc06baeee2ab207861b440896b926b95eed7b3d902ab96c05c1bbd23d494d9ff168f98d3404a
+DIST vsftpd-3.0.3.tar.gz 196649 SHA256 9d4d2bf6e6e2884852ba4e69e157a2cecd68c5a7635d66a3a8cf8d898c955ef7 SHA512 5a4410a88e72ecf6f60a60a89771bcec300c9f63c2ea83b219bdf65fd9749b9853f9579f7257205b55659aefcd5dab243eba878dbbd4f0ff8532dd6e60884df7 WHIRLPOOL 014b13a1031d89a12412fb1abc808c8d62f474b84e9d1699ec789e99c9b9ec7f4538e7504caa810c6b77dcccea8fc0e32e9bb3ac5ffc8e2e9a29f67b69ddc3cb
+EBUILD vsftpd-2.3.5.ebuild 3072 SHA256 3bf5b0a4fd57320d398e785499938d0fa9df1476457ceecbf942ffdc07164ecd SHA512 7844fa436d40d81d1ee709ff04597750415923da1cf4426c89983dda0c90bfe0f104bafad5b60507b98c09b34555c7feae98602245780a3d0a7d89b96a19cbf3 WHIRLPOOL 7bd98762c9351a3d3b33316d102a80442d058bee7359599c44cc664b9f6bdd2726f9f45ecdd474215e09bd508825fe6dfd31d51c163d6f3f1c95f8a0c45b915d
+EBUILD vsftpd-3.0.2-r1.ebuild 3268 SHA256 ec87d81648c755b46e8b505bcb664e5ac2bd7716c7b6908303a3f416a503c033 SHA512 af224ef28c06ce2467fc1f346bce7870763fd5115567baf221e52a8fa2b6de2c99b82ba0230bd3ca39e136f3c32d0240356ece1a4ae4529bfc5e6108406fc675 WHIRLPOOL b4b9c6d77cc34923bd819a5b28e9353aa88cb3c3b79a0ff5e02cb13661a1e3786663199a4715e4a5c2f220134a1c7cbd3176f733c2aa5bcdd8835a80175f1f11
+EBUILD vsftpd-3.0.2-r2.ebuild 3587 SHA256 fa03cf925d00a7458a1c9dc7a45b3e3ebb61834dbfe29a4d1118d6206b0425c2 SHA512 c80e3aa7a7433170e79c7cea387c7ae18c8eb45e69e86b8e7c765ddd053e08df66dcddeaaf15dd85d7db7cfcfecca092d11004f98d9187fe7d51a2b05104e5cd WHIRLPOOL 5566dc6f455a326b9acd49f5dcb1e335fd5b1369671312ce7d498a1fec7ce68235d11a40f36012c551b1bc1afa5c3c9e7015d2c806442d394aa00013bde21963
+EBUILD vsftpd-3.0.2-r3.ebuild 3661 SHA256 2d911a3d9dd7e0968be4ae59d3da119ef8b0b430b67a8fc516f1dfdb3bad3d4e SHA512 d666a9552127d28266912e0589c417f96f47378518b5eb2923db58b4dfe61a12b310a70479039d71738bfd078e53425632346ca4d0baf2770e1b5a966a9d3ed1 WHIRLPOOL 95d3a651c8cbb1b70784d5f24018d4e0f1917a9b1a8c7d8b7af78de136082b96dee5ef8147ca2eb9f1a436a5e68d1e542eff99fb532938463dd43708179094e9
+EBUILD vsftpd-3.0.2-r4.ebuild 3661 SHA256 8ca68dc2a490b223b723e2a1fb6f05d37c55f1b6cdf45f055c259f2288e516ad SHA512 7c08ecd9613820e3ddc97c39f10cd07b26b501881cebf2097d7fb2fb86682545dae6347e3551bb31cec1b9ac0045792435856bc8437cd556205d952d64f537d6 WHIRLPOOL 6f22964a5a04000cf7158440f8714eba6a7c76f91e2b1d7dacb881b51cd4ac813fdcfbff188219997ea4b0c1f4210248825b925d44a4cd74c84c36c8cddcb799
+EBUILD vsftpd-3.0.2.ebuild 3149 SHA256 e1ce82acbec4c4fcf44e026496dcb07af21465f39707ce0f86bdd978950e83c6 SHA512 b34f37765dbce220c4416ac509e38c04b8770d280d4f05ed414a87940671b35f4b8959a2b3b551b9059993ef8f8e6f0163f628f087afcf166802f15c299ea2de WHIRLPOOL 18f56279dc8f65687db2010d90953c319ebeb7e497e4cb9190d1476314ea4957c67eaada105f8530f105386b02d5d75aa4113e504ed182727d20beb7f1c5e7d3
+EBUILD vsftpd-3.0.3-r1.ebuild 3652 SHA256 332bde1641d029d580298f6ce0e6a7c0f32848b1cce92cb508026e8addfc6c14 SHA512 55b936fc31fe73981d89f5b87f8042e3824faaa1414df6403a9b4c7251d455b615e1cb548f88c05aa622c76f07757326ba95dc8e81ad1f1d270dcd763d500c33 WHIRLPOOL e55090c963aada5a53e6466311eda8de994ddf9d58d034d4a86c2be0952a3d4e484bb28a0f6ca3c7b3acc8437cdf291539e3bdb8ed8299b1c2f63407a0a878f8
+EBUILD vsftpd-3.0.3.ebuild 3594 SHA256 66dee0597e285294625c057c75ec8ee3c39e77106a1d5a137c9cb09556cd0c88 SHA512 967e258a7e72cab67c5adc433658687593fecd89894845e58999d0f40aa13ff39aef8a1eee53751b7b2fa623faa085830c7c6f0c75723c72ff68cd8611138649 WHIRLPOOL 01e612aee15c777c43e40bd42911f4bd1f9f9848f62757d4b512377e36e5abe43f8a8a64d6583755d92480551309e1a0e15d009fdf4c2ae587028821122b9ed9
+MISC ChangeLog 4013 SHA256 61df7da52264bb6ba0c00447ad4bc015bfe46d9bba9e20344d75d9ce876f827f SHA512 1b8b17f1bad2b3a6beab3fe927c442db01baeffa72e7c84f97d927bc0c6cffaa3b39cda434acc9c6d4e4c61f068e34bbbdbc285bbe14f962387f326fe75dbc96 WHIRLPOOL 86d9f3bb1f789fc3c01433c1ac0f3ecae5f0e115567bc6381e79c68cdb0c1786f1ad722f83d02d4f551fd523f0edef793f06fe0f45127c4694d2c835ba41ae2a
+MISC ChangeLog-2015 26159 SHA256 53608c6d2d96acbce4c07ae9132408b4d3aefc849038107dae44fde136237a5d SHA512 7d197cfab0e5645a7a2b3e25bb381472a666ae288fc9d3e95c54ee2b5cb89d49a9968d5610a6b7d472bc48af7f740ceb941af86ac50f3705988e06a1d4ab8027 WHIRLPOOL 68b8d437d9416b7de49d8645f76e1ba6212a77c13c8ede810793b0d347fb29a1c37e3c959196a2c51697b3a4028fbeb7d0294ac13d6a383cd588e5a89f27887e
+MISC metadata.xml 372 SHA256 0f8b5c0b9c0ed7e4aba85643713e5e524c1deead733f758234757beda832a3ec SHA512 d673dfbc265acd4e0231111adcd9d099b6a465a508f64b031edd12601ac45cded8994eab8b3bd912ab00858197c9d68c4f83d461cd19a488e67daa055c2db334 WHIRLPOOL 51219cd9223a81436dc7d85ed2fc19107c314fa80d9d568d17e7bff118dd11e9903ed5d41029b4a7a2d4b50c17afe1f63c102be2d8831451b3ec901b0f8c9c40
diff --git a/net-ftp/vsftpd/files/vsftpd-2.1.0-caps.patch b/net-ftp/vsftpd/files/vsftpd-2.1.0-caps.patch
new file mode 100644
index 000000000000..bd29762e9f48
--- /dev/null
+++ b/net-ftp/vsftpd/files/vsftpd-2.1.0-caps.patch
@@ -0,0 +1,15 @@
+diff -ur vsftpd-2.1.0.orig/sysdeputil.c vsftpd-2.1.0/sysdeputil.c
+--- vsftpd-2.1.0.orig/sysdeputil.c 2009-02-23 18:23:26.000000000 +0100
++++ vsftpd-2.1.0/sysdeputil.c 2009-02-23 18:23:51.000000000 +0100
+@@ -160,10 +160,8 @@
+ #include <sys/capability.h>
+
+ #if defined(VSF_SYSDEP_HAVE_CAPABILITIES) && !defined(VSF_SYSDEP_HAVE_LIBCAP)
+-#include <linux/unistd.h>
+ #include <linux/capability.h>
+-#include <errno.h>
+-#include <syscall.h>
++#include <sys/syscall.h>
+ int capset(cap_user_header_t header, const cap_user_data_t data)
+ {
+ return syscall(__NR_capset, header, data);
diff --git a/net-ftp/vsftpd/files/vsftpd-2.2.0-dont-link-caps.patch b/net-ftp/vsftpd/files/vsftpd-2.2.0-dont-link-caps.patch
new file mode 100644
index 000000000000..debcf06279e3
--- /dev/null
+++ b/net-ftp/vsftpd/files/vsftpd-2.2.0-dont-link-caps.patch
@@ -0,0 +1,21 @@
+diff -ur vsftpd-2.2.0.orig/vsf_findlibs.sh vsftpd-2.2.0/vsf_findlibs.sh
+--- vsftpd-2.2.0.orig/vsf_findlibs.sh 2009-08-23 22:15:39.000000000 -0700
++++ vsftpd-2.2.0/vsf_findlibs.sh 2009-08-23 22:16:31.000000000 -0700
+@@ -44,17 +44,6 @@
+ # For older HP-UX...
+ locate_library /usr/lib/libsec.sl && echo "-lsec";
+
+-# Look for libcap (capabilities)
+-if locate_library /lib/libcap.so.1; then
+- echo "/lib/libcap.so.1";
+-elif locate_library /lib/libcap.so.2; then
+- echo "/lib/libcap.so.2";
+-else
+- locate_library /usr/lib/libcap.so && echo "-lcap";
+- locate_library /lib/libcap.so && echo "-lcap";
+- locate_library /lib64/libcap.so && echo "-lcap";
+-fi
+-
+ # Solaris needs this for nanosleep()..
+ locate_library /lib/libposix4.so && echo "-lposix4";
+ locate_library /usr/lib/libposix4.so && echo "-lposix4";
diff --git a/net-ftp/vsftpd/files/vsftpd-2.3.2-as-needed.patch b/net-ftp/vsftpd/files/vsftpd-2.3.2-as-needed.patch
new file mode 100644
index 000000000000..330026e47e94
--- /dev/null
+++ b/net-ftp/vsftpd/files/vsftpd-2.3.2-as-needed.patch
@@ -0,0 +1,13 @@
+Index: vsftpd-2.3.2/Makefile
+===================================================================
+--- vsftpd-2.3.2.orig/Makefile
++++ vsftpd-2.3.2/Makefile
+@@ -21,7 +21,7 @@ OBJS = main.o utility.o prelogin.o ftpcm
+ $(CC) -c $*.c $(CFLAGS) $(IFLAGS)
+
+ vsftpd: $(OBJS)
+- $(CC) -o vsftpd $(OBJS) $(LINK) $(LIBS) $(LDFLAGS)
++ $(CC) -o vsftpd $(LDFLAGS) $(OBJS) $(LINK) $(LIBS)
+
+ install:
+ if [ -x /usr/local/sbin ]; then \
diff --git a/net-ftp/vsftpd/files/vsftpd-2.3.2-kerberos.patch b/net-ftp/vsftpd/files/vsftpd-2.3.2-kerberos.patch
new file mode 100644
index 000000000000..702363ee472b
--- /dev/null
+++ b/net-ftp/vsftpd/files/vsftpd-2.3.2-kerberos.patch
@@ -0,0 +1,20 @@
+Index: vsftpd-2.3.2/twoprocess.c
+===================================================================
+--- vsftpd-2.3.2.orig/twoprocess.c
++++ vsftpd-2.3.2/twoprocess.c
+@@ -284,6 +284,7 @@ process_login_req(struct vsf_session* p_
+ {
+ enum EVSFPrivopLoginResult e_login_result = kVSFLoginNull;
+ char cmd;
++ vsf_sysutil_install_null_sighandler(kVSFSysUtilSigCHLD);
+ /* Blocks */
+ cmd = priv_sock_get_cmd(p_sess->parent_fd);
+ if (cmd != PRIV_SOCK_LOGIN)
+@@ -363,7 +364,6 @@ common_do_login(struct vsf_session* p_se
+ int was_anon = anon;
+ const struct mystr* p_orig_user_str = p_user_str;
+ int newpid;
+- vsf_sysutil_install_null_sighandler(kVSFSysUtilSigCHLD);
+ /* Tells the pre-login child all is OK (it may exit in response) */
+ priv_sock_send_result(p_sess->parent_fd, PRIV_SOCK_RESULT_OK);
+ if (!p_sess->control_use_ssl)
diff --git a/net-ftp/vsftpd/files/vsftpd-2.3.5-gentoo.patch b/net-ftp/vsftpd/files/vsftpd-2.3.5-gentoo.patch
new file mode 100644
index 000000000000..7f1af4beb8c7
--- /dev/null
+++ b/net-ftp/vsftpd/files/vsftpd-2.3.5-gentoo.patch
@@ -0,0 +1,207 @@
+Index: vsftpd-2.3.5/defs.h
+===================================================================
+--- vsftpd-2.3.5.orig/defs.h
++++ vsftpd-2.3.5/defs.h
+@@ -1,7 +1,7 @@
+ #ifndef VSF_DEFS_H
+ #define VSF_DEFS_H
+
+-#define VSFTP_DEFAULT_CONFIG "/etc/vsftpd.conf"
++#define VSFTP_DEFAULT_CONFIG "/etc/vsftpd/vsftpd.conf"
+
+ #define VSFTP_COMMAND_FD 0
+
+Index: vsftpd-2.3.5/tunables.c
+===================================================================
+--- vsftpd-2.3.5.orig/tunables.c
++++ vsftpd-2.3.5/tunables.c
+@@ -250,7 +250,7 @@ tunables_load_defaults()
+ /* -rw------- */
+ tunable_chown_upload_mode = 0600;
+
+- install_str_setting("/usr/share/empty", &tunable_secure_chroot_dir);
++ install_str_setting("/usr/share/vsftpd/empty", &tunable_secure_chroot_dir);
+ install_str_setting("ftp", &tunable_ftp_username);
+ install_str_setting("root", &tunable_chown_username);
+ install_str_setting("/var/log/xferlog", &tunable_xferlog_file);
+@@ -258,11 +258,11 @@ tunables_load_defaults()
+ install_str_setting(".message", &tunable_message_file);
+ install_str_setting("nobody", &tunable_nopriv_user);
+ install_str_setting(0, &tunable_ftpd_banner);
+- install_str_setting("/etc/vsftpd.banned_emails", &tunable_banned_email_file);
+- install_str_setting("/etc/vsftpd.chroot_list", &tunable_chroot_list_file);
++ install_str_setting("/etc/vsftpd/vsftpd.banned_emails", &tunable_banned_email_file);
++ install_str_setting("/etc/vsftpd/vsftpd.chroot_list", &tunable_chroot_list_file);
+ install_str_setting("ftp", &tunable_pam_service_name);
+ install_str_setting("ftp", &tunable_guest_username);
+- install_str_setting("/etc/vsftpd.user_list", &tunable_userlist_file);
++ install_str_setting("/etc/vsftpd/vsftpd.user_list", &tunable_userlist_file);
+ install_str_setting(0, &tunable_anon_root);
+ install_str_setting(0, &tunable_local_root);
+ install_str_setting(0, &tunable_banner_file);
+@@ -275,7 +275,7 @@ tunables_load_defaults()
+ install_str_setting(0, &tunable_hide_file);
+ install_str_setting(0, &tunable_deny_file);
+ install_str_setting(0, &tunable_user_sub_token);
+- install_str_setting("/etc/vsftpd.email_passwords",
++ install_str_setting("/etc/vsftpd/vsftpd.email_passwords",
+ &tunable_email_password_file);
+ install_str_setting("/usr/share/ssl/certs/vsftpd.pem",
+ &tunable_rsa_cert_file);
+Index: vsftpd-2.3.5/vsftpd.8
+===================================================================
+--- vsftpd-2.3.5.orig/vsftpd.8
++++ vsftpd-2.3.5/vsftpd.8
+@@ -21,7 +21,7 @@ itself will listen on the network. This
+ recommended. It is activated by setting
+ .Pa listen=YES
+ in
+-.Pa /etc/vsftpd.conf .
++.Pa /etc/vsftpd/vsftpd.conf .
+ Direct execution of the
+ .Nm vsftpd
+ binary will then launch the FTP service ready for immediate client connections.
+@@ -33,7 +33,7 @@ as root. Any command line option not sta
+ as a config file that will be loaded. Note that config files are loaded in the
+ strict order that they are encountered on the command line.
+ If no config files are specified, the default configuration file of
+-.Pa /etc/vsftpd.conf
++.Pa /etc/vsftpd/vsftpd.conf
+ will be loaded, after all other command line options are processed.
+ .Pp
+ Supported options are:
+@@ -47,14 +47,14 @@ their appearance on the command line, in
+ config files.
+ .El
+ .Sh EXAMPLES
+-vsftpd -olisten=NO /etc/vsftpd.conf -oftpd_banner=blah
++vsftpd -olisten=NO /etc/vsftpd/vsftpd.conf -oftpd_banner=blah
+ .Pp
+ That example overrides vsftpd's built-in default for the "listen" option to be
+-NO, but then loads /etc/vsftpd.conf which may override that setting. Finally,
++NO, but then loads /etc/vsftpd/vsftpd.conf which may override that setting. Finally,
+ the "ftpd_banner" setting is set to "blah", which overrides any default vsftpd
+ setting and any identical setting that was in the config file.
+ .Sh FILES
+-.Pa /etc/vsftpd.conf
++.Pa /etc/vsftpd/vsftpd.conf
+ .Sh SEE ALSO
+ .Xr vsftpd.conf 5
+ .end
+Index: vsftpd-2.3.5/vsftpd.conf
+===================================================================
+--- vsftpd-2.3.5.orig/vsftpd.conf
++++ vsftpd-2.3.5/vsftpd.conf
+@@ -1,4 +1,4 @@
+-# Example config file /etc/vsftpd.conf
++# Example config file /etc/vsftpd/vsftpd.conf
+ #
+ # The default compiled in settings are fairly paranoid. This sample file
+ # loosens things up a bit, to make the ftp daemon more usable.
+@@ -87,7 +87,7 @@ connect_from_port_20=YES
+ # useful for combatting certain DoS attacks.
+ #deny_email_enable=YES
+ # (default follows)
+-#banned_email_file=/etc/vsftpd.banned_emails
++#banned_email_file=/etc/vsftpd/vsftpd.banned_emails
+ #
+ # You may specify an explicit list of local users to chroot() to their home
+ # directory. If chroot_local_user is YES, then this list becomes a list of
+@@ -98,7 +98,7 @@ connect_from_port_20=YES
+ #chroot_local_user=YES
+ #chroot_list_enable=YES
+ # (default follows)
+-#chroot_list_file=/etc/vsftpd.chroot_list
++#chroot_list_file=/etc/vsftpd/vsftpd.chroot_list
+ #
+ # You may activate the "-R" option to the builtin ls. This is disabled by
+ # default to avoid remote users being able to cause excessive I/O on large
+Index: vsftpd-2.3.5/vsftpd.conf.5
+===================================================================
+--- vsftpd-2.3.5.orig/vsftpd.conf.5
++++ vsftpd-2.3.5/vsftpd.conf.5
+@@ -4,7 +4,7 @@ vsftpd.conf \- config file for vsftpd
+ .SH DESCRIPTION
+ vsftpd.conf may be used to control various aspects of vsftpd's behaviour. By
+ default, vsftpd looks for this file at the location
+-.BR /etc/vsftpd.conf .
++.BR /etc/vsftpd/vsftpd.conf .
+ However, you may override this by specifying a command line argument to
+ vsftpd. The command line argument is the pathname of the configuration file
+ for vsftpd. This behaviour is useful because you may wish to use an advanced
+@@ -138,7 +138,7 @@ chroot() jail in their home directory up
+ different if chroot_local_user is set to YES. In this case, the list becomes
+ a list of users which are NOT to be placed in a chroot() jail.
+ By default, the file containing this list is
+-/etc/vsftpd.chroot_list, but you may override this with the
++/etc/vsftpd/vsftpd.chroot_list, but you may override this with the
+ .BR chroot_list_file
+ setting.
+
+@@ -177,7 +177,7 @@ Default: NO
+ .B deny_email_enable
+ If activated, you may provide a list of anonymous password e-mail responses
+ which cause login to be denied. By default, the file containing this list is
+-/etc/vsftpd.banned_emails, but you may override this with the
++/etc/vsftpd/vsftpd.banned_emails, but you may override this with the
+ .BR banned_email_file
+ setting.
+
+@@ -433,7 +433,7 @@ anonymous logins are prevented unless th
+ file specified by the
+ .BR email_password_file
+ setting. The file format is one password per line, no extra whitespace. The
+-default filename is /etc/vsftpd.email_passwords.
++default filename is /etc/vsftpd/vsftpd.email_passwords.
+
+ Default: NO
+ .TP
+@@ -764,7 +764,7 @@ passwords which are not permitted. This
+ .BR deny_email_enable
+ is enabled.
+
+-Default: /etc/vsftpd.banned_emails
++Default: /etc/vsftpd/vsftpd.banned_emails
+ .TP
+ .B banner_file
+ This option is the name of a file containing text to display when someone
+@@ -803,7 +803,7 @@ is enabled. If the option
+ is enabled, then the list file becomes a list of users to NOT place in a
+ chroot() jail.
+
+-Default: /etc/vsftpd.chroot_list
++Default: /etc/vsftpd/vsftpd.chroot_list
+ .TP
+ .B cmds_allowed
+ This options specifies a comma separated list of allowed FTP commands (post
+@@ -864,7 +864,7 @@ This option can be used to provide an al
+ .BR secure_email_list_enable
+ setting.
+
+-Default: /etc/vsftpd.email_passwords
++Default: /etc/vsftpd/vsftpd.email_passwords
+ .TP
+ .B ftp_username
+ This is the name of the user we use for handling anonymous FTP. The home
+@@ -987,10 +987,10 @@ the manual page, on a per-user basis. Us
+ with an example. If you set
+ .BR user_config_dir
+ to be
+-.BR /etc/vsftpd_user_conf
++.BR /etc/vsftpd/vsftpd_user_conf
+ and then log on as the user "chris", then vsftpd will apply the settings in
+ the file
+-.BR /etc/vsftpd_user_conf/chris
++.BR /etc/vsftpd/vsftpd_user_conf/chris
+ for the duration of the session. The format of this file is as detailed in
+ this manual page! PLEASE NOTE that not all settings are effective on a
+ per-user basis. For example, many settings only prior to the user's session
+@@ -1026,7 +1026,7 @@ This option is the name of the file load
+ .BR userlist_enable
+ option is active.
+
+-Default: /etc/vsftpd.user_list
++Default: /etc/vsftpd/vsftpd.user_list
+ .TP
+ .B vsftpd_log_file
+ This option is the name of the file to which we write the vsftpd style
diff --git a/net-ftp/vsftpd/files/vsftpd-3.0.0-Makefile.patch b/net-ftp/vsftpd/files/vsftpd-3.0.0-Makefile.patch
new file mode 100644
index 000000000000..5df3b03f3fa9
--- /dev/null
+++ b/net-ftp/vsftpd/files/vsftpd-3.0.0-Makefile.patch
@@ -0,0 +1,34 @@
+Index: vsftpd-3.0.0/Makefile
+===================================================================
+--- vsftpd-3.0.0.orig/Makefile
++++ vsftpd-3.0.0/Makefile
+@@ -1,16 +1,16 @@
+ # Makefile for systems with GNU tools
+-CC = gcc
++CC ?= gcc
+ INSTALL = install
+ IFLAGS = -idirafter dummyinc
+ #CFLAGS = -g
+-CFLAGS = -O2 -fPIE -fstack-protector --param=ssp-buffer-size=4 \
+- -Wall -W -Wshadow -Werror -Wformat-security \
++CFLAGS += -fPIE -fstack-protector --param=ssp-buffer-size=4 \
++ -Wall -W -Wshadow -Wformat-security \
+ -D_FORTIFY_SOURCE=2 \
+ #-pedantic -Wconversion
+
+ LIBS = `./vsf_findlibs.sh`
+ LINK =
+-LDFLAGS = -fPIE -pie -Wl,-z,relro -Wl,-z,now
++LDFLAGS += -fPIE -pie -Wl,-z,relro -Wl,-z,now
+
+ OBJS = main.o utility.o prelogin.o ftpcmdio.o postlogin.o privsock.o \
+ tunables.o ftpdataio.o secbuf.o ls.o \
+@@ -26,7 +26,7 @@ OBJS = main.o utility.o prelogin.o ftpcm
+ $(CC) -c $*.c $(CFLAGS) $(IFLAGS)
+
+ vsftpd: $(OBJS)
+- $(CC) -o vsftpd $(OBJS) $(LINK) $(LDFLAGS) $(LIBS)
++ $(CC) -o vsftpd $(LDFLAGS) $(OBJS) $(LINK) $(LDFLAGS) $(LIBS)
+
+ install:
+ if [ -x /usr/local/sbin ]; then \
diff --git a/net-ftp/vsftpd/files/vsftpd-3.0.2-alpha.patch b/net-ftp/vsftpd/files/vsftpd-3.0.2-alpha.patch
new file mode 100644
index 000000000000..2445bb54467c
--- /dev/null
+++ b/net-ftp/vsftpd/files/vsftpd-3.0.2-alpha.patch
@@ -0,0 +1,16 @@
+Author: Michael Cree <mcree@orcon.net.nz>
+Description: Fixing FTBFS on alpha (Closes: #656182).
+
+diff -Naurp vsftpd.orig/sysdeputil.c vsftpd/sysdeputil.c
+--- vsftpd.orig/sysdeputil.c 2010-03-26 04:25:33.000000000 +0100
++++ vsftpd/sysdeputil.c 2012-01-21 10:53:37.353802546 +0100
+@@ -81,6 +81,9 @@
+ #include <linux/unistd.h>
+ #include <errno.h>
+ #include <syscall.h>
++ #if defined(__alpha__)
++ #define __NR_getpid __NR_getxpid
++ #endif
+ #endif
+
+ #if defined(__linux__) && !defined(__ia64__) && !defined(__s390__)
diff --git a/net-ftp/vsftpd/files/vsftpd-3.0.2-aslim.patch b/net-ftp/vsftpd/files/vsftpd-3.0.2-aslim.patch
new file mode 100644
index 000000000000..9a8f8ea0e254
--- /dev/null
+++ b/net-ftp/vsftpd/files/vsftpd-3.0.2-aslim.patch
@@ -0,0 +1,13 @@
+https://bugs.gentoo.org/show_bug.cgi?id=522412
+https://bugzilla.redhat.com/show_bug.cgi?id=913519
+--- a/defs.h 2014-09-13 12:04:15.953079704 +0200
++++ b/defs.h 2014-09-13 12:04:48.677080716 +0200
+@@ -19,7 +19,7 @@
+ /* Must be at least the size of VSFTP_MAX_COMMAND_LINE, VSFTP_DIR_BUFSIZE and
+ VSFTP_DATA_BUFSIZE*2 */
+ #define VSFTP_PRIVSOCK_MAXSTR VSFTP_DATA_BUFSIZE * 2
+-#define VSFTP_AS_LIMIT 100UL * 1024 * 1024
++#define VSFTP_AS_LIMIT 400UL * 1024 * 1024
+
+ #endif /* VSF_DEFS_H */
+
diff --git a/net-ftp/vsftpd/files/vsftpd-3.0.2-remove-legacy-cap.patch b/net-ftp/vsftpd/files/vsftpd-3.0.2-remove-legacy-cap.patch
new file mode 100644
index 000000000000..2401f37c7e88
--- /dev/null
+++ b/net-ftp/vsftpd/files/vsftpd-3.0.2-remove-legacy-cap.patch
@@ -0,0 +1,57 @@
+https://bugs.gentoo.org/show_bug.cgi?id=450536
+Patch by: Joakim Tjernlund <Joakim.Tjernlund@transmode.se>
+
+Probe the preferred version
+--- vsftpd-3.0.2/sysdeputil.c.org 2013-01-05 18:32:13.241288839 +0100
++++ vsftpd-3.0.2/sysdeputil.c 2013-01-05 19:41:53.038148078 +0100
+@@ -561,11 +561,17 @@
+ }
+
+ #ifndef VSF_SYSDEP_HAVE_LIBCAP
++static struct __user_cap_header_struct sys_cap_head;
+ static int
+ do_checkcap(void)
+ {
++ int retval;
++
++ /* Store preferred version in sys_cap_head */
++ vsf_sysutil_memclr(&sys_cap_head, sizeof(sys_cap_head));
+ /* EFAULT (EINVAL if page 0 mapped) vs. ENOSYS */
+- int retval = capset(0, 0);
++ retval = capset(&sys_cap_head, 0);
++
+ if (!vsf_sysutil_retval_is_error(retval) ||
+ vsf_sysutil_get_error() != kVSFSysUtilErrNOSYS)
+ {
+@@ -579,17 +585,13 @@
+ {
+ /* n.b. yes I know I should be using libcap!! */
+ int retval;
+- struct __user_cap_header_struct cap_head;
+- struct __user_cap_data_struct cap_data;
++ struct __user_cap_data_struct cap_data[2];
+ __u32 cap_mask = 0;
+ if (!caps)
+ {
+ bug("asked to adopt no capabilities");
+ }
+- vsf_sysutil_memclr(&cap_head, sizeof(cap_head));
+ vsf_sysutil_memclr(&cap_data, sizeof(cap_data));
+- cap_head.version = _LINUX_CAPABILITY_VERSION;
+- cap_head.pid = 0;
+ if (caps & kCapabilityCAP_CHOWN)
+ {
+ cap_mask |= (1 << CAP_CHOWN);
+@@ -598,9 +600,9 @@
+ {
+ cap_mask |= (1 << CAP_NET_BIND_SERVICE);
+ }
+- cap_data.effective = cap_data.permitted = cap_mask;
+- cap_data.inheritable = 0;
+- retval = capset(&cap_head, &cap_data);
++ cap_data[0].effective = cap_data[0].permitted = cap_mask;
++ cap_data[0].inheritable = 0;
++ retval = capset(&sys_cap_head, &cap_data[0]);
+ if (retval != 0)
+ {
+ die("capset");
diff --git a/net-ftp/vsftpd/files/vsftpd-checkconfig.sh b/net-ftp/vsftpd/files/vsftpd-checkconfig.sh
new file mode 100644
index 000000000000..e1d1e5231b67
--- /dev/null
+++ b/net-ftp/vsftpd/files/vsftpd-checkconfig.sh
@@ -0,0 +1,29 @@
+#!/bin/sh
+
+VSFTPD_CONF="${VSFTPD_CONF:-/etc/vsftpd/vsftpd.conf}"
+
+if [ ! -e ${VSFTPD_CONF} ] ; then
+ echo "Please setup ${VSFTPD_CONF} before starting vsftpd" >&2
+ echo "There are sample configurations in /usr/share/doc/vsftpd" >&2
+ exit 1
+fi
+
+if egrep -iq "^ *background *= *yes" "${VSFTPD_CONF}" ; then
+ echo "${VSFTPD_CONF} must not set background=YES" >&2
+ exit 1
+fi
+
+has_ip=false has_ipv6=false ip_error=true
+egrep -iq "^ *listen *= *yes" "${VSFTPD_CONF}" && has_ip=true
+egrep -iq "^ *listen_ipv6 *= *yes" "${VSFTPD_CONF}" && has_ipv6=true
+if ${has_ip} && ! ${has_ipv6} ; then
+ ip_error=false
+elif ! ${has_ip} && ${has_ipv6} ; then
+ ip_error=false
+fi
+if ${ip_error} ; then
+ echo "${VSFTPD_CONF} must contain listen=YES or listen_ipv6=YES" >&2
+ echo "but not both" >&2
+ exit 1
+fi
+
diff --git a/net-ftp/vsftpd/files/vsftpd.conf b/net-ftp/vsftpd/files/vsftpd.conf
new file mode 100644
index 000000000000..3f2658e772ab
--- /dev/null
+++ b/net-ftp/vsftpd/files/vsftpd.conf
@@ -0,0 +1,104 @@
+#
+# Example vsftpd config file
+#
+# See man 5 vsftpd.conf for more information.
+#
+
+# Enable vsftpd to run as a standalone daemon
+# Comment these two out to run under inetd or xinetd
+background=YES
+listen=YES
+
+# Allow anonymous FTP?
+anonymous_enable=YES
+
+# Uncomment this to allow local users to log in.
+#local_enable=YES
+
+# Uncomment this to enable any form of FTP write command.
+#write_enable=YES
+
+# Default umask for local users is 077. You may wish to change this to 022,
+# if your users expect that (022 is used by most other ftpd's)
+#local_umask=022
+
+# Uncomment this to allow the anonymous FTP user to upload files. This only
+# has an effect if the above global write enable is activated. Also, you will
+# obviously need to create a directory writable by the FTP user.
+#anon_upload_enable=YES
+
+# Uncomment this if you want the anonymous FTP user to be able to create
+# new directories.
+#anon_mkdir_write_enable=YES
+
+# Activate directory messages - messages given to remote users when they
+# go into a certain directory.
+dirmessage_enable=YES
+
+# Make sure PORT transfer connections originate from port 20 (ftp-data).
+connect_from_port_20=YES
+
+# If you want, you can arrange for uploaded anonymous files to be owned by
+# a different user. Note! Using "root" for uploaded files is not
+# recommended!
+#chown_uploads=YES
+#chown_username=whoever
+
+# Activate logging of uploads/downloads.
+xferlog_enable=YES
+
+# If you want, you can have your log file in standard ftpd xferlog format
+#xferlog_std_format=YES
+
+# You may override where the log file goes if you like.
+xferlog_file=/var/log/vsftpd.log
+
+# You may change the default value for timing out an idle session.
+#idle_session_timeout=600
+
+# You may change the default value for timing out a data connection.
+#data_connection_timeout=120
+
+# It is recommended that you define on your system a unique user which the
+# ftp server can use as a totally isolated and unprivileged user.
+nopriv_user=nobody
+
+# Enable this and the server will recognise asynchronous ABOR requests. Not
+# recommended for security (the code is non-trivial). Not enabling it,
+# however, may confuse older FTP clients.
+#async_abor_enable=YES
+
+# By default the server will pretend to allow ASCII mode but in fact ignore
+# the request. Turn on the below options to have the server actually do ASCII
+# mangling on files when in ASCII mode.
+# Beware that turning on ascii_download_enable enables malicious remote parties
+# to consume your I/O resources, by issuing the command "SIZE /big/file" in
+# ASCII mode.
+# These ASCII options are split into upload and download because you may wish
+# to enable ASCII uploads (to prevent uploaded scripts etc. from breaking),
+# without the DoS risk of SIZE and ASCII downloads. ASCII mangling should be
+# on the client anyway..
+#ascii_upload_enable=YES
+#ascii_download_enable=YES
+
+# You may fully customise the login banner string:
+#ftpd_banner=Welcome to blah FTP service.
+
+# You may specify a file of disallowed anonymous e-mail addresses. Apparently
+# useful for combatting certain DoS attacks.
+#deny_email_enable=YES
+# (default follows)
+#banned_email_file=/etc/vsftpd/banned_emails
+
+# You may specify an explicit list of local users to chroot() to their home
+# directory. If chroot_local_user is YES, then this list becomes a list of
+# users to NOT chroot().
+#chroot_list_enable=YES
+# (default follows)
+#chroot_list_file=/etc/vsftpd/chroot_list
+
+# You may activate the "-R" option to the builtin ls. This is disabled by
+# default to avoid remote users being able to cause excessive I/O on large
+# sites. However, some broken FTP clients such as "ncftp" and "mirror" assume
+# the presence of the "-R" option, so there is a strong case for enabling it.
+#ls_recurse_enable=YES
diff --git a/net-ftp/vsftpd/files/vsftpd.init b/net-ftp/vsftpd/files/vsftpd.init
new file mode 100644
index 000000000000..d49dc001404e
--- /dev/null
+++ b/net-ftp/vsftpd/files/vsftpd.init
@@ -0,0 +1,50 @@
+#!/sbin/openrc-run
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License, v2
+
+VSFTPD_NAME=${SVCNAME##*.}
+if [ -n "${VSFTPD_NAME}" -a "${SVCNAME}" != "vsftpd" ]; then
+ VSFTPD_PID="/var/run/vsftpd.${VSFTPD_NAME}.pid"
+ VSFTPD_CONF_DEFAULT="/etc/vsftpd/${VSFTPD_NAME}.conf"
+else
+ VSFTPD_PID="/var/run/vsftpd.pid"
+ VSFTPD_CONF_DEFAULT="/etc/vsftpd/vsftpd.conf"
+fi
+VSFTPD_CONF=${VSFTPD_CONF:-${VSFTPD_CONF_DEFAULT}}
+VSFTPD_EXEC=${VSFTPD_EXEC:-/usr/sbin/vsftpd}
+
+depend() {
+ need net
+ use dns logger
+}
+
+checkconfig() {
+ VSFTPD_CONF="${VSFTPD_CONF}" \
+ /usr/libexec/vsftpd-checkconfig.sh || return 1
+}
+
+start() {
+ checkconfig || return 1
+ ebegin "Starting ${SVCNAME}"
+ start-stop-daemon --start --exec ${VSFTPD_EXEC} \
+ --background --make-pidfile --pidfile "${VSFTPD_PID}" \
+ -- "${VSFTPD_CONF}"
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping ${SVCNAME}"
+ local retval=0
+ if [ -f ${VSFTPD_PID} ]; then
+ start-stop-daemon --stop --pidfile ${VSFTPD_PID} || retval=1
+ pkill --full ${VSFTPD_CONF}
+ else
+ ewarn "Couldn't find ${VSFTPD_PID} trying to stop using the config filename ${VSFTPD_CONF}"
+ pgrep --full ${VSFTPD_CONF} > ${VSFTPD_PID}
+ start-stop-daemon --stop --pidfile ${VSFTPD_PID} || retval=1
+ pkill --full ${VSFTPD_CONF}
+ fi
+ eend ${retval}
+}
+
+# vim: ts=4
diff --git a/net-ftp/vsftpd/files/vsftpd.logrotate b/net-ftp/vsftpd/files/vsftpd.logrotate
new file mode 100644
index 000000000000..b28a2a42628c
--- /dev/null
+++ b/net-ftp/vsftpd/files/vsftpd.logrotate
@@ -0,0 +1,4 @@
+/var/log/vsftpd*.log {
+ missingok
+ notifempty
+}
diff --git a/net-ftp/vsftpd/files/vsftpd.service b/net-ftp/vsftpd/files/vsftpd.service
new file mode 100644
index 000000000000..1445f2769861
--- /dev/null
+++ b/net-ftp/vsftpd/files/vsftpd.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=Vsftpd ftp daemon
+After=network.target
+
+[Service]
+Type=simple
+ExecStartPre=/usr/libexec/vsftpd-checkconfig.sh
+ExecStart=/usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
+
+[Install]
+WantedBy=multi-user.target
diff --git a/net-ftp/vsftpd/files/vsftpd.socket b/net-ftp/vsftpd/files/vsftpd.socket
new file mode 100644
index 000000000000..cdc0d337efeb
--- /dev/null
+++ b/net-ftp/vsftpd/files/vsftpd.socket
@@ -0,0 +1,9 @@
+[Unit]
+Conflicts=vsftpd.service
+
+[Socket]
+ListenStream=21
+Accept=yes
+
+[Install]
+WantedBy=sockets.target
diff --git a/net-ftp/vsftpd/files/vsftpd.xinetd b/net-ftp/vsftpd/files/vsftpd.xinetd
new file mode 100644
index 000000000000..efa4ff2feee8
--- /dev/null
+++ b/net-ftp/vsftpd/files/vsftpd.xinetd
@@ -0,0 +1,14 @@
+# default: off
+# description: Vsftpd is an FTP server, designed to be secure.
+
+service ftp
+{
+ socket_type = stream
+ wait = no
+ user = root
+ server = /usr/sbin/vsftpd
+ server_args = /etc/vsftpd/vsftpd.conf
+ log_on_success += DURATION
+ nice = 10
+ disable = yes
+}
diff --git a/net-ftp/vsftpd/files/vsftpd_at.service b/net-ftp/vsftpd/files/vsftpd_at.service
new file mode 100644
index 000000000000..5380b83ffcfe
--- /dev/null
+++ b/net-ftp/vsftpd/files/vsftpd_at.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=Very Secure FTP Daemon
+
+[Service]
+Type=simple
+# Note: Do not use ExecStartPre=/usr/libexec/vsftpd-checkconfig.sh, as it
+# requires one of the listen options to be enabled.
+ExecStart=/usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf -obackground=NO -olisten=NO -olisten_ipv6=NO
+StandardInput=socket
+SuccessExitStatus=2
diff --git a/net-ftp/vsftpd/metadata.xml b/net-ftp/vsftpd/metadata.xml
new file mode 100644
index 000000000000..6b6ef604ceaa
--- /dev/null
+++ b/net-ftp/vsftpd/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>hwoarang@gentoo.org</email>
+ <name>Markos Chandras</name>
+ </maintainer>
+ <longdescription lang="en">
+ Very Secure FTP Daemon written with speed, size and security
+ in mind
+ </longdescription>
+</pkgmetadata>
diff --git a/net-ftp/vsftpd/vsftpd-2.3.5.ebuild b/net-ftp/vsftpd/vsftpd-2.3.5.ebuild
new file mode 100644
index 000000000000..8b404d579dfb
--- /dev/null
+++ b/net-ftp/vsftpd/vsftpd-2.3.5.ebuild
@@ -0,0 +1,114 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="4"
+
+inherit eutils toolchain-funcs
+
+DESCRIPTION="Very Secure FTP Daemon written with speed, size and security in mind"
+HOMEPAGE="http://vsftpd.beasts.org/"
+SRC_URI="http://security.appspot.com/downloads/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 arm ~hppa ia64 ppc ppc64 s390 sh sparc x86 ~x86-fbsd"
+IUSE="caps pam tcpd ssl selinux xinetd"
+
+DEPEND="caps? ( >=sys-libs/libcap-2 )
+ pam? ( virtual/pam )
+ tcpd? ( >=sys-apps/tcp-wrappers-7.6 )
+ ssl? ( >=dev-libs/openssl-0.9.7d )"
+RDEPEND="${DEPEND}
+ net-ftp/ftpbase
+ selinux? ( sec-policy/selinux-ftp )
+ xinetd? ( sys-apps/xinetd )"
+
+src_prepare() {
+
+ # as-needed patch. Bug #335977
+ epatch "${FILESDIR}/${PN}-2.3.2-as-needed.patch"
+
+ # kerberos patch. bug #335980
+ epatch "${FILESDIR}/${PN}-2.3.2-kerberos.patch"
+
+ # Patch the source, config and the manpage to use /etc/vsftpd/
+ epatch "${FILESDIR}/${P}-gentoo.patch"
+
+ # Fix building without the libcap
+ epatch "${FILESDIR}/${PN}-2.1.0-caps.patch"
+
+ # Configure vsftpd build defaults
+ use tcpd && echo "#define VSF_BUILD_TCPWRAPPERS" >> builddefs.h
+ use ssl && echo "#define VSF_BUILD_SSL" >> builddefs.h
+ use pam || echo "#undef VSF_BUILD_PAM" >> builddefs.h
+
+ # Ensure that we don't link against libcap unless asked
+ if ! use caps ; then
+ sed -i '/^#define VSF_SYSDEP_HAVE_LIBCAP$/ d' sysdeputil.c || die
+ epatch "${FILESDIR}"/${PN}-2.2.0-dont-link-caps.patch
+ fi
+
+ # Let portage control stripping
+ sed -i '/^LINK[[:space:]]*=[[:space:]]*/ s/-Wl,-s//' Makefile || die
+}
+
+src_compile() {
+ emake \
+ CFLAGS="${CFLAGS}" \
+ CC="$(tc-getCC)"
+}
+
+src_install() {
+ into /usr
+ doman ${PN}.conf.5 ${PN}.8
+ dosbin ${PN} || die "disbin failed"
+
+ dodoc AUDIT BENCHMARKS BUGS Changelog FAQ \
+ README README.security REWARD SIZE \
+ SPEED TODO TUNING || die "dodoc failed"
+ newdoc ${PN}.conf ${PN}.conf.example
+
+ docinto security
+ dodoc SECURITY/* || die "dodoc failed"
+
+ insinto "/usr/share/doc/${PF}/examples"
+ doins -r EXAMPLE/* || die "doins faileD"
+
+ insinto /etc/${PN}
+ newins ${PN}.conf{,.example}
+
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}/${PN}.logrotate" ${PN}
+
+ if use xinetd ; then
+ insinto /etc/xinetd.d
+ newins "${FILESDIR}/${PN}.xinetd" ${PN}
+ fi
+
+ newinitd "${FILESDIR}/${PN}.init" ${PN}
+
+ keepdir /usr/share/${PN}/empty
+
+ exeinto /usr/libexec
+ doexe "${FILESDIR}/vsftpd-checkconfig.sh"
+}
+
+pkg_preinst() {
+ # If we use xinetd, then we set listen=NO
+ # so that our default config works under xinetd - fixes #78347
+ if use xinetd ; then
+ sed -i 's/listen=YES/listen=NO/g' "${D}"/etc/${PN}/${PN}.conf.example
+ fi
+}
+
+pkg_postinst() {
+ einfo "vsftpd init script can now be multiplexed."
+ einfo "The default init script forces /etc/vsftpd/vsftpd.conf to exist."
+ einfo "If you symlink the init script to another one, say vsftpd.foo"
+ einfo "then that uses /etc/vsftpd/foo.conf instead."
+ einfo
+ einfo "Example:"
+ einfo " cd /etc/init.d"
+ einfo " ln -s vsftpd vsftpd.foo"
+ einfo "You can now treat vsftpd.foo like any other service"
+}
diff --git a/net-ftp/vsftpd/vsftpd-3.0.2-r1.ebuild b/net-ftp/vsftpd/vsftpd-3.0.2-r1.ebuild
new file mode 100644
index 000000000000..f362ee2595e4
--- /dev/null
+++ b/net-ftp/vsftpd/vsftpd-3.0.2-r1.ebuild
@@ -0,0 +1,121 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="4"
+
+inherit eutils systemd toolchain-funcs
+
+DESCRIPTION="Very Secure FTP Daemon written with speed, size and security in mind"
+HOMEPAGE="http://vsftpd.beasts.org/"
+SRC_URI="http://security.appspot.com/downloads/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 ~s390 ~sh sparc x86 ~x86-fbsd"
+IUSE="caps pam tcpd ssl selinux xinetd"
+
+DEPEND="caps? ( >=sys-libs/libcap-2 )
+ pam? ( virtual/pam )
+ tcpd? ( >=sys-apps/tcp-wrappers-7.6 )
+ ssl? ( >=dev-libs/openssl-0.9.7d )"
+RDEPEND="${DEPEND}
+ net-ftp/ftpbase
+ selinux? ( sec-policy/selinux-ftp )
+ xinetd? ( sys-apps/xinetd )"
+
+src_prepare() {
+
+ # kerberos patch. bug #335980
+ epatch "${FILESDIR}/${PN}-2.3.2-kerberos.patch"
+
+ # Patch the source, config and the manpage to use /etc/vsftpd/
+ epatch "${FILESDIR}/${PN}-2.3.5-gentoo.patch"
+
+ # Fix building without the libcap
+ epatch "${FILESDIR}/${PN}-2.1.0-caps.patch"
+
+ # Fix building on alpha. Bug #405829
+ epatch "${FILESDIR}/${PN}-3.0.2-alpha.patch"
+
+ # Configure vsftpd build defaults
+ use tcpd && echo "#define VSF_BUILD_TCPWRAPPERS" >> builddefs.h
+ use ssl && echo "#define VSF_BUILD_SSL" >> builddefs.h
+ use pam || echo "#undef VSF_BUILD_PAM" >> builddefs.h
+
+ # Ensure that we don't link against libcap unless asked
+ if ! use caps ; then
+ sed -i '/^#define VSF_SYSDEP_HAVE_LIBCAP$/ d' sysdeputil.c || die
+ epatch "${FILESDIR}"/${PN}-2.2.0-dont-link-caps.patch
+ fi
+
+ # Let portage control stripping
+ sed -i '/^LINK[[:space:]]*=[[:space:]]*/ s/-Wl,-s//' Makefile || die
+
+ #Bug #335977
+ epatch "${FILESDIR}"/${PN}-3.0.0-Makefile.patch
+
+ #Bug #450536
+ epatch "${FILESDIR}"/${P}-remove-legacy-cap.patch
+}
+
+src_compile() {
+ CFLAGS="${CFLAGS}" \
+ CC="$(tc-getCC)" \
+ emake
+}
+
+src_install() {
+ into /usr
+ doman ${PN}.conf.5 ${PN}.8
+ dosbin ${PN} || die "disbin failed"
+
+ dodoc AUDIT BENCHMARKS BUGS Changelog FAQ \
+ README README.security REWARD SIZE \
+ SPEED TODO TUNING || die "dodoc failed"
+ newdoc ${PN}.conf ${PN}.conf.example
+
+ docinto security
+ dodoc SECURITY/* || die "dodoc failed"
+
+ insinto "/usr/share/doc/${PF}/examples"
+ doins -r EXAMPLE/* || die "doins faileD"
+
+ insinto /etc/${PN}
+ newins ${PN}.conf{,.example}
+
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}/${PN}.logrotate" ${PN}
+
+ if use xinetd ; then
+ insinto /etc/xinetd.d
+ newins "${FILESDIR}/${PN}.xinetd" ${PN}
+ fi
+
+ newinitd "${FILESDIR}/${PN}.init" ${PN}
+
+ keepdir /usr/share/${PN}/empty
+
+ exeinto /usr/libexec
+ doexe "${FILESDIR}/vsftpd-checkconfig.sh"
+ systemd_dounit "${FILESDIR}/${PN}.service"
+}
+
+pkg_preinst() {
+ # If we use xinetd, then we set listen=NO
+ # so that our default config works under xinetd - fixes #78347
+ if use xinetd ; then
+ sed -i 's/listen=YES/listen=NO/g' "${D}"/etc/${PN}/${PN}.conf.example
+ fi
+}
+
+pkg_postinst() {
+ einfo "vsftpd init script can now be multiplexed."
+ einfo "The default init script forces /etc/vsftpd/vsftpd.conf to exist."
+ einfo "If you symlink the init script to another one, say vsftpd.foo"
+ einfo "then that uses /etc/vsftpd/foo.conf instead."
+ einfo
+ einfo "Example:"
+ einfo " cd /etc/init.d"
+ einfo " ln -s vsftpd vsftpd.foo"
+ einfo "You can now treat vsftpd.foo like any other service"
+}
diff --git a/net-ftp/vsftpd/vsftpd-3.0.2-r2.ebuild b/net-ftp/vsftpd/vsftpd-3.0.2-r2.ebuild
new file mode 100644
index 000000000000..787c26639af9
--- /dev/null
+++ b/net-ftp/vsftpd/vsftpd-3.0.2-r2.ebuild
@@ -0,0 +1,131 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="4"
+
+inherit eutils systemd toolchain-funcs
+
+DESCRIPTION="Very Secure FTP Daemon written with speed, size and security in mind"
+HOMEPAGE="http://vsftpd.beasts.org/"
+SRC_URI="http://security.appspot.com/downloads/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd"
+IUSE="caps pam tcpd ssl selinux xinetd"
+
+DEPEND="caps? ( >=sys-libs/libcap-2 )
+ pam? ( virtual/pam )
+ tcpd? ( >=sys-apps/tcp-wrappers-7.6 )
+ ssl? ( >=dev-libs/openssl-0.9.7d )"
+RDEPEND="${DEPEND}
+ net-ftp/ftpbase
+ selinux? ( sec-policy/selinux-ftp )
+ xinetd? ( sys-apps/xinetd )"
+
+src_prepare() {
+ # kerberos patch. bug #335980
+ epatch "${FILESDIR}/${PN}-2.3.2-kerberos.patch"
+
+ # Patch the source, config and the manpage to use /etc/vsftpd/
+ epatch "${FILESDIR}/${PN}-2.3.5-gentoo.patch"
+
+ # Fix building without the libcap
+ epatch "${FILESDIR}/${PN}-2.1.0-caps.patch"
+
+ # Fix building on alpha. Bug #405829
+ epatch "${FILESDIR}/${PN}-3.0.2-alpha.patch"
+
+ # Configure vsftpd build defaults
+ use tcpd && echo "#define VSF_BUILD_TCPWRAPPERS" >> builddefs.h
+ use ssl && echo "#define VSF_BUILD_SSL" >> builddefs.h
+ use pam || echo "#undef VSF_BUILD_PAM" >> builddefs.h
+
+ # Ensure that we don't link against libcap unless asked
+ if ! use caps ; then
+ sed -i '/^#define VSF_SYSDEP_HAVE_LIBCAP$/ d' sysdeputil.c || die
+ epatch "${FILESDIR}"/${PN}-2.2.0-dont-link-caps.patch
+ fi
+
+ # Let portage control stripping
+ sed -i '/^LINK[[:space:]]*=[[:space:]]*/ s/-Wl,-s//' Makefile || die
+
+ #Bug #335977
+ epatch "${FILESDIR}"/${PN}-3.0.0-Makefile.patch
+
+ #Bug #450536
+ epatch "${FILESDIR}"/${P}-remove-legacy-cap.patch
+
+ epatch_user
+}
+
+src_compile() {
+ # Override LIBS variable. Bug #508192
+ LIBS=
+ use caps && LIBS+=" -lcap"
+ use pam && LIBS+=" -lpam"
+ use tcpd && LIBS+=" -lwrap"
+ use ssl && LIBS+=" -lssl -lcrypto"
+
+ CFLAGS="${CFLAGS}" \
+ CC="$(tc-getCC)" \
+ emake LIBS="${LIBS}"
+}
+
+src_install() {
+ into /usr
+ doman ${PN}.conf.5 ${PN}.8
+ dosbin ${PN} || die "disbin failed"
+
+ dodoc AUDIT BENCHMARKS BUGS Changelog FAQ \
+ README README.security REWARD SIZE \
+ SPEED TODO TUNING || die "dodoc failed"
+ newdoc ${PN}.conf ${PN}.conf.example
+
+ docinto security
+ dodoc SECURITY/* || die "dodoc failed"
+
+ insinto "/usr/share/doc/${PF}/examples"
+ doins -r EXAMPLE/* || die "doins faileD"
+
+ insinto /etc/${PN}
+ newins ${PN}.conf{,.example}
+
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}/${PN}.logrotate" ${PN}
+
+ if use xinetd ; then
+ insinto /etc/xinetd.d
+ newins "${FILESDIR}/${PN}.xinetd" ${PN}
+ fi
+
+ newinitd "${FILESDIR}/${PN}.init" ${PN}
+
+ keepdir /usr/share/${PN}/empty
+
+ exeinto /usr/libexec
+ doexe "${FILESDIR}/vsftpd-checkconfig.sh"
+ systemd_dounit "${FILESDIR}/${PN}.service"
+ systemd_newunit "${FILESDIR}/${PN}_at.service" "${PN}@.service"
+ systemd_dounit "${FILESDIR}/${PN}.socket"
+}
+
+pkg_preinst() {
+ # If we use xinetd, then we set listen=NO
+ # so that our default config works under xinetd - fixes #78347
+ if use xinetd ; then
+ sed -i 's/listen=YES/listen=NO/g' "${D}"/etc/${PN}/${PN}.conf.example
+ fi
+}
+
+pkg_postinst() {
+ einfo "vsftpd openRC init script can now be multiplexed."
+ einfo "The default init script forces /etc/vsftpd/vsftpd.conf to exist."
+ einfo "If you symlink the init script to another one, say vsftpd.foo"
+ einfo "then that uses /etc/vsftpd/foo.conf instead."
+ einfo
+ einfo "Example:"
+ einfo " cd /etc/init.d"
+ einfo " ln -s vsftpd vsftpd.foo"
+ einfo "You can now treat vsftpd.foo like any other service"
+}
diff --git a/net-ftp/vsftpd/vsftpd-3.0.2-r3.ebuild b/net-ftp/vsftpd/vsftpd-3.0.2-r3.ebuild
new file mode 100644
index 000000000000..ea672ac8b5fe
--- /dev/null
+++ b/net-ftp/vsftpd/vsftpd-3.0.2-r3.ebuild
@@ -0,0 +1,134 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="4"
+
+inherit eutils systemd toolchain-funcs
+
+DESCRIPTION="Very Secure FTP Daemon written with speed, size and security in mind"
+HOMEPAGE="http://vsftpd.beasts.org/"
+SRC_URI="http://security.appspot.com/downloads/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd"
+IUSE="caps pam tcpd ssl selinux xinetd"
+
+DEPEND="caps? ( >=sys-libs/libcap-2 )
+ pam? ( virtual/pam )
+ tcpd? ( >=sys-apps/tcp-wrappers-7.6 )
+ ssl? ( >=dev-libs/openssl-0.9.7d )"
+RDEPEND="${DEPEND}
+ net-ftp/ftpbase
+ selinux? ( sec-policy/selinux-ftp )
+ xinetd? ( sys-apps/xinetd )"
+
+src_prepare() {
+ # kerberos patch. bug #335980
+ epatch "${FILESDIR}/${PN}-2.3.2-kerberos.patch"
+
+ # Patch the source, config and the manpage to use /etc/vsftpd/
+ epatch "${FILESDIR}/${PN}-2.3.5-gentoo.patch"
+
+ # Fix building without the libcap
+ epatch "${FILESDIR}/${PN}-2.1.0-caps.patch"
+
+ # Fix building on alpha. Bug #405829
+ epatch "${FILESDIR}/${PN}-3.0.2-alpha.patch"
+
+ # Increase AS_LIMIT. Bug #522412
+ epatch "${FILESDIR}/${P}-aslim.patch"
+
+ # Configure vsftpd build defaults
+ use tcpd && echo "#define VSF_BUILD_TCPWRAPPERS" >> builddefs.h
+ use ssl && echo "#define VSF_BUILD_SSL" >> builddefs.h
+ use pam || echo "#undef VSF_BUILD_PAM" >> builddefs.h
+
+ # Ensure that we don't link against libcap unless asked
+ if ! use caps ; then
+ sed -i '/^#define VSF_SYSDEP_HAVE_LIBCAP$/ d' sysdeputil.c || die
+ epatch "${FILESDIR}"/${PN}-2.2.0-dont-link-caps.patch
+ fi
+
+ # Let portage control stripping
+ sed -i '/^LINK[[:space:]]*=[[:space:]]*/ s/-Wl,-s//' Makefile || die
+
+ #Bug #335977
+ epatch "${FILESDIR}"/${PN}-3.0.0-Makefile.patch
+
+ #Bug #450536
+ epatch "${FILESDIR}"/${P}-remove-legacy-cap.patch
+
+ epatch_user
+}
+
+src_compile() {
+ # Override LIBS variable. Bug #508192
+ LIBS=
+ use caps && LIBS+=" -lcap"
+ use pam && LIBS+=" -lpam"
+ use tcpd && LIBS+=" -lwrap"
+ use ssl && LIBS+=" -lssl -lcrypto"
+
+ CFLAGS="${CFLAGS}" \
+ CC="$(tc-getCC)" \
+ emake LIBS="${LIBS}"
+}
+
+src_install() {
+ into /usr
+ doman ${PN}.conf.5 ${PN}.8
+ dosbin ${PN} || die "disbin failed"
+
+ dodoc AUDIT BENCHMARKS BUGS Changelog FAQ \
+ README README.security REWARD SIZE \
+ SPEED TODO TUNING || die "dodoc failed"
+ newdoc ${PN}.conf ${PN}.conf.example
+
+ docinto security
+ dodoc SECURITY/* || die "dodoc failed"
+
+ insinto "/usr/share/doc/${PF}/examples"
+ doins -r EXAMPLE/* || die "doins faileD"
+
+ insinto /etc/${PN}
+ newins ${PN}.conf{,.example}
+
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}/${PN}.logrotate" ${PN}
+
+ if use xinetd ; then
+ insinto /etc/xinetd.d
+ newins "${FILESDIR}/${PN}.xinetd" ${PN}
+ fi
+
+ newinitd "${FILESDIR}/${PN}.init" ${PN}
+
+ keepdir /usr/share/${PN}/empty
+
+ exeinto /usr/libexec
+ doexe "${FILESDIR}/vsftpd-checkconfig.sh"
+ systemd_dounit "${FILESDIR}/${PN}.service"
+ systemd_newunit "${FILESDIR}/${PN}_at.service" "${PN}@.service"
+ systemd_dounit "${FILESDIR}/${PN}.socket"
+}
+
+pkg_preinst() {
+ # If we use xinetd, then we set listen=NO
+ # so that our default config works under xinetd - fixes #78347
+ if use xinetd ; then
+ sed -i 's/listen=YES/listen=NO/g' "${D}"/etc/${PN}/${PN}.conf.example
+ fi
+}
+
+pkg_postinst() {
+ einfo "vsftpd openRC init script can now be multiplexed."
+ einfo "The default init script forces /etc/vsftpd/vsftpd.conf to exist."
+ einfo "If you symlink the init script to another one, say vsftpd.foo"
+ einfo "then that uses /etc/vsftpd/foo.conf instead."
+ einfo
+ einfo "Example:"
+ einfo " cd /etc/init.d"
+ einfo " ln -s vsftpd vsftpd.foo"
+ einfo "You can now treat vsftpd.foo like any other service"
+}
diff --git a/net-ftp/vsftpd/vsftpd-3.0.2-r4.ebuild b/net-ftp/vsftpd/vsftpd-3.0.2-r4.ebuild
new file mode 100644
index 000000000000..9f5b84c96837
--- /dev/null
+++ b/net-ftp/vsftpd/vsftpd-3.0.2-r4.ebuild
@@ -0,0 +1,134 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="4"
+
+inherit eutils systemd toolchain-funcs
+
+DESCRIPTION="Very Secure FTP Daemon written with speed, size and security in mind"
+HOMEPAGE="http://vsftpd.beasts.org/"
+SRC_URI="http://security.appspot.com/downloads/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd"
+IUSE="caps pam tcpd ssl selinux xinetd"
+
+DEPEND="caps? ( >=sys-libs/libcap-2 )
+ pam? ( virtual/pam )
+ tcpd? ( >=sys-apps/tcp-wrappers-7.6 )
+ ssl? ( >=dev-libs/openssl-0.9.7d )"
+RDEPEND="${DEPEND}
+ net-ftp/ftpbase
+ selinux? ( sec-policy/selinux-ftp )
+ xinetd? ( sys-apps/xinetd )"
+
+src_prepare() {
+ # kerberos patch. bug #335980
+ epatch "${FILESDIR}/${PN}-2.3.2-kerberos.patch"
+
+ # Patch the source, config and the manpage to use /etc/vsftpd/
+ epatch "${FILESDIR}/${PN}-2.3.5-gentoo.patch"
+
+ # Fix building without the libcap
+ epatch "${FILESDIR}/${PN}-2.1.0-caps.patch"
+
+ # Fix building on alpha. Bug #405829
+ epatch "${FILESDIR}/${PN}-3.0.2-alpha.patch"
+
+ # Increase AS_LIMIT. Bug #522412
+ epatch "${FILESDIR}/${P}-aslim.patch"
+
+ # Configure vsftpd build defaults
+ use tcpd && echo "#define VSF_BUILD_TCPWRAPPERS" >> builddefs.h
+ use ssl && echo "#define VSF_BUILD_SSL" >> builddefs.h
+ use pam || echo "#undef VSF_BUILD_PAM" >> builddefs.h
+
+ # Ensure that we don't link against libcap unless asked
+ if ! use caps ; then
+ sed -i '/^#define VSF_SYSDEP_HAVE_LIBCAP$/ d' sysdeputil.c || die
+ epatch "${FILESDIR}"/${PN}-2.2.0-dont-link-caps.patch
+ fi
+
+ # Let portage control stripping
+ sed -i '/^LINK[[:space:]]*=[[:space:]]*/ s/-Wl,-s//' Makefile || die
+
+ #Bug #335977
+ epatch "${FILESDIR}"/${PN}-3.0.0-Makefile.patch
+
+ #Bug #450536
+ epatch "${FILESDIR}"/${P}-remove-legacy-cap.patch
+
+ epatch_user
+}
+
+src_compile() {
+ # Override LIBS variable. Bug #508192
+ LIBS=
+ use caps && LIBS+=" -lcap"
+ use pam && LIBS+=" -lpam"
+ use tcpd && LIBS+=" -lwrap"
+ use ssl && LIBS+=" -lssl -lcrypto"
+
+ CFLAGS="${CFLAGS}" \
+ CC="$(tc-getCC)" \
+ emake LIBS="${LIBS}"
+}
+
+src_install() {
+ into /usr
+ doman ${PN}.conf.5 ${PN}.8
+ dosbin ${PN} || die "disbin failed"
+
+ dodoc AUDIT BENCHMARKS BUGS Changelog FAQ \
+ README README.security REWARD SIZE \
+ SPEED TODO TUNING || die "dodoc failed"
+ newdoc ${PN}.conf ${PN}.conf.example
+
+ docinto security
+ dodoc SECURITY/* || die "dodoc failed"
+
+ insinto "/usr/share/doc/${PF}/examples"
+ doins -r EXAMPLE/* || die "doins faileD"
+
+ insinto /etc/${PN}
+ newins ${PN}.conf{,.example}
+
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}/${PN}.logrotate" ${PN}
+
+ if use xinetd ; then
+ insinto /etc/xinetd.d
+ newins "${FILESDIR}/${PN}.xinetd" ${PN}
+ fi
+
+ newinitd "${FILESDIR}/${PN}.init" ${PN}
+
+ keepdir /usr/share/${PN}/empty
+
+ exeinto /usr/libexec
+ doexe "${FILESDIR}/vsftpd-checkconfig.sh"
+ systemd_dounit "${FILESDIR}/${PN}.service"
+ systemd_newunit "${FILESDIR}/${PN}_at.service" "${PN}@.service"
+ systemd_dounit "${FILESDIR}/${PN}.socket"
+}
+
+pkg_preinst() {
+ # If we use xinetd, then we set listen=NO
+ # so that our default config works under xinetd - fixes #78347
+ if use xinetd ; then
+ sed -i 's/listen=YES/listen=NO/g' "${D}"/etc/${PN}/${PN}.conf.example
+ fi
+}
+
+pkg_postinst() {
+ einfo "vsftpd openRC init script can now be multiplexed."
+ einfo "The default init script forces /etc/vsftpd/vsftpd.conf to exist."
+ einfo "If you symlink the init script to another one, say vsftpd.foo"
+ einfo "then that uses /etc/vsftpd/foo.conf instead."
+ einfo
+ einfo "Example:"
+ einfo " cd /etc/init.d"
+ einfo " ln -s vsftpd vsftpd.foo"
+ einfo "You can now treat vsftpd.foo like any other service"
+}
diff --git a/net-ftp/vsftpd/vsftpd-3.0.2.ebuild b/net-ftp/vsftpd/vsftpd-3.0.2.ebuild
new file mode 100644
index 000000000000..2e9ae68e6509
--- /dev/null
+++ b/net-ftp/vsftpd/vsftpd-3.0.2.ebuild
@@ -0,0 +1,117 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="4"
+
+inherit eutils toolchain-funcs
+
+DESCRIPTION="Very Secure FTP Daemon written with speed, size and security in mind"
+HOMEPAGE="http://vsftpd.beasts.org/"
+SRC_URI="http://security.appspot.com/downloads/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ~hppa ia64 ppc ppc64 s390 sh sparc x86 ~x86-fbsd"
+IUSE="caps pam tcpd ssl selinux xinetd"
+
+DEPEND="caps? ( >=sys-libs/libcap-2 )
+ pam? ( virtual/pam )
+ tcpd? ( >=sys-apps/tcp-wrappers-7.6 )
+ ssl? ( >=dev-libs/openssl-0.9.7d )"
+RDEPEND="${DEPEND}
+ net-ftp/ftpbase
+ selinux? ( sec-policy/selinux-ftp )
+ xinetd? ( sys-apps/xinetd )"
+
+src_prepare() {
+
+ # kerberos patch. bug #335980
+ epatch "${FILESDIR}/${PN}-2.3.2-kerberos.patch"
+
+ # Patch the source, config and the manpage to use /etc/vsftpd/
+ epatch "${FILESDIR}/${PN}-2.3.5-gentoo.patch"
+
+ # Fix building without the libcap
+ epatch "${FILESDIR}/${PN}-2.1.0-caps.patch"
+
+ # Fix building on alpha. Bug #405829
+ epatch "${FILESDIR}/${PN}-3.0.2-alpha.patch"
+
+ # Configure vsftpd build defaults
+ use tcpd && echo "#define VSF_BUILD_TCPWRAPPERS" >> builddefs.h
+ use ssl && echo "#define VSF_BUILD_SSL" >> builddefs.h
+ use pam || echo "#undef VSF_BUILD_PAM" >> builddefs.h
+
+ # Ensure that we don't link against libcap unless asked
+ if ! use caps ; then
+ sed -i '/^#define VSF_SYSDEP_HAVE_LIBCAP$/ d' sysdeputil.c || die
+ epatch "${FILESDIR}"/${PN}-2.2.0-dont-link-caps.patch
+ fi
+
+ # Let portage control stripping
+ sed -i '/^LINK[[:space:]]*=[[:space:]]*/ s/-Wl,-s//' Makefile || die
+
+ #Bug #335977
+ epatch "${FILESDIR}"/${PN}-3.0.0-Makefile.patch
+}
+
+src_compile() {
+ CFLAGS="${CFLAGS}" \
+ CC="$(tc-getCC)" \
+ emake
+}
+
+src_install() {
+ into /usr
+ doman ${PN}.conf.5 ${PN}.8
+ dosbin ${PN} || die "disbin failed"
+
+ dodoc AUDIT BENCHMARKS BUGS Changelog FAQ \
+ README README.security REWARD SIZE \
+ SPEED TODO TUNING || die "dodoc failed"
+ newdoc ${PN}.conf ${PN}.conf.example
+
+ docinto security
+ dodoc SECURITY/* || die "dodoc failed"
+
+ insinto "/usr/share/doc/${PF}/examples"
+ doins -r EXAMPLE/* || die "doins faileD"
+
+ insinto /etc/${PN}
+ newins ${PN}.conf{,.example}
+
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}/${PN}.logrotate" ${PN}
+
+ if use xinetd ; then
+ insinto /etc/xinetd.d
+ newins "${FILESDIR}/${PN}.xinetd" ${PN}
+ fi
+
+ newinitd "${FILESDIR}/${PN}.init" ${PN}
+
+ keepdir /usr/share/${PN}/empty
+
+ exeinto /usr/libexec
+ doexe "${FILESDIR}/vsftpd-checkconfig.sh"
+}
+
+pkg_preinst() {
+ # If we use xinetd, then we set listen=NO
+ # so that our default config works under xinetd - fixes #78347
+ if use xinetd ; then
+ sed -i 's/listen=YES/listen=NO/g' "${D}"/etc/${PN}/${PN}.conf.example
+ fi
+}
+
+pkg_postinst() {
+ einfo "vsftpd init script can now be multiplexed."
+ einfo "The default init script forces /etc/vsftpd/vsftpd.conf to exist."
+ einfo "If you symlink the init script to another one, say vsftpd.foo"
+ einfo "then that uses /etc/vsftpd/foo.conf instead."
+ einfo
+ einfo "Example:"
+ einfo " cd /etc/init.d"
+ einfo " ln -s vsftpd vsftpd.foo"
+ einfo "You can now treat vsftpd.foo like any other service"
+}
diff --git a/net-ftp/vsftpd/vsftpd-3.0.3-r1.ebuild b/net-ftp/vsftpd/vsftpd-3.0.3-r1.ebuild
new file mode 100644
index 000000000000..a61b38e5a2c8
--- /dev/null
+++ b/net-ftp/vsftpd/vsftpd-3.0.3-r1.ebuild
@@ -0,0 +1,134 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+
+inherit eutils systemd toolchain-funcs
+
+DESCRIPTION="Very Secure FTP Daemon written with speed, size and security in mind"
+HOMEPAGE="http://vsftpd.beasts.org/"
+SRC_URI="http://security.appspot.com/downloads/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd"
+IUSE="caps libressl pam tcpd ssl selinux xinetd"
+
+DEPEND="caps? ( >=sys-libs/libcap-2 )
+ pam? ( virtual/pam )
+ tcpd? ( >=sys-apps/tcp-wrappers-7.6 )
+ ssl? (
+ !libressl? ( dev-libs/openssl:0= )
+ libressl? ( dev-libs/libressl:0= )
+ )"
+RDEPEND="${DEPEND}
+ net-ftp/ftpbase
+ selinux? ( sec-policy/selinux-ftp )
+ xinetd? ( sys-apps/xinetd )"
+
+src_prepare() {
+ # kerberos patch. bug #335980
+ epatch "${FILESDIR}/${PN}-2.3.2-kerberos.patch"
+
+ # Patch the source, config and the manpage to use /etc/vsftpd/
+ epatch "${FILESDIR}/${PN}-2.3.5-gentoo.patch"
+
+ # Fix building without the libcap
+ epatch "${FILESDIR}/${PN}-2.1.0-caps.patch"
+
+ # Fix building on alpha. Bug #405829
+ epatch "${FILESDIR}/${PN}-3.0.2-alpha.patch"
+
+ # Configure vsftpd build defaults
+ use tcpd && echo "#define VSF_BUILD_TCPWRAPPERS" >> builddefs.h
+ use ssl && echo "#define VSF_BUILD_SSL" >> builddefs.h
+ use pam || echo "#undef VSF_BUILD_PAM" >> builddefs.h
+
+ # Ensure that we don't link against libcap unless asked
+ if ! use caps ; then
+ sed -i '/^#define VSF_SYSDEP_HAVE_LIBCAP$/ d' sysdeputil.c || die
+ epatch "${FILESDIR}"/${PN}-2.2.0-dont-link-caps.patch
+ fi
+
+ # Let portage control stripping
+ sed -i '/^LINK[[:space:]]*=[[:space:]]*/ s/-Wl,-s//' Makefile || die
+
+ #Bug #335977
+ epatch "${FILESDIR}"/${PN}-3.0.0-Makefile.patch
+
+ #Bug #450536
+ epatch "${FILESDIR}"/${PN}-3.0.2-remove-legacy-cap.patch
+
+ eapply_user
+}
+
+src_compile() {
+ # Override LIBS variable. Bug #508192
+ LIBS=
+ use caps && LIBS+=" -lcap"
+ use pam && LIBS+=" -lpam"
+ use tcpd && LIBS+=" -lwrap"
+ use ssl && LIBS+=" -lssl -lcrypto"
+
+ CFLAGS="${CFLAGS}" \
+ CC="$(tc-getCC)" \
+ emake LIBS="${LIBS}"
+}
+
+src_install() {
+ into /usr
+ doman ${PN}.conf.5 ${PN}.8
+ dosbin ${PN} || die "disbin failed"
+
+ dodoc AUDIT BENCHMARKS BUGS Changelog FAQ \
+ README README.security REWARD SIZE \
+ SPEED TODO TUNING || die "dodoc failed"
+ newdoc ${PN}.conf ${PN}.conf.example
+
+ docinto security
+ dodoc SECURITY/* || die "dodoc failed"
+
+ insinto "/usr/share/doc/${PF}/examples"
+ doins -r EXAMPLE/* || die "doins faileD"
+
+ insinto /etc/${PN}
+ newins ${PN}.conf{,.example}
+
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}/${PN}.logrotate" ${PN}
+
+ if use xinetd ; then
+ insinto /etc/xinetd.d
+ newins "${FILESDIR}/${PN}.xinetd" ${PN}
+ fi
+
+ newinitd "${FILESDIR}/${PN}.init" ${PN}
+
+ keepdir /usr/share/${PN}/empty
+
+ exeinto /usr/libexec
+ doexe "${FILESDIR}/vsftpd-checkconfig.sh"
+ systemd_dounit "${FILESDIR}/${PN}.service"
+ systemd_newunit "${FILESDIR}/${PN}_at.service" "${PN}@.service"
+ systemd_dounit "${FILESDIR}/${PN}.socket"
+}
+
+pkg_preinst() {
+ # If we use xinetd, then we set listen=NO
+ # so that our default config works under xinetd - fixes #78347
+ if use xinetd ; then
+ sed -i 's/listen=YES/listen=NO/g' "${D}"/etc/${PN}/${PN}.conf.example
+ fi
+}
+
+pkg_postinst() {
+ einfo "vsftpd openRC init script can now be multiplexed."
+ einfo "The default init script forces /etc/vsftpd/vsftpd.conf to exist."
+ einfo "If you symlink the init script to another one, say vsftpd.foo"
+ einfo "then that uses /etc/vsftpd/foo.conf instead."
+ einfo
+ einfo "Example:"
+ einfo " cd /etc/init.d"
+ einfo " ln -s vsftpd vsftpd.foo"
+ einfo "You can now treat vsftpd.foo like any other service"
+}
diff --git a/net-ftp/vsftpd/vsftpd-3.0.3.ebuild b/net-ftp/vsftpd/vsftpd-3.0.3.ebuild
new file mode 100644
index 000000000000..48d8e8795fde
--- /dev/null
+++ b/net-ftp/vsftpd/vsftpd-3.0.3.ebuild
@@ -0,0 +1,131 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="4"
+
+inherit eutils systemd toolchain-funcs
+
+DESCRIPTION="Very Secure FTP Daemon written with speed, size and security in mind"
+HOMEPAGE="http://vsftpd.beasts.org/"
+SRC_URI="http://security.appspot.com/downloads/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd"
+IUSE="caps pam tcpd ssl selinux xinetd"
+
+DEPEND="caps? ( >=sys-libs/libcap-2 )
+ pam? ( virtual/pam )
+ tcpd? ( >=sys-apps/tcp-wrappers-7.6 )
+ ssl? ( >=dev-libs/openssl-0.9.7d )"
+RDEPEND="${DEPEND}
+ net-ftp/ftpbase
+ selinux? ( sec-policy/selinux-ftp )
+ xinetd? ( sys-apps/xinetd )"
+
+src_prepare() {
+ # kerberos patch. bug #335980
+ epatch "${FILESDIR}/${PN}-2.3.2-kerberos.patch"
+
+ # Patch the source, config and the manpage to use /etc/vsftpd/
+ epatch "${FILESDIR}/${PN}-2.3.5-gentoo.patch"
+
+ # Fix building without the libcap
+ epatch "${FILESDIR}/${PN}-2.1.0-caps.patch"
+
+ # Fix building on alpha. Bug #405829
+ epatch "${FILESDIR}/${PN}-3.0.2-alpha.patch"
+
+ # Configure vsftpd build defaults
+ use tcpd && echo "#define VSF_BUILD_TCPWRAPPERS" >> builddefs.h
+ use ssl && echo "#define VSF_BUILD_SSL" >> builddefs.h
+ use pam || echo "#undef VSF_BUILD_PAM" >> builddefs.h
+
+ # Ensure that we don't link against libcap unless asked
+ if ! use caps ; then
+ sed -i '/^#define VSF_SYSDEP_HAVE_LIBCAP$/ d' sysdeputil.c || die
+ epatch "${FILESDIR}"/${PN}-2.2.0-dont-link-caps.patch
+ fi
+
+ # Let portage control stripping
+ sed -i '/^LINK[[:space:]]*=[[:space:]]*/ s/-Wl,-s//' Makefile || die
+
+ #Bug #335977
+ epatch "${FILESDIR}"/${PN}-3.0.0-Makefile.patch
+
+ #Bug #450536
+ epatch "${FILESDIR}"/${PN}-3.0.2-remove-legacy-cap.patch
+
+ epatch_user
+}
+
+src_compile() {
+ # Override LIBS variable. Bug #508192
+ LIBS=
+ use caps && LIBS+=" -lcap"
+ use pam && LIBS+=" -lpam"
+ use tcpd && LIBS+=" -lwrap"
+ use ssl && LIBS+=" -lssl -lcrypto"
+
+ CFLAGS="${CFLAGS}" \
+ CC="$(tc-getCC)" \
+ emake LIBS="${LIBS}"
+}
+
+src_install() {
+ into /usr
+ doman ${PN}.conf.5 ${PN}.8
+ dosbin ${PN} || die "disbin failed"
+
+ dodoc AUDIT BENCHMARKS BUGS Changelog FAQ \
+ README README.security REWARD SIZE \
+ SPEED TODO TUNING || die "dodoc failed"
+ newdoc ${PN}.conf ${PN}.conf.example
+
+ docinto security
+ dodoc SECURITY/* || die "dodoc failed"
+
+ insinto "/usr/share/doc/${PF}/examples"
+ doins -r EXAMPLE/* || die "doins faileD"
+
+ insinto /etc/${PN}
+ newins ${PN}.conf{,.example}
+
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}/${PN}.logrotate" ${PN}
+
+ if use xinetd ; then
+ insinto /etc/xinetd.d
+ newins "${FILESDIR}/${PN}.xinetd" ${PN}
+ fi
+
+ newinitd "${FILESDIR}/${PN}.init" ${PN}
+
+ keepdir /usr/share/${PN}/empty
+
+ exeinto /usr/libexec
+ doexe "${FILESDIR}/vsftpd-checkconfig.sh"
+ systemd_dounit "${FILESDIR}/${PN}.service"
+ systemd_newunit "${FILESDIR}/${PN}_at.service" "${PN}@.service"
+ systemd_dounit "${FILESDIR}/${PN}.socket"
+}
+
+pkg_preinst() {
+ # If we use xinetd, then we set listen=NO
+ # so that our default config works under xinetd - fixes #78347
+ if use xinetd ; then
+ sed -i 's/listen=YES/listen=NO/g' "${D}"/etc/${PN}/${PN}.conf.example
+ fi
+}
+
+pkg_postinst() {
+ einfo "vsftpd openRC init script can now be multiplexed."
+ einfo "The default init script forces /etc/vsftpd/vsftpd.conf to exist."
+ einfo "If you symlink the init script to another one, say vsftpd.foo"
+ einfo "then that uses /etc/vsftpd/foo.conf instead."
+ einfo
+ einfo "Example:"
+ einfo " cd /etc/init.d"
+ einfo " ln -s vsftpd vsftpd.foo"
+ einfo "You can now treat vsftpd.foo like any other service"
+}
diff --git a/net-ftp/weex/Manifest b/net-ftp/weex/Manifest
new file mode 100644
index 000000000000..006e19054675
--- /dev/null
+++ b/net-ftp/weex/Manifest
@@ -0,0 +1,7 @@
+AUX formatstring.patch 291 SHA256 060d938f124f3a44a71403cfc9266b08268d2c07b50229a9ea212e5e1ff25552 SHA512 daf4a4379440c24fe4c5a5cf52d0d96aa3586fde10320689a6fd3305ec5ad36a69dcf72a31ac58a98e54cb39c5917a3865954e4be5906c2ee974ec5a2ed41947 WHIRLPOOL bde487b06f90789f50a5c244fc11229019f3c5f7aa384104b67faff5c921ab8b3540860923659a7fd64d5ed9eac370d383c44f9dd76fd5f06cfc341ba7ca7720
+AUX weex-2.6.1.5-va_list.patch 559 SHA256 6798d9516800a021d3fcdcf543cd9ba9a5e6f13fd9afceb217ac2b8a9c564541 SHA512 f2b8eb471d9932ad10204ab0b61e6bdcf87d6b9153af435ee9044078c90c9b078c05cb0dbb31a5669c01e0c38b43d258b172f826c46b572a845b8ef26392d97c WHIRLPOOL 9e8740b2eec880265a8c1719b9ff31be6bb688419c14d07265ec445b516e93674b6d35f5fcbccb20ea351cae60bf63c6059280b3bb4b1d104737ca3c20eb3e9c
+DIST weex-2.6.1.5.tar.gz 206972 SHA256 d4f307293ff18230641098723273ba6243e5fbeb5af85f89a8938b826e91ac38 SHA512 4a33761a22f7df4b610b86b74104a1eb4836851345092ac730758026ef5e4fd5e4df3e670b5eefe1230f0ccfce85282ffa79007a0056df774cf1ebce191a90bc WHIRLPOOL cc85576e9b65bc0553bc128a21e60c15fba765fde41788ee911c59aff281a9333ec1c48c1184fae5df4e0ea064c76c591c7aee63b5eb26effcd5ac99847f2883
+EBUILD weex-2.6.1.5-r1.ebuild 648 SHA256 74901c5267e82326aa8d36640592403f70c43e3f2da6ba101554e2bfa4b132a7 SHA512 7ad934799eeab127de30b80ec8e535b3cf601b8efb55ae096a595ea34d98501939e631d91a4e8585304b28633970d52cde673288af455de7337330faaf2940a4 WHIRLPOOL 5c4af4bb30141d9bacb0bc1e76055fab96a674574bc1577901b2221271390546c3a68936602a9c61017f6fbfc51f8569f87fa669fa313982c26aa1d91965980b
+MISC ChangeLog 2586 SHA256 e0ec52afdf9033e5b6d512d4416b30750750ef32d700b32f73563f94e50316f1 SHA512 438f0e83f0bf68602967c94c6ad60252294fe1f11df2e5fad91d51a7c551d8d9c574b832de70ffc3d4ff84be2b74089460727a576e442d480e090b13631a6864 WHIRLPOOL 34964b0a723735022d95109843901ce937cdaa9c182d47996c8b4672070b7328bb7c349ce4f4096e6ccd707d01205647c58e50ac537ff8095698f0665db35f8e
+MISC ChangeLog-2015 2341 SHA256 6deb5a227603df20dcdaeeccd352d63dd6a939b16fd92ebb644f72aa2cbde013 SHA512 8dc9b5be7a0c6ff50e9c815ae77b2de95299c680aff4c059a89ac767dd2885216d13d7a375bb99d4ff9314db951dc3fd627bcca88aca0830176c4204444c19da WHIRLPOOL 1b6fe9558496c0788e2c4c843b923b20f6f35a7faf0d62f792556fc6dac259dac785a4fed9c36290ef4bf8d890609e40244cbe929d6ba0ef5b90fc31eaec2e03
+MISC metadata.xml 246 SHA256 3e9df72fa90c49f8ea339dc5628783cb3846c90b14271cbf467408b7b2afc86e SHA512 4f1c75c586a69358900e96137fc4c3a8d23ae6c8ec351ecc94a0e890278bf98c8ba860c93694835be97560f3bae000331f938a3b8cd219a0fcb5e58ec60c9cf5 WHIRLPOOL 547db8ce2bada94023504a8bf41b2ba98f4adb51b66e3ba18bb25e47643a6b11cbf4575e0d3dde28749565820628aa67b222c8e7a463410ae9d42551a7123c68
diff --git a/net-ftp/weex/files/formatstring.patch b/net-ftp/weex/files/formatstring.patch
new file mode 100644
index 000000000000..06ad28b88365
--- /dev/null
+++ b/net-ftp/weex/files/formatstring.patch
@@ -0,0 +1,11 @@
+--- src/log.c.old 2005-10-02 03:49:34.495603240 +0200
++++ src/log.c 2005-10-02 03:50:18.064979688 +0200
+@@ -183,7 +183,7 @@ void log_flush(void)
+
+ fp=log_open();
+ for(i=0;i<max_log;i++){
+- fprintf(fp,log_str[i]);
++ fprintf(fp,"%s",log_str[i]);
+ free(log_str[i]);
+ }
+ free(log_str);
diff --git a/net-ftp/weex/files/weex-2.6.1.5-va_list.patch b/net-ftp/weex/files/weex-2.6.1.5-va_list.patch
new file mode 100644
index 000000000000..70b3ebcdd832
--- /dev/null
+++ b/net-ftp/weex/files/weex-2.6.1.5-va_list.patch
@@ -0,0 +1,23 @@
+--- src/strlib.c.orig 2003-08-18 11:52:38.000000000 +0200
++++ src/strlib.c 2004-07-05 20:32:48.853638760 +0200
+@@ -167,14 +167,16 @@
+ -------------------------------------------------- */
+ char *str_dup_printf(const char *format, ...)
+ {
+- va_list ap1,ap2;
++ va_list ap1;
+ char *ptr;
+
+ va_start(ap1,format);
+- G_VA_COPY(ap2,ap1);
++ //G_VA_COPY(ap2,ap1);
+ ptr=str_malloc(printf_string_upper_bound(format,ap1));
+- vsprintf(ptr,format,ap2);
+- va_end(ap2);
++ va_end(ap1);
++ va_start(ap1,format);
++ vsprintf(ptr,format,ap1);
++ va_end(ap1);
+
+ return(ptr);
+ }
diff --git a/net-ftp/weex/metadata.xml b/net-ftp/weex/metadata.xml
new file mode 100644
index 000000000000..93b71e090dbb
--- /dev/null
+++ b/net-ftp/weex/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-needed -->
+ <upstream>
+ <remote-id type="sourceforge">weex</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/net-ftp/weex/weex-2.6.1.5-r1.ebuild b/net-ftp/weex/weex-2.6.1.5-r1.ebuild
new file mode 100644
index 000000000000..fac95392d5ce
--- /dev/null
+++ b/net-ftp/weex/weex-2.6.1.5-r1.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit eutils
+
+DESCRIPTION="Automates maintaining a web page or other FTP archive"
+HOMEPAGE="http://weex.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~ppc x86"
+IUSE="" #nls
+
+DEPEND="sys-libs/ncurses"
+
+src_prepare() {
+ epatch "${FILESDIR}/${P}-va_list.patch"
+ epatch "${FILESDIR}/formatstring.patch"
+}
+
+src_configure() {
+ econf --disable-nls #532502
+}
+
+src_install() {
+ default
+ dodoc doc/TODO* doc/README* doc/FAQ* doc/sample* doc/ChangeLog* \
+ doc/BUG* doc/THANK*
+}
diff --git a/net-ftp/yafc/Manifest b/net-ftp/yafc/Manifest
new file mode 100644
index 000000000000..7b47aa381bb3
--- /dev/null
+++ b/net-ftp/yafc/Manifest
@@ -0,0 +1,5 @@
+DIST yafc-1.3.7.tar.xz 363692 SHA256 4b3ebf62423f21bdaa2449b66d15e8d0bb04215472cb63a31d473c3c3912c1e0 SHA512 2547cf3d6f1918a5cd2d3bc29455311d48fcd7dbccfdc8ae4ce08d1fd63cfabae07b70ebf005206a61937bd5b686e19d3af095f876616a5ac4b0593e90cd39c5 WHIRLPOOL e9f0f39de54131b8fb237cda99463ff9cc8badb4cd902fced1cb3024c9379f5db1972d5ed3df58787b5f81f8d5c01a5683af06aba16bd5319574a29677465873
+EBUILD yafc-1.3.7.ebuild 1072 SHA256 9adc5df82fdc2c7dd5583204ca0e72c52e9e393f9536920b9178df6eadb62cc1 SHA512 fa1c15f93a9163a81f516deb9d45002f09f4a913b0dd8a6bcfb65432cd6a10adb49ee89c8a54453b5a488df42afde0931ce695c8b807b9afeb718e6fe0aa1285 WHIRLPOOL 9dd0adf8f3d36a10e4669fb6b1061c65cfe3f1d3328e9046ed8747d3470ce0975e284eb90b95306470868c5948268bde6fdc08a1d7d476ab8cd4131907b026aa
+MISC ChangeLog 3485 SHA256 6803f673baa35a78d203706104e94c312834f416003adb8c884549805a67c482 SHA512 7cfa5e88adc058ff81a5a3ab903e924f6e7597573f1b83ac94f5a7cbca42ec9340a0ea402bf48aa9ba18598a6525836e7c4e35645a7e6bac4df3654ff21d44c9 WHIRLPOOL 7b9a2972cfbb40a8063cbb9a49f576205ab80d1c8a7997199ba21262ecf9f15a5345519ed64e2ef0ede5fc6835a16fbf8e66e534036605e94569c209de3989bc
+MISC ChangeLog-2015 5730 SHA256 bd226efa95ca3dc75e2a668175a78e43fbfcd0273f112923ffe649780fe2abda SHA512 534a7121de00d07838554ab712c75d1ae4e6a5405edd378f0b040af998468080efb639af7efb7568eb8eb7084b1b4d8173976d321836d956dbba5d640e457a29 WHIRLPOOL 995d06d60cbce7b06a853d2d037653140b293e04c213193832bb7d6b260ed813249ba3dcc0db859b5f91574c83f38f6850ff24343174e5d40a623ccd12c51069
+MISC metadata.xml 232 SHA256 8f2b12dbe27ca5c1956626384e5532eac0f35f27890bdca23b037b358091be74 SHA512 d7fd342295962b89739ead1984e71a86832878146498a919c1551d499bf1ef133d48b880a065735e88cf256494073591f31703f600ef456b8ba5b9fa4499f707 WHIRLPOOL 9aff973680d3c71575a428952954d7c7abb2fc973271bee192b85cf515aa6eb1c05a3d266c5f44cf720cb4c4db988bc9fac1e38575060347f599d3676b7489f2
diff --git a/net-ftp/yafc/metadata.xml b/net-ftp/yafc/metadata.xml
new file mode 100644
index 000000000000..1935b6950fb3
--- /dev/null
+++ b/net-ftp/yafc/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-needed -->
+ <use>
+ <flag name="ssh">Build with SFTP support</flag>
+ </use>
+</pkgmetadata>
diff --git a/net-ftp/yafc/yafc-1.3.7.ebuild b/net-ftp/yafc/yafc-1.3.7.ebuild
new file mode 100644
index 000000000000..39bf8f0beb48
--- /dev/null
+++ b/net-ftp/yafc/yafc-1.3.7.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit bash-completion-r1 eutils
+
+DESCRIPTION="Console ftp client with a lot of nifty features"
+HOMEPAGE="http://www.yafc-ftp.com/"
+SRC_URI="http://www.yafc-ftp.com/downloads/${P}.tar.xz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc ~sparc ~x86"
+IUSE="ipv6 libressl kerberos readline socks5 ssh"
+
+RDEPEND="
+ sys-libs/ncurses:*
+ dev-libs/libbsd
+ !libressl? ( dev-libs/openssl:0= )
+ libressl? ( dev-libs/libressl:0= )
+ kerberos? ( virtual/krb5 )
+ readline? ( >=sys-libs/readline-6:0= )
+ socks5? ( net-proxy/dante )
+ ssh? ( net-libs/libssh )
+"
+DEPEND="${RDEPEND}"
+
+DOCS=( BUGS NEWS README.md THANKS TODO )
+
+src_prepare() {
+ epatch_user
+}
+
+src_configure() {
+ export ac_cv_ipv6=$(usex ipv6)
+ econf \
+ $(use_with readline readline /usr) \
+ $(use_with socks5 socks /usr) \
+ $(use_with socks5 socks5 /usr) \
+ $(use_with kerberos krb5) \
+ $(use_with ssh) \
+ --with-bash-completion="$(get_bashcompdir)"
+}
+
+src_install() {
+ default
+ dodoc -r samples
+}