New URL 'monitor' to be used by monitoring scripts
authorArt Cancro <ajc@uncensored.citadel.org>
Tue, 5 Jul 2011 22:42:15 +0000 (18:42 -0400)
committerWilfried Goesgens <dothebart@citadel.org>
Sun, 4 Sep 2011 21:32:11 +0000 (21:32 +0000)
webcit/auth.c

index 132586f0e95c856e73d774e85a5c0f8843ce5654..d340ebb8a634cda819c1742e04ee7b12d21c9f12 100644 (file)
@@ -552,6 +552,41 @@ void do_logout(void)
 }
 
 
+/* 
+ * Special page for monitoring scripts etc
+ */
+void monitor(void)
+{
+       wcsession *WCC = WC;
+       char buf[SIZ];
+
+       FlushStrBuf(WCC->wc_username);
+       FlushStrBuf(WCC->wc_password);
+       FlushStrBuf(WCC->wc_fullname);
+       FlushRoomlist();
+
+       serv_puts("LOUT");
+       serv_getln(buf, sizeof buf);
+       WCC->logged_in = 0;
+
+       FlushStrBuf(WCC->CurRoom.name);
+
+       /* Calling output_headers() this way causes the cookies to be un-set */
+       output_headers(1, 0, 0, 1, 1, 0);
+
+       wc_printf("<html><body><tt>");
+       wc_printf("<strong>WebCit monitoring screen</strong><br>\n");
+       wc_printf("Connection to Citadel server at %s:%s : %s<br>\n",
+               ctdlhost, ctdlport,
+               (WC->connected ? "SUCCESS" : "FAIL")
+       );
+       wc_printf("</body></html>\n");
+
+       wDumpContent(2);
+       end_webcit_session();
+}
+
+
 /*
  * validate new users
  */
@@ -1025,6 +1060,7 @@ InitModule_AUTH
        WebcitAddUrlHandler(HKEY("changepw"), "", 0, changepw, 0);
        WebcitAddUrlHandler(HKEY("termquit"), "", 0, do_logout, 0);
        WebcitAddUrlHandler(HKEY("do_logout"), "", 0, do_logout, ANONYMOUS|COOKIEUNNEEDED|FORCE_SESSIONCLOSE);
+       WebcitAddUrlHandler(HKEY("monitor"), "", 0, monitor, ANONYMOUS|COOKIEUNNEEDED|FORCE_SESSIONCLOSE);
        WebcitAddUrlHandler(HKEY("ajax_login_username_password"), "", 0, ajax_login_username_password, AJAX|ANONYMOUS);
        WebcitAddUrlHandler(HKEY("ajax_login_newuser"), "", 0, ajax_login_newuser, AJAX|ANONYMOUS);
        WebcitAddUrlHandler(HKEY("switch_language"), "", 0, switch_language, ANONYMOUS);