Re: [PATCH] pgarchives: Fix crash when receiving a request with an incorrect If-Modified-Since header

From: Magnus Hagander <magnus(at)hagander(dot)net>
To: Célestin Matte <celestin(dot)matte(at)cmatte(dot)me>
Cc: PostgreSQL WWW <pgsql-www(at)lists(dot)postgresql(dot)org>
Subject: Re: [PATCH] pgarchives: Fix crash when receiving a request with an incorrect If-Modified-Since header
Date: 2026-06-12 10:25:19
Message-ID: CABUevEw5vaGmCz-O5dFqmfszXO_aQPC=ggWSVh9WUqdgc6NepQ@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-www

On Fri, 12 Jun 2026 at 10:52, Célestin Matte <celestin(dot)matte(at)cmatte(dot)me>
wrote:

> Django crashes when receiving a request containing a If-Modified-Since
> header with an incorrect date:
>
>
> Traceback (most recent call last):
> File
> "/path/lib/python3.13/site-packages/django/core/handlers/exception.py",
> line 55, in inner
> response = get_response(request)
> ^^^^^^^^^^^^^^^^^^^^^
> File
> "/path/lib/python3.13/site-packages/django/core/handlers/base.py", line
> 197, in _get_response
> response = wrapped_callback(request, *callback_args,
> **callback_kwargs)
>
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> File "/path/archives/mailarchives/views.py", line 112, in __cache
> resp = fn(request, *_args, **_kwargs)
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> File "/path/archives/mailarchives/views.py", line 500, in message
> if ims >= newest:
> ^^^^^^^^^^^^^
>
> Exception Type: TypeError at /message-id/<redacted>
> Exception Value: '>=' not supported between instances of 'NoneType' and
> 'int'
>
>
> This patch adds a condition to avoid this.
>

Good catch. Applied. Thanks!

>
> (For some reason, archives on postgresql.org do NOT crash on this. Are
> headers filtered before reaching pgarchives there? When deploying upstream
> version of pgarchives locally, I do have this crash)
>

IMS in particular is handled by the cache. So the brwoser does IMS <-> the
cache, and then varnish does it independently <-> backend. And Varnish will
always create the correct headers. And since headers from the client are
never passed through to the backend, it doesn't show up there.

--
Magnus Hagander
Me: https://www.hagander.net/ <http://www.hagander.net/>
Work: https://www.redpill-linpro.com/ <http://www.redpill-linpro.com/>

In response to

Responses

Browse pgsql-www by date

  From Date Subject
Next Message Magnus Hagander 2026-06-12 15:01:14 Re: [PATCH] pglister: .gitlab-ci: move to Debian 13
Previous Message Célestin Matte 2026-06-12 09:46:33 [PATCH] pglister: .gitlab-ci: move to Debian 13