aboutsummaryrefslogtreecommitdiff
path: root/ftp/bbftp-client
diff options
context:
space:
mode:
authorAlexey Dokuchaev <danfe@FreeBSD.org>2021-01-30 09:01:08 +0000
committerAlexey Dokuchaev <danfe@FreeBSD.org>2021-01-30 09:01:08 +0000
commit06105161ebb5e89dbb235b66493f0694a35302a0 (patch)
tree58f85ef1cd37e9998ba507a46fe0373a4cca98f5 /ftp/bbftp-client
parent074461fc440c5431c3f2542f874adec122d9f6fa (diff)
downloadports-06105161ebb5e89dbb235b66493f0694a35302a0.tar.gz
ports-06105161ebb5e89dbb235b66493f0694a35302a0.zip
Notes
Diffstat (limited to 'ftp/bbftp-client')
-rw-r--r--ftp/bbftp-client/Makefile36
-rw-r--r--ftp/bbftp-client/distinfo3
-rw-r--r--ftp/bbftp-client/files/patch-connecttoserver.c55
-rw-r--r--ftp/bbftp-client/files/patch-setsignals.c11
-rw-r--r--ftp/bbftp-client/pkg-descr20
-rw-r--r--ftp/bbftp-client/pkg-plist6
6 files changed, 131 insertions, 0 deletions
diff --git a/ftp/bbftp-client/Makefile b/ftp/bbftp-client/Makefile
new file mode 100644
index 000000000000..5e127fa00b9c
--- /dev/null
+++ b/ftp/bbftp-client/Makefile
@@ -0,0 +1,36 @@
+# Created by: Petr Holub <hopet@ics.muni.cz>
+# $FreeBSD$
+
+PORTNAME= bbftp-client
+PORTVERSION= 3.2.1
+CATEGORIES= ftp
+MASTER_SITES= http://software.in2p3.fr/bbftp/dist/ \
+ ftp://ftp.in2p3.fr/pub/bbftp/
+
+MAINTAINER= ports@FreeBSD.org
+COMMENT= Secure file transfer suite optimized for large files (client)
+
+LICENSE= GPLv2+
+
+USES= gmake ssl
+GNU_CONFIGURE= yes
+CONFIGURE_ARGS= --with-ssl=${OPENSSLBASE}
+WRKSRC_SUBDIR= bbftpc
+
+OPTIONS_DEFINE= DOCS
+
+post-patch:
+ @${REINPLACE_CMD} -e '/with_ssl\/lib\/libcrypto/s,\.a,.so,' \
+ ${WRKSRC}/${CONFIGURE_SCRIPT}
+
+do-install:
+ ${INSTALL_PROGRAM} ${WRKSRC}/bbftp ${STAGEDIR}${PREFIX}/bin
+ ${INSTALL_MAN} ${WRKSRC}/../doc/bbftp.1 \
+ ${STAGEDIR}${MANPREFIX}/man/man1
+
+do-install-DOCS-on:
+ @${MKDIR} ${STAGEDIR}${DOCSDIR}
+ ${INSTALL_DATA} ${WRKSRC}/../doc/ports ${WRKSRC}/../ChangeLog \
+ ${WRKSRC}/../README ${WRKSRC}/../TODO ${STAGEDIR}${DOCSDIR}
+
+.include <bsd.port.mk>
diff --git a/ftp/bbftp-client/distinfo b/ftp/bbftp-client/distinfo
new file mode 100644
index 000000000000..d2984134ea8a
--- /dev/null
+++ b/ftp/bbftp-client/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1505814511
+SHA256 (bbftp-client-3.2.1.tar.gz) = 4000009804d90926ad3c0e770099874084fb49013e8b0770b82678462304456d
+SIZE (bbftp-client-3.2.1.tar.gz) = 245320
diff --git a/ftp/bbftp-client/files/patch-connecttoserver.c b/ftp/bbftp-client/files/patch-connecttoserver.c
new file mode 100644
index 000000000000..50bcb3000150
--- /dev/null
+++ b/ftp/bbftp-client/files/patch-connecttoserver.c
@@ -0,0 +1,55 @@
+--- connecttoserver.c.orig 2013-02-07 10:42:46 UTC
++++ connecttoserver.c
+@@ -517,6 +517,7 @@ int connectviapassword()
+ #ifdef WITH_SSL
+ RSA *hisrsa ;
+ int lenrsa ;
++ BIGNUM *n, *e;
+ #endif
+ /*
+ ** Get the socket
+@@ -629,33 +630,35 @@ int connectviapassword()
+ /*
+ ** Getting BIGNUM structures to store the key and exponent
+ */
+- if ( (hisrsa->n = BN_new()) == NULL) {
++ n = BN_new();
++ e = BN_new();
++ if (n == NULL || e == NULL) {
+ free(readbuffer) ;
+ close(tmpctrlsock) ;
+ printmessage(stderr,CASE_ERROR,56,timestamp,"Error reading encrypted message : %s (%s)\n","getting BIGNUM",(char *) ERR_error_string(ERR_get_error(),NULL)) ;
+ return -1 ;
+ }
+- if ( (hisrsa->e = BN_new()) == NULL) {
+- free(readbuffer) ;
+- close(tmpctrlsock) ;
+- printmessage(stderr,CASE_ERROR,56,timestamp,"Error reading encrypted message : %s (%s)\n","getting BIGNUM",(char *) ERR_error_string(ERR_get_error(),NULL)) ;
+- return -1 ;
+- }
+ /*
+ ** Copy the key and exponent received
+ */
+- if ( BN_mpi2bn(pubkey,lenkey,hisrsa->n) == NULL ) {
++ if ( BN_mpi2bn(pubkey,lenkey,n) == NULL ) {
+ free(readbuffer) ;
+ close(tmpctrlsock) ;
+ printmessage(stderr,CASE_ERROR,56,timestamp,"Error reading encrypted message : %s (%s)\n","copying pubkey",(char *) ERR_error_string(ERR_get_error(),NULL)) ;
+ return -1 ;
+ }
+- if ( BN_mpi2bn(pubexponent,lenexpo,hisrsa->e) == NULL ) {
++ if ( BN_mpi2bn(pubexponent,lenexpo,e) == NULL ) {
+ free(readbuffer) ;
+ close(tmpctrlsock) ;
+ printmessage(stderr,CASE_ERROR,56,timestamp,"Error reading encrypted message : %s (%s)\n","copying pubexponent",(char *) ERR_error_string(ERR_get_error(),NULL)) ;
+ return -1 ;
+ }
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
++ hisrsa->n = n;
++ hisrsa->e = e;
++#else
++ RSA_set0_key(hisrsa, n, e, NULL);
++#endif
+ lenrsa = RSA_size(hisrsa) ;
+
+ if (strlen(username) > lenrsa - 41 ) {
diff --git a/ftp/bbftp-client/files/patch-setsignals.c b/ftp/bbftp-client/files/patch-setsignals.c
new file mode 100644
index 000000000000..88bd8936b933
--- /dev/null
+++ b/ftp/bbftp-client/files/patch-setsignals.c
@@ -0,0 +1,11 @@
+--- setsignals.c.orig 2005-03-29 12:48:21 UTC
++++ setsignals.c
+@@ -134,7 +134,7 @@ void blockallsignals()
+ if ( sigaction(SIGTSTP,&sga,0) < 0 ) {
+ printmessage(stderr,CASE_FATAL_ERROR,32,timestamp,"Error setting signal SIGTSTP : %s \n",strerror(errno)) ;
+ }
+-#ifndef DARWIN
++#ifdef SIGPOLL
+ if ( sigaction(SIGPOLL,&sga,0) < 0 ) {
+ printmessage(stderr,CASE_FATAL_ERROR,32,timestamp,"Error setting signal SIGPOLL : %s \n",strerror(errno)) ;
+ }
diff --git a/ftp/bbftp-client/pkg-descr b/ftp/bbftp-client/pkg-descr
new file mode 100644
index 000000000000..5cb9589cf423
--- /dev/null
+++ b/ftp/bbftp-client/pkg-descr
@@ -0,0 +1,20 @@
+bbFTP is a file transfer software. It implements its own transfer protocol,
+which is optimized for large files (larger than 2GB) and secure as it does not
+read the password in a file and encrypts the connection information. bbFTP
+main features are:
+
+ * Encoded username and password at connection
+ * SSH and Certificate authentication modules
+ * Multi-stream transfer
+ * Big windows as defined in RFC1323
+ * On-the-fly data compression
+ * Automatic retry
+ * Customizable time-outs
+ * Transfer simulation
+ * AFS authentication integration
+ * RFIO interface
+
+bbFTP is open-source software, released under the GNU General Public License.
+It was written by Gilles Farrache at IN2P3 Computing Center in Lyon, France.
+
+WWW: http://software.in2p3.fr/bbftp/
diff --git a/ftp/bbftp-client/pkg-plist b/ftp/bbftp-client/pkg-plist
new file mode 100644
index 000000000000..2f84af8cb402
--- /dev/null
+++ b/ftp/bbftp-client/pkg-plist
@@ -0,0 +1,6 @@
+bin/bbftp
+man/man1/bbftp.1.gz
+%%PORTDOCS%%%%DOCSDIR%%/ChangeLog
+%%PORTDOCS%%%%DOCSDIR%%/README
+%%PORTDOCS%%%%DOCSDIR%%/TODO
+%%PORTDOCS%%%%DOCSDIR%%/ports