Debian Patches
Status for uwsgi/2.0.31-7
| Patch | Description | Author | Forwarded | Bugs | Origin | Last update |
|---|---|---|---|---|---|---|
| 1006_fix_check_hex_always_hex.patch | fix check_hex always hex | Alexandre Rossi <alexandre.rossi@gmail.com> | yes | 2026-09-07 | ||
| 1005_fix-pidfile-perms.patch | use secure --daemonize umask When using --pidfile with --daemonize, the created pidfile is world writeable and this breaks stop action of initscripts using start-stop-daemon. This may also enable a normal user to kill any process. |
Alexandre Rossi <niol@zincube.net> | yes | |||
| 1004_plugin_jvm_set_release.patch | plugin jvm: allow one to set JVM compat release | Alexandre Rossi <niol@zincube.net> | yes | |||
| 1003_fix_rack3_headers.patch | rack plugin: rack3 header values can be an Array to handle multiple values | Alexandre Rossi <alexandre.rossi@gmail.com> | yes | 2026-01-13 | ||
| 1001_avoid_setting_RPATH.patch | Remove value assignments to environment variable LD_RUN_PATH Value assignment to environment variable LD_RUN_PATH leads to setting RPATH in compiled binary/shared library. . And then Lintian reports about error (E: binary-or-shlib-defines-rpath). |
Janos Guljas <janos@debian.org> | not-needed | 2016-02-08 | ||
| 1002_fix-reload-process-name.patch | Preserve process name on reload Function uwsgi_reload is using uwsgi.binary_path as first argument in execvp(). If the daemon is started through a symlink, uwsgi_reload will use that link's target and change the process name. With a different process name start-stop-daemon, used in init scripts, is unable to control the daemon. |
Janos Guljas <janos@debian.org> | not-needed | 2013-04-23 | ||
| 1011_backlog_uds.patch | Handle backlog of UNIX socket too The cheaper subsystem specifies that "backlog is only available on Linux and only on TCP sockets (not UNIX domain sockets)." This commit specifically implement this: UNIX domain socket support for backlog on Linux, using Netlink to call the kernel and get the queue status. |
Pierre Ducroquet <pducroquet@entrouvert.com> | yes | |||
| 1012_fix_manage_script_name_path_info_underflow.patch | Fix path_info_len underflow in manage-script-name with trailing-slash mountpoints When a request path like /footris exactly matches a mountpoint /footris/ (after stripping the trailing slash for comparison), the manage-script-name code sets script_name_len to 9 (the original mountpoint length including the slash) but orig_path_info_len is only 8. The subtraction orig_path_info_len - script_name_len = -1 wraps to 65535 when stored in the uint16_t path_info_len field. Subsequent code then passes iov_len=65535 to PyUnicode_DecodeLatin1, which reads far past the end of the allocated buffer. On s390x this read crosses into an unmapped page and causes a segfault. . Fix: when orig_path_info_len is less than script_name_len (the only case being the exact-match-without-trailing-slash scenario described above), set path_info to an empty string (pointing at the end of the original path_info buffer) with path_info_len = 0. |
Bastian Germann <bage@debian.org> | yes | debian | 2026-05-27 | |
| 2001_ensure_verbose_build.patch | Ensure verbose build in the uwsgi build systems This gets compiler command line logs in the build log which is nice for debugging. |
Alexandre Rossi <alexandre.rossi@gmail.com> | not-needed | 2020-06-05 | ||
| 2002_rename_py_plugins.patch | Debian renames python related plugins for historical reasons. Rather than annoying users with a visible change, patch source to ensure all is ok with Debian names: python => python3 (as referred to in integration tests) pypy => pypy3 (as referred to in integration tests and in plugin published symbols) Also fix pypy test conf for Debian environment. -- |
Alexandre Rossi <niol@zincube.net> | not-needed | 2026-01-26 | ||
| 2003_plugin_builder_py3.patch | Use python3 to build plugins as default | Alexandre Rossi <niol@zincube.net> | not-needed | |||
| 2050_Fix_Transfer-Encoding_chunked_brokenness_over_TLS.patch | Retry the read after wait_read_hook in uwsgi_chunked_input_recv It took me years to understand why OpenStack Glance wouldn't work over uwsgi, and I finally found out. The issue is in uwsgi itself. . After uwsgi.wait_read_hook() reports the socket as readable, uwsgi_chunked_input_recv() performed exactly one proto_read_body() and returned -1 on ANY failure (including EAGAIN), aborting the chunked input with "unable to receive chunked part". This works reasonably well without TLS. . With TLS, POLLIN only means "some TLS bytes arrived"; OpenSSL routinely consumes a partial record (split across TCP segments) and returns SSL_ERROR_WANT_READ right after POLLIN. A single failed post-wait read then aborted the request, so any Transfer-Encoding: chunked request whose body does not arrive in one burst failed fast with an HTTP 500, while the client was still sending the body. . This can be reproduced with a client that streams a large body in chunks with pauses in between, or generates the body on the fly (e.g. piped from another process), and works fine as soon as the whole body is available at once. This description matches 100% what OpenStack Nova and Glance are doing when doing a backup. . To fix this, this patch loops back to the read/wait cycle on EAGAIN instead: EOF (rlen == 0). Hard errors still abort, while a partial read now waits for the rest of the data. diff --git a/core/chunked.c b/core/chunked.c index fe693aad4..1b4af07a3 100644 |
Thomas Goirand <zigo@debian.org> | yes | debian | 2026-10-02 |
All known versions for source package 'uwsgi'
- 2.0.31-7 (sid)
- 2.0.31-6 (forky)
- 2.0.28-9 (trixie)
- 2.0.21-5.1 (bookworm)
