diff options
author | Sergey Poznyakoff <gray@gnu.org.ua> | 2007-08-19 22:43:22 +0000 |
---|---|---|
committer | Sergey Poznyakoff <gray@gnu.org.ua> | 2007-08-19 22:43:22 +0000 |
commit | 39a9fb6ab567b48ac8c38b98143d6089e9d16709 (patch) | |
tree | 7fa248d8ed2c38ec84a9496de4c2f420ddae5504 /src/verify.c | |
parent | 32d5cff1b7c2266779b63fb97eb6b91cab34e7ad (diff) | |
download | wydawca-39a9fb6ab567b48ac8c38b98143d6089e9d16709.tar.gz wydawca-39a9fb6ab567b48ac8c38b98143d6089e9d16709.tar.bz2 |
* jabberd/jabberd.h (getmaxfd): moved to gsc.h
* jabberd/main.c (stderr_printer): Minor fix
* wydawca/triplet.c (triplet_processor): Minor fix
* wydawca/verify.c (verify_triplet): Save owner gid in reg.
Call verify_detached_signature
* wydawca/wydawca.h (struct file_register): New member gid.
(verify_detached_signature): New function
* wydawca/gpg.c (verify_detached_signature): New function
* lib/Makefile.am: Add userprivs.c
* lib/userprivs.c: New file
git-svn-id: file:///svnroot/wydawca/trunk@280 6bb4bd81-ecc2-4fd4-a2d4-9571d19c0d33
Diffstat (limited to 'src/verify.c')
-rw-r--r-- | src/verify.c | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/src/verify.c b/src/verify.c index b3305d4..9a3aff8 100644 --- a/src/verify.c +++ b/src/verify.c @@ -152,7 +152,7 @@ verify_triplet (struct file_register *reg, struct directory_pair *dpair) reg->name, strerror (errno)); return 1; } - + reg->gid = pw->pw_gid; user_name = pw->pw_name; command = expand_param (method->param[1], user_name, NULL, method); if (method_run (method, command)) @@ -171,7 +171,7 @@ verify_triplet (struct file_register *reg, struct directory_pair *dpair) if (debug_level > 3) logmsg (LOG_DEBUG, "Public key: %s", pubkey); - if (verify_signature (reg, dpair, pubkey)) + if (verify_directive_signature (reg, dpair, pubkey)) { logmsg (LOG_ERR, "invalid signature for %s", reg->name); return 1; @@ -183,6 +183,14 @@ verify_triplet (struct file_register *reg, struct directory_pair *dpair) for (i = 0; reg->directive[i]; i++) logmsg (LOG_DEBUG, "directive[%d] = %s", i, reg->directive[i]); } - + + if (verify_detached_signature (reg, dpair)) + { + logmsg (LOG_ERR, "invalid detached signature for %s", reg->name); + return 1; + } + + if (debug_level) + logmsg (LOG_DEBUG, "%s: triplet verified successfully", reg->name); return 0; } |