dgaudet 98/01/31 18:47:46
Modified: src CHANGES http_config.c http_protocol.c mod_cgi.c
mod_dir.c mod_rewrite.c util.c
src/modules/proxy mod_proxy.c
Log:
be sensitive to the case!
Revision Changes Path
1.290 +3 -0 apache-1.2/src/CHANGES
Index: CHANGES
===================================================================
RCS file: /export/home/cvs/apache-1.2/src/CHANGES,v
retrieving revision 1.289
retrieving revision 1.290
diff -u -r1.289 -r1.290
--- CHANGES 1998/02/01 02:33:36 1.289
+++ CHANGES 1998/02/01 02:47:37 1.290
@@ -1,5 +1,8 @@
Changes with Apache 1.2.6
+ *) Fixed some case-sensitivity issues according to RFC2068.
+ [Dean Gaudet]
+
*) Set r->allowed properly in mod_asis.c, mod_dir.c, mod_info.c,
and mod_include.c. [Dean Gaudet]
1.51 +1 -1 apache-1.2/src/http_config.c
Index: http_config.c
===================================================================
RCS file: /export/home/cvs/apache-1.2/src/http_config.c,v
retrieving revision 1.50
retrieving revision 1.51
diff -u -r1.50 -r1.51
--- http_config.c 1998/01/30 09:13:53 1.50
+++ http_config.c 1998/02/01 02:47:38 1.51
@@ -883,7 +883,7 @@
if (strcmp(w, "*") == 0) {
my_addr = htonl(INADDR_ANY);
is_an_ip_addr = 1;
- } else if( strcmp(w, "_default_") == 0
+ } else if( strcasecmp(w, "_default_") == 0
|| strcmp(w, "255.255.255.255") == 0 ) {
my_addr = DEFAULT_VHOST_ADDR;
is_an_ip_addr = 1;
1.130 +1 -1 apache-1.2/src/http_protocol.c
Index: http_protocol.c
===================================================================
RCS file: /export/home/cvs/apache-1.2/src/http_protocol.c,v
retrieving revision 1.129
retrieving revision 1.130
diff -u -r1.129 -r1.130
--- http_protocol.c 1998/02/01 02:22:28 1.129
+++ http_protocol.c 1998/02/01 02:47:39 1.130
@@ -129,7 +129,7 @@
if (!(range = table_get(r->headers_in, "Range")))
range = table_get(r->headers_in, "Request-Range");
- if (!range || strncmp(range, "bytes=", 6)) {
+ if (!range || strncasecmp(range, "bytes=", 6)) {
table_set (r->headers_out, "Accept-Ranges", "bytes");
return 0;
}
1.41 +1 -1 apache-1.2/src/mod_cgi.c
Index: mod_cgi.c
===================================================================
RCS file: /export/home/cvs/apache-1.2/src/mod_cgi.c,v
retrieving revision 1.40
retrieving revision 1.41
diff -u -r1.40 -r1.41
--- mod_cgi.c 1998/01/30 09:14:03 1.40
+++ mod_cgi.c 1998/02/01 02:47:40 1.41
@@ -84,7 +84,7 @@
int is_scriptaliased (request_rec *r)
{
char *t = table_get (r->notes, "alias-forced-type");
- return t && (!strcmp (t, "cgi-script"));
+ return t && (!strcasecmp (t, "cgi-script"));
}
/* Configuration stuff */
1.29 +1 -1 apache-1.2/src/mod_dir.c
Index: mod_dir.c
===================================================================
RCS file: /export/home/cvs/apache-1.2/src/mod_dir.c,v
retrieving revision 1.28
retrieving revision 1.29
diff -u -r1.28 -r1.29
--- mod_dir.c 1998/02/01 02:33:38 1.28
+++ mod_dir.c 1998/02/01 02:47:40 1.29
@@ -481,7 +481,7 @@
if (r->status != HTTP_OK) {
return NULL;
}
- if (r->content_type && !strcmp(r->content_type,"text/html") &&
!r->content_encoding) {
+ if (r->content_type && !strcasecmp(r->content_type,"text/html") &&
!r->content_encoding) {
if(!(thefile = pfopen(r->pool, r->filename,"r")))
return NULL;
n = fread(titlebuf,sizeof(char),MAX_STRING_LEN - 1,thefile);
1.30 +19 -19 apache-1.2/src/mod_rewrite.c
Index: mod_rewrite.c
===================================================================
RCS file: /export/home/cvs/apache-1.2/src/mod_rewrite.c,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -r1.29 -r1.30
--- mod_rewrite.c 1998/01/30 09:14:08 1.29
+++ mod_rewrite.c 1998/02/01 02:47:41 1.30
@@ -947,13 +947,13 @@
return OK;
}
else if ( (strlen(r->filename) > 7 &&
- strncmp(r->filename, "http://", 7) == 0)
+ strncasecmp(r->filename, "http://", 7) == 0)
|| (strlen(r->filename) > 8 &&
- strncmp(r->filename, "https://", 8) == 0)
+ strncasecmp(r->filename, "https://", 8) == 0)
|| (strlen(r->filename) > 9 &&
- strncmp(r->filename, "gopher://", 9) == 0)
+ strncasecmp(r->filename, "gopher://", 9) == 0)
|| (strlen(r->filename) > 6 &&
- strncmp(r->filename, "ftp://", 6) == 0) ) {
+ strncasecmp(r->filename, "ftp://", 6) == 0) ) {
/* it was finally rewritten to a remote URL */
/* skip 'scheme:' */
@@ -1179,13 +1179,13 @@
return OK;
}
else if ( (strlen(r->filename) > 7 &&
- strncmp(r->filename, "http://", 7) == 0)
+ strncasecmp(r->filename, "http://", 7) == 0)
|| (strlen(r->filename) > 8 &&
- strncmp(r->filename, "https://", 8) == 0)
+ strncasecmp(r->filename, "https://", 8) == 0)
|| (strlen(r->filename) > 9 &&
- strncmp(r->filename, "gopher://", 9) == 0)
+ strncasecmp(r->filename, "gopher://", 9) == 0)
|| (strlen(r->filename) > 6 &&
- strncmp(r->filename, "ftp://", 6) == 0) ) {
+ strncasecmp(r->filename, "ftp://", 6) == 0) ) {
/* it was finally rewritten to a remote URL */
/* because we are in a per-dir context
@@ -1565,10 +1565,10 @@
/* if this is an implicit redirect in a per-dir rule */
i = strlen(output);
if (perdir != NULL
- && ( (i > 7 && strncmp(output, "http://", 7) == 0)
- || (i > 8 && strncmp(output, "https://", 8) == 0)
- || (i > 9 && strncmp(output, "gopher://", 9) == 0)
- || (i > 6 && strncmp(output, "ftp://", 6) == 0) ) ) {
+ && ( (i > 7 && strncasecmp(output, "http://", 7) == 0)
+ || (i > 8 && strncasecmp(output, "https://", 8) == 0)
+ || (i > 9 && strncasecmp(output, "gopher://", 9) == 0)
+ || (i > 6 && strncasecmp(output, "ftp://", 6) == 0) ) ) {
if (p->flags & RULEFLAG_NOTMATCH) {
strncpy(newuri, output, sizeof(newuri)-1);
EOS_PARANOIA(newuri);
@@ -1651,13 +1651,13 @@
if (flags & RULEFLAG_FORCEREDIRECT) {
r->status = p->forced_responsecode;
if ( !(strlen(r->filename) > 7 &&
- strncmp(r->filename, "http://", 7) == 0)
+ strncasecmp(r->filename, "http://", 7) == 0)
&& !(strlen(r->filename) > 8 &&
- strncmp(r->filename, "https://", 8) == 0)
+ strncasecmp(r->filename, "https://", 8) == 0)
&& !(strlen(r->filename) > 9 &&
- strncmp(r->filename, "gopher://", 9) == 0)
+ strncasecmp(r->filename, "gopher://", 9) == 0)
&& !(strlen(r->filename) > 6 &&
- strncmp(r->filename, "ftp://", 6) == 0) ) {
+ strncasecmp(r->filename, "ftp://", 6) == 0) ) {
#ifdef APACHE_SSL
if ((!r->connection->client->ssl && r->server->port ==
DEFAULT_PORT) ||
@@ -1869,11 +1869,11 @@
#ifdef APACHE_SSL
if ( (!r->connection->client->ssl &&
- strncmp(r->filename, "http://", 7) == 0)
+ strncasecmp(r->filename, "http://", 7) == 0)
|| (r->connection->client->ssl &&
- strncmp(r->filename, "https://", 8) == 0)) {
+ strncasecmp(r->filename, "https://", 8) == 0)) {
#else
- if (strncmp(r->filename, "http://", 7) == 0) {
+ if (strncasecmp(r->filename, "http://", 7) == 0) {
#endif
/* there was really a rewrite to a remote path */
1.54 +1 -1 apache-1.2/src/util.c
Index: util.c
===================================================================
RCS file: /export/home/cvs/apache-1.2/src/util.c,v
retrieving revision 1.53
retrieving revision 1.54
diff -u -r1.53 -r1.54
--- util.c 1998/01/30 09:14:12 1.53
+++ util.c 1998/02/01 02:47:42 1.54
@@ -1212,7 +1212,7 @@
if(ind(p->h_name,'.') == -1) {
for(x=0;p->h_aliases[x];++x) {
if((ind(p->h_aliases[x],'.') != -1) &&
- (!strncmp(p->h_aliases[x],p->h_name,strlen(p->h_name))))
+ (!strncasecmp(p->h_aliases[x],p->h_name,strlen(p->h_name))))
return pstrdup(a, p->h_aliases[x]);
}
return NULL;
1.13 +6 -6 apache-1.2/src/modules/proxy/mod_proxy.c
Index: mod_proxy.c
===================================================================
RCS file: /export/home/cvs/apache-1.2/src/modules/proxy/mod_proxy.c,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- mod_proxy.c 1997/04/28 20:54:40 1.12
+++ mod_proxy.c 1998/02/01 02:47:45 1.13
@@ -216,12 +216,12 @@
{
p = strchr(ents[i].scheme, ':'); /* is it a partial URL? */
if (strcmp(ents[i].scheme, "*") == 0 ||
- (p == NULL && strcmp(scheme, ents[i].scheme) == 0) ||
+ (p == NULL && strcasecmp(scheme, ents[i].scheme) == 0) ||
(p != NULL &&
- strncmp(url, ents[i].scheme, strlen(ents[i].scheme)) == 0))
+ strncasecmp(url, ents[i].scheme, strlen(ents[i].scheme)) == 0))
{
/* we only know how to handle communication to a proxy via http */
- if (strcmp(ents[i].protocol, "http") == 0)
+ if (strcasecmp(ents[i].protocol, "http") == 0)
rc = proxy_http_handler(r, cr, url, ents[i].hostname,
ents[i].port);
else rc = DECLINED;
@@ -239,9 +239,9 @@
/* handle the scheme */
if (r->method_number == M_CONNECT)
return proxy_connect_handler(r, cr, url);
- if (strcmp(scheme, "http") == 0)
+ if (strcasecmp(scheme, "http") == 0)
return proxy_http_handler(r, cr, url, NULL, 0);
- if (strcmp(scheme, "ftp") == 0)
+ if (strcasecmp(scheme, "ftp") == 0)
return proxy_ftp_handler(r, cr, url);
else return NOT_IMPLEMENTED;
}
@@ -301,7 +301,7 @@
{
int i;
for (i=0; defports[i].scheme != NULL; i++)
- if (strcmp(defports[i].scheme, r) == 0) break;
+ if (strcasecmp(defports[i].scheme, r) == 0) break;
port = defports[i].port;
}