Hi, 2 days ago flask released two new versions, 0.12.3 and 1.0.0. They both includes a security fix:
> Flask previously decoded incoming JSON bytes using the content type > of the request. Although JSON should only be encoded as UTF-8, Flask > was more lenient. However, Python includes non-text related encodings > that could result in unexpected memory use by a request. > > Flask will now detect the encoding of incoming JSON data as one of > the supported UTF encodings, and will not allow arbitrary encodings > from the request. 0.12.3 has less differences with our version so I'd like to go for it first and then a bit later move to 1.0.0 (deps need to be updated first). To create the docs it needs a new requirement and I'm not sure it's really worth it so I simply removed them. We can also get rid of the patches. Comments? OK? I'll probably commit it to -stable as well. Cheers, Daniel
Index: Makefile =================================================================== RCS file: /cvs/ports/www/py-flask/Makefile,v retrieving revision 1.24 diff -u -p -r1.24 Makefile --- Makefile 11 Aug 2017 16:56:43 -0000 1.24 +++ Makefile 28 Apr 2018 09:45:20 -0000 @@ -2,7 +2,7 @@ COMMENT = microframework based on Werkzeug and Jinja 2 -MODPY_EGG_VERSION = 0.12.2 +MODPY_EGG_VERSION = 0.12.3 DISTNAME = Flask-${MODPY_EGG_VERSION} PKGNAME = py-${DISTNAME:L} @@ -35,13 +35,7 @@ TEST_DEPENDS = ${RUN_DEPENDS} \ MAKE_ENV = PYTHONPATH="${WRKSRC}" SPHINXBUILD=${LOCALBASE}/bin/sphinx-build${MODPY_BIN_SUFFIX} -post-build: - @cd ${WRKSRC}/docs && ${SETENV} ${MAKE_ENV} ${MAKE_PROGRAM} html - post-install: - ${INSTALL_DATA_DIR} ${PREFIX}/share/doc/${MODPY_PY_PREFIX}flask - cd ${WRKSRC}/docs/_build/html && \ - pax -rw * ${PREFIX}/share/doc/${MODPY_PY_PREFIX}flask ${INSTALL_DATA_DIR} ${PREFIX}/share/examples/${MODPY_PY_PREFIX}flask cd ${WRKSRC}/examples && pax -rw * \ ${PREFIX}/share/examples/${MODPY_PY_PREFIX}flask Index: distinfo =================================================================== RCS file: /cvs/ports/www/py-flask/distinfo,v retrieving revision 1.10 diff -u -p -r1.10 distinfo --- distinfo 11 Aug 2017 16:56:43 -0000 1.10 +++ distinfo 28 Apr 2018 09:45:20 -0000 @@ -1,2 +1,2 @@ -SHA256 (Flask-0.12.2.tar.gz) = SfREYSN7aezZAcx85m/uoDGbkVh0PdJ6KJmWKrIU2sE= -SIZE (Flask-0.12.2.tar.gz) = 548510 +SHA256 (Flask-0.12.3.tar.gz) = D0MQdqUJCPBITc3dDy/QJBEp75yhh2eZs+vhTYI/YN4= +SIZE (Flask-0.12.3.tar.gz) = 531380 Index: pkg/PLIST =================================================================== RCS file: /cvs/ports/www/py-flask/pkg/PLIST,v retrieving revision 1.11 diff -u -p -r1.11 PLIST --- pkg/PLIST 19 Apr 2017 00:46:53 -0000 1.11 +++ pkg/PLIST 28 Apr 2018 09:45:20 -0000 @@ -54,205 +54,6 @@ lib/python${MODPY_VERSION}/site-packages lib/python${MODPY_VERSION}/site-packages/flask/testing.py lib/python${MODPY_VERSION}/site-packages/flask/views.py lib/python${MODPY_VERSION}/site-packages/flask/wrappers.py -share/doc/${MODPY_PY_PREFIX}flask/ -share/doc/${MODPY_PY_PREFIX}flask/_images/ -share/doc/${MODPY_PY_PREFIX}flask/_images/debugger.png -share/doc/${MODPY_PY_PREFIX}flask/_images/flaskr.png -share/doc/${MODPY_PY_PREFIX}flask/_images/logo-full.png -share/doc/${MODPY_PY_PREFIX}flask/_images/no.png -share/doc/${MODPY_PY_PREFIX}flask/_images/yes.png -share/doc/${MODPY_PY_PREFIX}flask/_sources/ -share/doc/${MODPY_PY_PREFIX}flask/_sources/advanced_foreword.txt -share/doc/${MODPY_PY_PREFIX}flask/_sources/api.txt -share/doc/${MODPY_PY_PREFIX}flask/_sources/appcontext.txt -share/doc/${MODPY_PY_PREFIX}flask/_sources/becomingbig.txt -share/doc/${MODPY_PY_PREFIX}flask/_sources/blueprints.txt -share/doc/${MODPY_PY_PREFIX}flask/_sources/changelog.txt -share/doc/${MODPY_PY_PREFIX}flask/_sources/cli.txt -share/doc/${MODPY_PY_PREFIX}flask/_sources/config.txt -share/doc/${MODPY_PY_PREFIX}flask/_sources/deploying/ -share/doc/${MODPY_PY_PREFIX}flask/_sources/deploying/cgi.txt -share/doc/${MODPY_PY_PREFIX}flask/_sources/deploying/fastcgi.txt -share/doc/${MODPY_PY_PREFIX}flask/_sources/deploying/index.txt -share/doc/${MODPY_PY_PREFIX}flask/_sources/deploying/mod_wsgi.txt -share/doc/${MODPY_PY_PREFIX}flask/_sources/deploying/uwsgi.txt -share/doc/${MODPY_PY_PREFIX}flask/_sources/deploying/wsgi-standalone.txt -share/doc/${MODPY_PY_PREFIX}flask/_sources/design.txt -share/doc/${MODPY_PY_PREFIX}flask/_sources/errorhandling.txt -share/doc/${MODPY_PY_PREFIX}flask/_sources/extensiondev.txt -share/doc/${MODPY_PY_PREFIX}flask/_sources/extensions.txt -share/doc/${MODPY_PY_PREFIX}flask/_sources/foreword.txt -share/doc/${MODPY_PY_PREFIX}flask/_sources/htmlfaq.txt -share/doc/${MODPY_PY_PREFIX}flask/_sources/index.txt -share/doc/${MODPY_PY_PREFIX}flask/_sources/installation.txt -share/doc/${MODPY_PY_PREFIX}flask/_sources/latexindex.txt -share/doc/${MODPY_PY_PREFIX}flask/_sources/license.txt -share/doc/${MODPY_PY_PREFIX}flask/_sources/patterns/ -share/doc/${MODPY_PY_PREFIX}flask/_sources/patterns/apierrors.txt -share/doc/${MODPY_PY_PREFIX}flask/_sources/patterns/appdispatch.txt -share/doc/${MODPY_PY_PREFIX}flask/_sources/patterns/appfactories.txt -share/doc/${MODPY_PY_PREFIX}flask/_sources/patterns/caching.txt -share/doc/${MODPY_PY_PREFIX}flask/_sources/patterns/celery.txt -share/doc/${MODPY_PY_PREFIX}flask/_sources/patterns/deferredcallbacks.txt -share/doc/${MODPY_PY_PREFIX}flask/_sources/patterns/distribute.txt -share/doc/${MODPY_PY_PREFIX}flask/_sources/patterns/errorpages.txt -share/doc/${MODPY_PY_PREFIX}flask/_sources/patterns/fabric.txt -share/doc/${MODPY_PY_PREFIX}flask/_sources/patterns/favicon.txt -share/doc/${MODPY_PY_PREFIX}flask/_sources/patterns/fileuploads.txt -share/doc/${MODPY_PY_PREFIX}flask/_sources/patterns/flashing.txt -share/doc/${MODPY_PY_PREFIX}flask/_sources/patterns/index.txt -share/doc/${MODPY_PY_PREFIX}flask/_sources/patterns/jquery.txt -share/doc/${MODPY_PY_PREFIX}flask/_sources/patterns/lazyloading.txt -share/doc/${MODPY_PY_PREFIX}flask/_sources/patterns/methodoverrides.txt -share/doc/${MODPY_PY_PREFIX}flask/_sources/patterns/mongokit.txt -share/doc/${MODPY_PY_PREFIX}flask/_sources/patterns/packages.txt -share/doc/${MODPY_PY_PREFIX}flask/_sources/patterns/requestchecksum.txt -share/doc/${MODPY_PY_PREFIX}flask/_sources/patterns/sqlalchemy.txt -share/doc/${MODPY_PY_PREFIX}flask/_sources/patterns/sqlite3.txt -share/doc/${MODPY_PY_PREFIX}flask/_sources/patterns/streaming.txt -share/doc/${MODPY_PY_PREFIX}flask/_sources/patterns/subclassing.txt -share/doc/${MODPY_PY_PREFIX}flask/_sources/patterns/templateinheritance.txt -share/doc/${MODPY_PY_PREFIX}flask/_sources/patterns/urlprocessors.txt -share/doc/${MODPY_PY_PREFIX}flask/_sources/patterns/viewdecorators.txt -share/doc/${MODPY_PY_PREFIX}flask/_sources/patterns/wtforms.txt -share/doc/${MODPY_PY_PREFIX}flask/_sources/python3.txt -share/doc/${MODPY_PY_PREFIX}flask/_sources/quickstart.txt -share/doc/${MODPY_PY_PREFIX}flask/_sources/reqcontext.txt -share/doc/${MODPY_PY_PREFIX}flask/_sources/security.txt -share/doc/${MODPY_PY_PREFIX}flask/_sources/server.txt -share/doc/${MODPY_PY_PREFIX}flask/_sources/shell.txt -share/doc/${MODPY_PY_PREFIX}flask/_sources/signals.txt -share/doc/${MODPY_PY_PREFIX}flask/_sources/styleguide.txt -share/doc/${MODPY_PY_PREFIX}flask/_sources/templating.txt -share/doc/${MODPY_PY_PREFIX}flask/_sources/testing.txt -share/doc/${MODPY_PY_PREFIX}flask/_sources/tutorial/ -share/doc/${MODPY_PY_PREFIX}flask/_sources/tutorial/css.txt -share/doc/${MODPY_PY_PREFIX}flask/_sources/tutorial/dbcon.txt -share/doc/${MODPY_PY_PREFIX}flask/_sources/tutorial/dbinit.txt -share/doc/${MODPY_PY_PREFIX}flask/_sources/tutorial/folders.txt -share/doc/${MODPY_PY_PREFIX}flask/_sources/tutorial/index.txt -share/doc/${MODPY_PY_PREFIX}flask/_sources/tutorial/introduction.txt -share/doc/${MODPY_PY_PREFIX}flask/_sources/tutorial/packaging.txt -share/doc/${MODPY_PY_PREFIX}flask/_sources/tutorial/schema.txt -share/doc/${MODPY_PY_PREFIX}flask/_sources/tutorial/setup.txt -share/doc/${MODPY_PY_PREFIX}flask/_sources/tutorial/templates.txt -share/doc/${MODPY_PY_PREFIX}flask/_sources/tutorial/testing.txt -share/doc/${MODPY_PY_PREFIX}flask/_sources/tutorial/views.txt -share/doc/${MODPY_PY_PREFIX}flask/_sources/unicode.txt -share/doc/${MODPY_PY_PREFIX}flask/_sources/upgrading.txt -share/doc/${MODPY_PY_PREFIX}flask/_sources/views.txt -share/doc/${MODPY_PY_PREFIX}flask/_static/ -share/doc/${MODPY_PY_PREFIX}flask/_static/ajax-loader.gif -share/doc/${MODPY_PY_PREFIX}flask/_static/alabaster.css -share/doc/${MODPY_PY_PREFIX}flask/_static/basic.css -share/doc/${MODPY_PY_PREFIX}flask/_static/comment-bright.png -share/doc/${MODPY_PY_PREFIX}flask/_static/comment-close.png -share/doc/${MODPY_PY_PREFIX}flask/_static/comment.png -share/doc/${MODPY_PY_PREFIX}flask/_static/custom.css -share/doc/${MODPY_PY_PREFIX}flask/_static/debugger.png -share/doc/${MODPY_PY_PREFIX}flask/_static/doctools.js -share/doc/${MODPY_PY_PREFIX}flask/_static/down-pressed.png -share/doc/${MODPY_PY_PREFIX}flask/_static/down.png -share/doc/${MODPY_PY_PREFIX}flask/_static/file.png -share/doc/${MODPY_PY_PREFIX}flask/_static/flask-favicon.ico -share/doc/${MODPY_PY_PREFIX}flask/_static/flask.png -share/doc/${MODPY_PY_PREFIX}flask/_static/flaskr.png -share/doc/${MODPY_PY_PREFIX}flask/_static/jquery.js -share/doc/${MODPY_PY_PREFIX}flask/_static/logo-full.png -share/doc/${MODPY_PY_PREFIX}flask/_static/minus.png -share/doc/${MODPY_PY_PREFIX}flask/_static/no.png -share/doc/${MODPY_PY_PREFIX}flask/_static/plus.png -share/doc/${MODPY_PY_PREFIX}flask/_static/pygments.css -share/doc/${MODPY_PY_PREFIX}flask/_static/searchtools.js -share/doc/${MODPY_PY_PREFIX}flask/_static/touch-icon.png -share/doc/${MODPY_PY_PREFIX}flask/_static/underscore.js -share/doc/${MODPY_PY_PREFIX}flask/_static/up-pressed.png -share/doc/${MODPY_PY_PREFIX}flask/_static/up.png -share/doc/${MODPY_PY_PREFIX}flask/_static/websupport.js -share/doc/${MODPY_PY_PREFIX}flask/_static/yes.png -share/doc/${MODPY_PY_PREFIX}flask/advanced_foreword.html -share/doc/${MODPY_PY_PREFIX}flask/api.html -share/doc/${MODPY_PY_PREFIX}flask/appcontext.html -share/doc/${MODPY_PY_PREFIX}flask/becomingbig.html -share/doc/${MODPY_PY_PREFIX}flask/blueprints.html -share/doc/${MODPY_PY_PREFIX}flask/changelog.html -share/doc/${MODPY_PY_PREFIX}flask/cli.html -share/doc/${MODPY_PY_PREFIX}flask/config.html -share/doc/${MODPY_PY_PREFIX}flask/deploying/ -share/doc/${MODPY_PY_PREFIX}flask/deploying/cgi.html -share/doc/${MODPY_PY_PREFIX}flask/deploying/fastcgi.html -share/doc/${MODPY_PY_PREFIX}flask/deploying/index.html -share/doc/${MODPY_PY_PREFIX}flask/deploying/mod_wsgi.html -share/doc/${MODPY_PY_PREFIX}flask/deploying/uwsgi.html -share/doc/${MODPY_PY_PREFIX}flask/deploying/wsgi-standalone.html -share/doc/${MODPY_PY_PREFIX}flask/design.html -share/doc/${MODPY_PY_PREFIX}flask/errorhandling.html -share/doc/${MODPY_PY_PREFIX}flask/extensiondev.html -share/doc/${MODPY_PY_PREFIX}flask/extensions.html -share/doc/${MODPY_PY_PREFIX}flask/foreword.html -share/doc/${MODPY_PY_PREFIX}flask/genindex.html -share/doc/${MODPY_PY_PREFIX}flask/htmlfaq.html -share/doc/${MODPY_PY_PREFIX}flask/index.html -share/doc/${MODPY_PY_PREFIX}flask/installation.html -share/doc/${MODPY_PY_PREFIX}flask/latexindex.html -share/doc/${MODPY_PY_PREFIX}flask/license.html -share/doc/${MODPY_PY_PREFIX}flask/objects.inv -share/doc/${MODPY_PY_PREFIX}flask/patterns/ -share/doc/${MODPY_PY_PREFIX}flask/patterns/apierrors.html -share/doc/${MODPY_PY_PREFIX}flask/patterns/appdispatch.html -share/doc/${MODPY_PY_PREFIX}flask/patterns/appfactories.html -share/doc/${MODPY_PY_PREFIX}flask/patterns/caching.html -share/doc/${MODPY_PY_PREFIX}flask/patterns/celery.html -share/doc/${MODPY_PY_PREFIX}flask/patterns/deferredcallbacks.html -share/doc/${MODPY_PY_PREFIX}flask/patterns/distribute.html -share/doc/${MODPY_PY_PREFIX}flask/patterns/errorpages.html -share/doc/${MODPY_PY_PREFIX}flask/patterns/fabric.html -share/doc/${MODPY_PY_PREFIX}flask/patterns/favicon.html -share/doc/${MODPY_PY_PREFIX}flask/patterns/fileuploads.html -share/doc/${MODPY_PY_PREFIX}flask/patterns/flashing.html -share/doc/${MODPY_PY_PREFIX}flask/patterns/index.html -share/doc/${MODPY_PY_PREFIX}flask/patterns/jquery.html -share/doc/${MODPY_PY_PREFIX}flask/patterns/lazyloading.html -share/doc/${MODPY_PY_PREFIX}flask/patterns/methodoverrides.html -share/doc/${MODPY_PY_PREFIX}flask/patterns/mongokit.html -share/doc/${MODPY_PY_PREFIX}flask/patterns/packages.html -share/doc/${MODPY_PY_PREFIX}flask/patterns/requestchecksum.html -share/doc/${MODPY_PY_PREFIX}flask/patterns/sqlalchemy.html -share/doc/${MODPY_PY_PREFIX}flask/patterns/sqlite3.html -share/doc/${MODPY_PY_PREFIX}flask/patterns/streaming.html -share/doc/${MODPY_PY_PREFIX}flask/patterns/subclassing.html -share/doc/${MODPY_PY_PREFIX}flask/patterns/templateinheritance.html -share/doc/${MODPY_PY_PREFIX}flask/patterns/urlprocessors.html -share/doc/${MODPY_PY_PREFIX}flask/patterns/viewdecorators.html -share/doc/${MODPY_PY_PREFIX}flask/patterns/wtforms.html -share/doc/${MODPY_PY_PREFIX}flask/python3.html -share/doc/${MODPY_PY_PREFIX}flask/quickstart.html -share/doc/${MODPY_PY_PREFIX}flask/reqcontext.html -share/doc/${MODPY_PY_PREFIX}flask/search.html -share/doc/${MODPY_PY_PREFIX}flask/searchindex.js -share/doc/${MODPY_PY_PREFIX}flask/security.html -share/doc/${MODPY_PY_PREFIX}flask/server.html -share/doc/${MODPY_PY_PREFIX}flask/shell.html -share/doc/${MODPY_PY_PREFIX}flask/signals.html -share/doc/${MODPY_PY_PREFIX}flask/styleguide.html -share/doc/${MODPY_PY_PREFIX}flask/templating.html -share/doc/${MODPY_PY_PREFIX}flask/testing.html -share/doc/${MODPY_PY_PREFIX}flask/tutorial/ -share/doc/${MODPY_PY_PREFIX}flask/tutorial/css.html -share/doc/${MODPY_PY_PREFIX}flask/tutorial/dbcon.html -share/doc/${MODPY_PY_PREFIX}flask/tutorial/dbinit.html -share/doc/${MODPY_PY_PREFIX}flask/tutorial/folders.html -share/doc/${MODPY_PY_PREFIX}flask/tutorial/index.html -share/doc/${MODPY_PY_PREFIX}flask/tutorial/introduction.html -share/doc/${MODPY_PY_PREFIX}flask/tutorial/packaging.html -share/doc/${MODPY_PY_PREFIX}flask/tutorial/schema.html -share/doc/${MODPY_PY_PREFIX}flask/tutorial/setup.html -share/doc/${MODPY_PY_PREFIX}flask/tutorial/templates.html -share/doc/${MODPY_PY_PREFIX}flask/tutorial/testing.html -share/doc/${MODPY_PY_PREFIX}flask/tutorial/views.html -share/doc/${MODPY_PY_PREFIX}flask/unicode.html -share/doc/${MODPY_PY_PREFIX}flask/upgrading.html -share/doc/${MODPY_PY_PREFIX}flask/views.html share/examples/${MODPY_PY_PREFIX}flask/ share/examples/${MODPY_PY_PREFIX}flask/blueprintexample/ share/examples/${MODPY_PY_PREFIX}flask/blueprintexample/blueprintexample.py @@ -271,12 +72,6 @@ share/examples/${MODPY_PY_PREFIX}flask/f share/examples/${MODPY_PY_PREFIX}flask/flaskr/MANIFEST.in share/examples/${MODPY_PY_PREFIX}flask/flaskr/README share/examples/${MODPY_PY_PREFIX}flask/flaskr/flaskr/ -share/examples/${MODPY_PY_PREFIX}flask/flaskr/flaskr.egg-info/ -share/examples/${MODPY_PY_PREFIX}flask/flaskr/flaskr.egg-info/PKG-INFO -share/examples/${MODPY_PY_PREFIX}flask/flaskr/flaskr.egg-info/SOURCES.txt -share/examples/${MODPY_PY_PREFIX}flask/flaskr/flaskr.egg-info/dependency_links.txt -share/examples/${MODPY_PY_PREFIX}flask/flaskr/flaskr.egg-info/requires.txt -share/examples/${MODPY_PY_PREFIX}flask/flaskr/flaskr.egg-info/top_level.txt share/examples/${MODPY_PY_PREFIX}flask/flaskr/flaskr/__init__.py share/examples/${MODPY_PY_PREFIX}flask/flaskr/flaskr/flaskr.py share/examples/${MODPY_PY_PREFIX}flask/flaskr/flaskr/schema.sql @@ -286,7 +81,6 @@ share/examples/${MODPY_PY_PREFIX}flask/f share/examples/${MODPY_PY_PREFIX}flask/flaskr/flaskr/templates/layout.html share/examples/${MODPY_PY_PREFIX}flask/flaskr/flaskr/templates/login.html share/examples/${MODPY_PY_PREFIX}flask/flaskr/flaskr/templates/show_entries.html -share/examples/${MODPY_PY_PREFIX}flask/flaskr/pytest_runner-2.11.1-py2.7.egg share/examples/${MODPY_PY_PREFIX}flask/flaskr/setup.cfg share/examples/${MODPY_PY_PREFIX}flask/flaskr/setup.py share/examples/${MODPY_PY_PREFIX}flask/flaskr/tests/ @@ -301,12 +95,6 @@ share/examples/${MODPY_PY_PREFIX}flask/m share/examples/${MODPY_PY_PREFIX}flask/minitwit/MANIFEST.in share/examples/${MODPY_PY_PREFIX}flask/minitwit/README share/examples/${MODPY_PY_PREFIX}flask/minitwit/minitwit/ -share/examples/${MODPY_PY_PREFIX}flask/minitwit/minitwit.egg-info/ -share/examples/${MODPY_PY_PREFIX}flask/minitwit/minitwit.egg-info/PKG-INFO -share/examples/${MODPY_PY_PREFIX}flask/minitwit/minitwit.egg-info/SOURCES.txt -share/examples/${MODPY_PY_PREFIX}flask/minitwit/minitwit.egg-info/dependency_links.txt -share/examples/${MODPY_PY_PREFIX}flask/minitwit/minitwit.egg-info/requires.txt -share/examples/${MODPY_PY_PREFIX}flask/minitwit/minitwit.egg-info/top_level.txt share/examples/${MODPY_PY_PREFIX}flask/minitwit/minitwit/__init__.py share/examples/${MODPY_PY_PREFIX}flask/minitwit/minitwit/minitwit.py share/examples/${MODPY_PY_PREFIX}flask/minitwit/minitwit/schema.sql