aboutsummaryrefslogtreecommitdiff
path: root/captain/gemini.f90
diff options
context:
space:
mode:
authorJeffrey Armstrong <jeff@approximatrix.com>2023-02-08 16:03:23 -0500
committerJeffrey Armstrong <jeff@approximatrix.com>2023-02-08 16:03:23 -0500
commit10547ba1064ca5a1dd04e782b0df99a22b60de3f (patch)
tree5368ce2ab9133e0ea1c2f12696dd8043f639e742 /captain/gemini.f90
parentcf13b8b542cd6eb3c0cf73a2428a7a825dc6252e (diff)
downloadlevitating-10547ba1064ca5a1dd04e782b0df99a22b60de3f.tar.gz
levitating-10547ba1064ca5a1dd04e782b0df99a22b60de3f.zip
Fixed Gemini redirects to keep the session token intact. Might break logging off...
Diffstat (limited to 'captain/gemini.f90')
-rw-r--r--captain/gemini.f906
1 files changed, 6 insertions, 0 deletions
diff --git a/captain/gemini.f90 b/captain/gemini.f90
index b14078d..cb829e8 100644
--- a/captain/gemini.f90
+++ b/captain/gemini.f90
@@ -237,6 +237,8 @@ contains
character(1024)::text_request
character(UUID_LENGTH+8)::first
+
+ character(len=:), pointer::gemlink
integer::rendered_unit, ioerror
@@ -350,6 +352,10 @@ contains
call write_input_request(ssl, resp%message, code=resp%code)
case(GEMINI_CODE_REDIRECT)
+ if(req%is_authenticated_user()) then
+ gemlink => gemini_session_link_url(resp%url, req%token)
+ call resp%set_url(gemlink)
+ end if
call write_redirect(ssl, resp%url)
case(GEMINI_CODE_PERMFAIL)