summaryrefslogtreecommitdiffabout
path: root/src/gpg.c
authorSergey Poznyakoff <gray@gnu.org.ua>2009-12-08 20:08:36 (GMT)
committer Sergey Poznyakoff <gray@gnu.org.ua>2009-12-08 20:11:04 (GMT)
commit67ca2ef061a73bc90e4399471ee0cb3ce6f0ee41 (patch) (side-by-side diff)
treed45493df75f3f613ca6b3d13a7f5d7a0280650a6 /src/gpg.c
parente1afd42340c0b2c22660744e0f88258a44617e88 (diff)
downloadwydawca-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') (more/less context) (ignore whitespace changes)
-rw-r--r--src/gpg.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/src/gpg.c b/src/gpg.c
index 71be53c..1389845 100644
--- a/src/gpg.c
+++ b/src/gpg.c
@@ -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;

Return to:

Send suggestions and report system problems to the System administrator.