summaryrefslogtreecommitdiff
path: root/cipher/rsa.c
diff options
context:
space:
mode:
authorWerner Koch <wk@gnupg.org>2013-09-07 10:06:46 +0200
committerWerner Koch <wk@gnupg.org>2013-09-20 18:30:05 +0200
commit3e5cfa20acfeccb9df2c3fae2730344b40b36104 (patch)
tree7b1eb9a1d34da43b39ac44ad45104f3cdbf31f24 /cipher/rsa.c
parent722bfc1e5f2268453db62f38cc46b5ec6ef3adee (diff)
downloadlibgcrypt-3e5cfa20acfeccb9df2c3fae2730344b40b36104.tar.gz
sexp: Change internal versions to always use gpg_err_code_t.
* src/sexp.c (gcry_sexp_new, gcry_sexp_create, gcry_sexp_build) (gcry_sexp_build_array, gcry_sexp_canon_len): Change error return type from gpg_error_t to gpg_err_code_t. Remove all calls to gpg_error. * src/visibility.c (gcry_sexp_new, gcry_sexp_create, gcry_sexp_sscan) (gcry_sexp_build, gcry_sexp_build_array, gcry_sexp_canon_len): Map error codes via gpg_error. * cipher/dsa.c, cipher/ecc.c, cipher/elgamal.c, cipher/rsa.c: Remove use gpg_err_code wrappers. -- We should do such a change for all other use of internal functions. It just does not make sense to use gpg_error in the internal interface because the error source is always Libgcrypt. Signed-off-by: Werner Koch <wk@gnupg.org>
Diffstat (limited to 'cipher/rsa.c')
-rw-r--r--cipher/rsa.c54
1 files changed, 23 insertions, 31 deletions
diff --git a/cipher/rsa.c b/cipher/rsa.c
index 71052711..53b9d895 100644
--- a/cipher/rsa.c
+++ b/cipher/rsa.c
@@ -794,17 +794,16 @@ rsa_generate (int algo, unsigned int nbits, unsigned long evalue,
if (!ec)
{
- ec = gcry_err_code (gcry_sexp_build
- (r_skey, NULL,
- "(key-data"
- " (public-key"
- " (rsa(n%m)(e%m)))"
- " (private-key"
- " (rsa(n%m)(e%m)(d%m)(p%m)(q%m)(u%m)))"
- " %S)",
- sk.n, sk.e,
- sk.n, sk.e, sk.d, sk.p, sk.q, sk.u,
- swap_info));
+ ec = gcry_sexp_build (r_skey, NULL,
+ "(key-data"
+ " (public-key"
+ " (rsa(n%m)(e%m)))"
+ " (private-key"
+ " (rsa(n%m)(e%m)(d%m)(p%m)(q%m)(u%m)))"
+ " %S)",
+ sk.n, sk.e,
+ sk.n, sk.e, sk.d, sk.p, sk.q, sk.u,
+ swap_info);
}
mpi_free (sk.n);
@@ -869,16 +868,13 @@ rsa_encrypt (int algo, gcry_sexp_t *r_result, gcry_mpi_t data,
rc = _gcry_mpi_to_octet_string (&em, NULL, result, emlen);
if (!rc)
{
- rc = gcry_err_code (gcry_sexp_build (r_result, NULL,
- "(enc-val(rsa(a%b)))",
- (int)emlen, em));
+ rc = gcry_sexp_build (r_result, NULL,
+ "(enc-val(rsa(a%b)))", (int)emlen, em);
gcry_free (em);
}
}
else
- rc = gcry_err_code (gcry_sexp_build (r_result, NULL,
- "(enc-val(rsa(a%m)))",
- result));
+ rc = gcry_sexp_build (r_result, NULL, "(enc-val(rsa(a%m)))", result);
mpi_free (result);
return rc;
@@ -969,8 +965,8 @@ rsa_decrypt (int algo, gcry_sexp_t *r_plain, gcry_mpi_t *data,
mpi_free (plain);
plain = NULL;
if (!rc)
- rc = gcry_err_code (gcry_sexp_build (r_plain, NULL, "(value %b)",
- (int)unpadlen, unpad));
+ rc = gcry_sexp_build (r_plain, NULL,
+ "(value %b)", (int)unpadlen, unpad);
break;
case PUBKEY_ENC_OAEP:
@@ -979,17 +975,16 @@ rsa_decrypt (int algo, gcry_sexp_t *r_plain, gcry_mpi_t *data,
mpi_free (plain);
plain = NULL;
if (!rc)
- rc = gcry_err_code (gcry_sexp_build (r_plain, NULL, "(value %b)",
- (int)unpadlen, unpad));
+ rc = gcry_sexp_build (r_plain, NULL,
+ "(value %b)", (int)unpadlen, unpad);
break;
default:
/* Raw format. For backward compatibility we need to assume a
signed mpi by using the sexp format string "%m". */
- rc = gcry_err_code
- (gcry_sexp_build (r_plain, NULL,
- (flags & PUBKEY_FLAG_LEGACYRESULT)? "%m":"(value %m)",
- plain));
+ rc = gcry_sexp_build (r_plain, NULL,
+ (flags & PUBKEY_FLAG_LEGACYRESULT)
+ ? "%m":"(value %m)", plain);
break;
}
@@ -1033,16 +1028,13 @@ rsa_sign (int algo, gcry_sexp_t *r_result, gcry_mpi_t data, gcry_mpi_t *skey,
rc = _gcry_mpi_to_octet_string (&em, NULL, result, emlen);
if (!rc)
{
- rc = gcry_err_code (gcry_sexp_build (r_result, NULL,
- "(sig-val(rsa(s%b)))",
- (int)emlen, em));
+ rc = gcry_sexp_build (r_result, NULL,
+ "(sig-val(rsa(s%b)))", (int)emlen, em);
gcry_free (em);
}
}
else
- rc = gcry_err_code (gcry_sexp_build (r_result, NULL,
- "(sig-val(rsa(s%M)))",
- result));
+ rc = gcry_sexp_build (r_result, NULL, "(sig-val(rsa(s%M)))", result);
mpi_free (result);
return rc;