@@ -320,7 +320,7 @@ static int myrand(void *rng_state, unsigned char *output, size_t len)
320
320
// rsa: native [
321
321
// "Encrypt/decrypt/sign/verify data using RSA cryptosystem. Only one refinement must be used!"
322
322
// rsa-key [handle!] "RSA context created using `rsa-init` function"
323
- // data [binary! none! ] "Data to work with. Use NONE to release the RSA handle resources! "
323
+ // data [binary!] "Data to work with."
324
324
// /encrypt "Use public key to encrypt data"
325
325
// /decrypt "Use private key to decrypt data"
326
326
// /sign "Use private key to sign data. Result is PKCS1 v1.5 binary"
@@ -369,12 +369,6 @@ static int myrand(void *rng_state, unsigned char *output, size_t len)
369
369
370
370
rsa = (RSA_CTX * )VAL_HANDLE_CONTEXT_DATA (key );
371
371
372
- if (IS_NONE (val_data )) {
373
- // release RSA key resources
374
- Free_Hob (VAL_HANDLE_CTX (key ));
375
- return R_TRUE ;
376
- }
377
-
378
372
if (
379
373
(mbedtls_rsa_check_pubkey (rsa ) != 0 ) ||
380
374
((refDecrypt || refSign ) && (mbedtls_rsa_check_privkey (rsa ) != 0 ))
@@ -510,18 +504,16 @@ static int myrand(void *rng_state, unsigned char *output, size_t len)
510
504
// dh: native [
511
505
// "Diffie-Hellman key exchange"
512
506
// dh-key [handle!] "DH key created using `dh-init` function"
513
- // /release "Releases internal DH key resources"
514
507
// /public "Returns public key as a binary"
515
508
// /secret "Computes secret result using peer's public key"
516
509
// public-key [binary!] "Peer's public key"
517
510
// ]
518
511
***********************************************************************/
519
512
{
520
513
REBVAL * key = D_ARG (1 );
521
- REBOOL refRelease = D_REF (2 );
522
- REBOOL refPublic = D_REF (3 );
523
- REBOOL refSecret = D_REF (4 );
524
- REBVAL * gy = D_ARG (5 );
514
+ REBOOL refPublic = D_REF (2 );
515
+ REBOOL refSecret = D_REF (3 );
516
+ REBVAL * gy = D_ARG (4 );
525
517
526
518
REBSER * out = NULL ;
527
519
REBINT err ;
@@ -556,10 +548,6 @@ static int myrand(void *rng_state, unsigned char *output, size_t len)
556
548
if (err ) goto error ;
557
549
BIN_LEN (out ) = olen ;
558
550
}
559
- if (refRelease ) {
560
- Free_Hob (VAL_HANDLE_CTX (key ));
561
- if (!out ) return R_TRUE ;
562
- }
563
551
SET_BINARY (D_RET , out );
564
552
return R_RET ;
565
553
error :
@@ -582,7 +570,6 @@ static int myrand(void *rng_state, unsigned char *output, size_t len)
582
570
// /public "Returns public key as a binary"
583
571
// /secret "Computes secret result using peer's public key"
584
572
// public-key [binary!] "Peer's public key"
585
- // /release "Releases internal ECDH key resources"
586
573
// ]
587
574
***********************************************************************/
588
575
{
@@ -593,7 +580,6 @@ static int myrand(void *rng_state, unsigned char *output, size_t len)
593
580
REBOOL ref_public = D_REF (5 );
594
581
REBOOL ref_secret = D_REF (6 );
595
582
REBVAL * val_public = D_ARG (7 );
596
- REBOOL ref_release = D_REF (8 );
597
583
598
584
599
585
ECDH_CTX * ctx ;
@@ -605,7 +591,7 @@ static int myrand(void *rng_state, unsigned char *output, size_t len)
605
591
606
592
// make sure that only valid combination of refinements is used!
607
593
if (
608
- (ref_type && (ref_public || ref_secret || ref_release )) ||
594
+ (ref_type && (ref_public || ref_secret )) ||
609
595
(ref_public && (ref_type || ref_secret )) ||
610
596
(ref_secret && (ref_public || ref_type ))
611
597
) {
@@ -677,10 +663,6 @@ static int myrand(void *rng_state, unsigned char *output, size_t len)
677
663
SET_BINARY (D_RET , bin );
678
664
BIN_LEN (bin ) = olen ;
679
665
}
680
- if (ref_release ) {
681
- Free_Hob (VAL_HANDLE_CTX (val_handle ));
682
- if (bin == NULL ) return R_TRUE ;
683
- }
684
666
return R_RET ;
685
667
686
668
error :
0 commit comments