Mercurial > hg > nginx-quic
comparison src/core/ngx_inet.c @ 712:2452d89efea9
fix uri part in "proxy_pass http://unix:...", the bug appeared in nginx-0.3.47
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Sun, 24 Sep 2006 14:45:37 +0000 |
parents | 324967192b8b |
children | 472cd9768ac2 |
comparison
equal
deleted
inserted
replaced
711:324967192b8b | 712:2452d89efea9 |
---|---|
237 if (ngx_strncasecmp(p, "unix:", 5) == 0) { | 237 if (ngx_strncasecmp(p, "unix:", 5) == 0) { |
238 | 238 |
239 #if (NGX_HAVE_UNIX_DOMAIN) | 239 #if (NGX_HAVE_UNIX_DOMAIN) |
240 | 240 |
241 u->type = NGX_PARSE_URL_UNIX; | 241 u->type = NGX_PARSE_URL_UNIX; |
242 u->uri = u->url; | |
243 | 242 |
244 p += 5; | 243 p += 5; |
245 len -= 5; | 244 len -= 5; |
245 | |
246 u->uri.len = len; | |
247 u->uri.data = p; | |
246 | 248 |
247 if (u->uri_part) { | 249 if (u->uri_part) { |
248 for (i = 0; i < len; i++) { | 250 for (i = 0; i < len; i++) { |
249 | 251 |
250 if (p[i] == ':') { | 252 if (p[i] == ':') { |
283 saun->sun_family = AF_UNIX; | 285 saun->sun_family = AF_UNIX; |
284 (void) ngx_cpystrn((u_char *) saun->sun_path, p, len + 1); | 286 (void) ngx_cpystrn((u_char *) saun->sun_path, p, len + 1); |
285 | 287 |
286 u->peers->peer[0].sockaddr = (struct sockaddr *) saun; | 288 u->peers->peer[0].sockaddr = (struct sockaddr *) saun; |
287 u->peers->peer[0].socklen = sizeof(struct sockaddr_un); | 289 u->peers->peer[0].socklen = sizeof(struct sockaddr_un); |
288 u->peers->peer[0].name = u->url; | 290 u->peers->peer[0].name.len = len + 5; |
291 u->peers->peer[0].name.data = u->url.data; | |
289 u->peers->peer[0].uri_separator = ":"; | 292 u->peers->peer[0].uri_separator = ":"; |
290 | 293 |
291 u->host_header.len = sizeof("localhost") - 1; | 294 u->host_header.len = sizeof("localhost") - 1; |
292 u->host_header.data = (u_char *) "localhost"; | 295 u->host_header.data = (u_char *) "localhost"; |
293 | 296 |