Mercurial > hg > nginx-ranges
comparison src/http/modules/ngx_http_userid_filter_module.c @ 583:8246d8a2c2be NGINX_0_8_37
nginx 0.8.37
*) Feature: the ngx_http_split_clients_module.
*) Feature: the "map" directive supports keys more than 255 characters.
*) Bugfix: nginx ignored the "private" and "no-store" values in the
"Cache-Control" backend response header line.
*) Bugfix: a "stub" parameter of an "include" SSI directive was not
used, if empty response has 200 status code.
*) Bugfix: if a proxied or FastCGI request was internally redirected to
another proxied or FastCGI location, then a segmentation fault might
occur in a worker process; the bug had appeared in 0.8.33.
Thanks to Yichun Zhang.
*) Bugfix: IMAP connections may hang until they timed out while talking
to Zimbra server.
Thanks to Alan Batie.
author | Igor Sysoev <http://sysoev.ru> |
---|---|
date | Mon, 17 May 2010 00:00:00 +0400 |
parents | f39b9e29530d |
children | ff463db0be31 |
comparison
equal
deleted
inserted
replaced
582:19b134bf21c0 | 583:8246d8a2c2be |
---|---|
491 if (set_cookie == NULL) { | 491 if (set_cookie == NULL) { |
492 return NGX_ERROR; | 492 return NGX_ERROR; |
493 } | 493 } |
494 | 494 |
495 set_cookie->hash = 1; | 495 set_cookie->hash = 1; |
496 set_cookie->key.len = sizeof("Set-Cookie") - 1; | 496 ngx_str_set(&set_cookie->key, "Set-Cookie"); |
497 set_cookie->key.data = (u_char *) "Set-Cookie"; | |
498 set_cookie->value.len = p - cookie; | 497 set_cookie->value.len = p - cookie; |
499 set_cookie->value.data = cookie; | 498 set_cookie->value.data = cookie; |
500 | 499 |
501 ngx_log_debug1(NGX_LOG_DEBUG_HTTP, r->connection->log, 0, | 500 ngx_log_debug1(NGX_LOG_DEBUG_HTTP, r->connection->log, 0, |
502 "uid cookie: \"%V\"", &set_cookie->value); | 501 "uid cookie: \"%V\"", &set_cookie->value); |
509 if (p3p == NULL) { | 508 if (p3p == NULL) { |
510 return NGX_ERROR; | 509 return NGX_ERROR; |
511 } | 510 } |
512 | 511 |
513 p3p->hash = 1; | 512 p3p->hash = 1; |
514 p3p->key.len = sizeof("P3P") - 1; | 513 ngx_str_set(&p3p->key, "P3P"); |
515 p3p->key.data = (u_char *) "P3P"; | |
516 p3p->value = conf->p3p; | 514 p3p->value = conf->p3p; |
517 | 515 |
518 return NGX_OK; | 516 return NGX_OK; |
519 } | 517 } |
520 | 518 |
574 } | 572 } |
575 | 573 |
576 /* | 574 /* |
577 * set by ngx_pcalloc(): | 575 * set by ngx_pcalloc(): |
578 * | 576 * |
579 * conf->name.len = 0; | 577 * conf->name = { 0, NULL }; |
580 * conf->name.date = NULL; | 578 * conf->domain = { 0, NULL }; |
581 * conf->domain.len = 0; | 579 * conf->path = { 0, NULL }; |
582 * conf->domain.date = NULL; | 580 * conf->p3p = { 0, NULL }; |
583 * conf->path.len = 0; | |
584 * conf->path.date = NULL; | |
585 * conf->p3p.len = 0; | |
586 * conf->p3p.date = NULL; | |
587 */ | 581 */ |
588 | 582 |
589 conf->enable = NGX_CONF_UNSET_UINT; | 583 conf->enable = NGX_CONF_UNSET_UINT; |
590 conf->service = NGX_CONF_UNSET; | 584 conf->service = NGX_CONF_UNSET; |
591 conf->expires = NGX_CONF_UNSET; | 585 conf->expires = NGX_CONF_UNSET; |
640 ngx_str_t *domain = data; | 634 ngx_str_t *domain = data; |
641 | 635 |
642 u_char *p, *new; | 636 u_char *p, *new; |
643 | 637 |
644 if (ngx_strcmp(domain->data, "none") == 0) { | 638 if (ngx_strcmp(domain->data, "none") == 0) { |
645 domain->len = 0; | 639 ngx_str_set(domain, ""); |
646 domain->data = (u_char *) ""; | |
647 | |
648 return NGX_CONF_OK; | 640 return NGX_CONF_OK; |
649 } | 641 } |
650 | 642 |
651 new = ngx_pnalloc(cf->pool, sizeof("; domain=") - 1 + domain->len); | 643 new = ngx_pnalloc(cf->pool, sizeof("; domain=") - 1 + domain->len); |
652 if (new == NULL) { | 644 if (new == NULL) { |
725 ngx_http_userid_p3p(ngx_conf_t *cf, void *post, void *data) | 717 ngx_http_userid_p3p(ngx_conf_t *cf, void *post, void *data) |
726 { | 718 { |
727 ngx_str_t *p3p = data; | 719 ngx_str_t *p3p = data; |
728 | 720 |
729 if (ngx_strcmp(p3p->data, "none") == 0) { | 721 if (ngx_strcmp(p3p->data, "none") == 0) { |
730 p3p->len = 0; | 722 ngx_str_set(p3p, ""); |
731 p3p->data = (u_char *) ""; | |
732 } | 723 } |
733 | 724 |
734 return NGX_CONF_OK; | 725 return NGX_CONF_OK; |
735 } | 726 } |
736 | 727 |
778 /* use the most significant usec part that fits to 16 bits */ | 769 /* use the most significant usec part that fits to 16 bits */ |
779 start_value = ((tp.tv_usec / 20) << 16) | ngx_pid; | 770 start_value = ((tp.tv_usec / 20) << 16) | ngx_pid; |
780 | 771 |
781 return NGX_OK; | 772 return NGX_OK; |
782 } | 773 } |
783 |