summaryrefslogtreecommitdiff
path: root/www/py-uwsgi/patches
AgeCommit message (Collapse)AuthorFilesLines
2017-06-23Avoid sys/user.h on NetBSD.joerg1-3/+6
2016-11-04py-uwsgi: update to 2.0.14maya5-81/+10
2.0.14 changes: backported gevent-early-monkey-patch (jianbin-wei) Fixed OpenBSD version check (Pavel Korovin) PSGI/Perl cache api fixes (Alexander Demenshin) Correctly decode PATH_INFo in router_rewrite plugin (Ben Hearsum) add uwsgi.accepting() for chain-reload + worker-override combo (enkore) fixed workers killing when in cheaper modes (shoham-stratoscale) added –cgi-safe option (nnnn20430) Implemented graceful reload for COROAE plugin (aleksey-mashanov) Added –php-fallback2, –php-fallback-qs (Felicity unixwitch) Added ipv4in and ipv6in routing rules (Felicity unixwitch) Fixed readline support in python3 when working interactively (Anthony Sottile) Implement touch-reloading for mules and spoolers (Alexandre Bonnetain) add request_start timestamp in stats (Ben Plotnick) Fixed double free in uwsgi_routing_func_rewrite (William Orr) Various mod_proxy_uwsgi fixes (Ya-Lin Huang) support for ‘no-answer’ in PSGI (Anton Petrusevich) added php-constant option (Дамјан Георгиевски [gdamjan]) added the stdio logger (Дамјан Георгиевски [gdamjan]) spooler: fix reading inconsistent data (Pavel Patrin) Removed -WError from the build procedure (Riccardo Magliocchetti, suggested by Ian Denhardt) The usual amount of coverity-based fixes (Riccardo Magliocchetti) 2.0.13.1: Fixed support for python 2.5 and python 2.6 Fixed support for older glibc reverted EPOLLEXCLUSIVE patch, requires more investigation 2.0.13: Fix compilation with GCC 6 Remote rpc fixes (Darvame) Musl support! (Natanael Copa, Matt Dainty, Riccardo Magliocchetti) Create the spooler directory if it does not exist (Alexandre Bonnetain) Fix compilation on big endian linux (Riccardo Magliocchetti) A ton of cache fixes (Darvame) Make it easier to compile plugins on a different directory (Jakub Jirutka) Add wheel package machinery (Matt Robenolt) Use EPOLLEXCLUSIVE for reading, helps with the thundering herd problem (on linux 4.5+) (INADA Naoki) Fix apache 2.4 integration with unix sockets (Alexandre Rossi) Add HTTP/2 support to apache 2 proxy (Michael Fladischer, OGAWA Hirofumi) Fix apache mod proxy compilation with apache 2.4.20 (Mathieu Arnold) Default to clang as default compiler on MacOS X (Riccardo Magliocchetti) Added –cgi-close-stdin-on-eof (Roberto De Ioris) 2.0.12: Bugfixes ‘rpcvar’ routing action correctly returns NEXT on empty response uwsgiconfig: fix handling of empty keys in python3 (Simone Basso) plugins/alarm_speech: fix AppKit spelling to support case-sensitive filesystems (Andrew Janke) Fix inheriting INET address 0.0.0.0 (INADA Naoki) core/xmlconf: correctly initialize libxml2 (Riccardo Magliocchetti) Pass LIBDIR to linker in python plugin (Borys Pierov) Platforms-related build fixes for pty, forkptyrouter and mono plugins (Jonas Smedegaard and Riccardo Magliocchetti) New Features and Backports The custom worker api Finally you are able to override the uWSGI processing model to completely get control of it. This is very similar to what you can do in projects like gunicorn (and its integration with tornado or gevent). Obviously native plugins are still the best approach (they allow integration with uWSGI api and states), but in some case you may want to use uWSGI process management facilities and let your app do the rest of the work. Currently only the python plugin supports “overriding” of workers, an aiohttp (asyncio) example module is available: https://github.com/unbit/uwsgi-docs/blob/master/WorkerOverride.rst –wsgi-disable-file-wrapper This option disables the wsgi.file_wrapper optimization of the WSGI standard. In some corner case this is the only trick to avoid errors. Official PHP 7 support PHP 7 is now officially supported in the php plugin. uwsgi.spooler_get_task api (Credits: Alexandre Bonnetain) This patch allows you to easily parse spooler files. Check the example/test here: https://github.com/unbit/uwsgi/blob/master/t/spooler/read.py –if-hostname-match (Credits: Alexandre Bonnetain) This options for config logic allows you to define options only when a regexp over the hostname matches: [uwsgi] if-hostname-match = ^prod threads = 20 endif = 2.0.11.2: Bugfixes OSX 10.11 supports TCP_FASTOPEN fixed http-socket parser state after harakiri fixed threaded request logger fixed fastrouter subscriptions modifiers fixed alarm backlog 2.0.11.1: Bugfixes fixed HTTPS router resource deallocation and fiel descriptors leak do not spit out ssl errors when errno is 0 New Features The unix_signal hook You can now remap UNIX signals to specific functions symbols 2.0.11: Bugfixes [pypy] fixed misuse of ffi.string fixed detection for gcc 5 (jimfunk) fixed shared sockets for gateways [psgi] Changed abs to labs because offset is declared as a long (Peter H. Ezetta) add null terminator to uwsgi_get_dot_h() and uwsgi_config_py() (Jay Oster) fixed thread waiting during stop/restart (Kaiwen Xu) fixed chain reloading verbosity [python] fixed spooler job reference counting (Curtis Maloney) various static analysis improvements (Riccardo Magliocchetti) fixed sharedarea support for very big ranges fixed gzip transformation for zero-sized responses (Curtis Maloney) fixed management of https client certificate authentication (Vladimir Didenko) fixed OpenBSD build fixed TMPFILE permissions New Features The mem_collector thread Evil memory monitors (like –evil-reload-on-rss) are now asynchronously managed by a dedicated thread. This solves the issue of runaway processes not catched by the master. fixpathinfo routing action This is another step in removing the need of the infamous uwsgi_modifier1 30 relic. This routing action assumes the PATH_INFO cgi var has the SCRIPT_NAME part included. This action allows you to set SCRIPT_NAME in nginx without bothering to rewrite the PATH_INFO (something nginx cannot afford) [uwsgi] ; blindly assumes PATH_INFO is clobbered with SCRIPT_NAME route-run = fixpathinfo: uwsgi[sor] and time[micros] routing vars This two new vars exposes the start of the current request (in micros) and the current time (again in micros) [uwsgi] route-run = log:request started at ${uwsgi[sor]} route-run = log:current micros time is ${time[micros]} wait-for-socket This works like wait-for-fs/iface/file/dir The spawn of the instance is suspended until the specified tcp/unix socket is ready. You can use it to synchronize vassals spawn (like stopping a vassal until a postgresql server has been spawned) wait_for hooks All of the wait-for-* functions can now be used as a hook: [uwsgi] ; wait for postgres soon after privileges drop hook-as-user = wait_for_socket:127.0.0.1:5432
2016-01-11Avoid incrementing the same variable in the for body and at the end ofjoerg4-0/+71
the loop. The code is correct, but triggers a useful clang 3.8 warning.
2015-04-06Fix build for OpenBSD and Bitrig (from sevan@'s report).rodent4-10/+25
2014-02-17Updated to latest release, 2.0.1. From Changelog:rodent1-10/+1
(http://uwsgi-docs.readthedocs.org/en/latest/Changelog-2.0.1.html?highlight=changelog) Bugfixes and improvements * due to a wrong prototype declaration, building uWSGI without SSL resulted in a compilation bug. The issue has been fixed. * a race condition preventing usage of a massive number of threads in the PyPy plugin has been fixed * check for heartbeat status only if heartbeat subsystem has been enabled * improved heartbeat code to support various corner cases * improved psgi.input to support offset in read() * fixed (and simplified) perl stacktrace usage * fixed sni secured subscription * CGI plugin does not require anymore that Status header is the first one (Andjelko Horvat) * fixed CPython mule_msg_get timeout parsing * allows embedding of config files via absolute paths * fixed symcall rpc * fixed a memory leak in CPython spooler api (xiaost) * The -no-orphans hardening has been brought back (currently Linux-only) * improved dotsplit router mode to reduce DOS risk * sub-Emperor are now loyal by default * fixed non-shared ruby 1.8.7 support * fixed harakiri CPython tracebacker * request vars are now correctly exposed by the stats server * support log-master for logfile-chown * improved legion reload * fixed tuntap netmask * fixed busyness plugin without metrics subsystem New features * uWSGI 2.0 is a LTS branch, so do not expect too much new features. 2.0.1 is the first maintainance release, so you still get a bunch of them (mainly features not complete in 2.0) * Perl native Spooler support * -alarm-backlog * -close-on-exec2 * simple notifications subsystem * pid namespace for daemons (Linux only) * Resubscriptions * filesystem monitor api * support for yajl 1.0 * for-readline * %i and %j magic vars * -inject-before and -inject-after * -http-server-name-as-http-host * better Emperor's Ragnarok (shutdown procedure) * PyPy paste support
2014-01-23Update to 2.0 (python-3.x compatible) based on the wip package by othyro.wiz4-113/+59
Changes: uWSGI 2.0 Changelog [20131230] Important changes Dynamic options have been definitely removed as well as the broken_plugins directory Bugfixes and improvements improved log rotation do not rely on unix signals to print request status during harakiri added magic vars for uid and gid various Lua fixes a tons of coverity-governed bugfixes made by Riccardo Magliocchetti New features --attach-daemon2 this is a keyval based option for configuring external daemons. Updated docs are: :doc:`AttachingDaemons` Linux setns() support One of the biggest improvements in uWSGI 1.9-2.0 has been the total support for Linux namespaces. This last patch adds support for the setns() syscall. This syscall allows a process to "attach" to a running namespace. uWSGI instances can exposes their namespaces file descriptors (basically they are the files in /proc/self/ns) via a unix socket. External instances connects to that unix socket and automatically enters the mapped namespace. to spawn an instance in "namespace server mode", you use the --setns-socket <addr> option uwsgi --setns-socket /var/run/ns.socket --unshare net,ipc,uts ... to attach you simply use --setns <addr> uwsgi --setns /var/run/ns.socket ... Updated docs: :doc:`Namespaces` "private" hooks When uWSGI runs your hooks, it verbosely print the whole hook action line. This could be a security problem in some scenario (for example when you run initial phases as root user but allows unprivileged access to logs). Prefixing your action with a '!' will suppress full logging: [uwsgi] hook-asap = !exec:my_secret_command Support for yajl library (JSON parser) Til now uWSGI only supported jansson as the json parser required for managing .js config files. You can now use the yajl library (available in centos) as alternative JSON parser (will be automatically detected) Perl spooler support The perl/PSGI plugin can now be used as a spooler server: uwsgi::spooler(sub { my $args = shift; print Dumper($args); return -2; }); The client part is still missing as we need to fix some internal api problem. Expect it in 2.0.1 ;) Gateways can drop privileges Gateways (like http router, sslrouter, rawrouter, forkptyrouter ...) can now drop privileges independently by the master. Currently only the http/https/spdy router exposes the new option (--http-uid/--http-gid) Subscriptions-governed SNI contexts The subscription subsystem now supports 3 additional keys (you can set them with the --subscribe2 option): sni_key sni_cert sni_ca all of the takes a path to the relevant ssl files.
2014-01-05Fix patch header.rodent1-2/+2
2014-01-04Update to 1.4.10, the oldest version supported by upstream. See py-uwsgi inrodent4-50/+52
-wip for the newest supported version. Partial ChangeLog: * 1.4.1 - fixed typos in corerouter plugins - fixed offloading when the number of threads is higher than 1 - fixed static_maps for non-existent paths - fixed uwsgi_connect() on modern Linux systems to reset the socket to blocking mode * 1.4 - gevent improvements - improved http/https router and fastrouter - Go official support - a new set of infos are exported to the stats system - improved systemd support - log filtering and routing - improved tracebacker - offload transfer for static files, and network transfers - matheval support - plugins can be written in Obj-C - smart attach daemon - added support for PEP 405 virtualenvs - rawrouter with xclient support - internal routing plugin for cache * 1.3 - python tracebacker - user-governed harakiri - simplified external plugin development - Linux namespace mountpoint improvements - secured subscription system - merged routers codebase (fastrouter, http, rawrouter) - https support in the http router - config report at the end of uWSGI build process - improved subscription system (multicast and unix socket) - custom options - graceful reloads on shared sockets - configurable log-master buffer size - extreme-optimizations for the stats subsystem - redislog and mongodblog plugins - added python logger - mongodb and postgres imperial monitors - implemented psgix.logger and psgix.cleanup - full rack spec compliance - preliminary ipv6 support - gevent graceful reloads - support for multiple loggers and logformat - lazy-apps to load apps after fork() but without changing reloading subsystem - emperor heartbeat subsystem - cheaper busyness plugin - pluggable clock sources - added router_rewrite and router_http plugins - external spoolers - support for section:// and fd:// loaders - alarm subsystem (with curl and xmpp plugins)
2012-07-12Update to uwsgi-1.2.4roy3-34/+61
Changes include: Posix semaphore support for FreeBSD and NetBSD. Improved syslog support. Linux KSM and unshare support. Threading improvements.
2012-05-15PR#45840 www/py-uwsgi: Fix DragonFly Portmarino3-1/+52
2012-01-09Disable automatic detection of any library's that do not have theresbd1-0/+60
buildlink3.mk included. Bump PKGREVISION
2012-01-09Revert the below commit:sbd1-20/+0
Module Name: pkgsrc Committed By: sbd Date: Sun Jan 8 04:06:35 UTC 2012 Modified Files: pkgsrc/www/py-uwsgi: Makefile distinfo Added Files: pkgsrc/www/py-uwsgi/patches: patch-uwsgiconfig.py Log Message: Add missing devel/libuuid buildlink. Bump PKGREVISION To generate a diff of this commit: cvs rdiff -u -r1.10 -r1.11 pkgsrc/www/py-uwsgi/Makefile cvs rdiff -u -r1.7 -r1.8 pkgsrc/www/py-uwsgi/distinfo cvs rdiff -u -r0 -r1.1 pkgsrc/www/py-uwsgi/patches/patch-uwsgiconfig.py
2012-01-08Add missing devel/libuuid buildlink.sbd1-0/+20
Bump PKGREVISION
2011-07-25Update to uwsgi-2.8.3:joerg3-97/+0
- Various bugfixes and improvements
2011-04-08Changes 0.9.7.2:adam3-0/+97
* new option --touch-reload <file> to reload the stack on <file> modification * --static-map <mountpoint=documentroot> allows to serve static files * fixed --post-limit management * disallow empty socket names * implemented exception_info WSGI support * new options --reload-on-as <n> and --reload-on-rss <n> allows to recycle workers when their memory usage is higher than <n> MB * fixed syslog support (use --log-syslog[=facility] to enable it) * improved plugin loading system * added support for RabbitMQ as event dispatcher for the Emperor * fixed FreeBSD memory report * PSGI plugin can be compiled without ithreads * various Emperor fixes * fixed a regression with setgroups() * support for shared sockets (used in jails within network namespaces)