Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Reduce code repetition and remove fake authentication | Runxi Yu | 2024-10-11 | 1 | -28/+0 |
| | |||||
* | *.go: Use wrapError() for brevity | Runxi Yu | 2024-10-11 | 1 | -20/+3 |
| | |||||
* | Implement course selection started/stopped states | Runxi Yu | 2024-10-10 | 1 | -0/+10 |
| | | | | Implements: https://todo.sr.ht/~runxiyu/cca/13 | ||||
* | *.go: Update comments | Runxi Yu | 2024-10-09 | 1 | -3/+3 |
| | |||||
* | err.go: Create, and unify some error definitions | Runxi Yu | 2024-10-08 | 1 | -9/+0 |
| | |||||
* | Reapply "{config,wsc}.go, cca.scfg.example: Dynamic course update delay" | Runxi Yu | 2024-10-07 | 1 | -13/+16 |
| | | | | This reverts commit 831040c3d7dbc116a25848786bc5ab83fef6149b. | ||||
* | Revert "{config,wsc}.go, cca.scfg.example: Dynamic course update delay" | Runxi Yu | 2024-10-07 | 1 | -16/+13 |
| | | | | This reverts commit de3f0b9e7003e4521f5ea866134e77ff859ab99b. | ||||
* | {config,wsm}.go, cca.scfg.example: Configurable immediate propagation | Runxi Yu | 2024-10-06 | 1 | -4/+14 |
| | |||||
* | *.go: Limit to approximately 80 characters per line | Runxi Yu | 2024-10-06 | 1 | -11/+45 |
| | |||||
* | {config,wsc}.go, cca.scfg.example: Dynamic course update delay | Runxi Yu | 2024-10-06 | 1 | -11/+11 |
| | |||||
* | *: Overhaul structure again and embed everything | Runxi Yu | 2024-10-06 | 1 | -0/+263 |
| | | | | | | | | - Remove sub-Makefiles; recursive make is annoying - Just use one top-level Makefile that builds everything - Embed templates and minified static resources into the binary - Embed all compiled documentation into the binary and serve - Embed all source into the binary and serve | ||||
* | *.go: Move to backend | Runxi Yu | 2024-10-05 | 1 | -284/+0 |
| | | | | And adjust Makefiles, admin handbook, and lint.sh accordingly. | ||||
* | {config,main}.go: Enhance configuration file processing | Runxi Yu | 2024-10-05 | 1 | -7/+117 |
| | | | | Implements: https://todo.sr.ht/~runxiyu/cca/5 | ||||
* | {config,ws}.go, cca.scfg.example: Add perf.course_update_interval | Runxi Yu | 2024-10-05 | 1 | -6/+9 |
| | | | | | | This causes a drastic increase in performance. References: https://todo.sr.ht/~runxiyu/cca/7 | ||||
* | {config,ws}.go, cca.scfg.example: Remove chanPool/SendQ | Runxi Yu | 2024-10-05 | 1 | -3/+0 |
| | |||||
* | config.go: Emit warning when fake auth is enabled | Runxi Yu | 2024-10-05 | 1 | -0/+2 |
| | |||||
* | config.go: Return errors instead of panicing on auth.fake issues | Runxi Yu | 2024-10-04 | 1 | -3/+11 |
| | |||||
* | {config,main}.go, cca.scfg.example: Settable static path | Runxi Yu | 2024-10-04 | 1 | -2/+2 |
| | | | | | | | | | Because of the poor performance of using NGINX as a reverse proxy, I've added native TLS in commit 4a1a7af76408e956ebc343bf28960fdd00c00c58. Serving static files was already supported, but it was expected that people use a static web server to do so, so we didn't support a configurable static path. Now since reverse proxy setups are discouraged, it makes more sense to be better at serving static files. | ||||
* | {config,main}.go, cca.scfg.example: Support TLS | Runxi Yu | 2024-10-04 | 1 | -0/+15 |
| | |||||
* | {config,ws}.go, cca.scfg.example: Allow same-user fake auth | Runxi Yu | 2024-10-03 | 1 | -3/+15 |
| | | | | This is useful for testing whether connection collisions work well. | ||||
* | {config,ws}.go, cca.scfg.example: Add fake auth support | Runxi Yu | 2024-10-02 | 1 | -0/+3 |
| | | | | | Fake authentication is useful when benchmarking the server with an external program without going insane with the OpenID Connect forms. | ||||
* | {config,index}.go, cca.scfg.example, style.css, *.html: Link to source | Runxi Yu | 2024-09-30 | 1 | -0/+3 |
| | |||||
* | *: Change license to AGPL-3.0-or-later | Runxi Yu | 2024-09-30 | 1 | -21/+11 |
| | |||||
* | auth.go, config.go, cca.scfg.example: Issue expiring cookies | Runxi Yu | 2024-09-30 | 1 | -0/+3 |
| | |||||
* | ws.go, config.go, config.scfg.example: Attempt to fix deadlock | Runxi Yu | 2024-09-29 | 1 | -0/+3 |
| | | | | | | | When propagate tries to propagate a message to a connection that actually called propagate, it deadlocks because the it tries to send to that connection's send channel in the same goroutine. This is an attempt at a fix. | ||||
* | courses.go, etc: Make courses a map instead of a slice | Runxi Yu | 2024-09-26 | 1 | -3/+0 |
| | | | | | We need to refer to courses by their ID, and a map makes significantly more sense than a slice. | ||||
* | *.go, cca.scfg.example: Expose performance options | Runxi Yu | 2024-09-26 | 1 | -0/+16 |
| | |||||
* | *.go: Wrap errors | Runxi Yu | 2024-09-26 | 1 | -2/+3 |
| | |||||
* | *.go: Linting | Runxi Yu | 2024-09-24 | 1 | -7/+7 |
| | |||||
* | *.go: Add comments | Runxi Yu | 2024-09-09 | 1 | -4/+8 |
| | |||||
* | *: Call Graph API for department information | Runxi Yu | 2024-09-07 | 1 | -0/+6 |
| | | | | | | | | | | | | I am using a hybrid flow with "id_token" for OpenID Connect and "code" for an Authorization Code. I would use "token" too but that doesn't seem to be supported for standard web-apps and could result in strange session-hijacking issues. We still need PKCE sometime in the future; however it's not a priority: the worst attack someone could pull off is to use a different user's Authorization Code and steal a Department, which probably isn't too big of a deal as the Authorization Code should be secret anyways. | ||||
* | *: Basic authentication and templates | Runxi Yu | 2024-09-07 | 1 | -0/+111 |
These are imported from FBFP and slightly modified to be specific to YKPS (while not being hard to port to other environments that use APIs that use OAUTH 2.0). Some code is also simplified. Database code still needs an audit, and things are not tested yet. |