Mercurial > hg > nginx
annotate conf/mime.types @ 6894:2204d71e88e5 stable-1.10
Upstream: fixed cache corruption and socket leaks with aio_write.
The ngx_event_pipe() function wasn't called on write events with
wev->delayed set. As a result, threaded writing results weren't
properly collected in ngx_event_pipe_write_to_downstream() when a
write event was triggered for a completed write.
Further, this wasn't detected, as p->aio was reset by a thread completion
handler, and results were later collected in ngx_event_pipe_read_upstream()
instead of scheduling a new write of additional data. If this happened
on the last reading from an upstream, last part of the response was never
written to the cache file.
Similar problems might also happen in case of timeouts when writing to
client, as this also results in ngx_event_pipe() not being called on write
events. In this scenario socket leaks were observed.
Fix is to check if p->writing is set in ngx_event_pipe_read_upstream(), and
therefore collect results of previous write operations in case of read events
as well, similar to how we do so in ngx_event_pipe_write_downstream().
This is enough to fix the wev->delayed case. Additionally, we now call
ngx_event_pipe() from ngx_http_upstream_process_request() if there are
uncollected write operations (p->writing and !p->aio). This also fixes
the wev->timedout case.
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Fri, 20 Jan 2017 21:14:19 +0300 |
parents | b799b9d62c45 |
children | b31caae8cc7b |
rev | line source |
---|---|
450 | 1 |
2 types { | |
589 | 3 text/html html htm shtml; |
567 | 4 text/css css; |
2053 | 5 text/xml xml; |
589 | 6 image/gif gif; |
7 image/jpeg jpeg jpg; | |
5311
ae3fd1ca62e0
MIME: use "application/javascript" for .js files.
Valentin Bartenev <vbart@nginx.com>
parents:
4301
diff
changeset
|
8 application/javascript js; |
1004 | 9 application/atom+xml atom; |
2053 | 10 application/rss+xml rss; |
589 | 11 |
863 | 12 text/mathml mml; |
567 | 13 text/plain txt; |
863 | 14 text/vnd.sun.j2me.app-descriptor jad; |
15 text/vnd.wap.wml wml; | |
567 | 16 text/x-component htc; |
450 | 17 |
567 | 18 image/png png; |
863 | 19 image/tiff tif tiff; |
20 image/vnd.wap.wbmp wbmp; | |
567 | 21 image/x-icon ico; |
22 image/x-jng jng; | |
863 | 23 image/x-ms-bmp bmp; |
4301
0688cf5d73ec
svgz extension for compressed SVG added (close #56).
Maxim Konovalov <maxim@nginx.com>
parents:
4281
diff
changeset
|
24 image/svg+xml svg svgz; |
4281
3a3a2d767ecd
Added image/webp and video/webm MIME types.
Valentin Bartenev <vbart@nginx.com>
parents:
4231
diff
changeset
|
25 image/webp webp; |
450 | 26 |
5336
aeabb6ae574d
MIME: added application/font-woff MIME type (ticket #292).
Sergey Kandaurov <pluknet@nginx.com>
parents:
5311
diff
changeset
|
27 application/font-woff woff; |
567 | 28 application/java-archive jar war ear; |
5383
1adfe7a260eb
MIME: added application/json MIME type.
Piotr Sikora <piotr@cloudflare.com>
parents:
5338
diff
changeset
|
29 application/json json; |
567 | 30 application/mac-binhex40 hqx; |
863 | 31 application/msword doc; |
567 | 32 application/pdf pdf; |
863 | 33 application/postscript ps eps ai; |
34 application/rtf rtf; | |
5599
68e41f0cb207
MIME: added video/mp2t and application/vnd.apple.mpegurl types.
Roman Arutyunyan <arut@nginx.com>
parents:
5383
diff
changeset
|
35 application/vnd.apple.mpegurl m3u8; |
863 | 36 application/vnd.ms-excel xls; |
5338
010bb2e21f3f
MIME: eot MIME type updated to follow IANA (ticket #306).
Sergey Kandaurov <pluknet@nginx.com>
parents:
5337
diff
changeset
|
37 application/vnd.ms-fontobject eot; |
863 | 38 application/vnd.ms-powerpoint ppt; |
39 application/vnd.wap.wmlc wmlc; | |
2194 | 40 application/vnd.google-earth.kml+xml kml; |
41 application/vnd.google-earth.kmz kmz; | |
3465 | 42 application/x-7z-compressed 7z; |
567 | 43 application/x-cocoa cco; |
44 application/x-java-archive-diff jardiff; | |
45 application/x-java-jnlp-file jnlp; | |
46 application/x-makeself run; | |
47 application/x-perl pl pm; | |
48 application/x-pilot prc pdb; | |
49 application/x-rar-compressed rar; | |
50 application/x-redhat-package-manager rpm; | |
51 application/x-sea sea; | |
52 application/x-shockwave-flash swf; | |
53 application/x-stuffit sit; | |
54 application/x-tcl tcl tk; | |
55 application/x-x509-ca-cert der pem crt; | |
56 application/x-xpinstall xpi; | |
3865 | 57 application/xhtml+xml xhtml; |
5602
b799b9d62c45
MIME: added application/xspf+xml MIME type (ticket #479).
Filipe da Silva <fdasilvayy@gmail.com>
parents:
5599
diff
changeset
|
58 application/xspf+xml xspf; |
567 | 59 application/zip zip; |
450 | 60 |
863 | 61 application/octet-stream bin exe dll; |
567 | 62 application/octet-stream deb; |
63 application/octet-stream dmg; | |
64 application/octet-stream iso img; | |
65 application/octet-stream msi msp msm; | |
450 | 66 |
5337
07ef29f69a54
MIME: added the most common OOXML MIME types (ticket #243).
Sergey Kandaurov <pluknet@nginx.com>
parents:
5336
diff
changeset
|
67 application/vnd.openxmlformats-officedocument.wordprocessingml.document docx; |
07ef29f69a54
MIME: added the most common OOXML MIME types (ticket #243).
Sergey Kandaurov <pluknet@nginx.com>
parents:
5336
diff
changeset
|
68 application/vnd.openxmlformats-officedocument.spreadsheetml.sheet xlsx; |
07ef29f69a54
MIME: added the most common OOXML MIME types (ticket #243).
Sergey Kandaurov <pluknet@nginx.com>
parents:
5336
diff
changeset
|
69 application/vnd.openxmlformats-officedocument.presentationml.presentation pptx; |
07ef29f69a54
MIME: added the most common OOXML MIME types (ticket #243).
Sergey Kandaurov <pluknet@nginx.com>
parents:
5336
diff
changeset
|
70 |
863 | 71 audio/midi mid midi kar; |
567 | 72 audio/mpeg mp3; |
3807 | 73 audio/ogg ogg; |
4231
d50883ff2433
Adding m4a and m4v MIME types (closed #42).
Igor Sysoev <igor@sysoev.ru>
parents:
4086
diff
changeset
|
74 audio/x-m4a m4a; |
567 | 75 audio/x-realaudio ra; |
76 | |
863 | 77 video/3gpp 3gpp 3gp; |
5599
68e41f0cb207
MIME: added video/mp2t and application/vnd.apple.mpegurl types.
Roman Arutyunyan <arut@nginx.com>
parents:
5383
diff
changeset
|
78 video/mp2t ts; |
4086 | 79 video/mp4 mp4; |
567 | 80 video/mpeg mpeg mpg; |
81 video/quicktime mov; | |
4281
3a3a2d767ecd
Added image/webp and video/webm MIME types.
Valentin Bartenev <vbart@nginx.com>
parents:
4231
diff
changeset
|
82 video/webm webm; |
567 | 83 video/x-flv flv; |
4231
d50883ff2433
Adding m4a and m4v MIME types (closed #42).
Igor Sysoev <igor@sysoev.ru>
parents:
4086
diff
changeset
|
84 video/x-m4v m4v; |
863 | 85 video/x-mng mng; |
649 | 86 video/x-ms-asf asx asf; |
863 | 87 video/x-ms-wmv wmv; |
88 video/x-msvideo avi; | |
450 | 89 } |