Index: head/ftp/bbftp-server/Makefile =================================================================== --- head/ftp/bbftp-server/Makefile (revision 563541) +++ head/ftp/bbftp-server/Makefile (revision 563542) @@ -1,38 +1,40 @@ # Created by: Petr Holub # $FreeBSD$ PORTNAME= bbftp-server 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 (server) LICENSE= GPLv2+ USES= gmake ssl GNU_CONFIGURE= yes CONFIGURE_ARGS= --with-ssl=${OPENSSLBASE} WRKSRC_SUBDIR= bbftpd USE_RC_SUBR= bbftpd OPTIONS_DEFINE= DOCS post-patch: @${REINPLACE_CMD} -e '/^#include/s,malloc,stdlib,' \ ${WRKSRC}/bbftpd_cd.c ${WRKSRC}/bbftpd_statfs.c + @${REINPLACE_CMD} -e '/with_ssl\/lib\/libcrypto/s,\.a,.so,' \ + ${WRKSRC}/${CONFIGURE_SCRIPT} do-install: ${INSTALL_PROGRAM} ${WRKSRC}/bbftpd ${STAGEDIR}${PREFIX}/bin ${INSTALL_MAN} ${WRKSRC}/../doc/bbftpd.1 \ ${STAGEDIR}${MANPREFIX}/man/man1 do-install-DOCS-on: @${MKDIR} ${STAGEDIR}${DOCSDIR} ${INSTALL_DATA} ${WRKSRC}/../doc/ports ${WRKSRC}/../doc/stats \ ${WRKSRC}/../ChangeLog ${WRKSRC}/../README \ ${WRKSRC}/../TODO ${STAGEDIR}${DOCSDIR} .include Index: head/ftp/bbftp-server/files/patch-bbftpd.c =================================================================== --- head/ftp/bbftp-server/files/patch-bbftpd.c (revision 563541) +++ head/ftp/bbftp-server/files/patch-bbftpd.c (revision 563542) @@ -1,15 +1,10 @@ --- bbftpd.c.orig 2005-05-03 08:43:34 UTC +++ bbftpd.c -@@ -842,10 +842,12 @@ main (argc,argv,envp) - char buffrand[NBITSINKEY] ; - struct timeval tp ; - unsigned int seed ; -+#if OPENSSL_VERSION_NUMBER < 0x10100000L - /* - ** Load the error message from the crypto lib - */ - ERR_load_crypto_strings() ; -+#endif - /* - ** Initialize the buffrand buffer which is giong to be used to initialize the - ** random generator +@@ -104,6 +104,7 @@ + #include + #endif + ++#include + #include + + #ifdef WITH_GZIP Index: head/ftp/bbftp-server/files/patch-bbftpd__crypt.c =================================================================== --- head/ftp/bbftp-server/files/patch-bbftpd__crypt.c (revision 563541) +++ head/ftp/bbftp-server/files/patch-bbftpd__crypt.c (revision 563542) @@ -1,16 +1,29 @@ --- bbftpd_crypt.c.orig 2004-06-30 17:38:50 UTC +++ bbftpd_crypt.c -@@ -84,8 +84,13 @@ void sendcrypt() +@@ -73,19 +73,25 @@ void sendcrypt() + unsigned char pubexponent[NBITSINKEY] ; + int lenkey ; + int lenexpo ; ++ BIGNUM *e = BN_new(); + + /* + ** Ask for the private and public Key + */ +- if ( (myrsa = RSA_generate_key(NBITSINKEY,3,NULL,NULL)) == NULL) { ++ if (e == NULL || (BN_set_word(e,3) && RSA_generate_key_ex(myrsa,NBITSINKEY,e,NULL)) == 0) { + syslog(BBFTPD_ERR,"%s",ERR_error_string(ERR_get_error(),NULL) ) ; + exit(1) ; + } /* ** Now extract the public key in order to send it */ +#if OPENSSL_VERSION_NUMBER < 0x10100000L lenkey = BN_bn2mpi(myrsa->n,pubkey) ; lenexpo = BN_bn2mpi(myrsa->e,pubexponent) ; +#else + lenkey = BN_bn2mpi(RSA_get0_n(myrsa),pubkey) ; + lenexpo = BN_bn2mpi(RSA_get0_e(myrsa),pubexponent) ; +#endif mess = (struct message *) buf ; mess->code = MSG_CRYPT ; #ifndef WORDS_BIGENDIAN