Ticket #2: realip.diff

File realip.diff, 694 bytes (added by Joe Cai, 14 years ago)

realip patch against nginx 1.0.12

  • src/http/modules/ngx_http_realip_module.c

    a b ngx_http_realip_handler(ngx_http_request_t *r)  
    157157
    158158        len = r->headers_in.x_forwarded_for->value.len;
    159159        ip = r->headers_in.x_forwarded_for->value.data;
     160        int tmp_len = 0;
    160161
    161         for (p = ip + len - 1; p > ip; p--) {
     162        for (p = ip; p < ip + len; p++) {
    162163            if (*p == ' ' || *p == ',') {
    163                 p++;
    164                 len -= p - ip;
    165                 ip = p;
     164                len = tmp_len;
    166165                break;
    167166            }
     167            tmp_len ++;
    168168        }
    169169
     170
    170171        break;
    171172
    172173    default: /* NGX_HTTP_REALIP_HEADER */