return session;
}
-static char _x2c(const char *what)\r
-{\r
- register char digit;\r
-\r
- digit = (what[0] >= 'A' ? ((what[0] & 0xdf) - 'A')+10 : (what[0] - '0'));\r
- digit *= 16;\r
- digit += (what[1] >= 'A' ? ((what[1] & 0xdf) - 'A')+10 : (what[1] - '0'));\r
- return(digit);\r
-}\r
+static char _x2c(const char *what)
+{
+ register char digit;
+
+ digit = (what[0] >= 'A' ? ((what[0] & 0xdf) - 'A')+10 : (what[0] - '0'));
+ digit *= 16;
+ digit += (what[1] >= 'A' ? ((what[1] & 0xdf) - 'A')+10 : (what[1] - '0'));
+ return(digit);
+}
void AbstractSPRequest::setRequestURI(const char* uri)
{
- // Fix for bug 574, secadv 20061002\r
- // Unescape URI up to query string delimiter by looking for %XX escapes.\r
- // Adapted from Apache's util.c, ap_unescape_url function.\r
- if (uri) {\r
- while (*uri) {\r
- if (*uri == '?') {\r
- m_uri += uri;\r
- break;\r
- }\r
- else if (*uri == ';') {\r
- // If this is Java being stupid, skip everything up to the query string, if any.\r
- if (!strncmp(uri, ";jsessionid=", 12)) {\r
- if (uri = strchr(uri, '?'))\r
- m_uri += uri;\r
- break;\r
- }\r
- else {\r
- m_uri += *uri;\r
- }\r
- }\r
- else if (*uri != '%') {\r
- m_uri += *uri;\r
- }\r
- else {\r
- ++uri;\r
- if (!isxdigit(*uri) || !isxdigit(*(uri+1)))\r
- throw ConfigurationException("Bad request, contained unsupported encoded characters.");\r
- m_uri += _x2c(uri);\r
- ++uri;\r
- }\r
- ++uri;\r
- }\r
- }\r
+ // Fix for bug 574, secadv 20061002
+ // Unescape URI up to query string delimiter by looking for %XX escapes.
+ // Adapted from Apache's util.c, ap_unescape_url function.
+ if (uri) {
+ while (*uri) {
+ if (*uri == '?') {
+ m_uri += uri;
+ break;
+ }
+ else if (*uri == ';') {
+ // If this is Java being stupid, skip everything up to the query string, if any.
+ if (!strncmp(uri, ";jsessionid=", 12)) {
+ if (uri = strchr(uri, '?'))
+ m_uri += uri;
+ break;
+ }
+ else {
+ m_uri += *uri;
+ }
+ }
+ else if (*uri != '%') {
+ m_uri += *uri;
+ }
+ else {
+ ++uri;
+ if (!isxdigit(*uri) || !isxdigit(*(uri+1)))
+ throw ConfigurationException("Bad request, contained unsupported encoded characters.");
+ m_uri += _x2c(uri);
+ ++uri;
+ }
+ ++uri;
+ }
+ }
}
const char* AbstractSPRequest::getRequestURL() const