You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by Jim Jagielski <ji...@jaguNET.com> on 2015/11/24 13:36:36 UTC

Re: svn commit: r1715869 - in /httpd/httpd/trunk: modules/cache/ modules/filters/ modules/generators/ modules/http/ modules/http2/ modules/loggers/ modules/mappers/ modules/metadata/ modules/proxy/ modules/slotmem/ modules/test/ server/

Most of those were 100% fine... I was referring to the
apr_atoi64() stuff :)

> On Nov 23, 2015, at 11:28 AM, ylavic@apache.org wrote:
> 
> Author: ylavic
> Date: Mon Nov 23 16:28:36 2015
> New Revision: 1715869
> 
> URL: http://svn.apache.org/viewvc?rev=1715869&view=rev
> Log:
> Revert r1715789: will re-commit without spurious functional changes.
> 
> Modified:
>    httpd/httpd/trunk/modules/cache/cache_util.c
>    httpd/httpd/trunk/modules/filters/mod_deflate.c
>    httpd/httpd/trunk/modules/filters/mod_include.c
>    httpd/httpd/trunk/modules/filters/mod_proxy_html.c
>    httpd/httpd/trunk/modules/generators/mod_autoindex.c
>    httpd/httpd/trunk/modules/generators/mod_cgi.c
>    httpd/httpd/trunk/modules/generators/mod_cgid.c
>    httpd/httpd/trunk/modules/http/byterange_filter.c
>    httpd/httpd/trunk/modules/http/http_filters.c
>    httpd/httpd/trunk/modules/http2/h2_from_h1.c
>    httpd/httpd/trunk/modules/loggers/mod_log_config.c
>    httpd/httpd/trunk/modules/mappers/mod_rewrite.c
>    httpd/httpd/trunk/modules/metadata/mod_cern_meta.c
>    httpd/httpd/trunk/modules/metadata/mod_headers.c
>    httpd/httpd/trunk/modules/proxy/ajp_header.c
>    httpd/httpd/trunk/modules/proxy/mod_proxy.c
>    httpd/httpd/trunk/modules/proxy/mod_proxy_ajp.c
>    httpd/httpd/trunk/modules/proxy/mod_proxy_balancer.c
>    httpd/httpd/trunk/modules/proxy/mod_proxy_fcgi.c
>    httpd/httpd/trunk/modules/proxy/mod_proxy_fdpass.c
>    httpd/httpd/trunk/modules/proxy/mod_proxy_ftp.c
>    httpd/httpd/trunk/modules/proxy/mod_proxy_http.c
>    httpd/httpd/trunk/modules/proxy/mod_proxy_scgi.c
>    httpd/httpd/trunk/modules/proxy/mod_proxy_wstunnel.c
>    httpd/httpd/trunk/modules/proxy/mod_serf.c
>    httpd/httpd/trunk/modules/proxy/proxy_util.c
>    httpd/httpd/trunk/modules/slotmem/mod_slotmem_shm.c
>    httpd/httpd/trunk/modules/test/mod_policy.c
>    httpd/httpd/trunk/server/mpm_unix.c
>    httpd/httpd/trunk/server/protocol.c
>    httpd/httpd/trunk/server/util.c
>    httpd/httpd/trunk/server/util_expr_eval.c
>    httpd/httpd/trunk/server/util_script.c
> 
> Modified: httpd/httpd/trunk/modules/cache/cache_util.c
> URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/cache/cache_util.c?rev=1715869&r1=1715868&r2=1715869&view=diff
> ==============================================================================
> --- httpd/httpd/trunk/modules/cache/cache_util.c (original)
> +++ httpd/httpd/trunk/modules/cache/cache_util.c Mon Nov 23 16:28:36 2015
> @@ -594,12 +594,7 @@ int cache_check_freshness(cache_handle_t
>     }
> 
>     if ((agestr = apr_table_get(h->resp_hdrs, "Age"))) {
> -        char *endp;
> -        apr_off_t offt;
> -        if (!apr_strtoff(&offt, agestr, &endp, 10)
> -                && endp > agestr && !*endp) {
> -            age_c = offt;
> -        }
> +        age_c = apr_atoi64(agestr);
>     }
> 
>     /* calculate age of object */
> @@ -999,7 +994,12 @@ int ap_cache_control(request_rec *r, cac
>         char *header = apr_pstrdup(r->pool, pragma_header);
>         const char *token = cache_strqtok(header, CACHE_SEPARATOR, &last);
>         while (token) {
> -            if (!ap_casecmpstr(token, "no-cache")) {
> +            /* handle most common quickest case... */
> +            if (!strcmp(token, "no-cache")) {
> +                cc->no_cache = 1;
> +            }
> +            /* ...then try slowest case */
> +            else if (!strcasecmp(token, "no-cache")) {
>                 cc->no_cache = 1;
>             }
>             token = cache_strqtok(NULL, CACHE_SEPARATOR, &last);
> @@ -1008,15 +1008,21 @@ int ap_cache_control(request_rec *r, cac
>     }
> 
>     if (cc_header) {
> -        char *endp;
> -        apr_off_t offt;
>         char *header = apr_pstrdup(r->pool, cc_header);
>         const char *token = cache_strqtok(header, CACHE_SEPARATOR, &last);
>         while (token) {
>             switch (token[0]) {
>             case 'n':
>             case 'N': {
> -                if (!ap_casecmpstrn(token, "no-cache", 8)) {
> +                /* handle most common quickest cases... */
> +                if (!strcmp(token, "no-cache")) {
> +                    cc->no_cache = 1;
> +                }
> +                else if (!strcmp(token, "no-store")) {
> +                    cc->no_store = 1;
> +                }
> +                /* ...then try slowest cases */
> +                else if (!strncasecmp(token, "no-cache", 8)) {
>                     if (token[8] == '=') {
>                         cc->no_cache_header = 1;
>                     }
> @@ -1025,63 +1031,73 @@ int ap_cache_control(request_rec *r, cac
>                     }
>                     break;
>                 }
> -                else if (!ap_casecmpstr(token, "no-store")) {
> +                else if (!strcasecmp(token, "no-store")) {
>                     cc->no_store = 1;
>                 }
> -                else if (!ap_casecmpstr(token, "no-transform")) {
> +                else if (!strcasecmp(token, "no-transform")) {
>                     cc->no_transform = 1;
>                 }
>                 break;
>             }
>             case 'm':
>             case 'M': {
> -                if (!ap_casecmpstrn(token, "max-age", 7)) {
> -                    if (token[7] == '='
> -                            && !apr_strtoff(&offt, token + 8, &endp, 10)
> -                            && endp > token + 8 && !*endp) {
> -                        cc->max_age = 1;
> -                        cc->max_age_value = offt;
> -                    }
> +                /* handle most common quickest cases... */
> +                if (!strcmp(token, "max-age=0")) {
> +                    cc->max_age = 1;
> +                    cc->max_age_value = 0;
>                 }
> -                else if (!ap_casecmpstr(token, "must-revalidate")) {
> +                else if (!strcmp(token, "must-revalidate")) {
>                     cc->must_revalidate = 1;
>                 }
> -                else if (!ap_casecmpstrn(token, "max-stale", 9)) {
> -                    if (token[9] == '='
> -                             && !apr_strtoff(&offt, token + 10, &endp, 10)
> -                             && endp > token + 10 && !*endp) {
> +                /* ...then try slowest cases */
> +                else if (!strncasecmp(token, "max-age", 7)) {
> +                    if (token[7] == '=') {
> +                        cc->max_age = 1;
> +                        cc->max_age_value = apr_atoi64(token + 8);
> +                    }
> +                    break;
> +                }
> +                else if (!strncasecmp(token, "max-stale", 9)) {
> +                    if (token[9] == '=') {
>                         cc->max_stale = 1;
> -                        cc->max_stale_value = offt;
> +                        cc->max_stale_value = apr_atoi64(token + 10);
>                     }
> -                    else if (!token[9]) {
> +                    else if (!token[10]) {
>                         cc->max_stale = 1;
>                         cc->max_stale_value = -1;
>                     }
>                     break;
>                 }
> -                else if (!ap_casecmpstrn(token, "min-fresh", 9)) {
> -                    if (token[9] == '='
> -                            && !apr_strtoff(&offt, token + 10, &endp, 10)
> -                            && endp > token + 10 && !*endp) {
> +                else if (!strncasecmp(token, "min-fresh", 9)) {
> +                    if (token[9] == '=') {
>                         cc->min_fresh = 1;
> -                        cc->min_fresh_value = offt;
> +                        cc->min_fresh_value = apr_atoi64(token + 10);
>                     }
>                     break;
>                 }
> +                else if (!strcasecmp(token, "must-revalidate")) {
> +                    cc->must_revalidate = 1;
> +                }
>                 break;
>             }
>             case 'o':
>             case 'O': {
> -                if (!ap_casecmpstr(token, "only-if-cached")) {
> +                if (!strcasecmp(token, "only-if-cached")) {
>                     cc->only_if_cached = 1;
>                 }
>                 break;
>             }
> -            case 'p': {
> -                if (!ap_casecmpstr(token, "public")) {
> +            case 'p':
> +            case 'P': {
> +                /* handle most common quickest cases... */
> +                if (!strcmp(token, "private")) {
> +                    cc->private = 1;
> +                }
> +                /* ...then try slowest cases */
> +                else if (!strcasecmp(token, "public")) {
>                     cc->public = 1;
>                 }
> -                else if (!ap_casecmpstrn(token, "private", 7)) {
> +                else if (!strncasecmp(token, "private", 7)) {
>                     if (token[7] == '=') {
>                         cc->private_header = 1;
>                     }
> @@ -1090,20 +1106,19 @@ int ap_cache_control(request_rec *r, cac
>                     }
>                     break;
>                 }
> -                else if (!ap_casecmpstr(token, "proxy-revalidate")) {
> +                else if (!strcasecmp(token, "proxy-revalidate")) {
>                     cc->proxy_revalidate = 1;
>                 }
>                 break;
>             }
>             case 's':
>             case 'S': {
> -                if (!ap_casecmpstrn(token, "s-maxage", 8)) {
> -                    if (token[8] == '='
> -                            && !apr_strtoff(&offt, token + 9, &endp, 10)
> -                            && endp > token + 9 && !*endp) {
> +                if (!strncasecmp(token, "s-maxage", 8)) {
> +                    if (token[8] == '=') {
>                         cc->s_maxage = 1;
> -                        cc->s_maxage_value = offt;
> +                        cc->s_maxage_value = apr_atoi64(token + 9);
>                     }
> +                    break;
>                 }
>                 break;
>             }
> @@ -1133,7 +1148,8 @@ static int cache_control_remove(request_
>             switch (token[0]) {
>             case 'n':
>             case 'N': {
> -                if (!ap_casecmpstrn(token, "no-cache", 8)) {
> +                if (!strncmp(token, "no-cache", 8)
> +                        || !strncasecmp(token, "no-cache", 8)) {
>                     if (token[8] == '=') {
>                         const char *header = cache_strqtok(token + 9,
>                                 CACHE_SEPARATOR "\"", &slast);
> @@ -1150,7 +1166,8 @@ static int cache_control_remove(request_
>             }
>             case 'p':
>             case 'P': {
> -                if (!ap_casecmpstrn(token, "private", 7)) {
> +                if (!strncmp(token, "private", 7)
> +                        || !strncasecmp(token, "private", 7)) {
>                     if (token[7] == '=') {
>                         const char *header = cache_strqtok(token + 8,
>                                 CACHE_SEPARATOR "\"", &slast);
> 
> Modified: httpd/httpd/trunk/modules/filters/mod_deflate.c
> URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/filters/mod_deflate.c?rev=1715869&r1=1715868&r2=1715869&view=diff
> ==============================================================================
> --- httpd/httpd/trunk/modules/filters/mod_deflate.c (original)
> +++ httpd/httpd/trunk/modules/filters/mod_deflate.c Mon Nov 23 16:28:36 2015
> @@ -123,8 +123,8 @@ static int check_gzip(request_rec *r, ap
>     if (encoding && *encoding) {
> 
>         /* check the usual/simple case first */
> -        if (!ap_casecmpstr(encoding, "gzip")
> -            || !ap_casecmpstr(encoding, "x-gzip")) {
> +        if (!strcasecmp(encoding, "gzip")
> +            || !strcasecmp(encoding, "x-gzip")) {
>             found = 1;
>             if (hdrs) {
>                 apr_table_unset(hdrs, "Content-Encoding");
> @@ -142,8 +142,8 @@ static int check_gzip(request_rec *r, ap
>             for(;;) {
>                 char *token = ap_strrchr(new_encoding, ',');
>                 if (!token) {        /* gzip:identity or other:identity */
> -                    if (!ap_casecmpstr(new_encoding, "gzip")
> -                        || !ap_casecmpstr(new_encoding, "x-gzip")) {
> +                    if (!strcasecmp(new_encoding, "gzip")
> +                        || !strcasecmp(new_encoding, "x-gzip")) {
>                         found = 1;
>                         if (hdrs) {
>                             apr_table_unset(hdrs, "Content-Encoding");
> @@ -155,8 +155,8 @@ static int check_gzip(request_rec *r, ap
>                     break; /* seen all tokens */
>                 }
>                 for (ptr=token+1; apr_isspace(*ptr); ++ptr);
> -                if (!ap_casecmpstr(ptr, "gzip")
> -                    || !ap_casecmpstr(ptr, "x-gzip")) {
> +                if (!strcasecmp(ptr, "gzip")
> +                    || !strcasecmp(ptr, "x-gzip")) {
>                     *token = '\0';
>                     if (hdrs) {
>                         apr_table_setn(hdrs, "Content-Encoding", new_encoding);
> @@ -166,7 +166,7 @@ static int check_gzip(request_rec *r, ap
>                     }
>                     found = 1;
>                 }
> -                else if (!ptr[0] || !ap_casecmpstr(ptr, "identity")) {
> +                else if (!ptr[0] || !strcasecmp(ptr, "identity")) {
>                     *token = '\0';
>                     continue; /* strip the token and find the next one */
>                 }
> @@ -744,7 +744,7 @@ static apr_status_t deflate_out_filter(a
>             }
> 
>             token = ap_get_token(r->pool, &accepts, 0);
> -            while (token && token[0] && ap_casecmpstr(token, "gzip")) {
> +            while (token && token[0] && strcasecmp(token, "gzip")) {
>                 /* skip parameters, XXX: ;q=foo evaluation? */
>                 while (*accepts == ';') {
>                     ++accepts;
> @@ -818,7 +818,7 @@ static apr_status_t deflate_out_filter(a
>          */
> 
>         /* If the entire Content-Encoding is "identity", we can replace it. */
> -        if (!encoding || !ap_casecmpstr(encoding, "identity")) {
> +        if (!encoding || !strcasecmp(encoding, "identity")) {
>             apr_table_setn(r->headers_out, "Content-Encoding", "gzip");
>         }
>         else {
> 
> Modified: httpd/httpd/trunk/modules/filters/mod_include.c
> URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/filters/mod_include.c?rev=1715869&r1=1715868&r2=1715869&view=diff
> ==============================================================================
> --- httpd/httpd/trunk/modules/filters/mod_include.c (original)
> +++ httpd/httpd/trunk/modules/filters/mod_include.c Mon Nov 23 16:28:36 2015
> @@ -620,16 +620,16 @@ static void add_include_vars(request_rec
> static const char *add_include_vars_lazy(request_rec *r, const char *var, const char *timefmt)
> {
>     char *val;
> -    if (!ap_casecmpstr(var, "DATE_LOCAL")) {
> +    if (!strcasecmp(var, "DATE_LOCAL")) {
>         val = ap_ht_time(r->pool, r->request_time, timefmt, 0);
>     }
> -    else if (!ap_casecmpstr(var, "DATE_GMT")) {
> +    else if (!strcasecmp(var, "DATE_GMT")) {
>         val = ap_ht_time(r->pool, r->request_time, timefmt, 1);
>     }
> -    else if (!ap_casecmpstr(var, "LAST_MODIFIED")) {
> +    else if (!strcasecmp(var, "LAST_MODIFIED")) {
>         val = ap_ht_time(r->pool, r->finfo.mtime, timefmt, 0);
>     }
> -    else if (!ap_casecmpstr(var, "USER_NAME")) {
> +    else if (!strcasecmp(var, "USER_NAME")) {
>         if (apr_uid_name_get(&val, r->finfo.user, r->pool) != APR_SUCCESS) {
>             val = "<unknown>";
>         }
> @@ -714,9 +714,9 @@ static int include_expr_lookup(ap_expr_l
> {
>     switch (parms->type) {
>     case AP_EXPR_FUNC_STRING:
> -        if (ap_casecmpstr(parms->name, "v") == 0 ||
> -            ap_casecmpstr(parms->name, "reqenv") == 0 ||
> -            ap_casecmpstr(parms->name, "env") == 0) {
> +        if (strcasecmp(parms->name, "v") == 0 ||
> +            strcasecmp(parms->name, "reqenv") == 0 ||
> +            strcasecmp(parms->name, "env") == 0) {
>             *parms->func = include_expr_var_fn;
>             *parms->data = parms->name;
>             return OK;
> @@ -1947,25 +1947,25 @@ static apr_status_t handle_echo(include_
>                 token = apr_strtok(d, ", \t", &last);
> 
>                 while (token) {
> -                    if (!ap_casecmpstr(token, "none")) {
> +                    if (!strcasecmp(token, "none")) {
>                         /* do nothing */
>                     }
> -                    else if (!ap_casecmpstr(token, "url")) {
> +                    else if (!strcasecmp(token, "url")) {
>                         char *buf = apr_pstrdup(ctx->pool, echo_text);
>                         ap_unescape_url(buf);
>                         echo_text = buf;
>                     }
> -                    else if (!ap_casecmpstr(token, "urlencoded")) {
> +                    else if (!strcasecmp(token, "urlencoded")) {
>                         char *buf = apr_pstrdup(ctx->pool, echo_text);
>                         ap_unescape_urlencoded(buf);
>                         echo_text = buf;
>                     }
> -                    else if (!ap_casecmpstr(token, "entity")) {
> +                    else if (!strcasecmp(token, "entity")) {
>                         char *buf = apr_pstrdup(ctx->pool, echo_text);
>                         decodehtml(buf);
>                         echo_text = buf;
>                     }
> -                    else if (!ap_casecmpstr(token, "base64")) {
> +                    else if (!strcasecmp(token, "base64")) {
>                         echo_text = ap_pbase64decode(ctx->dpool, echo_text);
>                     }
>                     else {
> @@ -1983,19 +1983,19 @@ static apr_status_t handle_echo(include_
>                 token = apr_strtok(e, ", \t", &last);
> 
>                 while (token) {
> -                    if (!ap_casecmpstr(token, "none")) {
> +                    if (!strcasecmp(token, "none")) {
>                         /* do nothing */
>                     }
> -                    else if (!ap_casecmpstr(token, "url")) {
> +                    else if (!strcasecmp(token, "url")) {
>                         echo_text = ap_escape_uri(ctx->dpool, echo_text);
>                     }
> -                    else if (!ap_casecmpstr(token, "urlencoded")) {
> +                    else if (!strcasecmp(token, "urlencoded")) {
>                         echo_text = ap_escape_urlencoded(ctx->dpool, echo_text);
>                     }
> -                    else if (!ap_casecmpstr(token, "entity")) {
> +                    else if (!strcasecmp(token, "entity")) {
>                         echo_text = ap_escape_html2(ctx->dpool, echo_text, 0);
>                     }
> -                    else if (!ap_casecmpstr(token, "base64")) {
> +                    else if (!strcasecmp(token, "base64")) {
>                         char *buf;
>                         buf = ap_pbase64encode(ctx->dpool, (char *)echo_text);
>                         echo_text = buf;
> @@ -2585,25 +2585,25 @@ static apr_status_t handle_set(include_c
>                 token = apr_strtok(d, ", \t", &last);
> 
>                 while (token) {
> -                    if (!ap_casecmpstr(token, "none")) {
> +                    if (!strcasecmp(token, "none")) {
>                         /* do nothing */
>                     }
> -                    else if (!ap_casecmpstr(token, "url")) {
> +                    else if (!strcasecmp(token, "url")) {
>                         char *buf = apr_pstrdup(ctx->pool, parsed_string);
>                         ap_unescape_url(buf);
>                         parsed_string = buf;
>                     }
> -                    else if (!ap_casecmpstr(token, "urlencoded")) {
> +                    else if (!strcasecmp(token, "urlencoded")) {
>                         char *buf = apr_pstrdup(ctx->pool, parsed_string);
>                         ap_unescape_urlencoded(buf);
>                         parsed_string = buf;
>                     }
> -                    else if (!ap_casecmpstr(token, "entity")) {
> +                    else if (!strcasecmp(token, "entity")) {
>                         char *buf = apr_pstrdup(ctx->pool, parsed_string);
>                         decodehtml(buf);
>                         parsed_string = buf;
>                     }
> -                    else if (!ap_casecmpstr(token, "base64")) {
> +                    else if (!strcasecmp(token, "base64")) {
>                         parsed_string = ap_pbase64decode(ctx->dpool, parsed_string);
>                     }
>                     else {
> @@ -2621,19 +2621,19 @@ static apr_status_t handle_set(include_c
>                 token = apr_strtok(e, ", \t", &last);
> 
>                 while (token) {
> -                    if (!ap_casecmpstr(token, "none")) {
> +                    if (!strcasecmp(token, "none")) {
>                         /* do nothing */
>                     }
> -                    else if (!ap_casecmpstr(token, "url")) {
> +                    else if (!strcasecmp(token, "url")) {
>                         parsed_string = ap_escape_uri(ctx->dpool, parsed_string);
>                     }
> -                    else if (!ap_casecmpstr(token, "urlencoded")) {
> +                    else if (!strcasecmp(token, "urlencoded")) {
>                         parsed_string = ap_escape_urlencoded(ctx->dpool, parsed_string);
>                     }
> -                    else if (!ap_casecmpstr(token, "entity")) {
> +                    else if (!strcasecmp(token, "entity")) {
>                         parsed_string = ap_escape_html2(ctx->dpool, parsed_string, 0);
>                     }
> -                    else if (!ap_casecmpstr(token, "base64")) {
> +                    else if (!strcasecmp(token, "base64")) {
>                         char *buf;
>                         buf = ap_pbase64encode(ctx->dpool, (char *)parsed_string);
>                         parsed_string = buf;
> 
> Modified: httpd/httpd/trunk/modules/filters/mod_proxy_html.c
> URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/filters/mod_proxy_html.c?rev=1715869&r1=1715868&r2=1715869&view=diff
> ==============================================================================
> --- httpd/httpd/trunk/modules/filters/mod_proxy_html.c (original)
> +++ httpd/httpd/trunk/modules/filters/mod_proxy_html.c Mon Nov 23 16:28:36 2015
> @@ -295,8 +295,8 @@ static void pinternalSubset(void* ctxt,
>     }
>     ap_fputstrs(ctx->f->next, ctx->bb, "<!DOCTYPE ", (const char *)name, NULL);
>     if (externalID) {
> -        if (!ap_casecmpstr((const char*)name, "html") &&
> -            !ap_casecmpstrn((const char *)externalID, "-//W3C//DTD XHTML ", 18)) {
> +        if (!strcasecmp((const char*)name, "html") &&
> +            !strncasecmp((const char *)externalID, "-//W3C//DTD XHTML ", 18)) {
>             ctx->etag = xhtml_etag;
>         }
>         else {
> @@ -690,7 +690,7 @@ static meta *metafix(request_rec *r, con
>         while (!apr_isalpha(*++p));
>         for (q = p; apr_isalnum(*q) || (*q == '-'); ++q);
>         header = apr_pstrndup(r->pool, p, q-p);
> -        if (ap_casecmpstrn(header, "Content-", 8)) {
> +        if (strncasecmp(header, "Content-", 8)) {
>             /* find content=... string */
>             p = apr_strmatch(seek_content, buf+offs+pmatch[0].rm_so,
>                               pmatch[0].rm_eo - pmatch[0].rm_so);
> @@ -718,7 +718,7 @@ static meta *metafix(request_rec *r, con
>                 }
>             }
>         }
> -        else if (!ap_casecmpstrn(header, "Content-Type", 12)) {
> +        else if (!strncasecmp(header, "Content-Type", 12)) {
>             ret = apr_palloc(r->pool, sizeof(meta));
>             ret->start = offs+pmatch[0].rm_so;
>             ret->end = offs+pmatch[0].rm_eo;
> @@ -842,8 +842,8 @@ static saxctxt *check_filter_init (ap_fi
>             else if (!f->r->content_type) {
>                 errmsg = "No content-type; bailing out of proxy-html filter";
>             }
> -            else if (ap_casecmpstrn(f->r->content_type, "text/html", 9) &&
> -                     ap_casecmpstrn(f->r->content_type,
> +            else if (strncasecmp(f->r->content_type, "text/html", 9) &&
> +                     strncasecmp(f->r->content_type,
>                                  "application/xhtml+xml", 21)) {
>                 errmsg = "Non-HTML content; not inserting proxy-html filter";
>             }
> 
> Modified: httpd/httpd/trunk/modules/generators/mod_autoindex.c
> URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/generators/mod_autoindex.c?rev=1715869&r1=1715868&r2=1715869&view=diff
> ==============================================================================
> --- httpd/httpd/trunk/modules/generators/mod_autoindex.c (original)
> +++ httpd/httpd/trunk/modules/generators/mod_autoindex.c Mon Nov 23 16:28:36 2015
> @@ -1068,7 +1068,7 @@ static void emit_head(request_rec *r, ch
>                     emit_H1 = 1;
>                 }
>             }
> -            else if (!ap_casecmpstrn("text/", rr->content_type, 5)) {
> +            else if (!strncasecmp("text/", rr->content_type, 5)) {
>                 /*
>                  * If we can open the file, prefix it with the preamble
>                  * regardless; since we'll be sending a <pre> block around
> @@ -1163,7 +1163,7 @@ static void emit_tail(request_rec *r, ch
>                     suppress_post = suppress_amble;
>                 }
>             }
> -            else if (!ap_casecmpstrn("text/", rr->content_type, 5)) {
> +            else if (!strncasecmp("text/", rr->content_type, 5)) {
>                 /*
>                  * If we can open the file, suppress the signature.
>                  */
> 
> Modified: httpd/httpd/trunk/modules/generators/mod_cgi.c
> URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/generators/mod_cgi.c?rev=1715869&r1=1715868&r2=1715869&view=diff
> ==============================================================================
> --- httpd/httpd/trunk/modules/generators/mod_cgi.c (original)
> +++ httpd/httpd/trunk/modules/generators/mod_cgi.c Mon Nov 23 16:28:36 2015
> @@ -78,7 +78,7 @@ static void discard_script_output(apr_bu
> static int is_scriptaliased(request_rec *r)
> {
>     const char *t = apr_table_get(r->notes, "alias-forced-type");
> -    return t && (!ap_casecmpstr(t, "cgi-script"));
> +    return t && (!strcasecmp(t, "cgi-script"));
> }
> 
> /* Configuration stuff */
> 
> Modified: httpd/httpd/trunk/modules/generators/mod_cgid.c
> URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/generators/mod_cgid.c?rev=1715869&r1=1715868&r2=1715869&view=diff
> ==============================================================================
> --- httpd/httpd/trunk/modules/generators/mod_cgid.c (original)
> +++ httpd/httpd/trunk/modules/generators/mod_cgid.c Mon Nov 23 16:28:36 2015
> @@ -131,7 +131,7 @@ static ap_unix_identity_t *cgid_suexec_i
> static int is_scriptaliased(request_rec *r)
> {
>     const char *t = apr_table_get(r->notes, "alias-forced-type");
> -    return t && (!ap_casecmpstr(t, "cgi-script"));
> +    return t && (!strcasecmp(t, "cgi-script"));
> }
> 
> /* Configuration stuff */
> 
> Modified: httpd/httpd/trunk/modules/http/byterange_filter.c
> URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/http/byterange_filter.c?rev=1715869&r1=1715868&r2=1715869&view=diff
> ==============================================================================
> --- httpd/httpd/trunk/modules/http/byterange_filter.c (original)
> +++ httpd/httpd/trunk/modules/http/byterange_filter.c Mon Nov 23 16:28:36 2015
> @@ -101,7 +101,7 @@ static int ap_set_byterange(request_rec
>     }
> 
>     range = apr_table_get(r->headers_in, "Range");
> -    if (!range || ap_casecmpstrn(range, "bytes=", 6) || r->status != HTTP_OK) {
> +    if (!range || strncasecmp(range, "bytes=", 6) || r->status != HTTP_OK) {
>         return 0;
>     }
> 
> @@ -112,7 +112,7 @@ static int ap_set_byterange(request_rec
> 
>     /* is content already a multiple range? */
>     if ((ct = apr_table_get(r->headers_out, "Content-Type"))
> -        && ap_casecmpstrn(ct, "multipart/byteranges", 20) == 0) {
> +        && strncasecmp(ct, "multipart/byteranges", 20) == 0) {
>             return 0;
>     }
> 
> 
> Modified: httpd/httpd/trunk/modules/http/http_filters.c
> URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/http/http_filters.c?rev=1715869&r1=1715868&r2=1715869&view=diff
> ==============================================================================
> --- httpd/httpd/trunk/modules/http/http_filters.c (original)
> +++ httpd/httpd/trunk/modules/http/http_filters.c Mon Nov 23 16:28:36 2015
> @@ -317,7 +317,7 @@ apr_status_t ap_http_filter(ap_filter_t
>         lenp = apr_table_get(f->r->headers_in, "Content-Length");
> 
>         if (tenc) {
> -            if (ap_casecmpstr(tenc, "chunked") == 0 /* fast path */
> +            if (strcasecmp(tenc, "chunked") == 0 /* fast path */
>                     || ap_find_last_token(f->r->pool, tenc, "chunked")) {
>                 ctx->state = BODY_CHUNK;
>             }
> @@ -764,7 +764,7 @@ static int uniq_field_values(void *d, co
>          */
>         for (i = 0, strpp = (char **) values->elts; i < values->nelts;
>              ++i, ++strpp) {
> -            if (*strpp && ap_casecmpstr(*strpp, start) == 0) {
> +            if (*strpp && strcasecmp(*strpp, start) == 0) {
>                 break;
>             }
>         }
> @@ -1543,7 +1543,7 @@ AP_DECLARE(int) ap_setup_client_block(re
>     r->remaining = 0;
> 
>     if (tenc) {
> -        if (ap_casecmpstr(tenc, "chunked")) {
> +        if (strcasecmp(tenc, "chunked")) {
>             ap_log_rerror(APLOG_MARK, APLOG_INFO, 0, r, APLOGNO(01592)
>                           "Unknown Transfer-Encoding %s", tenc);
>             return HTTP_NOT_IMPLEMENTED;
> 
> Modified: httpd/httpd/trunk/modules/http2/h2_from_h1.c
> URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/http2/h2_from_h1.c?rev=1715869&r1=1715868&r2=1715869&view=diff
> ==============================================================================
> --- httpd/httpd/trunk/modules/http2/h2_from_h1.c (original)
> +++ httpd/httpd/trunk/modules/http2/h2_from_h1.c Mon Nov 23 16:28:36 2015
> @@ -262,7 +262,7 @@ static int uniq_field_values(void *d, co
>          */
>         for (i = 0, strpp = (char **) values->elts; i < values->nelts;
>              ++i, ++strpp) {
> -            if (*strpp && ap_casecmpstr(*strpp, start) == 0) {
> +            if (*strpp && strcasecmp(*strpp, start) == 0) {
>                 break;
>             }
>         }
> 
> Modified: httpd/httpd/trunk/modules/loggers/mod_log_config.c
> URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/loggers/mod_log_config.c?rev=1715869&r1=1715868&r2=1715869&view=diff
> ==============================================================================
> --- httpd/httpd/trunk/modules/loggers/mod_log_config.c (original)
> +++ httpd/httpd/trunk/modules/loggers/mod_log_config.c Mon Nov 23 16:28:36 2015
> @@ -497,7 +497,7 @@ static APR_INLINE char *find_multiple_he
>     result_list = rp = NULL;
> 
>     do {
> -        if (!ap_casecmpstr(t_elt->key, key)) {
> +        if (!strcasecmp(t_elt->key, key)) {
>             if (!result_list) {
>                 result_list = rp = apr_palloc(pool, sizeof(*rp));
>             }
> @@ -541,10 +541,10 @@ static const char *log_header_out(reques
> {
>     const char *cp = NULL;
> 
> -    if (!ap_casecmpstr(a, "Content-type") && r->content_type) {
> +    if (!strcasecmp(a, "Content-type") && r->content_type) {
>         cp = ap_field_noparam(r->pool, r->content_type);
>     }
> -    else if (!ap_casecmpstr(a, "Set-Cookie")) {
> +    else if (!strcasecmp(a, "Set-Cookie")) {
>         cp = find_multiple_headers(r->pool, r->headers_out, a);
>     }
>     else {
> @@ -808,13 +808,13 @@ static const char *log_request_duration_
> static const char *log_request_duration_scaled(request_rec *r, char *a)
> {
>     apr_time_t duration = get_request_end_time(r) - r->request_time;
> -    if (*a == '\0' || !ap_casecmpstr(a, "s")) {
> +    if (*a == '\0' || !strcasecmp(a, "s")) {
>         duration = apr_time_sec(duration);
>     }
> -    else if (!ap_casecmpstr(a, "ms")) {
> +    else if (!strcasecmp(a, "ms")) {
>         duration = apr_time_as_msec(duration);
>     }
> -    else if (!ap_casecmpstr(a, "us")) {
> +    else if (!strcasecmp(a, "us")) {
>     }
>     else {
>         /* bogus format */
> @@ -835,13 +835,13 @@ static const char *log_server_port(reque
> {
>     apr_port_t port;
> 
> -    if (*a == '\0' || !ap_casecmpstr(a, "canonical")) {
> +    if (*a == '\0' || !strcasecmp(a, "canonical")) {
>         port = r->server->port ? r->server->port : ap_default_port(r);
>     }
> -    else if (!ap_casecmpstr(a, "remote")) {
> +    else if (!strcasecmp(a, "remote")) {
>         port = r->useragent_addr->port;
>     }
> -    else if (!ap_casecmpstr(a, "local")) {
> +    else if (!strcasecmp(a, "local")) {
>         port = r->connection->local_addr->port;
>     }
>     else {
> @@ -861,10 +861,10 @@ static const char *log_server_name(reque
> 
> static const char *log_pid_tid(request_rec *r, char *a)
> {
> -    if (*a == '\0' || !ap_casecmpstr(a, "pid")) {
> +    if (*a == '\0' || !strcasecmp(a, "pid")) {
>         return ap_append_pid(r->pool, "", "");
>     }
> -    else if (!ap_casecmpstr(a, "tid") || !ap_casecmpstr(a, "hextid")) {
> +    else if (!strcasecmp(a, "tid") || !strcasecmp(a, "hextid")) {
> #if APR_HAS_THREADS
>         apr_os_thread_t tid = apr_os_thread_current();
> #else
> @@ -1335,14 +1335,14 @@ static const char *add_custom_log(cmd_pa
>     cls->condition_var = NULL;
>     cls->condition_expr = NULL;
>     if (envclause != NULL) {
> -        if (ap_casecmpstrn(envclause, "env=", 4) == 0) {
> +        if (strncasecmp(envclause, "env=", 4) == 0) {
>             if ((envclause[4] == '\0')
>                 || ((envclause[4] == '!') && (envclause[5] == '\0'))) {
>                 return "missing environment variable name";
>             }
>             cls->condition_var = apr_pstrdup(cmd->pool, &envclause[4]);
>         }
> -        else if (ap_casecmpstrn(envclause, "expr=", 5) == 0) {
> +        else if (strncasecmp(envclause, "expr=", 5) == 0) {
>             const char *err;
>             if ((envclause[5] == '\0'))
>                 return "missing condition";
> 
> Modified: httpd/httpd/trunk/modules/mappers/mod_rewrite.c
> URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/mappers/mod_rewrite.c?rev=1715869&r1=1715868&r2=1715869&view=diff
> ==============================================================================
> --- httpd/httpd/trunk/modules/mappers/mod_rewrite.c (original)
> +++ httpd/httpd/trunk/modules/mappers/mod_rewrite.c Mon Nov 23 16:28:36 2015
> @@ -525,7 +525,7 @@ static unsigned is_absolute_uri(char *ur
>     switch (*uri++) {
>     case 'a':
>     case 'A':
> -        if (!ap_casecmpstrn(uri, "jp://", 5)) {        /* ajp://    */
> +        if (!strncasecmp(uri, "jp://", 5)) {        /* ajp://    */
>           *sqs = 1;
>           return 6;
>         }
> @@ -533,7 +533,7 @@ static unsigned is_absolute_uri(char *ur
> 
>     case 'b':
>     case 'B':
> -        if (!ap_casecmpstrn(uri, "alancer://", 10)) {   /* balancer:// */
> +        if (!strncasecmp(uri, "alancer://", 10)) {   /* balancer:// */
>           *sqs = 1;
>           return 11;
>         }
> @@ -541,10 +541,10 @@ static unsigned is_absolute_uri(char *ur
> 
>     case 'f':
>     case 'F':
> -        if (!ap_casecmpstrn(uri, "tp://", 5)) {        /* ftp://    */
> +        if (!strncasecmp(uri, "tp://", 5)) {        /* ftp://    */
>             return 6;
>         }
> -        if (!ap_casecmpstrn(uri, "cgi://", 6)) {       /* fcgi://   */
> +        if (!strncasecmp(uri, "cgi://", 6)) {       /* fcgi://   */
>             *sqs = 1;
>             return 7;
>         }
> @@ -552,18 +552,18 @@ static unsigned is_absolute_uri(char *ur
> 
>     case 'g':
>     case 'G':
> -        if (!ap_casecmpstrn(uri, "opher://", 8)) {     /* gopher:// */
> +        if (!strncasecmp(uri, "opher://", 8)) {     /* gopher:// */
>             return 9;
>         }
>         break;
> 
>     case 'h':
>     case 'H':
> -        if (!ap_casecmpstrn(uri, "ttp://", 6)) {       /* http://   */
> +        if (!strncasecmp(uri, "ttp://", 6)) {       /* http://   */
>             *sqs = 1;
>             return 7;
>         }
> -        else if (!ap_casecmpstrn(uri, "ttps://", 7)) { /* https://  */
> +        else if (!strncasecmp(uri, "ttps://", 7)) { /* https://  */
>             *sqs = 1;
>             return 8;
>         }
> @@ -571,14 +571,14 @@ static unsigned is_absolute_uri(char *ur
> 
>     case 'l':
>     case 'L':
> -        if (!ap_casecmpstrn(uri, "dap://", 6)) {       /* ldap://   */
> +        if (!strncasecmp(uri, "dap://", 6)) {       /* ldap://   */
>             return 7;
>         }
>         break;
> 
>     case 'm':
>     case 'M':
> -        if (!ap_casecmpstrn(uri, "ailto:", 6)) {       /* mailto:   */
> +        if (!strncasecmp(uri, "ailto:", 6)) {       /* mailto:   */
>             *sqs = 1;
>             return 7;
>         }
> @@ -586,17 +586,17 @@ static unsigned is_absolute_uri(char *ur
> 
>     case 'n':
>     case 'N':
> -        if (!ap_casecmpstrn(uri, "ews:", 4)) {         /* news:     */
> +        if (!strncasecmp(uri, "ews:", 4)) {         /* news:     */
>             return 5;
>         }
> -        else if (!ap_casecmpstrn(uri, "ntp://", 6)) {  /* nntp://   */
> +        else if (!strncasecmp(uri, "ntp://", 6)) {  /* nntp://   */
>             return 7;
>         }
>         break;
> 
>     case 's':
>     case 'S':
> -        if (!ap_casecmpstrn(uri, "cgi://", 6)) {       /* scgi://   */
> +        if (!strncasecmp(uri, "cgi://", 6)) {       /* scgi://   */
>             *sqs = 1;
>             return 7;
>         }
> @@ -604,11 +604,11 @@ static unsigned is_absolute_uri(char *ur
> 
>     case 'w':
>     case 'W':
> -        if (!ap_casecmpstrn(uri, "s://", 4)) {        /* ws://     */
> +        if (!strncasecmp(uri, "s://", 4)) {        /* ws://     */
>             *sqs = 1;
>             return 5;
>         }
> -        else if (!ap_casecmpstrn(uri, "ss://", 5)) {  /* wss://    */
> +        else if (!strncasecmp(uri, "ss://", 5)) {  /* wss://    */
>             *sqs = 1;
>             return 6;
>         }
> @@ -716,7 +716,7 @@ static char *escape_absolute_uri(apr_poo
>          *               [dn ["?" [attributes] ["?" [scope]
>          *               ["?" [filter] ["?" extensions]]]]]]
>          */
> -        if (!ap_casecmpstrn(uri, "ldap", 4)) {
> +        if (!strncasecmp(uri, "ldap", 4)) {
>             char *token[5];
>             int c = 0;
> 
> @@ -1576,7 +1576,7 @@ static char *lookup_map_program(request_
>     }
> 
>     /* catch the "failed" case */
> -    if (i == 4 && !ap_casecmpstr(buf, "NULL")) {
> +    if (i == 4 && !strcasecmp(buf, "NULL")) {
>         return NULL;
>     }
> 
> @@ -1829,7 +1829,7 @@ static char *lookup_variable(char *var,
> 
>     /* fast tests for variable length variables (sic) first */
>     if (var[3] == ':') {
> -        if (var[4] && !ap_casecmpstrn(var, "ENV", 3)) {
> +        if (var[4] && !strncasecmp(var, "ENV", 3)) {
>             var += 4;
>             result = apr_table_get(r->notes, var);
> 
> @@ -1840,7 +1840,7 @@ static char *lookup_variable(char *var,
>                 result = getenv(var);
>             }
>         }
> -        else if (var[4] && !ap_casecmpstrn(var, "SSL", 3) && rewrite_ssl_lookup) {
> +        else if (var[4] && !strncasecmp(var, "SSL", 3) && rewrite_ssl_lookup) {
>             result = rewrite_ssl_lookup(r->pool, r->server, r->connection, r,
>                                         var + 4);
>         }
> @@ -1850,10 +1850,10 @@ static char *lookup_variable(char *var,
>             request_rec *rr;
>             const char *path;
> 
> -            if (!ap_casecmpstrn(var, "HTTP", 4)) {
> +            if (!strncasecmp(var, "HTTP", 4)) {
>                 result = lookup_header(var+5, ctx);
>             }
> -            else if (!ap_casecmpstrn(var, "LA-U", 4)) {
> +            else if (!strncasecmp(var, "LA-U", 4)) {
>                 if (ctx->uri && subreq_ok(r)) {
>                     path = ctx->perdir ? la_u(ctx) : ctx->uri;
>                     rr = ap_sub_req_lookup_uri(path, r, NULL);
> @@ -1868,7 +1868,7 @@ static char *lookup_variable(char *var,
>                     return (char *)result;
>                 }
>             }
> -            else if (!ap_casecmpstrn(var, "LA-F", 4)) {
> +            else if (!strncasecmp(var, "LA-F", 4)) {
>                 if (ctx->uri && subreq_ok(r)) {
>                     path = ctx->uri;
>                     if (ctx->perdir && *path == '/') {
> @@ -2575,14 +2575,14 @@ static void add_cookie(request_rec *r, c
>                                  : NULL,
>                                  expires ? (exp_time ? exp_time : "")
>                                  : NULL,
> -                                 (secure && (!ap_casecmpstr(secure, "true")
> +                                 (secure && (!strcasecmp(secure, "true")
>                                              || !strcmp(secure, "1")
> -                                             || !ap_casecmpstr(secure,
> +                                             || !strcasecmp(secure,
>                                                             "secure"))) ?
>                                   "; secure" : NULL,
> -                                 (httponly && (!ap_casecmpstr(httponly, "true")
> +                                 (httponly && (!strcasecmp(httponly, "true")
>                                                || !strcmp(httponly, "1")
> -                                               || !ap_casecmpstr(httponly,
> +                                               || !strcasecmp(httponly,
>                                                               "HttpOnly"))) ?
>                                   "; HttpOnly" : NULL,
>                                  NULL);
> 
> Modified: httpd/httpd/trunk/modules/metadata/mod_cern_meta.c
> URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/metadata/mod_cern_meta.c?rev=1715869&r1=1715868&r2=1715869&view=diff
> ==============================================================================
> --- httpd/httpd/trunk/modules/metadata/mod_cern_meta.c (original)
> +++ httpd/httpd/trunk/modules/metadata/mod_cern_meta.c Mon Nov 23 16:28:36 2015
> @@ -240,7 +240,7 @@ static int scan_meta_file(request_rec *r
>         while (apr_isspace(*l))
>             ++l;
> 
> -        if (!ap_casecmpstr(w, "Content-type")) {
> +        if (!strcasecmp(w, "Content-type")) {
>             char *tmp;
>             /* Nuke trailing whitespace */
> 
> @@ -252,7 +252,7 @@ static int scan_meta_file(request_rec *r
>             ap_content_type_tolower(tmp);
>             ap_set_content_type(r, tmp);
>         }
> -        else if (!ap_casecmpstr(w, "Status")) {
> +        else if (!strcasecmp(w, "Status")) {
>             sscanf(l, "%d", &r->status);
>             r->status_line = apr_pstrdup(r->pool, l);
>         }
> 
> Modified: httpd/httpd/trunk/modules/metadata/mod_headers.c
> URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/metadata/mod_headers.c?rev=1715869&r1=1715868&r2=1715869&view=diff
> ==============================================================================
> --- httpd/httpd/trunk/modules/metadata/mod_headers.c (original)
> +++ httpd/httpd/trunk/modules/metadata/mod_headers.c Mon Nov 23 16:28:36 2015
> @@ -789,14 +789,14 @@ static int do_headers_fixup(request_rec
>             }
>             break;
>         case hdr_set:
> -            if (!ap_casecmpstr(hdr->header, "Content-Type")) {
> +            if (!strcasecmp(hdr->header, "Content-Type")) {
>                  ap_set_content_type(r, process_tags(hdr, r));
>             }
>             apr_table_setn(headers, hdr->header, process_tags(hdr, r));
>             break;
>         case hdr_setifempty:
>             if (NULL == apr_table_get(headers, hdr->header)) {
> -                if (!ap_casecmpstr(hdr->header, "Content-Type")) {
> +                if (!strcasecmp(hdr->header, "Content-Type")) {
>                     ap_set_content_type(r, process_tags(hdr, r));
>                 }
>                 apr_table_setn(headers, hdr->header, process_tags(hdr, r));
> @@ -813,7 +813,7 @@ static int do_headers_fixup(request_rec
>             break;
>         case hdr_edit:
>         case hdr_edit_r:
> -            if (!ap_casecmpstr(hdr->header, "Content-Type") && r->content_type) {
> +            if (!strcasecmp(hdr->header, "Content-Type") && r->content_type) {
>                 const char *repl = process_regexp(hdr, r->content_type, r);
>                 if (repl == NULL)
>                     return 0;
> 
> Modified: httpd/httpd/trunk/modules/proxy/ajp_header.c
> URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/proxy/ajp_header.c?rev=1715869&r1=1715868&r2=1715869&view=diff
> ==============================================================================
> --- httpd/httpd/trunk/modules/proxy/ajp_header.c (original)
> +++ httpd/httpd/trunk/modules/proxy/ajp_header.c Mon Nov 23 16:28:36 2015
> @@ -633,15 +633,15 @@ static apr_status_t ajp_unmarshal_respon
>         }
> 
>         /* Set-Cookie need additional processing */
> -        if (!ap_casecmpstr(stringname, "Set-Cookie")) {
> +        if (!strcasecmp(stringname, "Set-Cookie")) {
>             value = ap_proxy_cookie_reverse_map(r, dconf, value);
>         }
>         /* Location, Content-Location, URI and Destination need additional
>          * processing */
> -        else if (!ap_casecmpstr(stringname, "Location")
> -                 || !ap_casecmpstr(stringname, "Content-Location")
> -                 || !ap_casecmpstr(stringname, "URI")
> -                 || !ap_casecmpstr(stringname, "Destination"))
> +        else if (!strcasecmp(stringname, "Location")
> +                 || !strcasecmp(stringname, "Content-Location")
> +                 || !strcasecmp(stringname, "URI")
> +                 || !strcasecmp(stringname, "Destination"))
>         {
>           value = ap_proxy_location_reverse_map(r, dconf, value);
>         }
> @@ -654,7 +654,7 @@ static apr_status_t ajp_unmarshal_respon
>         apr_table_add(r->headers_out, stringname, value);
> 
>         /* Content-type needs an additional handling */
> -        if (ap_casecmpstr(stringname, "Content-Type") == 0) {
> +        if (strcasecmp(stringname, "Content-Type") == 0) {
>              /* add corresponding filter */
>             ap_set_content_type(r, apr_pstrdup(r->pool, value));
>             ap_log_rerror(APLOG_MARK, APLOG_TRACE5, 0, r,
> 
> Modified: httpd/httpd/trunk/modules/proxy/mod_proxy.c
> URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/proxy/mod_proxy.c?rev=1715869&r1=1715868&r2=1715869&view=diff
> ==============================================================================
> --- httpd/httpd/trunk/modules/proxy/mod_proxy.c (original)
> +++ httpd/httpd/trunk/modules/proxy/mod_proxy.c Mon Nov 23 16:28:36 2015
> @@ -1105,9 +1105,9 @@ static int proxy_handler(request_rec *r)
>                 if (strcmp(ents[i].scheme, "*") == 0 ||
>                     (ents[i].use_regex &&
>                      ap_regexec(ents[i].regexp, url, 0, NULL, 0) == 0) ||
> -                    (p2 == NULL && ap_casecmpstr(scheme, ents[i].scheme) == 0) ||
> +                    (p2 == NULL && strcasecmp(scheme, ents[i].scheme) == 0) ||
>                     (p2 != NULL &&
> -                    ap_casecmpstrn(url, ents[i].scheme,
> +                    strncasecmp(url, ents[i].scheme,
>                                 strlen(ents[i].scheme)) == 0)) {
> 
>                     /* handle the scheme */
> @@ -1593,7 +1593,7 @@ PROXY_DECLARE(const char *) ap_proxy_de_
>      * We could be passed a URL during the config stage that contains
>      * the UDS path... ignore it
>      */
> -    if (!ap_casecmpstrn(url, "unix:", 5) &&
> +    if (!strncasecmp(url, "unix:", 5) &&
>         ((ptr = ap_strchr_c(url, '|')) != NULL)) {
>         /* move past the 'unix:...|' UDS path info */
>         const char *ret, *c;
> 
> Modified: httpd/httpd/trunk/modules/proxy/mod_proxy_ajp.c
> URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/proxy/mod_proxy_ajp.c?rev=1715869&r1=1715868&r2=1715869&view=diff
> ==============================================================================
> --- httpd/httpd/trunk/modules/proxy/mod_proxy_ajp.c (original)
> +++ httpd/httpd/trunk/modules/proxy/mod_proxy_ajp.c Mon Nov 23 16:28:36 2015
> @@ -35,7 +35,7 @@ static int proxy_ajp_canon(request_rec *
>     apr_port_t port, def_port;
> 
>     /* ap_port_of_scheme() */
> -    if (ap_casecmpstrn(url, "ajp:", 4) == 0) {
> +    if (strncasecmp(url, "ajp:", 4) == 0) {
>         url += 4;
>     }
>     else {
> @@ -243,7 +243,7 @@ static int ap_proxy_ajp_request(apr_pool
>     /* read the first bloc of data */
>     input_brigade = apr_brigade_create(p, r->connection->bucket_alloc);
>     tenc = apr_table_get(r->headers_in, "Transfer-Encoding");
> -    if (tenc && (ap_casecmpstr(tenc, "chunked") == 0)) {
> +    if (tenc && (strcasecmp(tenc, "chunked") == 0)) {
>         /* The AJP protocol does not want body data yet */
>         ap_log_rerror(APLOG_MARK, APLOG_DEBUG, 0, r, APLOGNO(00870) "request is chunked");
>     } else {
> @@ -746,7 +746,7 @@ static int proxy_ajp_handler(request_rec
>     apr_pool_t *p = r->pool;
>     apr_uri_t *uri;
> 
> -    if (ap_casecmpstrn(url, "ajp:", 4) != 0) {
> +    if (strncasecmp(url, "ajp:", 4) != 0) {
>         ap_log_rerror(APLOG_MARK, APLOG_DEBUG, 0, r, APLOGNO(00894) "declining URL %s", url);
>         return DECLINED;
>     }
> 
> Modified: httpd/httpd/trunk/modules/proxy/mod_proxy_balancer.c
> URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/proxy/mod_proxy_balancer.c?rev=1715869&r1=1715868&r2=1715869&view=diff
> ==============================================================================
> --- httpd/httpd/trunk/modules/proxy/mod_proxy_balancer.c (original)
> +++ httpd/httpd/trunk/modules/proxy/mod_proxy_balancer.c Mon Nov 23 16:28:36 2015
> @@ -63,7 +63,7 @@ static int proxy_balancer_canon(request_
>     apr_port_t port = 0;
> 
>     /* TODO: offset of BALANCER_PREFIX ?? */
> -    if (ap_casecmpstrn(url, "balancer:", 9) == 0) {
> +    if (strncasecmp(url, "balancer:", 9) == 0) {
>         url += 9;
>     }
>     else {
> @@ -1380,7 +1380,7 @@ static int balancer_handler(request_rec
>                 ap_rprintf(r, "          <httpd:lbset>%d</httpd:lbset>\n",
>                            worker->s->lbset);
>                 /* End proxy_worker_stat */
> -                if (!ap_casecmpstr(worker->s->scheme, "ajp")) {
> +                if (!strcasecmp(worker->s->scheme, "ajp")) {
>                     ap_rputs("          <httpd:flushpackets>", r);
>                     switch (worker->s->flush_packets) {
>                         case flush_off:
> 
> Modified: httpd/httpd/trunk/modules/proxy/mod_proxy_fcgi.c
> URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/proxy/mod_proxy_fcgi.c?rev=1715869&r1=1715868&r2=1715869&view=diff
> ==============================================================================
> --- httpd/httpd/trunk/modules/proxy/mod_proxy_fcgi.c (original)
> +++ httpd/httpd/trunk/modules/proxy/mod_proxy_fcgi.c Mon Nov 23 16:28:36 2015
> @@ -39,7 +39,7 @@ static int proxy_fcgi_canon(request_rec
>     fcgi_req_config_t *rconf = NULL;
>     const char *pathinfo_type = NULL;
> 
> -    if (ap_casecmpstrn(url, "fcgi:", 5) == 0) {
> +    if (strncasecmp(url, "fcgi:", 5) == 0) {
>         url += 5;
>     }
>     else {
> @@ -878,7 +878,7 @@ static int proxy_fcgi_handler(request_re
>                   "url: %s proxyname: %s proxyport: %d",
>                  url, proxyname, proxyport);
> 
> -    if (ap_casecmpstrn(url, "fcgi:", 5) != 0) {
> +    if (strncasecmp(url, "fcgi:", 5) != 0) {
>         ap_log_rerror(APLOG_MARK, APLOG_DEBUG, 0, r, APLOGNO(01077) "declining URL %s", url);
>         return DECLINED;
>     }
> 
> Modified: httpd/httpd/trunk/modules/proxy/mod_proxy_fdpass.c
> URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/proxy/mod_proxy_fdpass.c?rev=1715869&r1=1715868&r2=1715869&view=diff
> ==============================================================================
> --- httpd/httpd/trunk/modules/proxy/mod_proxy_fdpass.c (original)
> +++ httpd/httpd/trunk/modules/proxy/mod_proxy_fdpass.c Mon Nov 23 16:28:36 2015
> @@ -32,7 +32,7 @@ static int proxy_fdpass_canon(request_re
> {
>     const char *path;
> 
> -    if (ap_casecmpstrn(url, "fd://", 5) == 0) {
> +    if (strncasecmp(url, "fd://", 5) == 0) {
>         url += 5;
>     }
>     else {
> @@ -132,7 +132,7 @@ static int proxy_fdpass_handler(request_
>     apr_socket_t *sock;
>     apr_socket_t *clientsock;
> 
> -    if (ap_casecmpstrn(url, "fd://", 5) == 0) {
> +    if (strncasecmp(url, "fd://", 5) == 0) {
>         url += 5;
>     }
>     else {
> 
> Modified: httpd/httpd/trunk/modules/proxy/mod_proxy_ftp.c
> URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/proxy/mod_proxy_ftp.c?rev=1715869&r1=1715868&r2=1715869&view=diff
> ==============================================================================
> --- httpd/httpd/trunk/modules/proxy/mod_proxy_ftp.c (original)
> +++ httpd/httpd/trunk/modules/proxy/mod_proxy_ftp.c Mon Nov 23 16:28:36 2015
> @@ -294,7 +294,7 @@ static int proxy_ftp_canon(request_rec *
>     apr_port_t port, def_port;
> 
>     /* */
> -    if (ap_casecmpstrn(url, "ftp:", 4) == 0) {
> +    if (strncasecmp(url, "ftp:", 4) == 0) {
>         url += 4;
>     }
>     else {
> @@ -494,7 +494,7 @@ static apr_status_t proxy_send_dir_filte
>         path = apr_uri_unparse(p, &f->r->parsed_uri, APR_URI_UNP_OMITSITEPART | APR_URI_UNP_OMITQUERY);
> 
>         /* If path began with /%2f, change the basedir */
> -        if (ap_casecmpstrn(path, "/%2f", 4) == 0) {
> +        if (strncasecmp(path, "/%2f", 4) == 0) {
>             basedir = "/%2f";
>         }
> 
> @@ -1011,7 +1011,7 @@ static int proxy_ftp_handler(request_rec
>                       proxyhost);
>         return DECLINED;        /* proxy connections are via HTTP */
>     }
> -    if (ap_casecmpstrn(url, "ftp:", 4)) {
> +    if (strncasecmp(url, "ftp:", 4)) {
>         ap_log_rerror(APLOG_MARK, APLOG_TRACE3, 0, r,
>                       "declining URL %s - not ftp:", url);
>         return DECLINED;        /* only interested in FTP */
> @@ -1082,7 +1082,7 @@ static int proxy_ftp_handler(request_rec
>      * still smaller that the URL is logged regularly.
>      */
>     if ((password = apr_table_get(r->headers_in, "Authorization")) != NULL
> -        && ap_casecmpstr(ap_getword(r->pool, &password, ' '), "Basic") == 0
> +        && strcasecmp(ap_getword(r->pool, &password, ' '), "Basic") == 0
>         && (password = ap_pbase64decode(r->pool, password))[0] != ':') {
>         /* Check the decoded string for special characters. */
>         if (!ftp_check_string(password)) {
> @@ -1328,7 +1328,7 @@ static int proxy_ftp_handler(request_rec
>     /* Special handling for leading "%2f": this enforces a "cwd /"
>      * out of the $HOME directory which was the starting point after login
>      */
> -    if (ap_casecmpstrn(path, "%2f", 3) == 0) {
> +    if (strncasecmp(path, "%2f", 3) == 0) {
>         path += 3;
>         while (*path == '/') /* skip leading '/' (after root %2f) */
>             ++path;
> 
> Modified: httpd/httpd/trunk/modules/proxy/mod_proxy_http.c
> URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/proxy/mod_proxy_http.c?rev=1715869&r1=1715868&r2=1715869&view=diff
> ==============================================================================
> --- httpd/httpd/trunk/modules/proxy/mod_proxy_http.c (original)
> +++ httpd/httpd/trunk/modules/proxy/mod_proxy_http.c Mon Nov 23 16:28:36 2015
> @@ -43,11 +43,11 @@ static int proxy_http_canon(request_rec
>     apr_port_t port, def_port;
> 
>     /* ap_port_of_scheme() */
> -    if (ap_casecmpstrn(url, "http:", 5) == 0) {
> +    if (strncasecmp(url, "http:", 5) == 0) {
>         url += 5;
>         scheme = "http";
>     }
> -    else if (ap_casecmpstrn(url, "https:", 6) == 0) {
> +    else if (strncasecmp(url, "https:", 6) == 0) {
>         url += 6;
>         scheme = "https";
>     }
> @@ -792,7 +792,7 @@ static int ap_proxy_http_prefetch(apr_po
>      * encoding has been done by the extensions' handler, and
>      * do not modify add_te_chunked's logic
>      */
> -    if (*old_te_val && ap_casecmpstr(*old_te_val, "chunked") != 0) {
> +    if (*old_te_val && strcasecmp(*old_te_val, "chunked") != 0) {
>         ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, r, APLOGNO(01093)
>                       "%s Transfer-Encoding is not supported", *old_te_val);
>         return HTTP_INTERNAL_SERVER_ERROR;
> @@ -1113,14 +1113,14 @@ static void process_proxy_header(request
>     };
>     int i;
>     for (i = 0; date_hdrs[i]; ++i) {
> -        if (!ap_casecmpstr(date_hdrs[i], key)) {
> +        if (!strcasecmp(date_hdrs[i], key)) {
>             apr_table_add(r->headers_out, key,
>                           date_canon(r->pool, value));
>             return;
>         }
>     }
>     for (i = 0; transform_hdrs[i].name; ++i) {
> -        if (!ap_casecmpstr(transform_hdrs[i].name, key)) {
> +        if (!strcasecmp(transform_hdrs[i].name, key)) {
>             apr_table_add(r->headers_out, key,
>                           (*transform_hdrs[i].func)(r, c, value));
>             return;
> 
> Modified: httpd/httpd/trunk/modules/proxy/mod_proxy_scgi.c
> URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/proxy/mod_proxy_scgi.c?rev=1715869&r1=1715868&r2=1715869&view=diff
> ==============================================================================
> --- httpd/httpd/trunk/modules/proxy/mod_proxy_scgi.c (original)
> +++ httpd/httpd/trunk/modules/proxy/mod_proxy_scgi.c Mon Nov 23 16:28:36 2015
> @@ -180,7 +180,7 @@ static int scgi_canon(request_rec *r, ch
>     const char *err, *path;
>     apr_port_t port, def_port;
> 
> -    if (ap_casecmpstrn(url, SCHEME "://", sizeof(SCHEME) + 2)) {
> +    if (strncasecmp(url, SCHEME "://", sizeof(SCHEME) + 2)) {
>         return DECLINED;
>     }
>     url += sizeof(SCHEME); /* Keep slashes */
> @@ -434,7 +434,7 @@ static int pass_response(request_rec *r,
>         if (location && *location == '/') {
>             scgi_request_config *req_conf = apr_palloc(r->pool,
>                                                        sizeof(*req_conf));
> -            if (ap_casecmpstr(location_header, "Location")) {
> +            if (strcasecmp(location_header, "Location")) {
>                 if (err) {
>                     apr_table_unset(r->err_headers_out, location_header);
>                 }
> @@ -533,7 +533,7 @@ static int scgi_handler(request_rec *r,
>     apr_uri_t *uri = apr_palloc(r->pool, sizeof(*uri));
>     char dummy;
> 
> -    if (ap_casecmpstrn(url, SCHEME "://", sizeof(SCHEME) + 2)) {
> +    if (strncasecmp(url, SCHEME "://", sizeof(SCHEME) + 2)) {
>         ap_log_rerror(APLOG_MARK, APLOG_DEBUG, 0, r, APLOGNO(00865)
>                       "declining URL %s", url);
>         return DECLINED;
> 
> Modified: httpd/httpd/trunk/modules/proxy/mod_proxy_wstunnel.c
> URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/proxy/mod_proxy_wstunnel.c?rev=1715869&r1=1715868&r2=1715869&view=diff
> ==============================================================================
> --- httpd/httpd/trunk/modules/proxy/mod_proxy_wstunnel.c (original)
> +++ httpd/httpd/trunk/modules/proxy/mod_proxy_wstunnel.c Mon Nov 23 16:28:36 2015
> @@ -211,12 +211,12 @@ static int proxy_wstunnel_canon(request_
>     apr_port_t port, def_port;
> 
>     /* ap_port_of_scheme() */
> -    if (ap_casecmpstrn(url, "ws:", 3) == 0) {
> +    if (strncasecmp(url, "ws:", 3) == 0) {
>         url += 3;
>         scheme = "ws:";
>         def_port = apr_uri_port_of_scheme("http");
>     }
> -    else if (ap_casecmpstrn(url, "wss:", 4) == 0) {
> +    else if (strncasecmp(url, "wss:", 4) == 0) {
>         url += 4;
>         scheme = "wss:";
>         def_port = apr_uri_port_of_scheme("https");
> @@ -474,11 +474,11 @@ static int proxy_wstunnel_handler(reques
>     apr_uri_t *uri;
>     int is_ssl = 0;
> 
> -    if (ap_casecmpstrn(url, "wss:", 4) == 0) {
> +    if (strncasecmp(url, "wss:", 4) == 0) {
>         scheme = "WSS";
>         is_ssl = 1;
>     }
> -    else if (ap_casecmpstrn(url, "ws:", 3) == 0) {
> +    else if (strncasecmp(url, "ws:", 3) == 0) {
>         scheme = "WS";
>     }
>     else {
> @@ -487,7 +487,7 @@ static int proxy_wstunnel_handler(reques
>     }
> 
>     upgrade = apr_table_get(r->headers_in, "Upgrade");
> -    if (!upgrade || ap_casecmpstr(upgrade, "WebSocket") != 0) {
> +    if (!upgrade || strcasecmp(upgrade, "WebSocket") != 0) {
>         ap_log_rerror(APLOG_MARK, APLOG_DEBUG, 0, r, APLOGNO(02900)
>                       "declining URL %s  (not WebSocket)", url);
>         return DECLINED;
> 
> Modified: httpd/httpd/trunk/modules/proxy/mod_serf.c
> URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/proxy/mod_serf.c?rev=1715869&r1=1715868&r2=1715869&view=diff
> ==============================================================================
> --- httpd/httpd/trunk/modules/proxy/mod_serf.c (original)
> +++ httpd/httpd/trunk/modules/proxy/mod_serf.c Mon Nov 23 16:28:36 2015
> @@ -151,40 +151,40 @@ static int copy_headers_in(void *vbaton,
>     switch (key[0]) {
>     case 'a':
>     case 'A':
> -        if (ap_casecmpstr("Accept-Encoding", key) == 0) {
> +        if (strcasecmp("Accept-Encoding", key) == 0) {
>             return 0;
>         }
>         break;
>     case 'c':
>     case 'C':
> -        if (ap_casecmpstr("Connection", key) == 0) {
> +        if (strcasecmp("Connection", key) == 0) {
>             return 0;
>         }
>         break;
>     case 'h':
>     case 'H':
> -        if (ap_casecmpstr("Host", key) == 0) {
> +        if (strcasecmp("Host", key) == 0) {
>             return 0;
>         }
>         break;
>     case 'k':
>     case 'K':
> -        if (ap_casecmpstr("Keep-Alive", key) == 0) {
> +        if (strcasecmp("Keep-Alive", key) == 0) {
>             return 0;
>         }
>         break;
>     case 't':
>     case 'T':
> -        if (ap_casecmpstr("TE", key) == 0) {
> +        if (strcasecmp("TE", key) == 0) {
>             return 0;
>         }
> -        if (ap_casecmpstr("Trailer", key) == 0) {
> +        if (strcasecmp("Trailer", key) == 0) {
>             return 0;
>         }
>         break;
>     case 'u':
>     case 'U':
> -        if (ap_casecmpstr("Upgrade", key) == 0) {
> +        if (strcasecmp("Upgrade", key) == 0) {
>             return 0;
>         }
>         break;
> @@ -205,27 +205,27 @@ static int copy_headers_out(void *vbaton
>     switch (key[0]) {
>     case 'c':
>     case 'C':
> -        if (ap_casecmpstr("Content-Type", key) == 0) {
> +        if (strcasecmp("Content-Type", key) == 0) {
>             ap_set_content_type(ctx->r, value);
>             done = 1;
>             break;
>         }
> -        else if (ap_casecmpstr("Connection", key) == 0) {
> +        else if (strcasecmp("Connection", key) == 0) {
>             done = 1;
>             break;
>         }
> -        else if (ap_casecmpstr("Content-Encoding", key) == 0) {
> +        else if (strcasecmp("Content-Encoding", key) == 0) {
>             done = 1;
>             break;
>         }
> -        else if (ap_casecmpstr("Content-Length", key) == 0) {
> +        else if (strcasecmp("Content-Length", key) == 0) {
>             done = 1;
>             break;
>         }
>         break;
>     case 't':
>     case 'T':
> -        if (ap_casecmpstr("Transfer-Encoding", key) == 0) {
> +        if (strcasecmp("Transfer-Encoding", key) == 0) {
>             done = 1;
>             break;
>         }
> @@ -512,7 +512,7 @@ static int drive_serf(request_rec *r, se
>     baton->done_headers = 0;
>     baton->keep_reading = 1;
> 
> -    if (ap_casecmpstr(conf->url.scheme, "https") == 0) {
> +    if (strcasecmp(conf->url.scheme, "https") == 0) {
>         baton->want_ssl = 1;
>     }
>     else {
> 
> Modified: httpd/httpd/trunk/modules/proxy/proxy_util.c
> URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/proxy/proxy_util.c?rev=1715869&r1=1715868&r2=1715869&view=diff
> ==============================================================================
> --- httpd/httpd/trunk/modules/proxy/proxy_util.c (original)
> +++ httpd/httpd/trunk/modules/proxy/proxy_util.c Mon Nov 23 16:28:36 2015
> @@ -1074,7 +1074,7 @@ PROXY_DECLARE(int) ap_proxy_valid_balanc
> {
>     if (!i)
>         i = sizeof(BALANCER_PREFIX)-1;
> -    return (!ap_casecmpstrn(name, BALANCER_PREFIX, i));
> +    return (!strncasecmp(name, BALANCER_PREFIX, i));
> }
> 
> 
> @@ -1677,7 +1677,7 @@ PROXY_DECLARE(char *) ap_proxy_define_wo
>     if (ptr) {
>         *ptr = '\0';
>         rv = apr_uri_parse(p, url, &urisock);
> -        if (rv == APR_SUCCESS && !ap_casecmpstr(urisock.scheme, "unix")) {
> +        if (rv == APR_SUCCESS && !strcasecmp(urisock.scheme, "unix")) {
>             sockpath = ap_runtime_dir_relative(p, urisock.path);;
>             url = ptr+1;    /* so we get the scheme for the uds */
>         }
> @@ -3330,7 +3330,7 @@ static int ap_proxy_clear_connection(req
>             ap_log_rerror(APLOG_MARK, APLOG_DEBUG, 0, r, APLOGNO(02807)
>                           "Removing header '%s' listed in Connection header",
>                           name);
> -            if (!ap_casecmpstr(name, "close")) {
> +            if (!strcasecmp(name, "close")) {
>                 closed = 1;
>             }
>             apr_table_unset(headers, name);
> @@ -3494,7 +3494,7 @@ PROXY_DECLARE(int) ap_proxy_create_hdrbr
> 
>         /* Add the Expect header if not already there. */
>         if (((val = apr_table_get(r->headers_in, "Expect")) == NULL)
> -                || (ap_casecmpstr(val, "100-Continue") != 0 /* fast path */
> +                || (strcasecmp(val, "100-Continue") != 0 /* fast path */
>                     && !ap_find_token(r->pool, val, "100-Continue"))) {
>             apr_table_mergen(r->headers_in, "Expect", "100-Continue");
>         }
> @@ -3559,15 +3559,15 @@ PROXY_DECLARE(int) ap_proxy_create_hdrbr
>             || headers_in[counter].val == NULL
> 
>             /* Already sent */
> -            || !ap_casecmpstr(headers_in[counter].key, "Host")
> +            || !strcasecmp(headers_in[counter].key, "Host")
> 
>             /* Clear out hop-by-hop request headers not to send
>              * RFC2616 13.5.1 says we should strip these headers
>              */
> -            || !ap_casecmpstr(headers_in[counter].key, "Keep-Alive")
> -            || !ap_casecmpstr(headers_in[counter].key, "TE")
> -            || !ap_casecmpstr(headers_in[counter].key, "Trailer")
> -            || !ap_casecmpstr(headers_in[counter].key, "Upgrade")
> +            || !strcasecmp(headers_in[counter].key, "Keep-Alive")
> +            || !strcasecmp(headers_in[counter].key, "TE")
> +            || !strcasecmp(headers_in[counter].key, "Trailer")
> +            || !strcasecmp(headers_in[counter].key, "Upgrade")
> 
>             ) {
>             continue;
> @@ -3577,7 +3577,7 @@ PROXY_DECLARE(int) ap_proxy_create_hdrbr
>          * If we have used it then MAYBE: RFC2616 says we MAY propagate it.
>          * So let's make it configurable by env.
>          */
> -        if (!ap_casecmpstr(headers_in[counter].key,"Proxy-Authorization")) {
> +        if (!strcasecmp(headers_in[counter].key,"Proxy-Authorization")) {
>             if (r->user != NULL) { /* we've authenticated */
>                 if (!apr_table_get(r->subprocess_env, "Proxy-Chain-Auth")) {
>                     continue;
> @@ -3587,22 +3587,22 @@ PROXY_DECLARE(int) ap_proxy_create_hdrbr
> 
>         /* Skip Transfer-Encoding and Content-Length for now.
>          */
> -        if (!ap_casecmpstr(headers_in[counter].key, "Transfer-Encoding")) {
> +        if (!strcasecmp(headers_in[counter].key, "Transfer-Encoding")) {
>             *old_te_val = headers_in[counter].val;
>             continue;
>         }
> -        if (!ap_casecmpstr(headers_in[counter].key, "Content-Length")) {
> +        if (!strcasecmp(headers_in[counter].key, "Content-Length")) {
>             *old_cl_val = headers_in[counter].val;
>             continue;
>         }
> 
>         /* for sub-requests, ignore freshness/expiry headers */
>         if (r->main) {
> -            if (   !ap_casecmpstr(headers_in[counter].key, "If-Match")
> -                || !ap_casecmpstr(headers_in[counter].key, "If-Modified-Since")
> -                || !ap_casecmpstr(headers_in[counter].key, "If-Range")
> -                || !ap_casecmpstr(headers_in[counter].key, "If-Unmodified-Since")
> -                || !ap_casecmpstr(headers_in[counter].key, "If-None-Match")) {
> +            if (   !strcasecmp(headers_in[counter].key, "If-Match")
> +                || !strcasecmp(headers_in[counter].key, "If-Modified-Since")
> +                || !strcasecmp(headers_in[counter].key, "If-Range")
> +                || !strcasecmp(headers_in[counter].key, "If-Unmodified-Since")
> +                || !strcasecmp(headers_in[counter].key, "If-None-Match")) {
>                 continue;
>             }
>         }
> @@ -3687,7 +3687,7 @@ PROXY_DECLARE(apr_port_t) ap_proxy_port_
>         } else {
>             proxy_schemes_t *pscheme;
>             for (pscheme = pschemes; pscheme->name != NULL; ++pscheme) {
> -                if (ap_casecmpstr(scheme, pscheme->name) == 0) {
> +                if (strcasecmp(scheme, pscheme->name) == 0) {
>                     return pscheme->default_port;
>                 }
>             }
> 
> Modified: httpd/httpd/trunk/modules/slotmem/mod_slotmem_shm.c
> URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/slotmem/mod_slotmem_shm.c?rev=1715869&r1=1715868&r2=1715869&view=diff
> ==============================================================================
> --- httpd/httpd/trunk/modules/slotmem/mod_slotmem_shm.c (original)
> +++ httpd/httpd/trunk/modules/slotmem/mod_slotmem_shm.c Mon Nov 23 16:28:36 2015
> @@ -111,7 +111,7 @@ static int slotmem_filenames(apr_pool_t
> {
>     const char *fname = NULL, *pname = NULL;
> 
> -    if (slotname && *slotname && ap_casecmpstr(slotname, "none") != 0) {
> +    if (slotname && *slotname && strcasecmp(slotname, "none") != 0) {
>         if (slotname[0] != '/') {
> #if !SLOTMEM_UNLINK_SEMANTIC
>             /* Each generation needs its own file name. */
> 
> Modified: httpd/httpd/trunk/modules/test/mod_policy.c
> URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/test/mod_policy.c?rev=1715869&r1=1715868&r2=1715869&view=diff
> ==============================================================================
> --- httpd/httpd/trunk/modules/test/mod_policy.c (original)
> +++ httpd/httpd/trunk/modules/test/mod_policy.c Mon Nov 23 16:28:36 2015
> @@ -544,7 +544,12 @@ static apr_status_t policy_nocache_out_f
>             char *header = apr_pstrdup(r->pool, pragma_header);
>             const char *token = apr_strtok(header, ", ", &last);
>             while (token) {
> -                if (!ap_casecmpstr(token, "no-cache")) {
> +                /* handle most common quickest case... */
> +                if (!strcmp(token, "no-cache")) {
> +                    fail = 1;
> +                }
> +                /* ...then try slowest case */
> +                else if (!strcasecmp(token, "no-cache")) {
>                     fail = 1;
>                 }
>                 token = apr_strtok(NULL, ", ", &last);
> @@ -558,7 +563,15 @@ static apr_status_t policy_nocache_out_f
>                 switch (token[0]) {
>                 case 'n':
>                 case 'N': {
> -                    if (!ap_casecmpstrn(token, "no-cache", 8)) {
> +                    /* handle most common quickest cases... */
> +                    if (!strcmp(token, "no-cache")) {
> +                        fail = 1;
> +                    }
> +                    else if (!strcmp(token, "no-store")) {
> +                        fail = 1;
> +                    }
> +                    /* ...then try slowest cases */
> +                    else if (!strncasecmp(token, "no-cache", 8)) {
>                         if (token[8] == '=') {
>                         }
>                         else if (!token[8]) {
> @@ -566,14 +579,19 @@ static apr_status_t policy_nocache_out_f
>                         }
>                         break;
>                     }
> -                    else if (!ap_casecmpstr(token, "no-store")) {
> +                    else if (!strcasecmp(token, "no-store")) {
>                         fail = 1;
>                     }
>                     break;
>                 }
>                 case 'p':
>                 case 'P': {
> -                    if (!ap_casecmpstrn(token, "private", 7)) {
> +                    /* handle most common quickest cases... */
> +                    if (!strcmp(token, "private")) {
> +                        fail = 1;
> +                    }
> +                    /* ...then try slowest cases */
> +                    else if (!strncasecmp(token, "private", 7)) {
>                         if (token[7] == '=') {
>                         }
>                         else if (!token[7]) {
> @@ -644,7 +662,13 @@ static apr_status_t policy_maxage_out_fi
>                 switch (token[0]) {
>                 case 'm':
>                 case 'M': {
> -                    if (!ap_casecmpstrn(token, "max-age", 7)) {
> +                    /* handle most common quickest cases... */
> +                    if (!strncmp(token, "max-age", 7)) {
> +                        max_age = 1;
> +                        max_age_value = apr_atoi64(token + 8);
> +                    }
> +                    /* ...then try slowest cases */
> +                    else if (!strncasecmp(token, "max-age", 7)) {
>                         if (token[7] == '=') {
>                             max_age = 1;
>                             max_age_value = apr_atoi64(token + 8);
> @@ -655,7 +679,14 @@ static apr_status_t policy_maxage_out_fi
>                 }
>                 case 's':
>                 case 'S': {
> -                    if (!ap_casecmpstrn(token, "s-maxage", 8)) {
> +                    if (!strncmp(token, "s-maxage", 8)) {
> +                        if (token[8] == '=') {
> +                            s_maxage = 1;
> +                            s_maxage_value = apr_atoi64(token + 9);
> +                        }
> +                        break;
> +                    }
> +                    else if (!strncasecmp(token, "s-maxage", 8)) {
>                         if (token[8] == '=') {
>                             s_maxage = 1;
>                             s_maxage_value = apr_atoi64(token + 9);
> 
> Modified: httpd/httpd/trunk/server/mpm_unix.c
> URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/server/mpm_unix.c?rev=1715869&r1=1715868&r2=1715869&view=diff
> ==============================================================================
> --- httpd/httpd/trunk/server/mpm_unix.c (original)
> +++ httpd/httpd/trunk/server/mpm_unix.c Mon Nov 23 16:28:36 2015
> @@ -627,7 +627,7 @@ static apr_status_t dummy_connection(ap_
>      * expensive to do correctly (performing a complete SSL handshake)
>      * or cause log spam by doing incorrectly (simply sending EOF). */
>     lp = ap_listeners;
> -    while (lp && lp->protocol && ap_casecmpstr(lp->protocol, "http") != 0) {
> +    while (lp && lp->protocol && strcasecmp(lp->protocol, "http") != 0) {
>         lp = lp->next;
>     }
>     if (!lp) {
> @@ -675,7 +675,7 @@ static apr_status_t dummy_connection(ap_
>         return rv;
>     }
> 
> -    if (lp->protocol && ap_casecmpstr(lp->protocol, "https") == 0) {
> +    if (lp->protocol && strcasecmp(lp->protocol, "https") == 0) {
>         /* Send a TLS 1.0 close_notify alert.  This is perhaps the
>          * "least wrong" way to open and cleanly terminate an SSL
>          * connection.  It should "work" without noisy error logs if
> 
> Modified: httpd/httpd/trunk/server/protocol.c
> URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/server/protocol.c?rev=1715869&r1=1715868&r2=1715869&view=diff
> ==============================================================================
> --- httpd/httpd/trunk/server/protocol.c (original)
> +++ httpd/httpd/trunk/server/protocol.c Mon Nov 23 16:28:36 2015
> @@ -526,7 +526,7 @@ AP_CORE_DECLARE(void) ap_parse_uri(reque
>     if (status == APR_SUCCESS) {
>         /* if it has a scheme we may need to do absoluteURI vhost stuff */
>         if (r->parsed_uri.scheme
> -            && !ap_casecmpstr(r->parsed_uri.scheme, ap_http_scheme(r))) {
> +            && !strcasecmp(r->parsed_uri.scheme, ap_http_scheme(r))) {
>             r->hostname = r->parsed_uri.hostname;
>         }
>         else if (r->method_number == M_CONNECT) {
> @@ -692,7 +692,7 @@ static int read_request_line(request_rec
>             }
>         }
>         if (3 == sscanf(r->protocol, "%4s/%u.%u", http, &major, &minor)
> -            && (ap_casecmpstr("http", http) == 0)
> +            && (strcasecmp("http", http) == 0)
>             && (minor < HTTP_VERSION(1, 0)) ) { /* don't allow HTTP/0.1000 */
>             r->proto_num = HTTP_VERSION(major, minor);
>         }
> @@ -1133,7 +1133,7 @@ request_rec *ap_read_request(conn_rec *c
>              * the final encoding ...; the server MUST respond with the 400
>              * (Bad Request) status code and then close the connection".
>              */
> -            if (!(ap_casecmpstr(tenc, "chunked") == 0 /* fast path */
> +            if (!(strcasecmp(tenc, "chunked") == 0 /* fast path */
>                     || ap_find_last_token(r->pool, tenc, "chunked"))) {
>                 ap_log_rerror(APLOG_MARK, APLOG_INFO, 0, r, APLOGNO(02539)
>                               "client sent unknown Transfer-Encoding "
> @@ -1238,7 +1238,7 @@ request_rec *ap_read_request(conn_rec *c
>          * unfortunately, to signal a poor man's mandatory extension that
>          * the server must understand or return 417 Expectation Failed.
>          */
> -        if (ap_casecmpstr(expect, "100-continue") == 0) {
> +        if (strcasecmp(expect, "100-continue") == 0) {
>             r->expecting_100 = 1;
>         }
>         else {
> @@ -1418,7 +1418,7 @@ AP_DECLARE(int) ap_get_basic_auth_pw(req
>                                               : "Authorization");
>     const char *t;
> 
> -    if (!(t = ap_auth_type(r)) || ap_casecmpstr(t, "Basic"))
> +    if (!(t = ap_auth_type(r)) || strcasecmp(t, "Basic"))
>         return DECLINED;
> 
>     if (!ap_auth_name(r)) {
> @@ -1432,7 +1432,7 @@ AP_DECLARE(int) ap_get_basic_auth_pw(req
>         return HTTP_UNAUTHORIZED;
>     }
> 
> -    if (ap_casecmpstr(ap_getword(r->pool, &auth_line, ' '), "Basic")) {
> +    if (strcasecmp(ap_getword(r->pool, &auth_line, ' '), "Basic")) {
>         /* Client tried to authenticate using wrong auth scheme */
>         ap_log_rerror(APLOG_MARK, APLOG_INFO, 0, r, APLOGNO(00573)
>                       "client used wrong authentication scheme: %s", r->uri);
> 
> Modified: httpd/httpd/trunk/server/util.c
> URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/server/util.c?rev=1715869&r1=1715868&r2=1715869&view=diff
> ==============================================================================
> --- httpd/httpd/trunk/server/util.c (original)
> +++ httpd/httpd/trunk/server/util.c Mon Nov 23 16:28:36 2015
> @@ -1609,7 +1609,7 @@ AP_DECLARE(int) ap_find_token(apr_pool_t
>         while (*s && !TEST_CHAR(*s, T_HTTP_TOKEN_STOP)) {
>             ++s;
>         }
> -        if (!ap_casecmpstrn((const char *)start_token, (const char *)tok,
> +        if (!strncasecmp((const char *)start_token, (const char *)tok,
>                          s - start_token)) {
>             return 1;
>         }
> @@ -1636,7 +1636,7 @@ AP_DECLARE(int) ap_find_last_token(apr_p
>         (lidx > 0 && !(apr_isspace(line[lidx - 1]) || line[lidx - 1] == ',')))
>         return 0;
> 
> -    return (ap_casecmpstrn(&line[lidx], tok, tlen) == 0);
> +    return (strncasecmp(&line[lidx], tok, tlen) == 0);
> }
> 
> AP_DECLARE(char *) ap_escape_shell_cmd(apr_pool_t *p, const char *str)
> @@ -2603,7 +2603,7 @@ AP_DECLARE(int) ap_parse_form_data(reque
> 
>     /* sanity check - we only support forms for now */
>     ct = apr_table_get(r->headers_in, "Content-Type");
> -    if (!ct || ap_casecmpstrn("application/x-www-form-urlencoded", ct, 33)) {
> +    if (!ct || strncasecmp("application/x-www-form-urlencoded", ct, 33)) {
>         return ap_discard_request_body(r);
>     }
> 
> 
> Modified: httpd/httpd/trunk/server/util_expr_eval.c
> URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/server/util_expr_eval.c?rev=1715869&r1=1715868&r2=1715869&view=diff
> ==============================================================================
> --- httpd/httpd/trunk/server/util_expr_eval.c (original)
> +++ httpd/httpd/trunk/server/util_expr_eval.c Mon Nov 23 16:28:36 2015
> @@ -1710,13 +1710,13 @@ static int op_T(ap_expr_eval_ctx_t *ctx,
>         return FALSE;
>     case 'o':
>     case 'O':
> -        return ap_casecmpstr(arg, "off") == 0 ? FALSE : TRUE;
> +        return strcasecmp(arg, "off") == 0 ? FALSE : TRUE;
>     case 'n':
>     case 'N':
> -        return ap_casecmpstr(arg, "no") == 0 ? FALSE : TRUE;
> +        return strcasecmp(arg, "no") == 0 ? FALSE : TRUE;
>     case 'f':
>     case 'F':
> -        return ap_casecmpstr(arg, "false") == 0 ? FALSE : TRUE;
> +        return strcasecmp(arg, "false") == 0 ? FALSE : TRUE;
>     case '0':
>         return arg[1] == '\0' ? FALSE : TRUE;
>     default:
> @@ -1824,7 +1824,7 @@ static int core_expr_lookup(ap_expr_look
>             while (prov->func) {
>                 const char **name = prov->names;
>                 while (*name) {
> -                    if (ap_casecmpstr(*name, parms->name) == 0) {
> +                    if (strcasecmp(*name, parms->name) == 0) {
>                         *parms->func = prov->func;
>                         *parms->data = name;
>                         return OK;
> @@ -1857,7 +1857,7 @@ static int core_expr_lookup(ap_expr_look
>                 if (parms->type == AP_EXPR_FUNC_OP_UNARY)
>                     match = !strcmp(prov->name, parms->name);
>                 else
> -                    match = !ap_casecmpstr(prov->name, parms->name);
> +                    match = !strcasecmp(prov->name, parms->name);
>                 if (match) {
>                     if ((parms->flags & AP_EXPR_FLAG_RESTRICTED)
>                         && prov->restricted) {
> 
> Modified: httpd/httpd/trunk/server/util_script.c
> URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/server/util_script.c?rev=1715869&r1=1715868&r2=1715869&view=diff
> ==============================================================================
> --- httpd/httpd/trunk/server/util_script.c (original)
> +++ httpd/httpd/trunk/server/util_script.c Mon Nov 23 16:28:36 2015
> @@ -180,10 +180,10 @@ AP_DECLARE(void) ap_add_common_vars(requ
>          * for no particular reason.
>          */
> 
> -        if (!ap_casecmpstr(hdrs[i].key, "Content-type")) {
> +        if (!strcasecmp(hdrs[i].key, "Content-type")) {
>             apr_table_addn(e, "CONTENT_TYPE", hdrs[i].val);
>         }
> -        else if (!ap_casecmpstr(hdrs[i].key, "Content-length")) {
> +        else if (!strcasecmp(hdrs[i].key, "Content-length")) {
>             apr_table_addn(e, "CONTENT_LENGTH", hdrs[i].val);
>         }
>         /*
> @@ -192,8 +192,8 @@ AP_DECLARE(void) ap_add_common_vars(requ
>          * in the environment with "ps -e".  But, if you must...
>          */
> #ifndef SECURITY_HOLE_PASS_AUTHORIZATION
> -        else if (!ap_casecmpstr(hdrs[i].key, "Authorization")
> -                 || !ap_casecmpstr(hdrs[i].key, "Proxy-Authorization")) {
> +        else if (!strcasecmp(hdrs[i].key, "Authorization")
> +                 || !strcasecmp(hdrs[i].key, "Proxy-Authorization")) {
>             if (conf->cgi_pass_auth == AP_CGI_PASS_AUTH_ON) {
>                 add_unless_null(e, http2env(r, hdrs[i].key), hdrs[i].val);
>             }
> @@ -597,7 +597,7 @@ AP_DECLARE(int) ap_scan_script_header_er
>             ++l;
>         }
> 
> -        if (!ap_casecmpstr(w, "Content-type")) {
> +        if (!strcasecmp(w, "Content-type")) {
>             char *tmp;
> 
>             /* Nuke trailing whitespace */
> @@ -615,7 +615,7 @@ AP_DECLARE(int) ap_scan_script_header_er
>          * If the script returned a specific status, that's what
>          * we'll use - otherwise we assume 200 OK.
>          */
> -        else if (!ap_casecmpstr(w, "Status")) {
> +        else if (!strcasecmp(w, "Status")) {
>             r->status = cgi_status = atoi(l);
>             if (!ap_is_HTTP_VALID_RESPONSE(cgi_status))
>                 ap_log_rerror(SCRIPT_LOG_MARK, APLOG_ERR|APLOG_TOCLIENT, 0, r,
> @@ -628,30 +628,30 @@ AP_DECLARE(int) ap_scan_script_header_er
>                                  apr_filepath_name_get(r->filename), l);
>             r->status_line = apr_pstrdup(r->pool, l);
>         }
> -        else if (!ap_casecmpstr(w, "Location")) {
> +        else if (!strcasecmp(w, "Location")) {
>             apr_table_set(r->headers_out, w, l);
>         }
> -        else if (!ap_casecmpstr(w, "Content-Length")) {
> +        else if (!strcasecmp(w, "Content-Length")) {
>             apr_table_set(r->headers_out, w, l);
>         }
> -        else if (!ap_casecmpstr(w, "Content-Range")) {
> +        else if (!strcasecmp(w, "Content-Range")) {
>             apr_table_set(r->headers_out, w, l);
>         }
> -        else if (!ap_casecmpstr(w, "Transfer-Encoding")) {
> +        else if (!strcasecmp(w, "Transfer-Encoding")) {
>             apr_table_set(r->headers_out, w, l);
>         }
> -        else if (!ap_casecmpstr(w, "ETag")) {
> +        else if (!strcasecmp(w, "ETag")) {
>             apr_table_set(r->headers_out, w, l);
>         }
>         /*
>          * If the script gave us a Last-Modified header, we can't just
>          * pass it on blindly because of restrictions on future values.
>          */
> -        else if (!ap_casecmpstr(w, "Last-Modified")) {
> +        else if (!strcasecmp(w, "Last-Modified")) {
>             ap_update_mtime(r, apr_date_parse_http(l));
>             ap_set_last_modified(r);
>         }
> -        else if (!ap_casecmpstr(w, "Set-Cookie")) {
> +        else if (!strcasecmp(w, "Set-Cookie")) {
>             apr_table_add(cookie_table, w, l);
>         }
>         else {
> 
>