]> code.citadel.org Git - citadel.git/blobdiff - webcit/context_loop.c
* OverrideRequest(): for some reason Hdr->HR.ReqLine can be NULL here, we need to...
[citadel.git] / webcit / context_loop.c
index e0577d7eb4585aa4b720a69d08135aba51c6dc03..1525e91a574d1476e45661e53c09c99a540ffc52 100644 (file)
@@ -180,13 +180,13 @@ wcsession *FindSession(wcsession **wclist, ParsedHttpHdrs *Hdr, pthread_mutex_t
 wcsession *CreateSession(int Lockable, int Static, wcsession **wclist, ParsedHttpHdrs *Hdr, pthread_mutex_t *ListMutex)
 {
        wcsession *TheSession;
-       lprintf(3, "Creating a new session\n");
+       if (!Static)
+               lprintf(3, "Creating a new session\n");
        TheSession = (wcsession *) malloc(sizeof(wcsession));
        memset(TheSession, 0, sizeof(wcsession));
        TheSession->Hdr = Hdr;
        TheSession->SessionKey = Hdr->HR.SessionKey;
        TheSession->serv_sock = (-1);
-       TheSession->chat_sock = (-1);
        TheSession->is_mobile = -1;
 
        pthread_setspecific(MyConKey, (void *)TheSession);
@@ -444,8 +444,13 @@ void OverrideRequest(ParsedHttpHdrs *Hdr, const char *Line, long len)
 {
        StrBuf *Buf = NewStrBuf();
 
-       FlushStrBuf(Hdr->HR.ReqLine);
-       StrBufPlain(Hdr->HR.ReqLine, Line, len);
+       if (Hdr->HR.ReqLine != NULL) {
+               FlushStrBuf(Hdr->HR.ReqLine);
+               StrBufPlain(Hdr->HR.ReqLine, Line, len);
+       }
+       else {
+               Hdr->HR.ReqLine = NewStrBufPlain(Line, len);
+       }
        ReadHttpSubject(Hdr, Hdr->HR.ReqLine, Buf);
 
        FreeStrBuf(&Buf);
@@ -614,11 +619,6 @@ void tmplput_current_user(StrBuf *Target, WCTemplputParams *TP)
        StrBufAppendTemplate(Target, TP, WC->wc_fullname, 0);
 }
 
-void tmplput_current_room(StrBuf *Target, WCTemplputParams *TP)
-{
-       StrBufAppendTemplate(Target, TP, WC->wc_roomname, 0); 
-}
-
 void Header_HandleContentLength(StrBuf *Line, ParsedHttpHdrs *hdr)
 {
        hdr->HR.ContentLength = StrToi(Line);
@@ -774,7 +774,6 @@ InitModule_CONTEXT
        RegisterHeaderHandler(HKEY("IF-MODIFIED-SINCE"), Header_HandleIfModSince);
 
        RegisterNamespace("CURRENT_USER", 0, 1, tmplput_current_user, NULL, CTX_NONE);
-       RegisterNamespace("CURRENT_ROOM", 0, 1, tmplput_current_room, NULL, CTX_NONE);
        RegisterNamespace("NONCE", 0, 0, tmplput_nonce, NULL, 0);
 
        WebcitAddUrlHandler(HKEY("404"), "", 0, do_404, ANONYMOUS|COOKIEUNNEEDED);