summaryrefslogtreecommitdiff
path: root/lib/openpgp/pgp.c
diff options
context:
space:
mode:
authorNikos Mavrogiannopoulos <nmav@gnutls.org>2011-12-31 00:39:08 +0200
committerNikos Mavrogiannopoulos <nmav@gnutls.org>2011-12-31 00:39:08 +0200
commitda774307b84256aaf9c7c16b286baadd9c67dd55 (patch)
tree6a3d13b8c7726cd8a26c54d414a8fdd74e3ffb03 /lib/openpgp/pgp.c
parent394189a3bddb59f32c27bab388786b035591758d (diff)
downloadgnutls-da774307b84256aaf9c7c16b286baadd9c67dd55.tar.gz
more opencdk simplifications
Diffstat (limited to 'lib/openpgp/pgp.c')
-rw-r--r--lib/openpgp/pgp.c45
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. */