diff --git a/.github/workflows/Alma_build.yml b/.github/workflows/Alma_build.yml new file mode 100644 index 00000000..11127b16 --- /dev/null +++ b/.github/workflows/Alma_build.yml @@ -0,0 +1,95 @@ +name: alma build workflows + +on: + push: + branches: + - 'develop' + paths: + - 'XEngine_Source/**' + - 'XEngine_Release/**' + - '.github/**' + +permissions: + contents: read + +jobs: + build: + runs-on: ${{ matrix.runner }} + container: + image: almalinux:${{ matrix.version }} + options: --platform ${{ matrix.platform }} + strategy: + matrix: + include: + - arch: amd64 + runner: ubuntu-24.04 + platform: linux/amd64 + artifact: x86-64 + version: 9 + - arch: amd64 + runner: ubuntu-24.04 + platform: linux/amd64 + artifact: x86-64 + version: 10 + - arch: arm64 + runner: ubuntu-24.04-arm + platform: linux/arm64 + artifact: Arm64 + version: 9 + - arch: arm64 + runner: ubuntu-24.04-arm + platform: linux/arm64 + artifact: Arm64 + version: 10 + + steps: + - name: Checkout main repository code + uses: actions/checkout@v4 + + - name: Checkout dependency repository (xengine) + uses: actions/checkout@v4 + with: + repository: libxengine/libxengine + path: libxengine + + - name: sub module checkout (opensource) + uses: actions/checkout@v4 + with: + repository: libxengine/XEngine_OPenSource + path: XEngine_Source/XEngine_DependLibrary + + - name: Set TERM variable + run: echo "TERM=xterm" >> $GITHUB_ENV + + - name: install system package + run: | + dnf update -y + dnf install gcc g++ make git jq unzip wget -y + + - name: install xengine library + run: | + latest_tag=$(curl -s https://api.github.com/repos/libxengine/libxengine/releases/latest | jq -r .tag_name) + wget https://github.com/libxengine/libxengine/releases/download/$latest_tag/XEngine_RockyLinux_${{ matrix.version }}_${{ matrix.artifact }}.zip + unzip ./XEngine_RockyLinux_${{ matrix.version }}_${{ matrix.artifact }}.zip -d ./XEngine_RockyLinux_${{ matrix.version }}_${{ matrix.artifact }} + cd XEngine_RockyLinux_${{ matrix.version }}_${{ matrix.artifact }} + + chmod 777 * + ./XEngine_LINEnv.sh -i 3 + + - name: make + run: | + cd XEngine_Source + make RELEASE=1 + make FLAGS=InstallAll + make FLAGS=CleanAll + cd .. + - name: test + run: | + cd XEngine_Release + ./XEngine_AuthorizeService -t + + - name: Upload folder as artifact + uses: actions/upload-artifact@v4 + with: + name: XEngine_AuthorizeService-AlmaLinux_${{ matrix.version }}_${{ matrix.artifact }} + path: XEngine_Release/ \ No newline at end of file diff --git a/.github/workflows/Centos_build.yml b/.github/workflows/Centos_build.yml new file mode 100644 index 00000000..e3c4ddb0 --- /dev/null +++ b/.github/workflows/Centos_build.yml @@ -0,0 +1,99 @@ +name: centos build workflows + +on: + push: + branches: + - 'develop' + paths: + - 'XEngine_Source/**' + - 'XEngine_Release/**' + - '.github/**' + +permissions: + contents: read + +jobs: + build: + runs-on: ${{ matrix.runner }} + container: + image: quay.io/centos/centos:${{ matrix.stream }} + options: --platform ${{ matrix.platform }} + strategy: + matrix: + include: + - arch: amd64 + runner: ubuntu-24.04 + platform: linux/amd64 + artifact: x86-64 + version: 9 + stream: stream9 + - arch: amd64 + runner: ubuntu-24.04 + platform: linux/amd64 + artifact: x86-64 + version: 10 + stream: stream10 + - arch: arm64 + runner: ubuntu-24.04-arm + platform: linux/arm64 + artifact: Arm64 + version: 9 + stream: stream9 + - arch: arm64 + runner: ubuntu-24.04-arm + platform: linux/arm64 + artifact: Arm64 + version: 10 + stream: stream10 + + steps: + - name: Checkout main repository code + uses: actions/checkout@v4 + + - name: Checkout dependency repository (xengine) + uses: actions/checkout@v4 + with: + repository: libxengine/libxengine + path: libxengine + + - name: sub module checkout (opensource) + uses: actions/checkout@v4 + with: + repository: libxengine/XEngine_OPenSource + path: XEngine_Source/XEngine_DependLibrary + + - name: Set TERM variable + run: echo "TERM=xterm" >> $GITHUB_ENV + + - name: install system package + run: | + dnf update -y + dnf install gcc g++ make git jq unzip wget -y + + - name: install xengine library + run: | + latest_tag=$(curl -s https://api.github.com/repos/libxengine/libxengine/releases/latest | jq -r .tag_name) + wget https://github.com/libxengine/libxengine/releases/download/$latest_tag/XEngine_RockyLinux_${{ matrix.version }}_${{ matrix.artifact }}.zip + unzip ./XEngine_RockyLinux_${{ matrix.version }}_${{ matrix.artifact }}.zip -d ./XEngine_RockyLinux_${{ matrix.version }}_${{ matrix.artifact }} + cd XEngine_RockyLinux_${{ matrix.version }}_${{ matrix.artifact }} + + chmod 777 * + ./XEngine_LINEnv.sh -i 3 + + - name: make + run: | + cd XEngine_Source + make RELEASE=1 + make FLAGS=InstallAll + make FLAGS=CleanAll + cd .. + - name: test + run: | + cd XEngine_Release + ./XEngine_AuthorizeService -t + + - name: Upload folder as artifact + uses: actions/upload-artifact@v4 + with: + name: XEngine_AuthorizeService-CentOS_${{ matrix.version }}_${{ matrix.artifact }} + path: XEngine_Release/ \ No newline at end of file diff --git a/.github/workflows/debian_build.yml b/.github/workflows/debian_build.yml index c2be054c..7fc58f58 100644 --- a/.github/workflows/debian_build.yml +++ b/.github/workflows/debian_build.yml @@ -16,7 +16,7 @@ jobs: build: runs-on: ${{ matrix.runner }} container: - image: debian:bookworm + image: debian:${{ matrix.name }} options: --platform ${{ matrix.platform }} strategy: matrix: @@ -25,6 +25,14 @@ jobs: runner: ubuntu-24.04 platform: linux/amd64 artifact: x86-64 + name: bookworm + version: 12 + - arch: amd64 + runner: ubuntu-24.04 + platform: linux/amd64 + artifact: x86-64 + name: trixie + version: 13 steps: - name: Checkout main repository code @@ -53,9 +61,9 @@ jobs: - name: install xengine library run: | latest_tag=$(curl -s https://api.github.com/repos/libxengine/libxengine/releases/latest | jq -r .tag_name) - wget https://github.com/libxengine/libxengine/releases/download/$latest_tag/XEngine_Debian_12_${{ matrix.artifact }}.zip - unzip ./XEngine_Debian_12_${{ matrix.artifact }}.zip -d ./XEngine_Debian_12_${{ matrix.artifact }} - cd XEngine_Debian_12_${{ matrix.artifact }} + wget https://github.com/libxengine/libxengine/releases/download/$latest_tag/XEngine_Debian_${{ matrix.version }}_${{ matrix.artifact }}.zip + unzip ./XEngine_Debian_${{ matrix.version }}_${{ matrix.artifact }}.zip -d ./XEngine_Debian_${{ matrix.version }}_${{ matrix.artifact }} + cd XEngine_Debian_${{ matrix.version }}_${{ matrix.artifact }} chmod 777 * ./XEngine_LINEnv.sh -i 3 @@ -63,10 +71,6 @@ jobs: - name: make run: | cd XEngine_Source - make - make FLAGS=InstallAll - make FLAGS=CleanAll - make RELEASE=1 make FLAGS=InstallAll make FLAGS=CleanAll @@ -79,6 +83,6 @@ jobs: - name: Upload folder as artifact uses: actions/upload-artifact@v4 with: - name: XEngine_AuthorizeService-Debian_12_x86-64 + name: XEngine_AuthorizeService-Debian_${{ matrix.version }}_x86-64 path: XEngine_Release/ retention-days: 1 \ No newline at end of file diff --git a/.github/workflows/macbuild.yml b/.github/workflows/macbuild.yml index 71f05377..3b5fdc96 100644 --- a/.github/workflows/macbuild.yml +++ b/.github/workflows/macbuild.yml @@ -14,8 +14,8 @@ jobs: strategy: matrix: include: - - os: macos-13 - - os: macos-14 + - os: macos-15-intel + - os: macos-15 runs-on: ${{ matrix.os }} steps: @@ -43,13 +43,13 @@ jobs: run: echo "TERM=xterm" >> $GITHUB_ENV - name: Set up Dependency x86_64 Environment - if: matrix.os == 'macos-13' + if: matrix.os == 'macos-15-intel' run: | cd libxengine chmod 777 * ./XEngine_LINEnv.sh -i 3 - name: Set up Dependency Arm64 Environment - if: matrix.os == 'macos-14' + if: matrix.os == 'macos-15' run: | cd libxengine chmod 777 * @@ -84,14 +84,14 @@ jobs: ./XEngine_AuthorizeService -t - name: Upload folder as artifact with mac x64 - if: matrix.os == 'macos-13' + if: matrix.os == 'macos-15-intel' uses: actions/upload-artifact@v4 with: name: XEngine_AuthorizeService-Mac_x86-64 path: XEngine_Release/ retention-days: 1 - name: Upload folder as artifact with mac arm - if: matrix.os == 'macos-14' + if: matrix.os == 'macos-15' uses: actions/upload-artifact@v4 with: name: XEngine_AuthorizeService-Mac_Arm64 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 03cc0ee2..8cac7be2 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -70,6 +70,24 @@ jobs: skip_unpack: true if_no_artifact_found: fail path: ./XRelease/ + - name: Download Alma Linux + uses: dawidd6/action-download-artifact@v6 + with: + workflow: Alma_build.yml + workflow_conclusion: success + check_artifacts: false + skip_unpack: true + if_no_artifact_found: fail + path: ./XRelease/ + - name: Download CentOS + uses: dawidd6/action-download-artifact@v6 + with: + workflow: Centos_build.yml + workflow_conclusion: success + check_artifacts: false + skip_unpack: true + if_no_artifact_found: fail + path: ./XRelease/ - name: Display structure of downloaded files run: ls -al ./XRelease/ diff --git a/CHANGELOG b/CHANGELOG index ab2bd720..0d3579f4 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,29 @@ +XEngine_Authorize V3.20.0.1001 + +ci:centos and alma linux and debian 13 system support +modify:cdkey module to verification module from depend library +modify:delete push serial and use custom serial insert instead +modify:re generator serial key when cdkey network create +fixed:http verification status incorrect +fixed:sometimes memory leak when read configure +update:depend library +delete:client module +delete:cd key module +delete:more protocol define +delete:parse cdkey protocol and use verification read instead + +工作流:支持centos和alma以及debian13系统支持 +修改:cdkey模块功能使用了依赖库的验证模块替换 +修改:序列号现在使用自定义序列号替换了 +修改:网络验证创建的CDKEY现在需要通过服务器重新生成的序列号 +修正:http验证状态错误 +修正:某些时候读取配置内存溢出 +更新:依赖库 +删除:客户端模块 +删除:cdkey模块 +删除:多余的协议定义 +删除:解析CDKEY协议并且使用验证模块读取替换 +================================================================ XEngine_Authorize V3.19.0.1001 added:more system support diff --git a/XEngine_Apps/Authorize_APPClient.sln b/XEngine_Apps/Authorize_APPClient.sln index c2e56bc4..93b84678 100644 --- a/XEngine_Apps/Authorize_APPClient.sln +++ b/XEngine_Apps/Authorize_APPClient.sln @@ -7,10 +7,10 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Authorize_APPClient", "Auth EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Authorize_APPLocal", "Authorize_APPLocal\Authorize_APPLocal.vcxproj", "{767151F7-230E-431B-AC6D-683F19F43C13}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Authorize_ClientModule", "Authorize_ClientModule\Authorize_ClientModule.vcxproj", "{82B923A9-2F4A-4784-A245-BAA6ABF5A358}" -EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Authorize_CDKeyNetVer", "Authorize_CDKeyNetVer\Authorize_CDKeyNetVer.vcxproj", "{1D584651-5E93-43BA-9A48-E7D199DC587F}" EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Authorize_ClientModule", "Authorize_ClientModule\Authorize_ClientModule.vcxproj", "{82B923A9-2F4A-4784-A245-BAA6ABF5A358}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|x64 = Debug|x64 @@ -35,14 +35,6 @@ Global {767151F7-230E-431B-AC6D-683F19F43C13}.Release|x64.Build.0 = Release|x64 {767151F7-230E-431B-AC6D-683F19F43C13}.Release|x86.ActiveCfg = Release|Win32 {767151F7-230E-431B-AC6D-683F19F43C13}.Release|x86.Build.0 = Release|Win32 - {82B923A9-2F4A-4784-A245-BAA6ABF5A358}.Debug|x64.ActiveCfg = Debug|x64 - {82B923A9-2F4A-4784-A245-BAA6ABF5A358}.Debug|x64.Build.0 = Debug|x64 - {82B923A9-2F4A-4784-A245-BAA6ABF5A358}.Debug|x86.ActiveCfg = Debug|Win32 - {82B923A9-2F4A-4784-A245-BAA6ABF5A358}.Debug|x86.Build.0 = Debug|Win32 - {82B923A9-2F4A-4784-A245-BAA6ABF5A358}.Release|x64.ActiveCfg = Release|x64 - {82B923A9-2F4A-4784-A245-BAA6ABF5A358}.Release|x64.Build.0 = Release|x64 - {82B923A9-2F4A-4784-A245-BAA6ABF5A358}.Release|x86.ActiveCfg = Release|Win32 - {82B923A9-2F4A-4784-A245-BAA6ABF5A358}.Release|x86.Build.0 = Release|Win32 {1D584651-5E93-43BA-9A48-E7D199DC587F}.Debug|x64.ActiveCfg = Debug|x64 {1D584651-5E93-43BA-9A48-E7D199DC587F}.Debug|x64.Build.0 = Debug|x64 {1D584651-5E93-43BA-9A48-E7D199DC587F}.Debug|x86.ActiveCfg = Debug|Win32 @@ -51,6 +43,14 @@ Global {1D584651-5E93-43BA-9A48-E7D199DC587F}.Release|x64.Build.0 = Release|x64 {1D584651-5E93-43BA-9A48-E7D199DC587F}.Release|x86.ActiveCfg = Release|Win32 {1D584651-5E93-43BA-9A48-E7D199DC587F}.Release|x86.Build.0 = Release|Win32 + {82B923A9-2F4A-4784-A245-BAA6ABF5A358}.Debug|x64.ActiveCfg = Debug|x64 + {82B923A9-2F4A-4784-A245-BAA6ABF5A358}.Debug|x64.Build.0 = Debug|x64 + {82B923A9-2F4A-4784-A245-BAA6ABF5A358}.Debug|x86.ActiveCfg = Debug|Win32 + {82B923A9-2F4A-4784-A245-BAA6ABF5A358}.Debug|x86.Build.0 = Debug|Win32 + {82B923A9-2F4A-4784-A245-BAA6ABF5A358}.Release|x64.ActiveCfg = Release|x64 + {82B923A9-2F4A-4784-A245-BAA6ABF5A358}.Release|x64.Build.0 = Release|x64 + {82B923A9-2F4A-4784-A245-BAA6ABF5A358}.Release|x86.ActiveCfg = Release|Win32 + {82B923A9-2F4A-4784-A245-BAA6ABF5A358}.Release|x86.Build.0 = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/XEngine_Apps/Authorize_APPClient/Authorize_APPClient.cpp b/XEngine_Apps/Authorize_APPClient/Authorize_APPClient.cpp index c161059d..8834b959 100644 --- a/XEngine_Apps/Authorize_APPClient/Authorize_APPClient.cpp +++ b/XEngine_Apps/Authorize_APPClient/Authorize_APPClient.cpp @@ -29,6 +29,7 @@ using namespace std; #include #include #include +#include "../../XEngine_Source/XEngine_DependLibrary/XEngine_Module/XEngine_Verification/Verification_Define.h" #include "../../XEngine_Source/XAuth_Protocol.h" //Windows::vs2022 x86 debug 编译即可 @@ -48,7 +49,7 @@ XSOCKET m_Socket = 0; LPCXSTR lpszUser = _X("123123aa"); LPCXSTR lpszPass = _X("123123"); LPCXSTR lpszHWCode = _X("2FDWAD02JD2091"); -LPCXSTR lpszSerial = _X("XAUTH-XYRYS-JKG60-N510G-ZUFDH-54-V7I3H"); +LPCXSTR lpszSerial = _X("Y5V0Y-03O2L-E7G8Y-NX1DR-3EGVO-UDIRQ-GBBKO-FGX0C"); LPCXSTR lpszEmail = _X("486179@qq.com"); __int64x nPhoneNumber = 1366666666; __int64x nIDNumber = 511025111111111111; @@ -91,7 +92,7 @@ XHTHREAD AuthClient_Thread() printf(_X("登录失败,错误:%d\n"), st_ProtocolHdr.wReserve); } } - else if (XENGINE_COMMUNICATION_PROTOCOL_OPERATOR_CODE_AUTH_TIMEDOUT == st_ProtocolHdr.unOperatorCode) + else if (XENGINE_COMMUNICATION_PROTOCOL_OPERATOR_CODE_AUTH_EXPIRED == st_ProtocolHdr.unOperatorCode) { bTimeOut = false; printf(_X("用户过期\n")); @@ -258,16 +259,16 @@ int AuthClient_Login() { XCHAR tszMsgBuffer[2048]; XENGINE_PROTOCOLHDR st_ProtocolHdr; //协议头 - AUTHORIZE_PROTOCOL_USERAUTHEX st_AuthUser; + XENGINE_PROTOCOL_USERAUTHEX st_AuthUser; memset(tszMsgBuffer, '\0', sizeof(tszMsgBuffer)); memset(&st_ProtocolHdr, '\0', sizeof(XENGINE_PROTOCOLHDR)); - memset(&st_AuthUser, '\0', sizeof(AUTHORIZE_PROTOCOL_USERAUTHEX)); + memset(&st_AuthUser, '\0', sizeof(XENGINE_PROTOCOL_USERAUTHEX)); st_ProtocolHdr.wHeader = XENGIEN_COMMUNICATION_PACKET_PROTOCOL_HEADER; st_ProtocolHdr.unOperatorType = ENUM_XENGINE_COMMUNICATION_PROTOCOL_TYPE_AUTH; st_ProtocolHdr.unOperatorCode = XENGINE_COMMUNICATION_PROTOCOL_OPERATOR_CODE_AUTH_REQLOGIN; - st_ProtocolHdr.unPacketSize = sizeof(AUTHORIZE_PROTOCOL_USERAUTHEX); + st_ProtocolHdr.unPacketSize = sizeof(XENGINE_PROTOCOL_USERAUTHEX); st_ProtocolHdr.wTail = XENGIEN_COMMUNICATION_PACKET_PROTOCOL_TAIL; st_AuthUser.enDeviceType = ENUM_PROTOCOL_FOR_DEVICE_TYPE_PC_WINDOWS; @@ -308,7 +309,7 @@ int AuthClient_Login() memcpy(tszMsgBuffer, &st_ProtocolHdr, sizeof(XENGINE_PROTOCOLHDR)); memcpy(tszMsgBuffer + sizeof(XENGINE_PROTOCOLHDR), &st_AuthUser, st_ProtocolHdr.unPacketSize); - nMsgLen = sizeof(XENGINE_PROTOCOLHDR) + sizeof(AUTHORIZE_PROTOCOL_USERAUTHEX); + nMsgLen = sizeof(XENGINE_PROTOCOLHDR) + sizeof(XENGINE_PROTOCOL_USERAUTHEX); } if (!XClient_TCPSelect_SendMsg(m_Socket, tszMsgBuffer, nMsgLen)) @@ -516,40 +517,6 @@ int AuthClient_Delete() } return 0; } -int AuthClient_Try() -{ - Json::Value st_JsonRoot; - Json::Value st_JsonObject; - LPCXSTR lpszSerialNet = _X("cpuid:112233"); //通过此可以做临时网络验证,安全性比本地临时验证高 - LPCXSTR lpszUrl = _X("http://127.0.0.1:5302/auth/user/try"); - - st_JsonObject["tszVSerial"] = lpszSerialNet; - st_JsonRoot["st_VERTemp"] = st_JsonObject; - - int nMsgLen = 0; - XCHAR* ptszMsgBuffer = NULL; - - if (bEncrypto) - { - XCHAR tszENBuffer[2048] = {}; - XCHAR tszDEBuffer[2048] = {}; - - nMsgLen = st_JsonRoot.toStyledString().length(); - Cryption_XCrypto_Encoder(st_JsonRoot.toStyledString().c_str(), &nMsgLen, (XBYTE*)tszENBuffer, lpszPass); - APIClient_Http_Request(_X("POST"), lpszUrl, tszENBuffer, NULL, &ptszMsgBuffer, &nMsgLen); - - Cryption_XCrypto_Decoder(ptszMsgBuffer, &nMsgLen, tszDEBuffer, lpszPass); - printf("AuthClient_Try:\n%s\n", tszDEBuffer); - BaseLib_Memory_FreeCStyle((XPPMEM)&ptszMsgBuffer); - } - else - { - APIClient_Http_Request(_X("POST"), lpszUrl, st_JsonRoot.toStyledString().c_str(), NULL, &ptszMsgBuffer, &nMsgLen); - printf("AuthClient_Try:\n%s\n", ptszMsgBuffer); - BaseLib_Memory_FreeCStyle((XPPMEM)&ptszMsgBuffer); - } - return 0; -} int main() { #ifdef _MSC_BUILD @@ -578,7 +545,6 @@ int main() std::this_thread::sleep_for(std::chrono::seconds(10)); AuthClient_Delete(); - AuthClient_Try(); bRun = false; XClient_TCPSelect_Close(m_Socket); diff --git a/XEngine_Apps/Authorize_APPLocal/Authorize_APPLocal.cpp b/XEngine_Apps/Authorize_APPLocal/Authorize_APPLocal.cpp index 23fad030..7f60dbd9 100644 --- a/XEngine_Apps/Authorize_APPLocal/Authorize_APPLocal.cpp +++ b/XEngine_Apps/Authorize_APPLocal/Authorize_APPLocal.cpp @@ -7,10 +7,10 @@ #pragma comment(lib,"XEngine_SystemSdk/XEngine_SystemApi") #ifdef _WIN64 #pragma comment(lib,"../../XEngine_Source/x64/Debug/jsoncpp") -#pragma comment(lib,"../../XEngine_Source/x64/Debug/AuthorizeModule_CDKey") +#pragma comment(lib,"../../XEngine_Source/x64/Debug/XEngine_Verification") #else #pragma comment(lib,"../../XEngine_Source/Debug/jsoncpp") -#pragma comment(lib,"../../XEngine_Source/Debug/AuthorizeModule_CDKey") +#pragma comment(lib,"../../XEngine_Source/Debug/XEngine_Verification") #endif #endif #include @@ -27,173 +27,65 @@ #include #include #include +#include "../../XEngine_Source/XEngine_DependLibrary/XEngine_Module/XEngine_Verification/Verification_Define.h" +#include "../../XEngine_Source/XEngine_DependLibrary/XEngine_Module/XEngine_Verification/Verification_Error.h" #include "../../XEngine_Source/XAuth_Protocol.h" -#include "../../XEngine_Source/AuthorizeModule_CDKey/CDKey_Define.h" -#include "../../XEngine_Source/AuthorizeModule_CDKey/CDKey_Error.h" //需要优先配置XEngine //WINDOWS支持VS2022 x86 debug 编译调试 -//g++ -std=c++17 -Wall -g Authorize_APPLocal.cpp -o Authorize_APPLocal.exe -I ../../XEngine_Source/XEngine_DependLibrary/XEngine_Module/jsoncpp -L ../../XEngine_Release -lXEngine_BaseLib -lXEngine_Cryption -lXEngine_SystemApi -lAuthorizeModule_CDKey -ljsoncpp -Wl,-rpath=../../XEngine_Release +//g++ -std=c++17 -Wall -g Authorize_APPLocal.cpp -o Authorize_APPLocal.exe -I ../../XEngine_Source/XEngine_DependLibrary/XEngine_Module/jsoncpp -L ../../XEngine_Release -lXEngine_BaseLib -lXEngine_Cryption -lXEngine_SystemApi -lXEngine_Verification -ljsoncpp -Wl,-rpath=../../XEngine_Release XCHAR tszSerialStr[XPATH_MAX] = {}; //1.创建CDKEY.或者由管理员创建. bool Authorize_APPLocal_Create(LPCXSTR lpszKeyFile, LPCXSTR lpszPasswd) { - int nRet = 0; - XCHAR tszENCodecBuffer[4096] = {}; - XCHAR tszDECodecBuffer[4096] = {}; - XENGINE_AUTHORIZE_LOCAL st_AuthLocal = {}; - SYSTEMAPI_SERIAL_INFOMATION st_SDKSerial = {}; + VERIFICATION_XAUTHKEY st_AuthLocal = {}; - SystemApi_HardWare_GetSerial(&st_SDKSerial); - //网络信息 - st_AuthLocal.nPort = 5302; - _tcsxcpy(st_AuthLocal.tszAddr, _X("http://app.xyry.org")); - //软件信息 - st_AuthLocal.st_AuthAppInfo.bInit = false; - st_AuthLocal.st_AuthAppInfo.nExecTime = 0; - _xstprintf(st_AuthLocal.st_AuthAppInfo.tszAppName, _X("XEngine_Authorize")); - _xstprintf(st_AuthLocal.st_AuthAppInfo.tszAppVer, _X("V1.0.0.1")); - //注册信息 - st_AuthLocal.st_AuthRegInfo.enHWType = ENUM_AUTHORIZE_MODULE_HW_TYPE_BIOS; - st_AuthLocal.st_AuthRegInfo.enRegType = ENUM_AUTHORIZE_MODULE_CDKEY_TYPE_TRY; - st_AuthLocal.st_AuthRegInfo.enSerialType = ENUM_AUTHORIZE_MODULE_SERIAL_TYPE_TIME; - st_AuthLocal.st_AuthRegInfo.enVModeType = ENUM_AUTHORIZE_MODULE_VERMODE_TYPE_LOCAL; - st_AuthLocal.st_AuthRegInfo.nHasTime = 0; - BaseLib_Time_TimeToStr(st_AuthLocal.st_AuthRegInfo.tszCreateTime); - _tcsxcpy(st_AuthLocal.st_AuthRegInfo.tszHardware, st_SDKSerial.tszBoardSerial); - _xstprintf(st_AuthLocal.st_AuthRegInfo.tszLeftTime, _X("0")); //0次试用 - //序列号信息.可以不写,如果不想启用用户自己注册.或者交给管理员填充 - int nSerialCount = 3; - XCHAR** pptszSerialList; - Authorize_Serial_Create(&pptszSerialList, _X("XAUTH"), nSerialCount, 9); - _tcsxcpy(tszSerialStr, pptszSerialList[0]); - - st_AuthLocal.st_AuthSerial.st_TimeLimit.nTimeCount = 5; - _tcsxcpy(st_AuthLocal.st_AuthSerial.st_TimeLimit.tszTimeSerial, pptszSerialList[0]); - - st_AuthLocal.st_AuthSerial.st_DataLimit.bTimeAdd = false; - _tcsxcpy(st_AuthLocal.st_AuthSerial.st_DataLimit.tszDataSerial, pptszSerialList[1]); - XCHAR tszTimeStr[128] = {}; - XENGINE_LIBTIME st_LibTime = {}; - BaseLib_Time_GetSysTime(&st_LibTime); - st_LibTime.wYear += 1; //一年后过期 - BaseLib_Time_TimeToStr(tszTimeStr, NULL, true, &st_LibTime); - - _tcsxcpy(st_AuthLocal.st_AuthSerial.st_DataLimit.tszDataTime, tszTimeStr); - - _tcsxcpy(st_AuthLocal.st_AuthSerial.st_UNLimit.tszUNLimitSerial, pptszSerialList[2]); - //用户信息 - _xstprintf(st_AuthLocal.st_AuthUserInfo.tszUserName, _X("qyt")); - _xstprintf(st_AuthLocal.st_AuthUserInfo.tszUserContact, _X("486179@qq.com")); - - Authorize_CDKey_WriteMemory(tszDECodecBuffer, &nRet, &st_AuthLocal); - Cryption_XCrypto_Encoder(tszDECodecBuffer, &nRet, (XBYTE*)tszENCodecBuffer, lpszPasswd); - FILE* pSt_File = _xtfopen(lpszKeyFile, _X("wb")); - if (NULL == pSt_File) + if (!Verification_XAuthKey_KeyInit(&st_AuthLocal)) { - printf("create key file is failed\n"); + printf("Verification_XAuthKey_KeyInit is failed\n"); return false; } - fwrite(tszENCodecBuffer, 1, nRet, pSt_File); - fclose(pSt_File); + _tcsxcpy(tszSerialStr, st_AuthLocal.st_AuthSerial.st_TimeLimit.tszTimeSerial); + //用户信息 + _xstprintf(st_AuthLocal.st_AuthUserInfo.tszUserName, _X("qyt")); + _xstprintf(st_AuthLocal.st_AuthUserInfo.tszUserContact, _X("486179@qq.com")); + Verification_XAuthKey_FileWrite(&st_AuthLocal, lpszKeyFile, lpszPasswd); return true; } //2.打开CDKEY并且授权(授权只能通过自我授权或者由管理员授权,用户不应该可以自己随意授权) -bool Authorize_APPLocal_Auth(LPCXSTR lpszKeyFile, LPCXSTR lpszPasswd, LPCXSTR lpszSerialStr) +bool Authorize_APPLocal_Auth(LPCXSTR lpszKeyFile, LPCXSTR lpszPasswd) { - XCHAR tszENCodecBuffer[4096] = {}; - XCHAR tszDECodecBuffer[4096] = {}; - XENGINE_AUTHORIZE_LOCAL st_AuthLocal = {}; + VERIFICATION_XAUTHKEY st_AuthLocal = {}; - FILE* pSt_File = _xtfopen(lpszKeyFile, _X("rb")); - if (NULL == pSt_File) + if (!Verification_XAuthKey_FileRead(&st_AuthLocal, lpszKeyFile, lpszPasswd)) { - printf("open key file is failed\n"); + printf("Verification_XAuthKey_FileRead is failed\n"); return false; } - int nRet = fread(tszENCodecBuffer, 1, sizeof(tszENCodecBuffer), pSt_File); - fclose(pSt_File); - - Cryption_XCrypto_Decoder(tszENCodecBuffer, &nRet, tszDECodecBuffer, lpszPasswd); - //printf("大小:%d,内容:\n%s\n", nRet, tszDECodecBuffer); - - Authorize_CDKey_ReadMemory(tszDECodecBuffer, nRet, &st_AuthLocal); - if (!Authorize_CDKey_UserRegister(&st_AuthLocal, lpszSerialStr)) + if (!Verification_XAuthKey_UserRegister(&st_AuthLocal, tszSerialStr)) { - printf("serila verifacation is failed,error code:%lX\n", Authorize_GetLastError()); + printf("serila verifacation is failed,error code:%lX\n", Verification_GetLastError()); return false; } - - memset(tszENCodecBuffer, '\0', sizeof(tszENCodecBuffer)); - memset(tszDECodecBuffer, '\0', sizeof(tszDECodecBuffer)); - Authorize_CDKey_WriteMemory(tszDECodecBuffer, &nRet, &st_AuthLocal); - Cryption_XCrypto_Encoder(tszDECodecBuffer, &nRet, (XBYTE*)tszENCodecBuffer, lpszPasswd); - pSt_File = _xtfopen(lpszKeyFile, _X("wb")); - fwrite(tszENCodecBuffer, 1, nRet, pSt_File); - fclose(pSt_File); + Verification_XAuthKey_FileWrite(&st_AuthLocal, lpszKeyFile, lpszPasswd); return true; } //3.验证CDkey -bool Authorize_APPLocal_Auth(LPCXSTR lpszKeyFile, LPCXSTR lpszPasswd) +bool Authorize_APPLocal_Ver(LPCXSTR lpszKeyFile, LPCXSTR lpszPasswd) { - XCHAR tszENCodecBuffer[4096] = {}; - XCHAR tszDECodecBuffer[4096] = {}; - XENGINE_AUTHORIZE_LOCAL st_AuthLocal = {}; - - FILE* pSt_File = _xtfopen(lpszKeyFile, _X("rb")); - if (NULL == pSt_File) + VERIFICATION_XAUTHKEY st_AuthLocal = {}; + if (!Verification_XAuthKey_FileRead(&st_AuthLocal, lpszKeyFile, lpszPasswd)) { - printf("open key file is failed\n"); + printf("Verification_XAuthKey_FileRead is failed\n"); return false; } - int nRet = fread(tszENCodecBuffer, 1, sizeof(tszENCodecBuffer), pSt_File); - fclose(pSt_File); - - Cryption_XCrypto_Decoder(tszENCodecBuffer, &nRet, tszDECodecBuffer, lpszPasswd); - //printf("大小:%d,内容:\n%s\n", nRet, tszDECodecBuffer); - Authorize_CDKey_ReadMemory(tszDECodecBuffer, nRet, &st_AuthLocal); - if (!Authorize_CDKey_GetLeftTimer(&st_AuthLocal)) + if (!Verification_XAuthKey_KeyParse(&st_AuthLocal)) { - //失败也需要重写CDKEY - memset(tszENCodecBuffer, '\0', sizeof(tszENCodecBuffer)); - memset(tszDECodecBuffer, '\0', sizeof(tszDECodecBuffer)); - Authorize_CDKey_WriteMemory(tszDECodecBuffer, &nRet, &st_AuthLocal); - Cryption_XCrypto_Encoder(tszDECodecBuffer, &nRet, (XBYTE*)tszENCodecBuffer, lpszPasswd); - pSt_File = _xtfopen(lpszKeyFile, _X("wb")); - fwrite(tszENCodecBuffer, 1, nRet, pSt_File); - fclose(pSt_File); - printf("verifaction is failed\n"); - return false; - } - SYSTEMAPI_SERIAL_INFOMATION st_SDKSerial = {}; - SystemApi_HardWare_GetSerial(&st_SDKSerial); - - if (ENUM_AUTHORIZE_MODULE_VERMODE_TYPE_LOCAL != st_AuthLocal.st_AuthRegInfo.enVModeType) - { - printf("cdkey does not support local verification\n"); - return false; } - if (ENUM_AUTHORIZE_MODULE_HW_TYPE_BIOS != st_AuthLocal.st_AuthRegInfo.enHWType) - { - printf("cdkey serial type is incorrect\n"); - return false; - } - if (0 != _tcsxnicmp(st_SDKSerial.tszBoardSerial, st_AuthLocal.st_AuthRegInfo.tszHardware, _tcsxlen(st_SDKSerial.tszBoardSerial))) - { - printf("cdkey serial verification is failed\n"); - return false; - } - - memset(tszENCodecBuffer, '\0', sizeof(tszENCodecBuffer)); - memset(tszDECodecBuffer, '\0', sizeof(tszDECodecBuffer)); - Authorize_CDKey_WriteMemory(tszDECodecBuffer, &nRet, &st_AuthLocal); - Cryption_XCrypto_Encoder(tszDECodecBuffer, &nRet, (XBYTE*)tszENCodecBuffer, lpszPasswd); - pSt_File = _xtfopen(lpszKeyFile, _X("wb")); - fwrite(tszENCodecBuffer, 1, nRet, pSt_File); - fclose(pSt_File); + Verification_XAuthKey_FileWrite(&st_AuthLocal, lpszKeyFile, lpszPasswd); return true; } int main() @@ -213,14 +105,14 @@ int main() } Authorize_APPLocal_Auth(lpszFileStr, lpszPasswd); - if (!Authorize_APPLocal_Auth(lpszFileStr, lpszPasswd, tszSerialStr)) + if (!Authorize_APPLocal_Ver(lpszFileStr, lpszPasswd)) { return -1; } for (int i = 0; i < 10; i++) { - if (!Authorize_APPLocal_Auth(lpszFileStr, lpszPasswd)) + if (!Authorize_APPLocal_Ver(lpszFileStr, lpszPasswd)) { break; } diff --git a/XEngine_Apps/Authorize_CDKeyNetVer/Authorize_CDKeyNetVer.cpp b/XEngine_Apps/Authorize_CDKeyNetVer/Authorize_CDKeyNetVer.cpp index 1bc0f659..65e4d661 100644 --- a/XEngine_Apps/Authorize_CDKeyNetVer/Authorize_CDKeyNetVer.cpp +++ b/XEngine_Apps/Authorize_CDKeyNetVer/Authorize_CDKeyNetVer.cpp @@ -1,4 +1,5 @@ #ifdef _MSC_BUILD +#define _CRT_SECURE_NO_WARNINGS #include #include #pragma comment(lib,"Ws2_32") @@ -8,10 +9,10 @@ #pragma comment(lib,"XEngine_SystemSdk/XEngine_SystemConfig") #ifdef _WIN64 #pragma comment(lib,"../../XEngine_Source/x64/Debug/jsoncpp") -#pragma comment(lib,"../../XEngine_Source/x64/Debug/AuthorizeModule_CDKey") +#pragma comment(lib,"../../XEngine_Source/x64/Debug/XEngine_Verification") #else #pragma comment(lib,"../../XEngine_Source/Debug/jsoncpp") -#pragma comment(lib,"../../XEngine_Source/Debug/AuthorizeModule_CDKey") +#pragma comment(lib,"../../XEngine_Source/Debug/XEngine_Verification") #endif #endif #include @@ -29,15 +30,13 @@ #include #include #include +#include "../../XEngine_Source/XEngine_DependLibrary/XEngine_Module/XEngine_Verification/Verification_Define.h" +#include "../../XEngine_Source/XEngine_DependLibrary/XEngine_Module/XEngine_Verification/Verification_Error.h" #include "../../XEngine_Source/XAuth_Protocol.h" -#include "../../XEngine_Source/AuthorizeModule_CDKey/CDKey_Define.h" -#include "../../XEngine_Source/AuthorizeModule_CDKey/CDKey_Error.h" //需要优先配置XEngine //WINDOWS支持VS2022 x64 debug 编译调试 -//g++ -std=c++17 -Wall -g Authorize_CDKeyNetVer.cpp -o Authorize_CDKeyNetVer.exe -I ../../XEngine_Source/XEngine_DependLibrary/XEngine_Module/jsoncpp -lXEngine_BaseLib -L ../../XEngine_Release -lXEngine_Cryption -lXClient_APIHelp -lXEngine_SystemConfig -lAuthorizeModule_CDKey -ljsoncpp -Wl,-rpath=../../XEngine_Release - -//#define XENGINE_AUTHORIZE_CDKEY_CRYPTO +//g++ -std=c++17 -Wall -g Authorize_CDKeyNetVer.cpp -o Authorize_CDKeyNetVer.exe -I ../../XEngine_Source/XEngine_DependLibrary/XEngine_Module/jsoncpp -lXEngine_BaseLib -L ../../XEngine_Release -lXEngine_Cryption -lXClient_APIHelp -lXEngine_SystemConfig -lXEngine_Verification -ljsoncpp -Wl,-rpath=../../XEngine_Release LPCXSTR lpszPasswd = _X("123123"); @@ -47,135 +46,48 @@ int main() WSADATA st_WSAData; WSAStartup(MAKEWORD(2, 2), &st_WSAData); #endif - int nLen = 0; - int nCode = 0; - Json::Value st_JsonRoot; - Json::Value st_JsonAPPInfo; - Json::Value st_JsonREGInfo; - Json::Value st_JsonUserInfo; - st_JsonRoot["tszAddr"] = "http://app.xyry.org"; - st_JsonRoot["nPort"] = 5501; - - st_JsonAPPInfo["tszAppName"] = "XEngine"; - st_JsonAPPInfo["tszAppVer"] = "1.0.0.1001"; - - st_JsonREGInfo["tszHardware"] = "5501012NE21N"; - st_JsonREGInfo["enSerialType"] = ENUM_AUTHORIZE_MODULE_SERIAL_TYPE_TIME; - st_JsonREGInfo["enRegType"] = ENUM_AUTHORIZE_MODULE_CDKEY_TYPE_TRY; - st_JsonREGInfo["enHWType"] = ENUM_AUTHORIZE_MODULE_HW_TYPE_CPU; - st_JsonREGInfo["enVModeType"] = ENUM_AUTHORIZE_MODULE_VERMODE_TYPE_LOCAL; - - st_JsonUserInfo["tszUserName"] = "qyt"; - st_JsonUserInfo["tszUserContact"] = "486179@qq.com"; - - st_JsonRoot["st_AuthAppInfo"] = st_JsonAPPInfo; - st_JsonRoot["st_AuthRegInfo"] = st_JsonREGInfo; - st_JsonRoot["st_AuthUserInfo"] = st_JsonUserInfo; + int nMSGLen = 0; + XCHAR tszMSGBuffer[2048] = {}; + VERIFICATION_XAUTHKEY st_AuthLocal = {}; XCHAR* ptszCreateBuffer = NULL; LPCXSTR lpszCreateUrl = _X("http://127.0.0.1:5302/auth/cdkey/create"); //1. 创建CDKEY -#ifdef XENGINE_AUTHORIZE_CDKEY_CRYPTO - //加密 - CHAR tszCodecBuffer[4096]; - memset(tszCodecBuffer, '\0', sizeof(tszCodecBuffer)); - - nLen = st_JsonRoot.toStyledString().length(); - Cryption_XCrypto_Encoder(st_JsonRoot.toStyledString().c_str(), &nLen, (XBYTE*)tszCodecBuffer, lpszPasswd); - if (!APIClient_Http_Request(_X("POST"), lpszCreateUrl, tszCodecBuffer, &nCode, &ptszCreateBuffer, &nLen)) -#else - if (!APIClient_Http_Request(_X("POST"), lpszCreateUrl, st_JsonRoot.toStyledString().c_str(), &nCode, &ptszCreateBuffer, &nLen)) -#endif + if (!APIClient_Http_Request(_X("POST"), lpszCreateUrl, NULL, NULL, &ptszCreateBuffer, &nMSGLen)) { printf("发送投递失败!\n"); return 0; } - - XCHAR tszMsgBuffer[4096]; - memset(tszMsgBuffer, '\0', sizeof(tszMsgBuffer)); -#ifdef XENGINE_AUTHORIZE_CDKEY_CRYPTO - //解密 - memset(tszCodecBuffer, '\0', sizeof(tszCodecBuffer)); - - Cryption_XCrypto_Decoder(ptszCreateBuffer, &nLen, tszCodecBuffer, lpszPasswd); - printf("接受到数据,大小:%d,内容:\n%s\n", nLen, tszCodecBuffer); - //你也可以通过授权模块的API函数来读内存,都一回事,这里为了方便直接写了,请求分钟卡,拥有10分钟,也可以写自定义时间格式 - SystemConfig_File_WriteProfileFromMemory(tszCodecBuffer, nLen, "AuthReg", "tszLeftTime", "10", tszMsgBuffer, &nLen); -#else - SystemConfig_File_WriteProfileFromMemory(ptszCreateBuffer, nLen, "AuthReg", "tszLeftTime", "10", tszMsgBuffer, &nLen); - printf("接受到数据,大小:%d,内容:\n%s\n", nLen, ptszCreateBuffer); -#endif + Verification_XAuthKey_ReadMemory(ptszCreateBuffer, nMSGLen, &st_AuthLocal); + sprintf(st_AuthLocal.st_AuthUserInfo.tszUserName, _X("qyt")); + sprintf(st_AuthLocal.st_AuthUserInfo.tszUserContact, _X("486179@qq.com")); BaseLib_Memory_FreeCStyle((XPPMEM)&ptszCreateBuffer); + //2. 授权CDKEY XCHAR* ptszAuthBuffer = NULL; LPCXSTR lpszAuthUrl = _X("http://127.0.0.1:5302/auth/cdkey/auth"); -#ifdef XENGINE_AUTHORIZE_CDKEY_CRYPTO - //加密 - memset(tszCodecBuffer, '\0', sizeof(tszCodecBuffer)); - nLen = nLen; - Cryption_XCrypto_Encoder(tszMsgBuffer, &nLen, (XBYTE*)tszCodecBuffer, lpszPasswd); - if (!APIClient_Http_Request(_X("POST"), lpszAuthUrl, tszCodecBuffer, &nCode, &ptszAuthBuffer, &nLen)) -#else - if (!APIClient_Http_Request(_X("POST"), lpszAuthUrl, tszMsgBuffer, &nCode, &ptszAuthBuffer, &nLen)) -#endif + Verification_XAuthKey_WriteMemory(tszMSGBuffer, &nMSGLen, &st_AuthLocal); + if (!APIClient_Http_Request(_X("POST"), lpszAuthUrl, tszMSGBuffer, NULL, &ptszAuthBuffer, &nMSGLen)) { printf("发送投递失败!\n"); return 0; } -#ifdef XENGINE_AUTHORIZE_CDKEY_CRYPTO - //解密 - memset(tszCodecBuffer, '\0', sizeof(tszCodecBuffer)); - - Cryption_XCrypto_Decoder(ptszAuthBuffer, &nLen, tszCodecBuffer, lpszPasswd); - printf("接受到数据,大小:%d,内容:\n%s\n", nLen, tszCodecBuffer); - //你也可以通过授权模块的API函数来读内存,都一回事,这里为了方便直接写了,请求分钟卡,拥有10分钟,也可以写自定义时间格式 - SystemConfig_File_WriteProfileFromMemory(tszCodecBuffer, nLen, "AuthReg", "tszLeftTime", "10", tszMsgBuffer, &nLen); -#else - printf("接受到数据,大小:%d,内容:\n%s\n", nLen, ptszAuthBuffer); - SystemConfig_File_WriteProfileFromMemory(ptszAuthBuffer, nLen, "AuthReg", "tszLeftTime", "10", tszMsgBuffer, &nLen); -#endif + printf("接受到数据,大小:%d,内容:\n%s\n", nMSGLen, ptszAuthBuffer); + memset(tszMSGBuffer, 0, sizeof(tszMSGBuffer)); + Verification_XAuthKey_WriteMemory(tszMSGBuffer, &nMSGLen, &st_AuthLocal); BaseLib_Memory_FreeCStyle((XPPMEM)&ptszAuthBuffer); //3. 验证CDKEY XCHAR* ptszVerBuffer = NULL; LPCXSTR lpszVerUrl = _X("http://127.0.0.1:5302/auth/cdkey/ver"); - XENGINE_AUTHORIZE_LOCAL st_Authorize; - memset(&st_Authorize, '\0', sizeof(XENGINE_AUTHORIZE_LOCAL)); - -#ifdef XENGINE_AUTHORIZE_CDKEY_CRYPTO - //加密 - memset(tszCodecBuffer, '\0', sizeof(tszCodecBuffer)); - Cryption_XCrypto_Encoder(tszMsgBuffer, &nLen, (XBYTE*)tszCodecBuffer, lpszPasswd); - if (!APIClient_Http_Request(_X("POST"), lpszVerUrl, tszCodecBuffer, &nCode, &ptszVerBuffer, &nLen)) -#else - if (!APIClient_Http_Request(_X("POST"), lpszVerUrl, tszMsgBuffer, &nCode, &ptszVerBuffer, &nLen)) -#endif + VERIFICATION_XAUTHKEY st_Authorize = {}; + if (!APIClient_Http_Request(_X("POST"), lpszVerUrl, tszMSGBuffer, NULL, &ptszVerBuffer, &nMSGLen)) { printf("发送投递失败!\n"); return 0; } -#ifdef XENGINE_AUTHORIZE_CDKEY_CRYPTO - //解密 - memset(tszCodecBuffer, '\0', sizeof(tszCodecBuffer)); - - Cryption_XCrypto_Decoder(ptszVerBuffer, &nLen, tszCodecBuffer, lpszPasswd); - printf("接受到数据,大小:%d,内容:\n%s\n", nLen, tszCodecBuffer); - Authorize_CDKey_ReadMemory(tszCodecBuffer, nLen, &st_Authorize); -#else - printf("接受到数据,大小:%d,内容:\n%s\n", nLen, ptszVerBuffer); - Authorize_CDKey_ReadMemory(ptszVerBuffer, nLen, &st_Authorize); -#endif BaseLib_Memory_FreeCStyle((XPPMEM)&ptszVerBuffer); - //4. 也可以本地验证 - if (Authorize_CDKey_GetLeftTimer(&st_Authorize)) - { - printf("ok\n"); - } - else - { - printf("timeout\n"); - } #ifdef _MSC_BUILD WSACleanup(); #endif diff --git a/XEngine_Apps/Authorize_ClientModule/Authorize_ClientModule.cpp b/XEngine_Apps/Authorize_ClientModule/Authorize_ClientModule.cpp index 5e7422c8..6131e491 100644 --- a/XEngine_Apps/Authorize_ClientModule/Authorize_ClientModule.cpp +++ b/XEngine_Apps/Authorize_ClientModule/Authorize_ClientModule.cpp @@ -3,9 +3,9 @@ #include #pragma comment(lib,"Ws2_32.lib") #ifdef _WIN64 -#pragma comment(lib,"../../XEngine_Source/x64/Debug/AuthorizeModule_Client") +#pragma comment(lib,"../../XEngine_Source/x64/Debug/XEngine_Verification") #else -#pragma comment(lib,"../../XEngine_Source/Debug/AuthorizeModule_Client") +#pragma comment(lib,"../../XEngine_Source/Debug/XEngine_Verification") #endif #endif #include @@ -14,27 +14,26 @@ #include using namespace std; #include -#include "../../XEngine_Source/XAuth_BuildSwitch.h" -#include "../../XEngine_Source/AuthorizeModule_Client/AuthClient_Define.h" -#include "../../XEngine_Source/AuthorizeModule_Client/AuthClient_Error.h" +#include "../../XEngine_Source/XEngine_DependLibrary/XEngine_Module/XEngine_Verification/Verification_Define.h" +#include "../../XEngine_Source/XEngine_DependLibrary/XEngine_Module/XEngine_Verification/Verification_Error.h" //Windows::vs2022 x86 debug 编译即可 -//Linux MACOS::g++ -std=c++17 -Wall -g Authorize_ClientModule.cpp -o Authorize_ClientModule.exe -L ../../XEngine_Release/ -lAuthorizeModule_Client -ljsoncpp -Wl,-rpath=../../XEngine_Release +//Linux MACOS::g++ -std=c++17 -Wall -g Authorize_ClientModule.cpp -o Authorize_ClientModule.exe -L ../../XEngine_Release/ -lXEngine_Verification -ljsoncpp -Wl,-rpath=../../XEngine_Release int TestClient_HardLogin() { - if (!AuthClient_Connector_Connect(_X("127.0.0.1"), 5300)) + if (!Verification_XAuthNet_Connect(_X("127.0.0.1"), 5300)) { - printf("AuthClient_Connector_Connect:%lX\n", AuthClient_GetLastError()); + printf("Verification_XAuthNet_Connect:%lX\n", Verification_GetLastError()); return -1; } - if (!AuthClient_Connector_Login("2FDWAD02JD2091", "")) + if (!Verification_XAuthNet_Login("2FDWAD02JD2091", "")) { - printf("AuthClient_Connector_Login:%lX\n", AuthClient_GetLastError()); + printf("AuthClient_Connector_Login:%lX\n", Verification_GetLastError()); return -1; } - AuthClient_Connector_Close(); + Verification_XAuthNet_Close(); return 0; } @@ -43,7 +42,7 @@ int TestClient_TryLogin() //插入查询 LPCXSTR lpszTryInsert = _X("http://127.0.0.1:5302/auth/user/try"); - if (AuthClient_HTTPVer_TryRequest(lpszTryInsert)) + if (Verification_XAuthNet_TryRequest(lpszTryInsert)) { printf("ok\n"); } diff --git a/XEngine_Apps/VSCopy_Client_x64.bat b/XEngine_Apps/VSCopy_Client_x64.bat index fc40d03a..3ea232d5 100644 --- a/XEngine_Apps/VSCopy_Client_x64.bat +++ b/XEngine_Apps/VSCopy_Client_x64.bat @@ -1,10 +1,14 @@ copy /y "%XEngine_Lib64%\XEngine_BaseLib\XEngine_BaseLib.dll" "./" copy /y "%XEngine_Lib64%\XEngine_BaseLib\XEngine_BaseSafe.dll" "./" copy /y "%XEngine_Lib64%\XEngine_BaseLib\XEngine_Algorithm.dll" "./" + copy /y "%XEngine_Lib64%\XEngine_Core\XEngine_Cryption.dll" "./" +copy /y "%XEngine_Lib64%\XEngine_Core\XEngine_ManagePool.dll" "./" copy /y "%XEngine_Lib64%\XEngine_Client\XClient_Socket.dll" "./" copy /y "%XEngine_Lib64%\XEngine_Client\XClient_APIHelp.dll" "./" copy /y "%XEngine_Lib64%\XEngine_SystemSdk\XEngine_SystemApi.dll" "./" -copy /y "%XEngine_Lib64%\XEngine_SystemSdk\XEngine_SystemConfig.dll" "./" \ No newline at end of file +copy /y "%XEngine_Lib64%\XEngine_SystemSdk\XEngine_SystemConfig.dll" "./" + +copy /y "%XEngine_Lib64%\XEngine_RfcComponents\RfcComponents_HttpProtocol.dll" "./" \ No newline at end of file diff --git a/XEngine_Apps/VSCopy_Client_x86.bat b/XEngine_Apps/VSCopy_Client_x86.bat index ae37887b..cf107caa 100644 --- a/XEngine_Apps/VSCopy_Client_x86.bat +++ b/XEngine_Apps/VSCopy_Client_x86.bat @@ -1,10 +1,14 @@ copy /y "%XEngine_Lib32%\XEngine_BaseLib\XEngine_BaseLib.dll" "./" copy /y "%XEngine_Lib32%\XEngine_BaseLib\XEngine_BaseSafe.dll" "./" copy /y "%XEngine_Lib32%\XEngine_BaseLib\XEngine_Algorithm.dll" "./" + copy /y "%XEngine_Lib32%\XEngine_Core\XEngine_Cryption.dll" "./" +copy /y "%XEngine_Lib32%\XEngine_Core\XEngine_ManagePool.dll" "./" copy /y "%XEngine_Lib32%\XEngine_Client\XClient_Socket.dll" "./" copy /y "%XEngine_Lib32%\XEngine_Client\XClient_APIHelp.dll" "./" copy /y "%XEngine_Lib32%\XEngine_SystemSdk\XEngine_SystemApi.dll" "./" -copy /y "%XEngine_Lib32%\XEngine_SystemSdk\XEngine_SystemConfig.dll" "./" \ No newline at end of file +copy /y "%XEngine_Lib32%\XEngine_SystemSdk\XEngine_SystemConfig.dll" "./" + +copy /y "%XEngine_Lib32%\XEngine_RfcComponents\RfcComponents_HttpProtocol.dll" "./" \ No newline at end of file diff --git a/XEngine_Docment/Docment_en.docx b/XEngine_Docment/Docment_en.docx index dc7d0543..4d50a508 100644 Binary files a/XEngine_Docment/Docment_en.docx and b/XEngine_Docment/Docment_en.docx differ diff --git a/XEngine_Docment/Docment_zh.docx b/XEngine_Docment/Docment_zh.docx index d567a429..da425312 100644 Binary files a/XEngine_Docment/Docment_zh.docx and b/XEngine_Docment/Docment_zh.docx differ diff --git a/XEngine_Release/XEngine_Config/XEngine_VersionConfig.json b/XEngine_Release/XEngine_Config/XEngine_VersionConfig.json index 91c8a4c4..3ed04316 100644 --- a/XEngine_Release/XEngine_Config/XEngine_VersionConfig.json +++ b/XEngine_Release/XEngine_Config/XEngine_VersionConfig.json @@ -1,5 +1,6 @@ { "XVer":[ + "V3.20.0.1001 Build20251104", "V3.19.0.1001 Build20250821", "V3.18.0.1001 Build20250510", "V3.17.0.1001 Build20250305", diff --git a/XEngine_Source/AuthorizeModule_CDKey/AuthorizeModule_CDKey.def b/XEngine_Source/AuthorizeModule_CDKey/AuthorizeModule_CDKey.def deleted file mode 100644 index 99100dc5..00000000 --- a/XEngine_Source/AuthorizeModule_CDKey/AuthorizeModule_CDKey.def +++ /dev/null @@ -1,18 +0,0 @@ -LIBRARY - -EXPORTS - Authorize_GetLastError - - Authorize_Serial_Creator - Authorize_Serial_Create - Authorize_Serial_GetType - - Authorize_CDKey_WriteKey - Authorize_CDKey_ReadKey - Authorize_CDKey_WriteMemory - Authorize_CDKey_ReadMemory - Authorize_CDKey_BuildKeyTime - Authorize_CDKey_UserRegister - Authorize_CDKey_GetLeftTimer - Authorize_CDKey_WriteTime - Authorize_CDKey_ReadTime \ No newline at end of file diff --git a/XEngine_Source/AuthorizeModule_CDKey/AuthorizeModule_CDKey.vcxproj b/XEngine_Source/AuthorizeModule_CDKey/AuthorizeModule_CDKey.vcxproj deleted file mode 100644 index eca66d91..00000000 --- a/XEngine_Source/AuthorizeModule_CDKey/AuthorizeModule_CDKey.vcxproj +++ /dev/null @@ -1,277 +0,0 @@ - - - - - Debug - ARM64 - - - Debug - Win32 - - - Release - ARM64 - - - Release - Win32 - - - Debug - x64 - - - Release - x64 - - - - 17.0 - Win32Proj - {02a75bd0-416e-4aef-bf34-bd85bd86384f} - AuthorizeModuleCDKey - 10.0 - - - - DynamicLibrary - true - v143 - Unicode - - - DynamicLibrary - false - v143 - true - Unicode - - - DynamicLibrary - true - v143 - Unicode - - - DynamicLibrary - true - v143 - Unicode - - - DynamicLibrary - false - v143 - true - Unicode - - - DynamicLibrary - false - v143 - true - Unicode - - - - - - - - - - - - - - - - - - - - - - - - - - - $(XEngine_Include);..\AuthorizeModule_CDKey;$(IncludePath) - $(XEngine_Lib32);$(LibraryPath) - - - $(XEngine_Include);$(IncludePath) - $(XEngine_Lib64);$(LibraryPath) - - - $(XEngine_Include);$(IncludePath) - $(XEngine_LibArm64);$(LibraryPath) - - - $(XEngine_Include);$(IncludePath) - $(XEngine_Lib32);$(LibraryPath) - - - $(XEngine_Include);$(IncludePath) - $(XEngine_Lib64);$(LibraryPath) - - - $(XEngine_Include);$(IncludePath) - $(XEngine_LibArm64);$(LibraryPath) - - - - Level3 - true - WIN32;_DEBUG;AUTHORIZEMODULECDKEY_EXPORTS;_WINDOWS;_USRDLL;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) - true - Use - pch.h - stdcpp20 - stdc17 - - - Windows - true - false - AuthorizeModule_CDKey.def - - - - - Level3 - true - true - true - WIN32;NDEBUG;AUTHORIZEMODULECDKEY_EXPORTS;_WINDOWS;_USRDLL;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) - true - Use - pch.h - stdcpp20 - stdc17 - /utf-8 %(AdditionalOptions) - MultiThreadedDLL - - - Windows - true - true - true - false - AuthorizeModule_CDKey.def - - - - - Level3 - true - _DEBUG;AUTHORIZEMODULECDKEY_EXPORTS;_WINDOWS;_USRDLL;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) - true - Use - pch.h - stdcpp20 - stdc17 - - - Windows - true - false - AuthorizeModule_CDKey.def - - - - - Level3 - true - _DEBUG;AUTHORIZEMODULECDKEY_EXPORTS;_WINDOWS;_USRDLL;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) - true - Use - pch.h - stdcpp20 - stdc17 - - - Windows - true - false - AuthorizeModule_CDKey.def - - - - - Level3 - true - true - true - NDEBUG;AUTHORIZEMODULECDKEY_EXPORTS;_WINDOWS;_USRDLL;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) - true - Use - pch.h - stdcpp20 - stdc17 - MultiThreadedDLL - /utf-8 %(AdditionalOptions) - - - Windows - true - true - true - false - AuthorizeModule_CDKey.def - - - - - Level3 - true - true - true - NDEBUG;AUTHORIZEMODULECDKEY_EXPORTS;_WINDOWS;_USRDLL;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) - true - Use - pch.h - stdcpp20 - stdc17 - MultiThreadedDLL - /utf-8 %(AdditionalOptions) - - - Windows - true - true - true - false - AuthorizeModule_CDKey.def - - - - - - - - - - - - - - - - Create - Create - Create - Create - Create - Create - - - - - - - - - \ No newline at end of file diff --git a/XEngine_Source/AuthorizeModule_CDKey/AuthorizeModule_CDKey.vcxproj.filters b/XEngine_Source/AuthorizeModule_CDKey/AuthorizeModule_CDKey.vcxproj.filters deleted file mode 100644 index 03c0f6a5..00000000 --- a/XEngine_Source/AuthorizeModule_CDKey/AuthorizeModule_CDKey.vcxproj.filters +++ /dev/null @@ -1,68 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - {0a186122-00ae-4ad3-91b5-8a6fdf3950bc} - - - {c4ce44ad-ed56-48d6-92d8-49f68b1029d4} - - - {a33f91ec-f718-45b9-9ec5-d4f93a6482d0} - - - {39fc0e03-6422-475a-be30-30d77154b7d1} - - - - - 头文件 - - - 头文件 - - - 头文件\Authorize_CDKey - - - 头文件\Authorize_Serial - - - 头文件 - - - 头文件 - - - - - 源文件 - - - 源文件 - - - 源文件\Authorize_CDKey - - - 源文件\Authorize_Serial - - - - - 源文件 - - - \ No newline at end of file diff --git a/XEngine_Source/AuthorizeModule_CDKey/AuthorizeModule_CDKey.vcxproj.user b/XEngine_Source/AuthorizeModule_CDKey/AuthorizeModule_CDKey.vcxproj.user deleted file mode 100644 index 88a55094..00000000 --- a/XEngine_Source/AuthorizeModule_CDKey/AuthorizeModule_CDKey.vcxproj.user +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/XEngine_Source/AuthorizeModule_CDKey/Authorize_CDKey/Authorize_CDKey.cpp b/XEngine_Source/AuthorizeModule_CDKey/Authorize_CDKey/Authorize_CDKey.cpp deleted file mode 100644 index 102927ba..00000000 --- a/XEngine_Source/AuthorizeModule_CDKey/Authorize_CDKey/Authorize_CDKey.cpp +++ /dev/null @@ -1,1279 +0,0 @@ -#include "pch.h" -#include "Authorize_CDKey.h" -/******************************************************************** -// Created: 2024/07/08 17:30:39 -// File Name: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_CDKey\Authorize_CDKey\Authorize_CDKey.cpp -// File Path: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_CDKey\Authorize_CDKey -// File Base: Authorize_CDKey -// File Ext: cpp -// Project: XEngine -// Author: qyt -// Purpose: 本地验证实现 -// History: -*********************************************************************/ -CAuthorize_CDKey::CAuthorize_CDKey() -{ -} -CAuthorize_CDKey::~CAuthorize_CDKey() -{ - -} -////////////////////////////////////////////////////////////////////////// -// 公有函数 -////////////////////////////////////////////////////////////////////////// -/******************************************************************** -函数名称:Authorize_CDKey_WriteKey -函数功能:写一个CDKey文件 - 参数.一:lpszFileKey - In/Out:In - 类型:常量字符指针 - 可空:N - 意思:要操作的文件路径 - 参数.二:pSt_AuthLocal - In/Out:In - 类型:数据结构指针 - 可空:N - 意思:要写入的文件信息 -返回值 - 类型:逻辑型 - 意思:是否成功 -备注:写入读取必须是明文,建议你加密处理CDKEY,通过OPENSSL模块,来加解密,在读写 -*********************************************************************/ -bool CAuthorize_CDKey::Authorize_CDKey_WriteKey(LPCXSTR lpszFileKey, XENGINE_AUTHORIZE_LOCAL* pSt_AuthLocal) -{ - Authorize_IsErrorOccur = false; - - if ((NULL == lpszFileKey) || (NULL == pSt_AuthLocal)) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = ERROR_AUTHORIZE_MODULE_CDKEY_PARAMENT; - return false; - } - //添加连接信息文本 - if (!SystemConfig_File_WriteProfileFromFile(lpszFileKey, _X("Connection"), _X("tszAddr"), pSt_AuthLocal->tszAddr)) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = ERROR_AUTHORIZE_MODULE_CDKEY_CONNECT; - return false; - } - if (!SystemConfig_File_WriteInt64FromFile(lpszFileKey, _X("Connection"), _X("nPort"), pSt_AuthLocal->nPort)) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = ERROR_AUTHORIZE_MODULE_CDKEY_CONNECT; - return false; - } - //添加程序名称文本 - if (!SystemConfig_File_WriteProfileFromFile(lpszFileKey, _X("AppInfo"), _X("tszAppName"), pSt_AuthLocal->st_AuthAppInfo.tszAppName)) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = ERROR_AUTHORIZE_MODULE_CDKEY_APPINFO; - return false; - } - if (!SystemConfig_File_WriteProfileFromFile(lpszFileKey,_X("AppInfo"), _X("tszAppVer"), pSt_AuthLocal->st_AuthAppInfo.tszAppVer)) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = ERROR_AUTHORIZE_MODULE_CDKEY_APPINFO; - return false; - } - if (!SystemConfig_File_WriteInt64FromFile(lpszFileKey, _X("AppInfo"), _X("nExecTime"), pSt_AuthLocal->st_AuthAppInfo.nExecTime)) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = ERROR_AUTHORIZE_MODULE_CDKEY_APPINFO; - return false; - } - if (!SystemConfig_File_WriteInt64FromFile(lpszFileKey,_X("AppInfo"), _X("bInit"), pSt_AuthLocal->st_AuthAppInfo.bInit)) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = ERROR_AUTHORIZE_MODULE_CDKEY_APPINFO; - return false; - } - //更新使用时间 - if (ENUM_AUTHORIZE_MODULE_SERIAL_TYPE_SECOND == pSt_AuthLocal->st_AuthRegInfo.enSerialType) - { - XCHAR tszTimeStart[64]; - XCHAR tszTimeEnd[64]; - __int64x nUsedTime = 0; - - memset(tszTimeStart, '\0', sizeof(tszTimeStart)); - memset(tszTimeEnd, '\0', sizeof(tszTimeEnd)); - BaseLib_Time_TimeToStr(tszTimeEnd); - BaseLib_TimeSpan_GetForStr(pSt_AuthLocal->st_AuthRegInfo.tszStartTime, tszTimeEnd, &nUsedTime, ENUM_XENGINE_BASELIB_TIME_TYPE_SECOND); - pSt_AuthLocal->st_AuthRegInfo.nHasTime -= nUsedTime; - } - //添加注册信息 - if (!SystemConfig_File_WriteInt64FromFile(lpszFileKey,_X("AuthReg"), _X("nHasTime"), pSt_AuthLocal->st_AuthRegInfo.nHasTime)) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = ERROR_AUTHORIZE_MODULE_CDKEY_AUTHREG; - return false; - } - if (!SystemConfig_File_WriteInt64FromFile(lpszFileKey,_X("AuthReg"), _X("enHWType"), pSt_AuthLocal->st_AuthRegInfo.enHWType)) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = ERROR_AUTHORIZE_MODULE_CDKEY_AUTHREG; - return false; - } - if (!SystemConfig_File_WriteInt64FromFile(lpszFileKey,_X("AuthReg"), _X("enRegType"), pSt_AuthLocal->st_AuthRegInfo.enRegType)) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = ERROR_AUTHORIZE_MODULE_CDKEY_AUTHREG; - return false; - } - if (!SystemConfig_File_WriteInt64FromFile(lpszFileKey,_X("AuthReg"), _X("enSerialType"), pSt_AuthLocal->st_AuthRegInfo.enSerialType)) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = ERROR_AUTHORIZE_MODULE_CDKEY_AUTHREG; - return false; - } - if (!SystemConfig_File_WriteInt64FromFile(lpszFileKey,_X("AuthReg"), _X("enVModeType"), pSt_AuthLocal->st_AuthRegInfo.enVModeType)) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = ERROR_AUTHORIZE_MODULE_CDKEY_AUTHREG; - return false; - } - if (!SystemConfig_File_WriteProfileFromFile(lpszFileKey,_X("AuthReg"), _X("tszHardware"), pSt_AuthLocal->st_AuthRegInfo.tszHardware)) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = ERROR_AUTHORIZE_MODULE_CDKEY_AUTHREG; - return false; - } - BaseLib_Time_TimeToStr(pSt_AuthLocal->st_AuthRegInfo.tszCreateTime); - if (!SystemConfig_File_WriteProfileFromFile(lpszFileKey,_X("AuthReg"), _X("tszCreateTime"), pSt_AuthLocal->st_AuthRegInfo.tszCreateTime)) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = ERROR_AUTHORIZE_MODULE_CDKEY_AUTHREG; - return false; - } - if (!SystemConfig_File_WriteProfileFromFile(lpszFileKey,_X("AuthReg"), _X("tszRegisterTime"), pSt_AuthLocal->st_AuthRegInfo.tszRegisterTime)) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = ERROR_AUTHORIZE_MODULE_CDKEY_AUTHREG; - return false; - } - if (!SystemConfig_File_WriteProfileFromFile(lpszFileKey,_X("AuthReg"), _X("tszLeftTime"), pSt_AuthLocal->st_AuthRegInfo.tszLeftTime)) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = ERROR_AUTHORIZE_MODULE_CDKEY_AUTHREG; - return false; - } - if (!SystemConfig_File_WriteProfileFromFile(lpszFileKey,_X("AuthReg"), _X("tszStartTime"), pSt_AuthLocal->st_AuthRegInfo.tszStartTime)) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = ERROR_AUTHORIZE_MODULE_CDKEY_AUTHREG; - return false; - } - if (!SystemConfig_File_WriteProfileFromFile(lpszFileKey,_X("AuthReg"), _X("tszExpiryTime"), pSt_AuthLocal->st_AuthRegInfo.tszExpiryTime)) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = ERROR_AUTHORIZE_MODULE_CDKEY_AUTHREG; - return false; - } - //临时序列号 - if (!SystemConfig_File_WriteProfileFromFile(lpszFileKey, _X("AuthSerial"), _X("tszTimeSerial"), pSt_AuthLocal->st_AuthSerial.st_TimeLimit.tszTimeSerial)) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = ERROR_AUTHORIZE_MODULE_CDKEY_SERIAL; - return false; - } - if (!SystemConfig_File_WriteInt64FromFile(lpszFileKey, _X("AuthSerial"), _X("nTimeCount"), pSt_AuthLocal->st_AuthSerial.st_TimeLimit.nTimeCount)) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = ERROR_AUTHORIZE_MODULE_CDKEY_SERIAL; - return false; - } - if (!SystemConfig_File_WriteProfileFromFile(lpszFileKey, _X("AuthSerial"), _X("tszDataSerial"), pSt_AuthLocal->st_AuthSerial.st_DataLimit.tszDataSerial)) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = ERROR_AUTHORIZE_MODULE_CDKEY_SERIAL; - return false; - } - if (!SystemConfig_File_WriteProfileFromFile(lpszFileKey, _X("AuthSerial"), _X("tszDataTime"), pSt_AuthLocal->st_AuthSerial.st_DataLimit.tszDataTime)) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = ERROR_AUTHORIZE_MODULE_CDKEY_SERIAL; - return false; - } - if (!SystemConfig_File_WriteInt64FromFile(lpszFileKey, _X("AuthSerial"), _X("bTimeAdd"), pSt_AuthLocal->st_AuthSerial.st_DataLimit.bTimeAdd)) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = ERROR_AUTHORIZE_MODULE_CDKEY_SERIAL; - return false; - } - if (!SystemConfig_File_WriteProfileFromFile(lpszFileKey, _X("AuthSerial"), _X("tszUNLimitSerial"), pSt_AuthLocal->st_AuthSerial.st_UNLimit.tszUNLimitSerial)) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = ERROR_AUTHORIZE_MODULE_CDKEY_SERIAL; - return false; - } - //自定义用户信息 - if (!SystemConfig_File_WriteProfileFromFile(lpszFileKey, _X("AuthUser"), _X("tszUserName"), pSt_AuthLocal->st_AuthUserInfo.tszUserName)) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = ERROR_AUTHORIZE_MODULE_CDKEY_USER; - return false; - } - if (!SystemConfig_File_WriteProfileFromFile(lpszFileKey, _X("AuthUser"), _X("tszUserContact"), pSt_AuthLocal->st_AuthUserInfo.tszUserContact)) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = ERROR_AUTHORIZE_MODULE_CDKEY_USER; - return false; - } - if (!SystemConfig_File_WriteProfileFromFile(lpszFileKey, _X("AuthUser"), _X("tszCustom"), pSt_AuthLocal->st_AuthUserInfo.tszCustom)) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = ERROR_AUTHORIZE_MODULE_CDKEY_USER; - return false; - } - return true; -} -/******************************************************************** -函数名称:Authorize_CDKey_ReadKey -函数功能:读一个数据文件 - 参数.一:lpszFileKey - In/Out:In - 类型:常量字符指针 - 可空:N - 意思:要操作的文件路径 - 参数.二:pSt_AuthLocal - In/Out:Out - 类型:数据结构指针 - 可空:N - 意思:导出获取到的文件信息 -返回值 - 类型:逻辑型 - 意思:是否成功 -备注: -*********************************************************************/ -bool CAuthorize_CDKey::Authorize_CDKey_ReadKey(LPCXSTR lpszFileKey, XENGINE_AUTHORIZE_LOCAL* pSt_AuthLocal) -{ - Authorize_IsErrorOccur = false; - - if ((NULL == lpszFileKey) || (NULL == pSt_AuthLocal)) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = ERROR_AUTHORIZE_MODULE_CDKEY_PARAMENT; - return false; - } - //添加连接信息文本 - if (SystemConfig_File_ReadProfileFromFile(lpszFileKey, _X("Connection"), _X("tszAddr"), pSt_AuthLocal->tszAddr) <= 0) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = ERROR_AUTHORIZE_MODULE_CDKEY_CONNECT; - return false; - } - pSt_AuthLocal->nPort = SystemConfig_File_ReadIntFromFile(lpszFileKey, _X("Connection"), _X("nPort")); - //添加程序名称文本 - if (SystemConfig_File_ReadProfileFromFile(lpszFileKey, _X("AppInfo"), _X("tszAppName"), pSt_AuthLocal->st_AuthAppInfo.tszAppName) <= 0) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = ERROR_AUTHORIZE_MODULE_CDKEY_APPINFO; - return false; - } - if (SystemConfig_File_ReadProfileFromFile(lpszFileKey, _X("AppInfo"), _X("tszAppVer"), pSt_AuthLocal->st_AuthAppInfo.tszAppVer) <= 0) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = ERROR_AUTHORIZE_MODULE_CDKEY_APPINFO; - return false; - } - pSt_AuthLocal->st_AuthAppInfo.nExecTime = SystemConfig_File_ReadIntFromFile(lpszFileKey, _X("AppInfo"), _X("nExecTime")); - pSt_AuthLocal->st_AuthAppInfo.bInit = SystemConfig_File_ReadIntFromFile(lpszFileKey, _X("AppInfo"), _X("bInit")); - //添加注册信息 - pSt_AuthLocal->st_AuthRegInfo.enHWType = (ENUM_AUTHORIZE_MODULE_HW_TYPE)SystemConfig_File_ReadIntFromFile(lpszFileKey, _X("AuthReg"), _X("enHWType")); - pSt_AuthLocal->st_AuthRegInfo.enRegType = (ENUM_AUTHORIZE_MODULE_CDKEY_TYPE)SystemConfig_File_ReadIntFromFile(lpszFileKey, _X("AuthReg"), _X("enRegType")); - pSt_AuthLocal->st_AuthRegInfo.enSerialType = (ENUM_AUTHORIZE_MODULE_SERIAL_TYPE)SystemConfig_File_ReadIntFromFile(lpszFileKey, _X("AuthReg"), _X("enSerialType")); - pSt_AuthLocal->st_AuthRegInfo.enVModeType = (ENUM_AUTHORIZE_MODULE_VERMODE_TYPE)SystemConfig_File_ReadIntFromFile(lpszFileKey, _X("AuthReg"), _X("enVModeType")); - pSt_AuthLocal->st_AuthRegInfo.nHasTime = SystemConfig_File_ReadInt64FromFile(lpszFileKey, _X("AuthReg"), _X("nHasTime")); - if (SystemConfig_File_ReadProfileFromFile(lpszFileKey, _X("AuthReg"), _X("tszHardware"), pSt_AuthLocal->st_AuthRegInfo.tszHardware) <= 0) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = ERROR_AUTHORIZE_MODULE_CDKEY_AUTHREG; - return false; - } - if (SystemConfig_File_ReadProfileFromFile(lpszFileKey, _X("AuthReg"), _X("tszCreateTime"), pSt_AuthLocal->st_AuthRegInfo.tszCreateTime) <= 0) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = ERROR_AUTHORIZE_MODULE_CDKEY_AUTHREG; - return false; - } - if (SystemConfig_File_ReadProfileFromFile(lpszFileKey, _X("AuthReg"), _X("tszRegisterTime"), pSt_AuthLocal->st_AuthRegInfo.tszRegisterTime) < 0) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = ERROR_AUTHORIZE_MODULE_CDKEY_AUTHREG; - return false; - } - if (SystemConfig_File_ReadProfileFromFile(lpszFileKey, _X("AuthReg"), _X("tszLeftTime"), pSt_AuthLocal->st_AuthRegInfo.tszLeftTime) < 0) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = ERROR_AUTHORIZE_MODULE_CDKEY_AUTHREG; - return false; - } - if (SystemConfig_File_ReadProfileFromFile(lpszFileKey, _X("AuthReg"), _X("tszStartTime"), pSt_AuthLocal->st_AuthRegInfo.tszStartTime) < 0) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = ERROR_AUTHORIZE_MODULE_CDKEY_AUTHREG; - return false; - } - //设置启动时间 - if (ENUM_AUTHORIZE_MODULE_SERIAL_TYPE_DAY == pSt_AuthLocal->st_AuthRegInfo.enSerialType) - { - XENGINE_LIBTIME st_EndTimer; - XENGINE_LIBTIME st_StartTime; - - memset(&st_EndTimer, '\0', sizeof(XENGINE_LIBTIME)); - memset(&st_StartTime, '\0', sizeof(XENGINE_LIBTIME)); - - BaseLib_Time_GetSysTime(&st_EndTimer); - BaseLib_Time_StrToTime(pSt_AuthLocal->st_AuthRegInfo.tszStartTime, &st_StartTime); - if ((st_EndTimer.wYear != st_StartTime.wYear) || (st_EndTimer.wMonth != st_StartTime.wMonth) || (st_EndTimer.wDay != st_StartTime.wDay)) - { - pSt_AuthLocal->st_AuthRegInfo.nHasTime--; - } - BaseLib_Time_TimeToStr(pSt_AuthLocal->st_AuthRegInfo.tszStartTime); - } - else if (ENUM_AUTHORIZE_MODULE_SERIAL_TYPE_SECOND == pSt_AuthLocal->st_AuthRegInfo.enSerialType) - { - memset(pSt_AuthLocal->st_AuthRegInfo.tszStartTime, '\0', sizeof(pSt_AuthLocal->st_AuthRegInfo.tszStartTime)); - BaseLib_Time_TimeToStr(pSt_AuthLocal->st_AuthRegInfo.tszStartTime); - } - - if (SystemConfig_File_ReadProfileFromFile(lpszFileKey, _X("AuthReg"), _X("tszExpiryTime"), pSt_AuthLocal->st_AuthRegInfo.tszExpiryTime) < 0) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = ERROR_AUTHORIZE_MODULE_CDKEY_AUTHREG; - return false; - } - //临时序列号 - if (SystemConfig_File_ReadProfileFromFile(lpszFileKey, _X("AuthSerial"), _X("tszTimeSerial"), pSt_AuthLocal->st_AuthSerial.st_TimeLimit.tszTimeSerial) <= 0) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = ERROR_AUTHORIZE_MODULE_CDKEY_SERIAL; - return false; - } - pSt_AuthLocal->st_AuthSerial.st_TimeLimit.nTimeCount = SystemConfig_File_ReadIntFromFile(lpszFileKey, _X("AuthSerial"), _X("nTimeCount")); - if (SystemConfig_File_ReadProfileFromFile(lpszFileKey, _X("AuthSerial"), _X("tszDataSerial"), pSt_AuthLocal->st_AuthSerial.st_DataLimit.tszDataSerial) <= 0) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = ERROR_AUTHORIZE_MODULE_CDKEY_SERIAL; - return false; - } - if (SystemConfig_File_ReadProfileFromFile(lpszFileKey, _X("AuthSerial"), _X("tszDataTime"), pSt_AuthLocal->st_AuthSerial.st_DataLimit.tszDataTime) <= 0) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = ERROR_AUTHORIZE_MODULE_CDKEY_SERIAL; - return false; - } - pSt_AuthLocal->st_AuthSerial.st_DataLimit.bTimeAdd = SystemConfig_File_ReadIntFromFile(lpszFileKey, _X("AuthSerial"), _X("bAddTime")); - if (SystemConfig_File_ReadProfileFromFile(lpszFileKey, _X("AuthSerial"), _X("tszUNLimitSerial"), pSt_AuthLocal->st_AuthSerial.st_UNLimit.tszUNLimitSerial) <= 0) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = ERROR_AUTHORIZE_MODULE_CDKEY_SERIAL; - return false; - } - //用户信息 - if (SystemConfig_File_ReadProfileFromFile(lpszFileKey, _X("AuthUser"), _X("tszUserName"), pSt_AuthLocal->st_AuthUserInfo.tszUserName) <= 0) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = ERROR_AUTHORIZE_MODULE_CDKEY_USER; - return false; - } - if (SystemConfig_File_ReadProfileFromFile(lpszFileKey, _X("AuthUser"), _X("tszUserContact"), pSt_AuthLocal->st_AuthUserInfo.tszUserContact) <= 0) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = ERROR_AUTHORIZE_MODULE_CDKEY_USER; - return false; - } - if (SystemConfig_File_ReadProfileFromFile(lpszFileKey, _X("AuthUser"), _X("tszCustom"), pSt_AuthLocal->st_AuthUserInfo.tszCustom) < 0) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = ERROR_AUTHORIZE_MODULE_CDKEY_USER; - return false; - } - return true; -} -/******************************************************************** -函数名称:Authorize_CDKey_WriteMemory -函数功能:写配置信息到内存 - 参数.一:ptszMsgBuffer - In/Out:Out - 类型:字符指针 - 可空:N - 意思:写到的内存 - 参数.二:pInt_MsgLen - In/Out:Out - 类型:整数型指针 - 可空:N - 意思:写到的内存大小 - 参数.三:pSt_AuthLocal - In/Out:In - 类型:数据结构指针 - 可空:N - 意思:输入要写的信息 -返回值 - 类型:逻辑型 - 意思:是否成功 -备注: -*********************************************************************/ -bool CAuthorize_CDKey::Authorize_CDKey_WriteMemory(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, XENGINE_AUTHORIZE_LOCAL* pSt_AuthLocal) -{ - Authorize_IsErrorOccur = false; - - if ((NULL == ptszMsgBuffer) || (NULL == pInt_MsgLen) || (NULL == pSt_AuthLocal)) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = ERROR_AUTHORIZE_MODULE_CDKEY_PARAMENT; - return false; - } - int nMsgLen = 0; - //添加连接信息文本 - if (!SystemConfig_File_WriteProfileFromMemory(ptszMsgBuffer, nMsgLen, _X("Connection"), _X("tszAddr"), pSt_AuthLocal->tszAddr, ptszMsgBuffer, &nMsgLen)) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = BaseLib_GetLastError(); - return false; - } - if (!SystemConfig_File_WriteInt64FromMemory(ptszMsgBuffer, nMsgLen, _X("Connection"), _X("nPort"), pSt_AuthLocal->nPort, ptszMsgBuffer, &nMsgLen)) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = BaseLib_GetLastError(); - return false; - } - //添加程序名称文本 - if (!SystemConfig_File_WriteProfileFromMemory(ptszMsgBuffer, nMsgLen, _X("AppInfo"), _X("tszAppName"), pSt_AuthLocal->st_AuthAppInfo.tszAppName, ptszMsgBuffer, &nMsgLen)) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = BaseLib_GetLastError(); - return false; - } - if (!SystemConfig_File_WriteProfileFromMemory(ptszMsgBuffer, nMsgLen, _X("AppInfo"), _X("tszAppVer"), pSt_AuthLocal->st_AuthAppInfo.tszAppVer, ptszMsgBuffer, &nMsgLen)) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = BaseLib_GetLastError(); - return false; - } - if (!SystemConfig_File_WriteInt64FromMemory(ptszMsgBuffer, nMsgLen, _X("AppInfo"), _X("nExecTime"), pSt_AuthLocal->st_AuthAppInfo.nExecTime, ptszMsgBuffer, &nMsgLen)) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = BaseLib_GetLastError(); - return false; - } - if (!SystemConfig_File_WriteInt64FromMemory(ptszMsgBuffer, nMsgLen, _X("AppInfo"), _X("bInit"), pSt_AuthLocal->st_AuthAppInfo.bInit, ptszMsgBuffer, &nMsgLen)) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = BaseLib_GetLastError(); - return false; - } - //更新使用时间 - if (ENUM_AUTHORIZE_MODULE_SERIAL_TYPE_SECOND == pSt_AuthLocal->st_AuthRegInfo.enSerialType) - { - XCHAR tszTimeStart[64]; - XCHAR tszTimeEnd[64]; - __int64x nUsedTime = 0; - - memset(tszTimeStart, '\0', sizeof(tszTimeStart)); - memset(tszTimeEnd, '\0', sizeof(tszTimeEnd)); - BaseLib_Time_TimeToStr(tszTimeEnd); - BaseLib_TimeSpan_GetForStr(pSt_AuthLocal->st_AuthRegInfo.tszStartTime, tszTimeEnd, &nUsedTime, ENUM_XENGINE_BASELIB_TIME_TYPE_SECOND); - pSt_AuthLocal->st_AuthRegInfo.nHasTime -= nUsedTime; - } - //添加注册信息 - if (!SystemConfig_File_WriteInt64FromMemory(ptszMsgBuffer, nMsgLen, _X("AuthReg"), _X("nHasTime"), pSt_AuthLocal->st_AuthRegInfo.nHasTime, ptszMsgBuffer, &nMsgLen)) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = BaseLib_GetLastError(); - return false; - } - if (!SystemConfig_File_WriteInt64FromMemory(ptszMsgBuffer, nMsgLen, _X("AuthReg"), _X("enHWType"), pSt_AuthLocal->st_AuthRegInfo.enHWType, ptszMsgBuffer, &nMsgLen)) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = BaseLib_GetLastError(); - return false; - } - if (!SystemConfig_File_WriteInt64FromMemory(ptszMsgBuffer, nMsgLen, _X("AuthReg"), _X("enRegType"), pSt_AuthLocal->st_AuthRegInfo.enRegType, ptszMsgBuffer, &nMsgLen)) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = BaseLib_GetLastError(); - return false; - } - if (!SystemConfig_File_WriteInt64FromMemory(ptszMsgBuffer, nMsgLen, _X("AuthReg"), _X("enSerialType"), pSt_AuthLocal->st_AuthRegInfo.enSerialType, ptszMsgBuffer, &nMsgLen)) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = BaseLib_GetLastError(); - return false; - } - if (!SystemConfig_File_WriteInt64FromMemory(ptszMsgBuffer, nMsgLen, _X("AuthReg"), _X("enVModeType"), pSt_AuthLocal->st_AuthRegInfo.enVModeType, ptszMsgBuffer, &nMsgLen)) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = BaseLib_GetLastError(); - return false; - } - if (!SystemConfig_File_WriteProfileFromMemory(ptszMsgBuffer, nMsgLen, _X("AuthReg"), _X("tszHardware"), pSt_AuthLocal->st_AuthRegInfo.tszHardware, ptszMsgBuffer, &nMsgLen)) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = BaseLib_GetLastError(); - return false; - } - BaseLib_Time_TimeToStr(pSt_AuthLocal->st_AuthRegInfo.tszCreateTime); - if (!SystemConfig_File_WriteProfileFromMemory(ptszMsgBuffer, nMsgLen, _X("AuthReg"), _X("tszCreateTime"), pSt_AuthLocal->st_AuthRegInfo.tszCreateTime, ptszMsgBuffer, &nMsgLen)) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = BaseLib_GetLastError(); - return false; - } - if (!SystemConfig_File_WriteProfileFromMemory(ptszMsgBuffer, nMsgLen, _X("AuthReg"), _X("tszRegisterTime"), pSt_AuthLocal->st_AuthRegInfo.tszRegisterTime, ptszMsgBuffer, &nMsgLen)) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = BaseLib_GetLastError(); - return false; - } - if (!SystemConfig_File_WriteProfileFromMemory(ptszMsgBuffer, nMsgLen, _X("AuthReg"), _X("tszLeftTime"), pSt_AuthLocal->st_AuthRegInfo.tszLeftTime, ptszMsgBuffer, &nMsgLen)) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = BaseLib_GetLastError(); - return false; - } - if (!SystemConfig_File_WriteProfileFromMemory(ptszMsgBuffer, nMsgLen, _X("AuthReg"), _X("tszStartTime"), pSt_AuthLocal->st_AuthRegInfo.tszStartTime, ptszMsgBuffer, &nMsgLen)) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = BaseLib_GetLastError(); - return false; - } - if (!SystemConfig_File_WriteProfileFromMemory(ptszMsgBuffer, nMsgLen, _X("AuthReg"), _X("tszExpiryTime"), pSt_AuthLocal->st_AuthRegInfo.tszExpiryTime, ptszMsgBuffer, &nMsgLen)) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = BaseLib_GetLastError(); - return false; - } - //临时序列号 - if (!SystemConfig_File_WriteProfileFromMemory(ptszMsgBuffer, nMsgLen, _X("AuthSerial"), _X("tszTimeSerial"), pSt_AuthLocal->st_AuthSerial.st_TimeLimit.tszTimeSerial, ptszMsgBuffer, &nMsgLen)) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = BaseLib_GetLastError(); - return false; - } - if (!SystemConfig_File_WriteInt64FromMemory(ptszMsgBuffer, nMsgLen, _X("AuthSerial"), _X("nTimeCount"), pSt_AuthLocal->st_AuthSerial.st_TimeLimit.nTimeCount, ptszMsgBuffer, &nMsgLen)) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = BaseLib_GetLastError(); - return false; - } - if (!SystemConfig_File_WriteProfileFromMemory(ptszMsgBuffer, nMsgLen, _X("AuthSerial"), _X("tszDataSerial"), pSt_AuthLocal->st_AuthSerial.st_DataLimit.tszDataSerial, ptszMsgBuffer, &nMsgLen)) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = BaseLib_GetLastError(); - return false; - } - if (!SystemConfig_File_WriteProfileFromMemory(ptszMsgBuffer, nMsgLen, _X("AuthSerial"), _X("tszDataTime"), pSt_AuthLocal->st_AuthSerial.st_DataLimit.tszDataTime, ptszMsgBuffer, &nMsgLen)) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = BaseLib_GetLastError(); - return false; - } - if (!SystemConfig_File_WriteInt64FromMemory(ptszMsgBuffer, nMsgLen, _X("AuthSerial"), _X("bAddTime"), pSt_AuthLocal->st_AuthSerial.st_DataLimit.bTimeAdd, ptszMsgBuffer, &nMsgLen)) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = BaseLib_GetLastError(); - return false; - } - if (!SystemConfig_File_WriteProfileFromMemory(ptszMsgBuffer, nMsgLen, _X("AuthSerial"), _X("tszUNLimitSerial"), pSt_AuthLocal->st_AuthSerial.st_UNLimit.tszUNLimitSerial, ptszMsgBuffer, &nMsgLen)) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = BaseLib_GetLastError(); - return false; - } - //用户信息 - if (!SystemConfig_File_WriteProfileFromMemory(ptszMsgBuffer, nMsgLen, _X("AuthUser"), _X("tszUserName"), pSt_AuthLocal->st_AuthUserInfo.tszUserName, ptszMsgBuffer, &nMsgLen)) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = BaseLib_GetLastError(); - return false; - } - if (!SystemConfig_File_WriteProfileFromMemory(ptszMsgBuffer, nMsgLen, _X("AuthUser"), _X("tszUserContact"), pSt_AuthLocal->st_AuthUserInfo.tszUserContact, ptszMsgBuffer, &nMsgLen)) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = BaseLib_GetLastError(); - return false; - } - if (!SystemConfig_File_WriteProfileFromMemory(ptszMsgBuffer, nMsgLen, _X("AuthUser"), _X("tszCustom"), pSt_AuthLocal->st_AuthUserInfo.tszCustom, ptszMsgBuffer, &nMsgLen)) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = BaseLib_GetLastError(); - return false; - } - *pInt_MsgLen = nMsgLen; - return true; -} -/******************************************************************** -函数名称:Authorize_CDKey_ReadMemory -函数功能:内存配置文件读取 - 参数.一:lpszMsgBuffer - In/Out:In - 类型:常量字符指针 - 可空:N - 意思:输入要读取配置的内存 - 参数.二:nMsgLen - In/Out:In - 类型:整数型 - 可空:N - 意思:输入读取内存大小 - 参数.三:pSt_AuthLocal - In/Out:Out - 类型:数据结构指针 - 可空:N - 意思:输出读取到的信息 -返回值 - 类型:逻辑型 - 意思:是否成功 -备注: -*********************************************************************/ -bool CAuthorize_CDKey::Authorize_CDKey_ReadMemory(LPCXSTR lpszMsgBuffer, int nMsgLen, XENGINE_AUTHORIZE_LOCAL* pSt_AuthLocal) -{ - Authorize_IsErrorOccur = false; - - if ((NULL == lpszMsgBuffer) || (NULL == pSt_AuthLocal)) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = ERROR_AUTHORIZE_MODULE_CDKEY_PARAMENT; - return false; - } - //添加连接信息文本 - if (!SystemConfig_File_ReadProfileFromMemory(lpszMsgBuffer, nMsgLen, _X("Connection"), _X("tszAddr"), pSt_AuthLocal->tszAddr)) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = BaseLib_GetLastError(); - return false; - } - if (!SystemConfig_File_ReadIntFromMemory(lpszMsgBuffer, nMsgLen, _X("Connection"), _X("nPort"), &pSt_AuthLocal->nPort)) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = BaseLib_GetLastError(); - return false; - } - //添加程序名称文本 - if (!SystemConfig_File_ReadProfileFromMemory(lpszMsgBuffer, nMsgLen, _X("AppInfo"), _X("tszAppName"), pSt_AuthLocal->st_AuthAppInfo.tszAppName)) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = BaseLib_GetLastError(); - return false; - } - if (!SystemConfig_File_ReadProfileFromMemory(lpszMsgBuffer, nMsgLen, _X("AppInfo"), _X("tszAppVer"), pSt_AuthLocal->st_AuthAppInfo.tszAppVer)) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = BaseLib_GetLastError(); - return false; - } - SystemConfig_File_ReadIntFromMemory(lpszMsgBuffer, nMsgLen, _X("AppInfo"), _X("bInit"), (int*)&pSt_AuthLocal->st_AuthAppInfo.bInit); - SystemConfig_File_ReadInt64FromMemory(lpszMsgBuffer, nMsgLen, _X("AppInfo"), _X("nExecTime"), &pSt_AuthLocal->st_AuthAppInfo.nExecTime); - //添加注册信息 - SystemConfig_File_ReadIntFromMemory(lpszMsgBuffer, nMsgLen, _X("AuthReg"), _X("enHWType"), (int*)&pSt_AuthLocal->st_AuthRegInfo.enHWType); - SystemConfig_File_ReadIntFromMemory(lpszMsgBuffer, nMsgLen, _X("AuthReg"), _X("enRegType"), (int*)&pSt_AuthLocal->st_AuthRegInfo.enRegType); - SystemConfig_File_ReadIntFromMemory(lpszMsgBuffer, nMsgLen, _X("AuthReg"), _X("enSerialType"), (int*)&pSt_AuthLocal->st_AuthRegInfo.enSerialType); - SystemConfig_File_ReadIntFromMemory(lpszMsgBuffer, nMsgLen, _X("AuthReg"), _X("enVModeType"), (int*)&pSt_AuthLocal->st_AuthRegInfo.enVModeType); - SystemConfig_File_ReadInt64FromMemory(lpszMsgBuffer, nMsgLen, _X("AuthReg"), _X("nHasTime"), &pSt_AuthLocal->st_AuthRegInfo.nHasTime); - - if (!SystemConfig_File_ReadProfileFromMemory(lpszMsgBuffer, nMsgLen, _X("AuthReg"), _X("tszHardware"), pSt_AuthLocal->st_AuthRegInfo.tszHardware)) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = BaseLib_GetLastError(); - return false; - } - if (!SystemConfig_File_ReadProfileFromMemory(lpszMsgBuffer, nMsgLen, _X("AuthReg"), _X("tszCreateTime"), pSt_AuthLocal->st_AuthRegInfo.tszCreateTime)) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = BaseLib_GetLastError(); - return false; - } - if (!SystemConfig_File_ReadProfileFromMemory(lpszMsgBuffer, nMsgLen, _X("AuthReg"), _X("tszRegisterTime"), pSt_AuthLocal->st_AuthRegInfo.tszRegisterTime)) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = BaseLib_GetLastError(); - return false; - } - if (!SystemConfig_File_ReadProfileFromMemory(lpszMsgBuffer, nMsgLen, _X("AuthReg"), _X("tszLeftTime"), pSt_AuthLocal->st_AuthRegInfo.tszLeftTime)) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = BaseLib_GetLastError(); - return false; - } - if (!SystemConfig_File_ReadProfileFromMemory(lpszMsgBuffer, nMsgLen, _X("AuthReg"), _X("tszStartTime"), pSt_AuthLocal->st_AuthRegInfo.tszStartTime)) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = BaseLib_GetLastError(); - return false; - } - //设置启动时间 - if (ENUM_AUTHORIZE_MODULE_SERIAL_TYPE_DAY == pSt_AuthLocal->st_AuthRegInfo.enSerialType) - { - XENGINE_LIBTIME st_EndTimer; - XENGINE_LIBTIME st_StartTime; - - memset(&st_EndTimer, '\0', sizeof(XENGINE_LIBTIME)); - memset(&st_StartTime, '\0', sizeof(XENGINE_LIBTIME)); - - BaseLib_Time_GetSysTime(&st_EndTimer); - BaseLib_Time_StrToTime(pSt_AuthLocal->st_AuthRegInfo.tszStartTime, &st_StartTime); - if ((st_EndTimer.wYear != st_StartTime.wYear) || (st_EndTimer.wMonth != st_StartTime.wMonth) || (st_EndTimer.wDay != st_StartTime.wDay)) - { - pSt_AuthLocal->st_AuthRegInfo.nHasTime--; - } - BaseLib_Time_TimeToStr(pSt_AuthLocal->st_AuthRegInfo.tszStartTime); - } - else if (ENUM_AUTHORIZE_MODULE_SERIAL_TYPE_SECOND == pSt_AuthLocal->st_AuthRegInfo.enSerialType) - { - memset(pSt_AuthLocal->st_AuthRegInfo.tszStartTime, '\0', sizeof(pSt_AuthLocal->st_AuthRegInfo.tszStartTime)); - BaseLib_Time_TimeToStr(pSt_AuthLocal->st_AuthRegInfo.tszStartTime); - } - - if (!SystemConfig_File_ReadProfileFromMemory(lpszMsgBuffer, nMsgLen, _X("AuthReg"), _X("tszExpiryTime"), pSt_AuthLocal->st_AuthRegInfo.tszExpiryTime)) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = BaseLib_GetLastError(); - return false; - } - //序列号信息 - if (!SystemConfig_File_ReadProfileFromMemory(lpszMsgBuffer, nMsgLen, _X("AuthSerial"), _X("tszTimeSerial"), pSt_AuthLocal->st_AuthSerial.st_TimeLimit.tszTimeSerial)) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = BaseLib_GetLastError(); - return false; - } - if (!SystemConfig_File_ReadIntFromMemory(lpszMsgBuffer, nMsgLen, _X("AuthSerial"), _X("nTimeCount"), &pSt_AuthLocal->st_AuthSerial.st_TimeLimit.nTimeCount)) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = BaseLib_GetLastError(); - return false; - } - if (!SystemConfig_File_ReadProfileFromMemory(lpszMsgBuffer, nMsgLen, _X("AuthSerial"), _X("tszDataSerial"), pSt_AuthLocal->st_AuthSerial.st_DataLimit.tszDataSerial)) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = BaseLib_GetLastError(); - return false; - } - if (!SystemConfig_File_ReadProfileFromMemory(lpszMsgBuffer, nMsgLen, _X("AuthSerial"), _X("tszDataTime"), pSt_AuthLocal->st_AuthSerial.st_DataLimit.tszDataTime)) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = BaseLib_GetLastError(); - return false; - } - SystemConfig_File_ReadIntFromMemory(lpszMsgBuffer, nMsgLen, _X("AuthSerial"), _X("bAddTime"), (int*)&pSt_AuthLocal->st_AuthSerial.st_DataLimit.bTimeAdd); - if (!SystemConfig_File_ReadProfileFromMemory(lpszMsgBuffer, nMsgLen, _X("AuthSerial"), _X("tszUNLimitSerial"), pSt_AuthLocal->st_AuthSerial.st_UNLimit.tszUNLimitSerial)) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = BaseLib_GetLastError(); - return false; - } - //用户信息 - if (!SystemConfig_File_ReadProfileFromMemory(lpszMsgBuffer, nMsgLen, _X("AuthUser"), _X("tszUserName"), pSt_AuthLocal->st_AuthUserInfo.tszUserName)) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = BaseLib_GetLastError(); - return false; - } - if (!SystemConfig_File_ReadProfileFromMemory(lpszMsgBuffer, nMsgLen, _X("AuthUser"), _X("tszUserContact"), pSt_AuthLocal->st_AuthUserInfo.tszUserContact)) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = BaseLib_GetLastError(); - return false; - } - if (!SystemConfig_File_ReadProfileFromMemory(lpszMsgBuffer, nMsgLen, _X("AuthUser"), _X("tszCustom"), pSt_AuthLocal->st_AuthUserInfo.tszCustom)) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = BaseLib_GetLastError(); - return false; - } - return true; -} -/******************************************************************** -函数名称:Authorize_CDKey_BuildKeyTime -函数功能:构造注册的时间结构体信息 - 参数.一:pSt_AuthLocal - In/Out:In - 类型:结构体指针 - 可空:N - 意思:要构造的结构体 - 参数.二:nDayTimer - In/Out:In - 类型:整数型 - 可空:Y - 意思:可用时间或者次数.非自定义时间需要设置此值 - 参数.三:pSt_DayTimer - In/Out:In - 类型:结构体指针 - 可空:Y - 意思:如果是自定义时间,这个参数需要设置,其他类型请设置参数二 -返回值 - 类型:逻辑型 - 意思:是否构造成功 -备注:此函数会修改st_AuthRegInfo的时间信息成员,必须重写CDKEY -*********************************************************************/ -bool CAuthorize_CDKey::Authorize_CDKey_BuildKeyTime(XENGINE_AUTHORIZE_LOCAL* pSt_AuthLocal, __int64x nDayTimer /* = 0 */, XENGINE_LIBTIME* pSt_DayTimer /* = NULL */) -{ - Authorize_IsErrorOccur = false; - - pSt_AuthLocal->st_AuthAppInfo.bInit = true; - //判断注册时间方式 - if (ENUM_AUTHORIZE_MODULE_SERIAL_TYPE_CUSTOM == pSt_AuthLocal->st_AuthRegInfo.enSerialType) - { - //按照到期时间计算 - _xstprintf(pSt_AuthLocal->st_AuthRegInfo.tszLeftTime, _X("%04d-%02d-%02d %02d:%02d:%02d"), pSt_DayTimer->wYear, pSt_DayTimer->wMonth, pSt_DayTimer->wDay, pSt_DayTimer->wHour, pSt_DayTimer->wMinute, pSt_DayTimer->wSecond); - } - else - { - pSt_AuthLocal->st_AuthRegInfo.nHasTime = nDayTimer; - _xstprintf(pSt_AuthLocal->st_AuthRegInfo.tszLeftTime, _X("%lld"), nDayTimer); - } - return true; -} -/******************************************************************** -函数名称:Authorize_CDKey_UserRegister -函数功能:用户注册CDKEY函数 - 参数.一:pSt_AuthLocal - In/Out:In - 类型:结构体指针 - 可空:N - 意思:要构造的结构体 - 参数.二:lpszSerialStr - In/Out:In - 类型:常量字符指针 - 可空:N - 意思:输入注册验证的序列号 -返回值 - 类型:逻辑型 - 意思:是否构造成功 -备注:此函数会修改st_AuthRegInfo的时间信息成员,必须重写CDKEY -*********************************************************************/ -bool CAuthorize_CDKey::Authorize_CDKey_UserRegister(XENGINE_AUTHORIZE_LOCAL* pSt_AuthLocal, LPCXSTR lpszSerialStr) -{ - Authorize_IsErrorOccur = false; - - if (NULL == pSt_AuthLocal || NULL == lpszSerialStr) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = ERROR_AUTHORIZE_MODULE_CDKEY_PARAMENT; - return false; - } - bool bSerial = false; - - if (0 == _tcsxncmp(pSt_AuthLocal->st_AuthSerial.st_TimeLimit.tszTimeSerial, lpszSerialStr, _tcsxlen(pSt_AuthLocal->st_AuthSerial.st_TimeLimit.tszTimeSerial))) - { - //次数验证 - bSerial = true; - pSt_AuthLocal->st_AuthRegInfo.enSerialType = ENUM_AUTHORIZE_MODULE_SERIAL_TYPE_TIME; - pSt_AuthLocal->st_AuthRegInfo.enRegType = ENUM_AUTHORIZE_MODULE_CDKEY_TYPE_OFFICIAL; - Authorize_CDKey_BuildKeyTime(pSt_AuthLocal, pSt_AuthLocal->st_AuthSerial.st_TimeLimit.nTimeCount); - } - else if (0 == _tcsxncmp(pSt_AuthLocal->st_AuthSerial.st_DataLimit.tszDataSerial, lpszSerialStr, _tcsxlen(pSt_AuthLocal->st_AuthSerial.st_DataLimit.tszDataSerial))) - { - //日期序列 - bSerial = true; - pSt_AuthLocal->st_AuthRegInfo.enSerialType = ENUM_AUTHORIZE_MODULE_SERIAL_TYPE_CUSTOM; - pSt_AuthLocal->st_AuthRegInfo.enRegType = ENUM_AUTHORIZE_MODULE_CDKEY_TYPE_OFFICIAL; - XENGINE_LIBTIME st_LibTime = {}; - BaseLib_Time_GetSysTime(&st_LibTime); - if (pSt_AuthLocal->st_AuthSerial.st_DataLimit.bTimeAdd) - { - __int64x nTimeCount = 0; - XENGINE_LIBTIME st_AddTime = {}; - - BaseLib_TimeSpan_GetForStr(pSt_AuthLocal->st_AuthSerial.st_DataLimit.tszDataTime, pSt_AuthLocal->st_AuthRegInfo.tszCreateTime, &nTimeCount); - st_AddTime.wDay = (int)nTimeCount; - BaseLib_TimeSpan_CalForStu(&st_LibTime, &st_AddTime); - - Authorize_CDKey_BuildKeyTime(pSt_AuthLocal, 0, &st_AddTime); - } - else - { - __int64x nTimeCount = 0; - XCHAR tszTimeStr[128] = {}; - XENGINE_LIBTIME st_LibTime = {}; - BaseLib_Time_TimeToStr(tszTimeStr); - - BaseLib_TimeSpan_GetForStr(tszTimeStr, pSt_AuthLocal->st_AuthSerial.st_DataLimit.tszDataTime, &nTimeCount); - if (nTimeCount <= 0) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = ERROR_AUTHORIZE_MODULE_CDKEY_TIMEOUT; - return false; - } - BaseLib_Time_StrToTime(pSt_AuthLocal->st_AuthSerial.st_DataLimit.tszDataTime, &st_LibTime); - Authorize_CDKey_BuildKeyTime(pSt_AuthLocal, 0, &st_LibTime); - } - } - else if (0 == _tcsxncmp(pSt_AuthLocal->st_AuthSerial.st_UNLimit.tszUNLimitSerial, lpszSerialStr, _tcsxlen(pSt_AuthLocal->st_AuthSerial.st_UNLimit.tszUNLimitSerial))) - { - //无限制 - bSerial = true; - pSt_AuthLocal->st_AuthRegInfo.enRegType = ENUM_AUTHORIZE_MODULE_CDKEY_TYPE_UNLIMIT; - } - - if (!bSerial) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = ERROR_AUTHORIZE_MODULE_CDKEY_FAILED; - return false; - } - BaseLib_Time_TimeToStr(pSt_AuthLocal->st_AuthRegInfo.tszRegisterTime); - return true; -} -/******************************************************************** -函数名称:Authorize_CDKey_GetLeftTimer -函数功能:验证CDKey - 参数.一:pSt_AuthLocal - In/Out:In - 类型:数据结构指针 - 可空:N - 意思:输入Authorize_CDKey_ReadKey获取到的值 - 参数.二:lpszSerialNumber - In/Out:In - 类型:常量字符指针 - 可空:Y - 意思:如果CDKEY带序列号,可以输入序列号进行验证(优先序列号验证,失败进行常规CDKEY验证) -返回值 - 类型:逻辑型 - 意思:是否成功 -备注:无限制版本不做验证 - 其他验证nHasTime将被设置还拥有时间 - 此函数在程序启动的时候必须调用,可以设置更新CDKEY信息也可以验证CDKEY -*********************************************************************/ -bool CAuthorize_CDKey::Authorize_CDKey_GetLeftTimer(XENGINE_AUTHORIZE_LOCAL* pSt_AuthLocal, LPCXSTR lpszSerialNumber /* = NULL */) -{ - Authorize_IsErrorOccur = false; - - if (NULL == pSt_AuthLocal) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = ERROR_AUTHORIZE_MODULE_CDKEY_PARAMENT; - return false; - } - //验证CDKEY本身情况 - XENGINE_LIBTIME st_StartTimer; - XENGINE_LIBTIME st_EndTimer; - XENGINE_LIBTIME st_SysTimer; - - memset(&st_StartTimer, '\0', sizeof(XENGINE_LIBTIME)); - memset(&st_EndTimer, '\0', sizeof(XENGINE_LIBTIME)); - memset(&st_SysTimer, '\0', sizeof(XENGINE_LIBTIME)); - - BaseLib_Time_TimeToStr(pSt_AuthLocal->st_AuthRegInfo.tszStartTime); - //处理注册类型 - if (ENUM_AUTHORIZE_MODULE_CDKEY_TYPE_UNLIMIT == pSt_AuthLocal->st_AuthRegInfo.enRegType) - { - return true; - } - else if (ENUM_AUTHORIZE_MODULE_CDKEY_TYPE_UNKNOW == pSt_AuthLocal->st_AuthRegInfo.enRegType) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = ERROR_AUTHORIZE_MODULE_CDKEY_UNKNOW; - return false; - } - else if (ENUM_AUTHORIZE_MODULE_CDKEY_TYPE_TEMP == pSt_AuthLocal->st_AuthRegInfo.enRegType) - { - if (_tcsxlen(pSt_AuthLocal->st_AuthRegInfo.tszExpiryTime) > 1) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = ERROR_AUTHORIZE_MODULE_CDKEY_TEMP; - return false; - } - else - { - pSt_AuthLocal->st_AuthRegInfo.enRegType = ENUM_AUTHORIZE_MODULE_CDKEY_TYPE_EXPIRED; - _xstprintf(pSt_AuthLocal->st_AuthRegInfo.tszExpiryTime, _X("%04d-%02d-%02d %02d:%02d:%02d"), st_SysTimer.wYear, st_SysTimer.wMonth, st_SysTimer.wDay, st_SysTimer.wHour, st_SysTimer.wMinute, st_SysTimer.wSecond); - } - } - else if (ENUM_AUTHORIZE_MODULE_CDKEY_TYPE_EXPIRED == pSt_AuthLocal->st_AuthRegInfo.enRegType) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = ERROR_AUTHORIZE_MODULE_CDKEY_EXPIRED; - return false; - } - else - { - //其他类型的注册机制 - BaseLib_Time_GetSysTime(&st_SysTimer); - //计算超时时间 - if (ENUM_AUTHORIZE_MODULE_SERIAL_TYPE_SECOND == pSt_AuthLocal->st_AuthRegInfo.enSerialType) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = ERROR_AUTHORIZE_MODULE_CDKEY_NOTSUPPORT; - return false; - } - else if (ENUM_AUTHORIZE_MODULE_SERIAL_TYPE_DAY == pSt_AuthLocal->st_AuthRegInfo.enSerialType) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = ERROR_AUTHORIZE_MODULE_CDKEY_NOTSUPPORT; - return false; - } - else if (ENUM_AUTHORIZE_MODULE_SERIAL_TYPE_TIME == pSt_AuthLocal->st_AuthRegInfo.enSerialType) - { - pSt_AuthLocal->st_AuthRegInfo.nHasTime--; - } - else if (ENUM_AUTHORIZE_MODULE_SERIAL_TYPE_CUSTOM == pSt_AuthLocal->st_AuthRegInfo.enSerialType) - { - _stxscanf(pSt_AuthLocal->st_AuthRegInfo.tszLeftTime, _X("%04d-%02d-%02d %02d:%02d:%02d"), &st_EndTimer.wYear, &st_EndTimer.wMonth, &st_EndTimer.wDay, &st_EndTimer.wHour, &st_EndTimer.wMinute, &st_EndTimer.wSecond); - BaseLib_TimeSpan_GetForStu(&st_SysTimer, &st_EndTimer, &pSt_AuthLocal->st_AuthRegInfo.nHasTime, ENUM_XENGINE_BASELIB_TIME_TYPE_SECOND); - } - else - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = ERROR_AUTHORIZE_MODULE_CDKEY_NOTSUPPORT; - return false; - } - if (pSt_AuthLocal->st_AuthRegInfo.nHasTime < 0) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = ERROR_AUTHORIZE_MODULE_CDKEY_TIMEOUT; - pSt_AuthLocal->st_AuthRegInfo.enRegType = ENUM_AUTHORIZE_MODULE_CDKEY_TYPE_EXPIRED; - _xstprintf(pSt_AuthLocal->st_AuthRegInfo.tszExpiryTime, _X("%04d-%02d-%02d %02d:%02d:%02d"), st_SysTimer.wYear, st_SysTimer.wMonth, st_SysTimer.wDay, st_SysTimer.wHour, st_SysTimer.wMinute, st_SysTimer.wSecond); - return false; - } - } - pSt_AuthLocal->st_AuthAppInfo.nExecTime++; - return true; -} -/******************************************************************** -函数名称:Authorize_CDKey_WriteTime -函数功能:记录一次执行时间 - 参数.一:lpszFileKey - In/Out:In - 类型:常量字符指针 - 可空:N - 意思:输入要操作的文件 - 参数.二:nCount - In/Out:In - 类型:整数型 - 可空:Y - 意思:输入最大允许记录个数,0不限制 -返回值 - 类型:逻辑型 - 意思:是否成功 -备注:记录次数越多,文件越大.读取需要的内存就越多 -*********************************************************************/ -bool CAuthorize_CDKey::Authorize_CDKey_WriteTime(LPCXSTR lpszFileKey, int nCount /* = 0 */) -{ - Authorize_IsErrorOccur = false; - - if (NULL == lpszFileKey) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = ERROR_AUTHORIZE_MODULE_CDKEY_PARAMENT; - return false; - } - //添加执行信息 - bool bFound = false; - LPCXSTR lpszTimeStr = _X("[TimeList]"); - FILE* pSt_File = _xtfopen(lpszFileKey, _X("r+")); - if (NULL == pSt_File) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = ERROR_AUTHORIZE_MODULE_CDKEY_OPENFILE; - return false; - } - XCHAR tszMsgBuffer[XPATH_MAX]; - memset(tszMsgBuffer, '\0', XPATH_MAX); - //查找是否有时间列表字段 - while (1) - { - if (NULL == fgets(tszMsgBuffer, XPATH_MAX, pSt_File)) - { - break; - } - if (0 == _tcsxncmp(lpszTimeStr, tszMsgBuffer, _tcsxlen(lpszTimeStr))) - { - bFound = true; - break; - } - } - //设置文件指针 - if (bFound) - { - //如果设置了最大个数 - if (nCount > 0) - { - int nListCount = 0; - XCHAR** pptszListTime = NULL; - //读取现有的 - Authorize_CDKey_ReadTime(lpszFileKey, &pptszListTime, &nListCount); - //是否大于14 >= 10 - if (nListCount >= nCount) - { - long lFSize = ftell(pSt_File); - //需要截断文件 - fclose(pSt_File); - int hFile = _xtopen(lpszFileKey, O_RDWR | O_CREAT, S_IREAD | S_IWRITE); -#ifdef _MSC_BUILD - if (0 != _chsize_s(hFile, lFSize)) -#else - if (0 != ftruncate(hFile, lFSize)) -#endif - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = ERROR_AUTHORIZE_MODULE_CDKEY_SETFILE; - return false; - } - _close(hFile); - //重新打开文件 - pSt_File = _xtfopen(lpszFileKey, _X("r+")); - fseek(pSt_File, 0, SEEK_END); - //从我们要保留的地方开始轮训 - for (int i = (nListCount - nCount + 1); i < nListCount; i++) - { - fwrite(pptszListTime[i], 1, _tcsxlen(pptszListTime[i]), pSt_File); - fwrite(_X("|"), 1, 1, pSt_File); - } - } - else - { - //在末尾添加 - fseek(pSt_File, -1, SEEK_END); - XCHAR cChar = fgetc(pSt_File); - if (cChar == '\n') - { - fseek(pSt_File, -2, SEEK_END); - } - else - { - fseek(pSt_File, 0, SEEK_END); - } - } - } - else - { - //在末尾添加 - fseek(pSt_File, -1, SEEK_END); - XCHAR cChar = fgetc(pSt_File); - if (cChar == '\n') - { - fseek(pSt_File, -2, SEEK_END); - } - else - { - fseek(pSt_File, 0, SEEK_END); - } - } - } - else - { - fseek(pSt_File, 0, SEEK_END); - if (tszMsgBuffer[_tcsxlen(tszMsgBuffer) - 1] != '\n') - { - fwrite(_X("\n"), 1, 1, pSt_File); - } - fwrite(lpszTimeStr, 1, _tcsxlen(lpszTimeStr), pSt_File); - fwrite(_X("\n"), 1, 1, pSt_File); - } - memset(tszMsgBuffer, '\0', sizeof(tszMsgBuffer)); -#ifdef _MSC_BUILD - _xstprintf(tszMsgBuffer, _X("%lld|"), time(NULL)); -#else - _xstprintf(tszMsgBuffer, _X("%ld|"), time(NULL)); -#endif - //追加 - fwrite(tszMsgBuffer, 1, _tcsxlen(tszMsgBuffer), pSt_File); - fclose(pSt_File); - return true; -} -/******************************************************************** -函数名称:Authorize_CDKey_ReadTime -函数功能:读取记录的时间列表信息 - 参数.一:lpszFileKey - In/Out:In - 类型:常量字符指针 - 可空:N - 意思:输入要读取的文件 - 参数.二:ppptszTimeList - In/Out:Out - 类型:三级指针 - 可空:N - 意思:输出时间信息列表 - 参数.三:pInt_ListCount - In/Out:Out - 类型:整数型指针 - 可空:N - 意思:输出个数 -返回值 - 类型:逻辑型 - 意思:是否成功 -备注: -*********************************************************************/ -bool CAuthorize_CDKey::Authorize_CDKey_ReadTime(LPCXSTR lpszFileKey, XCHAR*** ppptszTimeList, int* pInt_ListCount) -{ - Authorize_IsErrorOccur = false; - - if ((NULL == lpszFileKey) || (NULL == pInt_ListCount)) - { - return false; - } - bool bFound = false; - LPCXSTR lpszTimeStr = _X("[TimeList]"); - FILE* pSt_File = _xtfopen(lpszFileKey, _X("rb")); - if (NULL == pSt_File) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = ERROR_AUTHORIZE_MODULE_CDKEY_OPENFILE; - return false; - } - XCHAR tszMsgBuffer[XPATH_MAX]; - //查找是否有时间列表字段 - while (1) - { - memset(tszMsgBuffer, '\0', sizeof(tszMsgBuffer)); - if (NULL == fgets(tszMsgBuffer, XPATH_MAX, pSt_File)) - { - break; - } - if (0 == _tcsxncmp(lpszTimeStr, tszMsgBuffer, _tcsxlen(lpszTimeStr))) - { - bFound = true; - break; - } - } - //设置文件指针 - if (!bFound) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = ERROR_AUTHORIZE_MODULE_CDKEY_TIMELIST; - return false; - } - list stl_ListTime; - struct stat st_FileStat; - stat(lpszFileKey, &st_FileStat); - //申请足够的内存 - XCHAR* ptszMsgBuffer = (XCHAR*)malloc(st_FileStat.st_size); - if (NULL == ptszMsgBuffer) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = ERROR_AUTHORIZE_MODULE_CDKEY_MALLOC; - return false; - } - memset(ptszMsgBuffer, '\0', st_FileStat.st_size); - if (fread(ptszMsgBuffer, 1, st_FileStat.st_size, pSt_File) <= 0) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = ERROR_AUTHORIZE_MODULE_CDKEY_READ; - free(ptszMsgBuffer); - ptszMsgBuffer = NULL; - return false; - } - //申请内存 - XCHAR* ptszTokStr = _tcsxtok(ptszMsgBuffer, _X("|")); - while (NULL != ptszTokStr) - { - if (_tcsxlen(ptszTokStr) > 4) - { - stl_ListTime.push_back(ptszTokStr); - } - ptszTokStr = _tcsxtok(NULL, _X("|")); - } - fclose(pSt_File); - free(ptszMsgBuffer); - ptszMsgBuffer = NULL; - //导出 - *pInt_ListCount = (int)stl_ListTime.size(); - BaseLib_Memory_Malloc((XPPPMEM)ppptszTimeList, *pInt_ListCount, 64); - list::const_iterator stl_ListIterator = stl_ListTime.begin(); - for (int i = 0; stl_ListIterator != stl_ListTime.end(); stl_ListIterator++, i++) - { - _tcsxcpy((*ppptszTimeList)[i], stl_ListIterator->c_str()); - } - stl_ListTime.clear(); - return true; -} \ No newline at end of file diff --git a/XEngine_Source/AuthorizeModule_CDKey/Authorize_CDKey/Authorize_CDKey.h b/XEngine_Source/AuthorizeModule_CDKey/Authorize_CDKey/Authorize_CDKey.h deleted file mode 100644 index af62493b..00000000 --- a/XEngine_Source/AuthorizeModule_CDKey/Authorize_CDKey/Authorize_CDKey.h +++ /dev/null @@ -1,31 +0,0 @@ -#pragma once -/******************************************************************** -// Created: 2024/07/08 17:27:26 -// File Name: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_CDKey\Authorize_CDKey\Authorize_CDKey.h -// File Path: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_CDKey\Authorize_CDKey -// File Base: Authorize_CDKey -// File Ext: h -// Project: XEngine -// Author: qyt -// Purpose: 本地授权服务 -// History: -*********************************************************************/ - -class CAuthorize_CDKey -{ -public: - CAuthorize_CDKey(); - ~CAuthorize_CDKey(); -public: - bool Authorize_CDKey_WriteKey(LPCXSTR lpszFileKey, XENGINE_AUTHORIZE_LOCAL* pSt_AuthLocal); - bool Authorize_CDKey_ReadKey(LPCXSTR lpszFileKey, XENGINE_AUTHORIZE_LOCAL* pSt_AuthLocal); - bool Authorize_CDKey_WriteMemory(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, XENGINE_AUTHORIZE_LOCAL* pSt_AuthLocal); - bool Authorize_CDKey_ReadMemory(LPCXSTR lpszMsgBuffer, int nMsgLen, XENGINE_AUTHORIZE_LOCAL* pSt_AuthLocal); -public: - bool Authorize_CDKey_BuildKeyTime(XENGINE_AUTHORIZE_LOCAL* pSt_AuthLocal, __int64x nDayTimer = 0, XENGINE_LIBTIME* pSt_DayTimer = NULL); - bool Authorize_CDKey_UserRegister(XENGINE_AUTHORIZE_LOCAL* pSt_AuthLocal, LPCXSTR lpszSerialStr); - bool Authorize_CDKey_GetLeftTimer(XENGINE_AUTHORIZE_LOCAL* pSt_AuthLocal, LPCXSTR lpszSerialNumber = NULL); - bool Authorize_CDKey_WriteTime(LPCXSTR lpszFileKey, int nCount = 0); - bool Authorize_CDKey_ReadTime(LPCXSTR lpszFileKey, XCHAR*** ppptszTimeList, int* pInt_ListCount); -private: -}; diff --git a/XEngine_Source/AuthorizeModule_CDKey/Authorize_Serial/Authorize_Serial.cpp b/XEngine_Source/AuthorizeModule_CDKey/Authorize_Serial/Authorize_Serial.cpp deleted file mode 100644 index 2dc41a46..00000000 --- a/XEngine_Source/AuthorizeModule_CDKey/Authorize_Serial/Authorize_Serial.cpp +++ /dev/null @@ -1,509 +0,0 @@ -#include "pch.h" -#include "Authorize_Serial.h" -/******************************************************************** -// Created: 2024/07/08 17:30:53 -// File Name: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_CDKey\Authorize_Serial\Authorize_Serial.cpp -// File Path: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_CDKey\Authorize_Serial -// File Base: Authorize_Serial -// File Ext: cpp -// Project: XEngine -// Author: qyt -// Purpose: 序列卡生成器 -// History: -*********************************************************************/ -CAuthorize_Serial::CAuthorize_Serial() -{ - memset(tszTimerSecond, '\0', sizeof(tszTimerSecond)); - memset(tszTimerDay, '\0', sizeof(tszTimerDay)); - memset(tszTimerTime, '\0', sizeof(tszTimerTime)); - memset(tszTimerCustom, '\0', sizeof(tszTimerCustom)); - - _tcsxcpy(tszTimerSecond, _X("XYRYS")); - _tcsxcpy(tszTimerDay, _X("XYRYD")); - _tcsxcpy(tszTimerTime, _X("XYRYT")); - _tcsxcpy(tszTimerCustom, _X("XYRYC")); -} -CAuthorize_Serial::~CAuthorize_Serial() -{ - -} -////////////////////////////////////////////////////////////////////////// -// 公有函数 -////////////////////////////////////////////////////////////////////////// -/******************************************************************** -函数名称:Authorize_Serial_Creator -函数功能:开始生成指定的序列号 - 参数.一:ppptszSerialNumber - In/Out:Out - 类型:三级指针 - 可空:N - 意思:输出序列卡列表,根据nCardNumber 来确定列表个数 - 参数.二:lpszUserHeader - In/Out:In - 类型:常量字符指针 - 可空:N - 意思:自定义头,长度为6,填充5 比如 XHEAD - 参数.三:nCardNumber - In/Out:In - 类型:整数型 - 可空:N - 意思:要生成多少张卡,生成多了,此函数会阻塞程序,那么请放置线程中运行 - 参数.四:nFieldNumber - In/Out:In - 类型:整数型 - 可空:N - 意思:卡的段数,AAAAA-BBBBB-CCCCC-DDDDD-EEEEE,不包含三段自定义头,总字段:3 + nFieldNumber - 参数.五:pSt_CustomTimer - In/Out:In - 类型:数据结构指针 - 可空:N - 意思:如果第五个参数为自定义日期,那么这个参数必须赋值。如果第五个参数为天数卡,这个结构体的nDay 必须赋值,表明拥有几天。 - 如果是分钟卡,那么这个值的nMinute必须有值,表示拥有的分钟.如果是次数卡,那么这个值的wFlags必须有值,表示拥有的次数,其他类型可以为NULL - 参数.六:enSerialType - In/Out:In - 类型:枚举型 - 可空:Y - 意思:要生成的卡类型 -返回值 - 类型:逻辑型 - 意思:是否生成成功 -备注:输入的时间不能超过99999,多天卡现在由用户直接使用pSt_CustomTimer参数指定,不在内部指定了 -*********************************************************************/ -bool CAuthorize_Serial::Authorize_Serial_Creator(XCHAR*** ppptszSerialNumber, LPCXSTR lpszUserHeader, int nCardNumber, int nFieldNumber, XENGINE_LIBTIME* pSt_CustomTimer, ENUM_AUTHORIZE_MODULE_SERIAL_TYPE enSerialType /* = ENUM_AUTHORIZE_MODULE_SERIAL_TYPE_DAY */) -{ - Authorize_IsErrorOccur = false; - //参数检查 - if ((NULL == ppptszSerialNumber) || (NULL == lpszUserHeader)) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = ERROR_AUTHORIZE_MODULE_CDKEY_PARAMENT; - return false; - } - BaseLib_Memory_Malloc((XPPPMEM)ppptszSerialNumber, nCardNumber, XPATH_MAX); - srand((unsigned int)time(NULL)); //取随机因子 - - for (int i = 0; i < nCardNumber; i++) - { - XCHAR tszSerialNumber[XPATH_MAX]; - memset(tszSerialNumber, '\0', XPATH_MAX); - //检查生成类型 - switch (enSerialType) - { - case ENUM_AUTHORIZE_MODULE_SERIAL_TYPE_SECOND: - { - if (NULL == pSt_CustomTimer) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = ERROR_AUTHORIZE_MODULE_CDKEY_PARAMENT; - return false; - } - XCHAR tszFillBuffer[10]; - XCHAR tszDayBuffer[10]; - memset(tszFillBuffer, '\0', sizeof(tszFillBuffer)); - memset(tszDayBuffer, '\0', sizeof(tszDayBuffer)); - - Authorize_Serial_RandomWord(tszFillBuffer); - _xstprintf(tszDayBuffer, _X("%d"), pSt_CustomTimer->wSecond); - memcpy(tszFillBuffer + (_tcsxlen(tszFillBuffer) - _tcsxlen(tszDayBuffer)), tszDayBuffer, _tcsxlen(tszDayBuffer)); - - _xstprintf(tszSerialNumber, _X("%s-%s-%s"), lpszUserHeader, tszTimerSecond, tszFillBuffer); - if (!Authorize_Serial_Fill(tszSerialNumber, nFieldNumber)) - { - return false; - } - } - break; - case ENUM_AUTHORIZE_MODULE_SERIAL_TYPE_DAY: - { - if (NULL == pSt_CustomTimer) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = ERROR_AUTHORIZE_MODULE_CDKEY_PARAMENT; - return false; - } - XCHAR tszFillBuffer[10]; - XCHAR tszDayBuffer[10]; - memset(tszFillBuffer, '\0', sizeof(tszFillBuffer)); - memset(tszDayBuffer, '\0', sizeof(tszDayBuffer)); - - Authorize_Serial_RandomWord(tszFillBuffer); - _xstprintf(tszDayBuffer, _X("%d"), pSt_CustomTimer->wDay); - memcpy(tszFillBuffer + (_tcsxlen(tszFillBuffer) - _tcsxlen(tszDayBuffer)), tszDayBuffer, _tcsxlen(tszDayBuffer)); - - _xstprintf(tszSerialNumber, _X("%s-%s-%s"), lpszUserHeader, tszTimerDay, tszFillBuffer); - if (!Authorize_Serial_Fill(tszSerialNumber, nFieldNumber)) - { - return false; - } - } - break; - case ENUM_AUTHORIZE_MODULE_SERIAL_TYPE_TIME: - XCHAR tszFillBuffer[10]; - XCHAR tszTimeBuffer[10]; - memset(tszFillBuffer, '\0', sizeof(tszFillBuffer)); - memset(tszTimeBuffer, '\0', sizeof(tszTimeBuffer)); - - Authorize_Serial_RandomWord(tszFillBuffer); - _xstprintf(tszTimeBuffer, _X("%d"), pSt_CustomTimer->wFlags); - memcpy(tszFillBuffer + (_tcsxlen(tszFillBuffer) - _tcsxlen(tszTimeBuffer)), tszTimeBuffer, _tcsxlen(tszTimeBuffer)); - - _xstprintf(tszSerialNumber, _X("%s-%s-%s"), lpszUserHeader, tszTimerTime, tszFillBuffer); - if (!Authorize_Serial_Fill(tszSerialNumber, nFieldNumber)) - { - return false; - } - break; - case ENUM_AUTHORIZE_MODULE_SERIAL_TYPE_CUSTOM: - if (NULL == pSt_CustomTimer) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = ERROR_AUTHORIZE_MODULE_CDKEY_PARAMENT; - return false; - } - XCHAR tszTimer[128]; - memset(tszTimer, '\0', 128); - - if ((pSt_CustomTimer->wHour > 0) || (pSt_CustomTimer->wMinute > 0) || (pSt_CustomTimer->wSecond > 0)) - { - _xstprintf(tszTimer, _X("%04d%02d%02d-%02d%02d%02d"), pSt_CustomTimer->wYear, pSt_CustomTimer->wMonth, pSt_CustomTimer->wDay, pSt_CustomTimer->wHour, pSt_CustomTimer->wMinute, pSt_CustomTimer->wSecond); - nFieldNumber--; - } - else - { - _xstprintf(tszTimer, _X("%04d%02d%02d"), pSt_CustomTimer->wYear, pSt_CustomTimer->wMonth, pSt_CustomTimer->wDay); - } - _xstprintf(tszSerialNumber, _X("%s-%s-%s"), lpszUserHeader, tszTimerCustom, tszTimer); - if (!Authorize_Serial_Fill(tszSerialNumber, nFieldNumber)) - { - return false; - } - break; - default: - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = ERROR_AUTHORIZE_MODULE_CDKEY_NOTSUPPORT; - return false; - } - _tcsxcpy((*ppptszSerialNumber)[i], tszSerialNumber); - } - return true; -} -/******************************************************************** -函数名称:Authorize_Serial_Creator -函数功能:创建自定义无类型序列号 - 参数.一:ppptszSerialNumber - In/Out:Out - 类型:三级指针 - 可空:N - 意思:输出序列卡列表,根据nCardNumber 来确定列表个数 - 参数.二:lpszUserHeader - In/Out:In - 类型:常量字符指针 - 可空:N - 意思:自定义头,长度为6,填充5 比如 XHEAD - 参数.三:nCardNumber - In/Out:In - 类型:整数型 - 可空:N - 意思:要生成多少张卡,生成多了,此函数会阻塞程序,那么请放置线程中运行 - 参数.四:nFieldNumber - In/Out:In - 类型:整数型 - 可空:N - 意思:卡的段数,AAAAA-BBBBB-CCCCC-DDDDD-EEEEE -返回值 - 类型:逻辑型 - 意思:是否成功 -备注: -*********************************************************************/ -bool CAuthorize_Serial::Authorize_Serial_Create(XCHAR*** ppptszSerialNumber, LPCXSTR lpszUserHeader, int nCardNumber, int nFieldNumber) -{ - Authorize_IsErrorOccur = false; - //参数检查 - if ((NULL == ppptszSerialNumber) || (NULL == lpszUserHeader)) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = ERROR_AUTHORIZE_MODULE_CDKEY_PARAMENT; - return false; - } - BaseLib_Memory_Malloc((XPPPMEM)ppptszSerialNumber, nCardNumber, XPATH_MAX); - srand((unsigned int)time(NULL)); //取随机因子 - - for (int i = 0; i < nCardNumber; i++) - { - XCHAR tszSerialNumber[XPATH_MAX]; - memset(tszSerialNumber, '\0', XPATH_MAX);; - - _xstprintf(tszSerialNumber, _X("%s"), lpszUserHeader); - if (!Authorize_Serial_Fill(tszSerialNumber, nFieldNumber)) - { - return false; - } - _tcsxcpy((*ppptszSerialNumber)[i], tszSerialNumber); - } - return true; -} -/******************************************************************** -函数名称:Authorize_Serial_GetType -函数功能:获取一个序列号的类型 - 参数.一:lpszSerialNumber - In/Out:In - 类型:常量字符指针 - 可空:N - 意思:要获取的缓冲区 - 参数.二:penSerialType - In/Out:Out - 类型:枚举型 - 可空:Y - 意思:导出此卡的类型 - 参数.三:pSt_CustomTimer - In/Out:Out - 类型:数据结构指针 - 可空:Y - 意思:如果不是自定义类型或者天数卡,或者次数卡,这个参数将不起作用 -返回值 - 类型:逻辑型 - 意思:是否获取成功 -备注: -*********************************************************************/ -bool CAuthorize_Serial::Authorize_Serial_GetType(LPCXSTR lpszSerialNumber, ENUM_AUTHORIZE_MODULE_SERIAL_TYPE* penSerialType, XENGINE_LIBTIME* pSt_CustomTimer /* = NULL */) -{ - Authorize_IsErrorOccur = false; - - if (NULL == penSerialType) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = ERROR_AUTHORIZE_MODULE_CDKEY_PARAMENT; - return false; - } - - XCHAR tszBuffer[6]; - XCHAR tszBuffertemp[6]; - XCHAR tszTimeData[128]; - XCHAR tszTimeTime[128]; - - memset(tszBuffer, '\0', 6); - memset(tszBuffertemp, '\0', 6); - memset(tszTimeData, '\0', sizeof(tszTimeData)); - memset(tszTimeTime, '\0', sizeof(tszTimeTime)); - //获取指定内容 - if (4 != _stxscanf(lpszSerialNumber, _X("%[^-]-%[^-]-%[^-]-%[^-]"), tszBuffertemp, tszBuffer, tszTimeData, tszTimeTime)) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = ERROR_AUTHORIZE_MODULE_CDKEY_BUFFER; - return false; - } - //匹配类型 - if (0 == _tcsxncmp(tszTimerSecond, tszBuffer, 5)) - { - if (NULL == pSt_CustomTimer) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = ERROR_AUTHORIZE_MODULE_CDKEY_PARAMENT; - return false; - } - unsigned int i = 0; - for (i = 0; i < _tcsxlen(tszTimeData); i++) - { - if (0 != isdigit(tszTimeData[i])) - { - break; - } - } - XCHAR tszIntBuffer[64]; - memset(tszIntBuffer, '\0', sizeof(tszIntBuffer)); - memcpy(tszIntBuffer, tszTimeData + i, _tcsxlen(tszTimeData) - i); - pSt_CustomTimer->wSecond = _ttxoi(tszIntBuffer); - - *penSerialType = ENUM_AUTHORIZE_MODULE_SERIAL_TYPE_SECOND; - } - else if (0 == _tcsxncmp(tszTimerDay, tszBuffer, 5)) - { - if (NULL == pSt_CustomTimer) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = ERROR_AUTHORIZE_MODULE_CDKEY_PARAMENT; - return false; - } - unsigned int i = 0; - for (i = 0; i < _tcsxlen(tszTimeData); i++) - { - if (0 != isdigit(tszTimeData[i])) - { - break; - } - } - XCHAR tszIntBuffer[64]; - memset(tszIntBuffer, '\0', sizeof(tszIntBuffer)); - memcpy(tszIntBuffer, tszTimeData + i, _tcsxlen(tszTimeData) - i); - pSt_CustomTimer->wDay = _ttxoi(tszIntBuffer); - - *penSerialType = ENUM_AUTHORIZE_MODULE_SERIAL_TYPE_DAY; - } - else if (0 == _tcsxncmp(tszTimerTime, tszBuffer, 5)) - { - if (NULL == pSt_CustomTimer) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = ERROR_AUTHORIZE_MODULE_CDKEY_PARAMENT; - return false; - } - unsigned int i = 0; - for (i = 0; i < _tcsxlen(tszTimeData); i++) - { - if (0 != isdigit(tszTimeData[i])) - { - break; - } - } - XCHAR tszIntBuffer[64]; - memset(tszIntBuffer, '\0', sizeof(tszIntBuffer)); - memcpy(tszIntBuffer, tszTimeData + i, _tcsxlen(tszTimeData) - i); - pSt_CustomTimer->wFlags = _ttxoi(tszIntBuffer); - - *penSerialType = ENUM_AUTHORIZE_MODULE_SERIAL_TYPE_TIME; - } - else if (0 == _tcsxncmp(tszTimerCustom, tszBuffer, 5)) - { - *penSerialType = ENUM_AUTHORIZE_MODULE_SERIAL_TYPE_CUSTOM; - if (NULL == pSt_CustomTimer) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = ERROR_AUTHORIZE_MODULE_CDKEY_PARAMENT; - return false; - } - if (3 != _stxscanf(tszTimeData, _X("%04d%02d%02d"), &pSt_CustomTimer->wYear, &pSt_CustomTimer->wMonth, &pSt_CustomTimer->wDay)) - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = ERROR_AUTHORIZE_MODULE_CDKEY_CUSTOM; - return false; - } - if (3 != _stxscanf(tszTimeTime, _X("%02d%02d%02d"), &pSt_CustomTimer->wHour, &pSt_CustomTimer->wMinute, &pSt_CustomTimer->wSecond)) - { - pSt_CustomTimer->wHour = 0; - pSt_CustomTimer->wMinute = 0; - pSt_CustomTimer->wSecond = 0; - } - } - else - { - Authorize_IsErrorOccur = true; - Authorize_dwErrorCode = ERROR_AUTHORIZE_MODULE_CDKEY_UNKNOW; - return false; - } - return true; -} -////////////////////////////////////////////////////////////////////////// -// 保护函数 -////////////////////////////////////////////////////////////////////////// -/******************************************************************** -函数名称:Authorize_Serial_Fill -函数功能:填充缓冲区 - 参数.一:ptszFillBuffer - In/Out:In/Out - 类型:字符指针 - 可空:N - 意思:输入填充了头和序列号类型的缓冲区 HEARD-XYRYD - 参数.二:nCardNumer - In/Out:In - 类型:整数型 - 可空:N - 意思:要生成的卡的段数 -返回值 - 类型:逻辑型 - 意思:是否生成成功 -备注: -*********************************************************************/ -bool CAuthorize_Serial::Authorize_Serial_Fill(XCHAR *ptszFillBuffer, int nCardNumer) -{ - Authorize_IsErrorOccur = false; - - int nPosType = 0; - - for (int i = 3; i < nCardNumer; i++) - { - XCHAR tszRandom[6]; - memset(tszRandom, '\0', 6); - if (0 == nPosType) - { - Authorize_Serial_Random(tszRandom); - _tcsxcat(ptszFillBuffer, _X("-")); - _tcsxcat(ptszFillBuffer, tszRandom); - nPosType = 1; - } - else if (1 == nPosType) - { - Authorize_Serial_RandomWord(tszRandom); - _tcsxcat(ptszFillBuffer, _X("-")); - _tcsxcat(ptszFillBuffer, tszRandom); - nPosType = 2; - } - else - { - Authorize_Serial_RandomNumber(tszRandom); - _tcsxcat(ptszFillBuffer, _X("-")); - _tcsxcat(ptszFillBuffer, tszRandom); - nPosType = 0; - } - } - return true; -} -/******************************************************************** -函数名称:Authorize_Serial_Random -函数功能:取随机字母数字 - 参数.一:ptszFillBuffer - In/Out:In/Out - 类型:字符指针 - 可空:N - 意思:输入已经初始化为0的字符串,内存空间为6,导出生成成功的字符串 -返回值 - 类型:逻辑型 - 意思:是否生成成功 -备注: -*********************************************************************/ -bool CAuthorize_Serial::Authorize_Serial_Random(XCHAR *ptszFillBuffer) -{ - Authorize_IsErrorOccur = false; - - BaseLib_Handle_CreateStr(ptszFillBuffer, 5, 0, 1); - return true; -} -/******************************************************************** -函数名称:Authorize_Serial_RandomWord -函数功能:取随机字母,大写 - 参数.一:ptszFillBuffer - In/Out:In/Out - 类型:字符指针 - 可空:N - 意思:输入已经初始化为0的字符串,内存空间为6,导出生成成功的字符串 -返回值 - 类型:逻辑型 - 意思:是否生成成功 -备注: -*********************************************************************/ -bool CAuthorize_Serial::Authorize_Serial_RandomWord(XCHAR *ptszFillBuffer) -{ - Authorize_IsErrorOccur = false; - - BaseLib_Handle_CreateStr(ptszFillBuffer, 5, 2, 1); - return true; -} -/******************************************************************** -函数名称:Authorize_Serial_RandomNumber -函数功能:取随机数 - 参数.一:ptszFillBuffer - In/Out:In/Out - 类型:字符指针 - 可空:N - 意思:输入已经初始化为0的字符串,内存空间为6,导出生成成功的字符串 -返回值 - 类型:逻辑型 - 意思:是否生成成功 -备注: -*********************************************************************/ -bool CAuthorize_Serial::Authorize_Serial_RandomNumber(XCHAR *ptszFilleBuffer) -{ - Authorize_IsErrorOccur = false; - - BaseLib_Handle_CreateStr(ptszFilleBuffer, 5, 1); - return true; -} diff --git a/XEngine_Source/AuthorizeModule_CDKey/Authorize_Serial/Authorize_Serial.h b/XEngine_Source/AuthorizeModule_CDKey/Authorize_Serial/Authorize_Serial.h deleted file mode 100644 index e69642ab..00000000 --- a/XEngine_Source/AuthorizeModule_CDKey/Authorize_Serial/Authorize_Serial.h +++ /dev/null @@ -1,35 +0,0 @@ -#pragma once -/******************************************************************** -// Created: 2024/07/08 17:30:06 -// File Name: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_CDKey\Authorize_Serial\Authorize_Serial.h -// File Path: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_CDKey\Authorize_Serial -// File Base: Authorize_Serial -// File Ext: h -// Project: XEngine -// Author: qyt -// Purpose: 序列卡生成器 -// History: -*********************************************************************/ - - -class CAuthorize_Serial -{ -public: - CAuthorize_Serial(); - ~CAuthorize_Serial(); -public: - bool Authorize_Serial_Creator(XCHAR*** ppptszSerialNumber, LPCXSTR lpszUserHeader, int nCardNumber, int nFieldNumber, XENGINE_LIBTIME* pSt_CustomTimer, ENUM_AUTHORIZE_MODULE_SERIAL_TYPE enSerialType = ENUM_AUTHORIZE_MODULE_SERIAL_TYPE_DAY); - bool Authorize_Serial_Create(XCHAR*** ppptszSerialNumber, LPCXSTR lpszUserHeader, int nCardNumber, int nFieldNumber); - bool Authorize_Serial_GetType(LPCXSTR lpszSerialNumber, ENUM_AUTHORIZE_MODULE_SERIAL_TYPE* penSerialType, XENGINE_LIBTIME* pSt_CustomTimer = NULL); -protected: - bool Authorize_Serial_Fill(XCHAR *ptszFillBuffer, int nCardNumer); //填充后面的字段 -protected: - bool Authorize_Serial_Random(XCHAR *ptszFillBuffer); //取随机字母数字 - bool Authorize_Serial_RandomWord(XCHAR *ptszFillBuffer); //随机取单词 - bool Authorize_Serial_RandomNumber(XCHAR *ptszFilleBuffer); //取随机数 -private: - XCHAR tszTimerSecond[6]; //按照秒钟时间格式 - XCHAR tszTimerDay[6]; //按照天的时间格式 - XCHAR tszTimerTime[6]; //次数卡 - XCHAR tszTimerCustom[32]; //自定义到期时间 -}; diff --git a/XEngine_Source/AuthorizeModule_CDKey/CDKey_Define.h b/XEngine_Source/AuthorizeModule_CDKey/CDKey_Define.h deleted file mode 100644 index c238bfac..00000000 --- a/XEngine_Source/AuthorizeModule_CDKey/CDKey_Define.h +++ /dev/null @@ -1,308 +0,0 @@ -#pragma once -/******************************************************************** -// Created: 2024/07/08 17:30:14 -// File Name: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_CDKey\Authorize_Define.h -// File Path: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_CDKey -// File Base: Authorize_Define -// File Ext: h -// Project: XEngine -// Author: qyt -// Purpose: CDKEY授权验证服务 -// History: -*********************************************************************/ -////////////////////////////////////////////////////////////////////////// -// 导出函数 -////////////////////////////////////////////////////////////////////////// -extern "C" XLONG Authorize_GetLastError(int *pInt_SysError = NULL); -/************************************************************************/ -/* 序列卡导出函数 */ -/************************************************************************/ -/******************************************************************** -函数名称:Authorize_Serial_Creator -函数功能:开始生成指定的序列号 - 参数.一:ppptszSerialNumber - In/Out:Out - 类型:三级指针 - 可空:N - 意思:输出序列卡列表,根据nCardNumber 来确定列表个数 - 参数.二:lpszUserHeader - In/Out:In - 类型:常量字符指针 - 可空:N - 意思:自定义头,长度为6,填充5 比如 XHEAD - 参数.三:nCardNumber - In/Out:In - 类型:整数型 - 可空:N - 意思:要生成多少张卡,生成多了,此函数会阻塞程序,那么请放置线程中运行 - 参数.四:nFieldNumber - In/Out:In - 类型:整数型 - 可空:N - 意思:卡的段数,AAAAA-BBBBB-CCCCC-DDDDD-EEEEE,不包含三段自定义头,总字段:3 + nFieldNumber - 参数.五:pSt_CustomTimer - In/Out:In - 类型:数据结构指针 - 可空:N - 意思:如果第五个参数为自定义日期,那么这个参数必须赋值。如果第五个参数为天数卡,这个结构体的nDay 必须赋值,表明拥有几天。 - 如果是分钟卡,那么这个值的nMinute必须有值,表示拥有的分钟.如果是次数卡,那么这个值的wFlags必须有值,表示拥有的次数,其他类型可以为NULL - 参数.六:enSerialType - In/Out:In - 类型:枚举型 - 可空:Y - 意思:要生成的卡类型 -返回值 - 类型:逻辑型 - 意思:是否生成成功 -备注:输入的时间不能超过99999,多天卡现在由用户直接使用pSt_CustomTimer参数指定,不在内部指定了 -*********************************************************************/ -extern "C" bool Authorize_Serial_Creator(XCHAR * **ppptszSerialNumber, LPCXSTR lpszUserHeader, int nCardNumber, int nFieldNumber, XENGINE_LIBTIME * pSt_CustomTimer, ENUM_AUTHORIZE_MODULE_SERIAL_TYPE enSerialType = ENUM_AUTHORIZE_MODULE_SERIAL_TYPE_DAY); -/******************************************************************** -函数名称:Authorize_Serial_Create -函数功能:创建自定义无类型序列号 - 参数.一:ppptszSerialNumber - In/Out:Out - 类型:三级指针 - 可空:N - 意思:输出序列卡列表,根据nCardNumber 来确定列表个数 - 参数.二:lpszUserHeader - In/Out:In - 类型:常量字符指针 - 可空:N - 意思:自定义头,长度为6,填充5 比如 XHEAD - 参数.三:nCardNumber - In/Out:In - 类型:整数型 - 可空:N - 意思:要生成多少张卡,生成多了,此函数会阻塞程序,那么请放置线程中运行 - 参数.四:nFieldNumber - In/Out:In - 类型:整数型 - 可空:N - 意思:卡的段数,AAAAA-BBBBB-CCCCC-DDDDD-EEEEE -返回值 - 类型:逻辑型 - 意思:是否成功 -备注: -*********************************************************************/ -extern "C" bool Authorize_Serial_Create(XCHAR*** ppptszSerialNumber, LPCXSTR lpszUserHeader, int nCardNumber, int nFieldNumber); -/******************************************************************** -函数名称:Authorize_Serial_GetType -函数功能:获取一个序列号的类型 - 参数.一:lpszSerialNumber - In/Out:In - 类型:常量字符指针 - 可空:N - 意思:要获取的缓冲区 - 参数.二:penSerialType - In/Out:Out - 类型:枚举型 - 可空:Y - 意思:导出此卡的类型 - 参数.三:pSt_CustomTimer - In/Out:Out - 类型:数据结构指针 - 可空:Y - 意思:如果不是自定义类型或者天数卡,或者次数卡,这个参数将不起作用 -返回值 - 类型:逻辑型 - 意思:是否获取成功 -备注: -*********************************************************************/ -extern "C" bool Authorize_Serial_GetType(LPCXSTR lpszSerialNumber, ENUM_AUTHORIZE_MODULE_SERIAL_TYPE* penSerialType, XENGINE_LIBTIME* pSt_CustomTimer = NULL); -/************************************************************************/ -/* 本地授权导出函数 */ -/************************************************************************/ -/******************************************************************** -函数名称:Authorize_CDKey_WriteKey -函数功能:写一个CDKey文件 - 参数.一:lpszFileKey - In/Out:In - 类型:常量字符指针 - 可空:N - 意思:要操作的文件路径 - 参数.二:pSt_AuthLocal - In/Out:In - 类型:数据结构指针 - 可空:N - 意思:要写入的文件信息 -返回值 - 类型:逻辑型 - 意思:是否成功 -备注:写入读取必须是明文,建议你加密处理CDKEY,通过OPENSSL模块,来加解密,在读写 -*********************************************************************/ -extern "C" bool Authorize_CDKey_WriteKey(LPCXSTR lpszFileKey, XENGINE_AUTHORIZE_LOCAL* pSt_AuthLocal); -/******************************************************************** -函数名称:Authorize_CDKey_ReadKey -函数功能:读一个数据文件 - 参数.一:lpszFileKey - In/Out:In - 类型:常量字符指针 - 可空:N - 意思:要操作的文件路径 - 参数.二:pSt_AuthLocal - In/Out:Out - 类型:数据结构指针 - 可空:N - 意思:导出获取到的文件信息 -返回值 - 类型:逻辑型 - 意思:是否成功 -备注: -*********************************************************************/ -extern "C" bool Authorize_CDKey_ReadKey(LPCXSTR lpszFileKey, XENGINE_AUTHORIZE_LOCAL* pSt_AuthLocal); -/******************************************************************** -函数名称:Authorize_CDKey_WriteMemory -函数功能:写配置信息到内存 - 参数.一:ptszMsgBuffer - In/Out:Out - 类型:字符指针 - 可空:N - 意思:写到的内存 - 参数.二:pInt_MsgLen - In/Out:Out - 类型:整数型指针 - 可空:N - 意思:写到的内存大小 - 参数.三:pSt_AuthLocal - In/Out:In - 类型:数据结构指针 - 可空:N - 意思:输入要写的信息 -返回值 - 类型:逻辑型 - 意思:是否成功 -备注: -*********************************************************************/ -extern "C" bool Authorize_CDKey_WriteMemory(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, XENGINE_AUTHORIZE_LOCAL* pSt_AuthLocal); -/******************************************************************** -函数名称:Authorize_CDKey_ReadMemory -函数功能:内存配置文件读取 - 参数.一:lpszMsgBuffer - In/Out:In - 类型:常量字符指针 - 可空:N - 意思:输入要读取配置的内存 - 参数.二:nMsgLen - In/Out:In - 类型:整数型 - 可空:N - 意思:输入读取内存大小 - 参数.三:pSt_AuthLocal - In/Out:Out - 类型:数据结构指针 - 可空:N - 意思:输出读取到的信息 -返回值 - 类型:逻辑型 - 意思:是否成功 -备注: -*********************************************************************/ -extern "C" bool Authorize_CDKey_ReadMemory(LPCXSTR lpszMsgBuffer, int nMsgLen, XENGINE_AUTHORIZE_LOCAL* pSt_AuthLocal); -/******************************************************************** -函数名称:Authorize_CDKey_BuildKeyTime -函数功能:构造注册的时间结构体信息 - 参数.一:pSt_AuthLocal - In/Out:In - 类型:结构体指针 - 可空:N - 意思:要构造的结构体 - 参数.二:nDayTimer - In/Out:In - 类型:整数型 - 可空:Y - 意思:可用时间或者次数.非自定义时间需要设置此值 - 参数.三:pSt_DayTimer - In/Out:In - 类型:结构体指针 - 可空:Y - 意思:如果是自定义时间,这个参数需要设置,其他类型请设置参数二 -返回值 - 类型:逻辑型 - 意思:是否构造成功 -备注:此函数会修改st_AuthRegInfo的时间信息成员 -*********************************************************************/ -extern "C" bool Authorize_CDKey_BuildKeyTime(XENGINE_AUTHORIZE_LOCAL* pSt_AuthLocal, __int64x nDayTimer = 0, XENGINE_LIBTIME* pSt_DayTimer = NULL); -/******************************************************************** -函数名称:Authorize_CDKey_UserRegister -函数功能:用户注册CDKEY函数 - 参数.一:pSt_AuthLocal - In/Out:In - 类型:结构体指针 - 可空:N - 意思:要构造的结构体 - 参数.二:lpszSerialStr - In/Out:In - 类型:常量字符指针 - 可空:N - 意思:输入注册验证的序列号 -返回值 - 类型:逻辑型 - 意思:是否构造成功 -备注:此函数会修改st_AuthRegInfo的时间信息成员,必须重写CDKEY -*********************************************************************/ -extern "C" bool Authorize_CDKey_UserRegister(XENGINE_AUTHORIZE_LOCAL* pSt_AuthLocal, LPCXSTR lpszSerialStr); -/******************************************************************** -函数名称:Authorize_CDKey_GetLeftTimer -函数功能:验证CDKey - 参数.一:pSt_AuthLocal - In/Out:In - 类型:数据结构指针 - 可空:N - 意思:输入Authorize_CDKey_ReadKey获取到的值 - 参数.二:lpszSerialNumber - In/Out:In - 类型:常量字符指针 - 可空:Y - 意思:如果CDKEY带序列号,可以输入序列号进行验证(优先序列号验证,失败进行常规CDKEY验证) -返回值 - 类型:逻辑型 - 意思:是否成功 -备注:无限制版本不做验证 - 其他验证nHasTime将被设置还拥有时间 - 此函数在程序启动的时候必须调用,可以设置更新CDKEY信息也可以验证CDKEY -*********************************************************************/ -extern "C" bool Authorize_CDKey_GetLeftTimer(XENGINE_AUTHORIZE_LOCAL * pSt_AuthLocal, LPCXSTR lpszSerialNumber = NULL); -/******************************************************************** -函数名称:Authorize_CDKey_WriteTime -函数功能:记录一次执行时间 - 参数.一:lpszFileKey - In/Out:In - 类型:常量字符指针 - 可空:N - 意思:输入要操作的文件 - 参数.二:nCount - In/Out:In - 类型:整数型 - 可空:Y - 意思:输入最大允许记录个数,0不限制 -返回值 - 类型:逻辑型 - 意思:是否成功 -备注:记录次数越多,文件越大.读取需要的内存就越多 -*********************************************************************/ -extern "C" bool Authorize_CDKey_WriteTime(LPCXSTR lpszFileKey, int nCount = 0); -/******************************************************************** -函数名称:Authorize_CDKey_ReadTime -函数功能:读取记录的时间列表信息 - 参数.一:lpszFileKey - In/Out:In - 类型:常量字符指针 - 可空:N - 意思:输入要读取的文件 - 参数.二:ppptszTimeList - In/Out:Out - 类型:三级指针 - 可空:N - 意思:输出时间信息列表 - 参数.三:pInt_ListCount - In/Out:Out - 类型:整数型指针 - 可空:N - 意思:输出个数 -返回值 - 类型:逻辑型 - 意思:是否成功 -备注: -*********************************************************************/ -extern "C" bool Authorize_CDKey_ReadTime(LPCXSTR lpszFileKey, XCHAR*** ppptszTimeList, int* pInt_ListCount); \ No newline at end of file diff --git a/XEngine_Source/AuthorizeModule_CDKey/CDKey_Error.h b/XEngine_Source/AuthorizeModule_CDKey/CDKey_Error.h deleted file mode 100644 index 88ca3620..00000000 --- a/XEngine_Source/AuthorizeModule_CDKey/CDKey_Error.h +++ /dev/null @@ -1,36 +0,0 @@ -#pragma once -/******************************************************************** -// Created: 2024/07/08 17:30:28 -// File Name: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_CDKey\Authorize_Error.h -// File Path: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_CDKey -// File Base: Authorize_Error -// File Ext: h -// Project: XEngine -// Author: qyt -// Purpose: 错误导出表 -// History: -*********************************************************************/ -////////////////////////////////////////////////////////////////////////// -// 序列卡授权导出错误表 -////////////////////////////////////////////////////////////////////////// -#define ERROR_AUTHORIZE_MODULE_CDKEY_PARAMENT 0x50A0001 //参数不合适 -#define ERROR_AUTHORIZE_MODULE_CDKEY_NOTSUPPORT 0x50A0002 //不支持此生成类型 -#define ERROR_AUTHORIZE_MODULE_CDKEY_BUFFER 0x50A0003 //这个缓冲区有问题,获取卡类型失败 -#define ERROR_AUTHORIZE_MODULE_CDKEY_CUSTOM 0x50A0004 //获取自定义时间序列号的过期时间失败。 -#define ERROR_AUTHORIZE_MODULE_CDKEY_UNKNOW 0x50A0005 //获取类型失败,这个类型未知 -#define ERROR_AUTHORIZE_MODULE_CDKEY_CONNECT 0x50A1001 //连接信息写入失败 -#define ERROR_AUTHORIZE_MODULE_CDKEY_APPINFO 0x50A1002 //程序信息写入失败 -#define ERROR_AUTHORIZE_MODULE_CDKEY_AUTHREG 0x50A1003 //添加注册信息失败 -#define ERROR_AUTHORIZE_MODULE_CDKEY_SERIAL 0x50A1004 //写入序列号失败 -#define ERROR_AUTHORIZE_MODULE_CDKEY_USER 0x50A1005 //写入用户信息失败 -#define ERROR_AUTHORIZE_MODULE_CDKEY_NOTREG 0x50A1021 //没有注册 -#define ERROR_AUTHORIZE_MODULE_CDKEY_NOTHASTIME 0x50A1022 //没有可用时间 -#define ERROR_AUTHORIZE_MODULE_CDKEY_TIMEOUT 0x50A1024 //CDKEY已经超时,没有可用时间 -#define ERROR_AUTHORIZE_MODULE_CDKEY_TEMP 0x50A1026 //临时版本已不可用 -#define ERROR_AUTHORIZE_MODULE_CDKEY_EXPIRED 0x50A1027 //已经过期的CDKEY,无法继续使用 -#define ERROR_AUTHORIZE_MODULE_CDKEY_OPENFILE 0x50A1031 //文件不存在 -#define ERROR_AUTHORIZE_MODULE_CDKEY_SETFILE 0x50A1032 //设置文件失败 -#define ERROR_AUTHORIZE_MODULE_CDKEY_TIMELIST 0x50A1041 //不存在时间列表 -#define ERROR_AUTHORIZE_MODULE_CDKEY_MALLOC 0x50A1042 //申请内存失败 -#define ERROR_AUTHORIZE_MODULE_CDKEY_READ 0x50A1043 //读取文件失败 -#define ERROR_AUTHORIZE_MODULE_CDKEY_FAILED 0x50A1044 //序列号验证失败,输入的序列号错误 \ No newline at end of file diff --git a/XEngine_Source/AuthorizeModule_CDKey/Makefile b/XEngine_Source/AuthorizeModule_CDKey/Makefile deleted file mode 100644 index 209c6f0d..00000000 --- a/XEngine_Source/AuthorizeModule_CDKey/Makefile +++ /dev/null @@ -1,70 +0,0 @@ -CC = g++ -Wall -std=c++20 -fPIC -PLATVER = -FILEEXT = -LIBFLAG = -LOADHDR = -I ./ -LIB = -lXEngine_BaseLib -lXEngine_SystemConfig -LIBEX = -LOADSO = -OBJECTS = Authorize_Serial.o Authorize_CDKey.o pch.o - -ifeq ($(RELEASE),1) -FLAGS = -c -D _RELEASE -DEBUG = -O2 -else - ifeq ($(PLATFORM),mac) - FLAGS = -c - DEBUG = -g -D _DEBUG - else - FLAGS = -c -lc_p - DEBUG = -g -pg -D _DEBUG - endif -endif - -ifeq ($(UNICODE),1) -override UNICODE := -D __UNICODE__ -else -override UNICODE := -D __ANSI__ -endif - -ifeq ($(PLATFORM),linux) - ifeq (/etc/redhat-release,$(wildcard /etc/redhat-release)) - PLATVER = -D __CENTOS__ - else - PLATVER = -D __UBUNTU__ - endif - FILEEXT = so - LIBFLAG = -shared - LIBEX = -lpthread -lrt -ldl - LOADBIN = -Wl,-rpath=../XEngine_BaseLib,--disable-new-dtags -else ifeq ($(PLATFORM),mac) - CC += -Wno-deprecated-declarations - PLATVER = -D __MACOS__ - FILEEXT = dylib - LIBFLAG = -dynamiclib - LIBEX = -lpthread -ldl - LOADBIN = -Wl,-rpath,@loader_path/../XEngine_BaseLib/ -endif - -all:$(OBJECTS) - $(CC) $(DEBUG) $(OBJECTS) -o libAuthorizeModule_CDKey.$(FILEEXT) $(LIBFLAG) $(LIB) $(LIBEX) $(LOADSO) $(LOADBIN) - -Authorize_Serial.o:./Authorize_Serial/Authorize_Serial.cpp - $(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(PLATVER) $(LOADHDR) ./Authorize_Serial/Authorize_Serial.cpp -Authorize_CDKey.o:./Authorize_CDKey/Authorize_CDKey.cpp - $(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(PLATVER) $(LOADHDR) ./Authorize_CDKey/Authorize_CDKey.cpp - -pch.o:pch.cpp - $(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(PLATVER) $(LOADHDR) pch.cpp - - -InstallAll:InstallSo -InstallSo:./libAuthorizeModule_CDKey.$(FILEEXT) - cp ./libAuthorizeModule_CDKey.$(FILEEXT) ../../XEngine_Release/libAuthorizeModule_CDKey.$(FILEEXT) - - -CleanAll:CleanObj CleanMk -CleanObj: - rm *.o -CleanMk: - rm *.$(FILEEXT) diff --git a/XEngine_Source/AuthorizeModule_CDKey/dllmain.cpp b/XEngine_Source/AuthorizeModule_CDKey/dllmain.cpp deleted file mode 100644 index daed8c8f..00000000 --- a/XEngine_Source/AuthorizeModule_CDKey/dllmain.cpp +++ /dev/null @@ -1,19 +0,0 @@ -// dllmain.cpp : 定义 DLL 应用程序的入口点。 -#include "pch.h" - -BOOL APIENTRY DllMain( HMODULE hModule, - DWORD ul_reason_for_call, - LPVOID lpReserved - ) -{ - switch (ul_reason_for_call) - { - case DLL_PROCESS_ATTACH: - case DLL_THREAD_ATTACH: - case DLL_THREAD_DETACH: - case DLL_PROCESS_DETACH: - break; - } - return TRUE; -} - diff --git a/XEngine_Source/AuthorizeModule_CDKey/framework.h b/XEngine_Source/AuthorizeModule_CDKey/framework.h deleted file mode 100644 index 80cbbc9b..00000000 --- a/XEngine_Source/AuthorizeModule_CDKey/framework.h +++ /dev/null @@ -1,5 +0,0 @@ -#pragma once - -#define WIN32_LEAN_AND_MEAN // 从 Windows 头文件中排除极少使用的内容 -// Windows 头文件 -#include diff --git a/XEngine_Source/AuthorizeModule_CDKey/pch.cpp b/XEngine_Source/AuthorizeModule_CDKey/pch.cpp deleted file mode 100644 index ec70fe90..00000000 --- a/XEngine_Source/AuthorizeModule_CDKey/pch.cpp +++ /dev/null @@ -1,84 +0,0 @@ -#include "pch.h" -#include "Authorize_CDKey/Authorize_CDKey.h" -#include "Authorize_Serial/Authorize_Serial.h" -/******************************************************************** -// Created: 2021/07/20 13:11:54 -// File Name: D:\XEngine\XEngine_SourceCode\XEngine_HelpComponents\HelpComponents_Authorize\pch.cpp -// File Path: D:\XEngine\XEngine_SourceCode\XEngine_HelpComponents\HelpComponents_Authorize -// File Base: pch -// File Ext: cpp -// Project: XEngine(网络通信引擎) -// Author: qyt -// Purpose: 导出实现 -// History: -*********************************************************************/ -bool Authorize_IsErrorOccur = false; -XLONG Authorize_dwErrorCode = 0; -////////////////////////////////////////////////////////////////////////// -CAuthorize_Serial m_Serial; -CAuthorize_CDKey m_Local; -////////////////////////////////////////////////////////////////////////// -// 导出函数 -////////////////////////////////////////////////////////////////////////// -extern "C" XLONG Authorize_GetLastError(int* pInt_SysError) -{ - if (NULL != pInt_SysError) - { - *pInt_SysError = errno; - } - return Authorize_dwErrorCode; -} -/************************************************************************/ -/* 卡导出函数 */ -/************************************************************************/ -extern "C" bool Authorize_Serial_Creator(XCHAR * **ppptszSerialNumber, LPCXSTR lpszUserHeader, int nCardNumber, int nFieldNumber, XENGINE_LIBTIME * pSt_CustomTimer, ENUM_AUTHORIZE_MODULE_SERIAL_TYPE enSerialType) -{ - return m_Serial.Authorize_Serial_Creator(ppptszSerialNumber, lpszUserHeader, nCardNumber, nFieldNumber, pSt_CustomTimer, enSerialType); -} -extern "C" bool Authorize_Serial_Create(XCHAR * **ppptszSerialNumber, LPCXSTR lpszUserHeader, int nCardNumber, int nFieldNumber) -{ - return m_Serial.Authorize_Serial_Create(ppptszSerialNumber, lpszUserHeader, nCardNumber, nFieldNumber); -} -extern "C" bool Authorize_Serial_GetType(LPCXSTR lpszSerialNumber, ENUM_AUTHORIZE_MODULE_SERIAL_TYPE * penSerialType, XENGINE_LIBTIME * pSt_CustomTimer) -{ - return m_Serial.Authorize_Serial_GetType(lpszSerialNumber, penSerialType, pSt_CustomTimer); -} -/************************************************************************/ -/* 本地授权导出函数 */ -/************************************************************************/ -extern "C" bool Authorize_CDKey_WriteKey(LPCXSTR lpszFileKey, XENGINE_AUTHORIZE_LOCAL * pSt_AuthLocal) -{ - return m_Local.Authorize_CDKey_WriteKey(lpszFileKey, pSt_AuthLocal); -} -extern "C" bool Authorize_CDKey_ReadKey(LPCXSTR lpszFileKey, XENGINE_AUTHORIZE_LOCAL * pSt_AuthLocal) -{ - return m_Local.Authorize_CDKey_ReadKey(lpszFileKey, pSt_AuthLocal); -} -extern "C" bool Authorize_CDKey_WriteMemory(XCHAR * ptszMsgBuffer, int* pInt_MsgLen, XENGINE_AUTHORIZE_LOCAL * pSt_AuthLocal) -{ - return m_Local.Authorize_CDKey_WriteMemory(ptszMsgBuffer, pInt_MsgLen, pSt_AuthLocal); -} -extern "C" bool Authorize_CDKey_ReadMemory(LPCXSTR lpszMsgBuffer, int nMsgLen, XENGINE_AUTHORIZE_LOCAL * pSt_AuthLocal) -{ - return m_Local.Authorize_CDKey_ReadMemory(lpszMsgBuffer, nMsgLen, pSt_AuthLocal); -} -extern "C" bool Authorize_CDKey_BuildKeyTime(XENGINE_AUTHORIZE_LOCAL * pSt_AuthLocal, __int64x nDayTimer, XENGINE_LIBTIME * pSt_DayTimer) -{ - return m_Local.Authorize_CDKey_BuildKeyTime(pSt_AuthLocal, nDayTimer, pSt_DayTimer); -} -extern "C" bool Authorize_CDKey_UserRegister(XENGINE_AUTHORIZE_LOCAL* pSt_AuthLocal, LPCXSTR lpszSerialStr) -{ - return m_Local.Authorize_CDKey_UserRegister(pSt_AuthLocal, lpszSerialStr); -} -extern "C" bool Authorize_CDKey_GetLeftTimer(XENGINE_AUTHORIZE_LOCAL * pSt_AuthLocal, LPCXSTR lpszSerialNumber) -{ - return m_Local.Authorize_CDKey_GetLeftTimer(pSt_AuthLocal, lpszSerialNumber); -} -extern "C" bool Authorize_CDKey_WriteTime(LPCXSTR lpszFileKey, int nCount) -{ - return m_Local.Authorize_CDKey_WriteTime(lpszFileKey, nCount); -} -extern "C" bool Authorize_CDKey_ReadTime(LPCXSTR lpszFileKey, XCHAR * **ppptszTimeList, int* pInt_ListCount) -{ - return m_Local.Authorize_CDKey_ReadTime(lpszFileKey, ppptszTimeList, pInt_ListCount); -} \ No newline at end of file diff --git a/XEngine_Source/AuthorizeModule_CDKey/pch.h b/XEngine_Source/AuthorizeModule_CDKey/pch.h deleted file mode 100644 index 22cd7c87..00000000 --- a/XEngine_Source/AuthorizeModule_CDKey/pch.h +++ /dev/null @@ -1,57 +0,0 @@ -// pch.h: 这是预编译标头文件。 -// 下方列出的文件仅编译一次,提高了将来生成的生成性能。 -// 这还将影响 IntelliSense 性能,包括代码完成和许多代码浏览功能。 -// 但是,如果此处列出的文件中的任何一个在生成之间有更新,它们全部都将被重新编译。 -// 请勿在此处添加要频繁更新的文件,这将使得性能优势无效。 - -#ifndef PCH_H -#define PCH_H - -#ifdef _MSC_BUILD -// 添加要在此处预编译的标头 -#include "framework.h" -#include -#include -#else -#include -#endif -#endif //PCH_H -#include -#include -#include -#include -#include -#include -#include -using namespace std; -#include -#include -#include -#include -#include -#include -#include -#include "../XAuth_BuildSwitch.h" -#include "../XAuth_Protocol.h" -#include "CDKey_Define.h" -#include "CDKey_Error.h" -/******************************************************************** -// Created: 2024/07/08 17:29:57 -// File Name: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_CDKey\pch.h -// File Path: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_CDKey -// File Base: pch -// File Ext: h -// Project: XEngine -// Author: qyt -// Purpose: 公有头文件 -// History: -*********************************************************************/ -extern bool Authorize_IsErrorOccur; -extern XLONG Authorize_dwErrorCode; - -typedef std::string xstring; - -#ifdef _MSC_BUILD -#pragma comment(lib,"XEngine_BaseLib/XEngine_BaseLib.lib") -#pragma comment(lib,"XEngine_SystemSdk/XEngine_SystemConfig.lib") -#endif \ No newline at end of file diff --git a/XEngine_Source/AuthorizeModule_Client/AuthClient_Connector/AuthClient_Connector.cpp b/XEngine_Source/AuthorizeModule_Client/AuthClient_Connector/AuthClient_Connector.cpp deleted file mode 100644 index e0e957aa..00000000 --- a/XEngine_Source/AuthorizeModule_Client/AuthClient_Connector/AuthClient_Connector.cpp +++ /dev/null @@ -1,361 +0,0 @@ -#include "pch.h" -#include "AuthClient_Connector.h" -/******************************************************************** -// Created: 2023/11/15 10:36:04 -// File Name: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Client\AuthClient_Connector\AuthClient_Connector.cpp -// File Path: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Client\AuthClient_Connector -// File Base: AuthClient_Connector -// File Ext: cpp -// Project: XEngine(网络通信引擎) -// Author: qyt -// Purpose: 验证客户端示例模块 -// History: -*********************************************************************/ -CAuthClient_Connector::CAuthClient_Connector() -{ -} -CAuthClient_Connector::~CAuthClient_Connector() -{ -} -////////////////////////////////////////////////////////////////////////// -// 公有函数 -////////////////////////////////////////////////////////////////////////// -/******************************************************************** -函数名称:AuthClient_Connector_Connect -函数功能:链接到服务器 - 参数.一:lpszClientAddr - In/Out:In - 类型:常量字符指针 - 可空:N - 意思:服务器地址 - 参数.二:nPort - In/Out:In - 类型:整数型 - 可空:N - 意思:服务器端口 - 参数.三:lpszPass - In/Out:In - 类型:常量字符指针 - 可空:N - 意思:服务器密码,如果没有填空 -返回值 - 类型:逻辑型 - 意思:是否成功 -备注: -*********************************************************************/ -bool CAuthClient_Connector::AuthClient_Connector_Connect(LPCXSTR lpszClientAddr, int nPort, LPCXSTR lpszPass /* = NULL */) -{ - AuthClient_IsErrorOccur = true; - - if (NULL == lpszClientAddr) - { - AuthClient_IsErrorOccur = true; - AuthClient_dwErrorCode = ERROR_AUTHORIZE_MODULE_CLIENT_PARAMENT; - return false; - } -#if (1 == _XAUTH_BUILD_SWITCH_CLIENT_TCP) - if (!XClient_TCPSelect_Create(&m_hSocket, lpszClientAddr, nPort, 2)) - { - AuthClient_IsErrorOccur = true; - AuthClient_dwErrorCode = XClient_GetLastError(); - return false; - } - if (NULL != lpszPass) - { - _tcsxcpy(tszPassStr, lpszPass); - } -#endif - return true; -} -/******************************************************************** -函数名称:AuthClient_Connector_Close -函数功能:销毁关闭客户端 -返回值 - 类型:逻辑型 - 意思:是否成功 -备注: -*********************************************************************/ -bool CAuthClient_Connector::AuthClient_Connector_Close() -{ - AuthClient_IsErrorOccur = false; - -#if (1 == _XAUTH_BUILD_SWITCH_CLIENT_TCP) - if (NULL != pSTDThread) - { - m_bRun = false; - pSTDThread->join(); - } - m_bLogin = false; - m_bAuth = false; - m_bHeart = false; - XClient_TCPSelect_Close(m_hSocket); -#endif - return true; -} -/******************************************************************** -函数名称:AuthClient_Connector_GetAuth -函数功能:验证用户是否登录或者超时 - 参数.一:pbAuth - In/Out:Out - 类型:逻辑型指针 - 可空:Y - 意思:输出是否验证,如果登录成功但是参数为假.说明没有剩余时间了 -返回值 - 类型:逻辑型 - 意思:是否登录,如果没有登录将返回假,登录成功才需要判断是否通过验证 -备注: -*********************************************************************/ -bool CAuthClient_Connector::AuthClient_Connector_GetAuth(bool* pbAuth /* = NULL */) -{ - AuthClient_IsErrorOccur = false; - -#if (1 == _XAUTH_BUILD_SWITCH_CLIENT_TCP) - if (NULL != pbAuth) - { - *pbAuth = m_bAuth; - } -#endif - return m_bLogin; -} -/******************************************************************** -函数名称:AuthClient_Connector_Login -函数功能:登录到服务器 - 参数.一:lpszUser - In/Out:In - 类型:常量字符指针 - 可空:N - 意思:输入用户名 - 参数.二:lpszPass - In/Out:In - 类型:常量字符指针 - 可空:N - 意思:输入密码 - 参数.三:lpszHWCode - In/Out:In - 类型:常量字符指针 - 可空:Y - 意思:输入硬件码,如果服务器开启了硬件绑定 - 参数.四:nDYCode - In/Out:In - 类型:整数型 - 可空:Y - 意思:输入动态码 - 参数.五:xhToken - In/Out:In - 类型:句柄型 - 可空:Y - 意思:输入动态码绑定的句柄 - 参数.六:dwCryption - In/Out:In - 类型:整数型 - 可空:Y - 意思:输入密码加密类型 -返回值 - 类型:逻辑型 - 意思:是否成功 -备注: -*********************************************************************/ -bool CAuthClient_Connector::AuthClient_Connector_Login(LPCXSTR lpszUser, LPCXSTR lpszPass, LPCXSTR lpszHWCode /* = NULL */, XSHOT nDYCode /* = 0 */, XNETHANDLE xhToken /* = 0 */, XLONG dwCryption /* = 0 */) -{ - AuthClient_IsErrorOccur = false; - - if ((NULL == lpszUser) || (NULL == lpszPass)) - { - AuthClient_IsErrorOccur = true; - AuthClient_dwErrorCode = ERROR_AUTHORIZE_MODULE_CLIENT_PARAMENT; - return false; - } -#if (1 == _XAUTH_BUILD_SWITCH_CLIENT_TCP) - XCHAR tszMsgBuffer[2048] = {}; - XENGINE_PROTOCOLHDR st_ProtocolHdr = {}; - AUTHORIZE_PROTOCOL_USERAUTHEX st_AuthUser = {}; - //协议头 - st_ProtocolHdr.wHeader = XENGIEN_COMMUNICATION_PACKET_PROTOCOL_HEADER; - st_ProtocolHdr.unOperatorType = ENUM_XENGINE_COMMUNICATION_PROTOCOL_TYPE_AUTH; - st_ProtocolHdr.unOperatorCode = XENGINE_COMMUNICATION_PROTOCOL_OPERATOR_CODE_AUTH_REQLOGIN; - st_ProtocolHdr.unPacketSize = sizeof(AUTHORIZE_PROTOCOL_USERAUTHEX); - st_ProtocolHdr.wTail = XENGIEN_COMMUNICATION_PACKET_PROTOCOL_TAIL; - -#ifdef _MSC_BUILD - st_AuthUser.enDeviceType = ENUM_PROTOCOL_FOR_DEVICE_TYPE_PC_WINDOWS; -#elif __linux__ - st_AuthUser.enDeviceType = ENUM_PROTOCOL_FOR_DEVICE_TYPE_PC_LINUX; -#else - st_AuthUser.enDeviceType = ENUM_PROTOCOL_FOR_DEVICE_TYPE_PC_MACOS; -#endif - _tcsxcpy(st_AuthUser.tszUserName, lpszUser); - if (NULL != lpszHWCode) - { - _tcsxcpy(st_AuthUser.tszHWCode, lpszHWCode); - } - - if (dwCryption > 0) - { - int nPLen = _tcsxlen(lpszPass); - XBYTE byMD5Buffer[XPATH_MAX] = {}; - Cryption_Api_Digest(lpszPass, byMD5Buffer, &nPLen, false, dwCryption); - BaseLib_String_StrToHex((LPCXSTR)byMD5Buffer, nPLen, st_AuthUser.tszUserPass); - } - else - { - _tcsxcpy(st_AuthUser.tszUserPass, lpszPass); - } - //是否有动态码 - if (nDYCode > 0) - { - st_ProtocolHdr.xhToken = xhToken; - _xstprintf(st_AuthUser.tszDCode, _X("%d"), nDYCode); - } - //是否加密 - int nMsgLen = 0; - if (_tcsxlen(tszPassStr) > 0) - { - XCHAR tszCodecBuffer[2048] = {}; - - st_ProtocolHdr.wCrypto = ENUM_XENGINE_PROTOCOLHDR_CRYPTO_TYPE_XCRYPT; - Cryption_XCrypto_Encoder((LPCXSTR)&st_AuthUser, (int*)&st_ProtocolHdr.unPacketSize, (XBYTE*)tszCodecBuffer, tszPassStr); - - memcpy(tszMsgBuffer, &st_ProtocolHdr, sizeof(XENGINE_PROTOCOLHDR)); - memcpy(tszMsgBuffer + sizeof(XENGINE_PROTOCOLHDR), tszCodecBuffer, st_ProtocolHdr.unPacketSize); - - nMsgLen = sizeof(XENGINE_PROTOCOLHDR) + st_ProtocolHdr.unPacketSize; - } - else - { - memcpy(tszMsgBuffer, &st_ProtocolHdr, sizeof(XENGINE_PROTOCOLHDR)); - memcpy(tszMsgBuffer + sizeof(XENGINE_PROTOCOLHDR), &st_AuthUser, st_ProtocolHdr.unPacketSize); - - nMsgLen = sizeof(XENGINE_PROTOCOLHDR) + sizeof(AUTHORIZE_PROTOCOL_USERAUTHEX); - } - //发送数据 - if (!XClient_TCPSelect_SendMsg(m_hSocket, tszMsgBuffer, nMsgLen)) - { - AuthClient_IsErrorOccur = true; - AuthClient_dwErrorCode = ERROR_AUTHORIZE_MODULE_CLIENT_SEND; - return false; - } - - nMsgLen = 0; - XCHAR* ptszMsgBuffer; - st_ProtocolHdr = {}; - //接受数据 - if (!XClient_TCPSelect_RecvPkt(m_hSocket, &ptszMsgBuffer, &nMsgLen, &st_ProtocolHdr)) - { - AuthClient_IsErrorOccur = true; - AuthClient_dwErrorCode = ERROR_AUTHORIZE_MODULE_CLIENT_RECV; - return false; - } - //判断是否登录协议 - if (XENGINE_COMMUNICATION_PROTOCOL_OPERATOR_CODE_AUTH_REPLOGIN != st_ProtocolHdr.unOperatorCode) - { - AuthClient_IsErrorOccur = true; - AuthClient_dwErrorCode = ERROR_AUTHORIZE_MODULE_CLIENT_LOGIN; - return false; - } - //登录失败,错误码 - if (0 != st_ProtocolHdr.wReserve) - { - AuthClient_IsErrorOccur = true; - AuthClient_dwErrorCode = st_ProtocolHdr.wReserve; - return false; - } - m_bRun = true; - m_bLogin = true; - m_bAuth = true; - //登录成功,创建线程 - pSTDThread = make_shared(AuthClient_Connector_Thread, this); - if (NULL == pSTDThread) - { - AuthClient_IsErrorOccur = true; - AuthClient_dwErrorCode = ERROR_AUTHORIZE_MODULE_CLIENT_THREAD; - return false; - } -#endif - return true; -} -/******************************************************************** -函数名称:AuthClient_Connector_Heart -函数功能:启用禁用客户端心跳 - 参数.一:bEnable - In/Out:In - 类型:逻辑型 - 可空:Y - 意思:是启用还是禁用 -返回值 - 类型:逻辑型 - 意思:是否成功 -备注: -*********************************************************************/ -bool CAuthClient_Connector::AuthClient_Connector_Heart(bool bEnable /* = true */) -{ - AuthClient_IsErrorOccur = false; - - if (!m_bAuth) - { - AuthClient_IsErrorOccur = true; - AuthClient_dwErrorCode = ERROR_AUTHORIZE_MODULE_CLIENT_NOTAUTH; - return false; - } - m_bHeart = bEnable; - return true; -} -////////////////////////////////////////////////////////////////////////// -// 保护函数 -////////////////////////////////////////////////////////////////////////// -XHTHREAD XCALLBACK CAuthClient_Connector::AuthClient_Connector_Thread(XPVOID lParam) -{ - CAuthClient_Connector* pClass_This = (CAuthClient_Connector*)lParam; - - time_t nTimeStart = time(NULL); - -#if (1 == _XAUTH_BUILD_SWITCH_CLIENT_TCP) - while (pClass_This->m_bRun) - { - int nMsgLen = 0; - XCHAR* ptszMsgBuffer; - XENGINE_PROTOCOLHDR st_ProtocolHdr = {}; - - if (!XClient_TCPSelect_RecvPkt(pClass_This->m_hSocket, &ptszMsgBuffer, &nMsgLen, &st_ProtocolHdr)) - { - pClass_This->m_bRun = false; - pClass_This->m_bLogin = false; - pClass_This->m_bAuth = false; - break; - } - XCHAR tszMsgBuffer[4096] = {}; - if (nMsgLen > 0 && _tcsxlen(pClass_This->tszPassStr) > 0) - { - //只有有后续数据的情况才需要解密 - Cryption_XCrypto_Decoder(ptszMsgBuffer, &nMsgLen, tszMsgBuffer, pClass_This->tszPassStr); - } - else - { - memcpy(tszMsgBuffer, ptszMsgBuffer, nMsgLen); - } - - if (XENGINE_COMMUNICATION_PROTOCOL_OPERATOR_CODE_AUTH_TIMEDOUT == st_ProtocolHdr.unOperatorCode) - { - pClass_This->m_bAuth = false; - } - //心跳支持 - if (pClass_This->m_bHeart) - { - time_t nTimeEnd = time(NULL); - if ((nTimeEnd - nTimeStart) > 2) - { - XENGINE_PROTOCOLHDR st_ProtocolHdr = {}; - st_ProtocolHdr.wHeader = XENGIEN_COMMUNICATION_PACKET_PROTOCOL_HEADER; - st_ProtocolHdr.unOperatorType = ENUM_XENGINE_COMMUNICATION_PROTOCOL_TYPE_HEARTBEAT; - st_ProtocolHdr.unOperatorCode = XENGINE_COMMUNICATION_PROTOCOL_OPERATOR_CODE_HB_SYN; - st_ProtocolHdr.byVersion = 1; - st_ProtocolHdr.wTail = XENGIEN_COMMUNICATION_PACKET_PROTOCOL_TAIL; - - nTimeStart = nTimeEnd; - XClient_TCPSelect_SendMsg(pClass_This->m_hSocket, (LPCXSTR)&st_ProtocolHdr, sizeof(XENGINE_PROTOCOLHDR)); - } - } - std::this_thread::sleep_for(std::chrono::seconds(1)); - } -#endif - return 0; -} \ No newline at end of file diff --git a/XEngine_Source/AuthorizeModule_Client/AuthClient_Connector/AuthClient_Connector.h b/XEngine_Source/AuthorizeModule_Client/AuthClient_Connector/AuthClient_Connector.h deleted file mode 100644 index b17f64f7..00000000 --- a/XEngine_Source/AuthorizeModule_Client/AuthClient_Connector/AuthClient_Connector.h +++ /dev/null @@ -1,42 +0,0 @@ -#pragma once -/******************************************************************** -// Created: 2023/11/15 10:34:36 -// File Name: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Client\AuthClient_Connector\AuthClient_Connector.h -// File Path: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Client\AuthClient_Connector -// File Base: AuthClient_Connector -// File Ext: h -// Project: XEngine(网络通信引擎) -// Author: qyt -// Purpose: 验证客户端示例模块 -// History: -*********************************************************************/ -typedef struct -{ - XNETHANDLE xhToken; - int nDynamicCode; - time_t nTimeStart; -}AUTHHELP_DYNAMICCODE; - -class CAuthClient_Connector -{ -public: - CAuthClient_Connector(); - ~CAuthClient_Connector(); -public: - bool AuthClient_Connector_Connect(LPCXSTR lpszClientAddr, int nPort, LPCXSTR lpszPass = NULL); - bool AuthClient_Connector_Close(); - bool AuthClient_Connector_GetAuth(bool* pbAuth = NULL); - bool AuthClient_Connector_Login(LPCXSTR lpszUser, LPCXSTR lpszPass, LPCXSTR lpszHWCode = NULL, XSHOT nDYCode = 0, XNETHANDLE xhToken = 0, XLONG dwCryption = 0); - bool AuthClient_Connector_Heart(bool bEnable = true); -protected: - static XHTHREAD XCALLBACK AuthClient_Connector_Thread(XPVOID lParam); -private: - bool m_bRun = false; - bool m_bLogin = false; - bool m_bAuth = false; - bool m_bHeart = false; - XSOCKET m_hSocket = 0; - XCHAR tszPassStr[128] = {}; -private: - shared_ptr pSTDThread; -}; \ No newline at end of file diff --git a/XEngine_Source/AuthorizeModule_Client/AuthClient_Define.h b/XEngine_Source/AuthorizeModule_Client/AuthClient_Define.h deleted file mode 100644 index 520d6e14..00000000 --- a/XEngine_Source/AuthorizeModule_Client/AuthClient_Define.h +++ /dev/null @@ -1,175 +0,0 @@ -#pragma once -/******************************************************************** -// Created: 2023/11/15 11:29:49 -// File Name: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Client\AuthClient_Define.h -// File Path: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Client -// File Base: AuthClient_Define -// File Ext: h -// Project: XEngine(网络通信引擎) -// Author: qyt -// Purpose: 为了方便使用,封装了验证客户端,可以通过c/c++ e 等语言使用 -// History: -*********************************************************************/ -////////////////////////////////////////////////////////////////////////// -// 导出的函数 -////////////////////////////////////////////////////////////////////////// -extern "C" XLONG AuthClient_GetLastError(int *pInt_SysError = NULL); -/************************************************************************/ -/* 验证客户端导出函数 */ -/************************************************************************/ -/******************************************************************** -函数名称:AuthClient_Connector_Connect -函数功能:链接到服务器 - 参数.一:lpszClientAddr - In/Out:In - 类型:常量字符指针 - 可空:N - 意思:服务器地址 - 参数.二:nPort - In/Out:In - 类型:整数型 - 可空:N - 意思:服务器端口 - 参数.三:lpszPass - In/Out:In - 类型:常量字符指针 - 可空:N - 意思:服务器密码,如果没有填空 -返回值 - 类型:逻辑型 - 意思:是否成功 -备注: -*********************************************************************/ -extern "C" bool AuthClient_Connector_Connect(LPCXSTR lpszClientAddr, int nPort, LPCXSTR lpszPass = NULL); -/******************************************************************** -函数名称:AuthClient_Connector_Close -函数功能:销毁关闭客户端 -返回值 - 类型:逻辑型 - 意思:是否成功 -备注: -*********************************************************************/ -extern "C" bool AuthClient_Connector_Close(); -/******************************************************************** -函数名称:AuthClient_Connector_GetAuth -函数功能:验证用户是否登录或者超时 - 参数.一:pbAuth - In/Out:Out - 类型:逻辑型指针 - 可空:Y - 意思:输出是否验证,如果登录成功但是参数为假.说明没有剩余时间了 -返回值 - 类型:逻辑型 - 意思:是否登录,如果没有登录将返回假,登录成功才需要判断是否通过验证 -备注: -*********************************************************************/ -extern "C" bool AuthClient_Connector_GetAuth(bool* pbAuth = NULL); -/******************************************************************** -函数名称:AuthClient_Connector_Login -函数功能:登录到服务器 - 参数.一:lpszUser - In/Out:In - 类型:常量字符指针 - 可空:N - 意思:输入用户名 - 参数.二:lpszPass - In/Out:In - 类型:常量字符指针 - 可空:N - 意思:输入密码 - 参数.三:lpszHWCode - In/Out:In - 类型:常量字符指针 - 可空:Y - 意思:输入硬件码,如果服务器开启了硬件绑定 - 参数.四:nDYCode - In/Out:In - 类型:整数型 - 可空:Y - 意思:输入动态码 - 参数.五:xhToken - In/Out:In - 类型:句柄型 - 可空:Y - 意思:输入动态码绑定的句柄 - 参数.六:dwCryption - In/Out:In - 类型:整数型 - 可空:Y - 意思:输入密码加密类型 -返回值 - 类型:逻辑型 - 意思:是否成功 -备注: -*********************************************************************/ -extern "C" bool AuthClient_Connector_Login(LPCXSTR lpszUser, LPCXSTR lpszPass, LPCXSTR lpszHWCode = NULL, XSHOT nDYCode = 0, XNETHANDLE xhToken = 0, XLONG dwCryption = 0); -/******************************************************************** -函数名称:AuthClient_Connector_Heart -函数功能:启用禁用客户端心跳 - 参数.一:bEnable - In/Out:In - 类型:逻辑型 - 可空:Y - 意思:是启用还是禁用 -返回值 - 类型:逻辑型 - 意思:是否成功 -备注:服务器开启了心跳,那么客户端也需要开启 -*********************************************************************/ -extern "C" bool AuthClient_Connector_Heart(bool bEnable = true); -/************************************************************************/ -/* 临时验证函数 */ -/************************************************************************/ -/******************************************************************** -函数名称:AuthClient_HTTPVer_TryRequest -函数功能:试用版请求 - 参数.一:lpszURLAddr - In/Out:In - 类型:常量字符指针 - 可空:N - 意思:服务器地址 - 参数.二:lpszPass - In/Out:In - 类型:常量字符指针 - 可空:Y - 意思:输入密码,如果服务端设置了密码客户端也必须使用加密通信 -返回值 - 类型:逻辑型 - 意思:是否成功 -备注: -*********************************************************************/ -extern "C" bool AuthClient_HTTPVer_TryRequest(LPCXSTR lpszURLAddr); -/******************************************************************** -函数名称:AuthClient_HTTPVer_GetDCode -函数功能:获取动态码 - 参数.一:lpszURLAddr - In/Out:In - 类型:常量字符指针 - 可空:N - 意思:服务器地址,完成的API地址,比如:http://127.0.0.1:5302/api?function=dcode&user=get - 参数.二:pInt_DYCode - In/Out:Out - 类型:整数型指针 - 可空:N - 意思:输出动态码 - 参数.三:pxhToken - In/Out:Out - 类型:整数型指针 - 可空:N - 意思:输出绑定的句柄 - 参数.四:pInt_Timeout - In/Out:Out - 类型:整数型指针 - 可空:Y - 意思:输出动态码超时时间 - 参数.五:lpszPass - In/Out:In - 类型:常量字符指针 - 可空:Y - 意思:输入密码,如果服务端设置了密码客户端也必须使用加密通信 -返回值 - 类型:逻辑型 - 意思:是否成功 -备注: -*********************************************************************/ -extern "C" bool AuthClient_HTTPVer_GetDCode(LPCXSTR lpszURLAddr, int* pInt_DYCode, XNETHANDLE* pxhToken, int* pInt_Timeout = NULL); \ No newline at end of file diff --git a/XEngine_Source/AuthorizeModule_Client/AuthClient_Error.h b/XEngine_Source/AuthorizeModule_Client/AuthClient_Error.h deleted file mode 100644 index 9f9c2979..00000000 --- a/XEngine_Source/AuthorizeModule_Client/AuthClient_Error.h +++ /dev/null @@ -1,30 +0,0 @@ -#pragma once -/******************************************************************** -// Created: 2023/11/15 11:32:27 -// File Name: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Client\AuthClient_Error.h -// File Path: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Client -// File Base: AuthClient_Error -// File Ext: h -// Project: XEngine(网络通信引擎) -// Author: qyt -// Purpose: 错误表 -// History: -*********************************************************************/ -////////////////////////////////////////////////////////////////////////// -// 导出的错误表 -////////////////////////////////////////////////////////////////////////// -/************************************************************************/ -/* 网络协议错误 */ -/************************************************************************/ -#define ERROR_AUTHORIZE_MODULE_CLIENT_PARAMENT 0x0060000 //参数错误,无法继续 -#define ERROR_AUTHORIZE_MODULE_CLIENT_SEND 0x0060001 //发送数据失败 -#define ERROR_AUTHORIZE_MODULE_CLIENT_RECV 0x0060002 //接受数据失败 -#define ERROR_AUTHORIZE_MODULE_CLIENT_LOGIN 0x0060003 //登录失败,请查看错误码 -#define ERROR_AUTHORIZE_MODULE_CLIENT_THREAD 0x0060004 //创建线程失败 -#define ERROR_AUTHORIZE_MODULE_CLIENT_NOTAUTH 0x0060005 //没有验证无法启用心跳 -/************************************************************************/ -/* HTTP验证错误 */ -/************************************************************************/ -#define ERROR_AUTHORIZE_MODULE_HTTPVER_PARAMENT 0x0060010 -#define ERROR_AUTHORIZE_MODULE_HTTPVER_PARSE 0x0060011 -#define ERROR_AUTHORIZE_MODULE_HTTPVER_VERFAILED 0x0060012 \ No newline at end of file diff --git a/XEngine_Source/AuthorizeModule_Client/AuthClient_HTTPVer/AuthClient_HTTPVer.cpp b/XEngine_Source/AuthorizeModule_Client/AuthClient_HTTPVer/AuthClient_HTTPVer.cpp deleted file mode 100644 index c1e8f1d5..00000000 --- a/XEngine_Source/AuthorizeModule_Client/AuthClient_HTTPVer/AuthClient_HTTPVer.cpp +++ /dev/null @@ -1,216 +0,0 @@ -#include "pch.h" -#include "AuthClient_HTTPVer.h" -/******************************************************************** -// Created: 2024/01/04 09:44:04 -// File Name: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Client\AuthClient_HTTPVer\AuthClient_HTTPVer.cpp -// File Path: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Client\AuthClient_HTTPVer -// File Base: AuthClient_HTTPVer -// File Ext: cpp -// Project: XEngine(网络通信引擎) -// Author: qyt -// Purpose: 临时授权客户端 -// History: -*********************************************************************/ -CAuthClient_HTTPVer::CAuthClient_HTTPVer() -{ -} -CAuthClient_HTTPVer::~CAuthClient_HTTPVer() -{ -} -////////////////////////////////////////////////////////////////////////// -// 公有函数 -////////////////////////////////////////////////////////////////////////// -/******************************************************************** -函数名称:AuthClient_HTTPVer_TryRequest -函数功能:试用版请求 - 参数.一:lpszURLAddr - In/Out:In - 类型:常量字符指针 - 可空:N - 意思:函数的API地址,需要输入完整的URL - 参数.二:lpszPass - In/Out:In - 类型:常量字符指针 - 可空:Y - 意思:输入密码,如果服务端设置了密码客户端也必须使用加密通信 -返回值 - 类型:逻辑型 - 意思:是否成功 -备注: -*********************************************************************/ -bool CAuthClient_HTTPVer::AuthClient_HTTPVer_TryRequest(LPCXSTR lpszURLAddr, LPCXSTR lpszPass /* = NULL */) -{ - AuthClient_IsErrorOccur = true; - - if (NULL == lpszURLAddr) - { - AuthClient_IsErrorOccur = true; - AuthClient_dwErrorCode = ERROR_AUTHORIZE_MODULE_HTTPVER_PARAMENT; - return false; - } -#if (1 == _XAUTH_BUILD_SWITCH_CLIENT_HTTP) - int nHTTPCode = 0; - XCHAR tszJsonStr[XPATH_MAX] = {}; - Json::Value st_JsonRoot; - Json::Value st_JsonObject; - JSONCPP_STRING st_JsonError; - Json::CharReaderBuilder st_ReaderBuilder; - SYSTEMAPI_SERIAL_INFOMATION st_SDKSerial = {}; - - SystemApi_HardWare_GetSerial(&st_SDKSerial); - - _xstprintf(tszJsonStr, _X("%s"), st_SDKSerial.tszBoardSerial); - - st_JsonObject["tszVSerial"] = tszJsonStr; - st_JsonRoot["st_VERTemp"] = st_JsonObject; - //请求 - int nMsgLen = 0; - XCHAR* ptszMsgBuffer = NULL; - - if (NULL != lpszPass) - { - XCHAR tszENCodec[2048] = {}; - XCHAR tszDECodec[2048] = {}; - - nMsgLen = st_JsonRoot.toStyledString().length(); - Cryption_XCrypto_Encoder(st_JsonRoot.toStyledString().c_str(), &nMsgLen, (XBYTE*)tszENCodec, lpszPass); - APIClient_Http_Request(_X("POST"), lpszURLAddr, tszENCodec, &nHTTPCode, &ptszMsgBuffer, &nMsgLen); - - Cryption_XCrypto_Decoder(ptszMsgBuffer, &nMsgLen, tszDECodec, lpszPass); - st_JsonRoot.clear(); - st_JsonObject.clear(); - //解析回复 - std::unique_ptr const pSt_JsonReader(st_ReaderBuilder.newCharReader()); - if (!pSt_JsonReader->parse(tszDECodec, tszDECodec + nMsgLen, &st_JsonRoot, &st_JsonError)) - { - AuthClient_IsErrorOccur = true; - AuthClient_dwErrorCode = ERROR_AUTHORIZE_MODULE_HTTPVER_PARSE; - BaseLib_Memory_FreeCStyle((XPPMEM)&ptszMsgBuffer); - return false; - } - } - else - { - APIClient_Http_Request(_X("POST"), lpszURLAddr, st_JsonRoot.toStyledString().c_str(), &nHTTPCode, &ptszMsgBuffer, &nMsgLen); - st_JsonRoot.clear(); - st_JsonObject.clear(); - //解析回复 - std::unique_ptr const pSt_JsonReader(st_ReaderBuilder.newCharReader()); - if (!pSt_JsonReader->parse(ptszMsgBuffer, ptszMsgBuffer + nMsgLen, &st_JsonRoot, &st_JsonError)) - { - AuthClient_IsErrorOccur = true; - AuthClient_dwErrorCode = ERROR_AUTHORIZE_MODULE_HTTPVER_PARSE; - BaseLib_Memory_FreeCStyle((XPPMEM)&ptszMsgBuffer); - return false; - } - } - - if (0 != st_JsonRoot["code"].asInt()) - { - AuthClient_IsErrorOccur = true; - AuthClient_dwErrorCode = ERROR_AUTHORIZE_MODULE_HTTPVER_VERFAILED; - BaseLib_Memory_FreeCStyle((XPPMEM)&ptszMsgBuffer); - return false; - } - BaseLib_Memory_FreeCStyle((XPPMEM)&ptszMsgBuffer); -#endif - return true; -} -/******************************************************************** -函数名称:AuthClient_HTTPVer_GetDCode -函数功能:获取动态码 - 参数.一:lpszURLAddr - In/Out:In - 类型:常量字符指针 - 可空:N - 意思:服务器地址,完成的API地址,比如:http://127.0.0.1:5302/api?function=dcode&user=get - 参数.二:pInt_DYCode - In/Out:Out - 类型:整数型指针 - 可空:N - 意思:输出动态码 - 参数.三:pxhToken - In/Out:Out - 类型:整数型指针 - 可空:N - 意思:输出绑定的句柄 - 参数.四:pInt_Timeout - In/Out:Out - 类型:整数型指针 - 可空:Y - 意思:输出动态码超时时间 - 参数.五:lpszPass - In/Out:In - 类型:常量字符指针 - 可空:Y - 意思:输入密码,如果服务端设置了密码客户端也必须使用加密通信 -返回值 - 类型:逻辑型 - 意思:是否成功 -备注: -*********************************************************************/ -bool CAuthClient_HTTPVer::AuthClient_HTTPVer_GetDCode(LPCXSTR lpszURLAddr, int* pInt_DYCode, XNETHANDLE* pxhToken, int* pInt_Timeout /* = NULL */, LPCXSTR lpszPass /* = NULL */) -{ - AuthClient_IsErrorOccur = true; - - if (NULL == lpszURLAddr) - { - AuthClient_IsErrorOccur = true; - AuthClient_dwErrorCode = ERROR_AUTHORIZE_MODULE_HTTPVER_PARAMENT; - return false; - } -#if (1 == _XAUTH_BUILD_SWITCH_CLIENT_HTTP) - int nHTTPCode = 0; - Json::Value st_JsonRoot; - JSONCPP_STRING st_JsonError; - Json::CharReaderBuilder st_ReaderBuilder; - //请求 - int nMsgLen = 0; - XCHAR* ptszMsgBuffer = NULL; - - APIClient_Http_Request(_X("GET"), lpszURLAddr, NULL, &nHTTPCode, &ptszMsgBuffer, &nMsgLen); - if (NULL != lpszPass) - { - XCHAR tszDECodec[2048] = {}; - Cryption_XCrypto_Decoder(ptszMsgBuffer, &nMsgLen, tszDECodec, lpszPass); - - std::unique_ptr const pSt_JsonReader(st_ReaderBuilder.newCharReader()); - if (!pSt_JsonReader->parse(tszDECodec, tszDECodec + nMsgLen, &st_JsonRoot, &st_JsonError)) - { - AuthClient_IsErrorOccur = true; - AuthClient_dwErrorCode = ERROR_AUTHORIZE_MODULE_HTTPVER_PARSE; - BaseLib_Memory_FreeCStyle((XPPMEM)&ptszMsgBuffer); - return false; - } - } - else - { - //解析回复 - std::unique_ptr const pSt_JsonReader(st_ReaderBuilder.newCharReader()); - if (!pSt_JsonReader->parse(ptszMsgBuffer, ptszMsgBuffer + nMsgLen, &st_JsonRoot, &st_JsonError)) - { - AuthClient_IsErrorOccur = true; - AuthClient_dwErrorCode = ERROR_AUTHORIZE_MODULE_HTTPVER_PARSE; - BaseLib_Memory_FreeCStyle((XPPMEM)&ptszMsgBuffer); - return false; - } - } - - if (0 != st_JsonRoot["code"].asInt()) - { - AuthClient_IsErrorOccur = true; - AuthClient_dwErrorCode = ERROR_AUTHORIZE_MODULE_HTTPVER_VERFAILED; - BaseLib_Memory_FreeCStyle((XPPMEM)&ptszMsgBuffer); - return false; - } - - *pInt_DYCode = st_JsonRoot["nDynamicCode"].asInt(); - *pxhToken = st_JsonRoot["xhToken"].asUInt64(); - if (NULL != pInt_Timeout) - { - *pInt_Timeout = st_JsonRoot["nTimeout"].asInt(); - } - BaseLib_Memory_FreeCStyle((XPPMEM)&ptszMsgBuffer); -#endif - return true; -} \ No newline at end of file diff --git a/XEngine_Source/AuthorizeModule_Client/AuthClient_HTTPVer/AuthClient_HTTPVer.h b/XEngine_Source/AuthorizeModule_Client/AuthClient_HTTPVer/AuthClient_HTTPVer.h deleted file mode 100644 index aff8887b..00000000 --- a/XEngine_Source/AuthorizeModule_Client/AuthClient_HTTPVer/AuthClient_HTTPVer.h +++ /dev/null @@ -1,24 +0,0 @@ -#pragma once -/******************************************************************** -// Created: 2024/01/04 09:42:55 -// File Name: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Client\AuthClient_HTTPVer\AuthClient_HTTPVer.h -// File Path: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Client\AuthClient_HTTPVer -// File Base: AuthClient_HTTPVer -// File Ext: h -// Project: XEngine(网络通信引擎) -// Author: qyt -// Purpose: 临时授权客户端 -// History: -*********************************************************************/ - -class CAuthClient_HTTPVer -{ -public: - CAuthClient_HTTPVer(); - ~CAuthClient_HTTPVer(); -public: - bool AuthClient_HTTPVer_TryRequest(LPCXSTR lpszURLAddr, LPCXSTR lpszPass = NULL); - bool AuthClient_HTTPVer_GetDCode(LPCXSTR lpszURLAddr, int* pInt_DYCode, XNETHANDLE* pxhToken, int* pInt_Timeout = NULL, LPCXSTR lpszPass = NULL); -protected: -private: -}; \ No newline at end of file diff --git a/XEngine_Source/AuthorizeModule_Client/AuthorizeModule_Client.def b/XEngine_Source/AuthorizeModule_Client/AuthorizeModule_Client.def deleted file mode 100644 index 44b2beb2..00000000 --- a/XEngine_Source/AuthorizeModule_Client/AuthorizeModule_Client.def +++ /dev/null @@ -1,13 +0,0 @@ -LIBRARY - -EXPORTS - AuthClient_GetLastError - - AuthClient_Connector_Connect - AuthClient_Connector_Close - AuthClient_Connector_GetAuth - AuthClient_Connector_Login - AuthClient_Connector_Heart - - AuthClient_HTTPVer_TryRequest - AuthClient_HTTPVer_GetDCode \ No newline at end of file diff --git a/XEngine_Source/AuthorizeModule_Client/AuthorizeModule_Client.vcxproj b/XEngine_Source/AuthorizeModule_Client/AuthorizeModule_Client.vcxproj deleted file mode 100644 index 54313182..00000000 --- a/XEngine_Source/AuthorizeModule_Client/AuthorizeModule_Client.vcxproj +++ /dev/null @@ -1,277 +0,0 @@ - - - - - Debug - ARM64 - - - Debug - Win32 - - - Release - ARM64 - - - Release - Win32 - - - Debug - x64 - - - Release - x64 - - - - 17.0 - Win32Proj - {dd8cb5f1-980f-48c3-ba2f-3cf534903b14} - AuthorizeModuleClient - 10.0 - - - - DynamicLibrary - true - v143 - Unicode - - - DynamicLibrary - false - v143 - true - Unicode - - - DynamicLibrary - true - v143 - Unicode - - - DynamicLibrary - true - v143 - Unicode - - - DynamicLibrary - false - v143 - true - Unicode - - - DynamicLibrary - false - v143 - true - Unicode - - - - - - - - - - - - - - - - - - - - - - - - - - - $(XEngine_Include);../XEngine_DependLibrary/XEngine_Module/jsoncpp;$(IncludePath) - $(XEngine_Lib32);$(LibraryPath) - - - $(XEngine_Include);..\AuthorizeModule_Client;../XEngine_DependLibrary/XEngine_Module/jsoncpp;$(IncludePath) - $(XEngine_Lib32);$(LibraryPath) - - - $(XEngine_Include);../XEngine_DependLibrary/XEngine_Module/jsoncpp;$(IncludePath) - $(XEngine_Lib64);$(LibraryPath) - - - $(XEngine_Include);../XEngine_DependLibrary/XEngine_Module/jsoncpp;$(IncludePath) - $(XEngine_LibArm64);$(LibraryPath) - - - $(XEngine_Include);../XEngine_DependLibrary/XEngine_Module/jsoncpp;$(IncludePath) - $(XEngine_Lib64);$(LibraryPath) - - - $(XEngine_Include);../XEngine_DependLibrary/XEngine_Module/jsoncpp;$(IncludePath) - $(XEngine_LibArm64);$(LibraryPath) - - - - Level3 - true - WIN32;_DEBUG;AUTHORIZEMODULECLIENT_EXPORTS;_WINDOWS;_USRDLL;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) - true - Use - pch.h - stdcpp20 - stdc17 - - - Windows - true - false - AuthorizeModule_Client.def - - - - - Level3 - true - true - true - WIN32;NDEBUG;AUTHORIZEMODULECLIENT_EXPORTS;_WINDOWS;_USRDLL;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) - true - Use - pch.h - stdcpp20 - stdc17 - /utf-8 %(AdditionalOptions) - MultiThreadedDLL - - - Windows - true - true - true - false - AuthorizeModule_Client.def - - - - - Level3 - true - _DEBUG;AUTHORIZEMODULECLIENT_EXPORTS;_WINDOWS;_USRDLL;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) - true - Use - pch.h - stdcpp20 - stdc17 - - - Windows - true - false - AuthorizeModule_Client.def - - - - - Level3 - true - _DEBUG;AUTHORIZEMODULECLIENT_EXPORTS;_WINDOWS;_USRDLL;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) - true - Use - pch.h - stdcpp20 - stdc17 - - - Windows - true - false - AuthorizeModule_Client.def - - - - - Level3 - true - true - true - NDEBUG;AUTHORIZEMODULECLIENT_EXPORTS;_WINDOWS;_USRDLL;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) - true - Use - pch.h - stdcpp20 - stdc17 - MultiThreadedDLL - /utf-8 %(AdditionalOptions) - - - Windows - true - true - true - false - AuthorizeModule_Client.def - - - - - Level3 - true - true - true - NDEBUG;AUTHORIZEMODULECLIENT_EXPORTS;_WINDOWS;_USRDLL;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) - true - Use - pch.h - stdcpp20 - stdc17 - MultiThreadedDLL - /utf-8 %(AdditionalOptions) - - - Windows - true - true - true - false - AuthorizeModule_Client.def - - - - - - - - - - - - - - - - Create - Create - Create - Create - Create - Create - - - - - - - - - \ No newline at end of file diff --git a/XEngine_Source/AuthorizeModule_Client/AuthorizeModule_Client.vcxproj.filters b/XEngine_Source/AuthorizeModule_Client/AuthorizeModule_Client.vcxproj.filters deleted file mode 100644 index 94729c04..00000000 --- a/XEngine_Source/AuthorizeModule_Client/AuthorizeModule_Client.vcxproj.filters +++ /dev/null @@ -1,68 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - {8e7e2cf3-2b0b-423c-ac1e-1397e7a6b105} - - - {af74d4d4-f721-4060-b98b-6f9d5eda9354} - - - {4a9a85f2-55f9-47e4-9049-14245fc56628} - - - {a5434c6b-9493-4a10-ae83-7dc2f1f6d489} - - - - - 头文件 - - - 头文件 - - - 头文件\AuthClient_Connector - - - 头文件 - - - 头文件 - - - 头文件\AuthClient_HTTPVer - - - - - 源文件 - - - 源文件 - - - 源文件\AuthClient_Connector - - - 源文件\AuthClient_HTTPVer - - - - - 源文件 - - - \ No newline at end of file diff --git a/XEngine_Source/AuthorizeModule_Client/AuthorizeModule_Client.vcxproj.user b/XEngine_Source/AuthorizeModule_Client/AuthorizeModule_Client.vcxproj.user deleted file mode 100644 index 88a55094..00000000 --- a/XEngine_Source/AuthorizeModule_Client/AuthorizeModule_Client.vcxproj.user +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/XEngine_Source/AuthorizeModule_Client/Makefile b/XEngine_Source/AuthorizeModule_Client/Makefile deleted file mode 100644 index 310b1535..00000000 --- a/XEngine_Source/AuthorizeModule_Client/Makefile +++ /dev/null @@ -1,69 +0,0 @@ -CC = g++ -Wall -std=c++20 -fPIC -PLATVER = -FILEEXT = -LIBFLAG = -LOADHDR = -I ./ -I ../XEngine_DependLibrary/XEngine_Module/jsoncpp -LOADSO = -L ../XEngine_DependLibrary/XEngine_Module/jsoncpp -LIB = -ljsoncpp -lXEngine_BaseLib -lXEngine_Cryption -lXClient_Socket -lXClient_APIHelp -lXEngine_SystemApi -LIBEX = -OBJECTS = AuthClient_Connector.o AuthClient_HTTPVer.o pch.o - -ifeq ($(RELEASE),1) -FLAGS = -c -D _RELEASE -DEBUG = -O2 -else - ifeq ($(PLATFORM),mac) - FLAGS = -c - DEBUG = -g -D _DEBUG - else - FLAGS = -c -lc_p - DEBUG = -g -pg -D _DEBUG - endif -endif - -ifeq ($(UNICODE),1) -override UNICODE := -D __UNICODE__ -else -override UNICODE := -D __ANSI__ -endif - -ifeq ($(PLATFORM),linux) - ifeq (/etc/redhat-release,$(wildcard /etc/redhat-release)) - PLATVER = -D __CENTOS__ - else - PLATVER = -D __UBUNTU__ - endif - FILEEXT = so - LIBFLAG = -shared - LIBEX = -lpthread -lrt -ldl - LOADBIN = -Wl,-rpath=./,--disable-new-dtags -else ifeq ($(PLATFORM),mac) - CC += -Wno-deprecated-declarations - PLATVER = -D __MACOS__ - FILEEXT = dylib - LIBFLAG = -dynamiclib - LIBEX = -lpthread -ldl - LOADBIN = -Wl,-rpath,@loader_path/./ -endif - -all:$(OBJECTS) - $(CC) $(DEBUG) $(OBJECTS) -o libAuthorizeModule_Client.$(FILEEXT) $(LIBFLAG) $(LIB) $(LIBEX) $(LOADSO) $(LOADBIN) - -AuthClient_Connector.o:./AuthClient_Connector/AuthClient_Connector.cpp - $(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(PLATVER) $(LOADHDR) ./AuthClient_Connector/AuthClient_Connector.cpp -AuthClient_HTTPVer.o:./AuthClient_HTTPVer/AuthClient_HTTPVer.cpp - $(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(PLATVER) $(LOADHDR) ./AuthClient_HTTPVer/AuthClient_HTTPVer.cpp - -pch.o:pch.cpp - $(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(PLATVER) $(LOADHDR) pch.cpp - -InstallAll:InstallSo -InstallSo:./libAuthorizeModule_Client.$(FILEEXT) - cp ./libAuthorizeModule_Client.$(FILEEXT) ../../XEngine_Release/libAuthorizeModule_Client.$(FILEEXT) - - -CleanAll:CleanObj CleanMk -CleanObj: - rm *.o -CleanMk: - rm *.$(FILEEXT) diff --git a/XEngine_Source/AuthorizeModule_Client/dllmain.cpp b/XEngine_Source/AuthorizeModule_Client/dllmain.cpp deleted file mode 100644 index daed8c8f..00000000 --- a/XEngine_Source/AuthorizeModule_Client/dllmain.cpp +++ /dev/null @@ -1,19 +0,0 @@ -// dllmain.cpp : 定义 DLL 应用程序的入口点。 -#include "pch.h" - -BOOL APIENTRY DllMain( HMODULE hModule, - DWORD ul_reason_for_call, - LPVOID lpReserved - ) -{ - switch (ul_reason_for_call) - { - case DLL_PROCESS_ATTACH: - case DLL_THREAD_ATTACH: - case DLL_THREAD_DETACH: - case DLL_PROCESS_DETACH: - break; - } - return TRUE; -} - diff --git a/XEngine_Source/AuthorizeModule_Client/framework.h b/XEngine_Source/AuthorizeModule_Client/framework.h deleted file mode 100644 index 80cbbc9b..00000000 --- a/XEngine_Source/AuthorizeModule_Client/framework.h +++ /dev/null @@ -1,5 +0,0 @@ -#pragma once - -#define WIN32_LEAN_AND_MEAN // 从 Windows 头文件中排除极少使用的内容 -// Windows 头文件 -#include diff --git a/XEngine_Source/AuthorizeModule_Client/pch.cpp b/XEngine_Source/AuthorizeModule_Client/pch.cpp deleted file mode 100644 index 743b2d8e..00000000 --- a/XEngine_Source/AuthorizeModule_Client/pch.cpp +++ /dev/null @@ -1,64 +0,0 @@ -#include "pch.h" -#include "AuthClient_Connector/AuthClient_Connector.h" -#include "AuthClient_HTTPVer/AuthClient_HTTPVer.h" -/******************************************************************** -// Created: 2023/11/15 11:28:22 -// File Name: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Client\pch.cpp -// File Path: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Client -// File Base: pch -// File Ext: cpp -// Project: XEngine(网络通信引擎) -// Author: qyt -// Purpose: 导出实现 -// History: -*********************************************************************/ -bool AuthClient_IsErrorOccur = false; -XLONG AuthClient_dwErrorCode = 0; -////////////////////////////////////////////////////////////////////////// -CAuthClient_Connector m_Connector; -CAuthClient_HTTPVer m_HTTPVer; -////////////////////////////////////////////////////////////////////////// -// 导出的函数 -////////////////////////////////////////////////////////////////////////// -extern "C" XLONG AuthClient_GetLastError(int* pInt_SysError) -{ - if (NULL != pInt_SysError) - { - *pInt_SysError = errno; - } - return AuthClient_dwErrorCode; -} -/************************************************************************/ -/* 验证客户端导出函数 */ -/************************************************************************/ -extern "C" bool AuthClient_Connector_Connect(LPCXSTR lpszClientAddr, int nPort, LPCXSTR lpszPass) -{ - return m_Connector.AuthClient_Connector_Connect(lpszClientAddr, nPort, lpszPass); -} -extern "C" bool AuthClient_Connector_Close() -{ - return m_Connector.AuthClient_Connector_Close(); -} -extern "C" bool AuthClient_Connector_GetAuth(bool* pbAuth) -{ - return m_Connector.AuthClient_Connector_GetAuth(pbAuth); -} -extern "C" bool AuthClient_Connector_Login(LPCXSTR lpszUser, LPCXSTR lpszPass, LPCXSTR lpszHWCode, XSHOT nDYCode, XNETHANDLE xhToken, XLONG dwCryption) -{ - return m_Connector.AuthClient_Connector_Login(lpszUser, lpszPass, lpszHWCode, nDYCode, xhToken, dwCryption); -} -extern "C" bool AuthClient_Connector_Heart(bool bEnable) -{ - return m_Connector.AuthClient_Connector_Heart(bEnable); -} -/************************************************************************/ -/* 临时验证函数 */ -/************************************************************************/ -extern "C" bool AuthClient_HTTPVer_TryRequest(LPCXSTR lpszURLAddr) -{ - return m_HTTPVer.AuthClient_HTTPVer_TryRequest(lpszURLAddr); -} -extern "C" bool AuthClient_HTTPVer_GetDCode(LPCXSTR lpszURLAddr, int* pInt_DYCode, XNETHANDLE * pxhToken, int* pInt_Timeout) -{ - return m_HTTPVer.AuthClient_HTTPVer_GetDCode(lpszURLAddr, pInt_DYCode, pxhToken, pInt_Timeout); -} \ No newline at end of file diff --git a/XEngine_Source/AuthorizeModule_Client/pch.h b/XEngine_Source/AuthorizeModule_Client/pch.h deleted file mode 100644 index 90f1f564..00000000 --- a/XEngine_Source/AuthorizeModule_Client/pch.h +++ /dev/null @@ -1,81 +0,0 @@ -// pch.h: 这是预编译标头文件。 -// 下方列出的文件仅编译一次,提高了将来生成的生成性能。 -// 这还将影响 IntelliSense 性能,包括代码完成和许多代码浏览功能。 -// 但是,如果此处列出的文件中的任何一个在生成之间有更新,它们全部都将被重新编译。 -// 请勿在此处添加要频繁更新的文件,这将使得性能优势无效。 - -#ifndef PCH_H -#define PCH_H - -// 添加要在此处预编译的标头 -#ifdef _MSC_BUILD -#include "framework.h" -#include -#endif -#endif //PCH_H -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include "../XAuth_BuildSwitch.h" -#if (1 == _XAUTH_BUILD_SWITCH_CLIENT_TCP) -#include -#include -#include -#include -#include "../XAuth_Protocol.h" -#endif -#if (1 == _XAUTH_BUILD_SWITCH_CLIENT_HTTP) -#include -#include -#include -#include -#endif -#include "AuthClient_Define.h" -#include "AuthClient_Error.h" -using namespace std; -/******************************************************************** -// Created: 2023/11/15 10:37:19 -// File Name: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Client\pch.h -// File Path: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Client -// File Base: pch -// File Ext: h -// Project: XEngine(网络通信引擎) -// Author: qyt -// Purpose: 公有头文件 -// History: -*********************************************************************/ -extern bool AuthClient_IsErrorOccur; -extern XLONG AuthClient_dwErrorCode; - -#ifdef _MSC_BUILD -#pragma comment(lib,"XEngine_BaseLib/XEngine_BaseLib") -#pragma comment(lib,"XEngine_Core/XEngine_Cryption") -#pragma comment(lib,"XEngine_Client/XClient_Socket") -#pragma comment(lib,"XEngine_Client/XClient_APIHelp") -#pragma comment(lib,"XEngine_SystemSdk/XEngine_SystemApi") -#ifdef _DEBUG -#ifdef _M_X64 -#pragma comment(lib,"../x64/Debug/jsoncpp") -#elif _M_ARM64 -#pragma comment(lib,"../ARM64/Debug/jsoncpp") -#elif _M_IX86 -#pragma comment(lib,"../Debug/jsoncpp") -#endif -#else -#ifdef _M_X64 -#pragma comment(lib,"../x64/Release/jsoncpp") -#elif _M_ARM64 -#pragma comment(lib,"../ARM64/Release/jsoncpp") -#elif _M_IX86 -#pragma comment(lib,"../Release/jsoncpp") -#endif -#endif -#endif \ No newline at end of file diff --git a/XEngine_Source/AuthorizeModule_Configure/ModuleConfigure_Json/ModuleConfigure_Json.cpp b/XEngine_Source/AuthorizeModule_Configure/ModuleConfigure_Json/ModuleConfigure_Json.cpp index 49a8b124..fe9a25d0 100644 --- a/XEngine_Source/AuthorizeModule_Configure/ModuleConfigure_Json/ModuleConfigure_Json.cpp +++ b/XEngine_Source/AuthorizeModule_Configure/ModuleConfigure_Json/ModuleConfigure_Json.cpp @@ -332,21 +332,12 @@ bool CModuleConfigure_Json::ModuleConfigure_Json_Switch(LPCXSTR lpszConfigFile, Config_dwErrorCode = ERROR_AUTHORIZE_MODULE_CONFIGURE_OPENFILE; return false; } - size_t nCount = 0; - XCHAR tszMsgBuffer[4096]; - while (1) - { - size_t nRet = fread(tszMsgBuffer + nCount, 1, 2048, pSt_File); - if (nRet <= 0) - { - break; - } - nCount += nRet; - } + XCHAR tszMsgBuffer[8192] = {}; + size_t nRet = fread(tszMsgBuffer, 1, sizeof(tszMsgBuffer), pSt_File); fclose(pSt_File); //开始解析配置文件 std::unique_ptr const pSt_JsonReader(st_JsonBuilder.newCharReader()); - if (!pSt_JsonReader->parse(tszMsgBuffer, tszMsgBuffer + nCount, &st_JsonRoot, &st_JsonError)) + if (!pSt_JsonReader->parse(tszMsgBuffer, tszMsgBuffer + nRet, &st_JsonRoot, &st_JsonError)) { Config_IsErrorOccur = true; Config_dwErrorCode = ERROR_AUTHORIZE_MODULE_CONFIGURE_PARSE; diff --git a/XEngine_Source/AuthorizeModule_Database/AuthorizeModule_Database.def b/XEngine_Source/AuthorizeModule_Database/AuthorizeModule_Database.def index 8ccb2a13..07a2227f 100644 --- a/XEngine_Source/AuthorizeModule_Database/AuthorizeModule_Database.def +++ b/XEngine_Source/AuthorizeModule_Database/AuthorizeModule_Database.def @@ -20,7 +20,6 @@ EXPORTS DBModule_SQLite_SerialDelete DBModule_SQLite_SerialQuery DBModule_SQLite_SerialQueryAll - DBModule_SQLite_SerialPush DBModule_SQLite_TryInsert DBModule_SQLite_TryQuery @@ -56,7 +55,6 @@ EXPORTS DBModule_MySQL_SerialDelete DBModule_MySQL_SerialQuery DBModule_MySQL_SerialQueryAll - DBModule_MySQL_SerialPush DBModule_MySQL_TryInsert DBModule_MySQL_TryQuery diff --git a/XEngine_Source/AuthorizeModule_Database/DBModule_MySQL/DBModule_MySQL.cpp b/XEngine_Source/AuthorizeModule_Database/DBModule_MySQL/DBModule_MySQL.cpp index 0992d0e0..800e8477 100644 --- a/XEngine_Source/AuthorizeModule_Database/DBModule_MySQL/DBModule_MySQL.cpp +++ b/XEngine_Source/AuthorizeModule_Database/DBModule_MySQL/DBModule_MySQL.cpp @@ -235,7 +235,7 @@ bool CDBModule_MySQL::DBModule_MySQL_UserQuery(LPCXSTR lpszUserName, AUTHREG_USE nFliedValue++; if (NULL != pptszResult[nFliedValue]) { - pSt_UserInfo->enSerialType = (ENUM_AUTHORIZE_MODULE_SERIAL_TYPE)_ttxoi(pptszResult[nFliedValue]); + pSt_UserInfo->enSerialType = (ENUM_VERIFICATION_MODULE_SERIAL_TYPE)_ttxoi(pptszResult[nFliedValue]); } //QQ号 @@ -332,25 +332,25 @@ bool CDBModule_MySQL::DBModule_MySQL_UserPay(LPCXSTR lpszUserName, LPCXSTR lpszS //分析插入方式 switch (st_SerialTable.enSerialType) { - case ENUM_AUTHORIZE_MODULE_SERIAL_TYPE_SECOND: + case ENUM_VERIFICATION_MODULE_SERIAL_TYPE_SECOND: if (!DBModule_MySQL_UserPayTime(lpszUserName, st_UserTable.tszLeftTime, st_SerialTable.tszMaxTime, st_SerialTable.enSerialType, st_UserTable.enSerialType)) { return false; } break; - case ENUM_AUTHORIZE_MODULE_SERIAL_TYPE_DAY: + case ENUM_VERIFICATION_MODULE_SERIAL_TYPE_DAY: if (!DBModule_MySQL_UserPayTime(lpszUserName, st_UserTable.tszLeftTime, st_SerialTable.tszMaxTime, st_SerialTable.enSerialType, st_UserTable.enSerialType)) { return false; } break; - case ENUM_AUTHORIZE_MODULE_SERIAL_TYPE_TIME: + case ENUM_VERIFICATION_MODULE_SERIAL_TYPE_TIME: if (!DBModule_MySQL_UserPayTime(lpszUserName, st_UserTable.tszLeftTime, st_SerialTable.tszMaxTime, st_SerialTable.enSerialType, st_UserTable.enSerialType)) { return false; } break; - case ENUM_AUTHORIZE_MODULE_SERIAL_TYPE_CUSTOM: + case ENUM_VERIFICATION_MODULE_SERIAL_TYPE_CUSTOM: if (!DBModule_MySQL_UserPayTime(lpszUserName, st_UserTable.tszLeftTime, st_SerialTable.tszMaxTime, st_SerialTable.enSerialType, st_UserTable.enSerialType)) { return false; @@ -391,7 +391,7 @@ bool CDBModule_MySQL::DBModule_MySQL_UserLeave(AUTHREG_PROTOCOL_TIME* pSt_TimePr memset(tszSQLStatement, '\0', 1024); - if ((ENUM_AUTHORIZE_MODULE_SERIAL_TYPE_DAY == pSt_TimeProtocol->enSerialType) || (ENUM_AUTHORIZE_MODULE_SERIAL_TYPE_CUSTOM == pSt_TimeProtocol->enSerialType)) + if ((ENUM_VERIFICATION_MODULE_SERIAL_TYPE_DAY == pSt_TimeProtocol->enSerialType) || (ENUM_VERIFICATION_MODULE_SERIAL_TYPE_CUSTOM == pSt_TimeProtocol->enSerialType)) { //天数卡只有剩余时间没有的时候才需要做处理 if (pSt_TimeProtocol->nTimeLeft <= 0) @@ -399,7 +399,7 @@ bool CDBModule_MySQL::DBModule_MySQL_UserLeave(AUTHREG_PROTOCOL_TIME* pSt_TimePr _xstprintf(tszSQLStatement, _X("UPDATE `Authorize_User` SET LeftTime = '0' WHERE UserName = '%s'"), pSt_TimeProtocol->tszUserName); } } - if (ENUM_AUTHORIZE_MODULE_SERIAL_TYPE_SECOND == pSt_TimeProtocol->enSerialType) + if (ENUM_VERIFICATION_MODULE_SERIAL_TYPE_SECOND == pSt_TimeProtocol->enSerialType) { //分钟卡必须要有在线时间才能计算 if (pSt_TimeProtocol->nTimeLeft <= 0) @@ -408,7 +408,7 @@ bool CDBModule_MySQL::DBModule_MySQL_UserLeave(AUTHREG_PROTOCOL_TIME* pSt_TimePr } _xstprintf(tszSQLStatement, _X("UPDATE `Authorize_User` SET LeftTime = '%lld' WHERE UserName = '%s'"), pSt_TimeProtocol->nTimeLeft, pSt_TimeProtocol->tszUserName); } - else if (ENUM_AUTHORIZE_MODULE_SERIAL_TYPE_TIME == pSt_TimeProtocol->enSerialType) + else if (ENUM_VERIFICATION_MODULE_SERIAL_TYPE_TIME == pSt_TimeProtocol->enSerialType) { //次数卡不需要在线时间,直接减去一次就可以了 _xstprintf(tszSQLStatement, _X("UPDATE `Authorize_User` SET LeftTime = '%lld' WHERE UserName = '%s'"), _ttxoll(pSt_TimeProtocol->tszLeftTime), pSt_TimeProtocol->tszUserName); @@ -539,7 +539,7 @@ bool CDBModule_MySQL::DBModule_MySQL_UserList(AUTHREG_USERTABLE*** pppSt_UserInf _tcsxcpy((*pppSt_UserInfo)[i]->tszHardCode, ppszResult[nFliedValue]); //充值卡类型 nFliedValue++; - (*pppSt_UserInfo)[i]->enSerialType = (ENUM_AUTHORIZE_MODULE_SERIAL_TYPE)_ttxoi(ppszResult[nFliedValue]); + (*pppSt_UserInfo)[i]->enSerialType = (ENUM_VERIFICATION_MODULE_SERIAL_TYPE)_ttxoi(ppszResult[nFliedValue]); //QQ号 nFliedValue++; (*pppSt_UserInfo)[i]->st_UserInfo.nPhoneNumber = _ttxoll(ppszResult[nFliedValue]); @@ -649,65 +649,30 @@ bool CDBModule_MySQL::DBModule_MySQL_QueryLogin(LPCXSTR lpszUserName, LPCXSTR lp /******************************************************************** 函数名称:DBModule_MySQL_SerialInsert 函数功能:插入一个序列号到数据库 - 参数.一:lpszSerialNumber + 参数.一:pSt_SerialTable In/Out:In - 类型:常量字符指针 + 类型:数据结构指针 可空:N 意思:要插入的序列号 - 参数.二:lpszExpiredTime - In/Out:In - 类型:常量字符指针 - 可空:N - 意思:过期日期 返回值 类型:逻辑型 意思:是否插入成功 备注: *********************************************************************/ -bool CDBModule_MySQL::DBModule_MySQL_SerialInsert(LPCXSTR lpszSerialNumber, LPCXSTR lpszExpiredTime) +bool CDBModule_MySQL::DBModule_MySQL_SerialInsert(AUTHREG_SERIALTABLE* pSt_SerialTable) { SQLPacket_IsErrorOccur = false; XCHAR tszSQLStatement[1024]; //SQL语句 memset(tszSQLStatement, '\0', 1024); - if (DBModule_MySQL_SerialQuery(lpszSerialNumber)) + if (DBModule_MySQL_SerialQuery(pSt_SerialTable->tszSerialNumber)) { SQLPacket_IsErrorOccur = true; SQLPacket_dwErrorCode = ERROR_AUTHORIZE_MODULE_DATABASE_EXIST; return false; } - ENUM_AUTHORIZE_MODULE_SERIAL_TYPE enAuthSerialType; - XENGINE_LIBTIME st_AuthTimer; - memset(&st_AuthTimer, '\0', sizeof(st_AuthTimer)); - - if (!Authorize_Serial_GetType(lpszSerialNumber, &enAuthSerialType, &st_AuthTimer)) - { - return false; - } - if (ENUM_AUTHORIZE_MODULE_SERIAL_TYPE_SECOND == enAuthSerialType) - { - _xstprintf(tszSQLStatement, _X("INSERT INTO `Authorize_Serial` values(NULL,'NOT','%s','%d','%d',0,NOW(),'%s')"), lpszSerialNumber, st_AuthTimer.wSecond, enAuthSerialType, lpszExpiredTime); - } - else if (ENUM_AUTHORIZE_MODULE_SERIAL_TYPE_DAY == enAuthSerialType) - { - _xstprintf(tszSQLStatement, _X("INSERT INTO `Authorize_Serial` values(NULL,'NOT','%s','%d','%d',0,NOW(),'%s')"), lpszSerialNumber, st_AuthTimer.wDay, enAuthSerialType, lpszExpiredTime); - } - else if (ENUM_AUTHORIZE_MODULE_SERIAL_TYPE_TIME == enAuthSerialType) - { - _xstprintf(tszSQLStatement, _X("INSERT INTO `Authorize_Serial` values(NULL,'NOT','%s','%d','%d',0,NOW(),'%s')"), lpszSerialNumber, st_AuthTimer.wFlags, enAuthSerialType, lpszExpiredTime); - } - else if (ENUM_AUTHORIZE_MODULE_SERIAL_TYPE_CUSTOM == enAuthSerialType) - { - XCHAR tszLeftTime[XPATH_MAX]; - memset(tszLeftTime, '\0', XPATH_MAX); - _xstprintf(tszLeftTime, _X("%04d-%02d-%02d %02d:%02d:%02d"), st_AuthTimer.wYear, st_AuthTimer.wMonth, st_AuthTimer.wDay, st_AuthTimer.wHour, st_AuthTimer.wMinute, st_AuthTimer.wSecond); - _xstprintf(tszSQLStatement, _X("INSERT INTO `Authorize_Serial` values(NULL,'NOT','%s','%s','%d',0,NOW(),'%s')"), lpszSerialNumber, tszLeftTime, enAuthSerialType, lpszExpiredTime); - } - else - { - _xstprintf(tszSQLStatement, _X("INSERT INTO `Authorize_Serial` values(NULL,'NOT','%s',0,'%d',0,NOW(),'%s')"), lpszSerialNumber, enAuthSerialType, lpszExpiredTime); - } + _xstprintf(tszSQLStatement, _X("INSERT INTO `Authorize_Serial` values(NULL,'%s','%s','%s',%d,%d,'%s','%s')"), pSt_SerialTable->tszUserName, pSt_SerialTable->tszSerialNumber, pSt_SerialTable->tszMaxTime, pSt_SerialTable->enSerialType, pSt_SerialTable->bIsUsed, pSt_SerialTable->tszCreateTime, pSt_SerialTable->tszExpiredTime); if (!DataBase_MySQL_Execute(xhData, tszSQLStatement)) { @@ -807,7 +772,7 @@ bool CDBModule_MySQL::DBModule_MySQL_SerialQuery(LPCXSTR lpszSerialNumber, LPAUT _tcsxcpy(pSt_SerialTable->tszMaxTime, ppszResult[nFliedValue]); //序列卡类型 nFliedValue++; - pSt_SerialTable->enSerialType = (ENUM_AUTHORIZE_MODULE_SERIAL_TYPE)_ttxoi(ppszResult[nFliedValue]); + pSt_SerialTable->enSerialType = (ENUM_VERIFICATION_MODULE_SERIAL_TYPE)_ttxoi(ppszResult[nFliedValue]); //是否已经使用 nFliedValue++; pSt_SerialTable->bIsUsed = _ttxoi(ppszResult[nFliedValue]); @@ -901,7 +866,7 @@ bool CDBModule_MySQL::DBModule_MySQL_SerialQueryAll(AUTHREG_SERIALTABLE*** pppSt _tcsxcpy((*pppSt_SerialTable)[i]->tszMaxTime, ppszResult[nFliedValue]); nFliedValue++; //序列卡类型 - (*pppSt_SerialTable)[i]->enSerialType = (ENUM_AUTHORIZE_MODULE_SERIAL_TYPE)_ttxoi(ppszResult[nFliedValue]); + (*pppSt_SerialTable)[i]->enSerialType = (ENUM_VERIFICATION_MODULE_SERIAL_TYPE)_ttxoi(ppszResult[nFliedValue]); nFliedValue++; //是否已经使用 (*pppSt_SerialTable)[i]->bIsUsed = _ttxoi(ppszResult[nFliedValue]); @@ -920,42 +885,6 @@ bool CDBModule_MySQL::DBModule_MySQL_SerialQueryAll(AUTHREG_SERIALTABLE*** pppSt return true; } /******************************************************************** -函数名称:DBModule_MySQL_SerialPush -函数功能:插入一条指定的序列号信息到服务器 - 参数.一:pSt_SerialTable - In/Out:In - 类型:数据结构指针 - 可空:N - 意思:输入要插入的信息 -返回值 - 类型:逻辑型 - 意思:是否成功 -备注: -*********************************************************************/ -bool CDBModule_MySQL::DBModule_MySQL_SerialPush(AUTHREG_SERIALTABLE* pSt_SerialTable) -{ - SQLPacket_IsErrorOccur = false; - - XCHAR tszSQLStatement[1024]; //SQL语句 - memset(tszSQLStatement, '\0', 1024); - - if (DBModule_MySQL_SerialQuery(pSt_SerialTable->tszSerialNumber)) - { - SQLPacket_IsErrorOccur = true; - SQLPacket_dwErrorCode = ERROR_AUTHORIZE_MODULE_DATABASE_EXIST; - return false; - } - _xstprintf(tszSQLStatement, _X("INSERT INTO `Authorize_Serial` values(NULL,'%s','%s','%s',%d,%d,'%s','%s')"), pSt_SerialTable->tszUserName, pSt_SerialTable->tszSerialNumber, pSt_SerialTable->tszMaxTime, pSt_SerialTable->enSerialType, pSt_SerialTable->bIsUsed, pSt_SerialTable->tszCreateTime, pSt_SerialTable->tszExpiredTime); - - if (!DataBase_MySQL_Execute(xhData, tszSQLStatement)) - { - SQLPacket_IsErrorOccur = true; - SQLPacket_dwErrorCode = ERROR_AUTHORIZE_MODULE_DATABASE_ISFAILED; - return false; - } - return true; -} -/******************************************************************** 函数名称:DBModule_MySQL_TryInsert 函数功能:网络使用模式插入一条数据 参数.一:pSt_AuthVer @@ -992,7 +921,7 @@ bool CDBModule_MySQL::DBModule_MySQL_TryInsert(AUTHREG_TEMPVER* pSt_AuthVer) return false; } //插入数据库 - _xstprintf(tszSQLStatement, _X("INSERT INTO `Authorize_TempVer`(tszVSerial,nVMode,nVTime,nLTime,CreateTime) VALUES('%s',%d,%d,%d,NOW())"), pSt_AuthVer->tszVSerial, pSt_AuthVer->enVMode, pSt_AuthVer->nVTime, pSt_AuthVer->nVTime); + _xstprintf(tszSQLStatement, _X("INSERT INTO `Authorize_TempVer`(tszVSerial,nVMode,nVTime,nLTime,CreateTime) VALUES('%s',%d,%d,%d,NOW())"), pSt_AuthVer->tszVSerial, pSt_AuthVer->enSerialType, pSt_AuthVer->nVTime, pSt_AuthVer->nLTime); if (!DataBase_MySQL_Execute(xhData, tszSQLStatement)) { @@ -1060,7 +989,7 @@ bool CDBModule_MySQL::DBModule_MySQL_TryQuery(AUTHREG_TEMPVER* pSt_AuthVer) //试用类型 if (NULL != ppszResult[nFliedValue]) { - pSt_AuthVer->enVMode = (ENUM_AUTHORIZE_MODULE_SERIAL_TYPE)_ttxoi(ppszResult[nFliedValue]); + pSt_AuthVer->enSerialType = (ENUM_VERIFICATION_MODULE_SERIAL_TYPE)_ttxoi(ppszResult[nFliedValue]); } //试用时间 @@ -1141,7 +1070,7 @@ bool CDBModule_MySQL::DBModule_MySQL_TryDelete(LPCXSTR lpszSerial) 意思:是否成功 备注: *********************************************************************/ -bool CDBModule_MySQL::DBModule_MySQL_TryClear(int nThanValue, ENUM_AUTHORIZE_MODULE_SERIAL_TYPE enVerMode) +bool CDBModule_MySQL::DBModule_MySQL_TryClear(int nThanValue, ENUM_VERIFICATION_MODULE_SERIAL_TYPE enVerMode) { SQLPacket_IsErrorOccur = false; @@ -1177,7 +1106,7 @@ bool CDBModule_MySQL::DBModule_MySQL_TryClear(int nThanValue, ENUM_AUTHORIZE_MOD _tcsxcpy(st_AuthVer.tszVSerial, ppszResult[nFliedValue]); nFliedValue++; //模式 - st_AuthVer.enVMode = (ENUM_AUTHORIZE_MODULE_SERIAL_TYPE)_ttxoi(ppszResult[nFliedValue]); + st_AuthVer.enSerialType = (ENUM_VERIFICATION_MODULE_SERIAL_TYPE)_ttxoi(ppszResult[nFliedValue]); nFliedValue++; //测试时间 st_AuthVer.nVTime = _ttxoi(ppszResult[nFliedValue]); @@ -1196,7 +1125,7 @@ bool CDBModule_MySQL::DBModule_MySQL_TryClear(int nThanValue, ENUM_AUTHORIZE_MOD for (; stl_ListIterator != stl_ListVer.end(); stl_ListIterator++) { //判断是不是不关心注册的模式直接清理 - if (ENUM_AUTHORIZE_MODULE_SERIAL_TYPE_UNKNOW == enVerMode) + if (ENUM_VERIFICATION_MODULE_SERIAL_TYPE_UNKNOW == enVerMode) { if (nThanValue > stl_ListIterator->nVTime) { @@ -1213,7 +1142,7 @@ bool CDBModule_MySQL::DBModule_MySQL_TryClear(int nThanValue, ENUM_AUTHORIZE_MOD } else { - if (enVerMode == stl_ListIterator->enVMode) + if (enVerMode == stl_ListIterator->enSerialType) { memset(tszSQLStatement, '\0', 1024); _xstprintf(tszSQLStatement, _X("DELETE FROM `Authorize_TempVer` WHERE tszVSerial = '%s'"), stl_ListIterator->tszVSerial); @@ -1250,7 +1179,7 @@ bool CDBModule_MySQL::DBModule_MySQL_TrySet(AUTHREG_TEMPVER* pSt_AuthVer) XCHAR tszSQLStatement[1024]; memset(tszSQLStatement, '\0', sizeof(tszSQLStatement)); - _xstprintf(tszSQLStatement, _X("UPDATE `Authorize_TempVer` SET nVMode = '%d',nVTime = '%d',nLTime = '%d',CreateTime = '%s' WHERE tszVSerial = '%s'"), pSt_AuthVer->enVMode, pSt_AuthVer->nVTime, pSt_AuthVer->nLTime, pSt_AuthVer->tszVDate, pSt_AuthVer->tszVSerial); + _xstprintf(tszSQLStatement, _X("UPDATE `Authorize_TempVer` SET nVMode = '%d',nVTime = '%d',nLTime = '%d',CreateTime = '%s' WHERE tszVSerial = '%s'"), pSt_AuthVer->enSerialType, pSt_AuthVer->nVTime, pSt_AuthVer->nLTime, pSt_AuthVer->tszVDate, pSt_AuthVer->tszVSerial); //更新用户表 if (!DataBase_MySQL_Execute(xhData, tszSQLStatement)) { @@ -1323,7 +1252,7 @@ bool CDBModule_MySQL::DBModule_MySQL_TryList(AUTHREG_TEMPVER*** pppSt_AuthVer, i _tcsxcpy((*pppSt_AuthVer)[i]->tszVSerial, ppszResult[nFliedValue]); nFliedValue++; //类型 - (*pppSt_AuthVer)[i]->enVMode = (ENUM_AUTHORIZE_MODULE_SERIAL_TYPE)_ttxoi(ppszResult[nFliedValue]); + (*pppSt_AuthVer)[i]->enSerialType = (ENUM_VERIFICATION_MODULE_SERIAL_TYPE)_ttxoi(ppszResult[nFliedValue]); nFliedValue++; //时间 (*pppSt_AuthVer)[i]->nVTime = _ttxoi(ppszResult[nFliedValue]); @@ -1974,7 +1903,7 @@ bool CDBModule_MySQL::DBModule_MySQL_AnnouncementList(AUTHREG_ANNOUNCEMENT*** pp 意思:是否成功充值 备注: *********************************************************************/ -bool CDBModule_MySQL::DBModule_MySQL_UserPayTime(LPCXSTR lpszUserName, LPCXSTR lpszUserTime, LPCXSTR lpszCardTime, ENUM_AUTHORIZE_MODULE_SERIAL_TYPE en_AuthSerialType, ENUM_AUTHORIZE_MODULE_SERIAL_TYPE en_AuthUserType) +bool CDBModule_MySQL::DBModule_MySQL_UserPayTime(LPCXSTR lpszUserName, LPCXSTR lpszUserTime, LPCXSTR lpszCardTime, ENUM_VERIFICATION_MODULE_SERIAL_TYPE en_AuthSerialType, ENUM_VERIFICATION_MODULE_SERIAL_TYPE en_AuthUserType) { SQLPacket_IsErrorOccur = false; XCHAR tszSQLStatement[1024]; @@ -1983,7 +1912,7 @@ bool CDBModule_MySQL::DBModule_MySQL_UserPayTime(LPCXSTR lpszUserName, LPCXSTR l if (en_AuthSerialType != en_AuthUserType) { //如果不等于,需要重写 - if (ENUM_AUTHORIZE_MODULE_SERIAL_TYPE_UNKNOW != en_AuthUserType) + if (ENUM_VERIFICATION_MODULE_SERIAL_TYPE_UNKNOW != en_AuthUserType) { //判断是否允许改写。 if (!m_bChange) @@ -2006,41 +1935,30 @@ bool CDBModule_MySQL::DBModule_MySQL_UserPayTime(LPCXSTR lpszUserName, LPCXSTR l //处理卡类型 switch (en_AuthSerialType) { - case ENUM_AUTHORIZE_MODULE_SERIAL_TYPE_SECOND: + case ENUM_VERIFICATION_MODULE_SERIAL_TYPE_SECOND: { //如果是分钟卡 //如果当前的充值卡类型不匹配,那么他以前的充值内容全部都会被删除! _xstprintf(tszSQLStatement, _X("UPDATE `Authorize_User` SET LeftTime = '%d' WHERE UserName = '%s'"), _ttxoi(lpszCardTime), lpszUserName); //更新用户表的过期时间 } break; - case ENUM_AUTHORIZE_MODULE_SERIAL_TYPE_DAY: + case ENUM_VERIFICATION_MODULE_SERIAL_TYPE_DAY: { //如果是天数卡 //更新用户表的过期时间 _xstprintf(tszSQLStatement, _X("UPDATE `Authorize_User` SET LeftTime = '%d' WHERE UserName = '%s'"), _ttxoi(lpszCardTime), lpszUserName); //更新用户表的过期时间 } break; - case ENUM_AUTHORIZE_MODULE_SERIAL_TYPE_TIME: + case ENUM_VERIFICATION_MODULE_SERIAL_TYPE_TIME: { //如果是次数卡 //更新用户表的过期时间 _xstprintf(tszSQLStatement, _X("UPDATE `Authorize_User` SET LeftTime = '%d' WHERE UserName = '%s'"), _ttxoi(lpszCardTime), lpszUserName); } break; - case ENUM_AUTHORIZE_MODULE_SERIAL_TYPE_CUSTOM: + case ENUM_VERIFICATION_MODULE_SERIAL_TYPE_CUSTOM: { XCHAR tszTime[128]; - XENGINE_LIBTIME st_AuthTime; - ENUM_AUTHORIZE_MODULE_SERIAL_TYPE en_GeneraterSerialType; - - memset(tszTime, '\0', sizeof(tszTime)); - memset(&st_AuthTime, '\0', sizeof(XENGINE_LIBTIME)); - //获取重置卡类型和时间 - if (!Authorize_Serial_GetType(lpszCardTime, &en_GeneraterSerialType, &st_AuthTime)) - { - return false; - } - _xstprintf(tszTime, _X("%04d-%02d-%02d %02d:%02d:%02d"), st_AuthTime.wYear, st_AuthTime.wMonth, st_AuthTime.wDay, st_AuthTime.wHour, st_AuthTime.wMinute, st_AuthTime.wSecond); //更新用户表的过期时间 _xstprintf(tszSQLStatement, _X("UPDATE `Authorize_User` SET LeftTime = '%s' WHERE UserName = '%s'"), tszTime, lpszUserName); } @@ -2053,14 +1971,14 @@ bool CDBModule_MySQL::DBModule_MySQL_UserPayTime(LPCXSTR lpszUserName, LPCXSTR l { switch (en_AuthSerialType) { - case ENUM_AUTHORIZE_MODULE_SERIAL_TYPE_SECOND: + case ENUM_VERIFICATION_MODULE_SERIAL_TYPE_SECOND: { int nCardTime = _ttxoi(lpszCardTime); nCardTime += _ttxoi(lpszUserTime); //我们把用户以前的时间也加上 _xstprintf(tszSQLStatement, _X("UPDATE `Authorize_User` SET LeftTime = '%d' WHERE UserName = '%s'"), nCardTime, lpszUserName); //更新用户表的过期时间 } break; - case ENUM_AUTHORIZE_MODULE_SERIAL_TYPE_DAY: + case ENUM_VERIFICATION_MODULE_SERIAL_TYPE_DAY: { int nCardTime = _ttxoi(lpszCardTime); nCardTime += _ttxoi(lpszUserTime); //我们把用户以前的时间也加上 @@ -2068,7 +1986,7 @@ bool CDBModule_MySQL::DBModule_MySQL_UserPayTime(LPCXSTR lpszUserName, LPCXSTR l _xstprintf(tszSQLStatement, _X("UPDATE `Authorize_User` SET LeftTime = '%d' WHERE UserName = '%s'"), nCardTime, lpszUserName); } break; - case ENUM_AUTHORIZE_MODULE_SERIAL_TYPE_TIME: + case ENUM_VERIFICATION_MODULE_SERIAL_TYPE_TIME: { //如果是次数卡 int nCardTime = _ttxoi(lpszCardTime); @@ -2076,21 +1994,10 @@ bool CDBModule_MySQL::DBModule_MySQL_UserPayTime(LPCXSTR lpszUserName, LPCXSTR l _xstprintf(tszSQLStatement, _X("UPDATE `Authorize_User` SET LeftTime = '%d' WHERE UserName = '%s'"), nCardTime, lpszUserName); //更新用户表的过期时间 } break; - case ENUM_AUTHORIZE_MODULE_SERIAL_TYPE_CUSTOM: + case ENUM_VERIFICATION_MODULE_SERIAL_TYPE_CUSTOM: { //自定义卡,无法相加 - XCHAR tszTime[128]; - XENGINE_LIBTIME st_AuthTime; - ENUM_AUTHORIZE_MODULE_SERIAL_TYPE en_GeneraterSerialType; - - memset(tszTime, '\0', sizeof(tszTime)); - memset(&st_AuthTime, '\0', sizeof(XENGINE_LIBTIME)); - //获取重置卡类型和时间 - if (!Authorize_Serial_GetType(lpszCardTime, &en_GeneraterSerialType, &st_AuthTime)) - { - return false; - } - _xstprintf(tszTime, _X("%04d-%02d-%02d %02d:%02d:%02d"), st_AuthTime.wYear, st_AuthTime.wMonth, st_AuthTime.wDay, st_AuthTime.wHour, st_AuthTime.wMinute, st_AuthTime.wSecond); + XCHAR tszTime[128] = {}; //更新用户表的过期时间 _xstprintf(tszSQLStatement, _X("UPDATE `Authorize_User` SET LeftTime = '%s' WHERE UserName = '%s'"), tszTime, lpszUserName); } diff --git a/XEngine_Source/AuthorizeModule_Database/DBModule_MySQL/DBModule_MySQL.h b/XEngine_Source/AuthorizeModule_Database/DBModule_MySQL/DBModule_MySQL.h index faed7859..71f85531 100644 --- a/XEngine_Source/AuthorizeModule_Database/DBModule_MySQL/DBModule_MySQL.h +++ b/XEngine_Source/AuthorizeModule_Database/DBModule_MySQL/DBModule_MySQL.h @@ -33,16 +33,15 @@ class CDBModule_MySQL bool DBModule_MySQL_UserLogin(LPCXSTR lpszUserName, LPCXSTR lpszUserAddr); bool DBModule_MySQL_QueryLogin(LPCXSTR lpszUserName, LPCXSTR lpszUserAddr); public: - bool DBModule_MySQL_SerialInsert(LPCXSTR lpszSerialNumber, LPCXSTR lpszExpiredTime); //插入序列卡 + bool DBModule_MySQL_SerialInsert(AUTHREG_SERIALTABLE* pSt_SerialTable); //插入序列卡 bool DBModule_MySQL_SerialDelete(LPCXSTR lpszSerialNumber); //删除一个序列号 bool DBModule_MySQL_SerialQuery(LPCXSTR lpszSerialNumber, LPAUTHREG_SERIALTABLE pSt_SerialTable = NULL); //按照卡号或者用户查询 bool DBModule_MySQL_SerialQueryAll(AUTHREG_SERIALTABLE*** pppSt_SerialTable, int* pInt_ListCount, int nPosStart, int nPosEnd);//查询所有序列卡 - bool DBModule_MySQL_SerialPush(AUTHREG_SERIALTABLE* pSt_SerialTable);//插入一条指定的序列号信息到服务器 public: bool DBModule_MySQL_TryInsert(AUTHREG_TEMPVER* pSt_AuthVer); //网络使用模式插入一条数据 bool DBModule_MySQL_TryQuery(AUTHREG_TEMPVER* pSt_AuthVer); //试用序列号查询函数 bool DBModule_MySQL_TryDelete(LPCXSTR lpszSerial); //删除一条指定的试用数据 - bool DBModule_MySQL_TryClear(int nThanValue, ENUM_AUTHORIZE_MODULE_SERIAL_TYPE enVerMode = ENUM_AUTHORIZE_MODULE_SERIAL_TYPE_UNKNOW); //清理函数,自动清理过期数据 + bool DBModule_MySQL_TryClear(int nThanValue, ENUM_VERIFICATION_MODULE_SERIAL_TYPE enVerMode = ENUM_VERIFICATION_MODULE_SERIAL_TYPE_UNKNOW); //清理函数,自动清理过期数据 bool DBModule_MySQL_TrySet(AUTHREG_TEMPVER* pSt_AuthVer); //设置用户信息函数 bool DBModule_MySQL_TryList(AUTHREG_TEMPVER*** pppSt_AuthVer, int* pInt_ListCount, int nPosStart = 0, int nPosEnd = 1000); //请求试用期列表 public: @@ -56,7 +55,7 @@ class CDBModule_MySQL bool DBModule_MySQL_AnnouncementDelete(AUTHREG_ANNOUNCEMENT* pSt_Announcement); //公告删除 bool DBModule_MySQL_AnnouncementList(AUTHREG_ANNOUNCEMENT*** ppppSt_Announcement, int* pInt_ListCount); //列举所有公告 protected: - bool DBModule_MySQL_UserPayTime(LPCXSTR lpszUserName, LPCXSTR lpszUserTime, LPCXSTR lpszCardTime, ENUM_AUTHORIZE_MODULE_SERIAL_TYPE en_AuthSerialType, ENUM_AUTHORIZE_MODULE_SERIAL_TYPE en_AuthUserType); //日期方式充值方式 + bool DBModule_MySQL_UserPayTime(LPCXSTR lpszUserName, LPCXSTR lpszUserTime, LPCXSTR lpszCardTime, ENUM_VERIFICATION_MODULE_SERIAL_TYPE en_AuthSerialType, ENUM_VERIFICATION_MODULE_SERIAL_TYPE en_AuthUserType); //日期方式充值方式 private: bool m_bChange; XNETHANDLE xhData; //数据库句柄 diff --git a/XEngine_Source/AuthorizeModule_Database/DBModule_SQLite/DBModule_SQLite.cpp b/XEngine_Source/AuthorizeModule_Database/DBModule_SQLite/DBModule_SQLite.cpp index 81e7bd11..2de361b8 100644 --- a/XEngine_Source/AuthorizeModule_Database/DBModule_SQLite/DBModule_SQLite.cpp +++ b/XEngine_Source/AuthorizeModule_Database/DBModule_SQLite/DBModule_SQLite.cpp @@ -212,7 +212,7 @@ bool CDBModule_SQLite::DBModule_SQLite_UserQuery(LPCXSTR lpszUserName, AUTHREG_U _tcsxcpy(pSt_UserInfo->tszHardCode, ppszResult[nFliedValue]); //充值卡类型 nFliedValue++; - pSt_UserInfo->enSerialType = (ENUM_AUTHORIZE_MODULE_SERIAL_TYPE)_ttxoi(ppszResult[nFliedValue]); + pSt_UserInfo->enSerialType = (ENUM_VERIFICATION_MODULE_SERIAL_TYPE)_ttxoi(ppszResult[nFliedValue]); //QQ号 nFliedValue++; pSt_UserInfo->st_UserInfo.nPhoneNumber = _ttxoll(ppszResult[nFliedValue]); @@ -292,25 +292,25 @@ bool CDBModule_SQLite::DBModule_SQLite_UserPay(LPCXSTR lpszUserName, LPCXSTR lps //分析插入方式 switch (st_SerialTable.enSerialType) { - case ENUM_AUTHORIZE_MODULE_SERIAL_TYPE_SECOND: + case ENUM_VERIFICATION_MODULE_SERIAL_TYPE_SECOND: if (!DBModule_SQLite_UserPayTime(lpszUserName, st_UserTable.tszLeftTime, st_SerialTable.tszMaxTime, st_SerialTable.enSerialType, st_UserTable.enSerialType)) { return false; } break; - case ENUM_AUTHORIZE_MODULE_SERIAL_TYPE_DAY: + case ENUM_VERIFICATION_MODULE_SERIAL_TYPE_DAY: if (!DBModule_SQLite_UserPayTime(lpszUserName, st_UserTable.tszLeftTime, st_SerialTable.tszMaxTime, st_SerialTable.enSerialType, st_UserTable.enSerialType)) { return false; } break; - case ENUM_AUTHORIZE_MODULE_SERIAL_TYPE_TIME: + case ENUM_VERIFICATION_MODULE_SERIAL_TYPE_TIME: if (!DBModule_SQLite_UserPayTime(lpszUserName, st_UserTable.tszLeftTime, st_SerialTable.tszMaxTime, st_SerialTable.enSerialType, st_UserTable.enSerialType)) { return false; } break; - case ENUM_AUTHORIZE_MODULE_SERIAL_TYPE_CUSTOM: + case ENUM_VERIFICATION_MODULE_SERIAL_TYPE_CUSTOM: if (!DBModule_SQLite_UserPayTime(lpszUserName, st_UserTable.tszLeftTime, st_SerialTable.tszMaxTime, st_SerialTable.enSerialType, st_UserTable.enSerialType)) { return false; @@ -350,7 +350,7 @@ bool CDBModule_SQLite::DBModule_SQLite_UserLeave(AUTHREG_PROTOCOL_TIME* pSt_Time XCHAR tszSQLStatement[1024]; //SQL语句 memset(tszSQLStatement, '\0', 1024); - if ((ENUM_AUTHORIZE_MODULE_SERIAL_TYPE_DAY == pSt_TimeProtocol->enSerialType) || (ENUM_AUTHORIZE_MODULE_SERIAL_TYPE_CUSTOM == pSt_TimeProtocol->enSerialType)) + if ((ENUM_VERIFICATION_MODULE_SERIAL_TYPE_DAY == pSt_TimeProtocol->enSerialType) || (ENUM_VERIFICATION_MODULE_SERIAL_TYPE_CUSTOM == pSt_TimeProtocol->enSerialType)) { //天数卡只有剩余时间没有的时候才需要做处理 if (pSt_TimeProtocol->nTimeLeft <= 0) @@ -358,7 +358,7 @@ bool CDBModule_SQLite::DBModule_SQLite_UserLeave(AUTHREG_PROTOCOL_TIME* pSt_Time _xstprintf(tszSQLStatement, _X("UPDATE Authorize_User SET LeftTime = '0' WHERE UserName = '%s'"), pSt_TimeProtocol->tszUserName); } } - if (ENUM_AUTHORIZE_MODULE_SERIAL_TYPE_SECOND == pSt_TimeProtocol->enSerialType) + if (ENUM_VERIFICATION_MODULE_SERIAL_TYPE_SECOND == pSt_TimeProtocol->enSerialType) { //分钟卡必须要有在线时间才能计算 if (pSt_TimeProtocol->nTimeLeft <= 0) @@ -367,7 +367,7 @@ bool CDBModule_SQLite::DBModule_SQLite_UserLeave(AUTHREG_PROTOCOL_TIME* pSt_Time } _xstprintf(tszSQLStatement, _X("UPDATE Authorize_User SET LeftTime = '%lld' WHERE UserName = '%s'"), pSt_TimeProtocol->nTimeLeft, pSt_TimeProtocol->tszUserName); } - else if (ENUM_AUTHORIZE_MODULE_SERIAL_TYPE_TIME == pSt_TimeProtocol->enSerialType) + else if (ENUM_VERIFICATION_MODULE_SERIAL_TYPE_TIME == pSt_TimeProtocol->enSerialType) { //次数卡不需要在线时间,直接减去一次就可以了 _xstprintf(tszSQLStatement, _X("UPDATE Authorize_User SET LeftTime = '%lld' WHERE UserName = '%s'"), _ttxoll(pSt_TimeProtocol->tszLeftTime), pSt_TimeProtocol->tszUserName); @@ -491,7 +491,7 @@ bool CDBModule_SQLite::DBModule_SQLite_UserList(AUTHREG_USERTABLE*** pppSt_UserI _tcsxcpy((*pppSt_UserInfo)[i]->tszHardCode, ppszResult[nFliedValue]); //充值卡类型 nFliedValue++; - (*pppSt_UserInfo)[i]->enSerialType = (ENUM_AUTHORIZE_MODULE_SERIAL_TYPE)_ttxoi(ppszResult[nFliedValue]); + (*pppSt_UserInfo)[i]->enSerialType = (ENUM_VERIFICATION_MODULE_SERIAL_TYPE)_ttxoi(ppszResult[nFliedValue]); //QQ号 nFliedValue++; (*pppSt_UserInfo)[i]->st_UserInfo.nPhoneNumber = _ttxoll(ppszResult[nFliedValue]); @@ -600,65 +600,30 @@ bool CDBModule_SQLite::DBModule_SQLite_QueryLogin(LPCXSTR lpszUserName, LPCXSTR /******************************************************************** 函数名称:DBModule_SQLite_SerialInsert 函数功能:插入一个序列号到数据库 - 参数.一:lpszSerialNumber + 参数.一:pSt_SerialTable In/Out:In - 类型:常量字符指针 + 类型:数据结构指针 可空:N 意思:要插入的序列号 - 参数.二:lpszExpiredTime - In/Out:In - 类型:常量字符指针 - 可空:N - 意思:过期日期 返回值 类型:逻辑型 意思:是否插入成功 备注: *********************************************************************/ -bool CDBModule_SQLite::DBModule_SQLite_SerialInsert(LPCXSTR lpszSerialNumber, LPCXSTR lpszExpiredTime) +bool CDBModule_SQLite::DBModule_SQLite_SerialInsert(AUTHREG_SERIALTABLE *pSt_SerialTable) { SQLPacket_IsErrorOccur = false; XCHAR tszSQLStatement[1024]; //SQL语句 memset(tszSQLStatement, '\0', 1024); - if (DBModule_SQLite_SerialQuery(lpszSerialNumber)) + if (DBModule_SQLite_SerialQuery(pSt_SerialTable->tszSerialNumber)) { SQLPacket_IsErrorOccur = true; SQLPacket_dwErrorCode = ERROR_AUTHORIZE_MODULE_DATABASE_EXIST; return false; } - ENUM_AUTHORIZE_MODULE_SERIAL_TYPE enAuthSerialType; - XENGINE_LIBTIME st_AuthTimer; - memset(&st_AuthTimer, '\0', sizeof(st_AuthTimer)); - - if (!Authorize_Serial_GetType(lpszSerialNumber, &enAuthSerialType, &st_AuthTimer)) - { - return false; - } - if (ENUM_AUTHORIZE_MODULE_SERIAL_TYPE_SECOND == enAuthSerialType) - { - _xstprintf(tszSQLStatement, _X("INSERT INTO Authorize_Serial values(NULL,'NOT','%s','%d','%d',0,datetime('now', 'localtime'),'%s')"), lpszSerialNumber, st_AuthTimer.wSecond, enAuthSerialType, lpszExpiredTime); - } - else if (ENUM_AUTHORIZE_MODULE_SERIAL_TYPE_DAY == enAuthSerialType) - { - _xstprintf(tszSQLStatement, _X("INSERT INTO Authorize_Serial values(NULL,'NOT','%s','%d','%d',0,datetime('now', 'localtime'),'%s')"), lpszSerialNumber, st_AuthTimer.wDay, enAuthSerialType, lpszExpiredTime); - } - else if (ENUM_AUTHORIZE_MODULE_SERIAL_TYPE_TIME == enAuthSerialType) - { - _xstprintf(tszSQLStatement, _X("INSERT INTO Authorize_Serial values(NULL,'NOT','%s','%d','%d',0,datetime('now', 'localtime'),'%s')"), lpszSerialNumber, st_AuthTimer.wFlags, enAuthSerialType, lpszExpiredTime); - } - else if (ENUM_AUTHORIZE_MODULE_SERIAL_TYPE_CUSTOM == enAuthSerialType) - { - XCHAR tszLeftTime[XPATH_MAX]; - memset(tszLeftTime, '\0', XPATH_MAX); - _xstprintf(tszLeftTime, _X("%04d-%02d-%02d %02d:%02d:%02d"), st_AuthTimer.wYear, st_AuthTimer.wMonth, st_AuthTimer.wDay, st_AuthTimer.wHour, st_AuthTimer.wMinute, st_AuthTimer.wSecond); - _xstprintf(tszSQLStatement, _X("INSERT INTO Authorize_Serial values(NULL,'NOT','%s','%s','%d',0,datetime('now', 'localtime'),'%s')"), lpszSerialNumber, tszLeftTime, enAuthSerialType, lpszExpiredTime); - } - else - { - _xstprintf(tszSQLStatement, _X("INSERT INTO Authorize_Serial values(NULL,'NOT','%s',0,'%d',0,datetime('now', 'localtime'),'%s')"), lpszSerialNumber, enAuthSerialType, lpszExpiredTime); - } + _xstprintf(tszSQLStatement, _X("INSERT INTO Authorize_Serial values(NULL,'%s','%s','%s',%d,%d,'%s','%s')"), pSt_SerialTable->tszUserName, pSt_SerialTable->tszSerialNumber, pSt_SerialTable->tszMaxTime, pSt_SerialTable->enSerialType, pSt_SerialTable->bIsUsed, pSt_SerialTable->tszCreateTime, pSt_SerialTable->tszExpiredTime); if (!DataBase_SQLite_Exec(xhData, tszSQLStatement)) { @@ -753,7 +718,7 @@ bool CDBModule_SQLite::DBModule_SQLite_SerialQuery(LPCXSTR lpszSerialNumber, LPA _tcsxcpy(pSt_SerialTable->tszMaxTime, ppszResult[nFliedValue]); //序列卡类型 nFliedValue++; - pSt_SerialTable->enSerialType = (ENUM_AUTHORIZE_MODULE_SERIAL_TYPE)_ttxoi(ppszResult[nFliedValue]); + pSt_SerialTable->enSerialType = (ENUM_VERIFICATION_MODULE_SERIAL_TYPE)_ttxoi(ppszResult[nFliedValue]); //是否已经使用 nFliedValue++; pSt_SerialTable->bIsUsed = _ttxoi(ppszResult[nFliedValue]); @@ -841,7 +806,7 @@ bool CDBModule_SQLite::DBModule_SQLite_SerialQueryAll(AUTHREG_SERIALTABLE*** ppp _tcsxcpy((*pppSt_SerialTable)[i]->tszMaxTime, ppszResult[nFliedValue]); nFliedValue++; //序列卡类型 - (*pppSt_SerialTable)[i]->enSerialType = (ENUM_AUTHORIZE_MODULE_SERIAL_TYPE)_ttxoi(ppszResult[nFliedValue]); + (*pppSt_SerialTable)[i]->enSerialType = (ENUM_VERIFICATION_MODULE_SERIAL_TYPE)_ttxoi(ppszResult[nFliedValue]); nFliedValue++; //是否已经使用 (*pppSt_SerialTable)[i]->bIsUsed = _ttxoi(ppszResult[nFliedValue]); @@ -860,42 +825,6 @@ bool CDBModule_SQLite::DBModule_SQLite_SerialQueryAll(AUTHREG_SERIALTABLE*** ppp return true; } /******************************************************************** -函数名称:DBModule_SQLite_SerialPush -函数功能:插入一条指定的序列号信息到服务器 - 参数.一:pSt_SerialTable - In/Out:In - 类型:数据结构指针 - 可空:N - 意思:输入要插入的信息 -返回值 - 类型:逻辑型 - 意思:是否成功 -备注: -*********************************************************************/ -bool CDBModule_SQLite::DBModule_SQLite_SerialPush(AUTHREG_SERIALTABLE* pSt_SerialTable) -{ - SQLPacket_IsErrorOccur = false; - - XCHAR tszSQLStatement[1024]; //SQL语句 - memset(tszSQLStatement, '\0', 1024); - - if (DBModule_SQLite_SerialQuery(pSt_SerialTable->tszSerialNumber)) - { - SQLPacket_IsErrorOccur = true; - SQLPacket_dwErrorCode = ERROR_AUTHORIZE_MODULE_DATABASE_EXIST; - return false; - } - _xstprintf(tszSQLStatement, _X("INSERT INTO Authorize_Serial values(NULL,'%s','%s','%s',%d,%d,'%s','%s')"), pSt_SerialTable->tszUserName, pSt_SerialTable->tszSerialNumber, pSt_SerialTable->tszMaxTime, pSt_SerialTable->enSerialType, pSt_SerialTable->bIsUsed, pSt_SerialTable->tszCreateTime, pSt_SerialTable->tszExpiredTime); - - if (!DataBase_SQLite_Exec(xhData, tszSQLStatement)) - { - SQLPacket_IsErrorOccur = true; - SQLPacket_dwErrorCode = ERROR_AUTHORIZE_MODULE_DATABASE_ISFAILED; - return false; - } - return true; -} -/******************************************************************** 函数名称:DBModule_SQLite_TryInsert 函数功能:网络使用模式插入一条数据 参数.一:pSt_AuthVer @@ -933,7 +862,7 @@ bool CDBModule_SQLite::DBModule_SQLite_TryInsert(AUTHREG_TEMPVER* pSt_AuthVer) return false; } //插入数据库 - _xstprintf(tszSQLStatement, _X("INSERT INTO Authorize_TempVer(tszVSerial,nVMode,nVTime,nLTime,CreateTime) VALUES('%s',%d,%d,%d,datetime('now', 'localtime'))"), pSt_AuthVer->tszVSerial, pSt_AuthVer->enVMode, pSt_AuthVer->nVTime, pSt_AuthVer->nVTime); + _xstprintf(tszSQLStatement, _X("INSERT INTO Authorize_TempVer(tszVSerial,nVMode,nVTime,nLTime,CreateTime) VALUES('%s',%d,%d,%d,datetime('now', 'localtime'))"), pSt_AuthVer->tszVSerial, pSt_AuthVer->enSerialType, pSt_AuthVer->nVTime, pSt_AuthVer->nVTime); if (!DataBase_SQLite_Exec(xhData, tszSQLStatement)) { SQLPacket_IsErrorOccur = true; @@ -991,7 +920,7 @@ bool CDBModule_SQLite::DBModule_SQLite_TryQuery(AUTHREG_TEMPVER* pSt_AuthVer) //序列号 nFliedValue++; //试用类型 - pSt_AuthVer->enVMode = (ENUM_AUTHORIZE_MODULE_SERIAL_TYPE)_ttxoi(ppszResult[nFliedValue]); + pSt_AuthVer->enSerialType = (ENUM_VERIFICATION_MODULE_SERIAL_TYPE)_ttxoi(ppszResult[nFliedValue]); nFliedValue++; //试用时间 pSt_AuthVer->nVTime = _ttxoi(ppszResult[nFliedValue]); @@ -1058,7 +987,7 @@ bool CDBModule_SQLite::DBModule_SQLite_TryDelete(LPCXSTR lpszSerial) 意思:是否成功 备注: *********************************************************************/ -bool CDBModule_SQLite::DBModule_SQLite_TryClear(int nThanValue, ENUM_AUTHORIZE_MODULE_SERIAL_TYPE enVMode /* = ENUM_AUTHORIZE_MODULE_SERIAL_TYPE_UNKNOW */) +bool CDBModule_SQLite::DBModule_SQLite_TryClear(int nThanValue, ENUM_VERIFICATION_MODULE_SERIAL_TYPE enVMode /* = ENUM_VERIFICATION_MODULE_SERIAL_TYPE_UNKNOW */) { SQLPacket_IsErrorOccur = false; @@ -1089,7 +1018,7 @@ bool CDBModule_SQLite::DBModule_SQLite_TryClear(int nThanValue, ENUM_AUTHORIZE_M _tcsxcpy(st_AuthVer.tszVSerial, ppszResult[nFliedValue]); nFliedValue++; //模式 - st_AuthVer.enVMode = (ENUM_AUTHORIZE_MODULE_SERIAL_TYPE)_ttxoi(ppszResult[nFliedValue]); + st_AuthVer.enSerialType = (ENUM_VERIFICATION_MODULE_SERIAL_TYPE)_ttxoi(ppszResult[nFliedValue]); nFliedValue++; //测试时间 st_AuthVer.nVTime = _ttxoi(ppszResult[nFliedValue]); @@ -1108,7 +1037,7 @@ bool CDBModule_SQLite::DBModule_SQLite_TryClear(int nThanValue, ENUM_AUTHORIZE_M for (; stl_ListIterator != stl_ListVer.end(); stl_ListIterator++) { //判断是不是不关心注册的模式直接清理 - if (ENUM_AUTHORIZE_MODULE_SERIAL_TYPE_UNKNOW == enVMode) + if (ENUM_VERIFICATION_MODULE_SERIAL_TYPE_UNKNOW == enVMode) { if (nThanValue > stl_ListIterator->nVTime) { @@ -1125,7 +1054,7 @@ bool CDBModule_SQLite::DBModule_SQLite_TryClear(int nThanValue, ENUM_AUTHORIZE_M } else { - if (enVMode == stl_ListIterator->enVMode) + if (enVMode == stl_ListIterator->enSerialType) { memset(tszSQLStatement, '\0', 1024); _xstprintf(tszSQLStatement, _X("DELETE FROM Authorize_TempVer WHERE tszVSerial = '%s'"), stl_ListIterator->tszVSerial); @@ -1162,7 +1091,7 @@ bool CDBModule_SQLite::DBModule_SQLite_TrySet(AUTHREG_TEMPVER* pSt_AuthVer) XCHAR tszSQLStatement[1024]; memset(tszSQLStatement, '\0', sizeof(tszSQLStatement)); - _xstprintf(tszSQLStatement, _X("UPDATE Authorize_TempVer SET nVMode = '%d',nVTime = '%d',nLTime = '%d',CreateTime = '%s' WHERE tszVSerial = '%s'"), pSt_AuthVer->enVMode, pSt_AuthVer->nVTime, pSt_AuthVer->nLTime, pSt_AuthVer->tszVDate, pSt_AuthVer->tszVSerial); + _xstprintf(tszSQLStatement, _X("UPDATE Authorize_TempVer SET nVMode = '%d',nVTime = '%d',nLTime = '%d',CreateTime = '%s' WHERE tszVSerial = '%s'"), pSt_AuthVer->enSerialType, pSt_AuthVer->nVTime, pSt_AuthVer->nLTime, pSt_AuthVer->tszVDate, pSt_AuthVer->tszVSerial); //更新用户表 if (!DataBase_SQLite_Exec(xhData, tszSQLStatement)) { @@ -1230,7 +1159,7 @@ bool CDBModule_SQLite::DBModule_SQLite_TryList(AUTHREG_TEMPVER*** pppSt_AuthVer, _tcsxcpy((*pppSt_AuthVer)[i]->tszVSerial, ppszResult[nFliedValue]); nFliedValue++; //类型 - (*pppSt_AuthVer)[i]->enVMode = (ENUM_AUTHORIZE_MODULE_SERIAL_TYPE)_ttxoi(ppszResult[nFliedValue]); + (*pppSt_AuthVer)[i]->enSerialType = (ENUM_VERIFICATION_MODULE_SERIAL_TYPE)_ttxoi(ppszResult[nFliedValue]); nFliedValue++; //时间 (*pppSt_AuthVer)[i]->nVTime = _ttxoi(ppszResult[nFliedValue]); @@ -1834,7 +1763,7 @@ bool CDBModule_SQLite::DBModule_SQLite_AnnouncementList(AUTHREG_ANNOUNCEMENT*** 意思:是否成功充值 备注: *********************************************************************/ -bool CDBModule_SQLite::DBModule_SQLite_UserPayTime(LPCXSTR lpszUserName, LPCXSTR lpszUserTime, LPCXSTR lpszCardTime, ENUM_AUTHORIZE_MODULE_SERIAL_TYPE en_AuthSerialType, ENUM_AUTHORIZE_MODULE_SERIAL_TYPE en_AuthUserType) +bool CDBModule_SQLite::DBModule_SQLite_UserPayTime(LPCXSTR lpszUserName, LPCXSTR lpszUserTime, LPCXSTR lpszCardTime, ENUM_VERIFICATION_MODULE_SERIAL_TYPE en_AuthSerialType, ENUM_VERIFICATION_MODULE_SERIAL_TYPE en_AuthUserType) { SQLPacket_IsErrorOccur = false; @@ -1844,7 +1773,7 @@ bool CDBModule_SQLite::DBModule_SQLite_UserPayTime(LPCXSTR lpszUserName, LPCXSTR if (en_AuthSerialType != en_AuthUserType) { //如果不等于,需要重写 - if (ENUM_AUTHORIZE_MODULE_SERIAL_TYPE_UNKNOW != en_AuthUserType) + if (ENUM_VERIFICATION_MODULE_SERIAL_TYPE_UNKNOW != en_AuthUserType) { //判断是否允许改写。 if (!m_bChange) @@ -1867,41 +1796,30 @@ bool CDBModule_SQLite::DBModule_SQLite_UserPayTime(LPCXSTR lpszUserName, LPCXSTR //处理卡类型 switch (en_AuthSerialType) { - case ENUM_AUTHORIZE_MODULE_SERIAL_TYPE_SECOND: + case ENUM_VERIFICATION_MODULE_SERIAL_TYPE_SECOND: { //如果是分钟卡 //如果当前的充值卡类型不匹配,那么他以前的充值内容全部都会被删除! _xstprintf(tszSQLStatement, _X("UPDATE Authorize_User SET LeftTime = '%d' WHERE UserName = '%s'"), _ttxoi(lpszCardTime), lpszUserName); //更新用户表的过期时间 } break; - case ENUM_AUTHORIZE_MODULE_SERIAL_TYPE_DAY: + case ENUM_VERIFICATION_MODULE_SERIAL_TYPE_DAY: { //如果是天数卡 //更新用户表的过期时间 _xstprintf(tszSQLStatement, _X("UPDATE Authorize_User SET LeftTime = '%d' WHERE UserName = '%s'"), _ttxoi(lpszCardTime), lpszUserName); //更新用户表的过期时间 } break; - case ENUM_AUTHORIZE_MODULE_SERIAL_TYPE_TIME: + case ENUM_VERIFICATION_MODULE_SERIAL_TYPE_TIME: { //如果是次数卡 //更新用户表的过期时间 _xstprintf(tszSQLStatement, _X("UPDATE Authorize_User SET LeftTime = '%d' WHERE UserName = '%s'"), _ttxoi(lpszCardTime), lpszUserName); } break; - case ENUM_AUTHORIZE_MODULE_SERIAL_TYPE_CUSTOM: + case ENUM_VERIFICATION_MODULE_SERIAL_TYPE_CUSTOM: { - XCHAR tszTime[128]; - XENGINE_LIBTIME st_AuthTime; - ENUM_AUTHORIZE_MODULE_SERIAL_TYPE en_GeneraterSerialType; - - memset(tszTime, '\0', sizeof(tszTime)); - memset(&st_AuthTime, '\0', sizeof(XENGINE_LIBTIME)); - //获取重置卡类型和时间 - if (!Authorize_Serial_GetType(lpszCardTime, &en_GeneraterSerialType, &st_AuthTime)) - { - return false; - } - _xstprintf(tszTime, _X("%04d-%02d-%02d %02d:%02d:%02d"), st_AuthTime.wYear, st_AuthTime.wMonth, st_AuthTime.wDay, st_AuthTime.wHour, st_AuthTime.wMinute, st_AuthTime.wSecond); + XCHAR tszTime[128] = {}; //更新用户表的过期时间 _xstprintf(tszSQLStatement, _X("UPDATE Authorize_User SET LeftTime = '%s' WHERE UserName = '%s'"), tszTime, lpszUserName); } @@ -1914,14 +1832,14 @@ bool CDBModule_SQLite::DBModule_SQLite_UserPayTime(LPCXSTR lpszUserName, LPCXSTR { switch (en_AuthSerialType) { - case ENUM_AUTHORIZE_MODULE_SERIAL_TYPE_SECOND: + case ENUM_VERIFICATION_MODULE_SERIAL_TYPE_SECOND: { int nCardTime = _ttxoi(lpszCardTime); nCardTime += _ttxoi(lpszUserTime); //我们把用户以前的时间也加上 _xstprintf(tszSQLStatement, _X("UPDATE Authorize_User SET LeftTime = '%d' WHERE UserName = '%s'"), nCardTime, lpszUserName); //更新用户表的过期时间 } break; - case ENUM_AUTHORIZE_MODULE_SERIAL_TYPE_DAY: + case ENUM_VERIFICATION_MODULE_SERIAL_TYPE_DAY: { int nCardTime = _ttxoi(lpszCardTime); nCardTime += _ttxoi(lpszUserTime); //我们把用户以前的时间也加上 @@ -1929,7 +1847,7 @@ bool CDBModule_SQLite::DBModule_SQLite_UserPayTime(LPCXSTR lpszUserName, LPCXSTR _xstprintf(tszSQLStatement, _X("UPDATE Authorize_User SET LeftTime = '%d' WHERE UserName = '%s'"), nCardTime, lpszUserName); } break; - case ENUM_AUTHORIZE_MODULE_SERIAL_TYPE_TIME: + case ENUM_VERIFICATION_MODULE_SERIAL_TYPE_TIME: { //如果是次数卡 int nCardTime = _ttxoi(lpszCardTime); @@ -1937,21 +1855,10 @@ bool CDBModule_SQLite::DBModule_SQLite_UserPayTime(LPCXSTR lpszUserName, LPCXSTR _xstprintf(tszSQLStatement, _X("UPDATE Authorize_User SET LeftTime = '%d' WHERE UserName = '%s'"), nCardTime, lpszUserName); //更新用户表的过期时间 } break; - case ENUM_AUTHORIZE_MODULE_SERIAL_TYPE_CUSTOM: + case ENUM_VERIFICATION_MODULE_SERIAL_TYPE_CUSTOM: { //自定义卡,无法相加 - XCHAR tszTime[128]; - XENGINE_LIBTIME st_AuthTime; - ENUM_AUTHORIZE_MODULE_SERIAL_TYPE en_GeneraterSerialType; - - memset(tszTime, '\0', sizeof(tszTime)); - memset(&st_AuthTime, '\0', sizeof(XENGINE_LIBTIME)); - //获取重置卡类型和时间 - if (!Authorize_Serial_GetType(lpszCardTime, &en_GeneraterSerialType, &st_AuthTime)) - { - return false; - } - _xstprintf(tszTime, _X("%04d-%02d-%02d %02d:%02d:%02d"), st_AuthTime.wYear, st_AuthTime.wMonth, st_AuthTime.wDay, st_AuthTime.wHour, st_AuthTime.wMinute, st_AuthTime.wSecond); + XCHAR tszTime[128] = {}; //更新用户表的过期时间 _xstprintf(tszSQLStatement, _X("UPDATE Authorize_User SET LeftTime = '%s' WHERE UserName = '%s'"), tszTime, lpszUserName); } diff --git a/XEngine_Source/AuthorizeModule_Database/DBModule_SQLite/DBModule_SQLite.h b/XEngine_Source/AuthorizeModule_Database/DBModule_SQLite/DBModule_SQLite.h index edf01271..7ce8482d 100644 --- a/XEngine_Source/AuthorizeModule_Database/DBModule_SQLite/DBModule_SQLite.h +++ b/XEngine_Source/AuthorizeModule_Database/DBModule_SQLite/DBModule_SQLite.h @@ -33,16 +33,15 @@ class CDBModule_SQLite bool DBModule_SQLite_UserLogin(LPCXSTR lpszUserName, LPCXSTR lpszUserAddr); bool DBModule_SQLite_QueryLogin(LPCXSTR lpszUserName, LPCXSTR lpszUserAddr); public: - bool DBModule_SQLite_SerialInsert(LPCXSTR lpszSerialNumber, LPCXSTR lpszExpiredTime); //插入序列卡 + bool DBModule_SQLite_SerialInsert(AUTHREG_SERIALTABLE* pSt_SerialTable); //插入序列卡 bool DBModule_SQLite_SerialDelete(LPCXSTR lpszSerialNumber); //删除一个序列号 bool DBModule_SQLite_SerialQuery(LPCXSTR lpszSerialNumber,LPAUTHREG_SERIALTABLE pSt_SerialTable = NULL); //按照卡号或者用户查询 bool DBModule_SQLite_SerialQueryAll(AUTHREG_SERIALTABLE ***pppSt_SerialTable,int *pInt_ListCount, int nPosStart, int nPosEnd);//查询所有序列卡 - bool DBModule_SQLite_SerialPush(AUTHREG_SERIALTABLE* pSt_SerialTable); public: bool DBModule_SQLite_TryInsert(AUTHREG_TEMPVER* pSt_AuthVer); bool DBModule_SQLite_TryQuery(AUTHREG_TEMPVER* pSt_AuthVer); bool DBModule_SQLite_TryDelete(LPCXSTR lpszSerial); - bool DBModule_SQLite_TryClear(int nThanValue, ENUM_AUTHORIZE_MODULE_SERIAL_TYPE enVerMode = ENUM_AUTHORIZE_MODULE_SERIAL_TYPE_UNKNOW); + bool DBModule_SQLite_TryClear(int nThanValue, ENUM_VERIFICATION_MODULE_SERIAL_TYPE enVerMode = ENUM_VERIFICATION_MODULE_SERIAL_TYPE_UNKNOW); bool DBModule_SQLite_TrySet(AUTHREG_TEMPVER* pSt_AuthVer); bool DBModule_SQLite_TryList(AUTHREG_TEMPVER*** pppSt_AuthVer, int* pInt_ListCount, int nPosStart = 0, int nPosEnd = 1000); public: @@ -56,7 +55,7 @@ class CDBModule_SQLite bool DBModule_SQLite_AnnouncementDelete(AUTHREG_ANNOUNCEMENT* pSt_Announcement); bool DBModule_SQLite_AnnouncementList(AUTHREG_ANNOUNCEMENT*** ppppSt_Announcement, int* pInt_ListCount); protected: - bool DBModule_SQLite_UserPayTime(LPCXSTR lpszUserName, LPCXSTR lpszUserTime, LPCXSTR lpszCardTime, ENUM_AUTHORIZE_MODULE_SERIAL_TYPE en_AuthSerialType, ENUM_AUTHORIZE_MODULE_SERIAL_TYPE en_AuthUserType); + bool DBModule_SQLite_UserPayTime(LPCXSTR lpszUserName, LPCXSTR lpszUserTime, LPCXSTR lpszCardTime, ENUM_VERIFICATION_MODULE_SERIAL_TYPE en_AuthSerialType, ENUM_VERIFICATION_MODULE_SERIAL_TYPE en_AuthUserType); private: bool m_bChange; XNETHANDLE xhData; //数据库句柄 diff --git a/XEngine_Source/AuthorizeModule_Database/Database_Define.h b/XEngine_Source/AuthorizeModule_Database/Database_Define.h index b5d951c1..4b3aa74d 100644 --- a/XEngine_Source/AuthorizeModule_Database/Database_Define.h +++ b/XEngine_Source/AuthorizeModule_Database/Database_Define.h @@ -214,22 +214,17 @@ extern "C" bool DBModule_SQLite_QueryLogin(LPCXSTR lpszUserName, LPCXSTR lpszUse /******************************************************************** 函数名称:DBModule_SQLite_SerialInsert 函数功能:插入一个序列号到数据库 - 参数.一:lpszSerialNumber + 参数.一:pSt_SerialTable In/Out:In - 类型:常量字符指针 + 类型:数据结构指针 可空:N 意思:要插入的序列号 - 参数.二:lpszExpiredTime - In/Out:In - 类型:常量字符指针 - 可空:N - 意思:过期日期 返回值 类型:逻辑型 意思:是否插入成功 备注: *********************************************************************/ -extern "C" bool DBModule_SQLite_SerialInsert(LPCXSTR lpszSerialNumber, LPCXSTR lpszExpiredTime); +extern "C" bool DBModule_SQLite_SerialInsert(AUTHREG_SERIALTABLE* pSt_SerialTable); /******************************************************************** 函数名称:DBModule_SQLite_SerialDelete 函数功能:从数据库删除指定序列号 @@ -293,20 +288,6 @@ extern "C" bool DBModule_SQLite_SerialQuery(LPCXSTR lpszSerialNumber,LPAUTHREG_S *********************************************************************/ extern "C" bool DBModule_SQLite_SerialQueryAll(AUTHREG_SERIALTABLE * **pppSt_SerialTable, int* pInt_ListCount, int nPosStart, int nPosEnd); /******************************************************************** -函数名称:DBModule_SQLite_SerialPush -函数功能:插入一条指定的序列号信息到服务器 - 参数.一:pSt_SerialTable - In/Out:In - 类型:数据结构指针 - 可空:N - 意思:输入要插入的信息 -返回值 - 类型:逻辑型 - 意思:是否成功 -备注: -*********************************************************************/ -extern "C" bool DBModule_SQLite_SerialPush(AUTHREG_SERIALTABLE* pSt_SerialTable); -/******************************************************************** 函数名称:DBModule_SQLite_TryInsert 函数功能:网络使用模式插入一条数据 参数.一:pSt_AuthVer @@ -366,7 +347,7 @@ extern "C" bool DBModule_SQLite_TryDelete(LPCXSTR lpszSerial); 意思:是否成功 备注: *********************************************************************/ -extern "C" bool DBModule_SQLite_TryClear(int nThanValue, ENUM_AUTHORIZE_MODULE_SERIAL_TYPE enVerMode = ENUM_AUTHORIZE_MODULE_SERIAL_TYPE_UNKNOW); +extern "C" bool DBModule_SQLite_TryClear(int nThanValue, ENUM_VERIFICATION_MODULE_SERIAL_TYPE enVerMode = ENUM_VERIFICATION_MODULE_SERIAL_TYPE_UNKNOW); /******************************************************************** 函数名称:DBModule_SQLite_TrySet 函数功能:设置用户信息函数 @@ -712,22 +693,17 @@ extern "C" bool DBModule_MySQL_UserList(AUTHREG_USERTABLE*** pppSt_UserInfo, int /******************************************************************** 函数名称:DBModule_MySQL_SerialInsert 函数功能:插入一个序列号到数据库 - 参数.一:lpszSerialNumber + 参数.一:pSt_SerialTable In/Out:In - 类型:常量字符指针 + 类型:数据结构指针 可空:N 意思:要插入的序列号 - 参数.二:lpszExpiredTime - In/Out:In - 类型:常量字符指针 - 可空:N - 意思:过期日期 返回值 类型:逻辑型 意思:是否插入成功 备注: *********************************************************************/ -extern "C" bool DBModule_MySQL_SerialInsert(LPCXSTR lpszSerialNumber, LPCXSTR lpszExpiredTime); +extern "C" bool DBModule_MySQL_SerialInsert(AUTHREG_SERIALTABLE* pSt_SerialTable); /******************************************************************** 函数名称:DBModule_MySQL_SerialDelete 函数功能:从数据库删除指定序列号 @@ -791,20 +767,6 @@ extern "C" bool DBModule_MySQL_SerialQuery(LPCXSTR lpszSerialNumber, LPAUTHREG_S *********************************************************************/ extern "C" bool DBModule_MySQL_SerialQueryAll(AUTHREG_SERIALTABLE*** pppSt_SerialTable, int* pInt_ListCount, int nPosStart, int nPosEnd); /******************************************************************** -函数名称:DBModule_MySQL_SerialPush -函数功能:插入一条指定的序列号信息到服务器 - 参数.一:pSt_SerialTable - In/Out:In - 类型:数据结构指针 - 可空:N - 意思:输入要插入的信息 -返回值 - 类型:逻辑型 - 意思:是否成功 -备注: -*********************************************************************/ -extern "C" bool DBModule_MySQL_SerialPush(AUTHREG_SERIALTABLE* pSt_SerialTable); -/******************************************************************** 函数名称:DBModule_MySQL_TryInsert 函数功能:网络使用模式插入一条数据 参数.一:pSt_AuthVer @@ -864,7 +826,7 @@ extern "C" bool DBModule_MySQL_TryDelete(LPCXSTR lpszSerial); 意思:是否成功 备注: *********************************************************************/ -extern "C" bool DBModule_MySQL_TryClear(int nThanValue, ENUM_AUTHORIZE_MODULE_SERIAL_TYPE enVerMode = ENUM_AUTHORIZE_MODULE_SERIAL_TYPE_UNKNOW); +extern "C" bool DBModule_MySQL_TryClear(int nThanValue, ENUM_VERIFICATION_MODULE_SERIAL_TYPE enVerMode = ENUM_VERIFICATION_MODULE_SERIAL_TYPE_UNKNOW); /******************************************************************** 函数名称:DBModule_MySQL_TrySet 函数功能:设置用户信息函数 diff --git a/XEngine_Source/AuthorizeModule_Database/Makefile b/XEngine_Source/AuthorizeModule_Database/Makefile index cd52a3b6..e722ec25 100644 --- a/XEngine_Source/AuthorizeModule_Database/Makefile +++ b/XEngine_Source/AuthorizeModule_Database/Makefile @@ -3,8 +3,8 @@ PLATVER = FILEEXT = LIBFLAG = LOADHDR = -I ./ -LOADSO = -L ../AuthorizeModule_CDKey -LIB = -lXEngine_BaseLib -lHelpComponents_DataBase -lAuthorizeModule_CDKey +LOADSO = +LIB = -lXEngine_BaseLib -lHelpComponents_DataBase LIBEX = OBJECTS = DBModule_SQLite.o DBModule_MySQL.o pch.o diff --git a/XEngine_Source/AuthorizeModule_Database/pch.cpp b/XEngine_Source/AuthorizeModule_Database/pch.cpp index 3467a41b..4260df94 100644 --- a/XEngine_Source/AuthorizeModule_Database/pch.cpp +++ b/XEngine_Source/AuthorizeModule_Database/pch.cpp @@ -75,9 +75,9 @@ extern "C" bool DBModule_SQLite_QueryLogin(LPCXSTR lpszUserName, LPCXSTR lpszUse { return m_DBSQLite.DBModule_SQLite_QueryLogin(lpszUserName, lpszUserAddr); } -extern "C" bool DBModule_SQLite_SerialInsert(LPCXSTR lpszSerialNumber, LPCXSTR lpszExpiredTime) +extern "C" bool DBModule_SQLite_SerialInsert(AUTHREG_SERIALTABLE* pSt_SerialTable) { - return m_DBSQLite.DBModule_SQLite_SerialInsert(lpszSerialNumber, lpszExpiredTime); + return m_DBSQLite.DBModule_SQLite_SerialInsert(pSt_SerialTable); } extern "C" bool DBModule_SQLite_SerialDelete(LPCXSTR lpszSerialNumber) { @@ -91,10 +91,6 @@ extern "C" bool DBModule_SQLite_SerialQueryAll(AUTHREG_SERIALTABLE * **pppSt_Ser { return m_DBSQLite.DBModule_SQLite_SerialQueryAll(pppSt_SerialTable, pInt_ListCount, nPosStart, nPosEnd); } -extern "C" bool DBModule_SQLite_SerialPush(AUTHREG_SERIALTABLE * pSt_SerialTable) -{ - return m_DBSQLite.DBModule_SQLite_SerialPush(pSt_SerialTable); -} extern "C" bool DBModule_SQLite_TryInsert(AUTHREG_TEMPVER * pSt_AuthVer) { return m_DBSQLite.DBModule_SQLite_TryInsert(pSt_AuthVer); @@ -107,7 +103,7 @@ extern "C" bool DBModule_SQLite_TryDelete(LPCXSTR lpszSerial) { return m_DBSQLite.DBModule_SQLite_TryDelete(lpszSerial); } -extern "C" bool DBModule_SQLite_TryClear(int nThanValue, ENUM_AUTHORIZE_MODULE_SERIAL_TYPE enVerMode) +extern "C" bool DBModule_SQLite_TryClear(int nThanValue, ENUM_VERIFICATION_MODULE_SERIAL_TYPE enVerMode) { return m_DBSQLite.DBModule_SQLite_TryClear(nThanValue, enVerMode); } @@ -190,9 +186,9 @@ extern "C" bool DBModule_MySQL_UserList(AUTHREG_USERTABLE*** pppSt_UserInfo, int { return m_DBMySQL.DBModule_MySQL_UserList(pppSt_UserInfo, pInt_ListCount, nPosStart, nPosEnd); } -extern "C" bool DBModule_MySQL_SerialInsert(LPCXSTR lpszSerialNumber, LPCXSTR lpszExpiredTime) +extern "C" bool DBModule_MySQL_SerialInsert(AUTHREG_SERIALTABLE* pSt_SerialTable) { - return m_DBMySQL.DBModule_MySQL_SerialInsert(lpszSerialNumber, lpszExpiredTime); + return m_DBMySQL.DBModule_MySQL_SerialInsert(pSt_SerialTable); } extern "C" bool DBModule_MySQL_SerialDelete(LPCXSTR lpszSerialNumber) { @@ -206,10 +202,6 @@ extern "C" bool DBModule_MySQL_SerialQueryAll(AUTHREG_SERIALTABLE*** pppSt_Seria { return m_DBMySQL.DBModule_MySQL_SerialQueryAll(pppSt_SerialTable, pInt_ListCount, nPosStart, nPosEnd); } -extern "C" bool DBModule_MySQL_SerialPush(AUTHREG_SERIALTABLE* pSt_SerialTable) -{ - return m_DBMySQL.DBModule_MySQL_SerialPush(pSt_SerialTable); -} extern "C" bool DBModule_MySQL_TryInsert(AUTHREG_TEMPVER* pSt_AuthVer) { return m_DBMySQL.DBModule_MySQL_TryInsert(pSt_AuthVer); @@ -222,7 +214,7 @@ extern "C" bool DBModule_MySQL_TryDelete(LPCXSTR lpszSerial) { return m_DBMySQL.DBModule_MySQL_TryDelete(lpszSerial); } -extern "C" bool DBModule_MySQL_TryClear(int nThanValue, ENUM_AUTHORIZE_MODULE_SERIAL_TYPE enVerMode) +extern "C" bool DBModule_MySQL_TryClear(int nThanValue, ENUM_VERIFICATION_MODULE_SERIAL_TYPE enVerMode) { return m_DBMySQL.DBModule_MySQL_TryClear(nThanValue, enVerMode); } diff --git a/XEngine_Source/AuthorizeModule_Database/pch.h b/XEngine_Source/AuthorizeModule_Database/pch.h index 3172cd75..d123f71a 100644 --- a/XEngine_Source/AuthorizeModule_Database/pch.h +++ b/XEngine_Source/AuthorizeModule_Database/pch.h @@ -25,10 +25,8 @@ using namespace std; #include #include #include -#include "../XAuth_BuildSwitch.h" +#include "../XEngine_DependLibrary/XEngine_Module/XEngine_Verification/Verification_Define.h" #include "../XAuth_Protocol.h" -#include "../AuthorizeModule_CDKey/CDKey_Define.h" -#include "../AuthorizeModule_CDKey/CDKey_Error.h" #include "Database_Define.h" #include "Database_Error.h" /******************************************************************** @@ -46,24 +44,7 @@ extern bool SQLPacket_IsErrorOccur; extern XLONG SQLPacket_dwErrorCode; -#ifdef _WINDOWS +#ifdef _MSC_BUILD #pragma comment(lib,"XEngine_BaseLib/XEngine_BaseLib.lib") #pragma comment(lib,"XEngine_HelpComponents/HelpComponents_DataBase.lib") -#ifdef _DEBUG -#ifdef _M_X64 -#pragma comment(lib,"../x64/Debug/AuthorizeModule_CDKey") -#elif _M_ARM64 -#pragma comment(lib,"../ARM64/Debug/AuthorizeModule_CDKey") -#elif _M_IX86 -#pragma comment(lib,"../Debug/AuthorizeModule_CDKey") -#endif -#else -#ifdef _M_X64 -#pragma comment(lib,"../x64/Release/AuthorizeModule_CDKey") -#elif _M_ARM64 -#pragma comment(lib,"../ARM64/Release/AuthorizeModule_CDKey") -#elif _M_IX86 -#pragma comment(lib,"../Release/AuthorizeModule_CDKey") -#endif -#endif #endif \ No newline at end of file diff --git a/XEngine_Source/AuthorizeModule_Help/pch.h b/XEngine_Source/AuthorizeModule_Help/pch.h index 642d5203..b5325f30 100644 --- a/XEngine_Source/AuthorizeModule_Help/pch.h +++ b/XEngine_Source/AuthorizeModule_Help/pch.h @@ -31,7 +31,6 @@ using namespace std; #include #include #include -#include "../XAuth_BuildSwitch.h" #include "AuthHelp_Define.h" #include "AuthHelp_Error.h" /******************************************************************** diff --git a/XEngine_Source/AuthorizeModule_Protocol/AuthorizeModule_Protocol.def b/XEngine_Source/AuthorizeModule_Protocol/AuthorizeModule_Protocol.def index bc2f7691..cde4e4c7 100644 --- a/XEngine_Source/AuthorizeModule_Protocol/AuthorizeModule_Protocol.def +++ b/XEngine_Source/AuthorizeModule_Protocol/AuthorizeModule_Protocol.def @@ -25,12 +25,10 @@ EXPORTS Protocol_Parse_HttpParseTry Protocol_Parse_HttpParseTable Protocol_Parse_HttpParseSerial - Protocol_Parse_HttpParseSerial2 Protocol_Parse_HttpParseOnline Protocol_Parse_HttpParseTime Protocol_Parse_HttpParseSwitch Protocol_Parse_HttpParsePos Protocol_Parse_HttpParseBanned Protocol_Parse_HttpParseBanned2 - Protocol_Parse_HttpParseCDKey Protocol_Parse_HttpParseAnnouncement \ No newline at end of file diff --git a/XEngine_Source/AuthorizeModule_Protocol/Protocol_Define.h b/XEngine_Source/AuthorizeModule_Protocol/Protocol_Define.h index dfb945b4..366ad8c2 100644 --- a/XEngine_Source/AuthorizeModule_Protocol/Protocol_Define.h +++ b/XEngine_Source/AuthorizeModule_Protocol/Protocol_Define.h @@ -98,7 +98,7 @@ extern "C" bool Protocol_Packet_HttpComm(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, 意思:是否成功 备注: *********************************************************************/ -extern "C" bool Protocol_Packet_HttpUserPass(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, AUTHORIZE_PROTOCOL_USERAUTHEX* pSt_UserAuth); +extern "C" bool Protocol_Packet_HttpUserPass(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, XENGINE_PROTOCOL_USERAUTHEX* pSt_UserAuth); /******************************************************************** 函数名称:Protocol_Packet_UserTime 函数功能:用户时间打包函数 @@ -473,7 +473,7 @@ extern "C" bool Protocol_Parse_HttpParseToken(LPCXSTR lpszMsgBuffer, int nMsgLen 意思:是否成功 备注: *********************************************************************/ -extern "C" bool Protocol_Parse_HttpParseAuth(LPCXSTR lpszMsgBuffer, int nMsgLen, AUTHORIZE_PROTOCOL_USERAUTHEX* pSt_UserAuth); +extern "C" bool Protocol_Parse_HttpParseAuth(LPCXSTR lpszMsgBuffer, int nMsgLen, XENGINE_PROTOCOL_USERAUTHEX* pSt_UserAuth); /******************************************************************** 函数名称:Protocol_Parse_HttpParseUser 函数功能:解析用户信息 @@ -600,50 +600,6 @@ extern "C" bool Protocol_Parse_HttpParseTable(LPCXSTR lpszMsgBuffer, int nMsgLen *********************************************************************/ extern "C" bool Protocol_Parse_HttpParseSerial(LPCXSTR lpszMsgBuffer, int nMsgLen, AUTHREG_SERIALTABLE*** pppSt_SerialTable, int* pInt_ListCount); /******************************************************************** -函数名称:Protocol_Parse_HttpParseSerial2 -函数功能:解析HTTP序列号 - 参数.一:lpszMsgBuffer - In/Out:In - 类型:常量字符指针 - 可空:N - 意思:输入要解析的缓冲区 - 参数.二:nMsgLen - In/Out:In - 类型:整数型 - 可空:N - 意思:输入要解析的大小 - 参数.三:penSerialType - In/Out:Out - 类型:枚举型指针 - 可空:N - 意思:导出序列卡类型 - 参数.四:pInt_NumberCount - In/Out:Out - 类型:整数型指针 - 可空:N - 意思:导出序列卡长度 - 参数.五:pInt_SerialCount - In/Out:Out - 类型:整数型指针 - 可空:N - 意思:导出序列卡个数 - 参数.六:ptszHasTime - In/Out:Out - 类型:字符指针 - 可空:N - 意思:导出拥有时间 - 参数.七:ptszExpiredTime - In/Out:Out - 类型:字符指针 - 可空:N - 意思:导出过期时间 -返回值 - 类型:逻辑型 - 意思:是否成功 -备注: -*********************************************************************/ -extern "C" bool Protocol_Parse_HttpParseSerial2(LPCXSTR lpszMsgBuffer, int nMsgLen, ENUM_AUTHORIZE_MODULE_SERIAL_TYPE * penSerialType, int* pInt_NumberCount, int* pInt_SerialCount, XCHAR * ptszHasTime, XCHAR* ptszExpiredTime); -/******************************************************************** 函数名称:Protocol_Parse_HttpParseOnline 函数功能:解析在线列表 参数.一:lpszMsgBuffer @@ -798,30 +754,6 @@ extern "C" bool Protocol_Parse_HttpParseBanned(LPCXSTR lpszMsgBuffer, int nMsgLe *********************************************************************/ extern "C" bool Protocol_Parse_HttpParseBanned2(LPCXSTR lpszMsgBuffer, int nMsgLen, int* pInt_POSStart, int* pInt_POSEnd); /******************************************************************** -函数名称:Protocol_Parse_HttpParseCDKey -函数功能:解析CDKEY - 参数.一:lpszMsgBuffer - In/Out:In - 类型:常量字符指针 - 可空:N - 意思:输入要解析的缓冲区 - 参数.二:nMsgLen - In/Out:In - 类型:整数型 - 可空:N - 意思:输入缓冲区大小 - 参数.三:pSt_Authorize - In/Out:Out - 类型:数据结构指针 - 可空:N - 意思:输出解析后的信息 -返回值 - 类型:逻辑型 - 意思:是否成功 -备注: -*********************************************************************/ -extern "C" bool Protocol_Parse_HttpParseCDKey(LPCXSTR lpszMsgBuffer, int nMsgLen, XENGINE_AUTHORIZE_LOCAL* pSt_Authorize); -/******************************************************************** 函数名称:Protocol_Parse_HttpParseAnnouncement 函数功能:解析公告信息 参数.一:lpszMsgBuffer diff --git a/XEngine_Source/AuthorizeModule_Protocol/Protocol_Packet/Protocol_Packet.cpp b/XEngine_Source/AuthorizeModule_Protocol/Protocol_Packet/Protocol_Packet.cpp index af12123f..157fc905 100644 --- a/XEngine_Source/AuthorizeModule_Protocol/Protocol_Packet/Protocol_Packet.cpp +++ b/XEngine_Source/AuthorizeModule_Protocol/Protocol_Packet/Protocol_Packet.cpp @@ -159,7 +159,7 @@ bool CProtocol_Packet::Protocol_Packet_HttpComm(XCHAR* ptszMsgBuffer, int* pInt_ 意思:是否成功 备注: *********************************************************************/ -bool CProtocol_Packet::Protocol_Packet_HttpUserPass(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, AUTHORIZE_PROTOCOL_USERAUTHEX* pSt_UserAuth) +bool CProtocol_Packet::Protocol_Packet_HttpUserPass(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, XENGINE_PROTOCOL_USERAUTHEX* pSt_UserAuth) { Protocol_IsErrorOccur = false; @@ -859,8 +859,8 @@ bool CProtocol_Packet::Protocol_Packet_HttpTryList(XCHAR* ptszMsgBuffer, int* pI Json::Value st_JsonObject; st_JsonObject["nID"] = (Json::Value::Int64)(*pppSt_TryList)[i]->nID; st_JsonObject["nVTime"] = (*pppSt_TryList)[i]->nVTime; - st_JsonObject["enVMode"] = (*pppSt_TryList)[i]->enVMode; - if (ENUM_AUTHORIZE_MODULE_SERIAL_TYPE_DAY == (*pppSt_TryList)[i]->enVMode) + st_JsonObject["enVMode"] = (*pppSt_TryList)[i]->enSerialType; + if (ENUM_VERIFICATION_MODULE_SERIAL_TYPE_DAY == (*pppSt_TryList)[i]->enSerialType) { XENGINE_LIBTIME st_TimeStart = {}; XENGINE_LIBTIME st_TimeEnd = {}; diff --git a/XEngine_Source/AuthorizeModule_Protocol/Protocol_Packet/Protocol_Packet.h b/XEngine_Source/AuthorizeModule_Protocol/Protocol_Packet/Protocol_Packet.h index 229c446d..ce4e0e9a 100644 --- a/XEngine_Source/AuthorizeModule_Protocol/Protocol_Packet/Protocol_Packet.h +++ b/XEngine_Source/AuthorizeModule_Protocol/Protocol_Packet/Protocol_Packet.h @@ -20,7 +20,7 @@ class CProtocol_Packet bool Protocol_Packet_HDRComm(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, XENGINE_PROTOCOLHDR* pSt_ProtocolHdr, int enDeviceType); public: bool Protocol_Packet_HttpComm(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, int nCode = 0, LPCXSTR lpszMsgBuffer = NULL); - bool Protocol_Packet_HttpUserPass(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, AUTHORIZE_PROTOCOL_USERAUTHEX* pSt_UserAuth); + bool Protocol_Packet_HttpUserPass(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, XENGINE_PROTOCOL_USERAUTHEX* pSt_UserAuth); bool Protocol_Packet_UserTime(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, AUTHSESSION_NETCLIENT*** pppSt_ListClient, int nListCount); bool Protocol_Packet_HttpUserTime(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, AUTHREG_PROTOCOL_TIME* pSt_ProtocolTime); bool Protocol_Packet_HttpClientInfo(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, AUTHREG_USERTABLE* pSt_UserTable); diff --git a/XEngine_Source/AuthorizeModule_Protocol/Protocol_Parse/Protocol_Parse.cpp b/XEngine_Source/AuthorizeModule_Protocol/Protocol_Parse/Protocol_Parse.cpp index 536774d0..b61170ae 100644 --- a/XEngine_Source/AuthorizeModule_Protocol/Protocol_Parse/Protocol_Parse.cpp +++ b/XEngine_Source/AuthorizeModule_Protocol/Protocol_Parse/Protocol_Parse.cpp @@ -72,6 +72,7 @@ bool CProtocol_Parse::Protocol_Parse_WSHdr(LPCXSTR lpszMsgBuffer, int nMsgLen, X pSt_ProtocolHdr->unOperatorCode = st_JsonRoot["unOperatorCode"].asInt(); pSt_ProtocolHdr->byIsReply = st_JsonRoot["byIsReply"].asInt(); pSt_ProtocolHdr->wCrypto = st_JsonRoot["wCrypto"].asInt(); + pSt_ProtocolHdr->unPacketSize = sizeof(XENGINE_PROTOCOL_USERAUTHEX); if (!st_JsonRoot["xhToken"].isNull()) { pSt_ProtocolHdr->xhToken = st_JsonRoot["xhToken"].asUInt64(); @@ -154,7 +155,7 @@ bool CProtocol_Parse::Protocol_Parse_HttpParseToken(LPCXSTR lpszMsgBuffer, int n 意思:是否成功 备注: *********************************************************************/ -bool CProtocol_Parse::Protocol_Parse_HttpParseAuth(LPCXSTR lpszMsgBuffer, int nMsgLen, AUTHORIZE_PROTOCOL_USERAUTHEX* pSt_UserAuth) +bool CProtocol_Parse::Protocol_Parse_HttpParseAuth(LPCXSTR lpszMsgBuffer, int nMsgLen, XENGINE_PROTOCOL_USERAUTHEX* pSt_UserAuth) { Protocol_IsErrorOccur = false; @@ -185,10 +186,6 @@ bool CProtocol_Parse::Protocol_Parse_HttpParseAuth(LPCXSTR lpszMsgBuffer, int nM { _tcsxcpy(pSt_UserAuth->tszUserPass, st_JsonProtocol["tszUserPass"].asCString()); } - if (!st_JsonProtocol["tszDCode"].isNull()) - { - _tcsxcpy(pSt_UserAuth->tszDCode, st_JsonProtocol["tszDCode"].asCString()); - } if (!st_JsonProtocol["enClientType"].isNull()) { pSt_UserAuth->enClientType = (ENUM_PROTOCOLCLIENT_TYPE)st_JsonProtocol["enClientType"].asInt(); @@ -197,6 +194,10 @@ bool CProtocol_Parse::Protocol_Parse_HttpParseAuth(LPCXSTR lpszMsgBuffer, int nM { pSt_UserAuth->enDeviceType = (ENUM_PROTOCOLDEVICE_TYPE)st_JsonProtocol["enDeviceType"].asInt(); } + if (!st_JsonProtocol["tszDCode"].isNull()) + { + _tcsxcpy(pSt_UserAuth->tszDCode, st_JsonProtocol["tszDCode"].asCString()); + } if (!st_JsonProtocol["tszHWCode"].isNull()) { _tcsxcpy(pSt_UserAuth->tszHWCode, st_JsonProtocol["tszHWCode"].asCString()); @@ -390,7 +391,7 @@ bool CProtocol_Parse::Protocol_Parse_HttpParseTry(LPCXSTR lpszMsgBuffer, int nMs if (!st_JsonProtocol["enVMode"].isNull()) { - pSt_NETTry->enVMode = (ENUM_AUTHORIZE_MODULE_SERIAL_TYPE)st_JsonProtocol["enVMode"].asInt(); + pSt_NETTry->enSerialType = (ENUM_VERIFICATION_MODULE_SERIAL_TYPE)st_JsonProtocol["enVMode"].asInt(); } if (!st_JsonProtocol["nID"].isNull()) { @@ -463,7 +464,7 @@ bool CProtocol_Parse::Protocol_Parse_HttpParseTable(LPCXSTR lpszMsgBuffer, int n if (!st_UserTable["enSerialType"].isNull()) { - pSt_UserTable->enSerialType = (ENUM_AUTHORIZE_MODULE_SERIAL_TYPE)st_UserTable["enSerialType"].asInt(); + pSt_UserTable->enSerialType = (ENUM_VERIFICATION_MODULE_SERIAL_TYPE)st_UserTable["enSerialType"].asInt(); } if (!st_UserTable["enDeviceType"].isNull()) { @@ -576,7 +577,7 @@ bool CProtocol_Parse::Protocol_Parse_HttpParseSerial(LPCXSTR lpszMsgBuffer, int } if (!st_JsonArray[i]["enSerialType"].isNull()) { - (*pppSt_SerialTable)[i]->enSerialType = (ENUM_AUTHORIZE_MODULE_SERIAL_TYPE)st_JsonArray[i]["enSerialType"].asInt(); + (*pppSt_SerialTable)[i]->enSerialType = (ENUM_VERIFICATION_MODULE_SERIAL_TYPE)st_JsonArray[i]["enSerialType"].asInt(); } if (!st_JsonArray[i]["tszCreateTime"].isNull()) { @@ -602,83 +603,6 @@ bool CProtocol_Parse::Protocol_Parse_HttpParseSerial(LPCXSTR lpszMsgBuffer, int return true; } /******************************************************************** -函数名称:Protocol_Parse_HttpParseSerial2 -函数功能:解析HTTP序列号 - 参数.一:lpszMsgBuffer - In/Out:In - 类型:常量字符指针 - 可空:N - 意思:输入要解析的缓冲区 - 参数.二:nMsgLen - In/Out:In - 类型:整数型 - 可空:N - 意思:输入要解析的大小 - 参数.三:penSerialType - In/Out:Out - 类型:枚举型指针 - 可空:N - 意思:导出序列卡类型 - 参数.四:pInt_NumberCount - In/Out:Out - 类型:整数型指针 - 可空:N - 意思:导出序列卡长度 - 参数.五:pInt_SerialCount - In/Out:Out - 类型:整数型指针 - 可空:N - 意思:导出序列卡个数 - 参数.六:ptszHasTime - In/Out:Out - 类型:字符指针 - 可空:N - 意思:导出拥有时间 - 参数.七:ptszExpiredTime - In/Out:Out - 类型:字符指针 - 可空:N - 意思:导出过期时间 -返回值 - 类型:逻辑型 - 意思:是否成功 -备注: -*********************************************************************/ -bool CProtocol_Parse::Protocol_Parse_HttpParseSerial2(LPCXSTR lpszMsgBuffer, int nMsgLen, ENUM_AUTHORIZE_MODULE_SERIAL_TYPE* penSerialType, int* pInt_NumberCount, int* pInt_SerialCount, XCHAR* ptszHasTime, XCHAR* ptszExpiredTime) -{ - Protocol_IsErrorOccur = false; - - if ((NULL == lpszMsgBuffer) || (NULL == penSerialType)) - { - Protocol_IsErrorOccur = true; - Protocol_dwErrorCode = ERROR_AUTHORIZE_MODULE_PROTOCOL_PARAMENT; - return false; - } - Json::Value st_JsonRoot; - JSONCPP_STRING st_JsonError; - Json::CharReaderBuilder st_ReaderBuilder; - - std::unique_ptr const pSt_JsonReader(st_ReaderBuilder.newCharReader()); - if (!pSt_JsonReader->parse(lpszMsgBuffer, lpszMsgBuffer + nMsgLen, &st_JsonRoot, &st_JsonError)) - { - Protocol_IsErrorOccur = true; - Protocol_dwErrorCode = ERROR_AUTHORIZE_MODULE_PROTOCOL_PARSE; - return false; - } - Json::Value st_JsonObject = st_JsonRoot["st_SerialInfo"]; - - *penSerialType = (ENUM_AUTHORIZE_MODULE_SERIAL_TYPE)st_JsonObject["enSerialType"].asInt(); - *pInt_NumberCount = st_JsonObject["nNumberCount"].asInt(); - *pInt_SerialCount = st_JsonObject["nSerialCount"].asInt(); - _tcsxcpy(ptszHasTime, st_JsonObject["tszHasTime"].asCString()); - - if (!st_JsonObject["tszExpiredTime"].isNull()) - { - _tcsxcpy(ptszExpiredTime, st_JsonObject["tszExpiredTime"].asCString()); - } - return true; -} -/******************************************************************** 函数名称:Protocol_Parse_HttpParseOnline 函数功能:解析在线列表 参数.一:lpszMsgBuffer @@ -774,7 +698,7 @@ bool CProtocol_Parse::Protocol_Parse_HttpParseTime(LPCXSTR lpszMsgBuffer, int nM if (!st_JsonProtocol["enSerialType"].isNull()) { - pSt_ProtocolTime->enSerialType = (ENUM_AUTHORIZE_MODULE_SERIAL_TYPE)st_JsonProtocol["enSerialType"].asInt(); + pSt_ProtocolTime->enSerialType = (ENUM_VERIFICATION_MODULE_SERIAL_TYPE)st_JsonProtocol["enSerialType"].asInt(); } if (!st_JsonProtocol["enDeviceType"].isNull()) { @@ -1056,168 +980,6 @@ bool CProtocol_Parse::Protocol_Parse_HttpParseBanned2(LPCXSTR lpszMsgBuffer, int return true; } /******************************************************************** -函数名称:Protocol_Parse_HttpParseCDKey -函数功能:解析CDKEY - 参数.一:lpszMsgBuffer - In/Out:In - 类型:常量字符指针 - 可空:N - 意思:输入要解析的缓冲区 - 参数.二:nMsgLen - In/Out:In - 类型:整数型 - 可空:N - 意思:输入缓冲区大小 - 参数.三:pSt_Authorize - In/Out:Out - 类型:数据结构指针 - 可空:N - 意思:输出解析后的信息 -返回值 - 类型:逻辑型 - 意思:是否成功 -备注: -*********************************************************************/ -bool CProtocol_Parse::Protocol_Parse_HttpParseCDKey(LPCXSTR lpszMsgBuffer, int nMsgLen, XENGINE_AUTHORIZE_LOCAL* pSt_Authorize) -{ - Protocol_IsErrorOccur = false; - - if ((NULL == lpszMsgBuffer) || (NULL == pSt_Authorize)) - { - Protocol_IsErrorOccur = true; - Protocol_dwErrorCode = ERROR_AUTHORIZE_MODULE_PROTOCOL_PARAMENT; - return false; - } - Json::Value st_JsonRoot; - JSONCPP_STRING st_JsonError; - Json::CharReaderBuilder st_ReaderBuilder; - //解析JSON - std::unique_ptr const pSt_JsonReader(st_ReaderBuilder.newCharReader()); - if (!pSt_JsonReader->parse(lpszMsgBuffer, lpszMsgBuffer + nMsgLen, &st_JsonRoot, &st_JsonError)) - { - Protocol_IsErrorOccur = true; - Protocol_dwErrorCode = ERROR_AUTHORIZE_MODULE_PROTOCOL_PARSE; - return false; - } - - if (!st_JsonRoot["tszAddr"].isNull()) - { - _tcsxcpy(pSt_Authorize->tszAddr, st_JsonRoot["tszAddr"].asCString()); - } - if (!st_JsonRoot["nPort"].isNull()) - { - pSt_Authorize->nPort = st_JsonRoot["nPort"].asInt(); - } - //应用信息 - Json::Value st_JsonAPPInfo = st_JsonRoot["st_AuthAppInfo"]; - if (!st_JsonAPPInfo["nExecTime"].isNull()) - { - pSt_Authorize->st_AuthAppInfo.nExecTime = st_JsonAPPInfo["nExecTime"].asInt(); - } - if (!st_JsonAPPInfo["bInit"].isNull()) - { - pSt_Authorize->st_AuthAppInfo.bInit = st_JsonAPPInfo["bInit"].asBool(); - } - if (!st_JsonAPPInfo["tszAppName"].isNull()) - { - _tcsxcpy(pSt_Authorize->st_AuthAppInfo.tszAppName, st_JsonAPPInfo["tszAppName"].asCString()); - } - if (!st_JsonAPPInfo["tszAppVer"].isNull()) - { - _tcsxcpy(pSt_Authorize->st_AuthAppInfo.tszAppVer, st_JsonAPPInfo["tszAppVer"].asCString()); - } - //注册信息 - Json::Value st_JsonREGInfo = st_JsonRoot["st_AuthRegInfo"]; - if (!st_JsonREGInfo["tszHardware"].isNull()) - { - _tcsxcpy(pSt_Authorize->st_AuthRegInfo.tszHardware, st_JsonREGInfo["tszHardware"].asCString()); - } - if (!st_JsonREGInfo["tszCreateTime"].isNull()) - { - _tcsxcpy(pSt_Authorize->st_AuthRegInfo.tszCreateTime, st_JsonREGInfo["tszCreateTime"].asCString()); - } - if (!st_JsonREGInfo["tszRegisterTime"].isNull()) - { - _tcsxcpy(pSt_Authorize->st_AuthRegInfo.tszRegisterTime, st_JsonREGInfo["tszRegisterTime"].asCString()); - } - if (!st_JsonREGInfo["tszLeftTime"].isNull()) - { - _tcsxcpy(pSt_Authorize->st_AuthRegInfo.tszLeftTime, st_JsonREGInfo["tszLeftTime"].asCString()); - } - if (!st_JsonREGInfo["tszStartTime"].isNull()) - { - _tcsxcpy(pSt_Authorize->st_AuthRegInfo.tszStartTime, st_JsonREGInfo["tszStartTime"].asCString()); - } - if (!st_JsonREGInfo["tszExpiryTime"].isNull()) - { - _tcsxcpy(pSt_Authorize->st_AuthRegInfo.tszExpiryTime, st_JsonREGInfo["tszExpiryTime"].asCString()); - } - if (!st_JsonREGInfo["nHasTime"].isNull()) - { - pSt_Authorize->st_AuthRegInfo.nHasTime = st_JsonREGInfo["nHasTime"].asInt(); - } - if (!st_JsonREGInfo["enSerialType"].isNull()) - { - pSt_Authorize->st_AuthRegInfo.enSerialType = (ENUM_AUTHORIZE_MODULE_SERIAL_TYPE)st_JsonREGInfo["enSerialType"].asInt(); - } - if (!st_JsonREGInfo["enRegType"].isNull()) - { - pSt_Authorize->st_AuthRegInfo.enRegType = (ENUM_AUTHORIZE_MODULE_CDKEY_TYPE)st_JsonREGInfo["enRegType"].asInt(); - } - if (!st_JsonREGInfo["enHWType"].isNull()) - { - pSt_Authorize->st_AuthRegInfo.enHWType = (ENUM_AUTHORIZE_MODULE_HW_TYPE)st_JsonREGInfo["enHWType"].asInt(); - } - if (!st_JsonREGInfo["enVModeType"].isNull()) - { - pSt_Authorize->st_AuthRegInfo.enVModeType = (ENUM_AUTHORIZE_MODULE_VERMODE_TYPE)st_JsonREGInfo["enVModeType"].asInt(); - } - //临时序列号 - Json::Value st_JsonSerialInfo = st_JsonRoot["st_AuthSerial"]; - if (!st_JsonSerialInfo.isNull()) - { - if (!st_JsonSerialInfo["tszTimeSerial"].isNull()) - { - _tcsxcpy(pSt_Authorize->st_AuthSerial.st_TimeLimit.tszTimeSerial, st_JsonSerialInfo["tszTimeSerial"].asCString()); - } - if (!st_JsonSerialInfo["nTimeCount"].isNull()) - { - pSt_Authorize->st_AuthSerial.st_TimeLimit.nTimeCount = st_JsonSerialInfo["nTimeCount"].asInt(); - } - if (!st_JsonSerialInfo["tszTimeSerial"].isNull()) - { - _tcsxcpy(pSt_Authorize->st_AuthSerial.st_DataLimit.tszDataSerial, st_JsonSerialInfo["tszTimeSerial"].asCString()); - } - if (!st_JsonSerialInfo["tszDataTime"].isNull()) - { - _tcsxcpy(pSt_Authorize->st_AuthSerial.st_DataLimit.tszDataTime, st_JsonSerialInfo["tszDataTime"].asCString()); - } - if (!st_JsonSerialInfo["bTimeAdd"].isNull()) - { - pSt_Authorize->st_AuthSerial.st_DataLimit.bTimeAdd = st_JsonSerialInfo["bTimeAdd"].asBool(); - } - if (!st_JsonSerialInfo["tszUNLimitSerial"].isNull()) - { - _tcsxcpy(pSt_Authorize->st_AuthSerial.st_UNLimit.tszUNLimitSerial, st_JsonSerialInfo["tszUNLimitSerial"].asCString()); - } - } - //CDKEY用户信息 - Json::Value st_JsonUserInfo = st_JsonRoot["st_AuthUserInfo"]; - if (!st_JsonUserInfo["tszUserName"].isNull()) - { - _tcsxcpy(pSt_Authorize->st_AuthUserInfo.tszUserName, st_JsonUserInfo["tszUserName"].asCString()); - } - if (!st_JsonUserInfo["tszUserContact"].isNull()) - { - _tcsxcpy(pSt_Authorize->st_AuthUserInfo.tszUserContact, st_JsonUserInfo["tszUserContact"].asCString()); - } - if (!st_JsonUserInfo["tszCustom"].isNull()) - { - _tcsxcpy(pSt_Authorize->st_AuthUserInfo.tszCustom, st_JsonUserInfo["tszCustom"].asCString()); - } - return true; -} -/******************************************************************** 函数名称:Protocol_Parse_HttpParseAnnouncement 函数功能:解析公告信息 参数.一:lpszMsgBuffer diff --git a/XEngine_Source/AuthorizeModule_Protocol/Protocol_Parse/Protocol_Parse.h b/XEngine_Source/AuthorizeModule_Protocol/Protocol_Parse/Protocol_Parse.h index b3ff682e..d1d16f5d 100644 --- a/XEngine_Source/AuthorizeModule_Protocol/Protocol_Parse/Protocol_Parse.h +++ b/XEngine_Source/AuthorizeModule_Protocol/Protocol_Parse/Protocol_Parse.h @@ -20,20 +20,18 @@ class CProtocol_Parse bool Protocol_Parse_WSHdr(LPCXSTR lpszMsgBuffer, int nMsgLen, XENGINE_PROTOCOLHDR* pSt_ProtocolHdr); public: bool Protocol_Parse_HttpParseToken(LPCXSTR lpszMsgBuffer, int nMsgLen, XNETHANDLE* pxhToken); - bool Protocol_Parse_HttpParseAuth(LPCXSTR lpszMsgBuffer, int nMsgLen, AUTHORIZE_PROTOCOL_USERAUTHEX* pSt_UserAuth); + bool Protocol_Parse_HttpParseAuth(LPCXSTR lpszMsgBuffer, int nMsgLen, XENGINE_PROTOCOL_USERAUTHEX* pSt_UserAuth); bool Protocol_Parse_HttpParseUser(LPCXSTR lpszMsgBuffer, int nMsgLen, XENGINE_PROTOCOL_USERINFO* pSt_UserInfo); bool Protocol_Parse_HttpParsePay(LPCXSTR lpszMsgBuffer, int nMsgLen, AUTHREG_PROTOCOL_USERPAY* pSt_UserPay); bool Protocol_Parse_HttpParseTry(LPCXSTR lpszMsgBuffer, int nMsgLen, AUTHREG_TEMPVER* pSt_NETTry); bool Protocol_Parse_HttpParseTable(LPCXSTR lpszMsgBuffer, int nMsgLen, AUTHREG_USERTABLE* pSt_UserTable); bool Protocol_Parse_HttpParseSerial(LPCXSTR lpszMsgBuffer, int nMsgLen, AUTHREG_SERIALTABLE*** pppSt_SerialTable, int* pInt_ListCount); - bool Protocol_Parse_HttpParseSerial2(LPCXSTR lpszMsgBuffer, int nMsgLen, ENUM_AUTHORIZE_MODULE_SERIAL_TYPE* penSerialType, int* pInt_NumberCount, int* pInt_SerialCount, XCHAR* ptszHasTime, XCHAR* ptszExpiredTime); bool Protocol_Parse_HttpParseOnline(LPCXSTR lpszMsgBuffer, int nMsgLen, bool* pbOnline); bool Protocol_Parse_HttpParseTime(LPCXSTR lpszMsgBuffer, int nMsgLen, AUTHREG_PROTOCOL_TIME* pSt_ProtocolTime); bool Protocol_Parse_HttpParseSwitch(LPCXSTR lpszMsgBuffer, int nMsgLen, XENGINE_FUNCTIONSWITCH* pSt_FunSwitch); bool Protocol_Parse_HttpParsePos(LPCXSTR lpszMsgBuffer, int nMsgLen, int* pInt_PosStart, int* pInt_PosEnd); bool Protocol_Parse_HttpParseBanned(LPCXSTR lpszMsgBuffer, int nMsgLen, AUTHREG_BANNED* pSt_AuthBanned); bool Protocol_Parse_HttpParseBanned2(LPCXSTR lpszMsgBuffer, int nMsgLen, int* pInt_POSStart, int* pInt_POSEnd); - bool Protocol_Parse_HttpParseCDKey(LPCXSTR lpszMsgBuffer, int nMsgLen, XENGINE_AUTHORIZE_LOCAL* pSt_Authorize); bool Protocol_Parse_HttpParseAnnouncement(LPCXSTR lpszMsgBuffer, int nMsgLen, AUTHREG_ANNOUNCEMENT* pSt_Announcement); protected: private: diff --git a/XEngine_Source/AuthorizeModule_Protocol/pch.cpp b/XEngine_Source/AuthorizeModule_Protocol/pch.cpp index fe250993..05fe44a3 100644 --- a/XEngine_Source/AuthorizeModule_Protocol/pch.cpp +++ b/XEngine_Source/AuthorizeModule_Protocol/pch.cpp @@ -39,7 +39,7 @@ extern "C" bool Protocol_Packet_HttpComm(XCHAR * ptszMsgBuffer, int* pInt_MsgLen { return m_ProtocolPacket.Protocol_Packet_HttpComm(ptszMsgBuffer, pInt_MsgLen, nCode, lpszMsgBuffer); } -extern "C" bool Protocol_Packet_HttpUserPass(XCHAR * ptszMsgBuffer, int* pInt_MsgLen, AUTHORIZE_PROTOCOL_USERAUTHEX* pSt_UserAuth) +extern "C" bool Protocol_Packet_HttpUserPass(XCHAR * ptszMsgBuffer, int* pInt_MsgLen, XENGINE_PROTOCOL_USERAUTHEX* pSt_UserAuth) { return m_ProtocolPacket.Protocol_Packet_HttpUserPass(ptszMsgBuffer, pInt_MsgLen, pSt_UserAuth); } @@ -94,7 +94,7 @@ extern "C" bool Protocol_Parse_HttpParseToken(LPCXSTR lpszMsgBuffer, int nMsgLen { return m_ProtocolParse.Protocol_Parse_HttpParseToken(lpszMsgBuffer, nMsgLen, pxhToken); } -extern "C" bool Protocol_Parse_HttpParseAuth(LPCXSTR lpszMsgBuffer, int nMsgLen, AUTHORIZE_PROTOCOL_USERAUTHEX* pSt_UserAuth) +extern "C" bool Protocol_Parse_HttpParseAuth(LPCXSTR lpszMsgBuffer, int nMsgLen, XENGINE_PROTOCOL_USERAUTHEX* pSt_UserAuth) { return m_ProtocolParse.Protocol_Parse_HttpParseAuth(lpszMsgBuffer, nMsgLen, pSt_UserAuth); } @@ -118,10 +118,6 @@ extern "C" bool Protocol_Parse_HttpParseSerial(LPCXSTR lpszMsgBuffer, int nMsgLe { return m_ProtocolParse.Protocol_Parse_HttpParseSerial(lpszMsgBuffer, nMsgLen, pppSt_SerialTable, pInt_ListCount); } -extern "C" bool Protocol_Parse_HttpParseSerial2(LPCXSTR lpszMsgBuffer, int nMsgLen, ENUM_AUTHORIZE_MODULE_SERIAL_TYPE * penSerialType, int* pInt_NumberCount, int* pInt_SerialCount, XCHAR * ptszHasTime, XCHAR* ptszExpiredTime) -{ - return m_ProtocolParse.Protocol_Parse_HttpParseSerial2(lpszMsgBuffer, nMsgLen, penSerialType, pInt_NumberCount, pInt_SerialCount, ptszHasTime, ptszExpiredTime); -} extern "C" bool Protocol_Parse_HttpParseOnline(LPCXSTR lpszMsgBuffer, int nMsgLen, bool * pbOnline) { return m_ProtocolParse.Protocol_Parse_HttpParseOnline(lpszMsgBuffer, nMsgLen, pbOnline); @@ -146,10 +142,6 @@ extern "C" bool Protocol_Parse_HttpParseBanned2(LPCXSTR lpszMsgBuffer, int nMsgL { return m_ProtocolParse.Protocol_Parse_HttpParseBanned2(lpszMsgBuffer, nMsgLen, pInt_POSStart, pInt_POSEnd); } -extern "C" bool Protocol_Parse_HttpParseCDKey(LPCXSTR lpszMsgBuffer, int nMsgLen, XENGINE_AUTHORIZE_LOCAL * pSt_Authorize) -{ - return m_ProtocolParse.Protocol_Parse_HttpParseCDKey(lpszMsgBuffer, nMsgLen, pSt_Authorize); -} extern "C" bool Protocol_Parse_HttpParseAnnouncement(LPCXSTR lpszMsgBuffer, int nMsgLen, AUTHREG_ANNOUNCEMENT * pSt_Announcement) { return m_ProtocolParse.Protocol_Parse_HttpParseAnnouncement(lpszMsgBuffer, nMsgLen, pSt_Announcement); diff --git a/XEngine_Source/AuthorizeModule_Protocol/pch.h b/XEngine_Source/AuthorizeModule_Protocol/pch.h index 7da04b05..ac92c002 100644 --- a/XEngine_Source/AuthorizeModule_Protocol/pch.h +++ b/XEngine_Source/AuthorizeModule_Protocol/pch.h @@ -24,10 +24,8 @@ using namespace std; #include #include #include -#include "../XAuth_BuildSwitch.h" +#include "../XEngine_DependLibrary/XEngine_Module/XEngine_Verification/Verification_Define.h" #include "../XAuth_Protocol.h" -#include "../AuthorizeModule_CDKey/CDKey_Define.h" -#include "../AuthorizeModule_CDKey/CDKey_Error.h" #include "../AuthorizeModule_Configure/Config_Define.h" #include "../AuthorizeModule_Session/Session_Define.h" #include "../AuthorizeModule_Session/Session_Error.h" diff --git a/XEngine_Source/AuthorizeModule_Session/Session_Authorize/Session_Authorize.cpp b/XEngine_Source/AuthorizeModule_Session/Session_Authorize/Session_Authorize.cpp index 4bd8a603..9815f1b8 100644 --- a/XEngine_Source/AuthorizeModule_Session/Session_Authorize/Session_Authorize.cpp +++ b/XEngine_Source/AuthorizeModule_Session/Session_Authorize/Session_Authorize.cpp @@ -412,7 +412,7 @@ XHTHREAD CSession_Authorize::Session_Authorize_ActiveThread(XPVOID lParam) //登陆成功的。我们要处理他过期 switch (stl_ListIterator->st_UserTable.enSerialType) { - case ENUM_AUTHORIZE_MODULE_SERIAL_TYPE_SECOND: + case ENUM_VERIFICATION_MODULE_SERIAL_TYPE_SECOND: { bMultiTime = true; //秒钟处理 @@ -428,7 +428,7 @@ XHTHREAD CSession_Authorize::Session_Authorize_ActiveThread(XPVOID lParam) _tcsxcpy(st_ProtocolTimer.tszUserName, stl_ListIterator->st_UserTable.st_UserInfo.tszUserName); break; } - case ENUM_AUTHORIZE_MODULE_SERIAL_TYPE_TIME: + case ENUM_VERIFICATION_MODULE_SERIAL_TYPE_TIME: { //次数处理 stl_ListIterator->nOnlineTime = nOnlineSpan; @@ -444,7 +444,7 @@ XHTHREAD CSession_Authorize::Session_Authorize_ActiveThread(XPVOID lParam) _tcsxcpy(st_ProtocolTimer.tszUserName, stl_ListIterator->st_UserTable.st_UserInfo.tszUserName); break; } - case ENUM_AUTHORIZE_MODULE_SERIAL_TYPE_DAY: + case ENUM_VERIFICATION_MODULE_SERIAL_TYPE_DAY: { stl_ListIterator->nOnlineTime = nOnlineSpan; _xstprintf(stl_ListIterator->tszLeftTime, _X("%lld"), stl_ListIterator->nLeftTime); diff --git a/XEngine_Source/AuthorizeModule_Session/Session_Define.h b/XEngine_Source/AuthorizeModule_Session/Session_Define.h index 02743111..8192c686 100644 --- a/XEngine_Source/AuthorizeModule_Session/Session_Define.h +++ b/XEngine_Source/AuthorizeModule_Session/Session_Define.h @@ -25,7 +25,7 @@ typedef struct // 导出的回调函数 ////////////////////////////////////////////////////////////////////////// //用户在线时间事件回调处理函数,用户名 在线时间 剩余时间(分,天) 注册的卡类型 自定义参数 -typedef void(XCALLBACK* CALLBACK_XENGIEN_AUTHORIZE_SESSION_CLIENT_EVENTS)(LPCXSTR lpszUserAddr, LPCXSTR lpszUserName, __int64x nOnlineTimer, __int64x nLeftTimer, LPCXSTR lpszLeftDate, ENUM_AUTHORIZE_MODULE_SERIAL_TYPE enSerialType, ENUM_PROTOCOLDEVICE_TYPE enDeviceType, int nNetType, XPVOID lParam); +typedef void(XCALLBACK* CALLBACK_XENGIEN_AUTHORIZE_SESSION_CLIENT_EVENTS)(LPCXSTR lpszUserAddr, LPCXSTR lpszUserName, __int64x nOnlineTimer, __int64x nLeftTimer, LPCXSTR lpszLeftDate, ENUM_VERIFICATION_MODULE_SERIAL_TYPE enSerialType, ENUM_PROTOCOLDEVICE_TYPE enDeviceType, int nNetType, XPVOID lParam); typedef void(XCALLBACK* CALLBACK_XENGIEN_AUTHORIZE_SESSION_TOKEN_EVENTS)(XNETHANDLE xhToken, XPVOID lParam); ////////////////////////////////////////////////////////////////////////// // 导出的函数 diff --git a/XEngine_Source/AuthorizeModule_Session/pch.h b/XEngine_Source/AuthorizeModule_Session/pch.h index 91eb09a7..4564ce38 100644 --- a/XEngine_Source/AuthorizeModule_Session/pch.h +++ b/XEngine_Source/AuthorizeModule_Session/pch.h @@ -27,10 +27,8 @@ using namespace std; #include #include #include -#include "../XAuth_BuildSwitch.h" +#include "../XEngine_DependLibrary/XEngine_Module/XEngine_Verification/Verification_Define.h" #include "../XAuth_Protocol.h" -#include "../AuthorizeModule_CDKey/CDKey_Define.h" -#include "../AuthorizeModule_CDKey/CDKey_Error.h" #include "Session_Define.h" #include "Session_Error.h" /******************************************************************** diff --git a/XEngine_Source/Makefile b/XEngine_Source/Makefile index 6844f241..91371280 100644 --- a/XEngine_Source/Makefile +++ b/XEngine_Source/Makefile @@ -7,13 +7,11 @@ DEPEND_JSONCPP_PATH = ./XEngine_DependLibrary/XEngine_Module/jsoncpp DEPEND_REPORT_PATH = ./XEngine_DependLibrary/XEngine_Module/XEngine_InfoReport DEPEND_VERIFICATION_PATH = ./XEngine_DependLibrary/XEngine_Module/XEngine_Verification -AUTH_CDKEY_PATH = ./AuthorizeModule_CDKey AUTH_SESSION_PATH = ./AuthorizeModule_Session AUTH_DATABASE_PATH = ./AuthorizeModule_Database AUTH_PROTOCOL_PATH = ./AuthorizeModule_Protocol AUTH_CONFIGURE_PATH = ./AuthorizeModule_Configure AUTH_HELP_PATH = ./AuthorizeModule_Help -AUTH_CLIENT_PATH = ./AuthorizeModule_Client AUTH_APP_PATH = ./XEngine_APPService/XEngine_AuthorizeService @@ -24,7 +22,7 @@ else ifeq ($(PLATFORM),mac) endif XENGINE_MODULES = libjsoncpp.so libXEngine_InfoReport.so libXEngine_Verification.so \ - libAuthorizeModule_CDKey.so libAuthorizeModule_Session.so libAuthorizeModule_Database.so libAuthorizeModule_Protocol.so libAuthorizeModule_Configure.so libAuthorizeModule_Help.so libAuthorizeModule_Client.so \ + libAuthorizeModule_Session.so libAuthorizeModule_Database.so libAuthorizeModule_Protocol.so libAuthorizeModule_Configure.so libAuthorizeModule_Help.so \ XEngine_AuthorizeApp.exe .PHONY:MakeAll @@ -50,8 +48,6 @@ else make -C $(DEPEND_VERIFICATION_PATH) PLATFORM=$(PLATFORM) $(FLAGS) endif -libAuthorizeModule_CDKey.so: - make -C $(AUTH_CDKEY_PATH) PLATFORM=$(PLATFORM) UNICODE=$(UNICODE) $(FLAGS) libAuthorizeModule_Session.so: make -C $(AUTH_SESSION_PATH) PLATFORM=$(PLATFORM) UNICODE=$(UNICODE) $(FLAGS) libAuthorizeModule_Database.so: @@ -62,8 +58,6 @@ libAuthorizeModule_Configure.so: make -C $(AUTH_CONFIGURE_PATH) PLATFORM=$(PLATFORM) UNICODE=$(UNICODE) $(FLAGS) libAuthorizeModule_Help.so: make -C $(AUTH_HELP_PATH) PLATFORM=$(PLATFORM) UNICODE=$(UNICODE) $(FLAGS) -libAuthorizeModule_Client.so: - make -C $(AUTH_CLIENT_PATH) PLATFORM=$(PLATFORM) UNICODE=$(UNICODE) $(FLAGS) XEngine_AuthorizeApp.exe: make -C $(AUTH_APP_PATH) PLATFORM=$(PLATFORM) UNICODE=$(UNICODE) $(FLAGS) \ No newline at end of file diff --git a/XEngine_Source/VSCopy_Arm64.bat b/XEngine_Source/VSCopy_Arm64.bat index b589fba0..9171e7e0 100644 --- a/XEngine_Source/VSCopy_Arm64.bat +++ b/XEngine_Source/VSCopy_Arm64.bat @@ -5,6 +5,9 @@ copy /y "%XEngine_LibArm64%\XEngine_Core\XEngine_Core.dll" "./" copy /y "%XEngine_LibArm64%\XEngine_Core\XEngine_ManagePool.dll" "./" copy /y "%XEngine_LibArm64%\XEngine_Core\XEngine_Cryption.dll" "./" +copy /y "%XEngine_LibArm64%\XEngine_Client\XClient_Socket.dll" "./" +copy /y "%XEngine_LibArm64%\XEngine_Client\XClient_APIHelp.dll" "./" + copy /y "%XEngine_LibArm64%\XEngine_NetHelp\NetHelp_APIHelp.dll" "./" copy /y "%XEngine_LibArm64%\XEngine_NetHelp\NetHelp_APIAddr.dll" "./" copy /y "%XEngine_LibArm64%\XEngine_NetHelp\NetHelp_XSocket.dll" "./" @@ -16,6 +19,5 @@ copy /y "%XEngine_LibArm64%\XEngine_HelpComponents\HelpComponents_XLog.dll" "./" copy /y "%XEngine_LibArm64%\XEngine_RfcComponents\RfcComponents_WSProtocol.dll" "./" copy /y "%XEngine_LibArm64%\XEngine_RfcComponents\RfcComponents_HttpProtocol.dll" "./" -copy /y "%XEngine_LibArm64%\XEngine_Client\XClient_APIHelp.dll" "./" copy /y "%XEngine_LibArm64%\XEngine_SystemSdk\XEngine_SystemApi.dll" "./" copy /y "%XEngine_LibArm64%\XEngine_SystemSdk\XEngine_SystemConfig.dll" "./" \ No newline at end of file diff --git a/XEngine_Source/VSCopy_Debug.bat b/XEngine_Source/VSCopy_Debug.bat index b813a8b7..b200edb7 100644 --- a/XEngine_Source/VSCopy_Debug.bat +++ b/XEngine_Source/VSCopy_Debug.bat @@ -5,6 +5,9 @@ copy /y "D:\XEngine\XEngine_SourceCode\Debug\XEngine_Core.dll" "./" copy /y "D:\XEngine\XEngine_SourceCode\Debug\XEngine_ManagePool.dll" "./" copy /y "D:\XEngine\XEngine_SourceCode\Debug\XEngine_Cryption.dll" "./" +copy /y "D:\XEngine\XEngine_SourceCode\Debug\XClient_Socket.dll" "./" +copy /y "D:\XEngine\XEngine_SourceCode\Debug\XClient_APIHelp.dll" "./" + copy /y "D:\XEngine\XEngine_SourceCode\Debug\NetHelp_APIHelp.dll" "./" copy /y "D:\XEngine\XEngine_SourceCode\Debug\NetHelp_APIAddr.dll" "./" copy /y "D:\XEngine\XEngine_SourceCode\Debug\NetHelp_XSocket.dll" "./" @@ -16,6 +19,5 @@ copy /y "D:\XEngine\XEngine_SourceCode\Debug\HelpComponents_XLog.dll" "./" copy /y "D:\XEngine\XEngine_SourceCode\Debug\RfcComponents_WSProtocol.dll" "./" copy /y "D:\XEngine\XEngine_SourceCode\Debug\RfcComponents_HttpProtocol.dll" "./" -copy /y "D:\XEngine\XEngine_SourceCode\Debug\XClient_APIHelp.dll" "./" copy /y "D:\XEngine\XEngine_SourceCode\Debug\XEngine_SystemApi.dll" "./" copy /y "D:\XEngine\XEngine_SourceCode\Debug\XEngine_SystemConfig.dll" "./" \ No newline at end of file diff --git a/XEngine_Source/VSCopy_x64.bat b/XEngine_Source/VSCopy_x64.bat index af2923e2..f7b08fbe 100644 --- a/XEngine_Source/VSCopy_x64.bat +++ b/XEngine_Source/VSCopy_x64.bat @@ -5,6 +5,9 @@ copy /y "%XEngine_Lib64%\XEngine_Core\XEngine_Core.dll" "./" copy /y "%XEngine_Lib64%\XEngine_Core\XEngine_ManagePool.dll" "./" copy /y "%XEngine_Lib64%\XEngine_Core\XEngine_Cryption.dll" "./" +copy /y "%XEngine_Lib64%\XEngine_Client\XClient_Socket.dll" "./" +copy /y "%XEngine_Lib64%\XEngine_Client\XClient_APIHelp.dll" "./" + copy /y "%XEngine_Lib64%\XEngine_NetHelp\NetHelp_APIHelp.dll" "./" copy /y "%XEngine_Lib64%\XEngine_NetHelp\NetHelp_APIAddr.dll" "./" copy /y "%XEngine_Lib64%\XEngine_NetHelp\NetHelp_XSocket.dll" "./" @@ -16,6 +19,5 @@ copy /y "%XEngine_Lib64%\XEngine_HelpComponents\HelpComponents_XLog.dll" "./" copy /y "%XEngine_Lib64%\XEngine_RfcComponents\RfcComponents_WSProtocol.dll" "./" copy /y "%XEngine_Lib64%\XEngine_RfcComponents\RfcComponents_HttpProtocol.dll" "./" -copy /y "%XEngine_Lib64%\XEngine_Client\XClient_APIHelp.dll" "./" copy /y "%XEngine_Lib64%\XEngine_SystemSdk\XEngine_SystemApi.dll" "./" copy /y "%XEngine_Lib64%\XEngine_SystemSdk\XEngine_SystemConfig.dll" "./" \ No newline at end of file diff --git a/XEngine_Source/VSCopy_x86.bat b/XEngine_Source/VSCopy_x86.bat index e37f3b1d..4f315962 100644 --- a/XEngine_Source/VSCopy_x86.bat +++ b/XEngine_Source/VSCopy_x86.bat @@ -5,6 +5,9 @@ copy /y "%XEngine_Lib32%\XEngine_Core\XEngine_Core.dll" "./" copy /y "%XEngine_Lib32%\XEngine_Core\XEngine_ManagePool.dll" "./" copy /y "%XEngine_Lib32%\XEngine_Core\XEngine_Cryption.dll" "./" +copy /y "%XEngine_Lib32%\XEngine_Client\XClient_Socket.dll" "./" +copy /y "%XEngine_Lib32%\XEngine_Client\XClient_APIHelp.dll" "./" + copy /y "%XEngine_Lib32%\XEngine_NetHelp\NetHelp_APIHelp.dll" "./" copy /y "%XEngine_Lib32%\XEngine_NetHelp\NetHelp_APIAddr.dll" "./" copy /y "%XEngine_Lib32%\XEngine_NetHelp\NetHelp_XSocket.dll" "./" @@ -16,6 +19,5 @@ copy /y "%XEngine_Lib32%\XEngine_HelpComponents\HelpComponents_XLog.dll" "./" copy /y "%XEngine_Lib32%\XEngine_RfcComponents\RfcComponents_WSProtocol.dll" "./" copy /y "%XEngine_Lib32%\XEngine_RfcComponents\RfcComponents_HttpProtocol.dll" "./" -copy /y "%XEngine_Lib32%\XEngine_Client\XClient_APIHelp.dll" "./" copy /y "%XEngine_Lib32%\XEngine_SystemSdk\XEngine_SystemApi.dll" "./" copy /y "%XEngine_Lib32%\XEngine_SystemSdk\XEngine_SystemConfig.dll" "./" \ No newline at end of file diff --git a/XEngine_Source/XAuth_BuildSwitch.h b/XEngine_Source/XAuth_BuildSwitch.h deleted file mode 100644 index 7ec160f3..00000000 --- a/XEngine_Source/XAuth_BuildSwitch.h +++ /dev/null @@ -1,18 +0,0 @@ -#pragma once -/******************************************************************** -// Created: 2024/01/04 10:01:07 -// File Name: D:\XEngine_Authorize\XEngine_Source\XAuth_BuildSwitch.h -// File Path: D:\XEngine_Authorize\XEngine_Source -// File Base: XAuth_BuildSwitch -// File Ext: h -// Project: XEngine(网络通信引擎) -// Author: qyt -// Purpose: 编译选项 -// History: -*********************************************************************/ -#define _XAUTH_BUILD_SWITCH_CLIENT_TCP 1 -#define _XAUTH_BUILD_SWITCH_CLIENT_HTTP 1 - -#if (XENGINE_VERSION_KERNEL <= 9) && (XENGINE_VERSION_MAIN < 10) -typedef XENGINE_LIBTIMER XENGINE_LIBTIME; -#endif \ No newline at end of file diff --git a/XEngine_Source/XAuth_Protocol.h b/XEngine_Source/XAuth_Protocol.h index eb47b6f5..48ca6857 100644 --- a/XEngine_Source/XAuth_Protocol.h +++ b/XEngine_Source/XAuth_Protocol.h @@ -14,23 +14,14 @@ ////////////////////////////////////////////////////////////////////////// // 导出的协议定义 ////////////////////////////////////////////////////////////////////////// -#define XENGINE_COMMUNICATION_PROTOCOL_OPERATOR_CODE_AUTH_REQDEL 0x2001 //删除用户 -#define XENGINE_COMMUNICATION_PROTOCOL_OPERATOR_CODE_AUTH_REPDEL 0x2002 -#define XENGINE_COMMUNICATION_PROTOCOL_OPERATOR_CODE_AUTH_REQREGISTER 0x2003 //注册 -#define XENGINE_COMMUNICATION_PROTOCOL_OPERATOR_CODE_AUTH_REPREGISTER 0x2004 -#define XENGINE_COMMUNICATION_PROTOCOL_OPERATOR_CODE_AUTH_REQLOGIN 0x2005 //登陆 -#define XENGINE_COMMUNICATION_PROTOCOL_OPERATOR_CODE_AUTH_REPLOGIN 0x2006 -#define XENGINE_COMMUNICATION_PROTOCOL_OPERATOR_CODE_AUTH_REQPAY 0x2007 //充值 -#define XENGINE_COMMUNICATION_PROTOCOL_OPERATOR_CODE_AUTH_REPPAY 0x2008 -#define XENGINE_COMMUNICATION_PROTOCOL_OPERATOR_CODE_AUTH_REQGETPASS 0x2009 //找回密码 -#define XENGINE_COMMUNICATION_PROTOCOL_OPERATOR_CODE_AUTH_REPGETPASS 0x200A -#define XENGINE_COMMUNICATION_PROTOCOL_OPERATOR_CODE_AUTH_REQGETTIME 0x200B //获取剩余时间 -#define XENGINE_COMMUNICATION_PROTOCOL_OPERATOR_CODE_AUTH_REPGETTIME 0x200C -#define XENGINE_COMMUNICATION_PROTOCOL_OPERATOR_CODE_AUTH_REQTRYVER 0x200D //临时验证协议请求 -#define XENGINE_COMMUNICATION_PROTOCOL_OPERATOR_CODE_AUTH_REPTRYVER 0x200E -#define XENGINE_COMMUNICATION_PROTOCOL_OPERATOR_CODE_AUTH_REQDCODE 0x2010 //动态验证码请求 -#define XENGINE_COMMUNICATION_PROTOCOL_OPERATOR_CODE_AUTH_REPDCODE 0x2011 -#define XENGINE_COMMUNICATION_PROTOCOL_OPERATOR_CODE_AUTH_TIMEDOUT 0x2FFF //通知客户端时间到期 +#define XENGINE_COMMUNICATION_PROTOCOL_OPERATOR_CODE_AUTH_REQPAY 0x2001 //充值 +#define XENGINE_COMMUNICATION_PROTOCOL_OPERATOR_CODE_AUTH_REPPAY 0x2002 +#define XENGINE_COMMUNICATION_PROTOCOL_OPERATOR_CODE_AUTH_REQGETPASS 0x2003 //找回密码 +#define XENGINE_COMMUNICATION_PROTOCOL_OPERATOR_CODE_AUTH_REPGETPASS 0x2004 +#define XENGINE_COMMUNICATION_PROTOCOL_OPERATOR_CODE_AUTH_REQGETTIME 0x2005 //获取剩余时间 +#define XENGINE_COMMUNICATION_PROTOCOL_OPERATOR_CODE_AUTH_REPGETTIME 0x2006 +#define XENGINE_COMMUNICATION_PROTOCOL_OPERATOR_CODE_AUTH_REQDCODE 0x2007 //动态验证码请求 +#define XENGINE_COMMUNICATION_PROTOCOL_OPERATOR_CODE_AUTH_REPDCODE 0x2008 ////////////////////////////////////////////////////////////////////////// // 导出的错误码 ////////////////////////////////////////////////////////////////////////// @@ -52,115 +43,13 @@ #define ERROR_AUTHORIZE_PROTOCOL_TIMEOUT 0x115 //超时 #define ERROR_AUTHORIZE_PROTOCOL_PERMISSION 0x116 //用户权限错误 #define ERROR_AUTHORIZE_PROTOCOL_EXPIRED 0x117 //已经过期 - +#define ERROR_AUTHORIZE_PROTOCOL_CDKEY 0x118 //CDKEY错误 +////////////////////////////////////////////////////////////////////////// #define ERROR_AUTHORIZE_PROTOCOL_SERVER 0x201 //服务端内部错误 #define ERROR_AUTHORIZE_PROTOCOL_LIMIT 0x202 //服务端内部限制,数据过大后者过小 ////////////////////////////////////////////////////////////////////////// -// 导出的枚举型 -////////////////////////////////////////////////////////////////////////// -#ifndef _MSC_BUILD -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wunused-variable" -#endif -static LPCXSTR lpszXSerialType[5] = { "UNKNOW","SECOND","DAY","TIME","CUSTOM" }; -static LPCXSTR lpszXRegType[6] = { "UNKNOW","TEMP","TRY","OFFICIAL","UNLIMIT","EXPIRED" }; -static LPCXSTR lpszXHDType[6] = { "UNKNOW","CPU","DISK","BOARD","MAC","BIOS" }; -static LPCXSTR lpszXVerType[6] = { "UNKNOW","LOCAL","NETWORK" }; -#ifndef _MSC_BUILD -#pragma GCC diagnostic pop -#endif -typedef enum -{ - ENUM_AUTHORIZE_MODULE_SERIAL_TYPE_UNKNOW = 0, //无法识别的充值卡 - ENUM_AUTHORIZE_MODULE_SERIAL_TYPE_SECOND = 1, //秒钟,本地使用在read和write的时候更新 - ENUM_AUTHORIZE_MODULE_SERIAL_TYPE_DAY = 2, //天数,本地使用天数卡,不使用不减天数. - ENUM_AUTHORIZE_MODULE_SERIAL_TYPE_TIME = 3, //次数卡 - ENUM_AUTHORIZE_MODULE_SERIAL_TYPE_CUSTOM = 4 //自定义过期日期 -}ENUM_AUTHORIZE_MODULE_SERIAL_TYPE, * LPENUM_AUTHORIZE_MODULE_SERIAL_TYPE; -typedef enum -{ - ENUM_AUTHORIZE_MODULE_CDKEY_TYPE_UNKNOW = 0, //未注册,Authorize_CDKey_GetLeftTimer将返回失败 - ENUM_AUTHORIZE_MODULE_CDKEY_TYPE_TEMP = 1, //临时,Authorize_CDKey_GetLeftTimer一次后过期,需要Write - ENUM_AUTHORIZE_MODULE_CDKEY_TYPE_TRY = 2, //试用 - ENUM_AUTHORIZE_MODULE_CDKEY_TYPE_OFFICIAL = 3, //正式版 - ENUM_AUTHORIZE_MODULE_CDKEY_TYPE_UNLIMIT = 4, //无限制版,永不过期.CDKEY不做任何验证 - ENUM_AUTHORIZE_MODULE_CDKEY_TYPE_EXPIRED = 5 //已过期的版本,Authorize_CDKey_GetLeftTimer将返回失败 -}ENUM_AUTHORIZE_MODULE_CDKEY_TYPE, * LPENUM_AUTHORIZE_MODULE_CDKEY_TYPE; -typedef enum -{ - ENUM_AUTHORIZE_MODULE_HW_TYPE_UNKNOW = 0, //未指定 - ENUM_AUTHORIZE_MODULE_HW_TYPE_CPU = 1, //CPU序列号 - ENUM_AUTHORIZE_MODULE_HW_TYPE_DISK = 2, //硬盘序列号 - ENUM_AUTHORIZE_MODULE_HW_TYPE_BOARD = 3, //主板序列号 - ENUM_AUTHORIZE_MODULE_HW_TYPE_MAC = 4, //网卡MAC地址 - ENUM_AUTHORIZE_MODULE_HW_TYPE_BIOS = 5 //BIOS序列号 -}ENUM_AUTHORIZE_MODULE_HW_TYPE, * LPENUM_AUTHORIZE_MODULE_HW_TYPE; -typedef enum -{ - ENUM_AUTHORIZE_MODULE_VERMODE_TYPE_UNKNOW = 0, //未知 - ENUM_AUTHORIZE_MODULE_VERMODE_TYPE_LOCAL = 0x01, //本地 - ENUM_AUTHORIZE_MODULE_VERMODE_TYPE_NETWORK = 0x02, //网络 -}ENUM_AUTHORIZE_MODULE_VERMODE_TYPE, * LPENUM_AUTHORIZE_MODULE_VERMODE_TYPE; -////////////////////////////////////////////////////////////////////////// // 导出的结构体 ////////////////////////////////////////////////////////////////////////// -typedef struct -{ - XCHAR tszAddr[XPATH_MAX]; //服务器或者域名地址 - int nPort; //端口号码,如果>0表示CDKEY验证失败后改为网络验证 - //版本信息 - struct - { - XCHAR tszAppName[128]; //应用程序名称 - XCHAR tszAppVer[128]; //应用程序版本号 - __int64x nExecTime; //程序已经执行次数,调用Authorize_CDKey_GetLeftTimer会更新 - bool bInit; //是否初始化,由用户控制 - }st_AuthAppInfo; - //CDKEY信息 - struct - { - XCHAR tszHardware[1024]; //硬件码 - XCHAR tszCreateTime[64]; //CDKEY创建日期,年/月/日-小时:分钟:秒 - XCHAR tszRegisterTime[64]; //注册时间,年/月/日-小时:分钟:秒 - XCHAR tszLeftTime[64]; //总的剩余时间,过期日期,根据nLeftType决定此值的意义 - XCHAR tszStartTime[64]; //当前启动时间,由系统读取CDKEY的时候自动更新,天数和分钟有效 - XCHAR tszExpiryTime[64]; //过期的时间,需要调用Authorize_CDKey_GetLeftTimer并且Write才生效 - __int64x nHasTime; //当前还拥有时间,根据nLeftType决定此值的意义,调用Authorize_CDKey_GetLeftTimer会更新 - ENUM_AUTHORIZE_MODULE_SERIAL_TYPE enSerialType; //过期类型,参考:ENUM_AUTHORIZE_MODULE_SERIAL_TYPE - ENUM_AUTHORIZE_MODULE_CDKEY_TYPE enRegType; //注册类型,参考:ENUM_AUTHORIZE_MODULE_CDKEY_TYPE - ENUM_AUTHORIZE_MODULE_HW_TYPE enHWType; //硬件类型,参考:ENUM_AUTHORIZE_MODULE_HW_TYPE - ENUM_AUTHORIZE_MODULE_VERMODE_TYPE enVModeType; //验证方式,参考:ENUM_AUTHORIZE_MODULE_VERMODE_TYPE - }st_AuthRegInfo; - //临时序列号 - struct - { - //次数限制 - struct - { - XCHAR tszTimeSerial[128]; - int nTimeCount; //使用次数 - }st_TimeLimit; - //时间限制 - struct - { - XCHAR tszDataTime[128]; //过期时间 - XCHAR tszDataSerial[128]; //序列号 - bool bTimeAdd; //真,过期时间是设置的日期-创建日期.假过期日期就是设定的日期 - }st_DataLimit; - //无限制 - struct - { - XCHAR tszUNLimitSerial[128]; //无限制序列号 - }st_UNLimit; - }st_AuthSerial; - //注册的用户信息,可以不填 - struct - { - XCHAR tszUserName[64]; //注册的用户 - XCHAR tszUserContact[64]; //联系方式,电子邮件或者手机等 - XCHAR tszCustom[1024]; //自定义数据 - }st_AuthUserInfo; -}XENGINE_AUTHORIZE_LOCAL, * LPXENGINE_AUTHORIZE_LOCAL; //充值协议 typedef struct { @@ -176,7 +65,7 @@ typedef struct __int64x nTimeLeft; //剩余时间 __int64x nTimeONLine; //在线时间 int nNetType; //连接类型 - ENUM_AUTHORIZE_MODULE_SERIAL_TYPE enSerialType; + ENUM_VERIFICATION_MODULE_SERIAL_TYPE enSerialType; ENUM_PROTOCOLDEVICE_TYPE enDeviceType; }AUTHREG_PROTOCOL_TIME, * LPAUTHREG_PROTOCOL_TIME; //用户表 @@ -186,7 +75,7 @@ typedef struct tag_AuthReg_UserTable XCHAR tszADDInfo[2048]; //附加信息 XCHAR tszLeftTime[64]; //剩余日期 XCHAR tszHardCode[32]; //硬件码 - ENUM_AUTHORIZE_MODULE_SERIAL_TYPE enSerialType; //充值卡类型 + ENUM_VERIFICATION_MODULE_SERIAL_TYPE enSerialType; //充值卡类型 ENUM_PROTOCOLDEVICE_TYPE enDeviceType; //设备类型 }AUTHREG_USERTABLE, * LPAUTHREG_USERTABLE; //注册序列号表 @@ -195,7 +84,7 @@ typedef struct tag_AuthReg_SerialTable XCHAR tszUserName[XENGINE_AUTHREG_SERVICE_SQL_MAX_USERNAME]; //使用者是谁 XCHAR tszSerialNumber[128]; //序列号 XCHAR tszMaxTime[64]; //使用时间 - ENUM_AUTHORIZE_MODULE_SERIAL_TYPE enSerialType; //充值卡类型 + ENUM_VERIFICATION_MODULE_SERIAL_TYPE enSerialType; //充值卡类型 int bIsUsed; //是否已经使用 XCHAR tszCreateTime[64]; //创建时间 XCHAR tszExpiredTime[64]; //过期时间 @@ -208,13 +97,13 @@ typedef struct __int64x nID; //ID int nVTime; //试用时间 int nLTime; //剩余时间 - ENUM_AUTHORIZE_MODULE_SERIAL_TYPE enVMode; //验证方式 + ENUM_VERIFICATION_MODULE_SERIAL_TYPE enSerialType; //验证方式 }AUTHREG_TEMPVER; //禁止列表 typedef struct { __int64x nID; //ID - XCHAR tszUserName[XPATH_MAX]; //用户名 + XCHAR tszUserName[XENGINE_AUTHREG_SERVICE_SQL_MAX_USERNAME]; //用户名 XCHAR tszIPAddr[128]; //IP XCHAR tszLeftTime[64]; //过期时间 XCHAR tszCreateTime[64]; //创建时间 @@ -226,8 +115,4 @@ typedef struct XCHAR tszContext[4096]; //信息 XCHAR tszCreateTime[64]; //创建时间 __int64x nID; //ID -}AUTHREG_ANNOUNCEMENT, * LPAUTHREG_ANNOUNCEMENT; -//扩展登录协议 -struct AUTHORIZE_PROTOCOL_USERAUTHEX : public XENGINE_PROTOCOL_USERAUTH { - XCHAR tszHWCode[64]; -}; \ No newline at end of file +}AUTHREG_ANNOUNCEMENT, * LPAUTHREG_ANNOUNCEMENT; \ No newline at end of file diff --git a/XEngine_Source/XEngine.sln b/XEngine_Source/XEngine.sln index 8ad426b0..33e44b34 100644 --- a/XEngine_Source/XEngine.sln +++ b/XEngine_Source/XEngine.sln @@ -5,7 +5,6 @@ VisualStudioVersion = 17.2.32519.379 MinimumVisualStudioVersion = 10.0.40219.1 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "XEngine_HDRFile", "XEngine_HDRFile", "{D3A33095-8584-4EFB-9411-EBC38407E7B9}" ProjectSection(SolutionItems) = preProject - XAuth_BuildSwitch.h = XAuth_BuildSwitch.h XAuth_Protocol.h = XAuth_Protocol.h EndProjectSection EndProject @@ -28,30 +27,29 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "AuthorizeModule_Session", " EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "AuthorizeModule_Database", "AuthorizeModule_Database\AuthorizeModule_Database.vcxproj", "{5FA1874A-32F4-4176-9C23-4E22BE183660}" ProjectSection(ProjectDependencies) = postProject - {02A75BD0-416E-4AEF-BF34-BD85BD86384F} = {02A75BD0-416E-4AEF-BF34-BD85BD86384F} {F1736B3F-03A2-4FC7-B045-A12BA8D724FB} = {F1736B3F-03A2-4FC7-B045-A12BA8D724FB} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "XEngine_AuthorizeService", "XEngine_APPService\XEngine_AuthorizeService\XEngine_AuthorizeService.vcxproj", "{A29DFD8D-2818-4BE3-A2DB-07F241B4BFC9}" ProjectSection(ProjectDependencies) = postProject - {02A75BD0-416E-4AEF-BF34-BD85BD86384F} = {02A75BD0-416E-4AEF-BF34-BD85BD86384F} {1391B739-713B-4A3A-9233-FEAB92E0566C} = {1391B739-713B-4A3A-9233-FEAB92E0566C} - {51DCBDC7-50CB-4A44-B10B-FCF90309914D} = {51DCBDC7-50CB-4A44-B10B-FCF90309914D} {5FA1874A-32F4-4176-9C23-4E22BE183660} = {5FA1874A-32F4-4176-9C23-4E22BE183660} {6B926D00-DCD2-49E3-86A9-3230C9872E65} = {6B926D00-DCD2-49E3-86A9-3230C9872E65} {A8E43EC0-698A-4807-8A61-B2BE5FAB7256} = {A8E43EC0-698A-4807-8A61-B2BE5FAB7256} {AB3DB24C-E1B3-41CF-B2F4-6C12E13C2894} = {AB3DB24C-E1B3-41CF-B2F4-6C12E13C2894} {CB9138DF-789D-459F-AD43-4095B22A487F} = {CB9138DF-789D-459F-AD43-4095B22A487F} - {DD8CB5F1-980F-48C3-BA2F-3CF534903B14} = {DD8CB5F1-980F-48C3-BA2F-3CF534903B14} {F1736B3F-03A2-4FC7-B045-A12BA8D724FB} = {F1736B3F-03A2-4FC7-B045-A12BA8D724FB} {F6520D2C-BB8E-45BB-964B-F5D6A4318A89} = {F6520D2C-BB8E-45BB-964B-F5D6A4318A89} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "XEngine_AuthorizeApp", "XEngine_APPService\XEngine_AuthorizeApp\XEngine_AuthorizeApp.vcxproj", "{51DCBDC7-50CB-4A44-B10B-FCF90309914D}" ProjectSection(ProjectDependencies) = postProject - {02A75BD0-416E-4AEF-BF34-BD85BD86384F} = {02A75BD0-416E-4AEF-BF34-BD85BD86384F} {1391B739-713B-4A3A-9233-FEAB92E0566C} = {1391B739-713B-4A3A-9233-FEAB92E0566C} + {5FA1874A-32F4-4176-9C23-4E22BE183660} = {5FA1874A-32F4-4176-9C23-4E22BE183660} + {6B926D00-DCD2-49E3-86A9-3230C9872E65} = {6B926D00-DCD2-49E3-86A9-3230C9872E65} + {A8E43EC0-698A-4807-8A61-B2BE5FAB7256} = {A8E43EC0-698A-4807-8A61-B2BE5FAB7256} {AB3DB24C-E1B3-41CF-B2F4-6C12E13C2894} = {AB3DB24C-E1B3-41CF-B2F4-6C12E13C2894} + {CB9138DF-789D-459F-AD43-4095B22A487F} = {CB9138DF-789D-459F-AD43-4095B22A487F} {F1736B3F-03A2-4FC7-B045-A12BA8D724FB} = {F1736B3F-03A2-4FC7-B045-A12BA8D724FB} {F6520D2C-BB8E-45BB-964B-F5D6A4318A89} = {F6520D2C-BB8E-45BB-964B-F5D6A4318A89} EndProjectSection @@ -61,18 +59,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "AuthorizeModule_Help", "Aut {F1736B3F-03A2-4FC7-B045-A12BA8D724FB} = {F1736B3F-03A2-4FC7-B045-A12BA8D724FB} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "AuthorizeModule_Client", "AuthorizeModule_Client\AuthorizeModule_Client.vcxproj", "{DD8CB5F1-980F-48C3-BA2F-3CF534903B14}" - ProjectSection(ProjectDependencies) = postProject - {F1736B3F-03A2-4FC7-B045-A12BA8D724FB} = {F1736B3F-03A2-4FC7-B045-A12BA8D724FB} - EndProjectSection -EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "XEngine_DependLibrary", "XEngine_DependLibrary", "{6444F125-63DE-4120-98B3-DF097A9758FA}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "AuthorizeModule_CDKey", "AuthorizeModule_CDKey\AuthorizeModule_CDKey.vcxproj", "{02A75BD0-416E-4AEF-BF34-BD85BD86384F}" - ProjectSection(ProjectDependencies) = postProject - {F1736B3F-03A2-4FC7-B045-A12BA8D724FB} = {F1736B3F-03A2-4FC7-B045-A12BA8D724FB} - EndProjectSection -EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "jsoncpp", "XEngine_DependLibrary\XEngine_Module\jsoncpp\jsoncpp.vcxproj", "{F1736B3F-03A2-4FC7-B045-A12BA8D724FB}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "XEngine_InfoReport", "XEngine_DependLibrary\XEngine_Module\XEngine_InfoReport\XEngine_InfoReport.vcxproj", "{F6520D2C-BB8E-45BB-964B-F5D6A4318A89}" @@ -81,6 +69,9 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "XEngine_InfoReport", "XEngi EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "XEngine_Verification", "XEngine_DependLibrary\XEngine_Module\XEngine_Verification\XEngine_Verification.vcxproj", "{A8E43EC0-698A-4807-8A61-B2BE5FAB7256}" + ProjectSection(ProjectDependencies) = postProject + {F1736B3F-03A2-4FC7-B045-A12BA8D724FB} = {F1736B3F-03A2-4FC7-B045-A12BA8D724FB} + EndProjectSection EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -176,30 +167,6 @@ Global {AB3DB24C-E1B3-41CF-B2F4-6C12E13C2894}.Release|x64.Build.0 = Release|x64 {AB3DB24C-E1B3-41CF-B2F4-6C12E13C2894}.Release|x86.ActiveCfg = Release|Win32 {AB3DB24C-E1B3-41CF-B2F4-6C12E13C2894}.Release|x86.Build.0 = Release|Win32 - {DD8CB5F1-980F-48C3-BA2F-3CF534903B14}.Debug|ARM64.ActiveCfg = Debug|ARM64 - {DD8CB5F1-980F-48C3-BA2F-3CF534903B14}.Debug|ARM64.Build.0 = Debug|ARM64 - {DD8CB5F1-980F-48C3-BA2F-3CF534903B14}.Debug|x64.ActiveCfg = Debug|x64 - {DD8CB5F1-980F-48C3-BA2F-3CF534903B14}.Debug|x64.Build.0 = Debug|x64 - {DD8CB5F1-980F-48C3-BA2F-3CF534903B14}.Debug|x86.ActiveCfg = Debug|Win32 - {DD8CB5F1-980F-48C3-BA2F-3CF534903B14}.Debug|x86.Build.0 = Debug|Win32 - {DD8CB5F1-980F-48C3-BA2F-3CF534903B14}.Release|ARM64.ActiveCfg = Release|ARM64 - {DD8CB5F1-980F-48C3-BA2F-3CF534903B14}.Release|ARM64.Build.0 = Release|ARM64 - {DD8CB5F1-980F-48C3-BA2F-3CF534903B14}.Release|x64.ActiveCfg = Release|x64 - {DD8CB5F1-980F-48C3-BA2F-3CF534903B14}.Release|x64.Build.0 = Release|x64 - {DD8CB5F1-980F-48C3-BA2F-3CF534903B14}.Release|x86.ActiveCfg = Release|Win32 - {DD8CB5F1-980F-48C3-BA2F-3CF534903B14}.Release|x86.Build.0 = Release|Win32 - {02A75BD0-416E-4AEF-BF34-BD85BD86384F}.Debug|ARM64.ActiveCfg = Debug|ARM64 - {02A75BD0-416E-4AEF-BF34-BD85BD86384F}.Debug|ARM64.Build.0 = Debug|ARM64 - {02A75BD0-416E-4AEF-BF34-BD85BD86384F}.Debug|x64.ActiveCfg = Debug|x64 - {02A75BD0-416E-4AEF-BF34-BD85BD86384F}.Debug|x64.Build.0 = Debug|x64 - {02A75BD0-416E-4AEF-BF34-BD85BD86384F}.Debug|x86.ActiveCfg = Debug|Win32 - {02A75BD0-416E-4AEF-BF34-BD85BD86384F}.Debug|x86.Build.0 = Debug|Win32 - {02A75BD0-416E-4AEF-BF34-BD85BD86384F}.Release|ARM64.ActiveCfg = Release|ARM64 - {02A75BD0-416E-4AEF-BF34-BD85BD86384F}.Release|ARM64.Build.0 = Release|ARM64 - {02A75BD0-416E-4AEF-BF34-BD85BD86384F}.Release|x64.ActiveCfg = Release|x64 - {02A75BD0-416E-4AEF-BF34-BD85BD86384F}.Release|x64.Build.0 = Release|x64 - {02A75BD0-416E-4AEF-BF34-BD85BD86384F}.Release|x86.ActiveCfg = Release|Win32 - {02A75BD0-416E-4AEF-BF34-BD85BD86384F}.Release|x86.Build.0 = Release|Win32 {F1736B3F-03A2-4FC7-B045-A12BA8D724FB}.Debug|ARM64.ActiveCfg = Debug|ARM64 {F1736B3F-03A2-4FC7-B045-A12BA8D724FB}.Debug|ARM64.Build.0 = Debug|ARM64 {F1736B3F-03A2-4FC7-B045-A12BA8D724FB}.Debug|x64.ActiveCfg = Debug|x64 diff --git a/XEngine_Source/XEngine_APPService/XEngine_AuthorizeApp/Authorize_Dialog/Dialog_CDKey.cpp b/XEngine_Source/XEngine_APPService/XEngine_AuthorizeApp/Authorize_Dialog/Dialog_CDKey.cpp index ad91aa76..e0876155 100644 --- a/XEngine_Source/XEngine_APPService/XEngine_AuthorizeApp/Authorize_Dialog/Dialog_CDKey.cpp +++ b/XEngine_Source/XEngine_APPService/XEngine_AuthorizeApp/Authorize_Dialog/Dialog_CDKey.cpp @@ -122,14 +122,19 @@ bool CDialog_CDKey::Dialog_CDKey_Init() m_EditRegHaveTime.SetWindowText(_T("5")); m_EditRegLeftTime.SetWindowText(_T("5")); - int nSerialCount = 3; - XCHAR** pptszSerialList; USES_CONVERSION; - Authorize_Serial_Create(&pptszSerialList, _X("XAUTH"), nSerialCount, 9); - m_EditSerialTimeNumber.SetWindowText(A2W(pptszSerialList[0])); - m_EditSerialDataNumber.SetWindowText(A2W(pptszSerialList[1])); - m_EditSerialUnlimitNumber.SetWindowText(A2W(pptszSerialList[2])); - BaseLib_Memory_Free((XPPPMEM)&pptszSerialList, nSerialCount); + XCHAR tszSerialStr[XPATH_MIN] = {}; + Verification_XAuthKey_KeySerial(tszSerialStr, 8, 0); + m_EditSerialTimeNumber.SetWindowText(A2W(tszSerialStr)); + + memset(tszSerialStr, 0, XPATH_MIN); + Verification_XAuthKey_KeySerial(tszSerialStr, 8, 0); + m_EditSerialDataNumber.SetWindowText(A2W(tszSerialStr)); + + memset(tszSerialStr, 0, XPATH_MIN); + Verification_XAuthKey_KeySerial(tszSerialStr, 8, 0); + m_EditSerialUnlimitNumber.SetWindowText(A2W(tszSerialStr)); + m_EditSerialTimeCount.SetWindowText(_T("9999")); m_CheckSerialDataAdd.SetCheck(BST_CHECKED); @@ -151,7 +156,7 @@ bool CDialog_CDKey::Dialog_CDKey_Init() m_EditUserContact.SetWindowText(_T("www.xyry.org")); return true; } -bool CDialog_CDKey::Dialog_CDKey_Read(XENGINE_AUTHORIZE_LOCAL* pSt_AuthorizeCDKey) +bool CDialog_CDKey::Dialog_CDKey_Read(VERIFICATION_XAUTHKEY* pSt_AuthorizeCDKey) { //网络信息 CString m_StrIPAddr; @@ -192,10 +197,10 @@ bool CDialog_CDKey::Dialog_CDKey_Read(XENGINE_AUTHORIZE_LOCAL* pSt_AuthorizeCDKe m_StrRegInfo.ReleaseBuffer(); m_DateTimeStart.GetWindowText(m_StrRegInfo); strcpy(pSt_AuthorizeCDKey->st_AuthRegInfo.tszStartTime, W2A(m_StrRegInfo.GetBuffer())); - pSt_AuthorizeCDKey->st_AuthRegInfo.enSerialType = (ENUM_AUTHORIZE_MODULE_SERIAL_TYPE)m_ComboRegSerial.GetCurSel(); - pSt_AuthorizeCDKey->st_AuthRegInfo.enRegType = (ENUM_AUTHORIZE_MODULE_CDKEY_TYPE)m_ComboRegType.GetCurSel(); - pSt_AuthorizeCDKey->st_AuthRegInfo.enHWType = (ENUM_AUTHORIZE_MODULE_HW_TYPE)m_ComboRegHard.GetCurSel(); - pSt_AuthorizeCDKey->st_AuthRegInfo.enVModeType = (ENUM_AUTHORIZE_MODULE_VERMODE_TYPE)m_ComboRegVer.GetCurSel(); + pSt_AuthorizeCDKey->st_AuthRegInfo.enSerialType = (ENUM_VERIFICATION_MODULE_SERIAL_TYPE)m_ComboRegSerial.GetCurSel(); + pSt_AuthorizeCDKey->st_AuthRegInfo.enRegType = (ENUM_VERIFICATION_MODULE_CDKEY_TYPE)m_ComboRegType.GetCurSel(); + pSt_AuthorizeCDKey->st_AuthRegInfo.enHWType = (ENUM_VERIFICATION_MODULE_HW_TYPE)m_ComboRegHard.GetCurSel(); + pSt_AuthorizeCDKey->st_AuthRegInfo.enVModeType = (ENUM_VERIFICATION_MODULE_VERMODE_TYPE)m_ComboRegVer.GetCurSel(); //序列信息 CString m_StrSerialInfo; m_EditSerialTimeCount.GetWindowText(m_StrSerialInfo); @@ -229,7 +234,7 @@ bool CDialog_CDKey::Dialog_CDKey_Read(XENGINE_AUTHORIZE_LOCAL* pSt_AuthorizeCDKe strcpy(pSt_AuthorizeCDKey->st_AuthUserInfo.tszCustom, W2A(m_StrUserInfo.GetBuffer())); return true; } -bool CDialog_CDKey::Dialog_CDKey_Write(XENGINE_AUTHORIZE_LOCAL* pSt_AuthorizeCDKey) +bool CDialog_CDKey::Dialog_CDKey_Write(VERIFICATION_XAUTHKEY* pSt_AuthorizeCDKey) { CString m_StrFormat; //网络信息 @@ -317,27 +322,18 @@ void CDialog_CDKey::OnBnClickedButton1() AfxMessageBox(_T("密码必须设置")); return; } - XENGINE_AUTHORIZE_LOCAL st_AuthorizeCDKey = {}; + VERIFICATION_XAUTHKEY st_AuthorizeCDKey = {}; Dialog_CDKey_Read(&st_AuthorizeCDKey); CFileDialog m_FileDlg(false, _T(".key"),_T("CDKey"), OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, _T("CDKey文件(*.key)|*.key|")); if (IDOK == m_FileDlg.DoModal()) { - int nMSGLen = 0; - XCHAR tszDEBuffer[4096] = {}; - XBYTE tszENBuffer[4096] = {}; - Authorize_CDKey_WriteMemory(tszDEBuffer, &nMSGLen, &st_AuthorizeCDKey); - USES_CONVERSION; - Cryption_XCrypto_Encoder(tszDEBuffer, &nMSGLen, tszENBuffer, W2A(m_StrPass.GetBuffer())); - FILE* pSt_File = _tfopen(m_FileDlg.GetPathName(), _T("wb")); - if (NULL == pSt_File) + if (!Verification_XAuthKey_FileWrite(&st_AuthorizeCDKey, W2A(m_FileDlg.GetPathName()), W2A(m_StrPass.GetBuffer()))) { AfxMessageBox(_T("创建CDKEY文件失败")); return; } - fwrite(tszENBuffer, 1, nMSGLen, pSt_File); - fclose(pSt_File); } } @@ -351,27 +347,13 @@ void CDialog_CDKey::OnBnClickedButton9() AfxMessageBox(_T("密码必须设置")); return; } - XENGINE_AUTHORIZE_LOCAL st_AuthorizeCDKey = {}; + VERIFICATION_XAUTHKEY st_AuthorizeCDKey = {}; CFileDialog m_FileDlg(true, _T(".key"), _T("CDKey"), OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, _T("CDKey文件(*.key)|*.key|")); if (IDOK == m_FileDlg.DoModal()) { - int nMSGLen = 0; - XCHAR tszDEBuffer[4096] = {}; - XCHAR tszENBuffer[4096] = {}; - - FILE* pSt_File = _tfopen(m_FileDlg.GetPathName(), _T("rb")); - nMSGLen = fread(tszENBuffer, 1, sizeof(tszENBuffer), pSt_File); - fclose(pSt_File); - USES_CONVERSION; - if (!Cryption_XCrypto_Decoder(tszENBuffer, &nMSGLen, tszDEBuffer, W2A(m_StrPass.GetBuffer()))) - { - AfxMessageBox(_T("解密CDKEY失败")); - return; - } - - if (!Authorize_CDKey_ReadMemory(tszDEBuffer, nMSGLen, &st_AuthorizeCDKey)) + if (!Verification_XAuthKey_FileRead(&st_AuthorizeCDKey, W2A(m_FileDlg.GetPathName()), W2A(m_StrPass.GetBuffer()))) { AfxMessageBox(_T("CDKEY读取失败")); return; @@ -397,7 +379,7 @@ void CDialog_CDKey::OnBnClickedButton11() AfxMessageBox(_T("没有打开要授权的文件")); return; } - XENGINE_AUTHORIZE_LOCAL st_AuthorizeCDKey = {}; + VERIFICATION_XAUTHKEY st_AuthorizeCDKey = {}; Dialog_CDKey_Read(&st_AuthorizeCDKey); CString m_StrLeftTime; @@ -405,14 +387,14 @@ void CDialog_CDKey::OnBnClickedButton11() if (3 == m_ComboRegSerial.GetCurSel()) { - Authorize_CDKey_BuildKeyTime(&st_AuthorizeCDKey, _ttoi64(m_StrLeftTime.GetBuffer())); + //Authorize_CDKey_BuildKeyTime(&st_AuthorizeCDKey, _ttoi64(m_StrLeftTime.GetBuffer())); } else if (4 == m_ComboRegSerial.GetCurSel()) { XENGINE_LIBTIME st_LibTime = {}; USES_CONVERSION; BaseLib_Time_StrToTime(W2A(m_StrLeftTime.GetBuffer()), &st_LibTime); - Authorize_CDKey_BuildKeyTime(&st_AuthorizeCDKey, 0, &st_LibTime); + //Authorize_CDKey_BuildKeyTime(&st_AuthorizeCDKey, 0, &st_LibTime); } else { @@ -430,15 +412,8 @@ void CDialog_CDKey::OnBnClickedButton11() CFileDialog m_FileDlg(false, _T(".key"), _T("CDKey"), OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, _T("CDKey文件(*.key)|*.key|")); if (IDOK == m_FileDlg.DoModal()) { - int nMSGLen = 0; - XCHAR tszDEBuffer[4096] = {}; - XBYTE tszENBuffer[4096] = {}; - Authorize_CDKey_WriteMemory(tszDEBuffer, &nMSGLen, &st_AuthorizeCDKey); USES_CONVERSION; - Cryption_XCrypto_Encoder(tszDEBuffer, &nMSGLen, tszENBuffer, W2A(m_StrPass.GetBuffer())); - FILE* pSt_File = _tfopen(m_FileDlg.GetPathName(), _T("wb")); - fwrite(tszENBuffer, 1, nMSGLen, pSt_File); - fclose(pSt_File); + Verification_XAuthKey_FileWrite(&st_AuthorizeCDKey, W2A(m_FileDlg.GetPathName()), W2A(m_StrPass.GetBuffer())); } AfxMessageBox(_T("授权CDKEY成功")); } diff --git a/XEngine_Source/XEngine_APPService/XEngine_AuthorizeApp/Authorize_Dialog/Dialog_CDKey.h b/XEngine_Source/XEngine_APPService/XEngine_AuthorizeApp/Authorize_Dialog/Dialog_CDKey.h index 89c5dbf2..aa30b292 100644 --- a/XEngine_Source/XEngine_APPService/XEngine_AuthorizeApp/Authorize_Dialog/Dialog_CDKey.h +++ b/XEngine_Source/XEngine_APPService/XEngine_AuthorizeApp/Authorize_Dialog/Dialog_CDKey.h @@ -24,8 +24,8 @@ class CDialog_CDKey : public CDialogEx public: bool bOPenCDKey = false; bool Dialog_CDKey_Init(); - bool Dialog_CDKey_Read(XENGINE_AUTHORIZE_LOCAL* pSt_AuthorizeCDKey); - bool Dialog_CDKey_Write(XENGINE_AUTHORIZE_LOCAL* pSt_AuthorizeCDKey); + bool Dialog_CDKey_Read(VERIFICATION_XAUTHKEY* pSt_AuthorizeCDKey); + bool Dialog_CDKey_Write(VERIFICATION_XAUTHKEY* pSt_AuthorizeCDKey); public: virtual BOOL OnInitDialog(); afx_msg void OnBnClickedButton1(); diff --git a/XEngine_Source/XEngine_APPService/XEngine_AuthorizeApp/Authorize_Dialog/Dialog_Modify.cpp b/XEngine_Source/XEngine_APPService/XEngine_AuthorizeApp/Authorize_Dialog/Dialog_Modify.cpp index 8e2050e4..7a17f649 100644 --- a/XEngine_Source/XEngine_APPService/XEngine_AuthorizeApp/Authorize_Dialog/Dialog_Modify.cpp +++ b/XEngine_Source/XEngine_APPService/XEngine_AuthorizeApp/Authorize_Dialog/Dialog_Modify.cpp @@ -214,7 +214,7 @@ void CDialog_Modify::OnBnClickedButton2() m_EditLeftTime.GetWindowText(m_StrUserInfo); strcpy(st_UserTable.tszLeftTime, W2A(m_StrUserInfo.GetBuffer())); - st_UserTable.enSerialType = (ENUM_AUTHORIZE_MODULE_SERIAL_TYPE)m_ComboSerial.GetCurSel(); + st_UserTable.enSerialType = (ENUM_VERIFICATION_MODULE_SERIAL_TYPE)m_ComboSerial.GetCurSel(); st_UserTable.st_UserInfo.nUserLevel = m_ComboLeave.GetCurSel() - 1; Json::Value st_JsonRoot; diff --git a/XEngine_Source/XEngine_APPService/XEngine_AuthorizeApp/Authorize_Dialog/Dialog_Serial.cpp b/XEngine_Source/XEngine_APPService/XEngine_AuthorizeApp/Authorize_Dialog/Dialog_Serial.cpp index e95fec33..62243062 100644 --- a/XEngine_Source/XEngine_APPService/XEngine_AuthorizeApp/Authorize_Dialog/Dialog_Serial.cpp +++ b/XEngine_Source/XEngine_APPService/XEngine_AuthorizeApp/Authorize_Dialog/Dialog_Serial.cpp @@ -186,6 +186,11 @@ void CDialog_Serial::OnBnClickedButton1() void CDialog_Serial::OnBnClickedButton2() { // TODO: 在此添加控件通知处理程序代码 + if (m_ComboSerialType.GetCurSel() == ENUM_VERIFICATION_MODULE_SERIAL_TYPE_UNKNOW) + { + AfxMessageBox(_T("没有选择序列卡类型")); + return; + } CString m_StrIPAddr; CString m_StrIPPort; CString m_StrToken; @@ -202,20 +207,32 @@ void CDialog_Serial::OnBnClickedButton2() CString m_StrNumberCount; CString m_StrExpiredTime; Json::Value st_JsonRoot; + Json::Value st_JsonArray; Json::Value st_JsonObject; m_EditExpiredTime.GetWindowText(m_StrExpiredTime); m_EditHasTime.GetWindowText(m_StrHasTime); m_EditSerialCount.GetWindowText(m_StrSerialCount); m_ComboNumber.GetLBText(m_ComboNumber.GetCurSel(), m_StrNumberCount); - USES_CONVERSION; - st_JsonObject["enSerialType"] = m_ComboSerialType.GetCurSel(); - st_JsonObject["nNumberCount"] = _ttoi(m_StrNumberCount.GetBuffer()); - st_JsonObject["nSerialCount"] = _ttoi(m_StrSerialCount.GetBuffer()); - st_JsonObject["tszHasTime"] = W2A(m_StrHasTime.GetBuffer()); - st_JsonObject["tszExpiredTime"] = W2A(m_StrExpiredTime.GetBuffer()); - st_JsonRoot["st_SerialInfo"] = st_JsonObject; + XCHAR tszTimeStr[XPATH_MIN] = {}; + BaseLib_Time_TimeToStr(tszTimeStr); + for (int i = 0; i < _ttoi(m_StrSerialCount.GetBuffer()); i++) + { + Json::Value st_JsonObject; + XCHAR tszSerialStr[XPATH_MIN] = {}; + Verification_XAuthKey_KeySerial(tszSerialStr, _ttoi(m_StrNumberCount.GetBuffer()), 0); + + st_JsonObject["bIsUsed"] = false; + st_JsonObject["enSerialType"] = m_ComboSerialType.GetCurSel(); + st_JsonObject["tszCreateTime"] = tszTimeStr; + st_JsonObject["tszExpiredTime"] = W2A(m_StrExpiredTime.GetBuffer()); + st_JsonObject["tszMaxTime"] = W2A(m_StrHasTime.GetBuffer()); + st_JsonObject["tszSerialNumber"] = tszSerialStr; + st_JsonObject["tszUserName"] = "NOT"; + st_JsonArray.append(st_JsonObject); + } + st_JsonRoot["Array"] = st_JsonArray; st_JsonRoot["xhToken"] = _ttoll(m_StrToken.GetBuffer()); int nMsgLen = 0; @@ -475,7 +492,7 @@ void CDialog_Serial::OnBnClickedButton6() int nMsgLen = 0; XCHAR* ptszMsgBuffer = NULL; USES_CONVERSION; - _xstprintf(tszUrlAddr, _X("http://%s:%s/auth/serial/push"), W2A(m_StrIPAddr.GetBuffer()), W2A(m_StrIPPort.GetBuffer())); + _xstprintf(tszUrlAddr, _X("http://%s:%s/auth/serial/insert"), W2A(m_StrIPAddr.GetBuffer()), W2A(m_StrIPPort.GetBuffer())); //是否加密 TCHAR tszPassBuffer[64]; memset(tszPassBuffer, '\0', sizeof(tszPassBuffer)); diff --git a/XEngine_Source/XEngine_APPService/XEngine_AuthorizeApp/Authorize_Dialog/Dialog_Try.cpp b/XEngine_Source/XEngine_APPService/XEngine_AuthorizeApp/Authorize_Dialog/Dialog_Try.cpp index 7ae7440b..d7458843 100644 --- a/XEngine_Source/XEngine_APPService/XEngine_AuthorizeApp/Authorize_Dialog/Dialog_Try.cpp +++ b/XEngine_Source/XEngine_APPService/XEngine_AuthorizeApp/Authorize_Dialog/Dialog_Try.cpp @@ -328,7 +328,7 @@ void CDialog_Try::OnBnClickedButton3() m_EditDate.GetWindowText(m_StrDate); st_JsonObject["nID"] = _ttoi64(m_StrID.GetBuffer()); - st_JsonObject["enVMode"] = (ENUM_AUTHORIZE_MODULE_SERIAL_TYPE)m_ComboType.GetCurSel(); + st_JsonObject["enVMode"] = (ENUM_VERIFICATION_MODULE_SERIAL_TYPE)m_ComboType.GetCurSel(); st_JsonObject["nVTime"] = _ttoi(m_StrTime.GetBuffer()); st_JsonObject["nLTime"] = _ttoi(m_StrLeft.GetBuffer()); st_JsonObject["tszVSerial"] = W2A(m_StrSerail.GetBuffer()); diff --git a/XEngine_Source/XEngine_APPService/XEngine_AuthorizeApp/XEngineAuthorizeApp.rc b/XEngine_Source/XEngine_APPService/XEngine_AuthorizeApp/XEngineAuthorizeApp.rc index d1359813..fbb7a2ad 100644 Binary files a/XEngine_Source/XEngine_APPService/XEngine_AuthorizeApp/XEngineAuthorizeApp.rc and b/XEngine_Source/XEngine_APPService/XEngine_AuthorizeApp/XEngineAuthorizeApp.rc differ diff --git a/XEngine_Source/XEngine_APPService/XEngine_AuthorizeApp/pch.h b/XEngine_Source/XEngine_APPService/XEngine_AuthorizeApp/pch.h index 63e464fd..89ba10c2 100644 --- a/XEngine_Source/XEngine_APPService/XEngine_AuthorizeApp/pch.h +++ b/XEngine_Source/XEngine_APPService/XEngine_AuthorizeApp/pch.h @@ -24,14 +24,13 @@ using namespace std; #include #include #include -#include "../../XAuth_BuildSwitch.h" +#include "../../XEngine_DependLibrary/XEngine_Module/XEngine_Verification/Verification_Define.h" +#include "../../XEngine_DependLibrary/XEngine_Module/XEngine_Verification/Verification_Error.h" #include "../../XAuth_Protocol.h" #include "../../AuthorizeModule_Configure/Config_Define.h" #include "../../AuthorizeModule_Configure/Config_Error.h" #include "../../AuthorizeModule_Help/AuthHelp_Define.h" #include "../../AuthorizeModule_Help/AuthHelp_Error.h" -#include "../../AuthorizeModule_CDKey/CDKey_Define.h" -#include "../../AuthorizeModule_CDKey/CDKey_Error.h" #include "Authorize_Dialog/Dialog_Config.h" #include "Authorize_Dialog/Dialog_User.h" #include "Authorize_Dialog/Dialog_Serial.h" @@ -57,30 +56,30 @@ extern LPCTSTR lpszStuType[2]; #ifdef _DEBUG #ifdef _M_X64 #pragma comment(lib,"../../x64/Debug/jsoncpp") +#pragma comment(lib,"../../x64/Debug/XEngine_Verification") #pragma comment(lib,"../../x64/Debug/AuthorizeModule_Help") -#pragma comment(lib,"../../x64/Debug/AuthorizeModule_CDKey") #elif _M_ARM64 #pragma comment(lib,"../../ARM64/Debug/jsoncpp") +#pragma comment(lib,"../../ARM64/Debug/XEngine_Verification") #pragma comment(lib,"../../ARM64/Debug/AuthorizeModule_Help") -#pragma comment(lib,"../../ARM64/Debug/AuthorizeModule_CDKey") #elif _M_IX86 #pragma comment(lib,"../../Debug/jsoncpp") +#pragma comment(lib,"../../Debug/XEngine_Verification") #pragma comment(lib,"../../Debug/AuthorizeModule_Help") -#pragma comment(lib,"../../Debug/AuthorizeModule_CDKey") #endif #else #ifdef _M_X64 #pragma comment(lib,"../../x64/Release/jsoncpp") +#pragma comment(lib,"../../x64/Release/XEngine_Verification") #pragma comment(lib,"../../x64/Release/AuthorizeModule_Help") -#pragma comment(lib,"../../x64/Release/AuthorizeModule_CDKey") #elif _M_ARM64 #pragma comment(lib,"../../ARM64/Release/jsoncpp") +#pragma comment(lib,"../../ARM64/Release/XEngine_Verification") #pragma comment(lib,"../../ARM64/Release/AuthorizeModule_Help") -#pragma comment(lib,"../../ARM64/Release/AuthorizeModule_CDKey") #elif _M_IX86 #pragma comment(lib,"../../Release/jsoncpp") +#pragma comment(lib,"../../Release/XEngine_Verification") #pragma comment(lib,"../../Release/AuthorizeModule_Help") -#pragma comment(lib,"../../Release/AuthorizeModule_CDKey") #endif #endif #endif \ No newline at end of file diff --git a/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/AuthorizeHTTP_Post/AuthorizeHTTP_CDKey.cpp b/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/AuthorizeHTTP_Post/AuthorizeHTTP_CDKey.cpp index 35748817..c48bf28a 100644 --- a/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/AuthorizeHTTP_Post/AuthorizeHTTP_CDKey.cpp +++ b/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/AuthorizeHTTP_Post/AuthorizeHTTP_CDKey.cpp @@ -3,13 +3,11 @@ bool XEngine_AuthorizeHTTP_CDKey(LPCXSTR lpszClientAddr, LPCXSTR lpszAPIName, LPCXSTR lpszMsgBuffer, int nMsgLen) { int nSDLen = 0; - int nRVLen = 0; LPCXSTR lpszAPICreate = _X("create"); LPCXSTR lpszAPIAuth = _X("auth"); LPCXSTR lpszAPIVer = _X("ver"); CHttpMemory_PoolEx m_MemoryPoolSend(XENGINE_MEMORY_SIZE_MAX); - CHttpMemory_PoolEx m_MemoryPoolRecv(XENGINE_MEMORY_SIZE_MAX); if (!st_FunSwitch.bSwitchCDKey) { Protocol_Packet_HttpComm(m_MemoryPoolSend.get(), &nSDLen, ERROR_AUTHORIZE_PROTOCOL_CLOSED, "the function is closed"); @@ -19,90 +17,67 @@ bool XEngine_AuthorizeHTTP_CDKey(LPCXSTR lpszClientAddr, LPCXSTR lpszAPIName, LP } if (0 == _tcsxnicmp(lpszAPICreate, lpszAPIName, _tcsxlen(lpszAPICreate))) { - XENGINE_AUTHORIZE_LOCAL st_Authorize; - memset(&st_Authorize, '\0', sizeof(XENGINE_AUTHORIZE_LOCAL)); + VERIFICATION_XAUTHKEY st_Authorize = {}; - Protocol_Parse_HttpParseCDKey(lpszMsgBuffer, nMsgLen, &st_Authorize); - - if (_tcsxlen(st_Authorize.st_AuthSerial.st_TimeLimit.tszTimeSerial) <= 0) - { - int nSerialCount = 3; - XCHAR** pptszSerialList; - Authorize_Serial_Create(&pptszSerialList, _X("XAUTH"), nSerialCount, 9); - - st_Authorize.st_AuthSerial.st_TimeLimit.nTimeCount = 9999; - _tcsxcpy(st_Authorize.st_AuthSerial.st_TimeLimit.tszTimeSerial, pptszSerialList[0]); - - st_Authorize.st_AuthSerial.st_DataLimit.bTimeAdd = false; - _tcsxcpy(st_Authorize.st_AuthSerial.st_DataLimit.tszDataSerial, pptszSerialList[1]); - XCHAR tszTimeStr[128] = {}; - XENGINE_LIBTIME st_LibTime = {}; - BaseLib_Time_GetSysTime(&st_LibTime); - st_LibTime.wYear += 1; //一年后过期 - BaseLib_Time_TimeToStr(tszTimeStr, NULL, true, &st_LibTime); - - _tcsxcpy(st_Authorize.st_AuthSerial.st_DataLimit.tszDataTime, tszTimeStr); - - _tcsxcpy(st_Authorize.st_AuthSerial.st_UNLimit.tszUNLimitSerial, pptszSerialList[2]); - BaseLib_Memory_Free((XPPPMEM)&pptszSerialList, nSerialCount); - } - - if (!Authorize_CDKey_WriteMemory(m_MemoryPoolRecv.get(), &nRVLen, &st_Authorize)) + Verification_XAuthKey_KeyInit(&st_Authorize); + if (!Verification_XAuthKey_MemoryWrite(&st_Authorize, m_MemoryPoolSend.get(), &nSDLen)) { Protocol_Packet_HttpComm(m_MemoryPoolSend.get(), &nSDLen, ERROR_AUTHORIZE_PROTOCOL_SERVER, "Not Acceptable,write key failed"); XEngine_Client_TaskSend(lpszClientAddr, m_MemoryPoolSend.get(), nSDLen, XENGINE_AUTH_APP_NETTYPE_HTTP); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_WARN, _X("HTTP客户端:%s,请求创建CDKEY协议失败,服务器内部错误:%lX"), lpszClientAddr, Authorize_GetLastError()); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,请求创建CDKEY协议失败,读取CDKEY失败:%lX"), lpszClientAddr, Verification_GetLastError()); return false; } - XEngine_Client_TaskSend(lpszClientAddr, m_MemoryPoolRecv.get(), nRVLen, XENGINE_AUTH_APP_NETTYPE_HTTP); + XEngine_Client_TaskSend(lpszClientAddr, m_MemoryPoolSend.get(), nSDLen, XENGINE_AUTH_APP_NETTYPE_HTTP); XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_WARN, _X("HTTP客户端:%s,请求创建CDKEY成功,APP名:%s,APP版本:%s"), lpszClientAddr, st_Authorize.st_AuthAppInfo.tszAppName, st_Authorize.st_AuthAppInfo.tszAppVer); } else if (0 == _tcsxnicmp(lpszAPIAuth, lpszAPIName, _tcsxlen(lpszAPIAuth))) { - XENGINE_AUTHORIZE_LOCAL st_Authorize; - memset(&st_Authorize, '\0', sizeof(XENGINE_AUTHORIZE_LOCAL)); - - Authorize_CDKey_ReadMemory(lpszMsgBuffer, nMsgLen, &st_Authorize); - //授权 - if (ENUM_AUTHORIZE_MODULE_SERIAL_TYPE_CUSTOM == st_Authorize.st_AuthRegInfo.enSerialType) + VERIFICATION_XAUTHKEY st_Authorize = {}; + if (!Verification_XAuthKey_MemoryRead(&st_Authorize, lpszMsgBuffer, nMsgLen)) { - XENGINE_LIBTIME st_LibTime; - memset(&st_LibTime, '\0', sizeof(XENGINE_LIBTIME)); - - BaseLib_Time_StrToTime(st_Authorize.st_AuthRegInfo.tszLeftTime, &st_LibTime); - Authorize_CDKey_BuildKeyTime(&st_Authorize, 0, &st_LibTime); + Protocol_Packet_HttpComm(m_MemoryPoolSend.get(), &nSDLen, ERROR_AUTHORIZE_PROTOCOL_CDKEY, "Not Acceptable,read key failed"); + XEngine_Client_TaskSend(lpszClientAddr, m_MemoryPoolSend.get(), nSDLen, XENGINE_AUTH_APP_NETTYPE_HTTP); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,请求创建授权CDKEY协议失败,读取CDKEY失败:%lX"), lpszClientAddr, Verification_GetLastError()); + return false; } - else + //授权 + if (!Verification_XAuthKey_UserRegister(&st_Authorize, st_Authorize.st_AuthSerial.st_TimeLimit.tszTimeSerial)) { - Authorize_CDKey_BuildKeyTime(&st_Authorize, _ttxoll(st_Authorize.st_AuthRegInfo.tszLeftTime)); + Protocol_Packet_HttpComm(m_MemoryPoolSend.get(), &nSDLen, ERROR_AUTHORIZE_PROTOCOL_SERVER, "Not Acceptable,read key failed"); + XEngine_Client_TaskSend(lpszClientAddr, m_MemoryPoolSend.get(), nSDLen, XENGINE_AUTH_APP_NETTYPE_HTTP); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,请求创建授权CDKEY协议失败,读取CDKEY失败:%lX"), lpszClientAddr, Verification_GetLastError()); + return false; } - Authorize_CDKey_WriteMemory(m_MemoryPoolRecv.get(), &nRVLen, &st_Authorize); - XEngine_Client_TaskSend(lpszClientAddr, m_MemoryPoolRecv.get(), nRVLen, XENGINE_AUTH_APP_NETTYPE_HTTP); + Verification_XAuthKey_MemoryWrite(&st_Authorize, m_MemoryPoolSend.get(), &nSDLen); + XEngine_Client_TaskSend(lpszClientAddr, m_MemoryPoolSend.get(), nSDLen, XENGINE_AUTH_APP_NETTYPE_HTTP); XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_WARN, _X("HTTP客户端:%s,请求授权CDKEY成功,APP名:%s,APP版本:%s,授权期限:%s"), lpszClientAddr, st_Authorize.st_AuthAppInfo.tszAppName, st_Authorize.st_AuthAppInfo.tszAppVer, st_Authorize.st_AuthRegInfo.tszLeftTime); } else if (0 == _tcsxnicmp(lpszAPIVer, lpszAPIName, _tcsxlen(lpszAPIVer))) { - XENGINE_AUTHORIZE_LOCAL st_Authorize; - memset(&st_Authorize, '\0', sizeof(XENGINE_AUTHORIZE_LOCAL)); - - Authorize_CDKey_ReadMemory(lpszMsgBuffer, nMsgLen, &st_Authorize); - - if (ENUM_AUTHORIZE_MODULE_VERMODE_TYPE_NETWORK != st_Authorize.st_AuthRegInfo.enVModeType) + VERIFICATION_XAUTHKEY st_Authorize = {}; + if (!Verification_XAuthKey_MemoryRead(&st_Authorize, lpszMsgBuffer, nMsgLen)) + { + Protocol_Packet_HttpComm(m_MemoryPoolSend.get(), &nSDLen, ERROR_AUTHORIZE_PROTOCOL_CDKEY, "Not Acceptable,read key failed"); + XEngine_Client_TaskSend(lpszClientAddr, m_MemoryPoolSend.get(), nSDLen, XENGINE_AUTH_APP_NETTYPE_HTTP); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,请求创建授权CDKEY协议失败,读取CDKEY失败:%lX"), lpszClientAddr, Verification_GetLastError()); + return false; + } + if (ENUM_VERIFICATION_MODULE_VERMODE_TYPE_NETWORK != st_Authorize.st_AuthRegInfo.enVModeType) { Protocol_Packet_HttpComm(m_MemoryPoolSend.get(), &nSDLen, ERROR_AUTHORIZE_PROTOCOL_UNAUTHORIZE, "unsupport,cdkey is not authorized"); XEngine_Client_TaskSend(lpszClientAddr, m_MemoryPoolSend.get(), nSDLen, XENGINE_AUTH_APP_NETTYPE_HTTP); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_WARN, _X("HTTP客户端:%s,请求验证CDKEY失败,cdkey未授权或者已超时,错误:%lX"), lpszClientAddr, Authorize_GetLastError()); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,请求验证CDKEY失败,cdkey未授权或者已超时,错误:%lX"), lpszClientAddr, Verification_GetLastError()); return false; } - if (!Authorize_CDKey_GetLeftTimer(&st_Authorize)) + if (!Verification_XAuthKey_KeyParse(&st_Authorize)) { Protocol_Packet_HttpComm(m_MemoryPoolSend.get(), &nSDLen, ERROR_AUTHORIZE_PROTOCOL_UNAUTHORIZE, "Unauthorized,cdkey is not authorized"); XEngine_Client_TaskSend(lpszClientAddr, m_MemoryPoolSend.get(), nSDLen, XENGINE_AUTH_APP_NETTYPE_HTTP); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_WARN, _X("HTTP客户端:%s,请求验证CDKEY失败,cdkey未授权或者已超时,错误:%lX"), lpszClientAddr, Authorize_GetLastError()); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,请求验证CDKEY失败,cdkey未授权或者已超时,错误:%lX"), lpszClientAddr, Verification_GetLastError()); return false; } - Authorize_CDKey_WriteMemory(m_MemoryPoolRecv.get(), &nRVLen, &st_Authorize); - XEngine_Client_TaskSend(lpszClientAddr, m_MemoryPoolRecv.get(), nRVLen, XENGINE_AUTH_APP_NETTYPE_HTTP); + Verification_XAuthKey_MemoryWrite(&st_Authorize, m_MemoryPoolSend.get(), &nSDLen); + XEngine_Client_TaskSend(lpszClientAddr, m_MemoryPoolSend.get(), nSDLen, XENGINE_AUTH_APP_NETTYPE_HTTP); XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_WARN, _X("HTTP客户端:%s,请求验证CDKEY成功,APP名:%s,APP版本:%s,授权期限:%s"), lpszClientAddr, st_Authorize.st_AuthAppInfo.tszAppName, st_Authorize.st_AuthAppInfo.tszAppVer, st_Authorize.st_AuthRegInfo.tszLeftTime); } else diff --git a/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/AuthorizeHTTP_Post/AuthorizeHTTP_Pass.cpp b/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/AuthorizeHTTP_Post/AuthorizeHTTP_Pass.cpp index 244dcf8e..69646fa8 100644 --- a/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/AuthorizeHTTP_Post/AuthorizeHTTP_Pass.cpp +++ b/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/AuthorizeHTTP_Post/AuthorizeHTTP_Pass.cpp @@ -12,10 +12,10 @@ bool XEngine_AuthorizeHTTP_Pass(LPCXSTR lpszClientAddr, LPCXSTR lpszAPIName, LPC if (0 == _tcsxnicmp(lpszAPIName, lpszAPILogin, _tcsxlen(lpszAPIName))) { - AUTHORIZE_PROTOCOL_USERAUTHEX st_UserAuth; + XENGINE_PROTOCOL_USERAUTHEX st_UserAuth; AUTHREG_USERTABLE st_UserTable; - memset(&st_UserAuth, '\0', sizeof(AUTHORIZE_PROTOCOL_USERAUTHEX)); + memset(&st_UserAuth, '\0', sizeof(XENGINE_PROTOCOL_USERAUTHEX)); memset(&st_UserTable, '\0', sizeof(AUTHREG_USERTABLE)); Protocol_Parse_HttpParseAuth(lpszMsgBuffer, nMsgLen, &st_UserAuth); diff --git a/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/AuthorizeHTTP_Post/AuthorizeHTTP_Serial.cpp b/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/AuthorizeHTTP_Post/AuthorizeHTTP_Serial.cpp index 9bb881b0..2c821365 100644 --- a/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/AuthorizeHTTP_Post/AuthorizeHTTP_Serial.cpp +++ b/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/AuthorizeHTTP_Post/AuthorizeHTTP_Serial.cpp @@ -6,7 +6,6 @@ bool XEngine_AuthorizeHTTP_Serial(LPCXSTR lpszClientAddr, LPCXSTR lpszAPIName, L LPCXSTR lpszAPIList = _X("list"); LPCXSTR lpszAPIInsert = _X("insert"); LPCXSTR lpszAPIDelete = _X("delete"); - LPCXSTR lpszAPIPush = _X("push"); CHttpMemory_PoolEx m_MemoryPool(XENGINE_MEMORY_SIZE_MAX); if (0 == _tcsxnicmp(lpszAPIList, lpszAPIName, _tcsxlen(lpszAPIList))) @@ -45,76 +44,6 @@ bool XEngine_AuthorizeHTTP_Serial(LPCXSTR lpszClientAddr, LPCXSTR lpszAPIName, L ptszMsgBuffer = NULL; XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("HTTP客户端:%s,请求序列号列表成功,个数:%d"), lpszClientAddr, nListCount); } - else if (0 == _tcsxnicmp(lpszAPIInsert, lpszAPIName, _tcsxlen(lpszAPIInsert))) - { - int nNumberCount = 0; - int nSerialCount = 0; - XCHAR tszHasTime[128] = {}; - XCHAR tszExpiredTime[128] = {}; - XENGINE_LIBTIME st_AuthTimer = {}; - ENUM_AUTHORIZE_MODULE_SERIAL_TYPE enSerialType = {}; - - Protocol_Parse_HttpParseSerial2(lpszMsgBuffer, nMsgLen, &enSerialType, &nNumberCount, &nSerialCount, tszHasTime, tszExpiredTime); - //解析类型 - if (ENUM_AUTHORIZE_MODULE_SERIAL_TYPE_SECOND == enSerialType) - { - st_AuthTimer.wSecond = _ttxoi(tszHasTime); - } - else if (ENUM_AUTHORIZE_MODULE_SERIAL_TYPE_DAY == enSerialType) - { - st_AuthTimer.wDay = _ttxoi(tszHasTime); - } - else if (ENUM_AUTHORIZE_MODULE_SERIAL_TYPE_TIME == enSerialType) - { - st_AuthTimer.wFlags = _ttxoi(tszHasTime); - } - else if (ENUM_AUTHORIZE_MODULE_SERIAL_TYPE_CUSTOM == enSerialType) - { - if (6 != _stxscanf(tszHasTime, _X("%04d-%02d-%02d %02d:%02d:%02d"), &st_AuthTimer.wYear, &st_AuthTimer.wMonth, &st_AuthTimer.wDay, &st_AuthTimer.wHour, &st_AuthTimer.wMinute, &st_AuthTimer.wSecond)) - { - Protocol_Packet_HttpComm(m_MemoryPool.get(), &nSDLen, ERROR_AUTHORIZE_PROTOCOL_REQUEST, "time request is failed"); - XEngine_Client_TaskSend(lpszClientAddr, m_MemoryPool.get(), nSDLen, XENGINE_AUTH_APP_NETTYPE_HTTP); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,请求插入序列卡失败,时间格式错误"), lpszClientAddr); - return false; - } - } - else - { - Protocol_Packet_HttpComm(m_MemoryPool.get(), &nSDLen, ERROR_AUTHORIZE_PROTOCOL_NOTSUPPORT, "not support serial types"); - XEngine_Client_TaskSend(lpszClientAddr, m_MemoryPool.get(), nSDLen, XENGINE_AUTH_APP_NETTYPE_HTTP); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,请求插入序列卡失败,不支持的类型格式:%d"), lpszClientAddr, enSerialType); - return false; - } - //生成卡 - XCHAR** pptszSerialNumber; - LPCXSTR lpszUserHdr = _X("XAUTH"); - if (!Authorize_Serial_Creator(&pptszSerialNumber, lpszUserHdr, nSerialCount, nNumberCount, &st_AuthTimer, enSerialType)) - { - Protocol_Packet_HttpComm(m_MemoryPool.get(), &nSDLen, ERROR_AUTHORIZE_PROTOCOL_SERVER, "Internal Server Error"); - XEngine_Client_TaskSend(lpszClientAddr, m_MemoryPool.get(), nSDLen, XENGINE_AUTH_APP_NETTYPE_HTTP); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,创建序列卡失败,错误码:%lX"), lpszClientAddr, Authorize_GetLastError()); - return false; - } - //导入序列卡 - if (0 == st_AuthConfig.st_XSql.nDBType) - { - for (int i = 0; i < nSerialCount; i++) //导入序列卡 - { - DBModule_SQLite_SerialInsert(pptszSerialNumber[i], tszExpiredTime); - } - } - else - { - for (int i = 0; i < nSerialCount; i++) - { - DBModule_MySQL_SerialInsert(pptszSerialNumber[i], tszExpiredTime); - } - } - BaseLib_Memory_Free((XPPPMEM)&pptszSerialNumber, nSerialCount); - Protocol_Packet_HttpComm(m_MemoryPool.get(), &nSDLen); - XEngine_Client_TaskSend(lpszClientAddr, m_MemoryPool.get(), nSDLen, XENGINE_AUTH_APP_NETTYPE_HTTP); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("HTTP客户端:%s,请求插入序列号成功,个数:%d"), lpszClientAddr, nSerialCount); - } else if (0 == _tcsxnicmp(lpszAPIDelete, lpszAPIName, _tcsxlen(lpszAPIDelete))) { int nListCount = 0; @@ -140,7 +69,7 @@ bool XEngine_AuthorizeHTTP_Serial(LPCXSTR lpszClientAddr, LPCXSTR lpszAPIName, L XEngine_Client_TaskSend(lpszClientAddr, m_MemoryPool.get(), nSDLen, XENGINE_AUTH_APP_NETTYPE_HTTP); XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("HTTP客户端:%s,请求删除序列号成功,删除个数:%d"), lpszClientAddr, nListCount); } - else if (0 == _tcsxnicmp(lpszAPIPush, lpszAPIName, _tcsxlen(lpszAPIPush))) + else if (0 == _tcsxnicmp(lpszAPIInsert, lpszAPIName, _tcsxlen(lpszAPIInsert))) { int nListCount = 0; AUTHREG_SERIALTABLE** ppSt_SerialTable; @@ -150,20 +79,20 @@ bool XEngine_AuthorizeHTTP_Serial(LPCXSTR lpszClientAddr, LPCXSTR lpszAPIName, L { for (int i = 0; i < nListCount; i++) { - DBModule_SQLite_SerialPush(ppSt_SerialTable[i]); + DBModule_SQLite_SerialInsert(ppSt_SerialTable[i]); } } else { for (int i = 0; i < nListCount; i++) { - DBModule_MySQL_SerialPush(ppSt_SerialTable[i]); + DBModule_SQLite_SerialInsert(ppSt_SerialTable[i]); } } BaseLib_Memory_Free((XPPPMEM)&ppSt_SerialTable, nListCount); Protocol_Packet_HttpComm(m_MemoryPool.get(), &nSDLen); XEngine_Client_TaskSend(lpszClientAddr, m_MemoryPool.get(), nSDLen, XENGINE_AUTH_APP_NETTYPE_HTTP); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("HTTP客户端:%s,请求推送自定义序列号成功,个数:%d"), lpszClientAddr, nListCount); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("HTTP客户端:%s,请求插入自定义序列号成功,个数:%d"), lpszClientAddr, nListCount); } return true; } \ No newline at end of file diff --git a/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/AuthorizeHTTP_Post/AuthorizeHTTP_User.cpp b/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/AuthorizeHTTP_Post/AuthorizeHTTP_User.cpp index ed41d86d..dc5ea388 100644 --- a/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/AuthorizeHTTP_Post/AuthorizeHTTP_User.cpp +++ b/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/AuthorizeHTTP_Post/AuthorizeHTTP_User.cpp @@ -109,10 +109,10 @@ bool XEngine_AuthorizeHTTP_User(XNETHANDLE xhToken, LPCXSTR lpszClientAddr, LPCX return false; } //填充写入数据 - if (ENUM_AUTHORIZE_MODULE_SERIAL_TYPE_UNKNOW == st_UserTable.enSerialType) + if (ENUM_VERIFICATION_MODULE_SERIAL_TYPE_UNKNOW == st_UserTable.enSerialType) { _xstprintf(st_UserTable.tszLeftTime, _X("%d"), st_AuthConfig.st_XVerification.nTryTime); - st_UserTable.enSerialType = (ENUM_AUTHORIZE_MODULE_SERIAL_TYPE)st_AuthConfig.st_XVerification.nTryMode; + st_UserTable.enSerialType = (ENUM_VERIFICATION_MODULE_SERIAL_TYPE)st_AuthConfig.st_XVerification.nTryMode; } //禁止权限0和1注册 if (st_UserTable.st_UserInfo.nUserLevel < 10) @@ -288,7 +288,7 @@ bool XEngine_AuthorizeHTTP_User(XNETHANDLE xhToken, LPCXSTR lpszClientAddr, LPCX return false; } - AUTHORIZE_PROTOCOL_USERAUTHEX st_AuthProtocol = {}; + XENGINE_PROTOCOL_USERAUTHEX st_AuthProtocol = {}; _tcsxcpy(st_AuthProtocol.tszUserName, st_UserTable.st_UserInfo.tszUserName); _tcsxcpy(st_AuthProtocol.tszUserPass, st_UserTable.st_UserInfo.tszUserPass); Protocol_Packet_HttpUserPass(tszSDBuffer, &nSDLen, &st_AuthProtocol); @@ -329,7 +329,7 @@ bool XEngine_AuthorizeHTTP_User(XNETHANDLE xhToken, LPCXSTR lpszClientAddr, LPCX { __int64x nTimeSpan = 0; //根据方式来计算剩余时间 - if (ENUM_AUTHORIZE_MODULE_SERIAL_TYPE_TIME == st_VERTemp.enVMode) + if (ENUM_VERIFICATION_MODULE_SERIAL_TYPE_TIME == st_VERTemp.enSerialType) { //次数卡需要更新才可以 st_VERTemp.nLTime--; @@ -366,7 +366,7 @@ bool XEngine_AuthorizeHTTP_User(XNETHANDLE xhToken, LPCXSTR lpszClientAddr, LPCX } Protocol_Packet_HttpComm(tszSDBuffer, &nSDLen); XEngine_Client_TaskSend(lpszClientAddr, tszSDBuffer, nSDLen, XENGINE_AUTH_APP_NETTYPE_HTTP); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("HTTP客户端:%s,序列号:%s,类型:%s,临时验证成功,剩余时间:%lld"), lpszClientAddr, st_VERTemp.tszVSerial, lpszXSerialType[st_VERTemp.enVMode], nTimeSpan); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("HTTP客户端:%s,序列号:%s,类型:%s,临时验证成功,剩余时间:%lld"), lpszClientAddr, st_VERTemp.tszVSerial, lpszXSerialType[st_VERTemp.enSerialType], nTimeSpan); } else { @@ -379,9 +379,9 @@ bool XEngine_AuthorizeHTTP_User(XNETHANDLE xhToken, LPCXSTR lpszClientAddr, LPCX { //填充写入数据 st_VERTemp.nVTime = st_AuthConfig.st_XVerification.nVerTime; - st_VERTemp.enVMode = (ENUM_AUTHORIZE_MODULE_SERIAL_TYPE)st_AuthConfig.st_XVerification.nVerMode; + st_VERTemp.enSerialType = (ENUM_VERIFICATION_MODULE_SERIAL_TYPE)st_AuthConfig.st_XVerification.nVerMode; //看下是否启用了此功能,不支持分钟,因为不登录 - if ((ENUM_AUTHORIZE_MODULE_SERIAL_TYPE_UNKNOW == st_VERTemp.enVMode) || (ENUM_AUTHORIZE_MODULE_SERIAL_TYPE_SECOND == st_VERTemp.enVMode) || (st_VERTemp.nVTime <= 0)) + if ((ENUM_VERIFICATION_MODULE_SERIAL_TYPE_UNKNOW == st_VERTemp.enSerialType) || (ENUM_VERIFICATION_MODULE_SERIAL_TYPE_SECOND == st_VERTemp.enSerialType) || (st_VERTemp.nVTime <= 0)) { Protocol_Packet_HttpComm(tszSDBuffer, &nSDLen, ERROR_AUTHORIZE_PROTOCOL_CLOSED, "the function server unavailable"); XEngine_Client_TaskSend(lpszClientAddr, tszSDBuffer, nSDLen, XENGINE_AUTH_APP_NETTYPE_HTTP); diff --git a/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/Authorize_Hdr.h b/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/Authorize_Hdr.h index c7a1964e..44ced793 100644 --- a/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/Authorize_Hdr.h +++ b/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/Authorize_Hdr.h @@ -3,11 +3,13 @@ #include #include #include +#include #include #else #include #include #include +#include #endif #include #include @@ -44,7 +46,10 @@ using namespace std; #include #include #include -#include "../../XAuth_BuildSwitch.h" +#include "../../XEngine_DependLibrary/XEngine_Module/XEngine_InfoReport/InfoReport_Define.h" +#include "../../XEngine_DependLibrary/XEngine_Module/XEngine_InfoReport/InfoReport_Error.h" +#include "../../XEngine_DependLibrary/XEngine_Module/XEngine_Verification/Verification_Define.h" +#include "../../XEngine_DependLibrary/XEngine_Module/XEngine_Verification/Verification_Error.h" #include "../../XAuth_Protocol.h" #include "../../AuthorizeModule_Configure/Config_Define.h" #include "../../AuthorizeModule_Configure/Config_Error.h" @@ -56,12 +61,6 @@ using namespace std; #include "../../AuthorizeModule_Protocol/Protocol_Error.h" #include "../../AuthorizeModule_Help/AuthHelp_Define.h" #include "../../AuthorizeModule_Help/AuthHelp_Error.h" -#include "../../AuthorizeModule_CDKey/CDKey_Define.h" -#include "../../AuthorizeModule_CDKey/CDKey_Error.h" -#include "../../XEngine_DependLibrary/XEngine_Module/XEngine_InfoReport/InfoReport_Define.h" -#include "../../XEngine_DependLibrary/XEngine_Module/XEngine_InfoReport/InfoReport_Error.h" -#include "../../XEngine_DependLibrary/XEngine_Module/XEngine_Verification/Verification_Define.h" -#include "../../XEngine_DependLibrary/XEngine_Module/XEngine_Verification/Verification_Error.h" extern bool bIsRun; extern bool bIsTest; @@ -129,7 +128,6 @@ extern XENGINE_FUNCTIONSWITCH st_FunSwitch; #pragma comment(lib,"../../x64/Debug/AuthorizeModule_Session.lib") #pragma comment(lib,"../../x64/Debug/AuthorizeModule_Database.lib") #pragma comment(lib,"../../x64/Debug/AuthorizeModule_Help.lib") -#pragma comment(lib,"../../x64/Debug/AuthorizeModule_CDKey.lib") #pragma comment(lib,"../../x64/Debug/XEngine_InfoReport.lib") #pragma comment(lib,"../../x64/Debug/XEngine_Verification.lib") #elif _M_ARM64 @@ -138,7 +136,6 @@ extern XENGINE_FUNCTIONSWITCH st_FunSwitch; #pragma comment(lib,"../../ARM64/Debug/AuthorizeModule_Session.lib") #pragma comment(lib,"../../ARM64/Debug/AuthorizeModule_Database.lib") #pragma comment(lib,"../../ARM64/Debug/AuthorizeModule_Help.lib") -#pragma comment(lib,"../../ARM64/Debug/AuthorizeModule_CDKey.lib") #pragma comment(lib,"../../ARM64/Debug/XEngine_InfoReport.lib") #pragma comment(lib,"../../ARM64/Debug/XEngine_Verification.lib") #elif _M_IX86 @@ -147,7 +144,6 @@ extern XENGINE_FUNCTIONSWITCH st_FunSwitch; #pragma comment(lib,"../../Debug/AuthorizeModule_Session.lib") #pragma comment(lib,"../../Debug/AuthorizeModule_Database.lib") #pragma comment(lib,"../../Debug/AuthorizeModule_Help.lib") -#pragma comment(lib,"../../Debug/AuthorizeModule_CDKey.lib") #pragma comment(lib,"../../Debug/XEngine_InfoReport.lib") #pragma comment(lib,"../../Debug/XEngine_Verification.lib") #endif @@ -158,7 +154,6 @@ extern XENGINE_FUNCTIONSWITCH st_FunSwitch; #pragma comment(lib,"../../x64/Release/AuthorizeModule_Session.lib") #pragma comment(lib,"../../x64/Release/AuthorizeModule_Database.lib") #pragma comment(lib,"../../x64/Release/AuthorizeModule_Help.lib") -#pragma comment(lib,"../../x64/Release/AuthorizeModule_CDKey.lib") #pragma comment(lib,"../../x64/Release/XEngine_InfoReport.lib") #pragma comment(lib,"../../x64/Release/XEngine_Verification.lib") #elif _M_ARM64 @@ -167,7 +162,6 @@ extern XENGINE_FUNCTIONSWITCH st_FunSwitch; #pragma comment(lib,"../../ARM64/Release/AuthorizeModule_Session.lib") #pragma comment(lib,"../../ARM64/Release/AuthorizeModule_Database.lib") #pragma comment(lib,"../../ARM64/Release/AuthorizeModule_Help.lib") -#pragma comment(lib,"../../ARM64/Release/AuthorizeModule_CDKey.lib") #pragma comment(lib,"../../ARM64/Release/XEngine_InfoReport.lib") #pragma comment(lib,"../../ARM64/Release/XEngine_Verification.lib") #elif _M_IX86 @@ -176,7 +170,6 @@ extern XENGINE_FUNCTIONSWITCH st_FunSwitch; #pragma comment(lib,"../../Release/AuthorizeModule_Session.lib") #pragma comment(lib,"../../Release/AuthorizeModule_Database.lib") #pragma comment(lib,"../../Release/AuthorizeModule_Help.lib") -#pragma comment(lib,"../../Release/AuthorizeModule_CDKey.lib") #pragma comment(lib,"../../Release/XEngine_InfoReport.lib") #pragma comment(lib,"../../Release/XEngine_Verification.lib") #endif diff --git a/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/Authorize_HttpTask.cpp b/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/Authorize_HttpTask.cpp index 0f47080a..d09675db 100644 --- a/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/Authorize_HttpTask.cpp +++ b/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/Authorize_HttpTask.cpp @@ -89,6 +89,7 @@ bool XEngine_Client_HttpTask(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, int st_HDRParam.nHttpCode = 401; st_HDRParam.bIsClose = true; + st_HDRParam.bAuth = true; //打包验证信息 int nHDRLen = 0; XCHAR tszHDRBuffer[XPATH_MAX] = {}; @@ -128,6 +129,7 @@ bool XEngine_Client_HttpTask(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, int XCHAR* ptszMSGBuffer = NULL; if (!APIClient_Http_Request(_X("GET"), st_AuthConfig.st_XApiVer.tszAPIUrl, NULL, &nHTTPCode, &ptszMSGBuffer, &nMSGLen, NULL, NULL, &st_APIHttp)) { + st_HDRParam.nHttpCode = 500; Protocol_Packet_HttpComm(tszSDBuffer, &nSDLen, ERROR_AUTHORIZE_PROTOCOL_UNAUTHORIZE, "api server is down,cant verification"); XEngine_Client_TaskSend(lpszClientAddr, tszSDBuffer, nSDLen, XENGINE_AUTH_APP_NETTYPE_HTTP); XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,用户验证失败,GET请求验证服务:%s 失败,错误码:%lX"), lpszClientAddr, st_AuthConfig.st_XApiVer.tszAPIUrl, APIClient_GetLastError()); @@ -135,14 +137,16 @@ bool XEngine_Client_HttpTask(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, int } if (200 != nHTTPCode) { + st_HDRParam.nHttpCode = 500; Protocol_Packet_HttpComm(tszSDBuffer, &nSDLen, ERROR_AUTHORIZE_PROTOCOL_UNAUTHORIZE, "api server is down,cant verification"); XEngine_Client_TaskSend(lpszClientAddr, tszSDBuffer, nSDLen, XENGINE_AUTH_APP_NETTYPE_HTTP); XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,用户验证失败,GET请求验证服务:%s 失败,错误:%d"), lpszClientAddr, st_AuthConfig.st_XApiVer.tszAPIUrl, nHTTPCode); return false; } - AUTHORIZE_PROTOCOL_USERAUTHEX st_UserAuth = {}; + XENGINE_PROTOCOL_USERAUTHEX st_UserAuth = {}; if (!Protocol_Parse_HttpParseAuth(ptszMSGBuffer, nMsgLen, &st_UserAuth)) { + st_HDRParam.nHttpCode = 500; Protocol_Packet_HttpComm(tszSDBuffer, &nSDLen, ERROR_AUTHORIZE_PROTOCOL_UNAUTHORIZE, "api server reply failure,cant verification"); XEngine_Client_TaskSend(lpszClientAddr, tszSDBuffer, nSDLen, XENGINE_AUTH_APP_NETTYPE_HTTP); XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,用户验证失败,返回内容:%s 错误,无法继续"), lpszClientAddr, ptszMSGBuffer); @@ -211,8 +215,7 @@ bool XEngine_Client_HttpTask(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, int XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,请求的API:%s 不支持"), lpszClientAddr, pSt_HTTPParament->tszHttpUri); return false; } - AUTHREG_USERTABLE st_UserTable; - memset(&st_UserTable, '\0', sizeof(AUTHREG_USERTABLE)); + AUTHREG_USERTABLE st_UserTable = {}; //得到TOKEN if (Protocol_Parse_HttpParseToken(lpszMsgBuffer, nMsgLen, &xhToken)) { diff --git a/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/Authorize_TCPTask.cpp b/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/Authorize_TCPTask.cpp index 3ddbfd28..a64bc615 100644 --- a/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/Authorize_TCPTask.cpp +++ b/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/Authorize_TCPTask.cpp @@ -73,17 +73,17 @@ bool XEngine_Client_TCPTask(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, int n else if (XENGINE_COMMUNICATION_PROTOCOL_OPERATOR_CODE_AUTH_REQLOGIN == pSt_ProtocolHdr->unOperatorCode) { AUTHREG_USERTABLE st_UserTable; - AUTHORIZE_PROTOCOL_USERAUTHEX st_AuthProtocol; + XENGINE_PROTOCOL_USERAUTHEX st_AuthProtocol; memset(&st_UserTable, '\0', sizeof(AUTHREG_USERTABLE)); - memset(&st_AuthProtocol, '\0', sizeof(AUTHORIZE_PROTOCOL_USERAUTHEX)); + memset(&st_AuthProtocol, '\0', sizeof(XENGINE_PROTOCOL_USERAUTHEX)); if (nMsgLen == sizeof(XENGINE_PROTOCOL_USERAUTH)) { memcpy(&st_AuthProtocol, lpszMsgBuffer, sizeof(XENGINE_PROTOCOL_USERAUTH)); } else { - memcpy(&st_AuthProtocol, lpszMsgBuffer, sizeof(AUTHORIZE_PROTOCOL_USERAUTHEX)); + memcpy(&st_AuthProtocol, lpszMsgBuffer, sizeof(XENGINE_PROTOCOL_USERAUTHEX)); } _tcsxcpy(st_Banned.tszIPAddr, lpszClientAddr); _tcsxcpy(st_Banned.tszUserName, st_AuthProtocol.tszUserName); @@ -277,28 +277,28 @@ bool XEngine_Client_TCPTask(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, int n //对多端登录的类型进行验证 if (bLogin && st_FunSwitch.bSwitchMulti) { - if (ENUM_AUTHORIZE_MODULE_SERIAL_TYPE_SECOND == st_UserTable.enSerialType) + if (ENUM_VERIFICATION_MODULE_SERIAL_TYPE_SECOND == st_UserTable.enSerialType) { if (st_AuthConfig.st_XLogin.st_MulitLogin.bSecond) { bLogin = false; } } - else if (ENUM_AUTHORIZE_MODULE_SERIAL_TYPE_TIME == st_UserTable.enSerialType) + else if (ENUM_VERIFICATION_MODULE_SERIAL_TYPE_TIME == st_UserTable.enSerialType) { if (st_AuthConfig.st_XLogin.st_MulitLogin.bTime) { bLogin = false; } } - else if (ENUM_AUTHORIZE_MODULE_SERIAL_TYPE_DAY == st_UserTable.enSerialType) + else if (ENUM_VERIFICATION_MODULE_SERIAL_TYPE_DAY == st_UserTable.enSerialType) { if (st_AuthConfig.st_XLogin.st_MulitLogin.bDay) { bLogin = false; } } - else if (ENUM_AUTHORIZE_MODULE_SERIAL_TYPE_CUSTOM == st_UserTable.enSerialType) + else if (ENUM_VERIFICATION_MODULE_SERIAL_TYPE_CUSTOM == st_UserTable.enSerialType) { if (st_AuthConfig.st_XLogin.st_MulitLogin.bCustom) { @@ -320,7 +320,7 @@ bool XEngine_Client_TCPTask(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, int n return false; } //分析充值类型 - if ((ENUM_AUTHORIZE_MODULE_SERIAL_TYPE_UNKNOW == st_UserTable.enSerialType) || ('0' == st_UserTable.tszLeftTime[0])) + if ((ENUM_VERIFICATION_MODULE_SERIAL_TYPE_UNKNOW == st_UserTable.enSerialType) || ('0' == st_UserTable.tszLeftTime[0])) { pSt_ProtocolHdr->wReserve = ERROR_AUTHORIZE_PROTOCOL_TIMELEFT; Protocol_Packet_HDRComm(tszSDBuffer, &nSDLen, pSt_ProtocolHdr, nNetType); @@ -329,7 +329,7 @@ bool XEngine_Client_TCPTask(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, int n return false; } //如果是次数卡,需要优先处理 - if (ENUM_AUTHORIZE_MODULE_SERIAL_TYPE_TIME == st_UserTable.enSerialType) + if (ENUM_VERIFICATION_MODULE_SERIAL_TYPE_TIME == st_UserTable.enSerialType) { __int64x nTime = _ttxoll(st_UserTable.tszLeftTime) - 1; _xstprintf(st_UserTable.tszLeftTime, _X("%lld"), nTime); @@ -344,7 +344,7 @@ bool XEngine_Client_TCPTask(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, int n } } - else if (ENUM_AUTHORIZE_MODULE_SERIAL_TYPE_DAY == st_UserTable.enSerialType) + else if (ENUM_VERIFICATION_MODULE_SERIAL_TYPE_DAY == st_UserTable.enSerialType) { bool bSuccess = false; XCHAR tszIPAddr[128] = {}; diff --git a/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/Authorize_Task.cpp b/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/Authorize_Task.cpp index 751971ff..ab1114bf 100644 --- a/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/Authorize_Task.cpp +++ b/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/Authorize_Task.cpp @@ -1,6 +1,6 @@ #include "Authorize_Hdr.h" -void XCALLBACK XEngine_TaskEvent_Client(LPCXSTR lpszUserAddr, LPCXSTR lpszUserName, __int64x nOnlineTimer, __int64x nLeftTimer, LPCXSTR lpszLeftDate, ENUM_AUTHORIZE_MODULE_SERIAL_TYPE enSerialType, ENUM_PROTOCOLDEVICE_TYPE enDeviceType, int nNetType, XPVOID lParam) +void XCALLBACK XEngine_TaskEvent_Client(LPCXSTR lpszUserAddr, LPCXSTR lpszUserName, __int64x nOnlineTimer, __int64x nLeftTimer, LPCXSTR lpszLeftDate, ENUM_VERIFICATION_MODULE_SERIAL_TYPE enSerialType, ENUM_PROTOCOLDEVICE_TYPE enDeviceType, int nNetType, XPVOID lParam) { if (nLeftTimer <= 0) { @@ -13,7 +13,7 @@ void XCALLBACK XEngine_TaskEvent_Client(LPCXSTR lpszUserAddr, LPCXSTR lpszUserNa st_ProtocolHdr.wHeader = XENGIEN_COMMUNICATION_PACKET_PROTOCOL_HEADER; st_ProtocolHdr.unOperatorType = ENUM_XENGINE_COMMUNICATION_PROTOCOL_TYPE_AUTH; - st_ProtocolHdr.unOperatorCode = XENGINE_COMMUNICATION_PROTOCOL_OPERATOR_CODE_AUTH_TIMEDOUT; + st_ProtocolHdr.unOperatorCode = XENGINE_COMMUNICATION_PROTOCOL_OPERATOR_CODE_AUTH_EXPIRED; st_ProtocolHdr.wTail = XENGIEN_COMMUNICATION_PACKET_PROTOCOL_TAIL; if (st_AuthConfig.st_XLogin.bPassAuth) diff --git a/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/Authorize_Task.h b/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/Authorize_Task.h index 61d4ba07..c71acacd 100644 --- a/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/Authorize_Task.h +++ b/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/Authorize_Task.h @@ -1,4 +1,4 @@ #pragma once -void XCALLBACK XEngine_TaskEvent_Client(LPCXSTR lpszUserAddr, LPCXSTR lpszUserName, __int64x nOnlineTimer, __int64x nLeftTimer, LPCXSTR lpszLeftDate, ENUM_AUTHORIZE_MODULE_SERIAL_TYPE enSerialType, ENUM_PROTOCOLDEVICE_TYPE enDeviceType, int nNetType, XPVOID lParam); +void XCALLBACK XEngine_TaskEvent_Client(LPCXSTR lpszUserAddr, LPCXSTR lpszUserName, __int64x nOnlineTimer, __int64x nLeftTimer, LPCXSTR lpszLeftDate, ENUM_VERIFICATION_MODULE_SERIAL_TYPE enSerialType, ENUM_PROTOCOLDEVICE_TYPE enDeviceType, int nNetType, XPVOID lParam); void XCALLBACK XEngine_TaskEvent_Token(XNETHANDLE xhToken, XPVOID lParam); \ No newline at end of file diff --git a/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/Authorize_WSTask.cpp b/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/Authorize_WSTask.cpp index e1f7caf7..982e9cda 100644 --- a/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/Authorize_WSTask.cpp +++ b/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/Authorize_WSTask.cpp @@ -76,11 +76,9 @@ bool XEngine_Client_WSTask(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, int nM if (XENGINE_COMMUNICATION_PROTOCOL_OPERATOR_CODE_AUTH_REQLOGIN == st_ProtocolHdr.unOperatorCode) { - AUTHORIZE_PROTOCOL_USERAUTHEX st_UserAuth; - memset(&st_UserAuth, '\0', sizeof(AUTHORIZE_PROTOCOL_USERAUTHEX)); - + XENGINE_PROTOCOL_USERAUTHEX st_UserAuth = {}; Protocol_Parse_HttpParseAuth(lpszMsgBuffer, nMsgLen, &st_UserAuth); - XEngine_Client_TCPTask(lpszClientAddr, (LPCXSTR)&st_UserAuth, sizeof(AUTHORIZE_PROTOCOL_USERAUTHEX), &st_ProtocolHdr, XENGINE_AUTH_APP_NETTYPE_WS); + XEngine_Client_TCPTask(lpszClientAddr, (LPCXSTR)&st_UserAuth, sizeof(XENGINE_PROTOCOL_USERAUTHEX), &st_ProtocolHdr, XENGINE_AUTH_APP_NETTYPE_WS); } if (XENGINE_COMMUNICATION_PROTOCOL_OPERATOR_CODE_HB_SYN == st_ProtocolHdr.unOperatorCode) { diff --git a/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/Makefile b/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/Makefile index 9422394c..e953eb1c 100644 --- a/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/Makefile +++ b/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/Makefile @@ -6,8 +6,8 @@ LOADHDR = -I ./ LOADSO = -L ../../XEngine_DependLibrary/XEngine_Module/jsoncpp -L ../../XEngine_DependLibrary/XEngine_Module/XEngine_InfoReport -L ../../XEngine_DependLibrary/XEngine_Module/XEngine_Verification \ -L ../../AuthorizeModule_Session -L ../../AuthorizeModule_Database -L ../../AuthorizeModule_Protocol -L ../../AuthorizeModule_Configure -L ../../AuthorizeModule_Help -L ../../AuthorizeModule_CDKey LIB = -lXEngine_InfoReport -ljsoncpp -lXEngine_Verification \ - -lXEngine_BaseLib -lXEngine_Algorithm -lXEngine_Core -lXEngine_ManagePool -lXEngine_Cryption -lXClient_APIHelp -lNetHelp_APIAddr -lHelpComponents_Packets -lHelpComponents_DataBase -lHelpComponents_XLog -lRfcComponents_WSProtocol -lRfcComponents_HttpProtocol -lXEngine_ProcFile -lXEngine_SystemApi \ - -lAuthorizeModule_Session -lAuthorizeModule_Database -lAuthorizeModule_Protocol -lAuthorizeModule_Configure -lAuthorizeModule_Help -lAuthorizeModule_CDKey + -lXEngine_BaseLib -lXEngine_Algorithm -lXEngine_Core -lXEngine_ManagePool -lXEngine_Cryption -lXClient_APIHelp -lNetHelp_APIAddr -lHelpComponents_Packets -lHelpComponents_DataBase -lHelpComponents_XLog -lRfcComponents_WSProtocol -lRfcComponents_HttpProtocol -lXEngine_SystemApi \ + -lAuthorizeModule_Session -lAuthorizeModule_Database -lAuthorizeModule_Protocol -lAuthorizeModule_Configure -lAuthorizeModule_Help LIBEX = OBJECTS = Authorize_Config.o Authorize_Net.o Authorize_Task.o Authorize_TCPTask.o Authorize_WSTask.o Authorize_HttpTask.o XEngine_AuthorizeService.o \ AuthorizeHTTP_Client.o AuthorizeHTTP_Serial.o AuthorizeHTTP_User.o AuthorizeHTTP_Pass.o AuthorizeHTTP_Switch.o AuthorizeHTTP_Banned.o AuthorizeHTTP_CDKey.o AuthorizeHTTP_Announcement.o AuthorizeHTTP_Try.o\ diff --git a/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/XEngine_AuthorizeService.cpp b/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/XEngine_AuthorizeService.cpp index 6f4c645b..a5e7ba43 100644 --- a/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/XEngine_AuthorizeService.cpp +++ b/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/XEngine_AuthorizeService.cpp @@ -136,7 +136,6 @@ int main(int argc, char** argv) #endif bIsRun = true; int nRet = -1; - FILE* pSt_File = NULL; HELPCOMPONENTS_XLOG_CONFIGURE st_XLogConfig; THREADPOOL_PARAMENT** ppSt_ListTCPThread; THREADPOOL_PARAMENT** ppSt_ListWSThread; @@ -382,47 +381,24 @@ int main(int argc, char** argv) XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("启动服务中,加密传输设置为关闭,采用明文传输")); } - pSt_File = _xtfopen(st_AuthConfig.st_XVerification.st_XCDKey.tszKeyFile, _X("rb")); - if (NULL == pSt_File) - { - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_WARN, _X("启动服务中,授权文件验证失败,授权文件没有找到")); - } - else + if (0 == _xtaccess(st_AuthConfig.st_XVerification.st_XCDKey.tszKeyFile, 0)) { + VERIFICATION_XAUTHKEY st_AuthLocal = {}; //一个简单的示例,没有验证硬件码 - XCHAR tszENCodecBuffer[4096] = {}; - XCHAR tszDECodecBuffer[4096] = {}; - XENGINE_AUTHORIZE_LOCAL st_AuthLocal = {}; - - int nRet = fread(tszENCodecBuffer, 1, sizeof(tszENCodecBuffer), pSt_File); - fclose(pSt_File); - - if (Cryption_XCrypto_Decoder(tszENCodecBuffer, &nRet, tszDECodecBuffer, st_AuthConfig.st_XVerification.st_XCDKey.tszKeyPass)) + if (Verification_XAuthKey_FileRead(&st_AuthLocal, st_AuthConfig.st_XVerification.st_XCDKey.tszKeyFile, st_AuthConfig.st_XVerification.st_XCDKey.tszKeyPass)) { - Authorize_CDKey_ReadMemory(tszDECodecBuffer, nRet, &st_AuthLocal); - bool bRet = Authorize_CDKey_GetLeftTimer(&st_AuthLocal); - //无论成功失败需要重写CDKEY - memset(tszENCodecBuffer, '\0', sizeof(tszENCodecBuffer)); - memset(tszDECodecBuffer, '\0', sizeof(tszDECodecBuffer)); - Authorize_CDKey_WriteMemory(tszDECodecBuffer, &nRet, &st_AuthLocal); - Cryption_XCrypto_Encoder(tszDECodecBuffer, &nRet, (XBYTE*)tszENCodecBuffer, st_AuthConfig.st_XVerification.st_XCDKey.tszKeyPass); - pSt_File = _xtfopen(st_AuthConfig.st_XVerification.st_XCDKey.tszKeyFile, _X("wb")); - fwrite(tszENCodecBuffer, 1, nRet, pSt_File); - fclose(pSt_File); - if (bRet) - { - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("启动服务中,授权文件验证成功,总可运行次数:%s,剩余可运行次数:%lld"), st_AuthLocal.st_AuthRegInfo.tszLeftTime, st_AuthLocal.st_AuthRegInfo.nHasTime); - } - else - { - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_WARN, _X("启动服务中,授权文件验证失败,总可运行次数:%s,剩余可运行次数:%lld,错误码:%lX"), st_AuthLocal.st_AuthRegInfo.tszLeftTime, st_AuthLocal.st_AuthRegInfo.nHasTime, Authorize_GetLastError()); - } + Verification_XAuthKey_FileWrite(&st_AuthLocal, st_AuthConfig.st_XVerification.st_XCDKey.tszKeyFile, st_AuthConfig.st_XVerification.st_XCDKey.tszKeyPass); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("启动服务中,授权文件验证成功,总可运行次数:%s,剩余可运行次数:%lld"), st_AuthLocal.st_AuthRegInfo.tszLeftTime, st_AuthLocal.st_AuthRegInfo.nHasTime); } else { - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_WARN, _X("启动服务中,授权文件失败,解密失败,数据不正确")); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_WARN, _X("启动服务中,授权文件验证失败,总可运行次数:%s,剩余可运行次数:%lld,错误码:%lX"), st_AuthLocal.st_AuthRegInfo.tszLeftTime, st_AuthLocal.st_AuthRegInfo.nHasTime, Verification_GetLastError()); } } + else + { + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_WARN, _X("启动服务中,授权文件验证失败,授权文件没有找到")); + } #ifndef _DEBUG //发送信息报告 if (st_AuthConfig.st_XReport.bEnable && !bIsTest) diff --git a/XEngine_Source/XEngine_DependLibrary b/XEngine_Source/XEngine_DependLibrary index 8970bcc1..dc2e4b3a 160000 --- a/XEngine_Source/XEngine_DependLibrary +++ b/XEngine_Source/XEngine_DependLibrary @@ -1 +1 @@ -Subproject commit 8970bcc172a44e943e01921ffd398594e58c8d6f +Subproject commit dc2e4b3af5b666e888166ef1e7567475f6f03904