wget-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: wget2 | Integration of ngtcp2 and nghttp3 with wget2 (!527)


From: @rockdaboot
Subject: Re: wget2 | Integration of ngtcp2 and nghttp3 with wget2 (!527)
Date: Sun, 18 Feb 2024 17:49:56 +0000



Tim Rühsen commented: 
https://gitlab.com/gnuwget/wget2/-/merge_requests/527#note_1778219492

Can you add the quick/http3 libraries to the list of `Build Requirements` 
(README.md)?
Ideally with version - it looks like the API breaks from time to time.
And Debian testing is on ngtcp2 0.12.1, which seems to be extremely outdated.

E.g. when building, I run into these failures:
```
../../libwget/quic.c: In function 'wget_quic_close':
../../libwget/quic.c:691:9: error: unknown type name 'ngtcp2_ccerr'; did you 
mean 'ngtcp2_conn'?
  691 |         ngtcp2_ccerr ccerr = {
      |         ^~~~~~~~~~~~
      |         ngtcp2_conn
../../libwget/quic.c:692:17: error: field name not in record or union 
initializer
  692 |                 .type = NGTCP2_CCERR_TYPE_APPLICATION,
      |                 ^
../../libwget/quic.c:692:17: note: (near initialization for 'ccerr')
../../libwget/quic.c:692:25: error: 'NGTCP2_CCERR_TYPE_APPLICATION' undeclared 
(first use in this function); did you mean 'NGTCP2_CRYPTO_LEVEL_APPLICATION'?
  692 |                 .type = NGTCP2_CCERR_TYPE_APPLICATION,
      |                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                         NGTCP2_CRYPTO_LEVEL_APPLICATION
../../libwget/quic.c:692:25: note: each undeclared identifier is reported only 
once for each function it appears in
../../libwget/quic.c:693:17: error: field name not in record or union 
initializer
  693 |                 .frame_type = 0,
      |                 ^
../../libwget/quic.c:693:17: note: (near initialization for 'ccerr')
../../libwget/quic.c:693:31: warning: excess elements in scalar initializer
  693 |                 .frame_type = 0,
      |                               ^
../../libwget/quic.c:693:31: note: (near initialization for 'ccerr')
../../libwget/quic.c:694:17: error: field name not in record or union 
initializer
  694 |                 .reason = NULL,
      |                 ^
../../libwget/quic.c:694:17: note: (near initialization for 'ccerr')
../../libwget/quic.c:694:27: warning: excess elements in scalar initializer
  694 |                 .reason = NULL,
      |                           ^~~~
../../libwget/quic.c:694:27: note: (near initialization for 'ccerr')
../../libwget/quic.c:695:17: error: field name not in record or union 
initializer
  695 |                 .reasonlen = 0
      |                 ^
../../libwget/quic.c:695:17: note: (near initialization for 'ccerr')
../../libwget/quic.c:695:30: warning: excess elements in scalar initializer
  695 |                 .reasonlen = 0
      |                              ^
../../libwget/quic.c:695:30: note: (near initialization for 'ccerr')
In file included from ../../libwget/quic.c:17:
../../libwget/quic.c:703:72: warning: passing argument 7 of 
'ngtcp2_conn_write_connection_close_versioned' from incompatible pointer type 
[-Wincompatible-pointer-types]
  703 |                                                      buf, sizeof(buf), 
&ccerr, ts);
      |                                                                        ^
      |                                                                        |
      |                                                                        
int *
/usr/include/ngtcp2/ngtcp2.h:5411:42: note: expected 'const 
ngtcp2_connection_close_error *' but argument is of type 'int *'
 5411 |     const ngtcp2_connection_close_error *ccerr, ngtcp2_tstamp ts);
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
../../libwget/quic.c: In function 'quic_stream_mark_acked':
../../libwget/quic.c:824:26: warning: unused variable 'node' [-Wunused-variable]
  824 |         wget_queue_node *node;
      |                          ^~~~
make[2]: *** [Makefile:3886: libwget_la-quic.lo] Error 1
make[2]: *** Waiting for unfinished jobs....
../../libwget/ssl_gnutls.c: In function 'ssl_writev':
../../libwget/ssl_gnutls.c:1640:66: warning: cast between incompatible function 
types from 'ssize_t (*)(int,  const struct iovec *, int)' {aka 'long int 
(*)(int,  const struct iovec *, int)'} to 'ssize_t (*)(void *, const giovec_t 
*, int)' {aka 'long int (*)(void *, const struct iovec *, int)'} 
[-Wcast-function-type]
 1640 |         gnutls_transport_set_vec_push_function(tcp->ssl_session, 
(ssize_t (*) (gnutls_transport_ptr_t, const giovec_t * iov, int iovcnt)) 
writev);
      |                                                                  ^
../../libwget/queue.c: In function 'wget_queue_enqueue':
../../libwget/queue.c:72:64: warning: unused parameter 'size' 
[-Wunused-parameter]
   72 | wget_queue_enqueue(wget_queue *queue, const void *data, size_t size)
      |                                                         ~~~~~~~^~~~
../../libwget/ssl_quic_gnutls.c: In function 'tp_recv_func':
../../libwget/ssl_quic_gnutls.c:55:15: warning: implicit declaration of 
function 'ngtcp2_conn_decode_and_set_remote_transport_params'; did you mean 
'ngtcp2_conn_decode_remote_transport_params'? [-Wimplicit-function-declaration]
   55 |         ret = ngtcp2_conn_decode_and_set_remote_transport_params(conn, 
data, data_size);
      |               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |               ngtcp2_conn_decode_remote_transport_params
../../libwget/ssl_quic_gnutls.c: In function 'tp_send_func':
../../libwget/ssl_quic_gnutls.c:71:17: warning: implicit declaration of 
function 'ngtcp2_transport_params_encode'; did you mean 
'ngtcp2_transport_params_del'? [-Wimplicit-function-declaration]
   71 |                 ngtcp2_transport_params_encode(buf, sizeof(buf), 
params);
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                 ngtcp2_transport_params_del
../../libwget/ssl_quic_gnutls.c: In function 'handshake_secret_func':
../../libwget/ssl_quic_gnutls.c:98:9: error: unknown type name 
'ngtcp2_encryption_level'; did you mean 'ngtcp2_crypto_level'?
   98 |         ngtcp2_encryption_level level =
      |         ^~~~~~~~~~~~~~~~~~~~~~~
      |         ngtcp2_crypto_level
../../libwget/ssl_quic_gnutls.c: In function 'handshake_read_func':
../../libwget/ssl_quic_gnutls.c:127:9: error: unknown type name 
'ngtcp2_encryption_level'; did you mean 'ngtcp2_crypto_level'?
  127 |         ngtcp2_encryption_level level =
      |         ^~~~~~~~~~~~~~~~~~~~~~~
      |         ngtcp2_crypto_level
../../libwget/http3.c: In function '_stop_sending':
../../libwget/http3.c:84:15: error: too many arguments to function 
'ngtcp2_conn_shutdown_stream_read'
   84 |         ret = ngtcp2_conn_shutdown_stream_read(quic->conn, 0,
      |               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../../libwget/http3.c:19:
/usr/include/ngtcp2/ngtcp2.h:4382:19: note: declared here
 4382 | NGTCP2_EXTERN int ngtcp2_conn_shutdown_stream_read(ngtcp2_conn *conn,
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../libwget/http3.c: In function '_reset_stream':
../../libwget/http3.c:99:19: error: too many arguments to function 
'ngtcp2_conn_shutdown_stream_write'
   99 |         int ret = ngtcp2_conn_shutdown_stream_write(conn, 0,
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/ngtcp2/ngtcp2.h:4361:19: note: declared here
 4361 | NGTCP2_EXTERN int ngtcp2_conn_shutdown_stream_write(ngtcp2_conn *conn,
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../libwget/http3.c: In function 'end_headers_cb':
../../libwget/http3.c:165:41: warning: unused parameter 'h3conn' 
[-Wunused-parameter]
  165 | static int end_headers_cb(nghttp3_conn *h3conn, int64_t stream_id, int 
fin,
      |                           ~~~~~~~~~~~~~~^~~~~~
../../libwget/http3.c:165:57: warning: unused parameter 'stream_id' 
[-Wunused-parameter]
  165 | static int end_headers_cb(nghttp3_conn *h3conn, int64_t stream_id, int 
fin,
      |                                                 ~~~~~~~~^~~~~~~~~
../../libwget/http3.c:165:72: warning: unused parameter 'fin' 
[-Wunused-parameter]
  165 | static int end_headers_cb(nghttp3_conn *h3conn, int64_t stream_id, int 
fin,
      |                                                                    
~~~~^~~
../../libwget/http3.c:166:33: warning: unused parameter 'conn_user_data' 
[-Wunused-parameter]
  166 |                           void *conn_user_data, void *stream_user_data)
      |                           ~~~~~~^~~~~~~~~~~~~~
../../libwget/http3.c: In function 'stream_close_cb':
../../libwget/http3.c:262:42: warning: unused parameter 'conn' 
[-Wunused-parameter]
  262 | static int stream_close_cb(nghttp3_conn *conn, int64_t stream_id, 
uint64_t app_error_code,
      |                            ~~~~~~~~~~~~~~^~~~
../../libwget/http3.c:262:76: warning: unused parameter 'app_error_code' 
[-Wunused-parameter]
  262 | static int stream_close_cb(nghttp3_conn *conn, int64_t stream_id, 
uint64_t app_error_code,
      |                                                                   
~~~~~~~~~^~~~~~~~~~~~~~
../../libwget/http3.c:263:56: warning: unused parameter 'stream_user_data' 
[-Wunused-parameter]
  263 |                            void *conn_user_data, void *stream_user_data)
      |                                                  ~~~~~~^~~~~~~~~~~~~~~~
../../libwget/http3.c: In function 'init_nv':
../../libwget/http3.c:304:18: warning: assignment discards 'const' qualifier 
from pointer target type [-Wdiscarded-qualifiers]
  304 |         nv->name = (const uint8_t *) name;
      |                  ^
../../libwget/http3.c:305:19: warning: assignment discards 'const' qualifier 
from pointer target type [-Wdiscarded-qualifiers]
  305 |         nv->value = (const uint8_t *) value;
      |                   ^
```

-- 
Reply to this email directly or view it on GitLab: 
https://gitlab.com/gnuwget/wget2/-/merge_requests/527#note_1778219492
You're receiving this email because of your account on gitlab.com.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]