ident.c: add support for IPv6
[gitweb.git] / gpg-interface.h
index 37c23daff010b0de18fa12ff6a6167f45ff41ffc..ea68885ad5b73aa63acc936eee52a61252420892 100644 (file)
@@ -1,24 +1,37 @@
 #ifndef GPG_INTERFACE_H
 #define GPG_INTERFACE_H
 
+#define GPG_VERIFY_VERBOSE     1
+#define GPG_VERIFY_RAW         2
+
 struct signature_check {
        char *payload;
        char *gpg_output;
        char *gpg_status;
-       char result; /* 0 (not checked),
-                     * N (checked but no further result),
-                     * U (untrusted good),
-                     * G (good)
-                     * B (bad) */
+
+       /*
+        * possible "result":
+        * 0 (not checked)
+        * N (checked but no further result)
+        * U (untrusted good)
+        * G (good)
+        * B (bad)
+        */
+       char result;
        char *signer;
        char *key;
 };
 
 extern void signature_check_clear(struct signature_check *sigc);
+extern size_t parse_signature(const char *buf, unsigned long size);
+extern void parse_gpg_output(struct signature_check *);
 extern int sign_buffer(struct strbuf *buffer, struct strbuf *signature, const char *signing_key);
 extern int verify_signed_buffer(const char *payload, size_t payload_size, const char *signature, size_t signature_size, struct strbuf *gpg_output, struct strbuf *gpg_status);
 extern int git_gpg_config(const char *, const char *, void *);
 extern void set_signing_key(const char *);
 extern const char *get_signing_key(void);
+extern int check_signature(const char *payload, size_t plen,
+       const char *signature, size_t slen, struct signature_check *sigc);
+void print_signature_buffer(const struct signature_check *sigc, unsigned flags);
 
 #endif