Re: enable quic functionality in net/knot

2023-11-16 Thread David Vasek

[I'm not subscribed, sorry for not following the original Message-ID]

On 2023-11-14 15:03, Landry Breuil wrote:

> Here is a small patch to add DNS over QUIC with knot DNS client.
> What do you think?

had a look at configure.ac, and it build its embedded ngtcp2 because 
its

explicitely looks for a gnutls-enabled ngtcp2. net/ngtcp2 is built
against libressl.


Hello,
I already made some attempt to make an ngtcp2 subpackage with gnutls, 
but

I didn't find time to finish it to be acceptable.
https://marc.info/?t=16794024896=1=2

I have to return to it.

Regards,
David

P.S. Please Cc me in replies, I'm not subscribed to the list.



Re: net/ngtcp2 with GnuTLS support

2023-03-21 Thread David Vasek

On 2023-03-21 17:15, Joel Sing wrote:

On 23-03-21 11:49:19, A Tammy wrote:

On 3/21/23 11:28, Stuart Henderson wrote:
> On 2023/03/21 15:53, David Vasek wrote:
>> On 2023-03-21 15:32, A Tammy wrote:
>>> On 3/21/23 08:26, David Vasek wrote:
>>>> Hello,
>>>>
>>>> more apps start using QUIC with GnuTLS. Port net/ngtcp2 can support
> Any specific examples of software doing this?


I'm not sure I understand the actual end goal here - what functionality
does this provide that does not already exist?


net/knot was the intended target. As far as I know, it (its upstream
development branch) doesn't support ngtcp2 with openssl backend. It 
works

with GnuTLS backend only.

I have completely overlooked the issue with other packages 
autoconfiguration.

Now I see it.

Regards,
David



Re: net/ngtcp2 with GnuTLS support

2023-03-21 Thread David Vasek

On 2023-03-21 15:32, A Tammy wrote:

On 3/21/23 08:26, David Vasek wrote:

Hello,

more apps start using QUIC with GnuTLS. Port net/ngtcp2 can support
GnuTLS in a subpackage with no change in the main package. However,
security/gnutls is needed for building the port with this diff and as 
a
dependency for the new subpackage net/ngtcp2-gnutls. I have also 
changed
the package description, but didn't touch the style of the Makefile 
yet.

REVISON's of both subpackages set to he same value. Tested on amd64 so
far.


A lot of packages will automatically pick this up. This needs to be
turned on with care.


It shouldn't pick anything automatically. The main package ngtcp2 will 
remain
the same as before *), while the new subpackage ngtcp2-gnutls still 
needs to be

explicitly requested.

The only nuisance seems to be that there is additional dependency for 
building

this port.

*) With the exception of the time stamps, therefore I've set both 
REVISIONs to 1.


Regards,
David



net/ngtcp2 with GnuTLS support

2023-03-21 Thread David Vasek

Hello,

more apps start using QUIC with GnuTLS. Port net/ngtcp2 can support
GnuTLS in a subpackage with no change in the main package. However,
security/gnutls is needed for building the port with this diff and as a
dependency for the new subpackage net/ngtcp2-gnutls. I have also changed
the package description, but didn't touch the style of the Makefile yet.
REVISON's of both subpackages set to he same value. Tested on amd64 so
far.

Please Cc: me in replies, I'm currently not subscribed to ports@.
Thanks.

Regards,
David

Index: ports/net/ngtcp2/Makefile
===
RCS file: /cvs/ports/net/ngtcp2/Makefile,v
retrieving revision 1.6
diff -u -p -r1.6 Makefile
--- ports/net/ngtcp2/Makefile   9 Feb 2023 22:26:17 -   1.6
+++ ports/net/ngtcp2/Makefile   24 Feb 2023 22:53:44 -
@@ -1,10 +1,16 @@
-COMMENT=   implementation of the RFC 9000 QUIC protocol
+COMMENT-main=  implementation of the RFC 9000 QUIC protocol
+COMMENT-gnutls=GnuTLS support for ngtcp2

  V=0.13.1
  DISTNAME= ngtcp2-$V
+REVISION-main= 1
+REVISION-gnutls=   1
+
+MULTI_PACKAGES=-main -gnutls

  SHARED_LIBS +=ngtcp2  1.0  # 10.1
  SHARED_LIBS +=ngtcp2_crypto_openssl   0.0  # 4.0
+SHARED_LIBS += ngtcp2_crypto_gnutls0.0  # 4.0

  CATEGORIES=   net

@@ -13,7 +19,10 @@ HOMEPAGE=https://nghttp2.org/ngtcp2/
  # MIT
  PERMIT_PACKAGE=   Yes

-WANTLIB += crypto ssl
+LIB_DEPENDS-gnutls=${BASE_PKGPATH},-main security/gnutls
+
+WANTLIB-main +=crypto ssl
+WANTLIB-gnutls +=  gnutls ngtcp2

  MASTER_SITES= https://github.com/ngtcp2/ngtcp2/releases/download/v$V/

@@ -21,7 +30,7 @@ SEPARATE_BUILD=   Yes
  DEBUG_PACKAGES=   ${BUILD_PACKAGES}

  CONFIGURE_STYLE=  gnu
-CONFIGURE_ARGS+=   --with-openssl
+CONFIGURE_ARGS+=   --with-openssl --with-gnutls

  # Don't pull this in as BUILD_DEPENDS to reduce dependencies on
  # the path to building curl->cmake.
Index: ports/net/ngtcp2/pkg/DESCR
===
RCS file: ports/net/ngtcp2/pkg/DESCR
diff -N ports/net/ngtcp2/pkg/DESCR
--- ports/net/ngtcp2/pkg/DESCR  9 Nov 2022 11:56:28 -   1.1.1.1
+++ /dev/null   1 Jan 1970 00:00:00 -
@@ -1 +0,0 @@
-implementation of the RFC 9000 QUIC protocol
Index: ports/net/ngtcp2/pkg/DESCR-gnutls
===
RCS file: ports/net/ngtcp2/pkg/DESCR-gnutls
diff -N ports/net/ngtcp2/pkg/DESCR-gnutls
--- /dev/null   1 Jan 1970 00:00:00 -
+++ ports/net/ngtcp2/pkg/DESCR-gnutls   24 Feb 2023 22:53:44 -
@@ -0,0 +1,2 @@
+This packages contains the GnuTLS backend for ngtcp2, a QUIC
+protocol implementation.
Index: ports/net/ngtcp2/pkg/DESCR-main
===
RCS file: ports/net/ngtcp2/pkg/DESCR-main
diff -N ports/net/ngtcp2/pkg/DESCR-main
--- /dev/null   1 Jan 1970 00:00:00 -
+++ ports/net/ngtcp2/pkg/DESCR-main 24 Feb 2023 22:53:44 -
@@ -0,0 +1,4 @@
+ngtcp2 is an implementation of QUIC, a UDP-based secure general-purpose
+transport protocol. QUIC is published as RFC 9000.
+
+This packages also contains the LibreSSL backend for ngtcp2.
Index: ports/net/ngtcp2/pkg/PLIST
===
RCS file: ports/net/ngtcp2/pkg/PLIST
diff -N ports/net/ngtcp2/pkg/PLIST
--- ports/net/ngtcp2/pkg/PLIST  9 Nov 2022 11:56:28 -   1.1.1.1
+++ /dev/null   1 Jan 1970 00:00:00 -
@@ -1,15 +0,0 @@
-include/ngtcp2/
-include/ngtcp2/ngtcp2.h
-include/ngtcp2/ngtcp2_crypto.h
-include/ngtcp2/ngtcp2_crypto_openssl.h
-include/ngtcp2/version.h
-@static-lib lib/libngtcp2.a
-lib/libngtcp2.la
-@lib lib/libngtcp2.so.${LIBngtcp2_VERSION}
-@static-lib lib/libngtcp2_crypto_openssl.a
-lib/libngtcp2_crypto_openssl.la
-@lib
lib/libngtcp2_crypto_openssl.so.${LIBngtcp2_crypto_openssl_VERSION}
-lib/pkgconfig/libngtcp2.pc
-lib/pkgconfig/libngtcp2_crypto_openssl.pc
-share/doc/ngtcp2/
-share/doc/ngtcp2/README.rst
Index: ports/net/ngtcp2/pkg/PLIST-gnutls
===
RCS file: ports/net/ngtcp2/pkg/PLIST-gnutls
diff -N ports/net/ngtcp2/pkg/PLIST-gnutls
--- /dev/null   1 Jan 1970 00:00:00 -
+++ ports/net/ngtcp2/pkg/PLIST-gnutls   24 Feb 2023 22:53:44 -
@@ -0,0 +1,6 @@
+include/ngtcp2/
+include/ngtcp2/ngtcp2_crypto_gnutls.h
+@static-lib lib/libngtcp2_crypto_gnutls.a
+lib/libngtcp2_crypto_gnutls.la
+@lib lib/libngtcp2_crypto_gnutls.so.${LIBngtcp2_crypto_gnutls_VERSION}
+lib/pkgconfig/libngtcp2_crypto_gnutls.pc
Index: ports/net/ngtcp2/pkg/PLIST-main
===
RCS file: ports/net/ngtcp2/pkg/PLIST-main
diff -N ports/net/ngtcp2/pkg/PLIST-main
--- /dev/null   1 Jan 1970 00:00:00 -
+++ ports/net/ngtcp2/pkg/PLIST-main 24 Feb 2023 22:53:44 -
@@ -0,0