From: Fiona Ebner <f.ebner@proxmox.com>
To: Proxmox VE development discussion <pve-devel@lists.proxmox.com>
Subject: Re: [pve-devel] [PATCH pve-http-server v2 1/1] fix unexpected EOF for client when closing TLS session
Date: Tue, 8 Apr 2025 09:27:19 +0200 [thread overview]
Message-ID: <90bc6a8a-473c-4f3b-af49-603d2cdeacd2@proxmox.com> (raw)
In-Reply-To: <mailman.798.1741211145.293.pve-devel@lists.proxmox.com>
Am 05.03.25 um 22:45 schrieb Rob Rozestraten via pve-devel:
> When pve-http-server initiates the closure of a TLS session, it does not
> send a TLS close notify, resulting in an unexpected EOF error on systems
> with recent crypto policies. This can break functionality with other
> applications, such as Foreman[0].
>
> This behavior can be observed in the following cases:
>
> * client uses HTTP/1.0 (no keepalive; server closes connection)
> * client sends no data for 5 sec (timeout; server closes connection)
> * server responds with 400 (no keepalive; server closes connection)
>
> This patch sends the TLS close notify prior to socket teardown,
> resulting in clean closure of TLS connections and no client error.
>
> It also moves shutdown() to after the clearing of handlers. The reason
> for this is stoptls() must come before shutdown(), but it also triggers
> on_drain(), which calls client_do_disconnect() again. The extra call to
> client_do_disconnect() is avoided inside accept_connections() by commit
> f737984, but perhaps clearing the handlers prior to shutdown() will
> avoid it in all cases.
>
> [0]: https://github.com/theforeman/foreman_fog_proxmox/issues/325
>
I feel like the questions regarding blocking/missing client ack from
Fabian from v1 are not answered yet:
> If I read the docs right, this could block (would that be an issue here?) and could potentially destroy the handle (so that might need to be rechecked afterwards to prevent spurious warnings?)
>
> what happens if we initiate the teardown, and the client never acks it?
_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
next prev parent reply other threads:[~2025-04-08 7:28 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20250305214447.128975-1-admin@truthsolo.net>
2025-03-05 21:45 ` Rob Rozestraten via pve-devel
2025-04-07 19:49 ` [pve-devel] applied: " Thomas Lamprecht
2025-04-08 7:27 ` Fiona Ebner [this message]
2025-04-08 8:48 ` [pve-devel] " Fabian Grünbichler
2025-04-08 9:00 ` Fiona Ebner
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=90bc6a8a-473c-4f3b-af49-603d2cdeacd2@proxmox.com \
--to=f.ebner@proxmox.com \
--cc=pve-devel@lists.proxmox.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal