std::string content="HTTP/1.1 200 OK\r\n";\r
if(queryvars.find("UUID")!=queryvars.end())\r
{\r
- SQLite3DB::Statement st=m_db->Prepare("SELECT MimeType,PuzzleData FROM tblIntroductionPuzzleRequests WHERE UUID=?;");\r
+ SQLite3DB::Statement st=m_db->Prepare("SELECT MimeType,PuzzleData FROM tblIntroductionPuzzleRequests WHERE Type='captcha' AND UUID=?;");\r
st.Bind(0,(*queryvars.find("UUID")).second);\r
st.Step();\r
\r
Base64::Decode(b64data,data);\r
StringFunctions::Convert(data.size(),lenstr);\r
\r
- content+="Content-Type: "+mime+"\r\n";\r
- content+="Content-Length: "+lenstr+"\r\n\r\n";\r
- content+=std::string(data.begin(),data.end());\r
+ // mime type should be short and have a / in it - otherwise skip\r
+ if(mime.size()<50 && mime.find("/")!=std::string::npos)\r
+ {\r
+ content+="Content-Type: "+mime+"\r\n";\r
+ content+="Content-Length: "+lenstr+"\r\n\r\n";\r
+ content+=std::string(data.begin(),data.end());\r
+ }\r
}\r
}\r
return content;\r