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 1wckpy-003bEn-0J for pgsql-www@arkaria.postgresql.org; Thu, 25 Jun 2026 14:13:50 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wckpx-006JWQ-01 for pgsql-www@arkaria.postgresql.org; Thu, 25 Jun 2026 14:13:49 +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 1wcPGI-001K87-0V for pgsql-www@lists.postgresql.org; Wed, 24 Jun 2026 15:11:34 +0000 Received: from fout-a3-smtp.messagingengine.com ([103.168.172.146]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.98.2) (envelope-from ) id 1wcPGG-000000002TT-0pwg for pgsql-www@lists.postgresql.org; Wed, 24 Jun 2026 15:11:33 +0000 Received: from phl-compute-04.internal (phl-compute-04.internal [10.202.2.44]) by mailfout.phl.internal (Postfix) with ESMTP id E339FEC013B for ; Wed, 24 Jun 2026 11:11:30 -0400 (EDT) Received: from phl-imap-04 ([10.202.2.82]) by phl-compute-04.internal (MEProxy); Wed, 24 Jun 2026 11:11:30 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kevinrocker.com; h=cc:content-type:content-type:date:date:from:from:in-reply-to :message-id:mime-version:reply-to:subject:subject:to:to; s=fm1; t=1782313890; x=1782400290; bh=JtdJNIEYMu2U/H1nTUnh1RD7rZvyPKcD B2u/qMSyMDY=; b=eQt9wEvY+Crw+Bu2egVCMNTdh7C4KadUCvqCAgTjJZ0sx87n s0PxTYQ8ghG0KP4rdiGJIRqw386vmG82oTUTHd1L7TAlj7ADN3Ko0I2YC5T6bDyD TJQtTMCq4GYLKmpHapsfwh/c6h3wMDh1d4POmdXfhPfdnRNz5cbhdAu+34W/kw0Z 3qbon31d+hQzWt4LNEXaCdcNp6oVHdsca7apXkapTtvAdkdO4p2PdN/3aaQsrX7T B7KZj+TBlazVBkKLJKUZglUZ+ywe84E0i7VTQS6weYIZeNdtSgJ1ISCXuhLigWNW vCt2C/+32KkJidsTVjOBPsjVqtvKqv+XRroC5A== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:content-type:date:date :feedback-id:feedback-id:from:from:in-reply-to:message-id :mime-version:reply-to:subject:subject:to:to:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1782313890; x= 1782400290; bh=JtdJNIEYMu2U/H1nTUnh1RD7rZvyPKcDB2u/qMSyMDY=; b=W AFQNTTRx/gmNX8h0TTzngeIz1gBYEZOECL+06vi+njpOVSV6Eq8ElWhPRTxMzL14 hLLBnUULNxfqEf5A+/oDgIlwaS8CajVGdZxlM8gDdG9nLYf4khmWuqjGiAxUX/uu xjm7qyhV82dsQv17OjDCyHeF6ove6zIlzl5oneyBCyS5FLN1JheH6/boLIPQG6rL l2jHSwgQpgQgzsEfw9ooqmnnHVwLV78DXmed44KThfae/lvS8AOrbwlPj0mOD3KJ C6Xc/CuhPz0L7sQpLW4+4BrQqEmR9iC1Jk9VF7niTDOai/ziw2sEu76Rxkn8bgHq zzcIyf6VTPeTykH8xVfvw== X-ME-Sender: X-ME-Proxy-Cause: dmFkZTEcp9g2W8qe7yfb5InsH0twJURVzd9pdU8YEYOf2EXwAZ8mC6YUq5R8qx1pap2Ciq 72BOEnlp3cgPU2JsV7VRI/v21jQMVyZjq21qhNMroTZRoyHmPs59gLY6P1Y6nZ/KHTQXsP GTh+OlkTg+ExTsI/q7bvIoeTWbWzPPRmK5vvYm/M4q5IYlhi48dzikrK0NPdkym5BavmA8 1IoPNF/e91ZfnVFO9Tpy6ETDk1qRMY2v6+ZYsKA3qQcbFN3t/Eb0NPd8v0ZYA9mTXzgAPA pmth1d/8sAsBySKQCasICwef/ObxqxCEIxwKngw6DqSgwR2IhUGIMiFw/g8d9XJ/rzveE2 zFegQj0I0zX4vdiiOemPKwVXVvMTw/XfVCl6TGwUjxBYGM7Nov/9UzAyBU0gabS0IOuW/O HQ2CoCR47Mm8qb+G5CKdG4uDwvenonoovQkOGrkyrjGqJ8DJANm99koSAVTGBMw/VitnLG d+fnRqZk3uMKJL4uXtNxGBO4YEVBGQ8GEDIhqXFqwWbRtC8kSEUScv4af9ba8xm5Q1ZGRd 6Zn6IcE/p/eOBbr/N6NbxeImrajCBy2kR52lVJjvm4aZ9EEFBjlgOSTm6/5jzgS9Wo3Wmm 2hRdV5msSqWUuEX0N7ID+sTIJK5UlW0KZcEIQ5u5yyU75n1eM2rAVsvw21sw X-ME-Proxy: Feedback-ID: i6fde480c:Fastmail Received: by mailuser.phl.internal (Postfix, from userid 501) id 95122B6006F; Wed, 24 Jun 2026 11:11:30 -0400 (EDT) X-Mailer: MessagingEngine.com Webmail Interface MIME-Version: 1.0 X-ThreadId: Ay2zo4AlLB0w Date: Wed, 24 Jun 2026 17:11:10 +0200 From: Kevin To: pgsql-www@lists.postgresql.org Message-Id: <88954350-a993-4f2e-8cc6-c7274237b1b8@app.fastmail.com> Subject: [PATCH] Disambiguate mbox download files Content-Type: multipart/mixed; boundary=80dc5720969ec2173b0ee3924fb79355f31b17aa List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --80dc5720969ec2173b0ee3924fb79355f31b17aa Content-Type: multipart/alternative; boundary=0dbe61ead045a5e2d99c26f018bc4e0806016bdd --0dbe61ead045a5e2d99c26f018bc4e0806016bdd Content-Type: text/plain Content-Transfer-Encoding: 7bit The mailing list monthly archives were all downloading with the same filename, just "psql-hackers.mbox", which turned into "psql-hackers(1).mbox", "psql-hackers(2).mbox", etc. This patch sets the `Content-Disposition` header to a filename that includes the list and the year/month. --0dbe61ead045a5e2d99c26f018bc4e0806016bdd Content-Type: text/html Content-Transfer-Encoding: 7bit
The mailing list monthly archives were all downloading with the same filename, just "psql-hackers.mbox", which turned into "psql-hackers(1).mbox", "psql-hackers(2).mbox", etc.

This patch sets the `Content-Disposition` header to a filename that includes the list and the year/month.
--0dbe61ead045a5e2d99c26f018bc4e0806016bdd-- --80dc5720969ec2173b0ee3924fb79355f31b17aa Content-Disposition: attachment; filename*0="0001-Serve-per-month-mbox-downloads-with-a-unique-filenam.pat"; filename*1="ch" Content-Type: text/x-patch; name="=?UTF-8?Q?0001-Serve-per-month-mbox-downloads-with-a-unique-filenam.patc?= =?UTF-8?Q?h?=" Content-Transfer-Encoding: base64 RnJvbSBjOWEyZDE0ZWQ3ODRhNDM5Y2ZkYWQwYTIzMmE2MTFhNDM2Yzc3OTQwIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBLZXZpbiBSb2NrZXIgPG1lQGtldmlucm9ja2VyLmNv bT4KRGF0ZTogV2VkLCAyNCBKdW4gMjAyNiAxNToyNToyMSArMDIwMApTdWJqZWN0OiBbUEFU Q0hdIFNlcnZlIHBlci1tb250aCBtYm94IGRvd25sb2FkcyB3aXRoIGEgdW5pcXVlIGZpbGVu YW1lCgpUaGUgbW9udGhseSBtYm94IGRvd25sb2FkIHZpZXcgc3RyZWFtZWQgcmVzcG9uc2Vz IHdpdGggb25seSBhCkNvbnRlbnQtdHlwZSBoZWFkZXIgYW5kIG5vIENvbnRlbnQtRGlzcG9z aXRpb24sIHNvIGJyb3dzZXJzIGRlcml2ZWQgdGhlCnNhdmVkIGZpbGVuYW1lIGZyb20gdGhl IFVSTC4gRXZlcnkgbW9udGggb2YgYSBsaXN0IHNoYXJlcyB0aGUgc2FtZSBuYW1lCmJhciB0 aGUgZXh0ZW5zaW9uLCBzbyBkb3dubG9hZGluZyBzZXZlcmFsIG1vbnRocyBwcm9kdWNlZApw Z3NxbC1oYWNrZXJzLm1ib3gsIHBnc3FsLWhhY2tlcnMoMSkubWJveCwgLi4uIHJhdGhlciB0 aGFuIGRpc3RpbmN0LAppZGVudGlmaWFibGUgZmlsZXMuCgpBZGQgYW4gb3B0aW9uYWwgZmls ZW5hbWUgYXJndW1lbnQgdG8gX2J1aWxkX21ib3goKSB0aGF0IGVtaXRzIGEKQ29udGVudC1E aXNwb3NpdGlvbjogYXR0YWNobWVudCBoZWFkZXIsIGFuZCBoYXZlIHRoZSBwZXItbW9udGgg bWJveCgpCnZpZXcgcGFzcyBsaXN0bmFtZS5ZWVlZTU0ubWJveCAobWF0Y2hpbmcgdGhlIGV4 aXN0aW5nIFVSTCBzY2hlbWUpLCBzbwplYWNoIG1vbnRoIGRvd25sb2FkcyB1bmRlciBhIGRp c3RpbmN0LCBkZXNjcmlwdGl2ZSBuYW1lLgotLS0KIGRqYW5nby9hcmNoaXZlcy9tYWlsYXJj aGl2ZXMvdmlld3MucHkgfCAxMCArKysrKysrKy0tCiAxIGZpbGUgY2hhbmdlZCwgOCBpbnNl cnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RqYW5nby9hcmNoaXZl cy9tYWlsYXJjaGl2ZXMvdmlld3MucHkgYi9kamFuZ28vYXJjaGl2ZXMvbWFpbGFyY2hpdmVz L3ZpZXdzLnB5CmluZGV4IDVkN2UzMjEuLmZiYzk3MzEgMTAwNjQ0Ci0tLSBhL2RqYW5nby9h cmNoaXZlcy9tYWlsYXJjaGl2ZXMvdmlld3MucHkKKysrIGIvZGphbmdvL2FyY2hpdmVzL21h aWxhcmNoaXZlcy92aWV3cy5weQpAQCAtNjc2LDcgKzY3Niw3IEBAIGRlZiBtZXNzYWdlX3Jh dyhyZXF1ZXN0LCBtc2dpZCk6CiAgICAgcmV0dXJuIHIKIAogCi1kZWYgX2J1aWxkX21ib3go cXVlcnksIHBhcmFtcywgbXNnaWQ9Tm9uZSk6CitkZWYgX2J1aWxkX21ib3gocXVlcnksIHBh cmFtcywgbXNnaWQ9Tm9uZSwgZmlsZW5hbWU9Tm9uZSk6CiAgICAgY29ubmVjdGlvbi5lbnN1 cmVfY29ubmVjdGlvbigpCiAKICAgICAjIFJhd21zZyBpcyBub3QgaW4gdGhlIGRqYW5nbyBt b2RlbCwgc28gd2UgaGF2ZSB0byBxdWVyeSBpdCBzZXBhcmF0ZWx5CkBAIC03MTAsNiArNzEw LDggQEAgZGVmIF9idWlsZF9tYm94KHF1ZXJ5LCBwYXJhbXMsIG1zZ2lkPU5vbmUpOgogCiAg ICAgciA9IFN0cmVhbWluZ0h0dHBSZXNwb25zZShfbWVzc2FnZV9zdHJlYW0oZmlyc3Rtc2cp KQogICAgIHJbJ0NvbnRlbnQtdHlwZSddID0gJ2FwcGxpY2F0aW9uL21ib3gnCisgICAgaWYg ZmlsZW5hbWU6CisgICAgICAgIHJbJ0NvbnRlbnQtRGlzcG9zaXRpb24nXSA9ICdhdHRhY2ht ZW50OyBmaWxlbmFtZT0iJXMiJyAlIGZpbGVuYW1lCiAgICAgcmV0dXJuIHIKIAogCkBAIC03 NTUsNyArNzU3LDExIEBAIGRlZiBtYm94KHJlcXVlc3QsIGxpc3RuYW1lLCBsaXN0bmFtZTIs IG1ib3h5ZWFyLCBtYm94bW9udGgpOgogICAgIGVsc2U6CiAgICAgICAgICMgSnVzdCByZXR1 cm4gdGhlIHdob2xlIHRoaW5nCiAgICAgICAgIHF1ZXJ5ID0gcXVlcnkucmVwbGFjZSgnJSUl JywgJycpCi0gICAgcmV0dXJuIF9idWlsZF9tYm94KHF1ZXJ5LCBwYXJhbXMpCisgICAgIyBT ZXQgYSBwZXItbGlzdCwgcGVyLW1vbnRoIGZpbGVuYW1lIChtYXRjaGluZyB0aGUgVVJMIHNj aGVtZSwKKyAgICAjIGxpc3RuYW1lLllZWVlNTSkgc28gZG93bmxvYWRzIGRvbid0IGFsbCBj b2xsaWRlIG9uIHRoZSBzYW1lIG5hbWUuCisgICAgcmV0dXJuIF9idWlsZF9tYm94KAorICAg ICAgICBxdWVyeSwgcGFyYW1zLAorICAgICAgICBmaWxlbmFtZT0nJXMuJTA0ZCUwMmQubWJv eCcgJSAobGlzdG5hbWUsIG1ib3h5ZWFyLCBtYm94bW9udGgpKQogCiAKIEB0cmFuc2FjdGlv bi5hdG9taWMKLS0gCjIuNTQuMAoK --80dc5720969ec2173b0ee3924fb79355f31b17aa--