summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2025-06-16Update to community auth v3HEADmasterMagnus Hagander
2025-06-16Add subscriber_access field to schema.sqlMagnus Hagander
There is still a weird mix between what's in migrations and what's in schema.sql, but at least they should try to be mostly in sync. Author: Jelte Fennema-Nio <github-tech@jeltef.nl>
2025-06-16Allow passing filenames to --mbox that contain parenthesesJelte Fennema-Nio
Without this you would get an error like this: Failed to parse mbox: b'/bin/sh: 1: Syntax error: "(" unexpected\n' This especially matters when loading files downloaded with a browser, since those often contain (1) or (2) if a file with the same name was downloaded earlier.
2025-06-16Round of since/ and before/ URLs to whole daysMagnus Hagander
Previously we'd generate links for each individual email, when clicking the link on the emails. This generates a huge number of URLs that contain basically the same thing, which has an adverse effect on both caching and (stupid) bots. So round it off to even days which puts at least some level of a cap on it. Also, when a hit comes in that specifies the full hour, redirect it back to the rounded-off value.
2025-06-16Rewrite javascript snippets to be native javascript instead of jqueryMagnus Hagander
Unfortunately at this time we still cannot drop the jquery dependency as it's needed by the menubar from bootstrap.
2025-06-16Make antispam-protected links also be javascript-triggeredMagnus Hagander
This makes a tiny javascript run to convert it into a POST and then receive that POST. The idea behind this is to remove the links from view of crawlers (hello AI bots!) that completely ignore robots.txt, causing lots of redirect chains on account of logins. We still allow GET requests on those endpoints, as there are external links pointing to them as well as people having scripts. But those are at least to fewer emails than all.
2024-09-24Accept a Message-ID contained in < > charactersJelte Fennema-Nio
At least GMail will show the Message-ID including the < > characters.
2024-04-11Update to support django 4.2Magnus Hagander
2023-08-19Temporary remove Slack linkJonathan S. Katz
This was missed when pgweb@8b420bfd4 was added. Reported-by: Sehrope Sarkuni <sehrope@jackdb.com>
2023-06-07Sync up to latest version of pgweb auth pluginMagnus Hagander
2023-05-16Set a http header indicating which message an attachment came fromMagnus Hagander
When an attachment is downloaded, add the http header X-attached-to-message with the message-id of the message that the attachment belongs to.
2023-04-11Add JIS encodings to message loadingCélestin Matte
2023-03-23Replace reference to pep8 with pycodestyleMagnus Hagander
pep8 has been a deprecated name for a long time...
2023-03-23Fix typoCélestin Matte
2022-12-19Set rel=nofollow on link to "infinite" pagesMagnus Hagander
2022-07-15Use as_bytes() instead of as_string() to generate mboxMagnus Hagander
We're supposed to feed django bytes, and by feeding it a string it got converted bytes->string by the mail end and then string->bytes by django. Which promptly blew up on bad encodings. By keeping it as bytes all the way, the problem is ignored.
2022-06-20Switch to using community authentication for downloading raw messagesMagnus Hagander
Too many browsers have changed the wrong way and doesn't actually prompt people properly, which means they try to log in with a bunch of random things, none of them being "archives/antispam". So instead, send them off to do a community login, now that we have support for this (which was added when we added message re-sending). If the request comes in with the authentication header already on it and it being a valid archives/antispam combination, keep allowing that so we don't break scripts and plugins that we don't have to break.
2022-04-01Fix bytes/str handling of secondary text parts in messagesMagnus Hagander
This was broken in the python 2->3 migration, but is apparently an uncommon enough case that it wasn't properly spotted until now. Reported and pointers in the right direction from Andres Freund
2022-01-30Ensure pglister_sync includes a value for subscriber_accessMagnus Hagander
This has a default=False set in the django model, but django does not propagate that into the database which would cause the insert of new lists to fail with a not-null-violation. Spotted by Célestin Matte
2022-01-15Fix default authentication configurationCélestin Matte
Add the required authentication backend configuration and include an example for how to set up the pgauth plugin.
2022-01-15Allow configuration of upstream pgweb addressMagnus Hagander
Search forms currently point to the hardcoded address of www.postgresql.org. Add a parameter in the settings to make it possible to configure the domain hosting the /search/ function. Originally from Célestin Matte, but in the end not his patch
2021-11-30Allow use of IP ranges for API_CLIENTSCélestin Matte
2021-11-24Add pglister section in archives.ini.sampleCélestin Matte
This section is expected by pglister_sync.py but missing from the sample file
2021-11-07Add DEFAULT_AUTO_FIELD for Django 3.2Magnus Hagander
2021-11-04Fix ancient error fromt he 2to3 conversionMagnus Hagander
Spotted by Célestin Matte
2021-10-27Allow use of IP ranges for SEARCH_CLIENTSCélestin Matte
Allows the use of IP ranges in CIDR format in the SEARCH_CLIENTS parameter. Individual addresses can still be specified and continue to work like before.
2021-10-23Clean up accidentally commited filesMagnus Hagander
Back in 2018, commit 4d159ca accidentally included unrelated functionality which was not completed. This causes the database to be out of sync with the models defined in the code. This commit reverts those parts that were not supposed to be included and leaves the changes that actually were. The code can be re-added once completed... Spotted by Célestin Matte
2021-05-24Properly quote URL in link to resend an emailMagnus Hagander
The lack of this would result in a 404 for any users who clicked a resend link when (1) they were not logged in, and (2) the messageid cotnained a plus character. This would then end up getting unescaped one too many times in the authentication flow and came out as a space on the other end instead of a plus. Reported by Justin Pryzby (and several others, but Justin was persistant in tracking down good examples)
2021-03-02Replace @postgresql.org with @lists.postgresqql.orgMagnus Hagander
When suggesting which lists people should use first, we should use the recommended name for the list.
2021-02-26Add EOT format of fa fontsMagnus Hagander
This was done in pgweb at a0583746, but should be done here as well to serve the browsers with what they primarily ask for.
2021-01-08Do not set fixed width for thread selector dropdown boxJonathan S. Katz
There were cases that the fixed width for this box would cause the thread selector to explode outside of the email header table in the thread viewer. We should keep the select dropdown itself to the width of the overall list of email addresses in the chain.
2020-11-02Fix description of systemd service in templateMagnus Hagander
2020-10-29Properly quote URL for login redirect in private archivesMagnus Hagander
Without the proper quoting, having a + sign in a message-id would get unquoted to a space before sending the user off to the community authentication, which in turn would then redirect back to the incorrect url. Reported by Noah Misch
2020-10-21Use article:author instead of og:article:authorMagnus Hagander
The specification is a bit unclear on which it should be and completely unclear about what should go in the field, but at least it seems most implementations use article:author rather than og:article:author, so try changing it. Also change og:published_time to be article:published_time.
2020-10-21Add opengraph metatags to messagesMagnus Hagander
This makes for nicer "previews" on for example twitter when posting links. Suggested by Andres Freund
2020-08-11Update to latest version of community auth pluginMagnus Hagander
This includes support for receiving updates through the push api.
2020-08-11Remove unused importMagnus Hagander
2020-08-11Updaate regexp escaping syntax to please pep8Magnus Hagander
2020-08-11Update exception catching syntax to please pep8Magnus Hagander
2020-07-15Improvements to main lists pageStephen Frost
Rename title above Tips to be about Tips, add paragraph talking about how to Unsubscribe.
2020-06-02Update reference to Archives PolicyJonathan S. Katz
This was pointing to the Wiki page, which was pointing to a different page on .org
2020-06-01Support overwriting messages in load_messages.pyMagnus Hagander
Previously overwriting was only allowed from reparse_messages.py, in which case it would only reparse the existing message. For the usecase of overwriting the raw contents and then also reparsing the result, the --overwrite switch can now be passed to load_messages.py.
2020-04-14Extra quote the url from 'next' in authenticationMagnus Hagander
If the next URL contained a + django would helpfully change that into a space, which broke things further down the chain. So put back this escaping, in the hope that the redirect will be correct down the road. This fixes is for spaces, let's hope it doesn't instead break it for something else.
2020-04-03Fix rendering of attachments and raw messagesMagnus Hagander
It seems older django implicitly added a bytes() around bytea fields returned from psycopg2. The actual change happened around the python3 move, but django painted over the differences so we didn't realize it needed to be changed.
2020-04-01Update middleware and config for Django 2.2Magnus Hagander
2020-04-01is_authenticated is no longer a callable in newer DjangoMagnus Hagander
2020-04-01Use OneToOne field for unique Foreign KeyMagnus Hagander
2020-04-01Mark all ForeignKeys as on_delete=CASCADEMagnus Hagander
2020-03-30Set a timeout for sendinv Varnish purge requestsMagnus Hagander
Timeout error is better than hanging forever. Set a timeout for 30 seconds which is with a big margin longer than should ever be needed.
2020-01-29Fix logging of load errorsMagnus Hagander
Broken in python3 migration, shows how often we have load errors these days.