CIRCL / AIL-framework

AIL framework - Analysis Information Leak framework. Project moved to https://github.com/ail-project
https://github.com/ail-project/ail-framework
GNU Affero General Public License v3.0
1.29k stars 282 forks source link

Flask and jinja update? - markupsafe soft_unicode deprecation #575

Closed juju4 closed 5 months ago

juju4 commented 2 years ago

Current requirements https://github.com/CIRCL/AIL-framework/blob/master/requirements.txt#L68

flask>1.1.2,<=1.1.4

while current is 2.0.3 https://pypi.org/project/Flask/#history this results in jinja2 at 2.11.3 (current 3.0.3 - https://pypi.org/project/Jinja2/#history) and markupsafe 2.1.0 which is current https://pypi.org/project/MarkupSafe/#history

it results in following error

 2022-02-19 15:15:20,432 INFO gave up: ail-script-MISP_The_Hive_feeder entered FATAL state, too many start retries too quickly
Traceback (most recent call last):
  File "/var/_ail/AIL/var/www/Flask_server.py", line 16, in <module>
    from flask import Flask, render_template, jsonify, request, Request, Response, session, redirect, url_for
  File "/var/_ail/AILENV/lib/python3.8/site-packages/flask/__init__.py", line 14, in <module>
    from jinja2 import escape
  File "/var/_ail/AILENV/lib/python3.8/site-packages/jinja2/__init__.py", line 12, in <module>
    from .environment import Environment
  File "/var/_ail/AILENV/lib/python3.8/site-packages/jinja2/environment.py", line 25, in <module>
    from .defaults import BLOCK_END_STRING
  File "/var/_ail/AILENV/lib/python3.8/site-packages/jinja2/defaults.py", line 3, in <module>
    from .filters import FILTERS as DEFAULT_FILTERS  # noqa: F401
  File "/var/_ail/AILENV/lib/python3.8/site-packages/jinja2/filters.py", line 13, in <module>
    from markupsafe import soft_unicode
ImportError: cannot import name 'soft_unicode' from 'markupsafe' (/var/_ail/AILENV/lib/python3.8/site-packages/markupsafe/__init__.py)

From the changelog https://markupsafe.palletsprojects.com/en/2.1.x/changes/#version-2-1-0 Remove soft_unicode, which was previously deprecated. Use soft_str instead. #261

which ultimately requires jinja update per https://github.com/pallets/jinja/issues/1585

Temporary workaround: force markupsafe 2.0.1 per https://github.com/aws/aws-sam-cli/issues/3661 for some reason, just enforcing it in requirements.txt was not enough for me and I had to do install it before doing requirements.txt (https://github.com/juju4/ansible-ail-framework/commit/c6c1b9c3e552b16d45b5590c514d3fd633023e22, https://github.com/juju4/ansible-ail-framework/runs/5260111664?check_suite_focus=true#step:13:122 nok vs https://github.com/juju4/ansible-ail-framework/runs/5260393362?check_suite_focus=true#step:13:122 ok)

Terrtia commented 5 months ago

Fixed in v5.0