wcsession *WCC = WC;
if (WCC && WCC->serv_info && WCC->serv_info->serv_supports_guest) {
- /* default action. probably revisit this. */
- StrBuf *teh_lobby = NewStrBufPlain(HKEY("_BASEROOM_"));
- smart_goto(teh_lobby);
- FreeStrBuf(&teh_lobby);
+ /* default action */
+
+ if (default_landing_page) {
+ http_redirect(default_landing_page);
+ }
+ else {
+ StrBuf *teh_lobby = NewStrBufPlain(HKEY("_BASEROOM_"));
+ smart_goto(teh_lobby);
+ FreeStrBuf(&teh_lobby);
+ }
}
else {
display_login();
int home_specified = 0; /* did the user specify a homedir? */
int DisableGzip = 0;
struct redirector *redir = NULL;
+char *default_landing_page = NULL;
int num_redir = 0;
extern pthread_mutex_t SessionListMutex;
extern pthread_key_t MyConKey;
extract_token(redir[num_redir].urlpart, buf, 0, '|', sizeof(redir[num_redir].urlpart));
extract_token(redir[num_redir].redirect_to, buf, 1, '|', sizeof(redir[num_redir].redirect_to));
WebcitAddUrlHandler(redir[num_redir].urlpart, strlen(redir[num_redir].urlpart), "", 0, handle_redir, ANONYMOUS|COOKIEUNNEEDED|ISSTATIC);
+ if (!strcasecmp(redir[num_redir].urlpart, "home")) {
+ default_landing_page = redir[num_redir].redirect_to ;
+ }
++num_redir;
}
extern struct redirector *redir;
extern int num_redir;
+extern char *default_landing_page;
int ClientGetLine(ParsedHttpHdrs *Hdr, StrBuf *Target);
int client_read_to(ParsedHttpHdrs *Hdr, StrBuf *Target, int bytes, int timeout);