[cpp-sp COMMIT] /branches/REL_2/apache/mod_apache.cpp
noreply at shibboleth.net
noreply at shibboleth.net
Thu Mar 22 03:27:16 GMT 2012
Author: scantor
Date: Thu Mar 22 03:27:16 2012
New Revision: 3598
URL: http://svn.shibboleth.net/view/cpp-sp?rev=3598&view=rev
Log:
Fixes to 2.4 module
Modified:
branches/REL_2/apache/mod_apache.cpp
Modified: branches/REL_2/apache/mod_apache.cpp
URL: http://svn.shibboleth.net/view/cpp-sp/branches/REL_2/apache/mod_apache.cpp?rev=3598&r1=3597&r2=3598&view=diff
==============================================================================
--- branches/REL_2/apache/mod_apache.cpp (original)
+++ branches/REL_2/apache/mod_apache.cpp Thu Mar 22 03:27:16 2012
@@ -1515,15 +1515,15 @@
shib_request_config* rc = (shib_request_config*)ap_get_module_config(r->request_config, &mod_shib);
if (!rc || !rc->sta) {
ap_log_rerror(APLOG_MARK, APLOG_ERR|APLOG_NOERRNO, SH_AP_R(r), "shib_base_check_authz found no per-request structure");
- return make_pair(nullptr, AUTHZ_GENERAL_ERROR);
+ return make_pair((ShibTargetApache*)nullptr, AUTHZ_GENERAL_ERROR);
}
else if (!rc->sta->isInitialized()) {
- return make_pair(nullptr, AUTHZ_DENIED_NO_USER);
+ return make_pair((ShibTargetApache*)nullptr, AUTHZ_DENIED_NO_USER);
}
return make_pair(rc->sta, AUTHZ_GRANTED);
}
-extern "C" static authz_status shib_shibboleth_check_authz(request_rec* r, const char* require_line, const void*)
+extern "C" authz_status shib_shibboleth_check_authz(request_rec* r, const char* require_line, const void*)
{
pair<ShibTargetApache*,authz_status> sta = shib_base_check_authz(r);
if (!sta.first)
@@ -1531,7 +1531,7 @@
return AUTHZ_GRANTED;
}
-extern "C" static authz_status shib_validuser_check_authz(request_rec* r, const char* require_line, const void*)
+extern "C" authz_status shib_validuser_check_authz(request_rec* r, const char* require_line, const void*)
{
pair<ShibTargetApache*,authz_status> sta = shib_base_check_authz(r);
if (!sta.first)
@@ -1551,9 +1551,9 @@
return AUTHZ_DENIED_NO_USER;
}
-extern "C" static authz_status shib_user_check_authz(request_rec* r, const char* require_line, const void*)
-{
- if (!r->user)
+extern "C" authz_status shib_user_check_authz(request_rec* r, const char* require_line, const void*)
+{
+ if (!r->user || !*(r->user))
return AUTHZ_DENIED_NO_USER;
pair<ShibTargetApache*,authz_status> sta = shib_base_check_authz(r);
if (!sta.first)
@@ -1565,7 +1565,7 @@
return AUTHZ_DENIED;
}
-extern "C" static authz_status shib_acclass_check_authz(request_rec* r, const char* require_line, const void*)
+extern "C" authz_status shib_acclass_check_authz(request_rec* r, const char* require_line, const void*)
{
pair<ShibTargetApache*,authz_status> sta = shib_base_check_authz(r);
if (!sta.first)
@@ -1577,7 +1577,7 @@
const Session* session = sta.first->getSession(false);
if (session && hta.doAuthnContext(*sta.first, session->getAuthnContextClassRef(), require_line) == AccessControl::shib_acl_true)
return AUTHZ_GRANTED;
- return AUTHZ_DENIED;
+ return session ? AUTHZ_DENIED : AUTHZ_DENIED_NO_USER;
}
catch (std::exception& e) {
sta.first->log(SPRequest::SPWarn, string("htaccess: unable to obtain session for access control check: ") + e.what());
@@ -1586,7 +1586,7 @@
return AUTHZ_GENERAL_ERROR;
}
-extern "C" static authz_status shib_acdecl_check_authz(request_rec* r, const char* require_line, const void*)
+extern "C" authz_status shib_acdecl_check_authz(request_rec* r, const char* require_line, const void*)
{
pair<ShibTargetApache*,authz_status> sta = shib_base_check_authz(r);
if (!sta.first)
@@ -1598,7 +1598,7 @@
const Session* session = sta.first->getSession(false);
if (session && hta.doAuthnContext(*sta.first, session->getAuthnContextDeclRef(), require_line) == AccessControl::shib_acl_true)
return AUTHZ_GRANTED;
- return AUTHZ_DENIED;
+ return session ? AUTHZ_DENIED : AUTHZ_DENIED_NO_USER;
}
catch (std::exception& e) {
sta.first->log(SPRequest::SPWarn, string("htaccess: unable to obtain session for access control check: ") + e.what());
@@ -1607,7 +1607,7 @@
return AUTHZ_GENERAL_ERROR;
}
-extern "C" static authz_status shib_attr_check_authz(request_rec* r, const char* require_line, const void*)
+extern "C" authz_status shib_attr_check_authz(request_rec* r, const char* require_line, const void*)
{
pair<ShibTargetApache*,authz_status> sta = shib_base_check_authz(r);
if (!sta.first)
@@ -1622,7 +1622,7 @@
if (rule && hta.doShibAttr(*sta.first, session, rule, require_line) == AccessControl::shib_acl_true)
return AUTHZ_GRANTED;
}
- return AUTHZ_DENIED;
+ return session ? AUTHZ_DENIED : AUTHZ_DENIED_NO_USER;
}
catch (std::exception& e) {
sta.first->log(SPRequest::SPWarn, string("htaccess: unable to obtain session for access control check: ") + e.what());
@@ -1631,7 +1631,7 @@
return AUTHZ_GENERAL_ERROR;
}
[... 36 lines stripped ...]
More information about the commits
mailing list