else {
/* If this is a "flat" request for the root, display the configured landing page. */
Hdr->HR.DontNeedAuth = 1;
- StrBuf *NewLine = NewStrBufPlain(HKEY("GET /landing HTTP/1.0"));
+ StrBuf *NewLine = NewStrBuf();
+ StrBufAppendPrintf(NewLine, "GET /landing?go=%s HTTP/1.0", ChrPtr(Buf));
syslog(LOG_DEBUG, "Replacing with: %s", ChrPtr(NewLine));
int return_value = ReadHttpSubject(Hdr, NewLine, Buf);
FreeStrBuf(&NewLine);
if (WCC && WCC->serv_info && WCC->serv_info->serv_supports_guest) {
/* default action */
- if (default_landing_page) {
+ if (havebstr("go")) {
+ syslog(9, "Explicit room selection: %s", bstr("go"));
+ StrBuf *teh_room = NewStrBufPlain(bstr("go"), strlen(bstr("go")));
+ smart_goto(teh_room);
+ FreeStrBuf(&teh_room);
+ }
+ else if (default_landing_page) {
http_redirect(default_landing_page);
}
else {