index[a] = arg[a-1];
sizes[a] = sizeof arg[a-1];
}
-/*/// index[9] = &foo; todo */
nBackDots = 0;
nEmpty = 0;
for ( a = 0; a < 9; ++a)
}
if (GetHash(HTTPHeaders, HKEY("AUTHORIZATION"), &vLine) &&
(vLine!=NULL)) {
-/* TODO: wrap base64 in strbuf */
- CtdlDecodeBase64(c_httpauth_string, ChrPtr((StrBuf*)vLine), StrLength((StrBuf*)vLine));
- FlushStrBuf(Buf);
- StrBufAppendBufPlain(Buf, c_httpauth_string, -1, 0);
- StrBufExtract_token(c_httpauth_user, Buf, 0, ':');
- StrBufExtract_token(c_httpauth_pass, Buf, 1, ':');
+ StrBufDecodeBase64((StrBuf*)vLine);
+ StrBufExtract_token(c_httpauth_user, (StrBuf*)vLine, 0, ':');
+ StrBufExtract_token(c_httpauth_pass, (StrBuf*)vLine, 1, ':');
}
if (GetHash(HTTPHeaders, HKEY("CONTENT-LENGTH"), &vLine) &&
(vLine!=NULL)) {
* connection now.
*/
if (!WCC->connected) {
+ WCC->ReadBuf = NewStrBuf();
if (!strcasecmp(ctdlhost, "uds")) {
/* unix domain socket */
snprintf(buf, SIZ, "%s/citadel.socket", ctdlport);
}
locate_host(browser_host, WCC->http_sock);
}
-
- WCC->serv_info = get_serv_info(browser_host, user_agent);
+ if (WCC->serv_info == NULL)
+ WCC->serv_info = get_serv_info(browser_host, user_agent);
if (WCC->serv_info->serv_rev_level < MINIMUM_CIT_VERSION) {
begin_burst();
wprintf(_("You are connected to a Citadel "
}
}
}
-/*///////todo: restore language in this case */
+
/*
* Functions which can be performed without logging in
*/
serv_printf("PASS %s", ChrPtr(c_password));
StrBuf_ServGetln(Buf);
if (GetServerStatus(Buf, NULL) == 2) {
- StrBuf *Lang;
become_logged_in(c_username, c_password, Buf);
- if (get_preference("language", &Lang)) {
- set_selected_language(ChrPtr(Lang));
- go_selected_language(); /* set locale */
- }
get_preference("default_header_charset", &WCC->DefaultCharset);
}
}