summaryrefslogtreecommitdiff
path: root/gcr/gcr-gnupg-util.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcr/gcr-gnupg-util.c')
-rw-r--r--gcr/gcr-gnupg-util.c87
1 files changed, 0 insertions, 87 deletions
diff --git a/gcr/gcr-gnupg-util.c b/gcr/gcr-gnupg-util.c
deleted file mode 100644
index b85836b5..00000000
--- a/gcr/gcr-gnupg-util.c
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * Copyright (C) 2011 Collabora Ltd.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- *
- * Author: Stef Walter <stefw@collabora.co.uk>
- */
-
-#include "config.h"
-
-#include "egg/egg-hex.h"
-
-#include "gcr-gnupg-util.h"
-
-#include <gcrypt.h>
-
-/**
- * _gcr_gnupg_build_xa1_record:
- * @meta: Status metadata record about the attribute data.
- * @attribute: Pointer to attribute data.
- * @n_attribute: Length of attribute data.
- *
- * Build a record for attribute data. We use this records to convert attribute
- * data into something we can keep with an array of GcrRecord.
- *
- * Returns: (transfer full): The newly allocated record.
- */
-GcrRecord*
-_gcr_gnupg_build_xa1_record (GcrRecord *meta, gpointer attribute,
- gsize n_attribute)
-{
- gchar hash[20];
- gchar *hex;
- gchar status = 0;
- GcrRecord *record;
- guint flags, type;
- const gchar *created, *expiry;
-
- g_return_val_if_fail (meta, NULL);
-
- record = _gcr_record_new (GCR_RECORD_SCHEMA_XA1, GCR_RECORD_XA1_MAX, ':');
-
- gcry_md_hash_buffer (GCRY_MD_RMD160, hash, attribute, n_attribute);
- hex = egg_hex_encode_full (hash, sizeof (hash), TRUE, 0, 1);
- _gcr_record_take_raw (record, GCR_RECORD_XA1_FINGERPRINT, hex);
-
- if (!_gcr_record_get_uint (meta, GCR_RECORD_ATTRIBUTE_FLAGS, &flags))
- flags = 0;
-
- if (_gcr_record_get_uint (meta, GCR_RECORD_ATTRIBUTE_TYPE, &type))
- _gcr_record_set_uint (record, GCR_RECORD_XA1_TYPE, type);
-
- created = _gcr_record_get_raw (meta, GCR_RECORD_ATTRIBUTE_TIMESTAMP);
- if (created == NULL)
- _gcr_record_set_raw (record, GCR_RECORD_XA1_TIMESTAMP, created);
-
- expiry = _gcr_record_get_raw (meta, GCR_RECORD_ATTRIBUTE_EXPIRY);
- if (expiry != NULL)
- _gcr_record_set_raw (record, GCR_RECORD_XA1_EXPIRY, expiry);
-
- /* These values are from gnupg doc/DETAILS */
- if (flags & 0x02)
- status = 'r';
- else if (flags & 0x04)
- status = 'e';
- else if (flags & 0x01)
- status = 'P';
- if (status != 0)
- _gcr_record_set_char (record, GCR_RECORD_XA1_TRUST, status);
-
- _gcr_record_set_base64 (record, GCR_RECORD_XA1_DATA, attribute, n_attribute);
-
- return record;
-}