Changeset 1857

Show
Ignore:
Timestamp:
05/21/2007 08:27:31 AM (1 year ago)
Author:
jan
Message:

fixed 'mod_proxy_backend_fastcgi not copying connection environment'
(fixes #1185) (patch by marcusSt)

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/src/mod_proxy_backend_fastcgi.c

    r1849 r1857  
    254254                        p->tmp_buf->used--; 
    255255                } 
     256 
     257                buffer_prepare_append(p->tmp_buf, ds->key->used + 2); 
     258                for (j = 0; j < ds->key->used - 1; j++) { 
     259                        char c = '_'; 
     260                        if (light_isalpha(ds->key->ptr[j])) { 
     261                                /* upper-case */ 
     262                                c = ds->key->ptr[j] & ~32; 
     263                        } else if (light_isdigit(ds->key->ptr[j])) { 
     264                                /* copy */ 
     265                                c = ds->key->ptr[j]; 
     266                        } 
     267                        p->tmp_buf->ptr[p->tmp_buf->used++] = c; 
     268                } 
     269                p->tmp_buf->ptr[p->tmp_buf->used++] = '\0'; 
     270 
     271                array_set_key_value(sess->env_headers, CONST_BUF_LEN(p->tmp_buf), CONST_BUF_LEN(ds->value)); 
     272        } 
     273 
     274        for (i = 0; i < con->environment->used; i++) { 
     275                data_string *ds; 
     276                size_t j; 
     277 
     278                ds = (data_string *)con->environment->data[i]; 
     279 
     280                buffer_reset(p->tmp_buf); 
    256281 
    257282                buffer_prepare_append(p->tmp_buf, ds->key->used + 2);