Skip to content
Commits on Dec 11, 2011
  1. @igorsysoev

    nginx 1.1.11

    igorsysoev committed with Dec 12, 2011
        *) Feature: the "so_keepalive" parameter of the "listen" directive.
           Thanks to Vsevolod Stakhov.
    
        *) Feature: the "if_not_empty" parameter of the
           "fastcgi/scgi/uwsgi_param" directives.
    
        *) Feature: the $https variable.
    
        *) Feature: the "proxy_redirect" directive supports variables in the
           first parameter.
    
        *) Feature: the "proxy_redirect" directive supports regular expressions.
    
        *) Bugfix: the $sent_http_cache_control variable might contain a wrong
           value if the "expires" directive was used.
           Thanks to Yichun Zhang.
    
        *) Bugfix: the "read_ahead" directive might not work combined with
           "try_files" and "open_file_cache".
    
        *) Bugfix: a segmentation fault might occur in a worker process if small
           time was used in the "inactive" parameter of the "proxy_cache_path"
           directive.
    
        *) Bugfix: responses from cache might hang.
Commits on Nov 29, 2011
  1. @igorsysoev

    nginx 1.1.10

    igorsysoev committed with Nov 30, 2011
        *) Bugfix: a segmentation fault occured in a worker process if AIO was
           used on Linux; the bug had appeared in 1.1.9.
Commits on Nov 27, 2011
  1. @igorsysoev

    nginx 1.1.9

    igorsysoev committed with Nov 28, 2011
        *) Change: now double quotes are encoded in an "echo" SSI-command
           output.
           Thanks to Zaur Abasmirzoev.
    
        *) Feature: the "valid" parameter of the "resolver" directive. By
           default TTL returned by a DNS server is used.
           Thanks to Kirill A. Korinskiy.
    
        *) Bugfix: nginx might hang after a worker process abnormal termination.
    
        *) Bugfix: a segmentation fault might occur in a worker process if SNI
           was used; the bug had appeared in 1.1.2.
    
        *) Bugfix: in the "keepalive_disable" directive; the bug had appeared in
           1.1.8.
           Thanks to Alexander Usov.
    
        *) Bugfix: SIGWINCH signal did not work after first binary upgrade; the
           bug had appeared in 1.1.1.
    
        *) Bugfix: backend responses with length not matching "Content-Length"
           header line are no longer cached.
    
        *) Bugfix: in the "scgi_param" directive, if complex parameters were
           used.
    
        *) Bugfix: in the "epoll" event method.
           Thanks to Yichun Zhang.
    
        *) Bugfix: in the ngx_http_flv_module.
           Thanks to Piotr Sikora.
    
        *) Bugfix: in the ngx_http_mp4_module.
    
        *) Bugfix: IPv6 addresses are now handled properly in a request line and
           in a "Host" request header line.
    
        *) Bugfix: "add_header" and "expires" directives did not work if a
           request was proxied and response status code was 206.
    
        *) Bugfix: nginx could not be built on FreeBSD 10.
    
        *) Bugfix: nginx could not be built on AIX.
Commits on Oct 30, 2011
  1. @igorsysoev

    nginx 1.1.7

    igorsysoev committed with Oct 31, 2011
        *) Feature: support of several resolvers in the "resolver" directive.
           Thanks to Kirill A. Korinskiy.
    
        *) Bugfix: a segmentation fault occurred on start or while
           reconfiguration if the "ssl" directive was used at http level and
           there was no "ssl_certificate" defined.
    
        *) Bugfix: reduced memory consumption while proxying of big files if
           they were buffered to disk.
    
        *) Bugfix: a segmentation fault might occur in a worker process if
           "proxy_http_version 1.1" directive was used.
    
        *) Bugfix: in the "expires @time" directive.
Commits on Oct 16, 2011
  1. @igorsysoev

    nginx 1.1.6

    igorsysoev committed with Oct 17, 2011
        *) Change in internal API: now module context data are cleared while
           internal redirect to named location.
           Requested by Yichun Zhang.
    
        *) Change: if a server in an upstream failed, only one request will be
           sent to it after fail_timeout; the server will be considered alive if
           it will successfully respond to the request.
    
        *) Change: now the 0x7F-0x1F characters are escaped as \xXX in an
           access_log.
    
        *) Feature: "proxy/fastcgi/scgi/uwsgi_ignore_headers" directives support
           the following additional values: X-Accel-Limit-Rate,
           X-Accel-Buffering, X-Accel-Charset.
    
        *) Feature: decrease of memory consumption if SSL is used.
    
        *) Bugfix: some UTF-8 characters were processed incorrectly.
           Thanks to Alexey Kuts.
    
        *) Bugfix: the ngx_http_rewrite_module directives specified at "server"
           level were executed twice if no matching locations were defined.
    
        *) Bugfix: a socket leak might occurred if "aio sendfile" was used.
    
        *) Bugfix: connections with fast clients might be closed after
           send_timeout if file AIO was used.
    
        *) Bugfix: in the ngx_http_autoindex_module.
    
        *) Bugfix: the module ngx_http_mp4_module did not support seeking on
           32-bit platforms.
Commits on Oct 4, 2011
  1. @igorsysoev

    nginx 1.1.5

    igorsysoev committed with Oct 5, 2011
        *) Feature: the "uwsgi_buffering" and "scgi_buffering" directives.
           Thanks to Peter Smit.
    
        *) Bugfix: non-cacheable responses might be cached if
           "proxy_cache_bypass" directive was used.
           Thanks to John Ferlito.
    
        *) Bugfix: in HTTP/1.1 support in the ngx_http_proxy_module.
    
        *) Bugfix: cached responses with an empty body were returned
           incorrectly; the bug had appeared in 0.8.31.
    
        *) Bugfix: 201 responses of the ngx_http_dav_module were incorrect; the
           bug had appeared in 0.8.32.
    
        *) Bugfix: in the "return" directive.
    
        *) Bugfix: the "ssl_session_cache builtin" directive caused segmentation
           fault; the bug had appeared in 1.1.1.
Commits on Sep 19, 2011
  1. @igorsysoev

    nginx 1.1.4

    igorsysoev committed with Sep 20, 2011
        *) Feature: the ngx_http_upstream_keepalive module.
    
        *) Feature: the "proxy_http_version" directive.
    
        *) Feature: the "fastcgi_keep_conn" directive.
    
        *) Feature: the "worker_aio_requests" directive.
    
        *) Bugfix: if nginx was built --with-file-aio it could not be run on
           Linux kernel which did not support AIO.
    
        *) Bugfix: in Linux AIO error processing.
           Thanks to Hagai Avrahami.
    
        *) Bugfix: reduced memory consumption for long-lived requests.
    
        *) Bugfix: the module ngx_http_mp4_module did not support 64-bit MP4
           "co64" atom.
Commits on Sep 13, 2011
  1. @igorsysoev

    nginx 1.1.3

    igorsysoev committed with Sep 14, 2011
        *) Feature: the module ngx_http_mp4_module.
    
        *) Bugfix: in Linux AIO combined with open_file_cache.
    
        *) Bugfix: open_file_cache did not update file info on retest if file
           was not atomically changed.
    
        *) Bugfix: nginx could not be built on MacOSX 10.7.
Commits on Sep 4, 2011
  1. @igorsysoev

    nginx 1.1.2

    igorsysoev committed with Sep 5, 2011
        *) Change: now if total size of all ranges is greater than source
           response size, then nginx disables ranges and returns just the source
           response.
    
        *) Feature: the "max_ranges" directive.
    
        *) Bugfix: the "ssl_verify_client", "ssl_verify_depth", and
           "ssl_prefer_server_ciphers" directives might work incorrectly if SNI
           was used.
    
        *) Bugfix: in the "proxy/fastcgi/scgi/uwsgi_ignore_client_abort"
           directives.
Commits on Aug 21, 2011
  1. @igorsysoev

    nginx 1.1.1

    igorsysoev committed with Aug 22, 2011
        *) Change: now cache loader processes either as many files as specified
           by "loader_files" parameter or works no more than time specified by
           "loader_threshold" parameter during each iteration.
    
        *) Change: now SIGWINCH signal works only in deamon mode.
    
        *) Feature: now shared zones and caches use POSIX semaphores on
           Solaris.
           Thanks to Den Ivanov.
    
        *) Feature: accept filters are now supported on NetBSD.
    
        *) Bugfix: nginx could not be build on Linux 3.0.
    
        *) Bugfix: nginx did not use gzipping in some cases; the bug had
           appeared in 1.1.0.
    
        *) Bugfix: request body might be incorrectly processed if client used
           pipelining.
    
        *) Bugfix: in the "request_body_in_single_buf" directive.
    
        *) Bugfix: in "proxy_set_body" and "proxy_pass_request_body" directives
           if SSL connection to backend was used.
    
        *) Bugfix: nginx hogged CPU if all servers in an upstream were marked
           as "down".
    
        *) Bugfix: a segmentation fault might occur during reconfiguration if
           ssl_session_cache was defined but not used in a previous
           configuration.
    
        *) Bugfix: a segmentation fault might occur in a worker process if many
           backup servers were used in an upstream.
    
        *) Bugfix: a segmentation fault might occur in a worker process if
           "fastcgi/scgi/uwsgi_param" directives were used with values starting
           with "HTTP_"; the bug had appeared in 0.8.40.
Commits on Jul 31, 2011
  1. @igorsysoev

    nginx 1.1.0

    igorsysoev committed with Aug 1, 2011
        *) Feature: cache loader run time decrease.
    
        *) Feature: "loader_files", "loader_sleep", and "loader_threshold"
           options of the "proxy/fastcgi/scgi/uwsgi_cache_path" directives.
    
        *) Feature: loading time decrease of configuration with large number of
           HTTPS sites.
    
        *) Feature: now nginx supports ECDHE key exchange ciphers.
           Thanks to Adrian Kotelba.
    
        *) Feature: the "lingering_close" directive.
           Thanks to Maxim Dounin.
    
        *) Bugfix: in closing connection for pipelined requests.
           Thanks to Maxim Dounin.
    
        *) Bugfix: nginx did not disable gzipping if client sent "gzip;q=0" in
           "Accept-Encoding" request header line.
    
        *) Bugfix: in timeout in unbuffered proxied mode.
           Thanks to Maxim Dounin.
    
        *) Bugfix: memory leaks when a "proxy_pass" directive contains
           variables and proxies to an HTTPS backend.
           Thanks to Maxim Dounin.
    
        *) Bugfix: in parameter validaiton of a "proxy_pass" directive with
           variables.
           Thanks to Lanshun Zhou.
    
        *) Bugfix: SSL did not work on QNX.
           Thanks to Maxim Dounin.
    
        *) Bugfix: SSL modules could not be built by gcc 4.6 without
           --with-debug option.
Commits on Jul 18, 2011
  1. @igorsysoev

    nginx 1.0.5

    igorsysoev committed with Jul 19, 2011
        *) Change: now default SSL ciphers are "HIGH:!aNULL:!MD5".
           Thanks to Rob Stradling.
    
        *) Feature: the "referer_hash_max_size" and "referer_hash_bucket_size"
           directives.
           Thanks to Witold Filipczyk.
    
        *) Feature: $uid_reset variable.
    
        *) Bugfix: a segmentation fault might occur in a worker process, if a
           caching was used.
           Thanks to Lanshun Zhou.
    
        *) Bugfix: worker processes may got caught in an endless loop during
           reconfiguration, if a caching was used; the bug had appeared in
           0.8.48.
           Thanks to Maxim Dounin.
    
        *) Bugfix: "stalled cache updating" alert.
           Thanks to Maxim Dounin.
Commits on May 31, 2011
  1. @igorsysoev

    nginx 1.0.4

    igorsysoev committed with Jun 1, 2011
        *) Change: now regular expressions case sensitivity in the "map"
           directive is given by prefixes "~" or "~*".
    
        *) Feature: now shared zones and caches use POSIX semaphores on Linux.
           Thanks to Denis F. Latypoff.
    
        *) Bugfix: "stalled" cache updating" alert.
    
        *) Bugfix: nginx could not be built --without-http_auth_basic_module;
           the bug had appeared in 1.0.3.
Commits on May 24, 2011
  1. @igorsysoev

    nginx 1.0.3

    igorsysoev committed with May 25, 2011
        *) Feature: the "auth_basic_user_file" directive supports "$apr1",
           "{PLAIN}", and "{SSHA}" password encryption methods.
           Thanks to Maxim Dounin.
    
        *) Feature: the "geoip_org" directive and $geoip_org variable.
           Thanks to Alexander Uskov, Arnaud Granal, and Denis F. Latypoff.
    
        *) Feature: ngx_http_geo_module and ngx_http_geoip_module support IPv4
           addresses mapped to IPv6 addresses.
    
        *) Bugfix: a segmentation fault occurred in a worker process during
           testing IPv4 address mapped to IPv6 address, if access or deny rules
           were defined only for IPv6; the bug had appeared in 0.8.22.
    
        *) Bugfix: a cached reponse may be broken if proxy/fastcgi/scgi/
           uwsgi_cache_bypass and proxy/fastcgi/scgi/uwsgi_no_cache directive
           values were different; the bug had appeared in 0.8.46.
Commits on May 9, 2011
  1. @igorsysoev

    nginx 1.0.2

    igorsysoev committed with May 10, 2011
        *) Feature: now shared zones and caches use POSIX semaphores.
    
        *) Bugfix: in the "rotate" parameter of the "image_filter" directive.
           Thanks to Adam Bocim.
    
        *) Bugfix: nginx could not be built on Solaris; the bug had appeared in
           1.0.1.
Commits on May 2, 2011
  1. @igorsysoev

    nginx 1.0.1

    igorsysoev committed with May 3, 2011
        *) Change: now the "split_clients" directive uses MurmurHash2 algorithm
           because of better distribution.
           Thanks to Oleg Mamontov.
    
        *) Change: now long strings starting with zero are not considered as
           false values.
           Thanks to Maxim Dounin.
    
        *) Change: now nginx uses a default listen backlog value 511 on Linux.
    
        *) Feature: the $upstream_... variables may be used in the SSI and perl
           modules.
    
        *) Bugfix: now nginx limits better disk cache size.
           Thanks to Oleg Mamontov.
    
        *) Bugfix: a segmentation fault might occur while parsing incorrect
           IPv4 address; the bug had appeared in 0.9.3.
           Thanks to Maxim Dounin.
    
        *) Bugfix: nginx could not be built by gcc 4.6 without --with-debug
           option.
    
        *) Bugfix: nginx could not be built on Solaris 9 and earlier; the bug
           had appeared in 0.9.3.
           Thanks to Dagobert Michelsen.
    
        *) Bugfix: $request_time variable had invalid values if subrequests
           were used; the bug had appeared in 0.8.47.
           Thanks to Igor A. Valcov.
Commits on Apr 11, 2011
  1. @igorsysoev

    nginx 1.0.0

    igorsysoev committed with Apr 12, 2011
        *) Bugfix: a cache manager might hog CPU after reload.
           Thanks to Maxim Dounin.
    
        *) Bugfix: an "image_filter crop" directive worked incorrectly coupled
           with an "image_filter rotate 180" directive.
    
        *) Bugfix: a "satisfy any" directive disabled custom 401 error page.
Commits on Apr 3, 2011
  1. @igorsysoev

    nginx 0.9.7

    igorsysoev committed with Apr 4, 2011
        *) Feature: now keepalive connections may be closed premature, if there
           are no free worker connections.
           Thanks to Maxim Dounin.
    
        *) Feature: the "rotate" parameter of the "image_filter" directive.
           Thanks to Adam Bocim.
    
        *) Bugfix: a case when a backend in "fastcgi_pass", "scgi_pass", or
           "uwsgi_pass" directives is given by expression and refers to a
           defined upstream.
Commits on Mar 20, 2011
  1. @igorsysoev

    nginx 0.9.6

    igorsysoev committed with Mar 21, 2011
        *) Feature: the "map" directive supports regular expressions as value
           of the first parameter.
    
        *) Feature: $time_iso8601 access_log variable.
           Thanks to Michael Lustfield.
Commits on Feb 20, 2011
  1. @igorsysoev

    nginx 0.9.5

    igorsysoev committed with Feb 21, 2011
        *) Change: now nginx uses a default listen backlog value -1 on
           Linux.
           Thanks to Andrei Nigmatulin.
    
        *) Feature: the "utf8" parameter of "geoip_country" and "geoip_city"
           directives.
           Thanks to Denis F. Latypoff.
    
        *) Bugfix: in a default "proxy_redirect" directive if "proxy_pass"
           directive has no URI part.
           Thanks to Maxim Dounin.
    
        *) Bugfix: an "error_page" directive did not work with nonstandard
           error codes; the bug had appeared in 0.8.53.
           Thanks to Maxim Dounin.
Commits on Jan 20, 2011
  1. @igorsysoev

    nginx 0.9.4

    igorsysoev committed with Jan 21, 2011
        *) Feature: the "server_name" directive supports the $hostname variable.
    
        *) Feature: 494 code for "Request Header Too Large" error.
Commits on Dec 12, 2010
  1. @igorsysoev

    nginx 0.9.3

    igorsysoev committed with Dec 13, 2010
        *) Bugfix: if there was a single server for given IPv6 address:port
           pair, then captures in regular expressions in a "server_name"
           directive did not work.
    
        *) Bugfix: nginx could not be built on Solaris; the bug had appeared in
           0.9.0.
Commits on Dec 5, 2010
  1. @igorsysoev

    nginx 0.9.2

    igorsysoev committed with Dec 6, 2010
        *) Feature: the "If-Unmodified-Since" client request header line
           support.
    
        *) Workaround: fallback to accept() syscall if accept4() was not
           implemented; the issue had appeared in 0.9.0.
    
        *) Bugfix: nginx could not be built on Cygwin; the issue had appeared
           in 0.9.0.
    
        *) Bugfix: for OpenSSL vulnerability CVE-2010-4180.
           Thanks to Maxim Dounin.
Commits on Nov 29, 2010
  1. @igorsysoev

    nginx 0.9.1

    igorsysoev committed with Nov 30, 2010
        *) Bugfix: "return CODE message" directrives did not work; the bug had
           appeared in 0.9.0.
Commits on Nov 28, 2010
  1. @igorsysoev

    nginx 0.9.0

    igorsysoev committed with Nov 29, 2010
        *) Feature: the "keepalive_disable" directive.
    
        *) Feature: the "map" directive supports variables as value of a
           defined variable.
    
        *) Feature: the "map" directive supports empty strings as value of the
           first parameter.
    
        *) Feature: the "map" directive supports expressions as the first
           parameter.
    
        *) Feature: nginx(8) manual page.
           Thanks to Sergey Osokin.
    
        *) Feature: Linux accept4() support.
           Thanks to Simon Liu.
    
        *) Workaround: elimination of Linux linker warning about "sys_errlist"
           and "sys_nerr"; the warning had appeared in 0.8.35.
    
        *) Bugfix: a segmentation fault might occur in a worker process, if the
           "auth_basic" directive was used.
           Thanks to Michail Laletin.
    
        *) Bugfix: compatibility with ngx_http_eval_module; the bug had
           appeared in 0.8.42.
Commits on Oct 17, 2010
  1. @igorsysoev

    nginx 0.8.53

    igorsysoev committed with Oct 18, 2010
        *) Feature: now the "error_page" directive allows to change a status
           code in a redirect.
    
        *) Feature: the "gzip_disable" directive supports special "degradation"
           mask.
    
        *) Bugfix: a socket leak might occurred if file AIO was used.
           Thanks to Maxim Dounin.
    
        *) Bugfix: if the first server had no "listen" directive and there was
           no explicit default server, then a next server with a "listen"
           directive became the default server; the bug had appeared in 0.8.21.
Commits on Sep 27, 2010
  1. @igorsysoev

    nginx 0.8.52

    igorsysoev committed with Sep 28, 2010
        *) Bugfix: nginx used SSL mode for a listen socket if any listen option
           was set; the bug had appeared in 0.8.51.
Commits on Sep 26, 2010
  1. @igorsysoev

    nginx 0.8.51

    igorsysoev committed with Sep 27, 2010
        *) Change: the "secure_link_expires" directive has been canceled.
    
        *) Change: a logging level of resolver errors has been lowered from
           "alert" to "error".
    
        *) Feature: now a listen socket "ssl" parameter may be set several
           times.
Commits on Sep 1, 2010
  1. @igorsysoev

    nginx 0.8.50

    igorsysoev committed with Sep 2, 2010
        *) Feature: the "secure_link", "secure_link_md5", and
           "secure_link_expires" directives of the ngx_http_secure_link_module.
    
        *) Feature: the -q switch.
           Thanks to Gena Makhomed.
    
        *) Bugfix: worker processes may got caught in an endless loop during
           reconfiguration, if a caching was used; the bug had appeared in
           0.8.48.
    
        *) Bugfix: in the "gzip_disable" directive.
           Thanks to Derrick Petzold.
    
        *) Bugfix: nginx/Windows could not send stop, quit, reopen, and reload
           signals to a process run in other session.
Commits on Aug 8, 2010
  1. @igorsysoev

    nginx 0.8.49

    igorsysoev committed with Aug 9, 2010
        *) Feature: the "image_filter_jpeg_quality" directive supports
           variables.
    
        *) Bugfix: a segmentation fault might occur in a worker process, if the
           $geoip_region_name variables was used; the bug had appeared in
           0.8.48.
    
        *) Bugfix: errors intercepted by error_page were cached only for next
           request; the bug had appeared in 0.8.48.
Commits on Aug 2, 2010
  1. @igorsysoev

    nginx 0.8.48

    igorsysoev committed with Aug 3, 2010
        *) Change: now the "server_name" directive default value is an empty
           name "".
           Thanks to Gena Makhomed.
    
        *) Change: now the "server_name_in_redirect" directive default value is
           "off".
    
        *) Feature: the $geoip_dma_code, $geoip_area_code, and
           $geoip_region_name variables.
           Thanks to Christine McGonagle.
    
        *) Bugfix: the "proxy_pass", "fastcgi_pass", "uwsgi_pass", and
           "scgi_pass" directives were not inherited inside "limit_except"
           blocks.
    
        *) Bugfix: the "proxy_cache_min_uses", "fastcgi_cache_min_uses"
           "uwsgi_cache_min_uses", and "scgi_cache_min_uses" directives did not
           work; the bug had appeared in 0.8.46.
    
        *) Bugfix: the "fastcgi_split_path_info" directive used incorrectly
           captures, if only parts of an URI were captured.
           Thanks to Yuriy Taraday and Frank Enderle.
    
        *) Bugfix: the "rewrite" directive did not escape a ";" character
           during copying from URI to query string.
           Thanks to Daisuke Murase.
    
        *) Bugfix: the ngx_http_image_filter_module closed a connection, if an
           image was larger than "image_filter_buffer" size.
Commits on Jul 27, 2010
  1. @igorsysoev

    nginx 0.8.47

    igorsysoev committed with Jul 28, 2010
        *) Bugfix: $request_time variable had invalid values for subrequests.
    
        *) Bugfix: errors intercepted by error_page could be cached.
    
        *) Bugfix: a cache manager process my got caught in an endless loop, if
           max_size parameter was used; the bug had appeared in 0.8.46.
Commits on Jul 18, 2010
  1. @igorsysoev

    nginx 0.8.46

    igorsysoev committed with Jul 19, 2010
        *) Change: now the "proxy_no_cache", "fastcgi_no_cache",
           "uwsgi_no_cache", and "s�gi_no_cache" directives affect on a cached
           response saving only.
    
        *) Feature: the "proxy_cache_bypass", "fastcgi_cache_bypass",
           "uwsgi_cache_bypass", and "s�gi_cache_bypass" directives.
    
        *) Bugfix: nginx did not free memory in cache keys zones if there was
           an error during working with backend: the memory was freed only
           after inactivity time or on memory low condition.
Commits on Jul 12, 2010
  1. @igorsysoev

    nginx 0.8.45

    igorsysoev committed with Jul 13, 2010
        *) Feature: ngx_http_xslt_filter improvements.
           Thanks to Laurence Rowe.
    
        *) Bugfix: SSI response might be truncated after include with
           wait="yes"; the bug had appeared in 0.7.25.
           Thanks to Maxim Dounin.
    
        *) Bugfix: the "listen" directive did not support the "setfib=0"
           parameter.
Commits on Jul 4, 2010
  1. @igorsysoev

    nginx 0.8.44

    igorsysoev committed with Jul 5, 2010
        *) Change: now nginx does not cache by default backend responses, if
           they have a "Set-Cookie" header line.
    
        *) Feature: the "listen" directive supports the "setfib" parameter.
           Thanks to Andrew Filonov.
    
        *) Bugfix: the "sub_filter" directive might change character case on
           partial match.
    
        *) Bugfix: compatibility with HP/UX.
    
        *) Bugfix: compatibility with AIX xcl_r compiler.
    
        *) Bugfix: nginx treated a large SSLv2 packets as plain requests.
           Thanks to Miroslaw Jaworski.
Something went wrong with that request. Please try again.