uWSGI 2.0.25__tar.gz → 2.0.26__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {uwsgi-2.0.25 → uwsgi-2.0.26}/.github/workflows/test.yml +30 -14
- {uwsgi-2.0.25 → uwsgi-2.0.26}/Makefile +8 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/PKG-INFO +1 -1
- {uwsgi-2.0.25 → uwsgi-2.0.26}/apache2/mod_proxy_uwsgi.c +6 -0
- uwsgi-2.0.26/buildconf/unittest.ini +6 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/core/regexp.c +2 -2
- {uwsgi-2.0.25 → uwsgi-2.0.26}/core/uwsgi.c +0 -7
- uwsgi-2.0.26/t/runner +82 -0
- uwsgi-2.0.26/t/static/config.ini +4 -0
- uwsgi-2.0.26/unittest/Makefile +28 -0
- uwsgi-2.0.26/unittest/check_core.c +108 -0
- uwsgi-2.0.26/unittest/check_regexp.c +86 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/uwsgi.gemspec +1 -1
- {uwsgi-2.0.25 → uwsgi-2.0.26}/uwsgiconfig.py +9 -8
- {uwsgi-2.0.25 → uwsgi-2.0.26}/.github/workflows/compile-test.yml +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/.gitignore +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/CONTRIBUTORS +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/INSTALL +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/LICENSE +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/README +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/apache2/mod_Ruwsgi.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/apache2/mod_uwsgi.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/attach.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/bin/uwsgi +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/buildconf/all.ini +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/buildconf/asyncio.ini +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/buildconf/base.ini +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/buildconf/cgi.ini +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/buildconf/core.ini +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/buildconf/coroae.ini +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/buildconf/coverity.ini +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/buildconf/default.ini +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/buildconf/django.ini +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/buildconf/embedded.ini +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/buildconf/erlang.ini +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/buildconf/gccgo.ini +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/buildconf/gevent.ini +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/buildconf/glusterfs.ini +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/buildconf/gridfs.ini +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/buildconf/jwsgi.ini +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/buildconf/lib.ini +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/buildconf/lua.ini +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/buildconf/luap.ini +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/buildconf/minimal.ini +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/buildconf/modular.ini +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/buildconf/mono.ini +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/buildconf/nolang.ini +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/buildconf/package.ini +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/buildconf/php.ini +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/buildconf/plonly.ini +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/buildconf/ppa.ini +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/buildconf/psgi.ini +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/buildconf/pyerl.ini +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/buildconf/pylua.ini +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/buildconf/pyonly.ini +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/buildconf/pypy.ini +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/buildconf/pypyonly.ini +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/buildconf/pyring.ini +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/buildconf/pyuwsgi.ini +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/buildconf/pyuwsginossl.ini +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/buildconf/rack.ini +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/buildconf/rados.ini +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/buildconf/rbonly.ini +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/buildconf/ring.ini +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/buildconf/ruby2.ini +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/buildconf/servlet.ini +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/buildconf/travis.ini +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/buildconf/unbit.ini +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/buildconf/unbitstaff.ini +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/buildconf/uwsgi.it.ini +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/buildconf/v8.ini +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/contrib/Uwsgi.pm +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/contrib/binder.pl +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/contrib/centos_init_script +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/contrib/cgi_python.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/contrib/cryptologger.rb +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/contrib/emperormon.ru +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/contrib/fdconf.pl +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/contrib/graphite_uwsgi.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/contrib/launchd/it.unbit.uwsgi.emperor.plist +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/contrib/launchd/it.unbit.uwsgi.plist +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/contrib/loadapp.pl +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/contrib/pypy/uwsgi_pypy_greenlets.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/contrib/pyuwsgi.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/contrib/runuwsgi.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/contrib/securesubscribe.pl +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/contrib/spoolqueue/producer.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/contrib/spoolqueue/tasks.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/contrib/spoolqueue/tasksconsumer.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/contrib/subscribe.pl +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/contrib/twuwsgi.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/contrib/upstart/emperor.conf +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/contrib/upstart/uwsgi.conf +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/contrib/upython +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/contrib/urack.rb +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/contrib/uwsgi-cache-monitor.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/contrib/uwsgi.erl +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/contrib/uwsgi.java +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/contrib/uwsgi.rb +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/contrib/uwsgi_client.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/contrib/uwsgi_dynamic_client.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/contrib/uwsgisubscribers.ru +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/contrib/xinetd_uwsgi +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/core/alarm.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/core/async.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/core/buffer.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/core/cache.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/core/chunked.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/core/clang_fake.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/core/clock.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/core/config.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/core/cookie.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/core/cron.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/core/daemons.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/core/emperor.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/core/errors.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/core/event.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/core/exceptions.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/core/fifo.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/core/fsmon.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/core/gateway.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/core/hash.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/core/hooks.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/core/ini.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/core/init.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/core/io.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/core/json.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/core/legion.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/core/lock.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/core/logging. +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/core/logging.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/core/loop.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/core/master.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/core/master_checks.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/core/master_events.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/core/master_utils.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/core/metrics.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/core/mount.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/core/mule.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/core/notify.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/core/offload.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/core/plugins.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/core/plugins_builder.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/core/progress.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/core/protocol.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/core/querystring.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/core/queue.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/core/rb_timers.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/core/reader.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/core/routing.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/core/rpc.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/core/sendfile.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/core/setup_utils.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/core/sharedarea.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/core/signal.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/core/skel.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/core/snmp.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/core/socket.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/core/spooler.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/core/ssl.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/core/static.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/core/stats.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/core/storage.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/core/strings.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/core/subscription.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/core/timebomb.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/core/transformations.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/core/utils.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/core/websockets.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/core/writer.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/core/xmlconf.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/core/yaml.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/core/zeus.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/core/zlib.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/examples/bootstrap.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/examples/bootstrap2.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/examples/bootstrap3.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/examples/bootstrap4.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/examples/bootstrap5.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/examples/config.lua +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/examples/config.ru +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/examples/config17.ru +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/examples/config2.lua +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/examples/config2.ru +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/examples/config30.ru +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/examples/corostream.pl +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/examples/debug.ini +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/examples/fibers.ru +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/examples/fibers.yml +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/examples/flaskpost.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/examples/heavytest.ini +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/examples/heavytest.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/examples/info_uwsgi.php +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/examples/logic.ini +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/examples/mega.xml +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/examples/mjpeg_stream.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/examples/mojoapp.pl +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/examples/multi.ini +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/examples/multi.xml +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/examples/multiapp.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/examples/protected.ini +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/examples/router.lua +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/examples/simple_app.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/examples/simple_app_wsgi2.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/examples/simple_logger.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/examples/sites.xml +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/examples/sputnik.ws +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/examples/staticfilesnmp.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/examples/taskqueue.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/examples/uwsgi.xml +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/examples/uwsgirouter.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/examples/uwsgirouter2.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/examples/uwsgirouter3.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/examples/uwsgirouter4.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/examples/uwsgirouter5.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/examples/uwsgistatus.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/examples/welcome.ini +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/examples/welcome.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/examples/welcome3.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/examples/werkzeug.js +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/examples/werkzeug.yml +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/examples/werkzeug_strict.yml +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/examples/xmlindex-html.xsl +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/examples/xmlindex.ini +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/examples/zmqgevent.ini +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/ext/uwsgi/extconf.rb +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/install.sh +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/lib/linux_ns.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/lib/netlink.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/lib/sun_fixes.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/logo_uWSGI.png +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/logo_uWSGI.svg +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/mongrel2-uwsgi.conf +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/airbrake/airbrake_plugin.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/airbrake/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/alarm_curl/alarm_curl_plugin.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/alarm_curl/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/alarm_speech/alarm_speech.m +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/alarm_speech/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/alarm_xmpp/alarm_xmpp_plugin.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/alarm_xmpp/gloox.cc +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/alarm_xmpp/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/asyncio/asyncio.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/asyncio/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/cache/cache.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/cache/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/carbon/carbon.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/carbon/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/cgi/cgi_plugin.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/cgi/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/cheaper_backlog2/cheaper_backlog2.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/cheaper_backlog2/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/cheaper_busyness/cheaper_busyness.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/cheaper_busyness/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/clock_monotonic/clock_monotonic.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/clock_monotonic/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/clock_realtime/clock_realtime.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/clock_realtime/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/corerouter/corerouter.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/corerouter/cr.h +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/corerouter/cr_common.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/corerouter/cr_map.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/corerouter/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/coroae/coroae.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/coroae/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/cplusplus/base.cc +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/cplusplus/plugin.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/cplusplus/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/curl_cron/curl_cron.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/curl_cron/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/dumbloop/dumb.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/dumbloop/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/dummy/dummy.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/dummy/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/echo/echo_plugin.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/echo/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/emperor_amqp/amqp.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/emperor_amqp/emperor_amqp.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/emperor_amqp/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/emperor_mongodb/emperor_mongodb.cc +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/emperor_mongodb/plugin.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/emperor_mongodb/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/emperor_pg/emperor_pg.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/emperor_pg/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/emperor_zeromq/emperor_zeromq.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/emperor_zeromq/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/example/example_plugin.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/example/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/exception_log/exception_log.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/exception_log/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/fastrouter/fastrouter.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/fastrouter/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/fiber/fiber.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/fiber/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/forkptyrouter/forkptyrouter.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/forkptyrouter/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/gccgo/gccgo_plugin.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/gccgo/uwsgi.go +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/gccgo/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/geoip/geoip.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/geoip/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/gevent/gevent.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/gevent/gevent.h +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/gevent/hooks.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/gevent/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/glusterfs/glusterfs.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/glusterfs/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/graylog2/graylog2_plugin.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/graylog2/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/greenlet/greenlet.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/greenlet/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/gridfs/gridfs.cc +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/gridfs/plugin.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/gridfs/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/http/common.h +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/http/http.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/http/https.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/http/keepalive.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/http/spdy3.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/http/spdy3.h +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/http/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/jvm/jvm.h +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/jvm/jvm_plugin.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/jvm/uwsgi.java +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/jvm/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/jwsgi/jwsgi_plugin.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/jwsgi/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/ldap/ldap.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/ldap/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/legion_cache_fetch/legion_cache_fetch.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/legion_cache_fetch/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/libffi/libffi.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/libffi/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/libtcc/libtcc.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/libtcc/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/logcrypto/logcrypto.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/logcrypto/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/logfile/logfile.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/logfile/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/logpipe/logpipe.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/logpipe/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/logsocket/logsocket_plugin.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/logsocket/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/logzmq/plugin.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/logzmq/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/lua/lua_plugin.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/lua/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/matheval/math.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/matheval/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/mongodb/plugin.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/mongodb/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/mongodblog/mongodblog_plugin.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/mongodblog/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/mongrel2/mongrel2.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/mongrel2/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/mono/mono_plugin.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/mono/uwsgi.cs +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/mono/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/msgpack/msgpack.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/msgpack/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/nagios/nagios.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/nagios/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/notfound/notfound.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/notfound/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/objc_gc/objc_gc.m +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/objc_gc/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/pam/pam.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/pam/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/php/common.h +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/php/php_plugin.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/php/session.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/php/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/ping/ping_plugin.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/ping/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/psgi/psgi.h +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/psgi/psgi_loader.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/psgi/psgi_plugin.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/psgi/psgi_response.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/psgi/uwsgi_plmodule.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/psgi/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/pty/pty.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/pty/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/pypy/README +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/pypy/pypy_plugin.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/pypy/pypy_setup.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/pypy/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/python/gil.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/python/profiler.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/python/pump_subhandler.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/python/pyloader.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/python/python_plugin.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/python/pyutils.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/python/raw.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/python/symimporter.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/python/tracebacker.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/python/uwsgi_pymodule.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/python/uwsgi_python.h +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/python/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/python/web3_subhandler.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/python/wsgi_handlers.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/python/wsgi_headers.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/python/wsgi_subhandler.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/pyuwsgi/pyuwsgi.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/pyuwsgi/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/rack/rack_api.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/rack/rack_plugin.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/rack/uwsgi_rack.h +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/rack/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/rados/rados.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/rados/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/rawrouter/rawrouter.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/rawrouter/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/rbthreads/rbthreads.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/rbthreads/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/redislog/redislog_plugin.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/redislog/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/ring/ring_plugin.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/ring/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/router_access/router_access.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/router_access/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/router_basicauth/router_basicauth.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/router_basicauth/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/router_cache/router_cache.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/router_cache/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/router_expires/expires.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/router_expires/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/router_hash/router_hash.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/router_hash/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/router_http/router_http.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/router_http/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/router_memcached/router_memcached.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/router_memcached/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/router_metrics/plugin.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/router_metrics/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/router_radius/radius.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/router_radius/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/router_redirect/router_redirect.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/router_redirect/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/router_redis/router_redis.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/router_redis/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/router_rewrite/router_rewrite.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/router_rewrite/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/router_spnego/router_spnego.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/router_spnego/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/router_static/router_static.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/router_static/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/router_uwsgi/router_uwsgi.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/router_uwsgi/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/router_xmldir/router_xmldir.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/router_xmldir/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/rpc/rpc_plugin.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/rpc/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/rrdtool/rrdtool.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/rrdtool/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/rsyslog/rsyslog_plugin.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/rsyslog/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/ruby19/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/servlet/servlet_plugin.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/servlet/uwsgi_servlet.java +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/servlet/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/signal/signal_plugin.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/signal/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/spooler/spooler_plugin.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/spooler/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/sqlite3/plugin.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/sqlite3/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/ssi/ssi.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/ssi/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/sslrouter/sslrouter.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/sslrouter/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/stackless/stackless.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/stackless/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/stats_pusher_file/plugin.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/stats_pusher_file/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/stats_pusher_mongodb/plugin.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/stats_pusher_mongodb/stats_pusher_mongodb.cc +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/stats_pusher_mongodb/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/stats_pusher_socket/plugin.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/stats_pusher_socket/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/stats_pusher_statsd/plugin.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/stats_pusher_statsd/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/symcall/symcall_plugin.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/symcall/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/syslog/syslog_plugin.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/syslog/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/systemd_logger/systemd_logger.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/systemd_logger/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/tornado/tornado.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/tornado/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/transformation_chunked/chunked.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/transformation_chunked/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/transformation_gzip/gzip.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/transformation_gzip/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/transformation_offload/offload.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/transformation_offload/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/transformation_template/tt.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/transformation_template/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/transformation_tofile/tofile.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/transformation_tofile/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/transformation_toupper/toupper.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/transformation_toupper/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/tuntap/common.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/tuntap/common.h +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/tuntap/firewall.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/tuntap/tuntap.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/tuntap/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/ugreen/ugreen.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/ugreen/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/v8/plugin.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/v8/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/v8/v8_commonjs.cc +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/v8/v8_jsgi.cc +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/v8/v8_uwsgi.cc +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/v8/v8_uwsgi.h +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/webdav/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/webdav/webdav.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/xattr/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/xattr/xattr.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/xslt/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/xslt/xslt.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/zabbix/plugin.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/zabbix/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/zergpool/uwsgiplugin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/plugins/zergpool/zergpool.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/proto/BUILD +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/proto/base.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/proto/fastcgi.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/proto/http.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/proto/puwsgi.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/proto/scgi.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/proto/uwsgi.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/setup.cpyext.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/setup.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/setup.pyuwsgi.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/t/cachebitmap.ini +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/t/cachebitmap.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/t/cachetest.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/t/clojure/myapp.clj +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/t/core/apps/read_body_and_send.pl +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/t/core/read_body_and_send.pl +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/t/core/url_sanitize.pl +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/t/go/cachetest.go +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/t/go/complextest.go +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/t/go/uploadtest.go +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/t/java/rpc.java +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/t/lua/basic.lua +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/t/mono/cache.aspx +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/t/mules/mulebrain.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/t/mules/reload.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/t/mules/signal_management.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/t/perl/active_workers_signal.pl +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/t/perl/apps/input_with_offset.pl +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/t/perl/test.psgi +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/t/perl/test_benchmark.pl +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/t/perl/test_harakiri.psgi +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/t/perl/test_hello.psgi +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/t/perl/test_input_with_offset.pl +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/t/perl/test_post.psgi +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/t/perl/test_sleepy.psgi +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/t/perl/test_streaming.psgi +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/t/pypy/t_continulet1.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/t/pypy/t_continulet2.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/t/python/forcecl.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/t/python/manage_script_name/manage_script_name_test.ini +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/t/python/manage_script_name/test_manage_script_name.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/t/python/manage_script_name/useless_app.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/t/python/spooler_decorators/spooler_decorator_test.ini +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/t/python/spooler_decorators/spooler_decorator_tests.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/t/python/spooler_decorators/spooler_handlers.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/t/python/testba.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/t/ring/README.md +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/t/ring/config.ini +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/t/ring/project.clj +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/t/ring/src/uwsgi/ring/tests/app.clj +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/t/ring/src/uwsgi/ring/tests/basic.clj +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/t/ring/src/uwsgi/ring/tests/body.clj +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/t/ring/src/uwsgi/ring/tests/simple.clj +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/t/ring/src/uwsgi/ring/tests/upload.clj +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/t/routing/auth.ini +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/t/routing/errorlimiter.ini +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/t/routing/limiter.ini +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/t/sharedarea/bigranges.ini +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/t/sharedarea/bigranges.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/t/sharedarea/sharedarea_incdec.ini +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/t/sharedarea/sharedarea_incdec.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/t/spooler/read.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/t/spooler/reload.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/t/spooler/spooldir/.gitignore +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/t/webdav/carddav.ini +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/t/xslt/cd.xml +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/t/xslt/cd.xml.xslt +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/t/xslt/routex.ini +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/tests/Responder.pm +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/tests/__init__.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/tests/badthread.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/tests/badwrites.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/tests/cpubound_async.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/tests/cpubound_green.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/tests/cpubound_stackless.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/tests/deadlocks/main.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/tests/deadlocks/master-nothreads.ini +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/tests/deadlocks/master-singleinterpreter-threads-10workers.ini +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/tests/deadlocks/master-singleinterpreter-threads-1worker.ini +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/tests/deadlocks/master-threads-10workers.ini +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/tests/deadlocks/master-threads-1worker.ini +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/tests/deadlocks/nomaster-threads-10workers.ini +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/tests/deadlocks/nomaster-threads-1worker.ini +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/tests/deadlocks/sitecustomize.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/tests/decoratortest.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/tests/fileserve_async.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/tests/gevent_spool.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/tests/gh-deadlocks.sh +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/tests/gh-python.sh +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/tests/gh-rack.sh +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/tests/gh-shared.sh +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/tests/grunter.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/tests/harakiri.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/tests/iobound_async.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/tests/iobound_async_unix.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/tests/iobound_green.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/tests/logger.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/tests/mako_ugreen.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/tests/mulefunc.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/tests/multiapp.txt +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/tests/myadmin.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/tests/pgbound_async.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/tests/picazzo.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/tests/psycogreen_green.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/tests/psycopg2_green.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/tests/pump.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/tests/queue.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/tests/refcount.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/tests/rpc.lua +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/tests/rpc.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/tests/runningthread.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/tests/sendchunked.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/tests/sharedarea.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/tests/sig.lua +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/tests/signals.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/tests/sigwait.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/tests/sleeping_async.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/tests/sleeping_green.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/tests/sleepthreadasync.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/tests/slow.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/tests/spoolme.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/tests/static/test.txt +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/tests/static/test2.txt +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/tests/staticfile.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/tests/streamer.psgi +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/tests/t/static.pl +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/tests/templates/queue.html +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/tests/testapp.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/tests/testfilewrapper.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/tests/testgevent.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/tests/testpy3.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/tests/testrpc.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/tests/testsignals.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/tests/testworkers.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/tests/testyieldnone.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/tests/threads.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/tests/threads_atexit.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/tests/threads_heavy.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/tests/travis.sh +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/tests/ugevent.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/tests/web3.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/tests/websockets.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/tests/websockets_chat.pl +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/tests/websockets_chat.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/tests/websockets_chat_async.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/tests/websockets_chat_asyncio.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/tests/websockets_echo.lua +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/tests/websockets_echo.pl +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/tests/websockets_echo.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/tests/websockets_echo.ru +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/tests/werkzeug_app.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/uwsgi.h +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/uwsgi_main.c +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/uwsgidecorators.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/uwsgidsl.rb +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/valgrind/README +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/valgrind/valgrind-generate-sups.sh +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/vassals/broodlord.ini +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/vassals/cc.ini +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/vassals/multi.xml +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/vhosttest/flask001/app1.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/vhosttest/flask002/app2.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/vhosttest/flask003/app3.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/vhosttest/flask004/app4.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/vhosttest/flask005/app5.py +0 -0
- {uwsgi-2.0.25 → uwsgi-2.0.26}/vhosttest/nginx.conf +0 -0
@@ -7,13 +7,38 @@ on:
|
|
7
7
|
branches: [ master, uwsgi-2.0 ]
|
8
8
|
|
9
9
|
jobs:
|
10
|
-
python:
|
11
10
|
|
11
|
+
unittest:
|
12
|
+
runs-on: ubuntu-20.04
|
13
|
+
steps:
|
14
|
+
- name: Install dependencies
|
15
|
+
run: |
|
16
|
+
sudo apt update -qq
|
17
|
+
sudo apt install --no-install-recommends -qqyf \
|
18
|
+
libpcre2-dev libjansson-dev libcap2-dev \
|
19
|
+
check
|
20
|
+
- uses: actions/checkout@v4
|
21
|
+
- name: Run unit tests
|
22
|
+
run: make unittests
|
23
|
+
|
24
|
+
test:
|
25
|
+
runs-on: ubuntu-20.04
|
26
|
+
steps:
|
27
|
+
- name: Install dependencies
|
28
|
+
run: |
|
29
|
+
sudo apt update -qq
|
30
|
+
sudo apt install --no-install-recommends -qqyf \
|
31
|
+
libpcre2-dev libjansson-dev libcap2-dev
|
32
|
+
- uses: actions/checkout@v4
|
33
|
+
- name: Run integration tests
|
34
|
+
run: make all tests
|
35
|
+
|
36
|
+
python:
|
12
37
|
runs-on: ubuntu-20.04
|
13
38
|
strategy:
|
14
39
|
matrix:
|
15
40
|
python-version: ["2.7", "3.6", "3.7", "3.8", "3.9", "3.10", "3.11", "3.12"]
|
16
|
-
test-suite: [
|
41
|
+
test-suite: [python, deadlocks]
|
17
42
|
steps:
|
18
43
|
- name: Add deadnakes ppa
|
19
44
|
run: sudo add-apt-repository ppa:deadsnakes/ppa -y
|
@@ -22,34 +47,27 @@ jobs:
|
|
22
47
|
sudo apt update -qq
|
23
48
|
sudo apt install --no-install-recommends -qqyf python${{ matrix.python-version }}-dev \
|
24
49
|
libpcre2-dev libjansson-dev libcap2-dev \
|
25
|
-
curl
|
50
|
+
curl
|
26
51
|
- name: Install distutils
|
27
52
|
if: contains(fromJson('["3.6","3.7","3.8","3.9","3.10","3.11","3.12"]'), matrix.python-version)
|
28
53
|
run: |
|
29
54
|
sudo apt install --no-install-recommends -qqyf python${{ matrix.python-version }}-distutils \
|
30
55
|
- uses: actions/checkout@v4
|
31
|
-
- name: Run unit tests
|
32
|
-
if: matrix.test-suite == 'unittest'
|
33
|
-
run: make tests
|
34
56
|
- name: Build uWSGI binary
|
35
|
-
if: matrix.test-suite != 'unittest'
|
36
57
|
run: make
|
37
58
|
- name: Build python${{ matrix.python-version }} plugin
|
38
|
-
if: matrix.test-suite != 'unittest'
|
39
59
|
run: |
|
40
60
|
PYTHON_VERSION=${{ matrix.python-version }}
|
41
61
|
PYTHON_VERSION=python${PYTHON_VERSION//.}
|
42
62
|
/usr/bin/python${{ matrix.python-version }} -V
|
43
63
|
/usr/bin/python${{ matrix.python-version }} uwsgiconfig.py --plugin plugins/python base $PYTHON_VERSION
|
44
64
|
- name: run smoke tests
|
45
|
-
if: matrix.test-suite != 'unittest'
|
46
65
|
run: |
|
47
66
|
PYTHON_VERSION=${{ matrix.python-version }}
|
48
67
|
PYTHON_VERSION=python${PYTHON_VERSION//.}
|
49
68
|
./tests/gh-${{ matrix.test-suite }}.sh ${PYTHON_VERSION}
|
50
69
|
|
51
70
|
rack:
|
52
|
-
|
53
71
|
runs-on: ubuntu-20.04
|
54
72
|
strategy:
|
55
73
|
matrix:
|
@@ -59,11 +77,9 @@ jobs:
|
|
59
77
|
run: |
|
60
78
|
sudo apt update -qq
|
61
79
|
sudo apt install --no-install-recommends -qqyf python3-dev \
|
62
|
-
|
63
|
-
curl
|
80
|
+
libpcre2-dev libjansson-dev libcap2-dev ruby2.7-dev \
|
81
|
+
curl
|
64
82
|
- uses: actions/checkout@v4
|
65
|
-
- name: Run unit tests
|
66
|
-
run: make tests
|
67
83
|
- name: Build uWSGI binary
|
68
84
|
run: make
|
69
85
|
- name: Build rack plugin
|
@@ -5,6 +5,7 @@ all:
|
|
5
5
|
|
6
6
|
clean:
|
7
7
|
$(PYTHON) uwsgiconfig.py --clean
|
8
|
+
cd unittest && make clean
|
8
9
|
|
9
10
|
check:
|
10
11
|
$(PYTHON) uwsgiconfig.py --check
|
@@ -12,5 +13,12 @@ check:
|
|
12
13
|
plugin.%:
|
13
14
|
$(PYTHON) uwsgiconfig.py --plugin plugins/$* $(PROFILE)
|
14
15
|
|
16
|
+
unittests:
|
17
|
+
$(PYTHON) uwsgiconfig.py --build unittest
|
18
|
+
cd unittest && make test
|
19
|
+
|
20
|
+
tests:
|
21
|
+
$(PYTHON) t/runner
|
22
|
+
|
15
23
|
%:
|
16
24
|
$(PYTHON) uwsgiconfig.py --build $@
|
@@ -388,6 +388,12 @@ static int uwsgi_response(request_rec *r, proxy_conn_rec *backend, proxy_server_
|
|
388
388
|
return HTTP_BAD_GATEWAY;
|
389
389
|
}
|
390
390
|
|
391
|
+
/* T-E wins over C-L */
|
392
|
+
if (apr_table_get(r->headers_out, "Transfer-Encoding")) {
|
393
|
+
apr_table_unset(r->headers_out, "Content-Length");
|
394
|
+
backend->close = 1;
|
395
|
+
}
|
396
|
+
|
391
397
|
if ((buf = apr_table_get(r->headers_out, "Content-Type"))) {
|
392
398
|
ap_set_content_type(r, apr_pstrdup(r->pool, buf));
|
393
399
|
}
|
@@ -23,7 +23,7 @@ int uwsgi_regexp_build(char *re, uwsgi_pcre ** pattern) {
|
|
23
23
|
|
24
24
|
#ifdef UWSGI_PCRE2
|
25
25
|
int errnbr;
|
26
|
-
|
26
|
+
size_t erroff;
|
27
27
|
|
28
28
|
*pattern = pcre2_compile((const unsigned char *) re, PCRE2_ZERO_TERMINATED, 0, &errnbr, &erroff, NULL);
|
29
29
|
#else
|
@@ -69,7 +69,7 @@ int uwsgi_regexp_build(char *re, uwsgi_pcre ** pattern) {
|
|
69
69
|
|
70
70
|
int uwsgi_regexp_match(uwsgi_pcre *pattern, const char *subject, int length) {
|
71
71
|
#ifdef UWSGI_PCRE2
|
72
|
-
return
|
72
|
+
return uwsgi_regexp_match_ovec(pattern, subject, length, NULL, 0);
|
73
73
|
#else
|
74
74
|
return pcre_exec((const pcre *) pattern->p, (const pcre_extra *) pattern->extra, subject, length, 0, 0, NULL, 0);
|
75
75
|
#endif
|
@@ -3835,13 +3835,6 @@ void uwsgi_init_all_apps() {
|
|
3835
3835
|
if (uwsgi.need_app) {
|
3836
3836
|
if (!uwsgi.lazy)
|
3837
3837
|
uwsgi_log("*** no app loaded. GAME OVER ***\n");
|
3838
|
-
if (uwsgi.lazy_apps) {
|
3839
|
-
if (uwsgi.master_process) {
|
3840
|
-
if (kill(uwsgi.workers[0].pid, SIGINT)) {
|
3841
|
-
uwsgi_error("kill()");
|
3842
|
-
}
|
3843
|
-
}
|
3844
|
-
}
|
3845
3838
|
exit(UWSGI_FAILED_APP_CODE);
|
3846
3839
|
}
|
3847
3840
|
else {
|
uwsgi-2.0.26/t/runner
ADDED
@@ -0,0 +1,82 @@
|
|
1
|
+
#!/usr/bin/python3
|
2
|
+
|
3
|
+
|
4
|
+
import os
|
5
|
+
import requests
|
6
|
+
import signal
|
7
|
+
import socket
|
8
|
+
import subprocess
|
9
|
+
import time
|
10
|
+
import unittest
|
11
|
+
|
12
|
+
|
13
|
+
TESTS_DIR = os.path.dirname(__file__)
|
14
|
+
UWSGI_BINARY = os.getenv("UWSGI_BINARY", os.path.join(TESTS_DIR, "..", "uwsgi"))
|
15
|
+
UWSGI_ADDR = "127.0.0.1"
|
16
|
+
UWSGI_PORT = 8000
|
17
|
+
UWSGI_HTTP = f"{UWSGI_ADDR}:{UWSGI_PORT}"
|
18
|
+
|
19
|
+
|
20
|
+
class BaseTest:
|
21
|
+
"""
|
22
|
+
Container class to avoid base test being run
|
23
|
+
"""
|
24
|
+
|
25
|
+
class UwsgiServerTest(unittest.TestCase):
|
26
|
+
"""
|
27
|
+
Test case with a server instance available on a socket for requests
|
28
|
+
"""
|
29
|
+
|
30
|
+
@classmethod
|
31
|
+
def uwsgi_ready(cls):
|
32
|
+
try:
|
33
|
+
s = socket.socket()
|
34
|
+
s.connect(
|
35
|
+
(
|
36
|
+
UWSGI_ADDR,
|
37
|
+
UWSGI_PORT,
|
38
|
+
)
|
39
|
+
)
|
40
|
+
except socket.error:
|
41
|
+
return False
|
42
|
+
else:
|
43
|
+
return True
|
44
|
+
finally:
|
45
|
+
s.close()
|
46
|
+
|
47
|
+
@classmethod
|
48
|
+
def setUpClass(cls):
|
49
|
+
# launch server
|
50
|
+
cls.testserver = subprocess.Popen(
|
51
|
+
[UWSGI_BINARY, "--http-socket", UWSGI_HTTP] + cls.ARGS
|
52
|
+
)
|
53
|
+
|
54
|
+
# ensure server is ready
|
55
|
+
retries = 10
|
56
|
+
while not cls.uwsgi_ready() and retries > 0:
|
57
|
+
time.sleep(0.1)
|
58
|
+
retries = retries - 1
|
59
|
+
if retries == 0:
|
60
|
+
raise RuntimeError("uwsgi test server is not available")
|
61
|
+
|
62
|
+
@classmethod
|
63
|
+
def tearDownClass(cls):
|
64
|
+
cls.testserver.send_signal(signal.SIGTERM)
|
65
|
+
cls.testserver.wait()
|
66
|
+
|
67
|
+
|
68
|
+
class StaticTest(BaseTest.UwsgiServerTest):
|
69
|
+
|
70
|
+
ARGS = [
|
71
|
+
"--plugin",
|
72
|
+
"python3", # provide a request plugin if no embedded request plugin
|
73
|
+
os.path.join(TESTS_DIR, "static", "config.ini"),
|
74
|
+
]
|
75
|
+
|
76
|
+
def test_static_expires(self):
|
77
|
+
with requests.get(f"http://{UWSGI_HTTP}/foobar/config.ini") as r:
|
78
|
+
self.assertTrue("Expires" in r.headers)
|
79
|
+
|
80
|
+
|
81
|
+
if __name__ == "__main__":
|
82
|
+
unittest.main()
|
@@ -0,0 +1,28 @@
|
|
1
|
+
|
2
|
+
CFLAGS = $(shell pkg-config --cflags check)
|
3
|
+
CFLAGS += -DUWSGI_PCRE2
|
4
|
+
LDFLAGS = $(shell pkg-config --libs check)
|
5
|
+
LDFLAGS += -ldl -lz
|
6
|
+
LDFLAGS += $(shell xml2-config --libs)
|
7
|
+
LDFLAGS += $(shell pkg-config --libs openssl)
|
8
|
+
LDFLAGS += $(shell pcre2-config --libs8)
|
9
|
+
LDFLAGS += $(shell pkg-config --libs jansson)
|
10
|
+
|
11
|
+
UNAME_S := $(shell uname -s)
|
12
|
+
ifeq ($(UNAME_S),Linux)
|
13
|
+
LDFLAGS += -lcap
|
14
|
+
endif
|
15
|
+
|
16
|
+
|
17
|
+
objects = check_core check_regexp
|
18
|
+
|
19
|
+
all: $(objects)
|
20
|
+
|
21
|
+
$(objects): %: %.c ../libuwsgi.a
|
22
|
+
$(CC) $(CFLAGS) -o $@ $< ../libuwsgi.a $(LDFLAGS)
|
23
|
+
|
24
|
+
test: all
|
25
|
+
@for file in $(objects); do ./$$file; done
|
26
|
+
|
27
|
+
clean:
|
28
|
+
rm -f $(objects)
|
@@ -0,0 +1,108 @@
|
|
1
|
+
#include <check.h>
|
2
|
+
#include "../uwsgi.h"
|
3
|
+
|
4
|
+
|
5
|
+
START_TEST(test_uwsgi_strncmp)
|
6
|
+
{
|
7
|
+
int result;
|
8
|
+
result = uwsgi_strncmp("test", 4, "test", 4);
|
9
|
+
ck_assert(result == 0);
|
10
|
+
|
11
|
+
result = uwsgi_strncmp("test", 4, "tes", 3);
|
12
|
+
ck_assert(result == 1);
|
13
|
+
|
14
|
+
result = uwsgi_strncmp("tes", 3, "test", 4);
|
15
|
+
ck_assert(result == 1);
|
16
|
+
|
17
|
+
result = uwsgi_strncmp("aaa", 3, "bbb", 3);
|
18
|
+
ck_assert_msg(result < 0, "result: %d", result);
|
19
|
+
|
20
|
+
result = uwsgi_strncmp("bbb", 3, "aaa", 3);
|
21
|
+
ck_assert_msg(result > 0, "result: %d", result);
|
22
|
+
}
|
23
|
+
END_TEST
|
24
|
+
|
25
|
+
Suite *check_core_strings(void)
|
26
|
+
{
|
27
|
+
Suite *s = suite_create("uwsgi strings");
|
28
|
+
TCase *tc = tcase_create("strings");
|
29
|
+
|
30
|
+
suite_add_tcase(s, tc);
|
31
|
+
tcase_add_test(tc, test_uwsgi_strncmp);
|
32
|
+
return s;
|
33
|
+
}
|
34
|
+
|
35
|
+
START_TEST(test_uwsgi_opt_set_int)
|
36
|
+
{
|
37
|
+
int result;
|
38
|
+
uwsgi_opt_set_int("", "true", &result);
|
39
|
+
ck_assert(result == 0);
|
40
|
+
|
41
|
+
uwsgi_opt_set_int("", "false", &result);
|
42
|
+
ck_assert(result == 0);
|
43
|
+
|
44
|
+
uwsgi_opt_set_int("", "0", &result);
|
45
|
+
ck_assert(result == 0);
|
46
|
+
|
47
|
+
uwsgi_opt_set_int("", "60", &result);
|
48
|
+
ck_assert(result == 60);
|
49
|
+
|
50
|
+
// When used with "optional_argument", value will be passed as NULL
|
51
|
+
uwsgi_opt_set_int("", NULL, &result);
|
52
|
+
ck_assert(result == 1);
|
53
|
+
}
|
54
|
+
END_TEST
|
55
|
+
|
56
|
+
Suite *check_core_opt_parsing(void)
|
57
|
+
{
|
58
|
+
Suite *s = suite_create("uwsgi opt parsing");
|
59
|
+
TCase *tc = tcase_create("opt_parsing");
|
60
|
+
|
61
|
+
suite_add_tcase(s, tc);
|
62
|
+
tcase_add_test(tc, test_uwsgi_opt_set_int);
|
63
|
+
return s;
|
64
|
+
}
|
65
|
+
|
66
|
+
START_TEST(test_uwsgi_cron_task_needs_execution_handles_weekday_7_as_sunday)
|
67
|
+
{
|
68
|
+
int result;
|
69
|
+
struct tm *t;
|
70
|
+
time_t now;
|
71
|
+
|
72
|
+
now = time(NULL);
|
73
|
+
t = localtime(&now);
|
74
|
+
t->tm_wday= 0;
|
75
|
+
|
76
|
+
result = uwsgi_cron_task_needs_execution(t, -1, -1, -1, -1, 0);
|
77
|
+
ck_assert(result == 1);
|
78
|
+
|
79
|
+
result = uwsgi_cron_task_needs_execution(t, -1, -1, -1, -1, 7);
|
80
|
+
ck_assert(result == 1);
|
81
|
+
|
82
|
+
result = uwsgi_cron_task_needs_execution(t, -1, -1, -1, -1, 1);
|
83
|
+
ck_assert(result == 0);
|
84
|
+
}
|
85
|
+
END_TEST
|
86
|
+
|
87
|
+
Suite *check_core_cron(void)
|
88
|
+
{
|
89
|
+
Suite *s = suite_create("uwsgi cron");
|
90
|
+
TCase *tc = tcase_create("cron");
|
91
|
+
|
92
|
+
suite_add_tcase(s, tc);
|
93
|
+
tcase_add_test(tc, test_uwsgi_cron_task_needs_execution_handles_weekday_7_as_sunday);
|
94
|
+
return s;
|
95
|
+
}
|
96
|
+
|
97
|
+
int main(void)
|
98
|
+
{
|
99
|
+
int nf;
|
100
|
+
SRunner *r = srunner_create(check_core_strings());
|
101
|
+
srunner_add_suite(r, check_core_opt_parsing());
|
102
|
+
srunner_add_suite(r, check_core_cron());
|
103
|
+
srunner_run_all(r, CK_NORMAL);
|
104
|
+
nf = srunner_ntests_failed(r);
|
105
|
+
srunner_free(r);
|
106
|
+
return (nf == 0) ? EXIT_SUCCESS : EXIT_FAILURE;
|
107
|
+
}
|
108
|
+
|
@@ -0,0 +1,86 @@
|
|
1
|
+
#include <check.h>
|
2
|
+
#include "../uwsgi.h"
|
3
|
+
|
4
|
+
|
5
|
+
START_TEST(test_uwsgi_regexp_match)
|
6
|
+
{
|
7
|
+
int result;
|
8
|
+
uwsgi_pcre *pattern_all;
|
9
|
+
uwsgi_pcre *pattern;
|
10
|
+
|
11
|
+
result = uwsgi_regexp_build(".*", &pattern_all);
|
12
|
+
ck_assert(result == 0);
|
13
|
+
|
14
|
+
result = uwsgi_regexp_match(pattern_all, "/fooba", 6);
|
15
|
+
ck_assert(result >= 0);
|
16
|
+
|
17
|
+
result = uwsgi_regexp_build("/foobar/.*", &pattern);
|
18
|
+
ck_assert(result == 0);
|
19
|
+
|
20
|
+
result = uwsgi_regexp_match(pattern, "/fooba", 6);
|
21
|
+
ck_assert(result < 0);
|
22
|
+
|
23
|
+
result = uwsgi_regexp_match(pattern, "/foobar/baz", 11);
|
24
|
+
ck_assert(result >= 0);
|
25
|
+
|
26
|
+
pcre2_code_free(pattern_all);
|
27
|
+
pcre2_code_free(pattern);
|
28
|
+
}
|
29
|
+
END_TEST
|
30
|
+
|
31
|
+
START_TEST(test_uwsgi_regexp_match_ovec)
|
32
|
+
{
|
33
|
+
int result;
|
34
|
+
uwsgi_pcre *pattern;
|
35
|
+
int *ovec = calloc((2+1)*2, sizeof(int));
|
36
|
+
char buf[20], sub[20];
|
37
|
+
|
38
|
+
result = uwsgi_regexp_build("^/foo/(.*)\\.jpg\\?([0-9]{2})", &pattern);
|
39
|
+
ck_assert(result == 0);
|
40
|
+
result = uwsgi_regexp_ovector(pattern);
|
41
|
+
ck_assert(result == 2);
|
42
|
+
|
43
|
+
result = uwsgi_regexp_match_ovec(pattern, "/fooba", 6, ovec, 2);
|
44
|
+
ck_assert(result < 0);
|
45
|
+
|
46
|
+
strcpy(buf, "/foo/bar.jpg?422");
|
47
|
+
result = uwsgi_regexp_match_ovec(pattern, buf, strlen(buf), ovec, 2);
|
48
|
+
ck_assert(result >= 0);
|
49
|
+
strncpy(sub, buf+ovec[0], ovec[1]-ovec[0]);
|
50
|
+
sub[ovec[1]-ovec[0]] = '\0';
|
51
|
+
ck_assert_str_eq(sub, "/foo/bar.jpg?42");
|
52
|
+
strncpy(sub, buf+ovec[2], ovec[3]-ovec[2]);
|
53
|
+
sub[ovec[3]-ovec[2]] = '\0';
|
54
|
+
ck_assert_str_eq(sub, "bar");
|
55
|
+
strncpy(sub, buf+ovec[4], ovec[5]-ovec[4]);
|
56
|
+
sub[ovec[5]-ovec[4]] = '\0';
|
57
|
+
ck_assert_str_eq(sub, "42");
|
58
|
+
|
59
|
+
strcpy(sub, uwsgi_regexp_apply_ovec(buf, strlen(buf), "key=$1.$2.jpg", 13, ovec, 2));
|
60
|
+
ck_assert_str_eq(sub, "key=bar.42.jpg");
|
61
|
+
|
62
|
+
pcre2_code_free(pattern);
|
63
|
+
free(ovec);
|
64
|
+
}
|
65
|
+
END_TEST
|
66
|
+
|
67
|
+
Suite *check_regexp(void)
|
68
|
+
{
|
69
|
+
Suite *s = suite_create("uwsgi regexp");
|
70
|
+
TCase *tc = tcase_create("regexp");
|
71
|
+
|
72
|
+
suite_add_tcase(s, tc);
|
73
|
+
tcase_add_test(tc, test_uwsgi_regexp_match);
|
74
|
+
tcase_add_test(tc, test_uwsgi_regexp_match_ovec);
|
75
|
+
return s;
|
76
|
+
}
|
77
|
+
|
78
|
+
int main(void)
|
79
|
+
{
|
80
|
+
int nf;
|
81
|
+
SRunner *r = srunner_create(check_regexp());
|
82
|
+
srunner_run_all(r, CK_NORMAL);
|
83
|
+
nf = srunner_ntests_failed(r);
|
84
|
+
srunner_free(r);
|
85
|
+
return (nf == 0) ? EXIT_SUCCESS : EXIT_FAILURE;
|
86
|
+
}
|
@@ -2,7 +2,7 @@ Gem::Specification.new do |s|
|
|
2
2
|
s.name = 'uwsgi'
|
3
3
|
s.license = 'GPL-2'
|
4
4
|
s.version = `python -c "import uwsgiconfig as uc; print uc.uwsgi_version"`.sub(/-dev-.*/,'')
|
5
|
-
s.date = '2024-
|
5
|
+
s.date = '2024-06-01'
|
6
6
|
s.summary = "uWSGI"
|
7
7
|
s.description = "The uWSGI server for Ruby/Rack"
|
8
8
|
s.authors = ["Unbit"]
|
@@ -1,6 +1,6 @@
|
|
1
1
|
# uWSGI build system
|
2
2
|
|
3
|
-
uwsgi_version = '2.0.
|
3
|
+
uwsgi_version = '2.0.26'
|
4
4
|
|
5
5
|
import os
|
6
6
|
import re
|
@@ -708,13 +708,13 @@ class uConf(object):
|
|
708
708
|
if uwsgi_os == 'GNU':
|
709
709
|
self.cflags.append('-D__HURD__')
|
710
710
|
|
711
|
-
gcc_version = spcall("%s -dumpversion" % GCC)
|
711
|
+
gcc_version = spcall("%s -dumpfullversion -dumpversion" % GCC)
|
712
712
|
if not gcc_version and GCC.startswith('gcc'):
|
713
713
|
if uwsgi_os == 'Darwin':
|
714
714
|
GCC = 'llvm-' + GCC
|
715
715
|
else:
|
716
716
|
GCC = 'gcc'
|
717
|
-
gcc_version = spcall("%s -dumpversion" % GCC)
|
717
|
+
gcc_version = spcall("%s -dumpfullversion -dumpversion" % GCC)
|
718
718
|
|
719
719
|
try:
|
720
720
|
add_it = False
|
@@ -1101,11 +1101,12 @@ class uConf(object):
|
|
1101
1101
|
print("*** libpcre headers unavailable. uWSGI build is interrupted. You have to install pcre development package or disable pcre")
|
1102
1102
|
sys.exit(1)
|
1103
1103
|
|
1104
|
-
|
1105
|
-
|
1106
|
-
|
1107
|
-
|
1108
|
-
|
1104
|
+
if pcre_libs:
|
1105
|
+
self.libs.append(pcre_libs)
|
1106
|
+
self.cflags.append(pcre_cflags)
|
1107
|
+
self.gcc_list.append('core/regexp')
|
1108
|
+
self.cflags.append(pcre_define)
|
1109
|
+
has_pcre = True
|
1109
1110
|
|
1110
1111
|
if has_pcre:
|
1111
1112
|
report['pcre'] = True
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|