Changeset 1808

Show
Ignore:
Timestamp:
08/14/08 11:58:41 (3 months ago)
Author:
alo
Message:

--

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • cherokee/trunk/ChangeLog

    r1807 r1808  
    112008-08-14  Alvaro Lopez Ortega  <alvaro@alobbs.com> 
     2 
     3        * cherokee/handler_dirlist.c (check_request_finish_with_slash): 
     4        Now it sends redirections using the FQDN whenever it is 
     5        possible (as described in the RFC). Partially fixes: 
     6        http://code.google.com/p/cherokee/issues/detail?id=39 
    27 
    38        * cherokee/thread.c (cherokee_thread_step_MULTI_THREAD): Fixes a 
  • cherokee/trunk/cherokee/handler_dirlist.c

    r1632 r1808  
    453453check_request_finish_with_slash (cherokee_handler_dirlist_t *dhdl) 
    454454{ 
     455        cuint_t                len; 
    455456        cherokee_connection_t *conn = HANDLER_CONN(dhdl); 
    456457 
     
    461462                 */ 
    462463                cherokee_buffer_clean (&conn->redirect); 
    463                 cherokee_buffer_ensure_size (&conn->redirect,  
    464                                              conn->web_directory.len + conn->request.len + conn->userdir.len + 4); 
     464 
     465                len = conn->web_directory.len +  
     466                      conn->request.len +  
     467                      conn->userdir.len +  
     468                      conn->host.len +  
     469                      sizeof("https://") + 4; 
     470 
     471                cherokee_buffer_ensure_size (&conn->redirect, len); 
    465472 
    466473                if (! cherokee_buffer_is_empty (&conn->userdir)) { 
     
    474481                if (cherokee_connection_use_webdir (conn)) { 
    475482                        cherokee_buffer_add_buffer (&conn->redirect, &conn->web_directory); 
     483                } 
     484                 
     485                if (! cherokee_buffer_is_empty (&conn->host)) { 
     486                        if (conn->socket.is_tls == TLS) 
     487                                cherokee_buffer_add_str (&conn->redirect, "https://"); 
     488                        else 
     489                                cherokee_buffer_add_str (&conn->redirect, "http://"); 
     490 
     491                        cherokee_buffer_add_buffer (&conn->redirect, &conn->host); 
    476492                } 
    477493