]> git.sommitrealweird.co.uk Git - onak.git/blobdiff - onak.c
cscvs to tla changeset 137
[onak.git] / onak.c
diff --git a/onak.c b/onak.c
index 0fdb7e4bf7510456cd9498422b808cc4e773201b..2a0376e4dbcdfa4a54a6427457912564c77408c1 100644 (file)
--- a/onak.c
+++ b/onak.c
@@ -7,7 +7,7 @@
  * 
  * Copyright 2002 Project Purple
  *
- * $Id: onak.c,v 1.19 2004/03/23 12:33:47 noodles Exp $
+ * $Id: onak.c,v 1.21 2004/05/27 21:58:18 noodles Exp $
  */
 
 #include <stdio.h>
@@ -26,6 +26,7 @@
 #include "merge.h"
 #include "onak-conf.h"
 #include "parsekey.h"
+#include "photoid.h"
 
 void find_keys(char *search, uint64_t keyid, bool ishex,
                bool fingerprint, bool exact, bool verbose)
@@ -173,6 +174,25 @@ int main(int argc, char *argv[])
                } else if (!strcmp("vindex", argv[optind])) {
                        find_keys(search, keyid, ishex, fingerprint,
                                        false, true);
+               } else if (!strcmp("getphoto", argv[optind])) {
+                       if (!ishex) {
+                               puts("Can't get a key on uid text."
+                                       " You must supply a keyid.");
+                       } else if (fetch_key(keyid, &keys, false)) {
+                               unsigned char *photo = NULL;
+                               size_t         length = 0;
+
+                               if (getphoto(keys, 0, &photo, &length)) {
+                                       fwrite(photo,
+                                               1,
+                                               length,
+                                               stdout);
+                               }
+                               free_publickey(keys);
+                               keys = NULL;
+                       } else {
+                               puts("Key not found");
+                       }
                } else if (!strcmp("delete", argv[optind])) {
                        delete_key(getfullkeyid(keyid), false);
                } else if (!strcmp("get", argv[optind])) {