From 37b3cf9fb2a56cfa980844f527d834916b38cca8 Mon Sep 17 00:00:00 2001 From: Wojtek Kosior Date: Tue, 25 Oct 2022 11:30:45 +0200 Subject: [proxy] make Haketilo popup functional * Ad hoc payload creation was additionally fixed in this commit. * Addition on newly created script blocking/allowing rules to pattern tree was additionally fixed in this commit. It is no longer necessary to restart Haketilo for new rules to come into effect. --- .../common_jinja_templates/base.html.jinja | 30 +++- src/hydrilla/locales/en_US/LC_MESSAGES/messages.po | 124 +++++++++++++-- src/hydrilla/proxy/addon.py | 15 +- src/hydrilla/proxy/http_messages.py | 33 +--- src/hydrilla/proxy/policies/__init__.py | 2 +- src/hydrilla/proxy/policies/base.py | 95 ++++++++--- .../info_pages_templates/info_base.html.jinja | 89 +++++++++++ .../js_error_blocked_info.html.jinja | 22 +++ .../js_fallback_allowed_info.html.jinja | 14 ++ .../js_fallback_blocked_info.html.jinja | 14 ++ .../js_rule_allowed_info.html.jinja | 14 ++ .../js_rule_blocked_info.html.jinja | 14 ++ .../info_pages_templates/js_rule_info.html.jinja | 37 +++++ .../info_pages_templates/payload_info.html.jinja | 48 ++++++ .../special_page_info.html.jinja | 17 ++ .../policies/injectable_scripts/popup.js.jinja | 173 ++++++++++++++++++++- src/hydrilla/proxy/policies/misc.py | 28 +++- src/hydrilla/proxy/policies/payload.py | 7 + src/hydrilla/proxy/policies/payload_resource.py | 22 ++- src/hydrilla/proxy/policies/rule.py | 14 ++ src/hydrilla/proxy/state.py | 6 + src/hydrilla/proxy/state_impl/concrete_state.py | 2 + src/hydrilla/proxy/state_impl/rules.py | 18 +++ src/hydrilla/proxy/web_ui/items.py | 33 +++- src/hydrilla/proxy/web_ui/items_import.py | 9 +- src/hydrilla/proxy/web_ui/rules.py | 13 ++ .../proxy/web_ui/templates/import.html.jinja | 2 +- .../proxy/web_ui/templates/index.html.jinja | 4 + .../templates/items/package_viewversion.html.jinja | 2 +- .../proxy/web_ui/templates/rules/add.html.jinja | 4 +- src/hydrilla/url_patterns.py | 4 + 31 files changed, 819 insertions(+), 90 deletions(-) create mode 100644 src/hydrilla/proxy/policies/info_pages_templates/info_base.html.jinja create mode 100644 src/hydrilla/proxy/policies/info_pages_templates/js_error_blocked_info.html.jinja create mode 100644 src/hydrilla/proxy/policies/info_pages_templates/js_fallback_allowed_info.html.jinja create mode 100644 src/hydrilla/proxy/policies/info_pages_templates/js_fallback_blocked_info.html.jinja create mode 100644 src/hydrilla/proxy/policies/info_pages_templates/js_rule_allowed_info.html.jinja create mode 100644 src/hydrilla/proxy/policies/info_pages_templates/js_rule_blocked_info.html.jinja create mode 100644 src/hydrilla/proxy/policies/info_pages_templates/js_rule_info.html.jinja create mode 100644 src/hydrilla/proxy/policies/info_pages_templates/payload_info.html.jinja create mode 100644 src/hydrilla/proxy/policies/info_pages_templates/special_page_info.html.jinja diff --git a/src/hydrilla/common_jinja_templates/base.html.jinja b/src/hydrilla/common_jinja_templates/base.html.jinja index 08178b3..0c29c0c 100644 --- a/src/hydrilla/common_jinja_templates/base.html.jinja +++ b/src/hydrilla/common_jinja_templates/base.html.jinja @@ -67,7 +67,15 @@ code in a proprietary work, I am not going to enforce this in court. {% endmacro %} -{% macro form_field(field_name, required=true, sep_after=true, height=none) %} +{% + macro form_field( + field_name, + required = true, + sep_after = true, + height = none, + initial_value = none + ) +%}
{% set attrs = { @@ -79,9 +87,11 @@ code in a proprietary work, I am not going to enforce this in court. %} {% if height is none %} + {% do attrs.update({'value': initial_value}) %} {% else %} - + {% set value = initial_value|default('', true) %} + {{ value }} {% endif %}
@@ -90,10 +100,17 @@ code in a proprietary work, I am not going to enforce this in court. {% endif %} {% endmacro %} +{% macro verbatim(code) %} +
{{ code }}
+{% endmacro %} + {% block head %} -