diff options
author | Sergey Poznyakoff <gray@gnu.org.ua> | 2009-12-08 22:08:36 +0200 |
---|---|---|
committer | Sergey Poznyakoff <gray@gnu.org.ua> | 2009-12-08 22:11:04 +0200 |
commit | 67ca2ef061a73bc90e4399471ee0cb3ce6f0ee41 (patch) | |
tree | d45493df75f3f613ca6b3d13a7f5d7a0280650a6 /src/gpg.c | |
parent | e1afd42340c0b2c22660744e0f88258a44617e88 (diff) | |
download | wydawca-67ca2ef061a73bc90e4399471ee0cb3ce6f0ee41.tar.gz wydawca-67ca2ef061a73bc90e4399471ee0cb3ce6f0ee41.tar.bz2 |
Implement GPG signing of the outgoing notifications.
* src/config.c (mail_statistics_kw): New keyword gpg-sign.
(notify_event_kw): Likewise.
(wydawca_kw): New keyword gpg-homedir.
* src/gpg.c (wydawca_gpg_homedir): Rename to
create_gpg_homedir. Make static.
All uses updated.
* src/mail.c (admin_stat_sign_key): New global.
(mu_stream_data_read_cb)
(gpg_sign, sign_message): New functions.
(mail_send_message): Take 3rd argument: ID of
the PGP key to sign the message with.
All callers updated.
(do_notify): Rewrite.
* src/wydawca.c (wydawca_gpg_homedir): New variable.
* src/wydawca.h (struct notification): New member
sign_keys.
(admin_stat_sign_key): New extern.
(wydawca_gpg_homedir): New extern.
Diffstat (limited to 'src/gpg.c')
-rw-r--r-- | src/gpg.c | 9 |
1 files changed, 4 insertions, 5 deletions
@@ -128,8 +128,8 @@ remove_homedir () } /* Create a temporary GPG home directory */ -int -wydawca_gpg_homedir () +static int +create_gpg_homedir () { if (homedir) return 0; @@ -222,12 +222,11 @@ verify_directive_signature (struct file_triplet *trp, { gpgme_ctx_t ctx; gpgme_data_t key_data, directive_data, plain; - off_t size; gpgme_error_t ec; int rc; struct uploader_info *uptr; - wydawca_gpg_homedir (); + create_gpg_homedir (); fail_if_err (gpgme_new (&ctx)); for (uptr = trp->uploader_list; uptr; uptr = uptr->next) @@ -301,7 +300,7 @@ verify_detached_signature (struct file_triplet *trp, return 1; } - wydawca_gpg_homedir (); + create_gpg_homedir (); argv[0] = info->file_name; argv[1] = "--verify"; argv[2] = trp->file[file_signature].name; |