Imported Upstream version 2.3.8
[platform/upstream/gpg2.git] / kbx / keybox-defs.h
index be2dd72..51ba8cd 100644 (file)
 #ifndef KEYBOX_DEFS_H
 #define KEYBOX_DEFS_H 1
 
-#ifdef GPG_ERR_SOURCE_DEFAULT
-# if GPG_ERR_SOURCE_DEFAULT != GPG_ERR_SOURCE_KEYBOX
-#  error GPG_ERR_SOURCE_DEFAULT already defined
-# endif
-#else
-# define GPG_ERR_SOURCE_DEFAULT  GPG_ERR_SOURCE_KEYBOX
+#ifndef GPG_ERR_SOURCE_DEFAULT
+#define GPG_ERR_SOURCE_DEFAULT  GPG_ERR_SOURCE_KEYBOX
 #endif
 #include <gpg-error.h>
 #define map_assuan_err(a) \
@@ -80,7 +76,7 @@ struct keybox_found_s
 struct keybox_handle {
   KB_NAME kb;
   int secret;             /* this is for a secret keybox */
-  FILE *fp;
+  estream_t fp;
   int eof;
   int error;
   int ephemeral;
@@ -94,14 +90,16 @@ struct keybox_handle {
 };
 
 
-/* Openpgp helper structures. */
+/* OpenPGP helper structures.  */
 struct _keybox_openpgp_key_info
 {
   struct _keybox_openpgp_key_info *next;
   int algo;
+  int version;
+  unsigned char grip[20];
   unsigned char keyid[8];
-  int fprlen;  /* Either 16 or 20 */
-  unsigned char fpr[20];
+  int fprlen;  /* Either 16, 20 or 32 */
+  unsigned char fpr[32];
 };
 
 struct _keybox_openpgp_uid_info
@@ -147,6 +145,8 @@ gpg_error_t _keybox_create_openpgp_blob (KEYBOXBLOB *r_blob,
                                          const unsigned char *image,
                                          size_t imagelen,
                                          int as_ephemeral);
+char *_keybox_x509_email_kludge (const char *name);
+
 #ifdef KEYBOX_WITH_X509
 int _keybox_create_x509_blob (KEYBOXBLOB *r_blob, ksba_cert_t cert,
                               unsigned char *sha1_digest, int as_ephemeral);
@@ -168,8 +168,8 @@ void _keybox_destroy_openpgp_info (keybox_openpgp_info_t info);
 
 
 /*-- keybox-file.c --*/
-int _keybox_read_blob (KEYBOXBLOB *r_blob, FILE *fp, int *skipped_deleted);
-int _keybox_write_blob (KEYBOXBLOB blob, FILE *fp);
+int _keybox_read_blob (KEYBOXBLOB *r_blob, estream_t fp, int *skipped_deleted);
+int _keybox_write_blob (KEYBOXBLOB blob, estream_t fp, FILE *outfp);
 
 /*-- keybox-search.c --*/
 gpg_err_code_t _keybox_get_flag_location (const unsigned char *buffer,