On 2024/06/22 14:29, Kirill A. Korinsky wrote: > Stuart, > > Thanks on review, I appreciete it and I'm ok with all your changes. > > On Sat, 22 Jun 2024 12:11:14 +0100, > Stuart Henderson <s...@spacehopper.org> wrote: > > > > www/py-aioquic has an issue, IPV6_V6ONLY is neutered on OpenBSD so > > it is broken, so I'm not entirely happy importing it as-is (although > > mitmproxy itself does work as long as you don't use the quic support). > > From src/aioquic/asyncio/client.py: > > > > --- > > loop = asyncio.get_event_loop() > > local_host = "::" > > > > # lookup remote address > > infos = await loop.getaddrinfo(host, port, type=socket.SOCK_DGRAM) > > addr = infos[0][4] > > if len(addr) == 2: > > addr = ("::ffff:" + addr[0], addr[1], 0, 0) > > --- > > > > --- > > # explicitly enable IPv4/IPv6 dual stack > > sock = socket.socket(socket.AF_INET6, socket.SOCK_DGRAM) > > completed = False > > try: > > sock.setsockopt(socket.IPPROTO_IPV6, socket.IPV6_V6ONLY, 0) > > sock.bind((local_host, local_port, 0, 0)) > > completed = True > > finally: > > if not completed: > > sock.close() > > --- > > > > Pragmatically, changing the code to use v4 only is probably the sane > > thing to do for OpenBSD at this point. Not ideal but likely a lot > > simpler than switching it to cope with dual sockets (and there's > > precedent for doing that in ports; see e.g. Java). > > > > Alternatively I guess we could add it with a big fat warning in DESCR > > that it's not actually going to work on OpenBSD but is only there to > > satisfy the dependency. > > > > I found an issue https://github.com/aiortc/aioquic/issues/459 regarding > this, and I had made a fix wchich I sent to upstream as > https://github.com/aiortc/aioquic/pull/516. > > Also, I've included that patch to the port. On my machine I was able to > connect google.com without IPv6. > > And I make an updated tgz with added a patch. Everything else is as it was > in yours tgz.
Thanks, will try that in a bit. > > : > > : MODPY_EGG_VERSION = 0.3.18 > > : DISTNAME = pylsqpack-${MODPY_EGG_VERSION} > > : diff --git a/archivers/py-zstandard/pkg/PLIST > > b/archivers/py-zstandard/pkg/PLIST > > : index 7fdfe25..e157ff6 100644 > > : --- a/archivers/py-zstandard/pkg/PLIST > > : +++ b/archivers/py-zstandard/pkg/PLIST > > : @@ -12,6 +12,7 @@ > > lib/python${MODPY_VERSION}/site-packages/zstandard/${MODPY_PYCACHE}__init__.${MO > > : > > lib/python${MODPY_VERSION}/site-packages/zstandard/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc > > : > > lib/python${MODPY_VERSION}/site-packages/zstandard/${MODPY_PYCACHE}backend_cffi.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} > > : > > lib/python${MODPY_VERSION}/site-packages/zstandard/${MODPY_PYCACHE}backend_cffi.${MODPY_PYC_MAGIC_TAG}pyc > > : +@so > > lib/python${MODPY_VERSION}/site-packages/zstandard/_cffi.${MODPY_PYC_MAGIC_TAG}so > > > > not sure if this is needed; either way it should either be listed in > > PLIST or the file removed > > zstandard supports different backends, and thanks that catch that I had > missed the second one. > > Technically it works with the first one, but someone may expect to work only > with the secodn one. > > BTW here the third, the rust based one, which is disabled by default. > > > > > : @so > > lib/python${MODPY_VERSION}/site-packages/zstandard/backend_c.${MODPY_PYC_MAGIC_TAG}so > > : lib/python${MODPY_VERSION}/site-packages/zstandard/backend_cffi.py > > : lib/python${MODPY_VERSION}/site-packages/zstandard/py.typed > > : diff --git a/security/mitmproxy/Makefile b/security/mitmproxy/Makefile > > : index 5fddaf5..7984e96 100644 > > : --- a/security/mitmproxy/Makefile > > : +++ b/security/mitmproxy/Makefile > > : @@ -46,8 +46,6 @@ RUN_DEPENDS = > > archivers/py-brotli${MODPY_FLAVOR} \ > > : www/py-hyperframe${MODPY_FLAVOR} \ > > : www/py-tornado${MODPY_FLAVOR} > > : > > : -BUILD_DEPENDS = ${RUN_DEPENDS} > > : - > > > > certainly the full set of these is not needed, and it's nice to avoid > > unneeded dependency churn in bulk builds - I didn't try on a clean > > machine yet but I think we're probably ok with the BDEPs added by > > default without that line: > > > > $ make show=BUILD_DEPENDS > > lang/python/3 devel/py-build,python3 devel/py-installer,python3 > > devel/py-setuptools,python3 devel/py-wheel,python3 > > > > Well, it was a typo and I mean TEST_DEPENDS, but distributive from the > web-site hasn't got tests... it was simple missed pice on cleanup. TEST_DEPENDS includes RUN_DEPENDS by default (it has to, if you think about it). > > : - security/rust-ring > > : +BUILD_DEPENDS = security/rust-ring > > > > I think tb will be a bit sad about this :( > > > > I have no idea that to do without it, because build fails as: > > [modcargo] moving crates to > /usr/ports/pobj/py-mitmproxy_rs-0.5.2-python3/mitmproxy_rs-0.5.2/mitmproxy-rs/modcargo-crates > [modcargo] Replacing libsrc for ring-0.16.20 > cp: /usr/local/share/ring-0.16.20: No such file or directory Upstream would need to updating to a newer version of ring.