dgaudet     97/07/20 11:24:28

  Modified:    src       Tag: APACHE_1_2_X  CHANGES mod_include.c
  Log:
  fixup of mod_include logging
  
  Reviewed by:  Jim Jagielski, Dean Gaudet
  Submitted by: Marc Slemko
  PR:           797
  
  Revision  Changes    Path
  No                   revision
  
  
  No                   revision
  
  
  1.286.2.30 +3 -0      apache/src/CHANGES
  
  Index: CHANGES
  ===================================================================
  RCS file: /export/home/cvs/apache/src/CHANGES,v
  retrieving revision 1.286.2.29
  retrieving revision 1.286.2.30
  diff -C3 -r1.286.2.29 -r1.286.2.30
  *** CHANGES   1997/07/20 18:22:02     1.286.2.29
  --- CHANGES   1997/07/20 18:24:24     1.286.2.30
  ***************
  *** 1,5 ****
  --- 1,8 ----
    Changes with Apache 1.2.2
    
  +   *) mod_include would log some bogus values occasionally.
  +      [Skip Montanaro <[EMAIL PROTECTED]>, Marc Slemko] PR#797
  + 
      *) PORT: The slack fd changes in 1.2.1 introduced a problem with SIGHUP
         under Solaris 2.x (up through 2.5.1).  It has been fixed.
         [Dean Gaudet] PR#832
  
  
  
  1.33.2.4  +40 -36    apache/src/mod_include.c
  
  Index: mod_include.c
  ===================================================================
  RCS file: /export/home/cvs/apache/src/mod_include.c,v
  retrieving revision 1.33.2.3
  retrieving revision 1.33.2.4
  diff -C3 -r1.33.2.3 -r1.33.2.4
  *** mod_include.c     1997/06/28 22:01:42     1.33.2.3
  --- mod_include.c     1997/07/20 18:24:25     1.33.2.4
  ***************
  *** 458,464 ****
                var[vlen] = vtext[vtlen] = '\0';
                if (braces == 1) {
                    if (*in != '}') {
  !                     log_printf(r->server, "Invalid variable %s%s", 
vtext,in);
                        *next = '\0';
                        return;
                    } else
  --- 458,464 ----
                var[vlen] = vtext[vtlen] = '\0';
                if (braces == 1) {
                    if (*in != '}') {
  !                     log_printf(r->server, "Invalid variable \"%s%s\"", 
vtext,in);
                        *next = '\0';
                        return;
                    } else
  ***************
  *** 545,563 ****
                char tmp[MAX_STRING_LEN+2];
                ap_snprintf(tmp, sizeof(tmp), "/%s/", parsed_string);
                if (parsed_string[0] == '/' || strstr(tmp, "/../") != NULL)
  !                 error_fmt = "unable to include file %s in parsed file %s";
                else
                    rr = sub_req_lookup_file (parsed_string, r);
            } else
                rr = sub_req_lookup_uri (parsed_string, r);
            
            if (!error_fmt && rr->status != 200)
  !             error_fmt = "unable to include %s in parsed file %s";
    
            if (!error_fmt && noexec && rr->content_type
                && (strncmp (rr->content_type, "text/", 5)))
                error_fmt =
  !               "unable to include potential exec %s in parsed file %s";
                if (error_fmt == NULL)
                {
                    request_rec *p;
  --- 545,563 ----
                char tmp[MAX_STRING_LEN+2];
                ap_snprintf(tmp, sizeof(tmp), "/%s/", parsed_string);
                if (parsed_string[0] == '/' || strstr(tmp, "/../") != NULL)
  !                 error_fmt = "unable to include file \"%s\" in parsed file 
%s";
                else
                    rr = sub_req_lookup_file (parsed_string, r);
            } else
                rr = sub_req_lookup_uri (parsed_string, r);
            
            if (!error_fmt && rr->status != 200)
  !             error_fmt = "unable to include \"%s\" in parsed file %s";
    
            if (!error_fmt && noexec && rr->content_type
                && (strncmp (rr->content_type, "text/", 5)))
                error_fmt =
  !               "unable to include potential exec \"%s\" in parsed file %s";
                if (error_fmt == NULL)
                {
                    request_rec *p;
  ***************
  *** 565,575 ****
                    for (p=r; p != NULL; p=p->main)
                        if (strcmp(p->filename, rr->filename) == 0) break;
                    if (p != NULL)
  !                     error_fmt = "Recursive include of %s in parsed file %s";
                }
            
            if (!error_fmt && run_sub_req (rr))
  !             error_fmt = "unable to include %s in parsed file %s";
            chdir_file(r->filename);
                    
                if (error_fmt) {
  --- 565,575 ----
                    for (p=r; p != NULL; p=p->main)
                        if (strcmp(p->filename, rr->filename) == 0) break;
                    if (p != NULL)
  !                     error_fmt = "Recursive include of \"%s\" in parsed file 
%s";
                }
            
            if (!error_fmt && run_sub_req (rr))
  !             error_fmt = "unable to include \"%s\" in parsed file %s";
            chdir_file(r->filename);
                    
                if (error_fmt) {
  ***************
  *** 582,588 ****
            else if(!strcmp(tag,"done"))
                return 0;
            else {
  !             log_printf(r->server, "unknown parameter %s to tag include in 
%s",
                           tag, r->filename);
                rputs(error, r);
            }
  --- 582,588 ----
            else if(!strcmp(tag,"done"))
                return 0;
            else {
  !             log_printf(r->server, "unknown parameter \"%s\" to tag include 
in %s",
                           tag, r->filename);
                rputs(error, r);
            }
  ***************
  *** 689,696 ****
            if(!strcmp(tag,"cmd")) {
                parse_string(r, tag_val, parsed_string, MAX_STRING_LEN, 1);
                if(include_cmd(parsed_string, r) == -1) {
  !                 log_printf(r->server, "unknown parameter %s to tag include 
in %s",
  !                            tag, r->filename);
                    rputs(error, r);
                }
                /* just in case some stooge changed directories */
  --- 689,696 ----
            if(!strcmp(tag,"cmd")) {
                parse_string(r, tag_val, parsed_string, MAX_STRING_LEN, 1);
                if(include_cmd(parsed_string, r) == -1) {
  !                 log_printf(r->server, "execution failure for parameter 
\"%s\" to tag exec in file %s", 
  !                 tag, r->filename);
                    rputs(error, r);
                }
                /* just in case some stooge changed directories */
  ***************
  *** 699,705 ****
            else if(!strcmp(tag,"cgi")) {
                parse_string(r, tag_val, parsed_string, MAX_STRING_LEN, 0);
                if(include_cgi(parsed_string, r) == -1) {
  !                 log_printf(r->server, "invalid CGI ref %s in 
%s",tag_val,file);
                    rputs(error, r);
                }
                /* grumble groan */
  --- 699,705 ----
            else if(!strcmp(tag,"cgi")) {
                parse_string(r, tag_val, parsed_string, MAX_STRING_LEN, 0);
                if(include_cgi(parsed_string, r) == -1) {
  !                 log_printf(r->server, "invalid CGI ref \"%s\" in 
%s",tag_val,file);
                    rputs(error, r);
                }
                /* grumble groan */
  ***************
  *** 708,714 ****
            else if(!strcmp(tag,"done"))
                return 0;
            else {
  !             log_printf(r->server, "unknown parameter %s to tag exec in %s",
                           tag, file);
                rputs(error, r);
            }
  --- 708,714 ----
            else if(!strcmp(tag,"done"))
                return 0;
            else {
  !             log_printf(r->server, "unknown parameter \"%s\" to tag exec in 
%s",
                           tag, file);
                rputs(error, r);
            }
  ***************
  *** 731,737 ****
            } else if(!strcmp(tag,"done"))
                return 0;
            else {
  !             log_printf(r->server, "unknown parameter %s to tag echo in %s",
                    tag, r->filename);
                rputs(error, r);
            }
  --- 731,737 ----
            } else if(!strcmp(tag,"done"))
                return 0;
            else {
  !             log_printf(r->server, "unknown parameter \"%s\" to tag echo in 
%s",
                    tag, r->filename);
                rputs(error, r);
            }
  ***************
  *** 802,808 ****
            else if(!strcmp(tag,"done"))
                return 0;
            else {
  !             log_printf(r->server,"unknown parameter %s to tag config in %s",
                        tag, r->filename);
                rputs(error, r);
            }
  --- 802,808 ----
            else if(!strcmp(tag,"done"))
                return 0;
            else {
  !             log_printf(r->server,"unknown parameter \"%s\" to tag config in 
%s",
                        tag, r->filename);
                rputs(error, r);
            }
  ***************
  *** 822,828 ****
            to_send = make_full_path (r->pool, dir, tag_val);
            if(stat(to_send,finfo) == -1) {
                log_printf(r->server,
  !                     "unable to get information about %s in parsed file %s",
                        to_send, r->filename);
                rputs(error, r);
                return -1;
  --- 822,828 ----
            to_send = make_full_path (r->pool, dir, tag_val);
            if(stat(to_send,finfo) == -1) {
                log_printf(r->server,
  !                     "unable to get information about \"%s\" in parsed file 
%s",
                        to_send, r->filename);
                rputs(error, r);
                return -1;
  ***************
  *** 838,844 ****
            return 0;
            } else {
                log_printf(r->server,
  !                     "unable to get information about %s in parsed file %s",
                        tag_val, r->filename);
                rputs(error, r);
            destroy_sub_req (rr);
  --- 838,844 ----
            return 0;
            } else {
                log_printf(r->server,
  !                     "unable to get information about \"%s\" in parsed file 
%s",
                        tag_val, r->filename);
                rputs(error, r);
            destroy_sub_req (rr);
  ***************
  *** 846,852 ****
            }
        }
        else {
  !         log_printf(r->server,"unknown parameter %s to tag %s in %s",
                    tag, directive, r->filename);
            rputs(error, r);
            return -1;
  --- 846,852 ----
            }
        }
        else {
  !         log_printf(r->server,"unknown parameter \"%s\" to tag %s in %s",
                    tag, directive, r->filename);
            rputs(error, r);
            return -1;
  ***************
  *** 920,926 ****
    
        compiled = pregcomp (r->pool, rexp, REG_EXTENDED|REG_NOSUB);
        if (compiled == NULL) {
  !         log_printf(r->server, "unable to compile pattern %s", rexp);
            return -1;
        }
        regex_error = regexec(compiled, string, 0, (regmatch_t *)NULL, 0);
  --- 920,926 ----
    
        compiled = pregcomp (r->pool, rexp, REG_EXTENDED|REG_NOSUB);
        if (compiled == NULL) {
  !         log_printf(r->server, "unable to compile pattern \"%s\"", rexp);
            return -1;
        }
        regex_error = regexec(compiled, string, 0, (regmatch_t *)NULL, 0);
  ***************
  *** 1048,1054 ****
        if ((parse = expr) == (char *)NULL) return(0);
        root = current = (struct parse_node*)NULL;
        if ((expr_pool = make_sub_pool(r->pool)) == (struct pool *)NULL) {
  !         log_printf(r->server, "out of memory", r->filename);
            rputs(error, r);
            return(0);
        }
  --- 1048,1054 ----
        if ((parse = expr) == (char *)NULL) return(0);
        root = current = (struct parse_node*)NULL;
        if ((expr_pool = make_sub_pool(r->pool)) == (struct pool *)NULL) {
  !         log_printf(r->server, "out of memory processing file %s", 
r->filename);
            rputs(error, r);
            return(0);
        }
  ***************
  *** 1057,1063 ****
        while (1) {
            new = (struct parse_node*)palloc(expr_pool, sizeof (struct 
parse_node));
            if (new == (struct parse_node*)NULL) {
  !             log_printf(r->server,"out of memory", r->filename);
                rputs(error, r);
                goto RETURN;
            }
  --- 1057,1063 ----
        while (1) {
            new = (struct parse_node*)palloc(expr_pool, sizeof (struct 
parse_node));
            if (new == (struct parse_node*)NULL) {
  !             log_printf(r->server,"out of memory processing file %s", 
r->filename);
                rputs(error, r);
                goto RETURN;
            }
  ***************
  *** 1094,1100 ****
                    break;
                  default:
                    log_printf(r->server,
  !                     "Invalid expression %s", expr, r->filename);
                    rputs(error, r);
                    goto RETURN;
                }
  --- 1094,1100 ----
                    break;
                  default:
                    log_printf(r->server,
  !                     "Invalid expression \"%s\" in file %s", expr, 
r->filename);
                    rputs(error, r);
                    goto RETURN;
                }
  ***************
  *** 1107,1113 ****
    #endif
                if (current == (struct parse_node*)NULL) {
                    log_printf(r->server,
  !                     "Invalid expression %s", expr, r->filename);
                    rputs(error, r);
                    goto RETURN;
                }
  --- 1107,1113 ----
    #endif
                if (current == (struct parse_node*)NULL) {
                    log_printf(r->server,
  !                     "Invalid expression \"%s\" in file %s", expr, 
r->filename);
                    rputs(error, r);
                    goto RETURN;
                }
  ***************
  *** 1127,1133 ****
                        break;
                      default:
                        log_printf(r->server,
  !                         "Invalid expression %s", expr, r->filename);
                        rputs(error, r);
                        goto RETURN;
                    }
  --- 1127,1133 ----
                        break;
                      default:
                        log_printf(r->server,
  !                         "Invalid expression \"%s\" in file %s", expr, 
r->filename);
                        rputs(error, r);
                        goto RETURN;
                    }
  ***************
  *** 1166,1172 ****
                        break;
                      default:
                        log_printf(r->server,
  !                         "Invalid expression %s", expr, r->filename);
                        rputs(error, r);
                        goto RETURN;
                    }
  --- 1166,1172 ----
                        break;
                      default:
                        log_printf(r->server,
  !                         "Invalid expression \"%s\" in file %s", expr, 
r->filename);
                        rputs(error, r);
                        goto RETURN;
                    }
  ***************
  *** 1192,1198 ****
    #endif
                if (current == (struct parse_node*)NULL) {
                    log_printf(r->server,
  !                     "Invalid expression %s", expr, r->filename);
                    rputs(error, r);
                    goto RETURN;
                }
  --- 1192,1198 ----
    #endif
                if (current == (struct parse_node*)NULL) {
                    log_printf(r->server,
  !                     "Invalid expression \"%s\" in file %s", expr, 
r->filename);
                    rputs(error, r);
                    goto RETURN;
                }
  ***************
  *** 1211,1218 ****
                      case token_eq:
                      case token_ne:
                      default:
  !                     log_printf(r->server,
  !                         "Invalid expression %s", expr, r->filename);
                        rputs(error, r);
                        goto RETURN;
                    }
  --- 1211,1219 ----
                      case token_eq:
                      case token_ne:
                      default:
  !                     log_printf(r->server, 
  !                         "Invalid expression \"%s\" in file %s", 
  !                         expr, r->filename);
                        rputs(error, r);
                        goto RETURN;
                    }
  ***************
  *** 1243,1249 ****
                    current = current->parent;
                }
                if (current == (struct parse_node*)NULL) {
  !                 log_printf(r->server,"Unmatched ')'in %s\n", expr, 
r->filename);
                    rputs(error, r);
                    goto RETURN;
                }
  --- 1244,1250 ----
                    current = current->parent;
                }
                if (current == (struct parse_node*)NULL) {
  !                 log_printf(r->server,"Unmatched ')' in %s", expr, 
r->filename);
                    rputs(error, r);
                    goto RETURN;
                }
  ***************
  *** 1271,1277 ****
                      case token_group:
                      default:
                        log_printf(r->server,
  !                         "Invalid expression %s", expr, r->filename);
                        rputs(error, r);
                        goto RETURN;
                    }
  --- 1272,1279 ----
                      case token_group:
                      default:
                        log_printf(r->server,
  !                         "Invalid expression \"%s\" in file %s", 
  !                     expr, r->filename);
                        rputs(error, r);
                        goto RETURN;
                    }
  ***************
  *** 1318,1324 ****
                if (current->left == (struct parse_node*)NULL ||
                            current->right == (struct parse_node*)NULL) {
                    log_printf(r->server,
  !                     "Invalid expression %s", expr, r->filename);
                    rputs(error, r);
                    goto RETURN;
                }
  --- 1320,1326 ----
                if (current->left == (struct parse_node*)NULL ||
                            current->right == (struct parse_node*)NULL) {
                    log_printf(r->server,
  !                     "Invalid expression \"%s\" in file %s", expr, 
r->filename);
                    rputs(error, r);
                    goto RETURN;
                }
  ***************
  *** 1379,1385 ****
                            (current->left->token.type != token_string) ||
                            (current->right->token.type != token_string)) {
                    log_printf(r->server,
  !                     "Invalid expression %s", expr, r->filename);
                    rputs(error, r);
                    goto RETURN;
                }
  --- 1381,1387 ----
                            (current->left->token.type != token_string) ||
                            (current->right->token.type != token_string)) {
                    log_printf(r->server,
  !                     "Invalid expression \"%s\" in file %s", expr, 
r->filename);
                    rputs(error, r);
                    goto RETURN;
                }
  ***************
  *** 1397,1403 ****
                    if (current->right->token.value[len-1] == '/') {
                        current->right->token.value[len-1] = '\0';
                    } else {
  !                     log_printf(r->server,"Invalid rexp %s",
                                current->right->token.value, r->filename);
                        rputs(error, r);
                        goto RETURN;
  --- 1399,1405 ----
                    if (current->right->token.value[len-1] == '/') {
                        current->right->token.value[len-1] = '\0';
                    } else {
  !                     log_printf(r->server,"Invalid rexp \"%s\" in file %s",
                                current->right->token.value, r->filename);
                        rputs(error, r);
                        goto RETURN;
  ***************
  *** 1462,1473 ****
                break;
    
              case token_lbrace:
  !             log_printf(r->server,"Unmatched '(' in %s\n", expr, 
r->filename);
                rputs(error, r);
                goto RETURN;
    
              case token_rbrace:
  !             log_printf(r->server,"Unmatched ')' in %s\n", expr, 
r->filename);
                rputs(error, r);
                goto RETURN;
    
  --- 1464,1477 ----
                break;
    
              case token_lbrace:
  !             log_printf(r->server,"Unmatched '(' in %s in file %s", 
  !             expr, r->filename);
                rputs(error, r);
                goto RETURN;
    
              case token_rbrace:
  !             log_printf(r->server,"Unmatched ')' in %s in file %s\n", 
  !             expr, r->filename);
                rputs(error, r);
                goto RETURN;
    
  ***************
  *** 1507,1513 ****
    rvputs(r,"**** if expr=\"", expr, "\"\n", NULL);
    #endif
            } else {
  !             log_printf(r->server,"unknown parameter %s to tag if in %s",
                        tag, r->filename);
                rputs(error, r);
            }
  --- 1511,1517 ----
    rvputs(r,"**** if expr=\"", expr, "\"\n", NULL);
    #endif
            } else {
  !             log_printf(r->server,"unknown parameter \"%s\" to tag if in %s",
                        tag, r->filename);
                rputs(error, r);
            }
  ***************
  *** 1544,1550 ****
    rvputs(r,"**** if expr=\"", expr, "\"\n", NULL);
    #endif
            } else {
  !             log_printf(r->server,"unknown parameter %s to tag if in %s",
                        tag, r->filename);
                rputs(error, r);
            }
  --- 1548,1554 ----
    rvputs(r,"**** if expr=\"", expr, "\"\n", NULL);
    #endif
            } else {
  !             log_printf(r->server,"unknown parameter \"%s\" to tag if in %s",
                        tag, r->filename);
                rputs(error, r);
            }
  ***************
  *** 1736,1742 ****
    #endif
                else {
                    log_printf(r->server,
  !                         "httpd: unknown directive %s in parsed doc %s",
                            directive,r->filename);
                    if (printing) rputs(error, r);
                    ret=find_string(f,ENDING_SEQUENCE,r,0);
  --- 1740,1746 ----
    #endif
                else {
                    log_printf(r->server,
  !                         "httpd: unknown directive \"%s\" in parsed doc %s",
                            directive,r->filename);
                    if (printing) rputs(error, r);
                    ret=find_string(f,ENDING_SEQUENCE,r,0);
  
  
  

Reply via email to