Mercurial > hg > nginx-vendor-0-7
annotate src/http/modules/perl/nginx.pm @ 506:b9fdcaf2062b NGINX_0_7_65
nginx 0.7.65
*) Security: now nginx/Windows ignores trailing spaces in URI.
Thanks to Dan Crowley, Core Security Technologies.
*) Security: now nginx/Windows ignores short files names.
Thanks to Dan Crowley, Core Security Technologies.
*) Change: now the "009" status code is written to an access log for
proxied HTTP/0.9 responses.
*) Change: now the default buffer size of the
"large_client_header_buffers" directive is 8K.
Thanks to Andrew Cholakian.
*) Change: now default SSL ciphers are "HIGH:!ADH:!MD5".
*) Change: now SSLv2 protocol is disabled by default.
*) Change: now $host variable value is always low case.
*) Feature: the conf/fastcgi.conf for simple FastCGI configurations.
*) Feature: now URI part is not required a "proxy_pass" directive if
variables are used.
*) Feature: the $ssl_session_id variable.
*) Bugfix: if a proxied or FastCGI request was internally redirected to
another proxied or FastCGI location, then $upstream_response_time
variable may have abnormally large value; the bug had appeared in
0.7.63.
*) Bugfix: if the "expires modified" set date in the past, then a
negative number was set in the "Cache-Control" response header
line.
Thanks to Alex Kapranoff.
*) Bugfix: nginx closed a connection if a cached response had an empty
body.
Thanks to Piotr Sikora.
*) Bugfix: nginx cached a 304 response if there was the "If-None-Match"
header line in a proxied request.
Thanks to Tim Dettrick and David Kostal.
*) Bugfix: nginx did not treat a comma as separator in the
"Cache-Control" backend response header line.
*) Bugfix: cached HTTP/0.9 responses were handled incorrectly.
*) Bugfix: nginx sent gzipped responses to clients those do not support
gzip, if "gzip_static on" and "gzip_vary off"; the bug had appeared
in 0.8.16.
*) Bugfix: nginx always added "Content-Encoding: gzip" response header
line in 304 responses sent by ngx_http_gzip_static_module.
*) Bugfix: the "!-x" operator did not work.
Thanks to Maxim Dounin.
*) Bugfix: a segmentation fault might occur in a worker process, if
limit_rate was used in HTTPS server.
Thanks to Maxim Dounin.
*) Bugfix: a segmentation fault might occur in a worker process while
$limit_rate logging.
Thanks to Maxim Dounin.
*) Bugfix: nginx did not support dates in 2038 year on 32-bit platforms;
*) Bugfix: nginx/Windows tried to delete a temporary file twice if the
file should replace an already existent file.
*) Bugfix: nginx/Windows tried to rename a temporary file twice if the
file should replace an already existent file.
*) Bugfix: nginx/Windows might not create temporary file, a cache file,
or "proxy/fastcgi_store"d file if a worker had no enough access
rights for top level directories.
*) Bugfix: in UTF-8 encoding support by "try_files" directive in
nginx/Windows.
*) Bugfix: UTF-8 encoding usage in the ngx_http_autoindex_module.
Thanks to Maxim Dounin.
*) Bugfix: the ngx_http_autoindex_module did not show the trailing
slash in links to a directory; the bug had appeared in 0.7.15.
*) Bugfix: nginx did not close a log file set by the --error-log-path
configuration option; the bug had appeared in 0.7.53.
*) Bugfix: "addition_types" directive was incorrectly named
"addtion_types".
*) Bugfix: invalid request line in $request variable was written in
access_log only if error_log was set to "info" or "debug" level.
author | Igor Sysoev <http://sysoev.ru> |
---|---|
date | Mon, 01 Feb 2010 00:00:00 +0000 |
parents | 706fef7f4dcc |
children | 68c0ae0a4959 |
rev | line source |
---|---|
148 | 1 package nginx; |
2 | |
3 use 5.006001; | |
4 use strict; | |
5 use warnings; | |
6 | |
7 require Exporter; | |
8 | |
9 our @ISA = qw(Exporter); | |
10 | |
11 our @EXPORT = qw( | |
12 OK | |
13 DECLINED | |
266 | 14 |
148 | 15 HTTP_OK |
266 | 16 HTTP_CREATED |
17 HTTP_NO_CONTENT | |
18 HTTP_PARTIAL_CONTENT | |
19 | |
20 HTTP_MOVED_PERMANENTLY | |
21 HTTP_MOVED_TEMPORARILY | |
148 | 22 HTTP_REDIRECT |
266 | 23 HTTP_NOT_MODIFIED |
24 | |
25 HTTP_BAD_REQUEST | |
26 HTTP_UNAUTHORIZED | |
27 HTTP_PAYMENT_REQUIRED | |
28 HTTP_FORBIDDEN | |
148 | 29 HTTP_NOT_FOUND |
266 | 30 HTTP_NOT_ALLOWED |
31 HTTP_NOT_ACCEPTABLE | |
32 HTTP_REQUEST_TIME_OUT | |
33 HTTP_CONFLICT | |
34 HTTP_GONE | |
35 HTTP_LENGTH_REQUIRED | |
36 HTTP_REQUEST_ENTITY_TOO_LARGE | |
37 HTTP_REQUEST_URI_TOO_LARGE | |
38 HTTP_UNSUPPORTED_MEDIA_TYPE | |
39 HTTP_RANGE_NOT_SATISFIABLE | |
40 | |
41 HTTP_INTERNAL_SERVER_ERROR | |
148 | 42 HTTP_SERVER_ERROR |
266 | 43 HTTP_NOT_IMPLEMENTED |
44 HTTP_BAD_GATEWAY | |
45 HTTP_SERVICE_UNAVAILABLE | |
46 HTTP_GATEWAY_TIME_OUT | |
47 HTTP_INSUFFICIENT_STORAGE | |
148 | 48 ); |
49 | |
506 | 50 our $VERSION = '0.7.65'; |
148 | 51 |
52 require XSLoader; | |
53 XSLoader::load('nginx', $VERSION); | |
54 | |
55 # Preloaded methods go here. | |
56 | |
266 | 57 use constant OK => 0; |
58 use constant DECLINED => -5; | |
59 | |
60 use constant HTTP_OK => 200; | |
61 use constant HTTP_CREATED => 201; | |
62 use constant HTTP_NO_CONTENT => 204; | |
63 use constant HTTP_PARTIAL_CONTENT => 206; | |
64 | |
65 use constant HTTP_MOVED_PERMANENTLY => 301; | |
66 use constant HTTP_MOVED_TEMPORARILY => 302; | |
67 use constant HTTP_REDIRECT => 302; | |
68 use constant HTTP_NOT_MODIFIED => 304; | |
148 | 69 |
266 | 70 use constant HTTP_BAD_REQUEST => 400; |
71 use constant HTTP_UNAUTHORIZED => 401; | |
72 use constant HTTP_PAYMENT_REQUIRED => 402; | |
73 use constant HTTP_FORBIDDEN => 403; | |
74 use constant HTTP_NOT_FOUND => 404; | |
75 use constant HTTP_NOT_ALLOWED => 405; | |
76 use constant HTTP_NOT_ACCEPTABLE => 406; | |
77 use constant HTTP_REQUEST_TIME_OUT => 408; | |
78 use constant HTTP_CONFLICT => 409; | |
79 use constant HTTP_GONE => 410; | |
80 use constant HTTP_LENGTH_REQUIRED => 411; | |
81 use constant HTTP_REQUEST_ENTITY_TOO_LARGE => 413; | |
82 use constant HTTP_REQUEST_URI_TOO_LARGE => 414; | |
83 use constant HTTP_UNSUPPORTED_MEDIA_TYPE => 415; | |
84 use constant HTTP_RANGE_NOT_SATISFIABLE => 416; | |
85 | |
86 use constant HTTP_INTERNAL_SERVER_ERROR => 500; | |
87 use constant HTTP_SERVER_ERROR => 500; | |
88 use constant HTTP_NOT_IMPLEMENTED => 501; | |
89 use constant HTTP_BAD_GATEWAY => 502; | |
90 use constant HTTP_SERVICE_UNAVAILABLE => 503; | |
91 use constant HTTP_GATEWAY_TIME_OUT => 504; | |
92 use constant HTTP_INSUFFICIENT_STORAGE => 507; | |
148 | 93 |
94 | |
298 | 95 sub rflush { |
96 my $r = shift; | |
97 | |
98 $r->flush; | |
99 } | |
100 | |
101 | |
148 | 102 1; |
103 __END__ | |
104 | |
105 =head1 NAME | |
106 | |
107 nginx - Perl interface to the nginx HTTP server API | |
108 | |
109 =head1 SYNOPSIS | |
110 | |
111 use nginx; | |
112 | |
113 =head1 DESCRIPTION | |
114 | |
115 This module provides a Perl interface to the nginx HTTP server API. | |
116 | |
117 | |
118 =head1 SEE ALSO | |
119 | |
120 http://sysoev.ru/nginx/docs/http/ngx_http_perl_module.html | |
121 | |
122 =head1 AUTHOR | |
123 | |
124 Igor Sysoev | |
125 | |
126 =head1 COPYRIGHT AND LICENSE | |
127 | |
128 Copyright (C) Igor Sysoev | |
129 | |
130 | |
131 =cut |