diff --git a/CHANGELOG b/CHANGELOG index b137cf0491485da22cc39ffe6a13804574516d99..005ea6f421de5c01c0dcd56662230ee31d41cba1 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,13 @@ +XEngine_Storage V3.12.1.1001 + +修改:不在插入数据当HTTP的HOOK出错 +修改:当http的hook和数据库插入出错上传的文件会被删除了 +修正:编译问题 + +modify:does not insert db when http pass is failed +modify:remove upload file when http pass and insert db are failed +fixed:build error +====================================================================================== XEngine_Storage V3.12.0.1001 增加:为P2P启用内存数据库支持 diff --git a/XEngine_Release/XEngine_Config/XEngine_Config.json b/XEngine_Release/XEngine_Config/XEngine_Config.json index 1823db68596d13b99d6c3412b6ad677342e3b449..a7baf45fde2007de31db208c188fdf1c512db96c 100644 --- a/XEngine_Release/XEngine_Config/XEngine_Config.json +++ b/XEngine_Release/XEngine_Config/XEngine_Config.json @@ -72,6 +72,7 @@ "tszCertKey":"./XEngine_Cert/2_www.xyry.org.key" }, "XVer":[ + "3.12.1.1001 Build20240104", "3.12.0.1001 Build20231025", "3.11.1.1001 Build20230804", "3.11.0.1001 Build20230421", diff --git a/XEngine_Source/StorageModule_APIHelp/APIHelp_Distributed/APIHelp_Distributed.cpp b/XEngine_Source/StorageModule_APIHelp/APIHelp_Distributed/APIHelp_Distributed.cpp index 5e4e408adbc2668613bcd49c03268f011be1cb74..b1658e345f9b3c8f59a47dcd85bc3d145982062d 100644 --- a/XEngine_Source/StorageModule_APIHelp/APIHelp_Distributed/APIHelp_Distributed.cpp +++ b/XEngine_Source/StorageModule_APIHelp/APIHelp_Distributed/APIHelp_Distributed.cpp @@ -340,7 +340,7 @@ bool CAPIHelp_Distributed::APIHelp_Distributed_UPStorage(listtszFilePath); _tcsxcat(tszFoundDir, _X("/*")); - SystemApi_File_EnumFile(tszFoundDir, &pptszListFile, &nListCount, NULL, NULL, true, 1); + SystemApi_File_EnumFile(tszFoundDir, &pptszListFile, &nListCount, true, 1); for (int i = 0; i < nListCount; i++) { int nHashLen = 0; diff --git a/XEngine_Source/VSCopy_x64.bat b/XEngine_Source/VSCopy_x64.bat index ba0a30626326f08babeacc6418fa2a50f3350302..72acfbb776a64012590cd16ec3bd8565826561ea 100644 --- a/XEngine_Source/VSCopy_x64.bat +++ b/XEngine_Source/VSCopy_x64.bat @@ -9,16 +9,4 @@ copy /y "%XEngine_Lib64%\XEngine_NetHelp\NetHelp_APIClient.dll" "./" copy /y "%XEngine_Lib64%\XEngine_HelpComponents\HelpComponents_DataBase.dll" "./" copy /y "%XEngine_Lib64%\XEngine_HelpComponents\HelpComponents_XLog.dll" "./" -copy /y "%XEngine_Lib64%\XEngine_RfcComponents\RfcComponents_HttpProtocol.dll" "./" - -copy /y "%XEngine_Lib64%\XEngine_HelpComponents\bson-1.0.dll" "./" -copy /y "%XEngine_Lib64%\XEngine_HelpComponents\mongoc-1.0.dll" "./" -copy /y "%XEngine_Lib64%\XEngine_HelpComponents\libmariadb.dll" "./" -copy /y "%XEngine_Lib64%\XEngine_HelpComponents\libpq.dll" "./" -copy /y "%XEngine_Lib64%\XEngine_HelpComponents\sqlite3.dll" "./" -copy /y "%XEngine_Lib64%\XEngine_HelpComponents\zlib1.dll" "./" -copy /y "%XEngine_Lib64%\XEngine_HelpComponents\plugin\caching_sha2_password.dll" "./" -copy /y "%XEngine_Lib64%\XEngine_NetHelp\libcurl.dll" "./" -copy /y "%XEngine_Lib64%\XEngine_NetHelp\nghttp2.dll" "./" -copy /y "%XEngine_Lib64%\XEngine_LibEx\libcrypto-3-x64.dll" "./" -copy /y "%XEngine_Lib64%\XEngine_LibEx\libssl-3-x64.dll" "./" \ No newline at end of file +copy /y "%XEngine_Lib64%\XEngine_RfcComponents\RfcComponents_HttpProtocol.dll" "./" \ No newline at end of file diff --git a/XEngine_Source/VSCopy_x86.bat b/XEngine_Source/VSCopy_x86.bat index d754d3d39cb2f27617fb5b036c75c40ca19f1a74..32516022227b4ab9b2e85bcc641f584b09bdd967 100644 --- a/XEngine_Source/VSCopy_x86.bat +++ b/XEngine_Source/VSCopy_x86.bat @@ -9,16 +9,4 @@ copy /y "%XEngine_Lib32%\XEngine_NetHelp\NetHelp_APIClient.dll" "./" copy /y "%XEngine_Lib32%\XEngine_HelpComponents\HelpComponents_DataBase.dll" "./" copy /y "%XEngine_Lib32%\XEngine_HelpComponents\HelpComponents_XLog.dll" "./" -copy /y "%XEngine_Lib32%\XEngine_RfcComponents\RfcComponents_HttpProtocol.dll" "./" - -copy /y "%XEngine_Lib32%\XEngine_HelpComponents\bson-1.0.dll" "./" -copy /y "%XEngine_Lib32%\XEngine_HelpComponents\mongoc-1.0.dll" "./" -copy /y "%XEngine_Lib32%\XEngine_HelpComponents\libmariadb.dll" "./" -copy /y "%XEngine_Lib32%\XEngine_HelpComponents\libpq.dll" "./" -copy /y "%XEngine_Lib32%\XEngine_HelpComponents\sqlite3.dll" "./" -copy /y "%XEngine_Lib32%\XEngine_HelpComponents\zlib1.dll" "./" -copy /y "%XEngine_Lib32%\XEngine_HelpComponents\plugin\caching_sha2_password.dll" "./" -copy /y "%XEngine_Lib32%\XEngine_NetHelp\libcurl.dll" "./" -copy /y "%XEngine_Lib32%\XEngine_NetHelp\nghttp2.dll" "./" -copy /y "%XEngine_Lib32%\XEngine_LibEx\libcrypto-3.dll" "./" -copy /y "%XEngine_Lib32%\XEngine_LibEx\libssl-3.dll" "./" \ No newline at end of file +copy /y "%XEngine_Lib32%\XEngine_RfcComponents\RfcComponents_HttpProtocol.dll" "./" \ No newline at end of file diff --git a/XEngine_Source/XEngine_StorageApp/StorageApp_UPLoader.cpp b/XEngine_Source/XEngine_StorageApp/StorageApp_UPLoader.cpp index 47dc767fb157314e9a94084098c1da53a4dcdb5e..0036b1bb2f7d12843e952946ff3a784924cda34c 100644 --- a/XEngine_Source/XEngine_StorageApp/StorageApp_UPLoader.cpp +++ b/XEngine_Source/XEngine_StorageApp/StorageApp_UPLoader.cpp @@ -324,8 +324,20 @@ bool XEngine_Task_HttpUPLoader(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, in return false; } } - Protocol_StoragePacket_UPDown(tszPassNotify, &nPLen, st_StorageInfo.tszBuckKey, st_StorageInfo.tszFileDir, st_StorageInfo.tszClientAddr, st_StorageInfo.ullCount, false, st_ProtocolFile.st_ProtocolFile.tszFileHash); + //PASS代理 + if (st_ServiceCfg.st_XProxy.bUPPass) + { + int nHttpCode = 0; + if (!APIClient_Http_Request(_X("POST"), st_ServiceCfg.st_XProxy.tszUPPass, tszPassNotify, &nHttpCode)) + { + _xtremove(st_StorageInfo.tszFileDir); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("上传客户端:%s,请求完成通知失败,可能服务器不正确:文件:%s,地址:%s"), lpszClientAddr, st_StorageInfo.tszFileDir, st_ServiceCfg.st_XProxy.tszUPPass); + return false; + } + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("上传客户端:%s,请求完成通知返回值:%d,文件:%s,地址:%s"), lpszClientAddr, nHttpCode, st_StorageInfo.tszFileDir, st_ServiceCfg.st_XProxy.tszUPPass); + } + //数据库写 if (st_ServiceCfg.st_XSql.bEnable) { if (Database_File_FileInsert(&st_ProtocolFile, st_StorageInfo.bRewrite)) @@ -340,6 +352,7 @@ bool XEngine_Task_HttpUPLoader(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, in { st_HDRParam.bIsClose = true; st_HDRParam.nHttpCode = 403; + _xtremove(st_StorageInfo.tszFileDir); HttpProtocol_Server_SendMsgEx(xhUPHttp, tszSDBuffer, &nSDLen, &st_HDRParam, tszPassNotify, nPLen); XEngine_Net_SendMsg(lpszClientAddr, tszSDBuffer, nSDLen, STORAGE_NETTYPE_HTTPUPLOADER); XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("上传客户端:%s,请求上传文件失败,插入数据库失败:%s,错误:%lX"), lpszClientAddr, tszFileDir, Database_GetLastError()); @@ -353,19 +366,6 @@ bool XEngine_Task_HttpUPLoader(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, in XEngine_Net_SendMsg(lpszClientAddr, tszSDBuffer, nSDLen, STORAGE_NETTYPE_HTTPUPLOADER); XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_WARN, _X("上传客户端:%s,请求上传文件成功,文件名:%s,大小:%d,数据库没有启用,不插入数据库"), lpszClientAddr, tszFileDir, nRVCount); } - //PASS代理 - if (st_ServiceCfg.st_XProxy.bUPPass) - { - int nHttpCode = 0; - if (APIClient_Http_Request(_X("POST"), st_ServiceCfg.st_XProxy.tszUPPass, tszPassNotify, &nHttpCode)) - { - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("上传客户端:%s,请求完成通知返回值:%d,文件:%s,地址:%s"), lpszClientAddr, nHttpCode, st_StorageInfo.tszFileDir, st_ServiceCfg.st_XProxy.tszUPPass); - } - else - { - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("上传客户端:%s,请求完成通知失败,可能服务器不正确:文件:%s,地址:%s"), lpszClientAddr, st_StorageInfo.tszFileDir, st_ServiceCfg.st_XProxy.tszUPPass); - } - } } else { diff --git a/XEngine_Source/XEngine_StorageApp/Storage_APPTask/Storage_TaskManage.cpp b/XEngine_Source/XEngine_StorageApp/Storage_APPTask/Storage_TaskManage.cpp index b7af165a108c8c76fbc3551015b19febc0c7a016..7dfce1343e0cdb5f8f888910080242d3cf411a54 100644 --- a/XEngine_Source/XEngine_StorageApp/Storage_APPTask/Storage_TaskManage.cpp +++ b/XEngine_Source/XEngine_StorageApp/Storage_APPTask/Storage_TaskManage.cpp @@ -319,7 +319,7 @@ bool XEngine_Task_Manage(LPCXSTR lpszAPIName, LPCXSTR lpszClientAddr, LPCXSTR lp _tcsxcat(tszRealDir, _X("/*")); } } - if (!SystemApi_File_EnumFile(tszRealDir, &ppszListDir, &nListCount, NULL, NULL, true, 2)) + if (!SystemApi_File_EnumFile(tszRealDir, &ppszListDir, &nListCount, true, 2)) { st_HDRParam.bIsClose = true; st_HDRParam.nHttpCode = 404;