diff --git a/__jet.cpp b/__jet.cpp index 64e0fd1..a48553f 100644 --- a/__jet.cpp +++ b/__jet.cpp @@ -2,6 +2,7 @@ #include "Exception.h" #include #include +#include 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(); diff --git a/compile b/compile index 2df9a61..b3d4356 100755 --- a/compile +++ b/compile @@ -18,7 +18,7 @@ done wait echo -n "Building executable jet-2.0..." -g++ -g -o jet-2.0 $list -std=c++23 -L../CoreUtils -lCoreUtils -lmysqlclient +g++ -g -o jet-2.0 $list -std=c++23 -L../CoreUtils -lCoreUtils -lmysqlclient -lcrypto if [ $? = '0' ] then echo "OK"