diff options
author | Werner Koch <wk@gnupg.org> | 2013-09-07 10:06:46 +0200 |
---|---|---|
committer | Werner Koch <wk@gnupg.org> | 2013-09-20 18:30:05 +0200 |
commit | 3e5cfa20acfeccb9df2c3fae2730344b40b36104 (patch) | |
tree | 7b1eb9a1d34da43b39ac44ad45104f3cdbf31f24 /cipher | |
parent | 722bfc1e5f2268453db62f38cc46b5ec6ef3adee (diff) | |
download | libgcrypt-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')
-rw-r--r-- | cipher/dsa.c | 35 | ||||
-rw-r--r-- | cipher/ecc.c | 57 | ||||
-rw-r--r-- | cipher/elgamal.c | 44 | ||||
-rw-r--r-- | cipher/rsa.c | 54 |
4 files changed, 82 insertions, 108 deletions
diff --git a/cipher/dsa.c b/cipher/dsa.c index ceff947c..394800df 100644 --- a/cipher/dsa.c +++ b/cipher/dsa.c @@ -817,10 +817,9 @@ dsa_generate (int algo, unsigned int nbits, unsigned long evalue, { /* Format the seed-values unless domain parameters are used for which a H_VALUE of NULL is an indication. */ - rc = gpg_err_code (gcry_sexp_build - (&seedinfo, NULL, - "(seed-values(counter %d)(seed %b)(h %m))", - counter, (int)seedlen, seed, h_value)); + rc = gcry_sexp_build (&seedinfo, NULL, + "(seed-values(counter %d)(seed %b)(h %m))", + counter, (int)seedlen, seed, h_value); gcry_free (seed); gcry_mpi_release (h_value); } @@ -876,8 +875,7 @@ dsa_generate (int algo, unsigned int nbits, unsigned long evalue, arg_list[i++] = factors + j; arg_list[i] = NULL; - rc = gpg_err_code (gcry_sexp_build_array - (&misc_info, NULL, format, arg_list)); + rc = gcry_sexp_build_array (&misc_info, NULL, format, arg_list); } } @@ -886,17 +884,16 @@ dsa_generate (int algo, unsigned int nbits, unsigned long evalue, } if (!rc) - rc = gcry_err_code (gcry_sexp_build - (r_skey, NULL, - "(key-data" - " (public-key" - " (dsa(p%m)(q%m)(g%m)(y%m)))" - " (private-key" - " (dsa(p%m)(q%m)(g%m)(y%m)(x%m)))" - " %S)", - sk.p, sk.q, sk.g, sk.y, - sk.p, sk.q, sk.g, sk.y, sk.x, - misc_info)); + rc = gcry_sexp_build (r_skey, NULL, + "(key-data" + " (public-key" + " (dsa(p%m)(q%m)(g%m)(y%m)))" + " (private-key" + " (dsa(p%m)(q%m)(g%m)(y%m)(x%m)))" + " %S)", + sk.p, sk.q, sk.g, sk.y, + sk.p, sk.q, sk.g, sk.y, sk.x, + misc_info); gcry_mpi_release (sk.p); @@ -976,9 +973,7 @@ dsa_sign (int algo, gcry_sexp_t *r_result, gcry_mpi_t data, gcry_mpi_t *skey, s = mpi_alloc (mpi_get_nlimbs (sk.p)); rc = sign (r, s, data, &sk, flags, hashalgo); if (!rc) - rc = gcry_err_code (gcry_sexp_build (r_result, NULL, - "(sig-val(dsa(r%M)(s%M)))", - r, s)); + rc = gcry_sexp_build (r_result, NULL, "(sig-val(dsa(r%M)(s%M)))", r, s); mpi_free (r); mpi_free (s); } diff --git a/cipher/ecc.c b/cipher/ecc.c index cf054f83..2161b649 100644 --- a/cipher/ecc.c +++ b/cipher/ecc.c @@ -1271,18 +1271,17 @@ ecc_generate (int algo, unsigned int nbits, unsigned long evalue, goto leave; } - rc = gcry_err_code (gcry_sexp_build - (r_skey, NULL, - "(key-data" - " (public-key" - " (ecc%S(p%m)(a%m)(b%m)(g%m)(n%m)(q%m)))" - " (private-key" - " (ecc%S(p%m)(a%m)(b%m)(g%m)(n%m)(q%m)(d%m)))" - " )", - curve_info, - sk.E.p, sk.E.a, sk.E.b, base, sk.E.n, public, - curve_info, - sk.E.p, sk.E.a, sk.E.b, base, sk.E.n, public, secret)); + rc = gcry_sexp_build (r_skey, NULL, + "(key-data" + " (public-key" + " (ecc%S(p%m)(a%m)(b%m)(g%m)(n%m)(q%m)))" + " (private-key" + " (ecc%S(p%m)(a%m)(b%m)(g%m)(n%m)(q%m)(d%m)))" + " )", + curve_info, + sk.E.p, sk.E.a, sk.E.b, base, sk.E.n, public, + curve_info, + sk.E.p, sk.E.a, sk.E.b, base, sk.E.n, public, secret); if (rc) goto leave; @@ -1434,17 +1433,15 @@ ecc_sign (int algo, gcry_sexp_t *r_result, gcry_mpi_t data, gcry_mpi_t *skey, { rc = sign_eddsa (data, &sk, r, s, hashalgo, skey[5]); if (!rc) - rc = gcry_err_code (gcry_sexp_build - (r_result, NULL, - "(sig-val(eddsa(r%M)(s%M)))", r, s)); + rc = gcry_sexp_build (r_result, NULL, + "(sig-val(eddsa(r%M)(s%M)))", r, s); } else { rc = sign_ecdsa (data, &sk, r, s, flags, hashalgo); if (!rc) - rc = gcry_err_code (gcry_sexp_build - (r_result, NULL, - "(sig-val(ecdsa(r%M)(s%M)))", r, s)); + rc = gcry_sexp_build (r_result, NULL, + "(sig-val(ecdsa(r%M)(s%M)))", r, s); } gcry_mpi_release (sk.d); sk.d = NULL; @@ -1644,9 +1641,7 @@ ecc_encrypt_raw (int algo, gcry_sexp_t *r_result, gcry_mpi_t k, point_free (&pk.E.G); point_free (&pk.Q); - rc = gcry_err_code (gcry_sexp_build (r_result, NULL, - "(enc-val(ecdh(s%m)(e%m)))", - s, e)); + rc = gcry_sexp_build (r_result, NULL, "(enc-val(ecdh(s%m)(e%m)))", s, e); mpi_free (s); mpi_free (e); @@ -1752,7 +1747,7 @@ ecc_decrypt_raw (int algo, gcry_sexp_t *r_plain, gcry_mpi_t *data, point_free (&sk.Q); if (!rc) - rc = gcry_err_code (gcry_sexp_build (r_plain, NULL, "(value %m)", r)); + rc = gcry_sexp_build (r_plain, NULL, "(value %m)", r); mpi_free (r); return rc; } @@ -1924,20 +1919,18 @@ _gcry_pk_ecc_get_sexp (gcry_sexp_t *r_sexp, int mode, mpi_ec_t ec) if (ec->d && (!mode || mode == GCRY_PK_GET_SECKEY)) { /* Let's return a private key. */ - rc = gpg_err_code - (gcry_sexp_build - (r_sexp, NULL, - "(private-key(ecc(p%m)(a%m)(b%m)(g%m)(n%m)(q%m)(d%m)))", - ec->p, ec->a, ec->b, mpi_G, ec->n, mpi_Q, ec->d)); + rc = gcry_sexp_build + (r_sexp, NULL, + "(private-key(ecc(p%m)(a%m)(b%m)(g%m)(n%m)(q%m)(d%m)))", + ec->p, ec->a, ec->b, mpi_G, ec->n, mpi_Q, ec->d); } else if (ec->Q) { /* Let's return a public key. */ - rc = gpg_err_code - (gcry_sexp_build - (r_sexp, NULL, - "(public-key(ecc(p%m)(a%m)(b%m)(g%m)(n%m)(q%m)))", - ec->p, ec->a, ec->b, mpi_G, ec->n, mpi_Q)); + rc = gcry_sexp_build + (r_sexp, NULL, + "(public-key(ecc(p%m)(a%m)(b%m)(g%m)(n%m)(q%m)))", + ec->p, ec->a, ec->b, mpi_G, ec->n, mpi_Q); } else rc = GPG_ERR_BAD_CRYPT_CTX; diff --git a/cipher/elgamal.c b/cipher/elgamal.c index ecbac756..c63059d8 100644 --- a/cipher/elgamal.c +++ b/cipher/elgamal.c @@ -692,17 +692,16 @@ elg_generate (int algo, unsigned int nbits, unsigned long evalue, goto leave; } - rc = gcry_err_code (gcry_sexp_build - (r_skey, NULL, - "(key-data" - " (public-key" - " (elg(p%m)(g%m)(y%m)))" - " (private-key" + rc = gcry_sexp_build (r_skey, NULL, + "(key-data" + " (public-key" + " (elg(p%m)(g%m)(y%m)))" + " (private-key" " (elg(p%m)(g%m)(y%m)(x%m)))" - " %S)", - sk.p, sk.g, sk.y, - sk.p, sk.g, sk.y, sk.x, - misc_info)); + " %S)", + sk.p, sk.g, sk.y, + sk.p, sk.g, sk.y, sk.x, + misc_info); leave: mpi_free (sk.p); @@ -768,9 +767,7 @@ elg_encrypt (int algo, gcry_sexp_t *r_result, a = mpi_alloc (mpi_get_nlimbs (pk.p)); b = mpi_alloc (mpi_get_nlimbs (pk.p)); do_encrypt (a, b, data, &pk); - rc = gcry_err_code (gcry_sexp_build (r_result, NULL, - "(enc-val(elg(a%m)(b%m)))", - a, b)); + rc = gcry_sexp_build (r_result, NULL, "(enc-val(elg(a%m)(b%m)))", a, b); mpi_free (a); mpi_free (b); } @@ -817,8 +814,8 @@ elg_decrypt (int algo, gcry_sexp_t *r_plain, 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: @@ -827,18 +824,17 @@ elg_decrypt (int algo, gcry_sexp_t *r_plain, 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; } @@ -876,9 +872,7 @@ elg_sign (int algo, gcry_sexp_t *r_result, gcry_mpi_t data, gcry_mpi_t *skey, r = mpi_alloc (mpi_get_nlimbs (sk.p)); s = mpi_alloc (mpi_get_nlimbs (sk.p)); sign (r, s, data, &sk); - rc = gcry_err_code (gcry_sexp_build (r_result, NULL, - "(sig-val(elg(r%M)(s%M)))", - r, s)); + rc = gcry_sexp_build (r_result, NULL, "(sig-val(elg(r%M)(s%M)))", r, s); mpi_free (r); mpi_free (s); } 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; |