Diff for /parser3/src/classes/form.C between versions 1.11 and 1.25

version 1.11, 2001/05/04 10:42:36 version 1.25, 2002/07/01 14:26:19
Line 1 Line 1
 /** @file  /** @file
         Parser: @b form parser class.          Parser: @b form parser class.
   
         Copyright (c) 2001 ArtLebedev Group (http://www.artlebedev.com)          Copyright (c) 2001, 2002 ArtLebedev Group (http://www.artlebedev.com)
           Author: Alexandr Petrosian <paf@design.ru> (http://paf.design.ru)
         Author: Alexander Petrosyan <paf@design.ru> (http://design.ru/paf)  
   
         $Id$          $Id$
 */  */
Line 13 Line 12
 #include "pa_vform.h"  #include "pa_vform.h"
   
 /// $LIMITS.max_post_size default 10M  /// $LIMITS.max_post_size default 10M
 const size_t MAX_POST_SIZE_DEFAULT=10*0x400*400;  const size_t MAX_POST_SIZE_DEFAULT=10*0x400*0x400;
   
 // defines  // defines
   
 #define FORM_CLASS_NAME "form"  
   
 #define LIMITS_NAME "LIMITS"  #define LIMITS_NAME "LIMITS"
   
 #define MAX_POST_SIZE_NAME "post_max_size"  #define MAX_POST_SIZE_NAME "post_max_size"
Line 40  private: Line 37  private:
   
 // constructor & configurator  // constructor & configurator
   
 MForm::MForm(Pool& apool) : Methoded(apool),  MForm::MForm(Pool& apool) : Methoded(apool, "form"),
         max_post_size_name(apool, MAX_POST_SIZE_NAME),          max_post_size_name(apool, MAX_POST_SIZE_NAME),
         limits_name(apool, LIMITS_NAME)          limits_name(apool, LIMITS_NAME) {
 {  
         set_name(*NEW String(pool(), FORM_CLASS_NAME));  
 }  }
   
 void MForm::configure_admin(Request& r) {  void MForm::configure_admin(Request& r) {
Line 58  void MForm::configure_admin(Request& r) Line 53  void MForm::configure_admin(Request& r)
                 size_t max_post_size=value?value:MAX_POST_SIZE_DEFAULT;                  size_t max_post_size=value?value:MAX_POST_SIZE_DEFAULT;
                                   
                 if(r.info.content_length>max_post_size)                  if(r.info.content_length>max_post_size)
                         PTHROW(0, 0,                          throw Exception("parser.runtime",
                                 0,                                  0,
                                 "posted content_length(%u) > max_post_size(%u)",                                  "posted content_length(%u) > max_post_size(%u)",
                                         r.post_size, max_post_size);                                          r.content_length, max_post_size);
                   if(r.info.content_length<0)
                           throw Exception(0,
                                   0,
                                   "posted content_length(%u) < 0",
                                           r.content_length);
   
                 // read POST data                  // read POST data
                 r.post_data=(char *)malloc(r.info.content_length);                  if(r.info.content_length) {
                 r.post_size=SAPI::read_post(pool, r.post_data, r.info.content_length);                          r.post_data=(char *)pool.malloc(r.info.content_length);
                           r.post_size=SAPI::read_post(pool, r.post_data, r.info.content_length);
                   }
                 if(r.post_size!=r.info.content_length)                  if(r.post_size!=r.info.content_length)
                         PTHROW(0, 0,                           throw Exception(0, 
                                 0,                                   0, 
                                 "post_size(%u)!=content_length(%u)",                                   "post_size(%u) != content_length(%u)", 
                                         r.post_size, r.info.content_length);                                          r.post_size, r.info.content_length);
         }          }
 }  }

Removed from v.1.11  
changed lines
  Added in v.1.25


E-mail: