diff --git a/0001-fix-run-in-python-3.7-environment.patch b/0001-fix-run-in-python-3.7-environment.patch deleted file mode 100644 index de2f542625202ad26844762ff98ac4198fd2669f..0000000000000000000000000000000000000000 --- a/0001-fix-run-in-python-3.7-environment.patch +++ /dev/null @@ -1,80 +0,0 @@ -From af22a19f18f7997a7c7a3ee4ad60f03ab89b0459 Mon Sep 17 00:00:00 2001 -From: root -Date: Thu, 30 Sep 2021 17:03:09 +0800 -Subject: [PATCH] fix run in python 3.7 environment - ---- - mitmproxy/addons/tlsconfig.py | 3 ++- - mitmproxy/net/server_spec.py | 5 +++-- - mitmproxy/proxy/commands.py | 3 ++- - mitmproxy/proxy/layers/tls.py | 3 ++- - 4 files changed, 9 insertions(+), 5 deletions(-) - -diff --git a/mitmproxy/addons/tlsconfig.py b/mitmproxy/addons/tlsconfig.py -index 260be64..ee5efde 100644 ---- a/mitmproxy/addons/tlsconfig.py -+++ b/mitmproxy/addons/tlsconfig.py -@@ -1,7 +1,8 @@ - import ipaddress - import os - from pathlib import Path --from typing import List, Optional, TypedDict, Any -+from typing import List, Optional, Any -+from typing_extensions import TypedDict - - from OpenSSL import SSL - from mitmproxy import certs, ctx, exceptions, connection -diff --git a/mitmproxy/net/server_spec.py b/mitmproxy/net/server_spec.py -index f117774..99c5996 100644 ---- a/mitmproxy/net/server_spec.py -+++ b/mitmproxy/net/server_spec.py -@@ -3,7 +3,8 @@ Server specs are used to describe an upstream proxy or server. - """ - import functools - import re --from typing import Tuple, Literal, NamedTuple -+from typing import Tuple, NamedTuple -+from typing_extensions import Literal - - from mitmproxy.net import check - -@@ -26,7 +27,7 @@ server_spec_re = re.compile( - ) - - --@functools.lru_cache -+@functools.lru_cache() - def parse(server_spec: str) -> ServerSpec: - """ - Parses a server mode specification, e.g.: -diff --git a/mitmproxy/proxy/commands.py b/mitmproxy/proxy/commands.py -index 8f07990..5cada3c 100644 ---- a/mitmproxy/proxy/commands.py -+++ b/mitmproxy/proxy/commands.py -@@ -6,7 +6,8 @@ possibly to the master and addons. - - The counterpart to commands are events. - """ --from typing import Literal, Union, TYPE_CHECKING -+from typing import Union, TYPE_CHECKING -+from typing_extensions import Literal - - import mitmproxy.hooks - from mitmproxy.connection import Connection, Server -diff --git a/mitmproxy/proxy/layers/tls.py b/mitmproxy/proxy/layers/tls.py -index c9a2ff2..e2bbb7a 100644 ---- a/mitmproxy/proxy/layers/tls.py -+++ b/mitmproxy/proxy/layers/tls.py -@@ -1,7 +1,8 @@ - import struct - import time - from dataclasses import dataclass --from typing import Iterator, Literal, Optional, Tuple -+from typing import Iterator, Optional, Tuple -+from typing_extensions import Literal - - from OpenSSL import SSL - from mitmproxy import certs, connection --- -2.27.0 - diff --git a/0002-fix-asyncio_utils-run-in-python3.7.patch b/0002-fix-asyncio_utils-run-in-python3.7.patch deleted file mode 100644 index 1f8edcba2c080f3f2c198d0f80d7c5963da44ffc..0000000000000000000000000000000000000000 --- a/0002-fix-asyncio_utils-run-in-python3.7.patch +++ /dev/null @@ -1,57 +0,0 @@ -From 1f3587e008dc7314a81db4cf998ea14f48d407ec Mon Sep 17 00:00:00 2001 -From: gitee-cmd -Date: Fri, 15 Oct 2021 10:07:57 +0800 -Subject: [PATCH] fix asyncio_utils run in python3.7 - ---- - mitmproxy/utils/asyncio_utils.py | 9 +++------ - 1 file changed, 3 insertions(+), 6 deletions(-) - -diff --git a/mitmproxy/utils/asyncio_utils.py b/mitmproxy/utils/asyncio_utils.py -index 2feaaae..71972ab 100644 ---- a/mitmproxy/utils/asyncio_utils.py -+++ b/mitmproxy/utils/asyncio_utils.py -@@ -29,37 +29,34 @@ def create_task( - Ideally we stop closing the event loop during shutdown and then remove this parameter. - """ - try: -- t = asyncio.create_task(coro, name=name) -+ t = asyncio.create_task(coro) - except RuntimeError: - if ignore_closed_loop: - coro.close() - return None - else: - raise -- set_task_debug_info(t, name=name, client=client) -+ set_task_debug_info(t, client=client) - return t - - - def set_task_debug_info( - task: asyncio.Task, - *, -- name: str, - client: Optional[tuple] = None, - ) -> None: - """Set debug info for an externally-spawned task.""" - task.created = time.time() # type: ignore -- task.set_name(name) - if client: - task.client = client # type: ignore - - - def task_repr(task: asyncio.Task) -> str: - """Get a task representation with debug info.""" -- name = task.get_name() - age = getattr(task, "created", "") - if age: - age = f" (age: {time.time() - age:.0f}s)" - client = getattr(task, "client", "") - if client: - client = f"{human.format_address(client)}: " -- return f"{client}{name}{age}" -+ return f"{client}{age}" --- -2.30.0 - diff --git a/fix-build-fail-with-python3.7.patch b/fix-build-fail-with-python3.7.patch deleted file mode 100644 index 27fb95615a410d226899b8b260f788f6d8c8d6bf..0000000000000000000000000000000000000000 --- a/fix-build-fail-with-python3.7.patch +++ /dev/null @@ -1,64 +0,0 @@ -diff -Nur mitmproxy-7.0.0/mitmproxy/contentviews/__init__.py mitmproxy-7.0.0-1/mitmproxy/contentviews/__init__.py ---- mitmproxy-7.0.0/mitmproxy/contentviews/__init__.py 2021-07-16 16:24:38.000000000 +0800 -+++ mitmproxy-7.0.0-1/mitmproxy/contentviews/__init__.py 2021-08-04 15:27:39.221691053 +0800 -@@ -99,8 +99,10 @@ - http_message = None - if isinstance(message, http.Message): - http_message = message -- if ctype := message.headers.get("content-type"): -- if ct := http.parse_content_type(ctype): -+ ctype_tmp = message.headers.get("content-type") -+ if ctype == ctype_tmp: -+ ct_tmp = http.parse_content_type(ctype) -+ if ct == ct_tmp: - content_type = f"{ct[0]}/{ct[1]}" - - description, lines, error = get_content_view( -diff -Nur mitmproxy-7.0.0/mitmproxy/net/tls.py mitmproxy-7.0.0-1/mitmproxy/net/tls.py ---- mitmproxy-7.0.0/mitmproxy/net/tls.py 2021-07-16 16:24:38.000000000 +0800 -+++ mitmproxy-7.0.0-1/mitmproxy/net/tls.py 2021-08-04 15:32:53.086778204 +0800 -@@ -106,7 +106,7 @@ - ok += SSL._lib.SSL_CTX_set_max_proto_version(context._context, max_version.value) # type: ignore - if ok != 2: - raise RuntimeError( -- f"Error setting TLS versions ({min_version=}, {max_version=}). " -+ f"Error setting TLS versions ({min_version}, {max_version}). " - "The version you specified may be unavailable in your libssl." - ) - -@@ -177,7 +177,7 @@ - try: - context.load_verify_locations(ca_pemfile, ca_path) - except SSL.Error as e: -- raise RuntimeError(f"Cannot load trusted certificates ({ca_pemfile=}, {ca_path=}).") from e -+ raise RuntimeError(f"Cannot load trusted certificates ({ca_pemfile}, {ca_path}).") from e - - # Client Certs - if client_cert: -diff -Nur mitmproxy-7.0.0/mitmproxy/proxy/layers/http/__init__.py mitmproxy-7.0.0-1/mitmproxy/proxy/layers/http/__init__.py ---- mitmproxy-7.0.0/mitmproxy/proxy/layers/http/__init__.py 2021-07-16 16:24:38.000000000 +0800 -+++ mitmproxy-7.0.0-1/mitmproxy/proxy/layers/http/__init__.py 2021-08-04 15:30:16.424239006 +0800 -@@ -148,8 +148,8 @@ - else: - self.flow = event.replay_flow - self.flow.request = event.request -- -- if err := validate_request(self.mode, self.flow.request): -+ err_tmp = validate_request(self.mode, self.flow.request) -+ if err == err_tmp: - self.flow.response = http.Response.make(502, str(err)) - self.client_state = self.state_errored - return (yield from self.send_response()) -diff -Nur mitmproxy-7.0.0/mitmproxy/proxy/server.py mitmproxy-7.0.0-1/mitmproxy/proxy/server.py ---- mitmproxy-7.0.0/mitmproxy/proxy/server.py 2021-07-16 16:24:38.000000000 +0800 -+++ mitmproxy-7.0.0-1/mitmproxy/proxy/server.py 2021-08-04 15:31:48.925738277 +0800 -@@ -142,7 +142,8 @@ - server=command.connection - ) - await self.handle_hook(server_hooks.ServerConnectHook(hook_data)) -- if err := command.connection.error: -+ err_tmp = command.connection.error -+ if err == err_tmp: - self.log(f"server connection to {human.format_address(command.connection.address)} killed before connect: {err}") - self.server_event(events.OpenConnectionCompleted(command, f"Connection killed: {err}")) - return diff --git a/python-mitmproxy.spec b/python-mitmproxy.spec index 0db7e6944437fc0cc861671e39341ebb7dbff6cc..30390850862b5eb2e9b00998b10a5d4eddc9df86 100644 --- a/python-mitmproxy.spec +++ b/python-mitmproxy.spec @@ -1,14 +1,11 @@ %global _empty_manifest_terminate_build 0 Name: python-mitmproxy -Version: 7.0.0 -Release: 4 +Version: 8.0.0 +Release: 1 Summary: An interactive, SSL/TLS-capable intercepting proxy for HTTP/1, HTTP/2, and WebSockets. License: MIT URL: https://github.com/mitmproxy/mitmproxy/ Source0: https://github.com/mitmproxy/mitmproxy/archive/refs/tags/v%{version}.tar.gz -Patch0: fix-build-fail-with-python3.7.patch -Patch0001: 0001-fix-run-in-python-3.7-environment.patch -Patch0002: 0002-fix-asyncio_utils-run-in-python3.7.patch BuildArch: noarch Requires: python3-asgiref python3-blinker python3-Brotli python3-certifi python3-click Requires: python3-cryptography python3-flask python3-h11 python3-h2 python3-hyperframe @@ -77,6 +74,9 @@ mv %{buildroot}/doclist.lst . %{_docdir}/* %changelog +* Fri May 20 2022 yaoxin - 8.0.0-1 +- Update to 8.0.0 + * Fri Oct 15 2021 chemingdao - 7.0.0-4 - fix asynocio utils run in python3.7 diff --git a/v7.0.0.tar.gz b/v8.0.0.tar.gz similarity index 72% rename from v7.0.0.tar.gz rename to v8.0.0.tar.gz index 6fa21e5b47c94620c495c85b78c14a1300bc68b4..8468d01ca3b051542432e676fd87be4f5bce0efb 100644 Binary files a/v7.0.0.tar.gz and b/v8.0.0.tar.gz differ