* libwget/ssl_quic_gnutls.c (wget_ssl_close_quic): new function:
deinit gnutls_session_t object.
* libwget/quic.c (quic_stream_mark_acked): free node after dequeue.
(wget_quic_deinit): deinit gnutls_session_t object.
* libwget/queue.c (wget_queue_free): remove unused function.
(wget_queue_free_node): new function: remove a node and its inner
contents.
(wget_queue_dequeue_transmitted_node, wget_queue_dequeue_data_node):
return outer node object, instead of inner data. This makes it easier
to free the full node & its contents after inspection.
(wget_queue_enqueue): fix: unnecessary allocation.
* libwget/http3.c (wget_http3_send_request): fix: free vector after
use.
(wget_http3_get_response): free full node after use.
(wget_http3_get_response_cb): new function.
* libwget/bytes.c (wget_byte_new): free bytes struct on error.
* include/wget/wget.h (wget_queue_free): remove unused function.
(wget_queue_free_node): new function.
(wget_queue_dequeue_transmitted_node): change return value.
(wget_queue_dequeue_data_node): change return value.
In addition, create new function wget_queue_free_node.
Introduce a new function that will free the node and its contents all at once.
Instead of reading it in wget_http3_send_request, we'd rather do it in
wget_http3_get_response. We do this to fit into wget2's flow, where
wget_http_get_response_cb is called to retrieve the response.
* wget_http3_get_response returns the data that the http3 client stream has read
* all fprintf converted into debug_printf and error_printf
* fixed issues mentioned in the thread
* defined local and remote info_addr in wget_quic_st as local
* removed _set_async function call as it was redundant
* if wget_ssl_quic_open fails, closed the socket
* implemented log_printf using wget_debug_vprintf
* called wget_printf_exit if gnutls_rnd fails
* checked the input value of handshake_read()
* guarded functions and headers in quic.c and net.c using WITH_NGTCP2
* used wget_debug_printf and wget_error_printf in quic.c
* removed handshake_completed_db and handshake_confirmed_cb
* removed connection_write and connection_read