aboutsummaryrefslogtreecommitdiff
path: root/src/verify.c
diff options
context:
space:
mode:
authorSergey Poznyakoff <gray@gnu.org.ua>2007-08-19 22:43:22 +0000
committerSergey Poznyakoff <gray@gnu.org.ua>2007-08-19 22:43:22 +0000
commit39a9fb6ab567b48ac8c38b98143d6089e9d16709 (patch)
tree7fa248d8ed2c38ec84a9496de4c2f420ddae5504 /src/verify.c
parent32d5cff1b7c2266779b63fb97eb6b91cab34e7ad (diff)
downloadwydawca-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.c14
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;
}

Return to:

Send suggestions and report system problems to the System administrator.