Skip to content

[pull] master from kevoreilly:master - #511

Merged
pull[bot] merged 4 commits into
threatcode:masterfrom
kevoreilly:master
Jul 30, 2026
Merged

[pull] master from kevoreilly:master#511
pull[bot] merged 4 commits into
threatcode:masterfrom
kevoreilly:master

Conversation

@pull

@pull pull Bot commented Jul 30, 2026

Copy link
Copy Markdown

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

wmetcalf and others added 4 commits July 27, 2026 12:03
…002)

guac_settings.py sets STATIC_ROOT = BASE_DIR/'static'. The commented
STATICFILES_DIRS example pointed at the same path; uncommenting it trips
Django's staticfiles.E002 (source dirs must not equal the collectstatic
destination). Replace the bare example with an explicit warning and a
safe alternative dir. Comment-only; no runtime change.
…CFILES_DIRS

The commented deployment example set STATIC_ROOT = os.getcwd()/'static', which
is the same path as STATICFILES_DIRS (web/static) in settings.py. Uncommenting
it for an NGINX deploy (DEBUG=False) makes the collectstatic destination equal a
source dir and trips Django's staticfiles.E002, breaking every system check
(runserver/collectstatic/etc.). Point the example at a separate dir
(static_collected) and document why source must not equal destination.
…ogin loop)

The guac-web HTTP views gated on stock login_required -> auth.get_user(), which
load_backend()s the exact auth backend the session was created with. guac-web
(web.guac_settings) deliberately does not install the allauth app stack, so an
OIDC/allauth session's backend is not in its AUTHENTICATION_BACKENDS and
get_user() returns AnonymousUser -- so every interactive live-VM console request
for an OIDC user (processing jobs only; completed jobs never open the console)
was redirected to the login page, even though the browser was authenticated on
the main web. Only local ModelBackend admins worked, masking it.

The websocket path already solved this with the backend-agnostic
resolve_session_user (guac/channels_auth.py); apply the same to the HTTP views
via a guac_login_required decorator (user id + session auth-hash check, no
load_backend). Redirect-to-login for genuinely anonymous sessions is unchanged.
Adds regression tests.
fix(guac): OIDC users bounced to login on the interactive console + staticfiles.E002 footguns
@pull pull Bot locked and limited conversation to collaborators Jul 30, 2026
@pull pull Bot added the ⤵️ pull label Jul 30, 2026
@pull
pull Bot merged commit 331a9a1 into threatcode:master Jul 30, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants