- 20 Feb, 2021 34 commits
-
-
Error outputs were piped to a temporary buffer that wasn’t read by anyone, making debugging hard because errors were completely silenced. By not explicitly redirecting stderr on proc_open, the subprocess inherits its parent stderr. Signed-off-by:
Lukas Fleischer <lfleischer@archlinux.org>
-
Only ttys have a terminal size. If we can’t obtain it, we’ll just use 80 as a sane default. Signed-off-by:
Lukas Fleischer <lfleischer@archlinux.org>
-
The existing notify.py script was grabbing entries regardless of user suspension. This has been modified to only send notifications to unsuspended users. This change was written as a solution to https://bugs.archlinux.org/task/65554 . Signed-off-by:
Kevin Morris <kevr.gtalk@gmail.com> Signed-off-by:
Lukas Fleischer <lfleischer@archlinux.org>
-
Newly supported API Version 6 modifies `type=search` for _by_ type `name-desc`: it now behaves the same as `name-desc` search through the https://aur.archlinux.org/packages/ search page. Search for packages containing the literal keyword `blah blah` AND `haha`: https://aur.archlinux.org/rpc/?v=6&type=search&arg="blah blah"%20haha Search for packages containing the literal keyword `abc 123`: https://aur.archlinux.org/rpc/?v=6&type=search&arg="abc 123" The following example searches for packages that contain `blah` AND `abc`: https://aur.archlinux.org/rpc/?v=6&type=search&arg=blah%20abc The legacy method still searches for packages that contain `blah abc`: https://aur.archlinux.org/rpc/?v=5&type=search&arg=blah%20abc https://aur.archlinux.org/rpc/?v=5&type=search&arg=blah%20abc API Version 6 is currently only considered during a `search` of `name-desc`. Note: This change was written as a solution to https://bugs.archlinux.org/task/49133 . PS: + Some spacing issues fixed in comments. Signed-off-by:
Kevin Morris <kevr.gtalk@gmail.com> Signed-off-by:
Lukas Fleischer <lfleischer@archlinux.org>
-
Signed-off-by:
Lukas Fleischer <lfleischer@archlinux.org>
-
Signed-off-by:
Lukas Fleischer <lfleischer@archlinux.org>
-
Signed-off-by:
Lukas Fleischer <lfleischer@archlinux.org>
-
As far as I can see, Keycloak ignores it entirely. I can login in as SSO user A, then disconnect from the SSO directly and reconnect as user B, but when I disconnect user A from AUR, Keycloak disconnects B even though AUR passed it an ID token for A. Signed-off-by:
Lukas Fleischer <lfleischer@archlinux.org>
-
Signed-off-by:
Lukas Fleischer <lfleischer@archlinux.org>
-
We’ll probably change the whole login page in the future, but this makes development easier. Signed-off-by:
Lukas Fleischer <lfleischer@archlinux.org>
-
We might reconsider it in the future. Signed-off-by:
Lukas Fleischer <lfleischer@archlinux.org>
-
Signed-off-by:
Lukas Fleischer <lfleischer@archlinux.org>
-
Only the core functionality is implemented here. See the TODOs. Signed-off-by:
Lukas Fleischer <lfleischer@archlinux.org>
-
Signed-off-by:
Lukas Fleischer <lfleischer@archlinux.org>
-
This column holds a user ID issed by the single sign-on provider. For Keycloak, it is an UUID. For more flexibility, we will be using a standardly-sized VARCHAR field. Signed-off-by:
Lukas Fleischer <lfleischer@archlinux.org>
-
The install method in Python’s gettext API aliases the translator’s gettext method to an application-global _(). We don’t use that anywhere, and it’s clear from aurweb’s Translator interface that we want to translate a piece of text without affecting any global namespace. Signed-off-by:
Lukas Fleischer <lfleischer@archlinux.org>
-
Signed-off-by:
Lukas Fleischer <lfleischer@archlinux.org>
-
Developers can go to /sso/login to get redirected to the SSO. On successful login, the ID token is displayed. Signed-off-by:
Lukas Fleischer <lfleischer@archlinux.org>
-
Signed-off-by:
Lukas Fleischer <lfleischer@archlinux.org>
-
Signed-off-by:
Lukas Fleischer <lfleischer@archlinux.org>
-
conf/config.dev’s purpose is to provide a lighter configuration template for developers, and split development-specific options off the default configuration file. Signed-off-by:
Lukas Fleischer <lfleischer@archlinux.org>
-
aurweb.spawn used to launch only PHP’s built-in server. Now it spawns a dummy FastAPI application too. Since both stacks spawn their own HTTP server, aurweb.spawn also spawns nginx as a reverse proxy to mount them under the same base URL, defined by aur_location in the configuration. Signed-off-by:
Lukas Fleischer <lfleischer@archlinux.org>
-
Signed-off-by:
Filipe Laíns <lains@archlinux.org> Signed-off-by:
Lukas Fleischer <lfleischer@archlinux.org>
-
Signed-off-by:
Filipe Laíns <lains@archlinux.org> Signed-off-by:
Lukas Fleischer <lfleischer@archlinux.org>
-
Signed-off-by:
Filipe Laíns <lains@archlinux.org> Signed-off-by:
Lukas Fleischer <lfleischer@archlinux.org>
-
Signed-off-by:
Filipe Laíns <lains@archlinux.org> Signed-off-by:
Lukas Fleischer <lfleischer@archlinux.org>
-
Signed-off-by:
Filipe Laíns <lains@archlinux.org> Signed-off-by:
Lukas Fleischer <lfleischer@archlinux.org>
-
We are are moving to Gitlab CI. Signed-off-by:
Filipe Laíns <lains@archlinux.org> Signed-off-by:
Lukas Fleischer <lfleischer@archlinux.org>
-
This program makes it easier for developers to spawn the PHP server since it fetches automatically what it needs from the configuration file, rather than having the user explicitly pass arguments to the php executable. When the setup gets more complicated as we introduce Python, aurweb.spawn will keep providing the same interface, while under the hood it is planned to support running multiple sub-processes. Its Python interface provides an way for the test suite to spawn the test server when it needs to perform HTTP requests to the test server. The current implementation is somewhat weak as it doesn’t detect when a child process dies, but this is not supposed to happen often, and it is only meant for aurweb developers. In the long term, aurweb.spawn will eventually become obsolete, and replaced by Docker or Flask’s tools. Signed-off-by:
Lukas Fleischer <lfleischer@archlinux.org>
-
Signed-off-by:
Filipe Laíns <lains@archlinux.org> Signed-off-by:
Lukas Fleischer <lfleischer@archlinux.org>
-
Signed-off-by:
Filipe Laíns <lains@archlinux.org> Signed-off-by:
Lukas Fleischer <lfleischer@archlinux.org>
-
Signed-off-by:
Eli Schwartz <eschwartz@archlinux.org> Signed-off-by:
Lukas Fleischer <lfleischer@archlinux.org>
-
We usually guard such queries and have both mysql and sqlite branches. But I have not implemented the sqlite branch. Given sqlite is typically used for local dev setups, the fact that "users with more than the configured max simultaneous logins" can avoid getting some logins annulled is probably not a huge risk. And this always *used* to fail on sqlite, silently. Now, in php 8, it raises PDOException, which prevents running the test server Document this as a FIXME for now, until someone reimplements the query for sqlite. Signed-off-by:
Eli Schwartz <eschwartz@archlinux.org> Signed-off-by:
Lukas Fleischer <lfleischer@archlinux.org>
-
Due to missing whitespace at the end of strings during joining, we ended up with the query fragment "DelTS IS NULLAND NOT PinnedTS" which should be "DelTS IS NULL AND NOT PinnedTS" So the check for pinned comments > 5 likely always failed. In php 7, a completely broken query that raises exceptions in the database engine was silently ignored... in php 8, it raises Uncaught PDOException: SQLSTATE[HY000]: General error: 1 near "PinnedTS": syntax error in <file> and aborts the page building. End result: users with permission to pin comments cannot see any comments, or indeed page content below the first comment header Signed-off-by:
Eli Schwartz <eschwartz@archlinux.org> Signed-off-by:
Lukas Fleischer <lfleischer@archlinux.org>
-
- 14 Oct, 2020 1 commit
-
-
Signed-off-by:
Lukas Fleischer <lfleischer@archlinux.org>
-
- 05 Sep, 2020 1 commit
-
-
The current package search query is quite poorly optimized and becomes a resource hog when the offsets gets large enough. This DoSes the service. A quick fix is to just ensure we have some limit to the number of hits we return. The current hardcoding of 2500 is based on the following: * 250 hits per page max * 10 pages We can maybe consider having it lower, but it seems easier to just have this a multiple of 250 in the first iteration. Signed-off-by:
Morten Linderud <morten@linderud.pw> Signed-off-by:
Lukas Fleischer <lfleischer@archlinux.org>
-
- 27 Aug, 2020 1 commit
-
-
Lukas Fleischer authored
When using the sendmail() function with smtplib.SMTP or smtplib.SMTP_SSL, the list of actual recipients for the email (to be translated to RCPT commands) has to be provided as a parameter. Update the notification script and add all Cc recipients to that parameter. Signed-off-by:
Lukas Fleischer <lfleischer@archlinux.org>
-
- 26 Aug, 2020 1 commit
-
-
After f7a57c82 (Localize notification emails, 2018-05-17), the server.sendmail line was not updated to now send the to the email address but instead sends to (email, 'en') and as sendmail accepts an iterable an email is also send to 'en'. Signed-off-by:
Lukas Fleischer <lfleischer@archlinux.org>
-
- 05 Apr, 2020 2 commits
-
-
Lukas Fleischer authored
Signed-off-by:
Lukas Fleischer <lfleischer@archlinux.org>
-
Lukas Fleischer authored
Signed-off-by:
Lukas Fleischer <lfleischer@archlinux.org>
-