diff --git a/SessionId.cpp b/SessionId.cpp index 7244ee6..2ba516b 100644 --- a/SessionId.cpp +++ b/SessionId.cpp @@ -1,11 +1,12 @@ #include "SessionId.h" +#include namespace jet { SessionId::SessionId() { unsigned char hashit[64]; unsigned char hash[SHA_DIGEST_LENGTH]; - setBufferSize(64); + setSize(64); sprintf((char *)hashit, "JETSESSION%ld", time(0)); 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", diff --git a/__jet.cpp b/__jet.cpp index a3f4a69..7f7e002 100644 --- a/__jet.cpp +++ b/__jet.cpp @@ -1,9 +1,9 @@ #include "__jet.h" #include "Exception.h" #include "Global.h" +#include "SessionId.h" #include #include -#include namespace jet { @@ -20,16 +20,8 @@ namespace jet { // if last activity time is expired then ignore. // follow sessiontimeoutredirecturl. // else - 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(hashname); - global.headers["Set-Cookie"] << "session=" << sessionCookie; + SessionId sessionId; + global.headers["Set-Cookie"] << "session=" << sessionId; if(keywordDefined("sessiontimeout")) { time_t timeout = time(0) + keywords["sessiontimeout"].asInteger(); }