Diff for /parser3/src/main/pa_http.C between versions 1.33 and 1.34

version 1.33, 2009/08/08 13:30:21 version 1.34, 2009/08/21 08:38:55
Line 399  static void form_value2string( Line 399  static void form_value2string(
 const char* pa_form2string(HashStringValue& form, Request_charsets& charsets) {  const char* pa_form2string(HashStringValue& form, Request_charsets& charsets) {
         String string;          String string;
         form.for_each<String*>(form_value2string, &string);          form.for_each<String*>(form_value2string, &string);
         return string.untaint_cstr(String::L_AS_IS, 0, &charsets);          return string.transcode_and_untaint_cstr(String::L_URI, &charsets);
 }  }
   
 struct FormPart {  struct FormPart {
Line 612  File_read_http_result pa_internal_file_r Line 612  File_read_http_result pa_internal_file_r
                 // influence URLencoding of tainted pieces to String::L_URI lang                  // influence URLencoding of tainted pieces to String::L_URI lang
                 Temp_client_charset temp(r.charsets, *asked_remote_charset);                  Temp_client_charset temp(r.charsets, *asked_remote_charset);
   
                 const char* connect_string_cstr=connect_string.untaint_cstr(String::L_URI, 0, &(r.charsets));                  const char* connect_string_cstr=connect_string.transcode_and_untaint_cstr(String::L_URI, &(r.charsets));
   
                 const char* current=connect_string_cstr;                  const char* current=connect_string_cstr;
                 if(strncmp(current, "http://", 7)!=0)                  if(strncmp(current, "http://", 7)!=0)
Line 622  File_read_http_result pa_internal_file_r Line 622  File_read_http_result pa_internal_file_r
                 current+=7;                  current+=7;
   
                 strncpy(host, current, sizeof(host)-1);  host[sizeof(host)-1]=0;                  strncpy(host, current, sizeof(host)-1);  host[sizeof(host)-1]=0;
                 char* host_uri=lsplit(host, '/');                   char* host_uri=lsplit(host, '/');
                 uri=host_uri?current+(host_uri-1-host):"/";                   uri=host_uri?current+(host_uri-1-host):"/";
                 char* port_cstr=lsplit(host, ':');                   char* port_cstr=lsplit(host, ':');
                 char* error_pos=0;                  char* error_pos=0;
                 port=port_cstr?(short)strtol(port_cstr, &error_pos, 0):80;                  port=port_cstr?(short)strtol(port_cstr, &error_pos, 0):80;
   

Removed from v.1.33  
changed lines
  Added in v.1.34


E-mail: