Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1w3lWl-001WiB-2z for pgsql-www@arkaria.postgresql.org; Sat, 21 Mar 2026 01:53:24 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1w3lWi-008dKu-1U for pgsql-www@arkaria.postgresql.org; Sat, 21 Mar 2026 01:53:20 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1w3lWh-008dKm-2B for pgsql-www@lists.postgresql.org; Sat, 21 Mar 2026 01:53:20 +0000 Received: from fout-b6-smtp.messagingengine.com ([202.12.124.149]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.98.2) (envelope-from ) id 1w3lWf-00000000FyH-3V1x for pgsql-www@lists.postgresql.org; Sat, 21 Mar 2026 01:53:18 +0000 Received: from phl-compute-03.internal (phl-compute-03.internal [10.202.2.43]) by mailfout.stl.internal (Postfix) with ESMTP id 94D2A1D00113; Fri, 20 Mar 2026 21:53:16 -0400 (EDT) Received: from phl-imap-17 ([10.202.2.105]) by phl-compute-03.internal (MEProxy); Fri, 20 Mar 2026 21:53:16 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bonatak.is; h=cc :cc:content-type:content-type:date:date:from:from:in-reply-to :in-reply-to:message-id:mime-version:references:reply-to:subject :subject:to:to; s=fm1; t=1774057996; x=1774144396; bh=swxyt9+eHK 1uvt0XOtSiO69fvhx/wtAifacbK0c0gWg=; b=NXpScwASsfS1ymfIF1CNSR/MTo zLqMUU/hdDPto/KAkzqGwSvT8GNXam6sWx43+T8DVje1YcHLvG0pAwopl2fAiRqx QW1jkFuPYfTGnvz42qzRopszP0qTd4DdDLgkF1B3PFyZTSdzXRMiZbscomhk+AKl C9ZkQmH9BICayvjzpRyxaLSoYrYsWaQpwM9A3HC/ZD/Y+F7Z03BMbMRY2/e+55Uu WmsRDTEbmzHBatd7Mcfz74qvG4j8qyAl9LtOYvv0RGEs2Fj5ZurinneR/RqIgmNk dBOvnauiT6JE5DAzptF/eQSzt2Wf2WomyzO8AWxLQ3b/muNftXIodJeYt10w== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-type:content-type:date:date :feedback-id:feedback-id:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:subject:subject:to :to:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t= 1774057996; x=1774144396; bh=swxyt9+eHK1uvt0XOtSiO69fvhx/wtAifac bK0c0gWg=; b=lFdSxT5e+XHbqVypT6Df8hGt/+ZnFmKqhRAw8jZpt0Vmyxi5pjM KdtqGc+R3XraCaB6JDE7Hw5m02y3pJgYJDmZnZ/VCG4Mtjci7PHRxRDq3ByWyFrT sLD/rcYba+76LOWhTTE1LDTL1zmTdN8ppPS7eKFBXfqZm47rxK20FRdDW1pSEVIU wejtmLyGuZeVxdd/WHJWb+R9/yArf0t2wPUFfErLOdsnsqpEpKddPLeZI25HIT7H 0uYR6RpbZE4G6lek5kwSghR5TFiSiKAU3Rwy74ObVX55YDLMXu53eVIExbV5yCZ2 S8RJSS2td2J/QdowU2Jrjq18SPVCo+yreJw== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefgedrtddtgdefudduheegucetufdoteggodetrf dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfurfetoffkrfgpnffqhgenuceu rghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujf gurhepofggfffhvfevkfgjfhfutgesrgdtreerredttdenucfhrhhomhepfdflrggtkhcu uehonhgrthgrkhhishdfuceojhgrtghksegsohhnrghtrghkrdhisheqnecuggftrfgrth htvghrnhepfeevffevgfdtheelueegtefhgffhieegvdegjefgvdefteehgeeludehueeu heejnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepjh grtghksegsohhnrghtrghkrdhishdpnhgspghrtghpthhtohepvddpmhhouggvpehsmhht phhouhhtpdhrtghpthhtohepmhgrghhnuhhssehhrghgrghnuggvrhdrnhgvthdprhgtph htthhopehpghhsqhhlqdiffiifsehlihhsthhsrdhpohhsthhgrhgvshhqlhdrohhrgh X-ME-Proxy: Feedback-ID: iecce486f:Fastmail Received: by mailuser.phl.internal (Postfix, from userid 501) id 5FAB4C40071; Fri, 20 Mar 2026 21:53:15 -0400 (EDT) X-Mailer: MessagingEngine.com Webmail Interface MIME-Version: 1.0 X-ThreadId: AojFM7c0GEcR Date: Fri, 20 Mar 2026 21:51:32 -0400 From: "Jack Bonatakis" To: "Magnus Hagander" Cc: pgsql-www@lists.postgresql.org Message-Id: <8448e79d-3359-4c83-9913-0812df7b5a8a@app.fastmail.com> In-Reply-To: References: <4aec458a-547d-42c5-9576-5f105694b035@app.fastmail.com> Subject: Re: Unable to log out of postgresql.org Content-Type: multipart/alternative; boundary=7b1863c5b32147fda517b27cc01c1a10 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --7b1863c5b32147fda517b27cc01c1a10 Content-Type: text/plain Content-Transfer-Encoding: 7bit On Fri, Mar 20, 2026, at 2:26 PM, Magnus Hagander wrote: > Nice spot. > > However, this fix won't work. Putting a csrf token on every page is incompatible with the caching system we have in place. > > One way to fix it would be to just allow logout GET again (I think this got broken on a django upgrade where it wasn't tested). But maybe the better way to fix it would be to have the logout link go to a page with a POST form on it, and have that form do what the GET link does now. I assume the GET is blocked because otherwise someone could trick a user, or redirect them, to the logout URL and they get logged out. I'm not sure how realistic or how big of a problem that is, but getting rid of it would not hurt... > > Would you be interested in working on a patch for that as well? > > //Magnus Ah interesting. Yeah, it looks to be a change new with Django 5. I'll have to take a closer look at the existing caching system, but yes I'd be happy to work on an alternative to my patch above. Your proposal seems reasonable and might be the way to go. Jack --7b1863c5b32147fda517b27cc01c1a10 Content-Type: text/html Content-Transfer-Encoding: quoted-printable
On Fri, Mar = 20, 2026, at 2:26 PM, Magnus Hagander wrote:
Nice spot.

However, this fix won't work. Putting= a csrf token on every page is incompatible with the caching system we h= ave in place.

One way to fix it would be to jus= t allow logout GET again (I think this got broken on a django upgrade wh= ere it wasn't tested). But maybe the better way to fix it would be to ha= ve the logout link go to a page with a POST form on it, and have that fo= rm do what the GET link does now. I assume the GET is blocked becau= se otherwise someone could trick a user, or redirect them, to the logout= URL and they get logged out. I'm not sure how realistic or how big of a= problem that is, but getting rid of it would not hurt...

=
Would you be interested in working on a patch for that a= s well?

//Magnus

Ah interesting. Yeah, it looks to be a change new with= Django 5. I'll have to take a closer look at the existing caching syste= m, but yes I'd be happy to work on an alternative to my patch above. You= r proposal seems reasonable and might be the way to go.
Jack 
--7b1863c5b32147fda517b27cc01c1a10--