emacs-bug-tracker
[Top][All Lists]
Advanced

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

[debbugs-tracker] bug#22966: closed (HTTPS with GnuTLS's 'session-record


From: GNU bug Tracking System
Subject: [debbugs-tracker] bug#22966: closed (HTTPS with GnuTLS's 'session-record-port' is inefficient)
Date: Tue, 15 Mar 2016 17:56:01 +0000

Your message dated Tue, 15 Mar 2016 18:55:44 +0100
with message-id <address@hidden>
and subject line Re: bug#22966: HTTPS with GnuTLS's 'session-record-port' is 
inefficient
has caused the debbugs.gnu.org bug report #22966,
regarding HTTPS with GnuTLS's 'session-record-port' is inefficient
to be marked as done.

(If you believe you have received this mail in error, please contact
address@hidden)


-- 
22966: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=22966
GNU Bug Tracking System
Contact address@hidden with problems
--- Begin Message --- Subject: HTTPS with GnuTLS's 'session-record-port' is inefficient Date: Wed, 09 Mar 2016 23:02:24 +0100 User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux)
(guix build download) uses ‘session-record-port’ from (gnutls), which
returns a port to conveniently write to/read from the TLS session’s
“record” layer.

The problem is that every write to the port, that is, every call to
‘write_to_session_record_port’ in the GnuTLS bindings, leads to the
creation of one “Application Data” packet.

For instance, when (web requests) writes an HTTP GET request, it roughly
does:

  (display "GET" port)
  (display " " port)
  (display uri port)
  (display "\n\r" port)
  …

it ends up creating a lot of small Application Data packets.  When
debugging is enabled in (guix build download), that translates to things
like:

  gnutls: [14594|5] REC[0x152c9c0]: Preparing Packet Application Data(23) with 
length: 1 and min pad: 0
  gnutls: [14594|9] ENC[0x152c9c0]: cipher: AES-128-GCM, MAC: AEAD, Epoch: 1
  gnutls: [14594|5] REC[0x152c9c0]: Sent Packet[4] Application Data(23) in 
epoch 1 and length: 30

Terribly suboptimal.

The difficulty is that the session record port doesn’t do any caching by
itself, and it shouldn’t, because it’s the application’s responsibility.
So we might have to do our own caching and/or use ‘record-send’ and
‘record-receive!’ instead of ‘session-record-port’.

Ludo’.



--- End Message ---
--- Begin Message --- Subject: Re: bug#22966: HTTPS with GnuTLS's 'session-record-port' is inefficient Date: Tue, 15 Mar 2016 18:55:44 +0100 User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux)
address@hidden (Ludovic Courtès) skribis:

> The problem is that every write to the port, that is, every call to
> ‘write_to_session_record_port’ in the GnuTLS bindings, leads to the
> creation of one “Application Data” packet.

Guix commit ec278439f3ff5dcd3d02c05099ba1724cc2459f1 works around it in
‘guix substitute’.

GnuTLS commit 0b1c136947878ccb600b4fa785ef257909104144 explains this in
the guile-gnutls manual.

I consider this bug closed.

Ludo’.


--- End Message ---

reply via email to

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