Community Packages

Please read this before reporting a bug:
https://wiki.archlinux.org/title/Bug_reporting_guidelines

Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.

REPEAT: Do NOT report bugs for outdated packages!
Tasklist

FS#61519 - [mitmproxy] Not compatible with python-wsproto 0.13

Attached to Project: Community Packages
Opened by Chih-Hsuan Yen (yan12125) - Thursday, 24 January 2019, 16:11 GMT
Last edited by Filipe Laíns (FFY00) - Monday, 11 February 2019, 22:13 GMT
Task Type Bug Report
Category Packages
Status Closed
Assigned To Felix Yan (felixonmars)
Filipe Laíns (FFY00)
Architecture All
Severity High
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 6
Private No

Details

Description:
After upgrading python-wsproto from 0.12 to 0.13, mitmproxy no longer works:

Traceback (most recent call last):
File "/usr/bin/mitmproxy", line 11, in <module>
load_entry_point('mitmproxy==4.0.4', 'console_scripts', 'mitmproxy')()
File "/usr/lib/python3.7/site-packages/pkg_resources/__init__.py", line 487, in load_entry_point
return get_distribution(dist).load_entry_point(group, name)
File "/usr/lib/python3.7/site-packages/pkg_resources/__init__.py", line 2728, in load_entry_point
return ep.load()
File "/usr/lib/python3.7/site-packages/pkg_resources/__init__.py", line 2346, in load
return self.resolve()
File "/usr/lib/python3.7/site-packages/pkg_resources/__init__.py", line 2352, in resolve
module = __import__(self.module_name, fromlist=['__name__'], level=0)
File "/usr/lib/python3.7/site-packages/mitmproxy/tools/main.py", line 22, in <module>
from ._main import * # noqa
File "/usr/lib/python3.7/site-packages/mitmproxy/tools/_main.py", line 13, in <module>
from mitmproxy.tools import cmdline # noqa
File "/usr/lib/python3.7/site-packages/mitmproxy/tools/cmdline.py", line 3, in <module>
from mitmproxy.addons import core
File "/usr/lib/python3.7/site-packages/mitmproxy/addons/__init__.py", line 11, in <module>
from mitmproxy.addons import onboarding
File "/usr/lib/python3.7/site-packages/mitmproxy/addons/onboarding.py", line 2, in <module>
from mitmproxy.addons.onboardingapp import app
File "/usr/lib/python3.7/site-packages/mitmproxy/addons/onboardingapp/app.py", line 8, in <module>
from mitmproxy.proxy import config
File "/usr/lib/python3.7/site-packages/mitmproxy/proxy/__init__.py", line 2, in <module>
from .root_context import RootContext
File "/usr/lib/python3.7/site-packages/mitmproxy/proxy/root_context.py", line 4, in <module>
from mitmproxy.proxy import protocol
File "/usr/lib/python3.7/site-packages/mitmproxy/proxy/protocol/__init__.py", line 33, in <module>
from .http import UpstreamConnectLayer
File "/usr/lib/python3.7/site-packages/mitmproxy/proxy/protocol/http.py", line 10, in <module>
from mitmproxy.proxy.protocol.websocket import WebSocketLayer
File "/usr/lib/python3.7/site-packages/mitmproxy/proxy/protocol/websocket.py", line 8, in <module>
from wsproto.connection import ConnectionType, WSConnection
ImportError: cannot import name 'WSConnection' from 'wsproto.connection' (/usr/lib/python3.7/site-packages/wsproto/connection.py)

I've also reported this to mitmproxy: https://github.com/mitmproxy/mitmproxy/issues/3454


Additional info:
* python-wsproto 0.13.0-1
* mitmproxy 4.0.4-2


Steps to reproduce:
1. `pacman -Syu`
2. `mitmproxy`
This task depends upon

Closed by  Filipe Laíns (FFY00)
Monday, 11 February 2019, 22:13 GMT
Reason for closing:  Fixed
Additional comments about closing:  mitmproxy 4.0.4-3
Comment by Attenuation (Attenuation) - Friday, 01 February 2019, 05:35 GMT
wsproto changed the location of WSConnection in 0.13
Comment by Chih-Hsuan Yen (yan12125) - Friday, 01 February 2019, 07:27 GMT
Looks like this is fixed upstream: https://github.com/mitmproxy/mitmproxy/pull/3459. Not tested on Arch yet, though.

And sorry for the incorrect severity. It should be high as mitmproxy does not start at all.
Comment by Attenuation (Attenuation) - Friday, 01 February 2019, 07:33 GMT
Waiting for software to add tags,then the downstream can package
Comment by sentra zeheater (zeheater) - Wednesday, 06 February 2019, 12:58 GMT
I doubt it will work for websocket, but this change worked for my test bench

--- /usr/lib/python3.7/site-packages/mitmproxy/proxy/protocol/websocket.py.bak
+++ /usr/lib/python3.7/site-packages/mitmproxy/proxy/protocol/websocket.py
@@ -5,7 +5,7 @@

import wsproto
from wsproto import events
-from wsproto.connection import ConnectionType, WSConnection
+from wsproto import ConnectionType, WSConnection
from wsproto.extensions import PerMessageDeflate

from mitmproxy import exceptions

Loading...