work on cgi.
This commit is contained in:
parent
ce6b163d5d
commit
c0f44a3bc5
15
__jet.cpp
15
__jet.cpp
@ -2,6 +2,7 @@
|
||||
#include "Exception.h"
|
||||
#include <iostream>
|
||||
#include <fstream>
|
||||
#include <openssl/ssl.h>
|
||||
|
||||
namespace jet {
|
||||
|
||||
@ -9,7 +10,8 @@ namespace jet {
|
||||
if(keywordDefined("cgi") && (resolveKeyword("cgi") == "true")) {
|
||||
global.cgi = true;
|
||||
|
||||
cookies = getenv("HTTP_COOKIE");
|
||||
char *cookies = getenv("HTTP_COOKIE");
|
||||
std::cout << cookies << std::endl;
|
||||
|
||||
if(keywordDefined("sessiondir")) {
|
||||
global.session = true;
|
||||
@ -20,14 +22,15 @@ namespace jet {
|
||||
// else
|
||||
// generate new session id.
|
||||
// create session cookie in response.
|
||||
char hashit[64];
|
||||
char hash[32];
|
||||
sprintf(hashit, "JETSESSION%ld", time(0));
|
||||
SHA1(hashit, strlen(hashit), hash);
|
||||
unsigned char hashit[64];
|
||||
unsigned char hash[SHA_DIGEST_LENGTH];
|
||||
char hashname[64];
|
||||
sprintf((char *)hashit, "JETSESSION%ld", time(0));
|
||||
SHA1(hashit, strlen((char *)hashit), hash);
|
||||
sprintf(hashname, "%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x",
|
||||
hash[0], hash[1], hash[2], hash[3], hash[4], hash[5], hash[6], hash[7], hash[8], hash[9],
|
||||
hash[10], hash[11], hash[12], hash[13], hash[14], hash[15], hash[16], hash[17], hash[18], hash[19]);
|
||||
coreutils::ZString sessionCookie(hash);
|
||||
coreutils::ZString sessionCookie(hashname);
|
||||
global.headers[keywords["Set-Cookie"]] << "session=" << sessionCookie;
|
||||
if(keywordDefined("sessiontimeout")) {
|
||||
time_t timeout = time(0) + keywords["sessiontimeout"].asInteger();
|
||||
|
Loading…
x
Reference in New Issue
Block a user