coar        98/07/03 13:06:02

  Modified:    src      CHANGES
               src/main http_core.c
  Log:
        Fix <Limit> parsing; "GET" and "get" are distinct methods.
  
  Revision  Changes    Path
  1.944     +3 -0      apache-1.3/src/CHANGES
  
  Index: CHANGES
  ===================================================================
  RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v
  retrieving revision 1.943
  retrieving revision 1.944
  diff -u -r1.943 -r1.944
  --- CHANGES   1998/07/01 18:18:23     1.943
  +++ CHANGES   1998/07/03 20:05:58     1.944
  @@ -1,5 +1,8 @@
   Changes with Apache 1.3.1
   
  +  *) The <Limit> parsing routine was incorrectly treating methods in
  +     a case-insensitive way.  [Ken Coar]
  +
     *) The ap_bprintf() code neglected to test if there was an error on
        the connection.  ap_bflush() misdiagnosed a failure as a success.
        [Dean Gaudet]
  
  
  
  1.207     +9 -8      apache-1.3/src/main/http_core.c
  
  Index: http_core.c
  ===================================================================
  RCS file: /export/home/cvs/apache-1.3/src/main/http_core.c,v
  retrieving revision 1.206
  retrieving revision 1.207
  diff -u -r1.206 -r1.207
  --- http_core.c       1998/07/03 16:47:29     1.206
  +++ http_core.c       1998/07/03 20:06:00     1.207
  @@ -1019,27 +1019,28 @@
        */
       
       while (limited_methods[0]) {
  -        char *method = ap_getword_conf (cmd->pool, &limited_methods);
  -     if (!strcasecmp(method, "GET")) {
  +        char *method = ap_getword_conf(cmd->pool, &limited_methods);
  +     if (!strcmp(method, "GET")) {
            limited |= (1 << M_GET);
        }
  -     else if (!strcasecmp(method, "PUT")) {
  +     else if (!strcmp(method, "PUT")) {
            limited |= (1 << M_PUT);
        }
  -     else if (!strcasecmp(method, "POST")) {
  +     else if (!strcmp(method, "POST")) {
            limited |= (1 << M_POST);
        }
  -     else if (!strcasecmp(method, "DELETE")) {
  +     else if (!strcmp(method, "DELETE")) {
            limited |= (1 << M_DELETE);
        }
  -        else if (!strcasecmp(method, "CONNECT")) {
  +        else if (!strcmp(method, "CONNECT")) {
            limited |= (1 << M_CONNECT);
        }
  -     else if (!strcasecmp(method, "OPTIONS")) {
  +     else if (!strcmp(method, "OPTIONS")) {
            limited |= (1 << M_OPTIONS);
        }
        else {
  -         return "unknown method in <Limit>";
  +         return ap_pstrcat(cmd->pool, "unknown method \"",
  +                           method, "\" in <Limit>", NULL);
        }
       }
   
  
  
  

Reply via email to