diff options
author | Nikos Mavrogiannopoulos <nmav@gnutls.org> | 2003-09-17 20:56:40 +0000 |
---|---|---|
committer | Nikos Mavrogiannopoulos <nmav@gnutls.org> | 2003-09-17 20:56:40 +0000 |
commit | 54915e7101f73d67550c9e55f7751d172ff9755e (patch) | |
tree | 26642e0b805bd7fa194b758e78bb99edbc8fcec9 | |
parent | 753a8509891d8828de03fa643aa57ea664ac4562 (diff) | |
download | gnutls-54915e7101f73d67550c9e55f7751d172ff9755e.tar.gz |
some cleanups.
-rw-r--r-- | lib/gnutls_errors.c | 2 | ||||
-rw-r--r-- | lib/gnutls_pk.c | 52 | ||||
-rw-r--r-- | lib/x509/rfc2818_hostname.c | 1 |
3 files changed, 21 insertions, 34 deletions
diff --git a/lib/gnutls_errors.c b/lib/gnutls_errors.c index 3f8cda426e..02e5e82fac 100644 --- a/lib/gnutls_errors.c +++ b/lib/gnutls_errors.c @@ -78,7 +78,7 @@ static gnutls_error_entry error_algorithms[] = { ERROR_ENTRY("Compression of the TLS record packet has failed.", GNUTLS_E_COMPRESSION_FAILED, 1 ), ERROR_ENTRY("Internal error in memory allocation.", GNUTLS_E_MEMORY_ERROR, 1 ), - ERROR_ENTRY("An unimplemented feature has been requested.", GNUTLS_E_UNIMPLEMENTED_FEATURE, 1 ), + ERROR_ENTRY("An unimplemented or disabled feature has been requested.", GNUTLS_E_UNIMPLEMENTED_FEATURE, 1 ), ERROR_ENTRY("Insufficient credentials for that request.", GNUTLS_E_INSUFFICIENT_CREDENTIALS, 1 ), ERROR_ENTRY("Error in SRP password file.", GNUTLS_E_SRP_PWD_ERROR, 1 ), ERROR_ENTRY("Wrong padding in PKCS1 packet.", GNUTLS_E_PKCS1_WRONG_PAD, 1 ), diff --git a/lib/gnutls_pk.c b/lib/gnutls_pk.c index 84554ac522..3267493e92 100644 --- a/lib/gnutls_pk.c +++ b/lib/gnutls_pk.c @@ -64,7 +64,7 @@ int _gnutls_pkcs1_rsa_encrypt(gnutls_datum * ciphertext, return GNUTLS_E_PK_ENCRYPTION_FAILED; } - edata = gnutls_malloc(k); + edata = gnutls_alloca(k); if (edata == NULL) { gnutls_assert(); return GNUTLS_E_MEMORY_ERROR; @@ -84,13 +84,13 @@ int _gnutls_pkcs1_rsa_encrypt(gnutls_datum * ciphertext, /* using public key */ if (params_len < RSA_PUBLIC_PARAMS) { gnutls_assert(); - gnutls_free(edata); + gnutls_afree(edata); return GNUTLS_E_INTERNAL_ERROR; } if ( (ret=_gnutls_get_random(ps, psize, GNUTLS_STRONG_RANDOM)) < 0) { gnutls_assert(); - gnutls_free(edata); + gnutls_afree(edata); return ret; } for (i = 0; i < psize; i++) { @@ -101,7 +101,7 @@ int _gnutls_pkcs1_rsa_encrypt(gnutls_datum * ciphertext, */ if ( (ret=_gnutls_get_random( rnd, 3, GNUTLS_STRONG_RANDOM)) < 0) { gnutls_assert(); - gnutls_free(edata); + gnutls_afree(edata); return ret; } /* use non zero values for @@ -126,7 +126,7 @@ int _gnutls_pkcs1_rsa_encrypt(gnutls_datum * ciphertext, if (params_len < RSA_PRIVATE_PARAMS) { gnutls_assert(); - gnutls_free(edata); + gnutls_afree(edata); return GNUTLS_E_INTERNAL_ERROR; } @@ -135,7 +135,7 @@ int _gnutls_pkcs1_rsa_encrypt(gnutls_datum * ciphertext, break; default: gnutls_assert(); - gnutls_free(edata); + gnutls_afree(edata); return GNUTLS_E_INTERNAL_ERROR; } @@ -144,10 +144,10 @@ int _gnutls_pkcs1_rsa_encrypt(gnutls_datum * ciphertext, if (_gnutls_mpi_scan(&m, edata, &k) != 0) { gnutls_assert(); - gnutls_free(edata); + gnutls_afree(edata); return GNUTLS_E_MPI_SCAN_FAILED; } - gnutls_free(edata); + gnutls_afree(edata); if (btype==2) /* encrypt */ ret = _gnutls_pk_encrypt(GCRY_PK_RSA, &res, m, params, params_len); @@ -239,7 +239,7 @@ int _gnutls_pkcs1_rsa_decrypt(gnutls_datum * plaintext, } _gnutls_mpi_print(NULL, &esize, res); - edata = gnutls_malloc(esize + 1); + edata = gnutls_alloca(esize + 1); if (edata == NULL) { gnutls_assert(); _gnutls_mpi_release(&res); @@ -259,7 +259,7 @@ int _gnutls_pkcs1_rsa_decrypt(gnutls_datum * plaintext, if (edata[0] != 0 || edata[1] != btype) { gnutls_assert(); - gnutls_free(edata); + gnutls_afree(edata); return GNUTLS_E_DECRYPTION_FAILED; } @@ -287,24 +287,24 @@ int _gnutls_pkcs1_rsa_decrypt(gnutls_datum * plaintext, break; default: gnutls_assert(); - gnutls_free(edata); + gnutls_afree(edata); return GNUTLS_E_INTERNAL_ERROR; } i++; if (ret < 0) { gnutls_assert(); - gnutls_free(edata); + gnutls_afree(edata); return GNUTLS_E_DECRYPTION_FAILED; } if (_gnutls_sset_datum(plaintext, &edata[i], esize - i) < 0) { gnutls_assert(); - gnutls_free(edata); + gnutls_afree(edata); return GNUTLS_E_MEMORY_ERROR; } - gnutls_free(edata); + gnutls_afree(edata); return 0; } @@ -366,30 +366,16 @@ int result, tot_len; } tot_len = 0; - result = asn1_der_coding( sig, "", NULL, &tot_len, NULL); - if (result != ASN1_MEM_ERROR) { - gnutls_assert(); - asn1_delete_structure(&sig); - return _gnutls_asn2err(result); - } + + result = _gnutls_x509_der_encode( sig, "", sig_value, 0); - sig_value->size = tot_len; - sig_value->data = gnutls_malloc( sig_value->size); - if (sig_value->data==NULL) { - gnutls_assert(); - asn1_delete_structure(&sig); - return GNUTLS_E_MEMORY_ERROR; - } + asn1_delete_structure(&sig); - result = asn1_der_coding( sig, "", sig_value->data, &sig_value->size, NULL); - if (result != ASN1_SUCCESS) { + if (result < 0) { gnutls_assert(); - asn1_delete_structure(&sig); - return _gnutls_asn2err(result); + return result; } - asn1_delete_structure(&sig); - return 0; } diff --git a/lib/x509/rfc2818_hostname.c b/lib/x509/rfc2818_hostname.c index e538684adc..6a903b0173 100644 --- a/lib/x509/rfc2818_hostname.c +++ b/lib/x509/rfc2818_hostname.c @@ -211,3 +211,4 @@ int gnutls_x509_crt_check_hostname(gnutls_x509_crt cert, */ return 0; } + |