Keyserver search and get basically works again.
[gnupg.git] / g10 / import.c
index 31160c3..88abafd 100644 (file)
@@ -243,6 +243,32 @@ import_keys_stream (ctrl_t ctrl, IOBUF inp, void *stats_handle,
                                fpr, fpr_len, options);
 }
 
+
+/* Variant of import_keys_stream reading from an estream_t.  */
+int
+import_keys_es_stream (ctrl_t ctrl, estream_t fp, void *stats_handle,
+                       unsigned char **fpr, size_t *fpr_len,
+                       unsigned int options)
+{
+  int rc;
+  iobuf_t inp;
+
+  inp = iobuf_esopen (fp, "r", 1);
+  if (!inp)
+    {
+      rc = gpg_error_from_syserror ();
+      log_error ("iobuf_esopen failed: %s\n", gpg_strerror (rc));
+      return rc;
+    }
+
+  rc = import_keys_internal (ctrl, inp, NULL, 0, stats_handle,
+                             fpr, fpr_len, options);
+
+  iobuf_close (inp);
+  return rc;
+}
+
+
 static int
 import (ctrl_t ctrl, IOBUF inp, const char* fname,struct stats_s *stats,
        unsigned char **fpr,size_t *fpr_len,unsigned int options )