projects
/
citadel.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
7d6ae2d
)
If no URL handler is found, try it as a room name. This will allow friendly URLs...
author
Art Cancro
<ajc@uncensored.citadel.org>
Thu, 22 Dec 2011 17:35:16 +0000
(12:35 -0500)
committer
Art Cancro
<ajc@uncensored.citadel.org>
Thu, 22 Dec 2011 17:35:16 +0000
(12:35 -0500)
webcit/context_loop.c
patch
|
blob
|
history
diff --git
a/webcit/context_loop.c
b/webcit/context_loop.c
index 8295fff75885ab992b873b9fddb1956af083744f..04c5cf0a3ea714ecb6ed959fa97d4aeb5d87e23a 100644
(file)
--- a/
webcit/context_loop.c
+++ b/
webcit/context_loop.c
@@
-7,18
+7,12
@@
* Copyright (c) 1996-2011 by the citadel.org team
*
* This program is open source software. You can redistribute it and/or
* Copyright (c) 1996-2011 by the citadel.org team
*
* This program is open source software. You can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 3 of the
- * License, or (at your option) any later version.
+ * modify it under the terms of the GNU General Public License version 3.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#include "webcit.h"
*/
#include "webcit.h"
@@
-267,7
+261,6
@@
int ReadHttpSubject(ParsedHttpHdrs *Hdr, StrBuf *Line, StrBuf *Buf)
void *vLine, *vHandler;
const char *Pos = NULL;
void *vLine, *vHandler;
const char *Pos = NULL;
-
Hdr->HR.ReqLine = Line;
/* The requesttype... GET, POST... */
StrBufExtract_token(Buf, Hdr->HR.ReqLine, 0, ' ');
Hdr->HR.ReqLine = Line;
/* The requesttype... GET, POST... */
StrBufExtract_token(Buf, Hdr->HR.ReqLine, 0, ' ');
@@
-332,15
+325,23
@@
int ReadHttpSubject(ParsedHttpHdrs *Hdr, StrBuf *Line, StrBuf *Buf)
}
if (Hdr->HR.Handler != NULL) {
}
if (Hdr->HR.Handler != NULL) {
- if ((Hdr->HR.Handler->Flags & BOGUS) != 0)
+ if ((Hdr->HR.Handler->Flags & BOGUS) != 0)
{
return 1;
return 1;
+ }
Hdr->HR.DontNeedAuth = (
((Hdr->HR.Handler->Flags & ISSTATIC) != 0) ||
((Hdr->HR.Handler->Flags & ANONYMOUS) != 0)
Hdr->HR.DontNeedAuth = (
((Hdr->HR.Handler->Flags & ISSTATIC) != 0) ||
((Hdr->HR.Handler->Flags & ANONYMOUS) != 0)
-
);
+ );
}
else {
Hdr->HR.DontNeedAuth = 1; /* Flat request? show him the login screen... */
}
else {
Hdr->HR.DontNeedAuth = 1; /* Flat request? show him the login screen... */
+ StrBuf *NewLine = NewStrBufPlain(HKEY("GET /readfwd?go="));
+ StrBufUrlescAppend(NewLine, Buf, NULL);
+ StrBufAppendBufPlain(NewLine, HKEY(" HTTP/1.0"), 0);
+ syslog(LOG_DEBUG, "Replacing with: %s", ChrPtr(NewLine));
+ int return_value = ReadHttpSubject(Hdr, NewLine, Buf);
+ FreeStrBuf(&NewLine);
+ return return_value;
}
return 0;
}
return 0;