Working on CGI session stuff.
This commit is contained in:
parent
8b38617b00
commit
7e835e5073
@ -6,7 +6,7 @@ namespace jet {
|
|||||||
SessionId::SessionId() {
|
SessionId::SessionId() {
|
||||||
unsigned char hashit[64];
|
unsigned char hashit[64];
|
||||||
unsigned char hash[SHA_DIGEST_LENGTH];
|
unsigned char hash[SHA_DIGEST_LENGTH];
|
||||||
setSize(64);
|
setSize(40);
|
||||||
sprintf((char *)hashit, "JETSESSION%ld", time(0));
|
sprintf((char *)hashit, "JETSESSION%ld", time(0));
|
||||||
SHA1(hashit, strlen((char *)hashit), hash);
|
SHA1(hashit, strlen((char *)hashit), hash);
|
||||||
sprintf(getData(), "%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x",
|
sprintf(getData(), "%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x",
|
||||||
|
|||||||
2
Tag.cpp
2
Tag.cpp
@ -419,7 +419,7 @@ namespace jet {
|
|||||||
return getenv(name.c_str());
|
return getenv(name.c_str());
|
||||||
} else if(variable.ifNext("^")) {
|
} else if(variable.ifNext("^")) {
|
||||||
renderVariableName(variable, name, modifier);
|
renderVariableName(variable, name, modifier);
|
||||||
return global.cookies.data[variable];
|
return global.cookies.data[name];
|
||||||
} else {
|
} else {
|
||||||
renderVariableName(variable, name, modifier);
|
renderVariableName(variable, name, modifier);
|
||||||
name.split(".");
|
name.split(".");
|
||||||
|
|||||||
24
__jet.cpp
24
__jet.cpp
@ -2,6 +2,7 @@
|
|||||||
#include "Exception.h"
|
#include "Exception.h"
|
||||||
#include "Global.h"
|
#include "Global.h"
|
||||||
#include "SessionId.h"
|
#include "SessionId.h"
|
||||||
|
#include <stdlib.h>
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
#include <fstream>
|
#include <fstream>
|
||||||
|
|
||||||
@ -15,22 +16,21 @@ namespace jet {
|
|||||||
if(keywordDefined("sessiondir")) {
|
if(keywordDefined("sessiondir")) {
|
||||||
global.session = true;
|
global.session = true;
|
||||||
global.cookies = getenv("HTTP_COOKIE");
|
global.cookies = getenv("HTTP_COOKIE");
|
||||||
|
if(global.cookies.data["session"] != NULL) {
|
||||||
// if request_has_cookie then
|
|
||||||
// pull sessionfile from sessiondir.
|
// pull sessionfile from sessiondir.
|
||||||
// if last activity time is expired then ignore.
|
// if last activity time is expired then ignore.
|
||||||
// follow sessiontimeoutredirecturl.
|
// follow sessiontimeoutredirecturl.
|
||||||
// else
|
} else {
|
||||||
SessionId sessionId;
|
SessionId sessionId;
|
||||||
global.headers["Set-Cookie"] << "session=" << sessionId;
|
global.headers["Set-Cookie"] << "session=" << sessionId;
|
||||||
if(keywordDefined("sessiontimeout")) {
|
global.cookies.data["session"] = sessionId;
|
||||||
time_t timeout = time(0) + keywords["sessiontimeout"].asInteger();
|
if(keywordDefined("sessiontimeout")) {
|
||||||
|
time_t timeout = time(0) + keywords["sessiontimeout"].asInteger();
|
||||||
|
}
|
||||||
|
// also save last activity time in session file.
|
||||||
}
|
}
|
||||||
|
|
||||||
// also save last activity time in session file.
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
coreutils::ZString requestMethod(getenv("REQUEST_METHOD"));
|
coreutils::ZString requestMethod(getenv("REQUEST_METHOD"));
|
||||||
if(requestMethod == "POST") {
|
if(requestMethod == "POST") {
|
||||||
coreutils::ZString contentLength(getenv("CONTENT_LENGTH"));
|
coreutils::ZString contentLength(getenv("CONTENT_LENGTH"));
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user