]> code.citadel.org Git - citadel.git/blobdiff - webcit/auth.c
COND:AIDE now observes logged in semantics
[citadel.git] / webcit / auth.c
index ff9bd7b975f96c7f292a9ce08b57b74e7b0d59e3..bbb54f32ed8781ed9fb02101330c1b4432c0aea4 100644 (file)
@@ -140,6 +140,7 @@ void become_logged_in(const StrBuf *user, const StrBuf *pass, StrBuf *serv_respo
 }
 
 
+#ifdef __OLD__LOGIN__SCREEN__
 /* 
  * Perform authentication using a user name and password
  */
@@ -227,7 +228,7 @@ void do_login(void)
        }
        FreeStrBuf(&Buf);
 }
-
+#endif
 
 
 /* 
@@ -328,7 +329,12 @@ void do_openid_login(void)
                return;
        }
 
-       convenience_page("770000", _("Error"), &buf[4]);
+       begin_burst();
+       output_headers(1, 0, 0, 0, 1, 0);
+       wc_printf("<html><body>");
+       escputs(&buf[4]);
+       wc_printf("</body></html>");
+       end_burst();
 }
 
 
@@ -442,7 +448,6 @@ void finalize_openid_login(void)
 
        /* Did we manage to log in?  If so, continue with the normal flow... */
        if (WC->logged_in) {
-
                begin_burst();
                output_headers(1, 0, 0, 0, 1, 0);
                do_template("authpopup_finished", NULL);
@@ -457,8 +462,13 @@ void finalize_openid_login(void)
                */
 
        } else {
-               /* maybe do something prettier here? */
-               convenience_page("770000", _("Error"), _("Error") );
+               /* FIXME do something prettier here? */
+               begin_burst();
+               output_headers(1, 0, 0, 0, 1, 0);
+               wc_printf("<html><body>");
+               wc_printf("error");
+               wc_printf("</body></html>");
+               end_burst();
        }
 
        FreeStrBuf(&result);
@@ -930,13 +940,13 @@ int ConditionalHaveAccessCreateRoom(StrBuf *Target, WCTemplputParams *TP)
 int ConditionalAide(StrBuf *Target, WCTemplputParams *TP)
 {
        wcsession *WCC = WC;
-       return (WCC != NULL)? (WC->is_aide == 0) : 0;
+       return (WCC != NULL) ? ((WCC->logged_in == 0)||(WC->is_aide == 0)) : 0;
 }
 
 int ConditionalIsLoggedIn(StrBuf *Target, WCTemplputParams *TP) 
 {
        wcsession *WCC = WC;
-       return (WCC != NULL)? (WCC->logged_in == 0) : 0;
+       return (WCC != NULL) ? (WCC->logged_in == 0) : 0;
 
 }
 
@@ -1057,7 +1067,9 @@ InitModule_AUTH
 
        /* some of these will be removed soon */
        WebcitAddUrlHandler(HKEY("do_welcome"), "", 0, do_welcome, ANONYMOUS|COOKIEUNNEEDED);
+#ifdef __OLD__LOGIN__SCREEN__
        WebcitAddUrlHandler(HKEY("login"), "", 0, do_login, ANONYMOUS|COOKIEUNNEEDED);
+#endif
        WebcitAddUrlHandler(HKEY("openid_login"), "", 0, do_openid_login, ANONYMOUS);
        WebcitAddUrlHandler(HKEY("finalize_openid_login"), "", 0, finalize_openid_login, ANONYMOUS);
        WebcitAddUrlHandler(HKEY("openid_manual_create"), "", 0, openid_manual_create, ANONYMOUS);