projects
/
shibboleth
/
cpp-sp.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
4891c03
)
https://issues.shibboleth.net/jira/browse/SSPCPP-129
author
Scott Cantor
<cantor.2@osu.edu>
Thu, 7 Aug 2008 15:37:23 +0000
(15:37 +0000)
committer
Scott Cantor
<cantor.2@osu.edu>
Thu, 7 Aug 2008 15:37:23 +0000
(15:37 +0000)
fastcgi/shibauthorizer.cpp
patch
|
blob
|
history
diff --git
a/fastcgi/shibauthorizer.cpp
b/fastcgi/shibauthorizer.cpp
index
4661ee8
..
db51ad1
100644
(file)
--- a/
fastcgi/shibauthorizer.cpp
+++ b/
fastcgi/shibauthorizer.cpp
@@
-133,11
+133,20
@@
public:
m_request_headers.erase(name);
\r
}
\r
virtual string getHeader(const char* name) const {
\r
m_request_headers.erase(name);
\r
}
\r
virtual string getHeader(const char* name) const {
\r
+ // Look in the local map first.
\r
map<string,string>::const_iterator i = m_request_headers.find(name);
\r
if (i != m_request_headers.end())
\r
return i->second;
\r
map<string,string>::const_iterator i = m_request_headers.find(name);
\r
if (i != m_request_headers.end())
\r
return i->second;
\r
- else
\r
- return "";
\r
+ // Nothing set locally, so try the request.
\r
+ string hdr("HTTP_");
\r
+ for (; *name; ++name) {
\r
+ if (*name=='-')
\r
+ hdr += '_';
\r
+ else
\r
+ hdr += toupper(*name);
\r
+ }
\r
+ char* s = FCGX_GetParam(hdr.c_str(), m_req->envp);
\r
+ return s ? s : "";
\r
}
\r
void setRemoteUser(const char* user) {
\r
if (user)
\r
}
\r
void setRemoteUser(const char* user) {
\r
if (user)
\r