diff options
author | olavmrk <olavmrk@a716ebb1-153a-0410-b759-cfb97c6a1b53> | 2010-06-17 07:32:04 +0000 |
---|---|---|
committer | olavmrk <olavmrk@a716ebb1-153a-0410-b759-cfb97c6a1b53> | 2010-06-17 07:32:04 +0000 |
commit | 997f7c33e57233299758353a51b733bf22206ae4 (patch) | |
tree | 74f00a26c5010ea4ec650f52f5e9b72dea3206ca | |
parent | f43eb9a317e555d98dfb6924d6011185e8fa30e0 (diff) | |
download | mod_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.c | 12 |
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 |