summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorolavmrk <olavmrk@a716ebb1-153a-0410-b759-cfb97c6a1b53>2010-06-17 07:32:04 +0000
committerolavmrk <olavmrk@a716ebb1-153a-0410-b759-cfb97c6a1b53>2010-06-17 07:32:04 +0000
commit997f7c33e57233299758353a51b733bf22206ae4 (patch)
tree74f00a26c5010ea4ec650f52f5e9b72dea3206ca
parentf43eb9a317e555d98dfb6924d6011185e8fa30e0 (diff)
downloadmod_auth_mellon-997f7c33e57233299758353a51b733bf22206ae4.tar.gz
mod_auth_mellon-997f7c33e57233299758353a51b733bf22206ae4.tar.xz
mod_auth_mellon-997f7c33e57233299758353a51b733bf22206ae4.zip
Check whether the metadata files exists before passing them to Lasso.
git-svn-id: https://modmellon.googlecode.com/svn/trunk@92 a716ebb1-153a-0410-b759-cfb97c6a1b53
-rw-r--r--auth_mellon_config.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/auth_mellon_config.c b/auth_mellon_config.c
index 073768f..19ea293 100644
--- a/auth_mellon_config.c
+++ b/auth_mellon_config.c
@@ -97,12 +97,24 @@ static const char *am_set_filestring_slot(cmd_parms *cmd,
const char *arg)
{
const char *data;
+ apr_finfo_t finfo;
+ apr_status_t rv;
+ char error[64];
#ifdef HAVE_lasso_server_new_from_buffers
if ((data = am_getfile(cmd->pool, cmd->server, arg)) == NULL)
return apr_psprintf(cmd->pool, "%s - Cannot read file %s",
cmd->cmd->name, arg);
#else
+
+ rv = apr_stat(&finfo, arg, APR_FINFO_SIZE, cmd->pool);
+ if(rv != 0) {
+ apr_strerror(rv, error, sizeof(error));
+ return apr_psprintf(cmd->pool,
+ "%s - Cannot read file \"%s\" [%d] \"%s\"",
+ cmd->cmd->name, arg, rv, error);
+ }
+
data = arg;
#endif