summaryrefslogtreecommitdiff
path: root/cipher
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
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')
-rw-r--r--cipher/dsa.c35
-rw-r--r--cipher/ecc.c57
-rw-r--r--cipher/elgamal.c44
-rw-r--r--cipher/rsa.c54
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;