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.


Reply via email to