diff options
author | Nikos Mavrogiannopoulos <nmav@gnutls.org> | 2011-12-31 00:39:08 +0200 |
---|---|---|
committer | Nikos Mavrogiannopoulos <nmav@gnutls.org> | 2011-12-31 00:39:08 +0200 |
commit | da774307b84256aaf9c7c16b286baadd9c67dd55 (patch) | |
tree | 6a3d13b8c7726cd8a26c54d414a8fdd74e3ffb03 /lib/openpgp/pgp.c | |
parent | 394189a3bddb59f32c27bab388786b035591758d (diff) | |
download | gnutls-da774307b84256aaf9c7c16b286baadd9c67dd55.tar.gz |
more opencdk simplifications
Diffstat (limited to 'lib/openpgp/pgp.c')
-rw-r--r-- | lib/openpgp/pgp.c | 45 |
1 files changed, 10 insertions, 35 deletions
diff --git a/lib/openpgp/pgp.c b/lib/openpgp/pgp.c index e01264448a..c74dc8d3f5 100644 --- a/lib/openpgp/pgp.c +++ b/lib/openpgp/pgp.c @@ -1,6 +1,5 @@ /* - * Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 - * Free Software Foundation, Inc. + * Copyright (C) 2002-2011 Free Software Foundation, Inc. * * Author: Timo Schulz, Nikos Mavrogiannopoulos * @@ -89,9 +88,8 @@ gnutls_openpgp_crt_import (gnutls_openpgp_crt_t key, const gnutls_datum_t * data, gnutls_openpgp_crt_fmt_t format) { - cdk_stream_t inp; cdk_packet_t pkt; - int rc; + int rc, armor; if (data->data == NULL || data->size == 0) { @@ -99,38 +97,15 @@ gnutls_openpgp_crt_import (gnutls_openpgp_crt_t key, return GNUTLS_E_OPENPGP_GETKEY_FAILED; } - if (format == GNUTLS_OPENPGP_FMT_RAW) - { - rc = cdk_kbnode_read_from_mem (&key->knode, data->data, data->size); - if (rc) - { - rc = _gnutls_map_cdk_rc (rc); - gnutls_assert (); - return rc; - } - } - else + if (format == GNUTLS_OPENPGP_FMT_RAW) armor = 0; + else armor = 1; + + rc = cdk_kbnode_read_from_mem (&key->knode, armor, data->data, data->size); + if (rc) { - rc = cdk_stream_tmp_from_mem (data->data, data->size, &inp); - if (rc) - { - rc = _gnutls_map_cdk_rc (rc); - gnutls_assert (); - return rc; - } - rc = cdk_stream_set_armor_flag (inp, 0); - if (!rc) - rc = cdk_keydb_get_keyblock (inp, &key->knode); - cdk_stream_close (inp); - if (rc) - { - if (rc == CDK_Inv_Packet) - rc = GNUTLS_E_OPENPGP_GETKEY_FAILED; - else - rc = _gnutls_map_cdk_rc (rc); - gnutls_assert (); - return rc; - } + rc = _gnutls_map_cdk_rc (rc); + gnutls_assert (); + return rc; } /* Test if the import was successful. */ |