aboutsummaryrefslogtreecommitdiff
path: root/src/verify.c
diff options
context:
space:
mode:
authorSergey Poznyakoff <gray@gnu.org.ua>2007-08-22 13:23:03 +0000
committerSergey Poznyakoff <gray@gnu.org.ua>2007-08-22 13:23:03 +0000
commit180ca1d87d2bf69d9dbb0acb76422e9ae15f930c (patch)
treeb14651206aaec8e03fdfdce9e04433068fa62648 /src/verify.c
parent708a28a2f5bd2384e4c254a47d069ec4d9ef697e (diff)
downloadwydawca-180ca1d87d2bf69d9dbb0acb76422e9ae15f930c.tar.gz
wydawca-180ca1d87d2bf69d9dbb0acb76422e9ae15f930c.tar.bz2
Implement all directives
git-svn-id: file:///svnroot/wydawca/trunk@284 6bb4bd81-ecc2-4fd4-a2d4-9571d19c0d33
Diffstat (limited to 'src/verify.c')
-rw-r--r--src/verify.c34
1 files changed, 17 insertions, 17 deletions
diff --git a/src/verify.c b/src/verify.c
index a47eaee..f64183a 100644
--- a/src/verify.c
+++ b/src/verify.c
@@ -159,7 +159,7 @@ expand_param (const char *param, const char *user, const char *project,
int
-check_access_rights (struct file_register *reg, struct directory_pair *dpair,
+check_access_rights (struct file_triplet *trp, struct directory_pair *dpair,
const char *user)
{
struct access_method *method = &dpair->verify_method;
@@ -170,10 +170,10 @@ check_access_rights (struct file_register *reg, struct directory_pair *dpair,
char *command;
const char *result;
- if (directive_get_value (reg, "directory", &directory))
+ if (directive_get_value (trp, "directory", &directory))
{
logmsg (LOG_ERR, "%s: missing `directory' directive",
- reg->file[file_directive].name);
+ trp->file[file_directive].name);
return 1;
}
p = strchr (directory, '/');
@@ -206,7 +206,7 @@ check_access_rights (struct file_register *reg, struct directory_pair *dpair,
if (strcmp (result, user))
{
logmsg (LOG_ERR, "%s: %s has no rights on %s",
- reg->name, user, project);
+ trp->name, user, project);
free (project);
return 1;
}
@@ -216,9 +216,9 @@ check_access_rights (struct file_register *reg, struct directory_pair *dpair,
}
int
-verify_triplet (struct file_register *reg, struct directory_pair *dpair)
+verify_triplet (struct file_triplet *trp, struct directory_pair *dpair)
{
- struct passwd *pw = getpwuid (reg->file[file_dist].uid);
+ struct passwd *pw = getpwuid (TRIPLET_UID (trp));
char *user_name;
char *command;
struct access_method *method = &dpair->gpg_key_method;
@@ -228,10 +228,10 @@ verify_triplet (struct file_register *reg, struct directory_pair *dpair)
if (!pw)
{
logmsg (LOG_ERR, "%s: getpwuid failed: %s",
- reg->name, strerror (errno));
+ trp->name, strerror (errno));
return 1;
}
- reg->gid = pw->pw_gid;
+ trp->gid = pw->pw_gid;
user_name = pw->pw_name;
command = expand_param (method->param[1], user_name, NULL, method);
@@ -253,32 +253,32 @@ verify_triplet (struct file_register *reg, struct directory_pair *dpair)
if (debug_level > 3)
logmsg (LOG_DEBUG, "Public key: %s", pubkey);
- if (verify_directive_signature (reg, dpair, pubkey))
+ if (verify_directive_signature (trp, dpair, pubkey))
{
- logmsg (LOG_ERR, "invalid signature for %s", reg->name);
+ logmsg (LOG_ERR, "invalid signature for %s", trp->name);
return 1;
}
if (debug_level > 1)
{
int i;
- for (i = 0; reg->directive[i]; i++)
- logmsg (LOG_DEBUG, "directive[%d] = %s", i, reg->directive[i]);
+ for (i = 0; trp->directive[i]; i++)
+ logmsg (LOG_DEBUG, "directive[%d] = %s", i, trp->directive[i]);
}
- if (verify_directive_format (reg))
+ if (verify_directive_format (trp))
return 1;
- if (check_access_rights (reg, dpair, user_name))
+ if (check_access_rights (trp, dpair, user_name))
return 1;
- if (verify_detached_signature (reg, dpair))
+ if (verify_detached_signature (trp, dpair))
{
- logmsg (LOG_ERR, "invalid detached signature for %s", reg->name);
+ logmsg (LOG_ERR, "invalid detached signature for %s", trp->name);
return 1;
}
if (debug_level)
- logmsg (LOG_DEBUG, "%s: triplet verified successfully", reg->name);
+ logmsg (LOG_DEBUG, "%s: triplet verified successfully", trp->name);
return 0;
}

Return to:

Send suggestions and report system problems to the System administrator.