mirror of
https://git.freebsd.org/ports.git
synced 2025-06-23 05:30:31 -04:00
function by #includ'ing <openssl/err.h> header which already takes the proper care of it - Move away from using another deprecated RSA_generate_key() function - Apply the same hack as for the client port so it dynamically links against libcrypto.so, rather than statically against libcrypto.a
29 lines
990 B
C
29 lines
990 B
C
--- bbftpd_crypt.c.orig 2004-06-30 17:38:50 UTC
|
|
+++ bbftpd_crypt.c
|
|
@@ -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
|