| 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/>
| 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 |