diff options
author | Alexey Dokuchaev <danfe@FreeBSD.org> | 2021-01-30 09:01:08 +0000 |
---|---|---|
committer | Alexey Dokuchaev <danfe@FreeBSD.org> | 2021-01-30 09:01:08 +0000 |
commit | 06105161ebb5e89dbb235b66493f0694a35302a0 (patch) | |
tree | 58f85ef1cd37e9998ba507a46fe0373a4cca98f5 /ftp/bbftp-client | |
parent | 074461fc440c5431c3f2542f874adec122d9f6fa (diff) | |
download | ports-06105161ebb5e89dbb235b66493f0694a35302a0.tar.gz ports-06105161ebb5e89dbb235b66493f0694a35302a0.zip |
Notes
Diffstat (limited to 'ftp/bbftp-client')
-rw-r--r-- | ftp/bbftp-client/Makefile | 36 | ||||
-rw-r--r-- | ftp/bbftp-client/distinfo | 3 | ||||
-rw-r--r-- | ftp/bbftp-client/files/patch-connecttoserver.c | 55 | ||||
-rw-r--r-- | ftp/bbftp-client/files/patch-setsignals.c | 11 | ||||
-rw-r--r-- | ftp/bbftp-client/pkg-descr | 20 | ||||
-rw-r--r-- | ftp/bbftp-client/pkg-plist | 6 |
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 |