├── .github
├── ISSUE_TEMPLATE
│ ├── bug_report.md
│ └── feature_request.md
└── workflows
│ ├── Rocky_build.yml
│ ├── Ubuntu_build.yml
│ ├── codeql.yml
│ ├── cppcheck.yml
│ ├── debian_build.yml
│ ├── fedora_build.yml
│ ├── issue-translator.yml
│ ├── macbuild.yml
│ ├── msbuild.yml
│ └── release.yml
├── .gitmodules
├── CHANGELOG
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── COPYRIGHT
├── LICENSE
├── README.en.md
├── README.md
├── SECURITY.md
├── XEngine_Apps
├── Authorize_APPClient.e
├── Authorize_APPClient.sln
├── Authorize_APPClient
│ ├── Authorize_APPClient.cpp
│ ├── Authorize_APPClient.vcxproj
│ ├── Authorize_APPClient.vcxproj.filters
│ └── Authorize_APPClient.vcxproj.user
├── Authorize_APPLocal
│ ├── Authorize_APPLocal.cpp
│ ├── Authorize_APPLocal.vcxproj
│ ├── Authorize_APPLocal.vcxproj.filters
│ └── Authorize_APPLocal.vcxproj.user
├── Authorize_CDKeyNetVer
│ ├── Authorize_CDKeyNetVer.cpp
│ ├── Authorize_CDKeyNetVer.vcxproj
│ ├── Authorize_CDKeyNetVer.vcxproj.filters
│ └── Authorize_CDKeyNetVer.vcxproj.user
├── Authorize_ClientModule
│ ├── Authorize_ClientModule.cpp
│ ├── Authorize_ClientModule.vcxproj
│ ├── Authorize_ClientModule.vcxproj.filters
│ └── Authorize_ClientModule.vcxproj.user
├── README.md
├── VSClean.bat
├── VSCopy_Client_x64.bat
└── VSCopy_Client_x86.bat
├── XEngine_Docment
├── Docment_en.docx
└── Docment_zh.docx
├── XEngine_Release
├── APPVer.key
├── XEngine_Config
│ ├── HttpCode.types
│ ├── HttpMime.types
│ ├── XEngine_Config.json
│ ├── XEngine_SwitchConfig.json
│ └── XEngine_VersionConfig.json
├── XEngine_Coredump
│ └── keepfile
├── XEngine_DataBase
│ └── SQL_User.db
└── XEngine_XLog
│ └── keepfile
├── XEngine_SQL
├── mysql.sql
└── sqlite.sql
└── XEngine_Source
├── AuthorizeModule_CDKey
├── AuthorizeModule_CDKey.def
├── AuthorizeModule_CDKey.vcxproj
├── AuthorizeModule_CDKey.vcxproj.filters
├── AuthorizeModule_CDKey.vcxproj.user
├── Authorize_CDKey
│ ├── Authorize_CDKey.cpp
│ └── Authorize_CDKey.h
├── Authorize_Serial
│ ├── Authorize_Serial.cpp
│ └── Authorize_Serial.h
├── CDKey_Define.h
├── CDKey_Error.h
├── Makefile
├── dllmain.cpp
├── framework.h
├── pch.cpp
└── pch.h
├── AuthorizeModule_Client
├── AuthClient_Connector
│ ├── AuthClient_Connector.cpp
│ └── AuthClient_Connector.h
├── AuthClient_Define.h
├── AuthClient_Error.h
├── AuthClient_HTTPVer
│ ├── AuthClient_HTTPVer.cpp
│ └── AuthClient_HTTPVer.h
├── AuthorizeModule_Client.def
├── AuthorizeModule_Client.vcxproj
├── AuthorizeModule_Client.vcxproj.filters
├── AuthorizeModule_Client.vcxproj.user
├── Makefile
├── dllmain.cpp
├── framework.h
├── pch.cpp
└── pch.h
├── AuthorizeModule_Configure
├── AuthorizeModule_Configure.def
├── AuthorizeModule_Configure.vcxproj
├── AuthorizeModule_Configure.vcxproj.filters
├── AuthorizeModule_Configure.vcxproj.user
├── Config_Define.h
├── Config_Error.h
├── Makefile
├── ModuleConfigure_Json
│ ├── ModuleConfigure_Json.cpp
│ └── ModuleConfigure_Json.h
├── dllmain.cpp
├── framework.h
├── pch.cpp
└── pch.h
├── AuthorizeModule_Database
├── AuthorizeModule_Database.def
├── AuthorizeModule_Database.vcxproj
├── AuthorizeModule_Database.vcxproj.filters
├── AuthorizeModule_Database.vcxproj.user
├── DBModule_MySQL
│ ├── DBModule_MySQL.cpp
│ └── DBModule_MySQL.h
├── DBModule_SQLite
│ ├── DBModule_SQLite.cpp
│ └── DBModule_SQLite.h
├── Database_Define.h
├── Database_Error.h
├── Makefile
├── dllmain.cpp
├── framework.h
├── pch.cpp
└── pch.h
├── AuthorizeModule_Help
├── AuthHelp_ClipBoard
│ ├── AuthHelp_ClipBoard.cpp
│ └── AuthHelp_ClipBoard.h
├── AuthHelp_Define.h
├── AuthHelp_DynamicCode
│ ├── AuthHelp_DynamicCode.cpp
│ └── AuthHelp_DynamicCode.h
├── AuthHelp_Error.h
├── AuthHelp_MultiLogin
│ ├── AuthHelp_MultiLogin.cpp
│ └── AuthHelp_MultiLogin.h
├── AuthHelp_Windows
│ ├── AuthHelp_Windows.cpp
│ └── AuthHelp_Windows.h
├── AuthorizeModule_Help.def
├── AuthorizeModule_Help.vcxproj
├── AuthorizeModule_Help.vcxproj.filters
├── AuthorizeModule_Help.vcxproj.user
├── Makefile
├── dllmain.cpp
├── framework.h
├── pch.cpp
└── pch.h
├── AuthorizeModule_Protocol
├── AuthorizeModule_Protocol.def
├── AuthorizeModule_Protocol.vcxproj
├── AuthorizeModule_Protocol.vcxproj.filters
├── AuthorizeModule_Protocol.vcxproj.user
├── Makefile
├── Protocol_Define.h
├── Protocol_Error.h
├── Protocol_Packet
│ ├── Protocol_Packet.cpp
│ └── Protocol_Packet.h
├── Protocol_Parse
│ ├── Protocol_Parse.cpp
│ └── Protocol_Parse.h
├── dllmain.cpp
├── framework.h
├── pch.cpp
└── pch.h
├── AuthorizeModule_Session
├── AuthorizeModule_Session.def
├── AuthorizeModule_Session.vcxproj
├── AuthorizeModule_Session.vcxproj.filters
├── AuthorizeModule_Session.vcxproj.user
├── Makefile
├── Session_Authorize
│ ├── Session_Authorize.cpp
│ └── Session_Authorize.h
├── Session_Define.h
├── Session_Error.h
├── Session_Token
│ ├── Session_Token.cpp
│ └── Session_Token.h
├── dllmain.cpp
├── framework.h
├── pch.cpp
└── pch.h
├── Makefile
├── VSClean.bat
├── VSCopy_Arm64.bat
├── VSCopy_Debug.bat
├── VSCopy_x64.bat
├── VSCopy_x86.bat
├── XAuth_BuildSwitch.h
├── XAuth_Protocol.h
├── XEngine.sln
└── XEngine_APPService
├── XEngine_AuthorizeApp
├── Authorize_Dialog
│ ├── Dialog_Announcement.cpp
│ ├── Dialog_Announcement.h
│ ├── Dialog_Banned.cpp
│ ├── Dialog_Banned.h
│ ├── Dialog_CDKey.cpp
│ ├── Dialog_CDKey.h
│ ├── Dialog_Config.cpp
│ ├── Dialog_Config.h
│ ├── Dialog_Modify.cpp
│ ├── Dialog_Modify.h
│ ├── Dialog_Serial.cpp
│ ├── Dialog_Serial.h
│ ├── Dialog_Switch.cpp
│ ├── Dialog_Switch.h
│ ├── Dialog_Try.cpp
│ ├── Dialog_Try.h
│ ├── Dialog_User.cpp
│ └── Dialog_User.h
├── Authorize_Help
│ ├── Authorize_Help.cpp
│ └── Authorize_Help.h
├── XEngineAuthorizeApp.rc
├── XEngine_AuthorizeApp.cpp
├── XEngine_AuthorizeApp.h
├── XEngine_AuthorizeApp.vcxproj
├── XEngine_AuthorizeApp.vcxproj.filters
├── XEngine_AuthorizeApp.vcxproj.user
├── XEngine_AuthorizeAppDlg.cpp
├── XEngine_AuthorizeAppDlg.h
├── framework.h
├── pch.cpp
├── pch.h
├── res
│ ├── XEngineAuthorizeApp.rc2
│ └── XEngine_AuthorizeApp.ico
├── resource.h
└── targetver.h
└── XEngine_AuthorizeService
├── AuthorizeHTTP_Get
├── AuthorizeHTTP_GetTask.cpp
├── AuthorizeHTTP_GetTask.h
├── AuthorizeHTTP_Token.cpp
└── AuthorizeHTTP_Token.h
├── AuthorizeHTTP_Post
├── AuthorizeHTTP_Announcement.cpp
├── AuthorizeHTTP_Announcement.h
├── AuthorizeHTTP_Banned.cpp
├── AuthorizeHTTP_Banned.h
├── AuthorizeHTTP_CDKey.cpp
├── AuthorizeHTTP_CDKey.h
├── AuthorizeHTTP_Client.cpp
├── AuthorizeHTTP_Client.h
├── AuthorizeHTTP_Pass.cpp
├── AuthorizeHTTP_Pass.h
├── AuthorizeHTTP_Serial.cpp
├── AuthorizeHTTP_Serial.h
├── AuthorizeHTTP_Switch.cpp
├── AuthorizeHTTP_Switch.h
├── AuthorizeHTTP_Try.cpp
├── AuthorizeHTTP_Try.h
├── AuthorizeHTTP_User.cpp
└── AuthorizeHTTP_User.h
├── Authorize_Config.cpp
├── Authorize_Config.h
├── Authorize_Hdr.h
├── Authorize_HttpMemory.h
├── Authorize_HttpTask.cpp
├── Authorize_HttpTask.h
├── Authorize_Net.cpp
├── Authorize_Net.h
├── Authorize_TCPTask.cpp
├── Authorize_TCPTask.h
├── Authorize_Task.cpp
├── Authorize_Task.h
├── Authorize_WSTask.cpp
├── Authorize_WSTask.h
├── Makefile
├── XEngine_AuthorizeService.cpp
├── XEngine_AuthorizeService.vcxproj
├── XEngine_AuthorizeService.vcxproj.filters
└── XEngine_AuthorizeService.vcxproj.user
/.github/ISSUE_TEMPLATE/bug_report.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Bug report
3 | about: Create a report to help us improve
4 | title: ''
5 | labels: ''
6 | assignees: ''
7 |
8 | ---
9 |
10 | **Describe the bug**
11 | A clear and concise description of what the bug is.
12 |
13 | **To Reproduce**
14 | Steps to reproduce the behavior:
15 | 1. Go to '...'
16 | 2. Click on '....'
17 | 3. Scroll down to '....'
18 | 4. See error
19 |
20 | **Expected behavior**
21 | A clear and concise description of what you expected to happen.
22 |
23 | **Screenshots**
24 | If applicable, add screenshots to help explain your problem.
25 |
26 | **Desktop (please complete the following information):**
27 | - OS: [e.g. iOS]
28 | - Browser [e.g. chrome, safari]
29 | - Version [e.g. 22]
30 |
31 | **Smartphone (please complete the following information):**
32 | - Device: [e.g. iPhone6]
33 | - OS: [e.g. iOS8.1]
34 | - Browser [e.g. stock browser, safari]
35 | - Version [e.g. 22]
36 |
37 | **Additional context**
38 | Add any other context about the problem here.
39 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/feature_request.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Feature request
3 | about: Suggest an idea for this project
4 | title: ''
5 | labels: ''
6 | assignees: ''
7 |
8 | ---
9 |
10 | **Is your feature request related to a problem? Please describe.**
11 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
12 |
13 | **Describe the solution you'd like**
14 | A clear and concise description of what you want to happen.
15 |
16 | **Describe alternatives you've considered**
17 | A clear and concise description of any alternative solutions or features you've considered.
18 |
19 | **Additional context**
20 | Add any other context or screenshots about the feature request here.
21 |
--------------------------------------------------------------------------------
/.github/workflows/Rocky_build.yml:
--------------------------------------------------------------------------------
1 | name: rocky build workflows
2 |
3 | on:
4 | push:
5 | branches:
6 | - 'develop'
7 | paths:
8 | - 'XEngine_Source/**'
9 | - 'XEngine_Release/**'
10 | - '.github/**'
11 |
12 | permissions:
13 | contents: read
14 |
15 | jobs:
16 | build:
17 | runs-on: ${{ matrix.runner }}
18 | container:
19 | image: rockylinux/rockylinux:9.5
20 | options: --platform ${{ matrix.platform }}
21 | strategy:
22 | matrix:
23 | include:
24 | - arch: amd64
25 | runner: ubuntu-24.04
26 | platform: linux/amd64
27 | artifact: x86-64
28 | - arch: arm64
29 | runner: ubuntu-24.04-arm
30 | platform: linux/arm64
31 | artifact: Arm64
32 |
33 | steps:
34 | - name: Checkout main repository code
35 | uses: actions/checkout@v4
36 | with:
37 | ref: 'develop'
38 |
39 | - name: Checkout dependency repository (xengine)
40 | uses: actions/checkout@v4
41 | with:
42 | repository: libxengine/libxengine
43 | path: libxengine
44 |
45 | - name: sub module checkout (opensource)
46 | uses: actions/checkout@v4
47 | with:
48 | repository: libxengine/XEngine_OPenSource
49 | path: XEngine_Source/XEngine_Depend
50 |
51 | - name: install system package
52 | run: |
53 | dnf update -y
54 | dnf install gcc g++ make git jq unzip wget -y
55 |
56 | - name: Set TERM variable
57 | run: echo "TERM=xterm" >> $GITHUB_ENV
58 |
59 | - name: install xengine library
60 | run: |
61 | latest_tag=$(curl -s https://api.github.com/repos/libxengine/libxengine/releases/latest | jq -r .tag_name)
62 | wget https://github.com/libxengine/libxengine/releases/download/$latest_tag/XEngine_RockyLinux_9_${{ matrix.artifact }}.zip
63 | unzip ./XEngine_RockyLinux_9_${{ matrix.artifact }}.zip -d ./XEngine_RockyLinux_9_${{ matrix.artifact }}
64 | cd XEngine_RockyLinux_9_${{ matrix.artifact }}
65 |
66 | chmod 777 *
67 | ./XEngine_LINEnv.sh -i 3
68 |
69 | - name: make
70 | run: |
71 | cd XEngine_Source
72 | make
73 | make FLAGS=InstallAll
74 | make FLAGS=CleanAll
75 |
76 | make RELEASE=1
77 | make FLAGS=InstallAll
78 | make FLAGS=CleanAll
79 |
80 | - name: test
81 | run: |
82 | cd XEngine_Release
83 | ./XEngine_AuthorizeService -t
84 |
85 | - name: Upload folder as artifact with RockyLinux
86 | uses: actions/upload-artifact@v4
87 | with:
88 | name: XEngine_AuthorizeService-RockyLinux_9_${{ matrix.artifact }}
89 | path: XEngine_Release/
90 | retention-days: 1
91 |
--------------------------------------------------------------------------------
/.github/workflows/codeql.yml:
--------------------------------------------------------------------------------
1 | name: CodeQL Advanced
2 |
3 | on:
4 | push:
5 | branches:
6 | - 'develop'
7 | paths:
8 | - 'XEngine_Source/**'
9 | - 'XEngine_Release/**'
10 | - '.github/**'
11 |
12 | jobs:
13 | analyze:
14 | runs-on: ubuntu-24.04
15 | permissions:
16 | security-events: write
17 | packages: read
18 | actions: read
19 | contents: read
20 |
21 | strategy:
22 | fail-fast: false
23 | matrix:
24 | include:
25 | - language: c-cpp
26 | steps:
27 | - name: Checkout repository
28 | uses: actions/checkout@v4
29 | with:
30 | ref: 'develop'
31 |
32 | - name: Checkout dependency repository (xengine)
33 | uses: actions/checkout@v4
34 | with:
35 | repository: libxengine/libxengine
36 | path: libxengine
37 |
38 | - name: sub module checkout (opensource)
39 | run: |
40 | git submodule init
41 | git submodule update
42 |
43 | - name: Set TERM variable
44 | run: echo "TERM=xterm" >> $GITHUB_ENV
45 |
46 | - name: Set up Dependency Environment
47 | run: |
48 | cd libxengine
49 | chmod +x ./XEngine_LINEnv.sh
50 | sudo ./XEngine_LINEnv.sh -i 3
51 |
52 | - name: Initialize CodeQL
53 | uses: github/codeql-action/init@v3
54 | with:
55 | languages: ${{ matrix.language }}
56 |
57 | - name: make
58 | run: |
59 | cd XEngine_Source
60 | make
61 |
62 | - name: Perform CodeQL Analysis
63 | uses: github/codeql-action/analyze@v3
64 | with:
65 | category: "/language:${{ matrix.language }}"
66 |
--------------------------------------------------------------------------------
/.github/workflows/cppcheck.yml:
--------------------------------------------------------------------------------
1 | name: cpp check workflows
2 |
3 | on:
4 | push:
5 | branches:
6 | - 'develop'
7 | paths:
8 | - 'XEngine_Source/**'
9 | - 'XEngine_Release/**'
10 | - '.github/**'
11 |
12 | jobs:
13 | build:
14 | runs-on: ubuntu-latest
15 |
16 | steps:
17 | - name: Checkout main repository code
18 | uses: actions/checkout@v4
19 | with:
20 | ref: 'develop'
21 |
22 | - name: Create static_analysis directory
23 | run: mkdir -p static_analysis
24 |
25 | - name: Run Cppcheck
26 | run: |
27 | sudo apt-get install -y cppcheck
28 | cppcheck --enable=all --language=c++ --std=c++20 ./XEngine_Source/ --output-file=static_analysis/log.xml --xml
29 | continue-on-error: true
30 |
31 | - name: Upload Cppcheck Results
32 | uses: actions/upload-artifact@v4
33 | with:
34 | name: cppcheck_results
35 | path: static_analysis/log.xml
--------------------------------------------------------------------------------
/.github/workflows/debian_build.yml:
--------------------------------------------------------------------------------
1 | name: debian build workflows
2 |
3 | on:
4 | push:
5 | branches:
6 | - 'develop'
7 | paths:
8 | - 'XEngine_Source/**'
9 | - 'XEngine_Release/**'
10 | - '.github/**'
11 |
12 | permissions:
13 | contents: read
14 |
15 | jobs:
16 | build:
17 | runs-on: ${{ matrix.runner }}
18 | container:
19 | image: debian:bookworm
20 | options: --platform ${{ matrix.platform }}
21 | strategy:
22 | matrix:
23 | include:
24 | - arch: amd64
25 | runner: ubuntu-24.04
26 | platform: linux/amd64
27 | artifact: x86-64
28 |
29 | steps:
30 | - name: Checkout main repository code
31 | uses: actions/checkout@v4
32 |
33 | - name: Checkout dependency repository (xengine)
34 | uses: actions/checkout@v4
35 | with:
36 | repository: libxengine/libxengine
37 | path: libxengine
38 |
39 | - name: sub module checkout (opensource)
40 | uses: actions/checkout@v4
41 | with:
42 | repository: libxengine/XEngine_OPenSource
43 | path: XEngine_Source/XEngine_Depend
44 |
45 | - name: install system package
46 | run: |
47 | apt update -y
48 | apt install gcc g++ make git jq unzip curl wget -y
49 |
50 | - name: Set TERM variable
51 | run: echo "TERM=xterm" >> $GITHUB_ENV
52 |
53 | - name: install xengine library
54 | run: |
55 | latest_tag=$(curl -s https://api.github.com/repos/libxengine/libxengine/releases/latest | jq -r .tag_name)
56 | wget https://github.com/libxengine/libxengine/releases/download/$latest_tag/XEngine_Debian_12_${{ matrix.artifact }}.zip
57 | unzip ./XEngine_Debian_12_${{ matrix.artifact }}.zip -d ./XEngine_Debian_12_${{ matrix.artifact }}
58 | cd XEngine_Debian_12_${{ matrix.artifact }}
59 |
60 | chmod 777 *
61 | ./XEngine_LINEnv.sh -i 3
62 |
63 | - name: make
64 | run: |
65 | cd XEngine_Source
66 | make
67 | make FLAGS=InstallAll
68 | make FLAGS=CleanAll
69 |
70 | make RELEASE=1
71 | make FLAGS=InstallAll
72 | make FLAGS=CleanAll
73 | cd ..
74 | - name: test
75 | run: |
76 | cd XEngine_Release
77 | ./XEngine_AuthorizeService -t
78 |
79 | - name: Upload folder as artifact
80 | uses: actions/upload-artifact@v4
81 | with:
82 | name: XEngine_AuthorizeService-Debian_12_x86-64
83 | path: XEngine_Release/
84 | retention-days: 1
--------------------------------------------------------------------------------
/.github/workflows/fedora_build.yml:
--------------------------------------------------------------------------------
1 | name: fedora build workflows
2 |
3 | on:
4 | push:
5 | branches:
6 | - 'develop'
7 | paths:
8 | - 'XEngine_Source/**'
9 | - 'XEngine_Release/**'
10 | - '.github/**'
11 |
12 | permissions:
13 | contents: read
14 |
15 | jobs:
16 | build:
17 | runs-on: ${{ matrix.runner }}
18 | container:
19 | image: fedora:${{ matrix.fedora-version }}
20 | options: --platform ${{ matrix.platform }}
21 | strategy:
22 | matrix:
23 | include:
24 | - arch: amd64
25 | runner: ubuntu-24.04
26 | platform: linux/amd64
27 | fedora-version: 42
28 | artifact: x86-64
29 | - arch: amd64
30 | runner: ubuntu-24.04
31 | platform: linux/amd64
32 | fedora-version: 41
33 | artifact: x86-64
34 |
35 | steps:
36 | - name: Checkout main repository code
37 | uses: actions/checkout@v4
38 |
39 | - name: Checkout dependency repository (xengine)
40 | uses: actions/checkout@v4
41 | with:
42 | repository: libxengine/libxengine
43 | path: libxengine
44 |
45 | - name: sub module checkout (opensource)
46 | uses: actions/checkout@v4
47 | with:
48 | repository: libxengine/XEngine_OPenSource
49 | path: XEngine_Source/XEngine_Depend
50 |
51 | - name: install system package
52 | run: |
53 | dnf update -y
54 | dnf install gcc g++ make git jq unzip wget -y
55 |
56 | - name: Set TERM variable
57 | run: echo "TERM=xterm" >> $GITHUB_ENV
58 |
59 | - name: install xengine library
60 | run: |
61 | latest_tag=$(curl -s https://api.github.com/repos/libxengine/libxengine/releases/latest | jq -r .tag_name)
62 | wget https://github.com/libxengine/libxengine/releases/download/$latest_tag/XEngine_Fedora_${{ matrix.fedora-version }}_${{ matrix.artifact }}.zip
63 | unzip ./XEngine_Fedora_${{ matrix.fedora-version }}_${{ matrix.artifact }}.zip -d ./XEngine_Fedora_${{ matrix.fedora-version }}_${{ matrix.artifact }}
64 | cd XEngine_Fedora_${{ matrix.fedora-version }}_${{ matrix.artifact }}
65 |
66 | chmod 777 *
67 | ./XEngine_LINEnv.sh -i 3
68 | - name: make
69 | run: |
70 | cd XEngine_Source
71 | make
72 | make FLAGS=InstallAll
73 | make FLAGS=CleanAll
74 |
75 | make RELEASE=1
76 | make FLAGS=InstallAll
77 | make FLAGS=CleanAll
78 | cd ..
79 | - name: test
80 | run: |
81 | cd XEngine_Release
82 | ./XEngine_AuthorizeService -t
83 |
84 | - name: Upload folder as artifact
85 | uses: actions/upload-artifact@v4
86 | with:
87 | name: XEngine_AuthorizeService-Fedora_${{ matrix.fedora-version }}_${{ matrix.artifact }}
88 | path: XEngine_Release/
89 | retention-days: 1
--------------------------------------------------------------------------------
/.github/workflows/issue-translator.yml:
--------------------------------------------------------------------------------
1 | name: Issue Translator
2 | on:
3 | issue_comment:
4 | types: [created]
5 | issues:
6 | types: [opened]
7 |
8 | jobs:
9 | build:
10 | runs-on: ubuntu-latest
11 | steps:
12 | - uses: usthe/issues-translate-action@v2.7
13 | with:
14 | IS_MODIFY_TITLE: false
15 | CUSTOM_BOT_NOTE: Bot detected the issue body's language is not English, translate it automatically.
--------------------------------------------------------------------------------
/.github/workflows/macbuild.yml:
--------------------------------------------------------------------------------
1 | name: macos build workflows
2 |
3 | on:
4 | push:
5 | branches:
6 | - 'develop'
7 | paths:
8 | - 'XEngine_Source/**'
9 | - 'XEngine_Release/**'
10 | - '.github/**'
11 |
12 | jobs:
13 | build:
14 | strategy:
15 | matrix:
16 | include:
17 | - os: macos-13
18 | - os: macos-14
19 | runs-on: ${{ matrix.os }}
20 |
21 | steps:
22 | - name: Checkout main repository code
23 | uses: actions/checkout@v4
24 | with:
25 | ref: 'develop'
26 |
27 | # 检出依赖的xengine仓库到指定的xengine目录
28 | - name: Checkout dependency repository (xengine)
29 | uses: actions/checkout@v4
30 | with:
31 | repository: libxengine/libxengine
32 | path: libxengine
33 |
34 | - name: sub module checkout (opensource)
35 | run: |
36 | git submodule init
37 | git submodule update
38 |
39 | - name: brew install
40 | run: /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
41 |
42 | - name: Set TERM variable
43 | run: echo "TERM=xterm" >> $GITHUB_ENV
44 |
45 | - name: Set up Dependency x86_64 Environment
46 | if: matrix.os == 'macos-13'
47 | run: |
48 | cd libxengine
49 | chmod 777 *
50 | ./XEngine_LINEnv.sh -i 3
51 | - name: Set up Dependency Arm64 Environment
52 | if: matrix.os == 'macos-14'
53 | run: |
54 | cd libxengine
55 | chmod 777 *
56 | ./XEngine_LINEnv.sh -i 0
57 |
58 | latest_tag=$(git ls-remote --tags --sort="v:refname" https://github.com/libxengine/libxengine.git | awk '{print $2}' | sed 's/refs\/tags\///' | tail -n 1)
59 |
60 | wget https://github.com/libxengine/libxengine/releases/download/$latest_tag/XEngine_Mac_Arm64.zip
61 | unzip ./XEngine_Mac_Arm64.zip -d ./XEngine_Mac_Arm64
62 | cd XEngine_Mac_Arm64
63 |
64 | sudo mkdir -p /usr/local/include
65 | sudo mkdir -p /usr/local/lib
66 | sudo cp -rf ./XEngine_Include /usr/local/include
67 | sudo find ./XEngine_Mac -name "*.dylib" -exec cp {} /usr/local/lib \;
68 |
69 | - name: make debug
70 | run: |
71 | cd XEngine_Source
72 | make PLATFORM=mac
73 | make PLATFORM=mac FLAGS=InstallAll
74 | make PLATFORM=mac FLAGS=CleanAll
75 | - name: make release
76 | run: |
77 | cd XEngine_Source
78 | make PLATFORM=mac RELEASE=1
79 | make PLATFORM=mac FLAGS=InstallAll
80 | make PLATFORM=mac FLAGS=CleanAll
81 | - name: test
82 | run: |
83 | cd XEngine_Release
84 | ./XEngine_AuthorizeService -t
85 |
86 | - name: Upload folder as artifact with mac x64
87 | if: matrix.os == 'macos-13'
88 | uses: actions/upload-artifact@v4
89 | with:
90 | name: XEngine_AuthorizeService-Mac_x86-64
91 | path: XEngine_Release/
92 | retention-days: 1
93 | - name: Upload folder as artifact with mac arm
94 | if: matrix.os == 'macos-14'
95 | uses: actions/upload-artifact@v4
96 | with:
97 | name: XEngine_AuthorizeService-Mac_Arm64
98 | path: XEngine_Release/
99 | retention-days: 1
--------------------------------------------------------------------------------
/.gitmodules:
--------------------------------------------------------------------------------
1 | [submodule "XEngine_Source/XEngine_Depend"]
2 | path = XEngine_Source/XEngine_Depend
3 | url = https://github.com/libxengine/XEngine_OPenSource.git
4 |
--------------------------------------------------------------------------------
/CONTRIBUTING.md:
--------------------------------------------------------------------------------
1 | author by:qyt 486179@qq.com
2 |
3 | ## 贡献准则(Contribution Guidelines)
4 |
5 | 此服务是一个尝试由社区驱动,你的共享价值将不可估量!
6 | the service is an attempt to be driven by the community, your shared value will be immeasurable!
7 |
8 | ## 提交代码(Submit code)
9 |
10 | 想要贡献代码,你需要按照我们的风格来提交代码.
11 | To contribute code, you need to submit code in our style
12 |
13 | ## 法律声明(Legal Notice)
14 |
15 | 如果你的提交的请求有依赖其他库,请注意库的版权.你的提交代码将被允许被我们随意复制,分发,删除,修改
16 | If your submitted request depends on other libraries, please pay attention to the copyright of the library. Your submitted code will be allowed to be copied, distributed, deleted, and modified by us at will
--------------------------------------------------------------------------------
/COPYRIGHT:
--------------------------------------------------------------------------------
1 | the open source software depend on the following libraries, please note the copyright
2 | XEngine:https://gitee.com/xyry/libxengine or https://github.com/libxengine/xengine
3 | jsoncpp:https://github.com/open-source-parsers/jsoncpp
--------------------------------------------------------------------------------
/SECURITY.md:
--------------------------------------------------------------------------------
1 | # Security Policy
2 |
3 | ## Supported Versions
4 |
5 | | Version | Supported |
6 | | ------- | ------------------ |
7 | | >= 3.x | :white_check_mark: |
8 | | <= 2.x | :x: |
9 |
10 | ## Reporting a Vulnerability
11 |
12 | www.xyry.org or 486179@qq.com
--------------------------------------------------------------------------------
/XEngine_Apps/Authorize_APPClient.e:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/libxengine/XEngine_Authorize/8718fdad4139240abdfb3e773139c9b570fc6b28/XEngine_Apps/Authorize_APPClient.e
--------------------------------------------------------------------------------
/XEngine_Apps/Authorize_APPClient.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 12.00
3 | # Visual Studio Version 17
4 | VisualStudioVersion = 17.3.32804.467
5 | MinimumVisualStudioVersion = 10.0.40219.1
6 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Authorize_APPClient", "Authorize_APPClient\Authorize_APPClient.vcxproj", "{4F263EAF-A748-46AF-A10E-8A25626E0571}"
7 | EndProject
8 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Authorize_APPLocal", "Authorize_APPLocal\Authorize_APPLocal.vcxproj", "{767151F7-230E-431B-AC6D-683F19F43C13}"
9 | EndProject
10 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Authorize_ClientModule", "Authorize_ClientModule\Authorize_ClientModule.vcxproj", "{82B923A9-2F4A-4784-A245-BAA6ABF5A358}"
11 | EndProject
12 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Authorize_CDKeyNetVer", "Authorize_CDKeyNetVer\Authorize_CDKeyNetVer.vcxproj", "{1D584651-5E93-43BA-9A48-E7D199DC587F}"
13 | EndProject
14 | Global
15 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
16 | Debug|x64 = Debug|x64
17 | Debug|x86 = Debug|x86
18 | Release|x64 = Release|x64
19 | Release|x86 = Release|x86
20 | EndGlobalSection
21 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
22 | {4F263EAF-A748-46AF-A10E-8A25626E0571}.Debug|x64.ActiveCfg = Debug|x64
23 | {4F263EAF-A748-46AF-A10E-8A25626E0571}.Debug|x64.Build.0 = Debug|x64
24 | {4F263EAF-A748-46AF-A10E-8A25626E0571}.Debug|x86.ActiveCfg = Debug|Win32
25 | {4F263EAF-A748-46AF-A10E-8A25626E0571}.Debug|x86.Build.0 = Debug|Win32
26 | {4F263EAF-A748-46AF-A10E-8A25626E0571}.Release|x64.ActiveCfg = Release|x64
27 | {4F263EAF-A748-46AF-A10E-8A25626E0571}.Release|x64.Build.0 = Release|x64
28 | {4F263EAF-A748-46AF-A10E-8A25626E0571}.Release|x86.ActiveCfg = Release|Win32
29 | {4F263EAF-A748-46AF-A10E-8A25626E0571}.Release|x86.Build.0 = Release|Win32
30 | {767151F7-230E-431B-AC6D-683F19F43C13}.Debug|x64.ActiveCfg = Debug|x64
31 | {767151F7-230E-431B-AC6D-683F19F43C13}.Debug|x64.Build.0 = Debug|x64
32 | {767151F7-230E-431B-AC6D-683F19F43C13}.Debug|x86.ActiveCfg = Debug|Win32
33 | {767151F7-230E-431B-AC6D-683F19F43C13}.Debug|x86.Build.0 = Debug|Win32
34 | {767151F7-230E-431B-AC6D-683F19F43C13}.Release|x64.ActiveCfg = Release|x64
35 | {767151F7-230E-431B-AC6D-683F19F43C13}.Release|x64.Build.0 = Release|x64
36 | {767151F7-230E-431B-AC6D-683F19F43C13}.Release|x86.ActiveCfg = Release|Win32
37 | {767151F7-230E-431B-AC6D-683F19F43C13}.Release|x86.Build.0 = Release|Win32
38 | {82B923A9-2F4A-4784-A245-BAA6ABF5A358}.Debug|x64.ActiveCfg = Debug|x64
39 | {82B923A9-2F4A-4784-A245-BAA6ABF5A358}.Debug|x64.Build.0 = Debug|x64
40 | {82B923A9-2F4A-4784-A245-BAA6ABF5A358}.Debug|x86.ActiveCfg = Debug|Win32
41 | {82B923A9-2F4A-4784-A245-BAA6ABF5A358}.Debug|x86.Build.0 = Debug|Win32
42 | {82B923A9-2F4A-4784-A245-BAA6ABF5A358}.Release|x64.ActiveCfg = Release|x64
43 | {82B923A9-2F4A-4784-A245-BAA6ABF5A358}.Release|x64.Build.0 = Release|x64
44 | {82B923A9-2F4A-4784-A245-BAA6ABF5A358}.Release|x86.ActiveCfg = Release|Win32
45 | {82B923A9-2F4A-4784-A245-BAA6ABF5A358}.Release|x86.Build.0 = Release|Win32
46 | {1D584651-5E93-43BA-9A48-E7D199DC587F}.Debug|x64.ActiveCfg = Debug|x64
47 | {1D584651-5E93-43BA-9A48-E7D199DC587F}.Debug|x64.Build.0 = Debug|x64
48 | {1D584651-5E93-43BA-9A48-E7D199DC587F}.Debug|x86.ActiveCfg = Debug|Win32
49 | {1D584651-5E93-43BA-9A48-E7D199DC587F}.Debug|x86.Build.0 = Debug|Win32
50 | {1D584651-5E93-43BA-9A48-E7D199DC587F}.Release|x64.ActiveCfg = Release|x64
51 | {1D584651-5E93-43BA-9A48-E7D199DC587F}.Release|x64.Build.0 = Release|x64
52 | {1D584651-5E93-43BA-9A48-E7D199DC587F}.Release|x86.ActiveCfg = Release|Win32
53 | {1D584651-5E93-43BA-9A48-E7D199DC587F}.Release|x86.Build.0 = Release|Win32
54 | EndGlobalSection
55 | GlobalSection(SolutionProperties) = preSolution
56 | HideSolutionNode = FALSE
57 | EndGlobalSection
58 | GlobalSection(ExtensibilityGlobals) = postSolution
59 | SolutionGuid = {9829EC72-7C7A-4259-9ADE-8A879697B386}
60 | EndGlobalSection
61 | EndGlobal
62 |
--------------------------------------------------------------------------------
/XEngine_Apps/Authorize_APPClient/Authorize_APPClient.vcxproj.filters:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
6 | cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx
7 |
8 |
9 | {93995380-89BD-4b04-88EB-625FBE52EBFB}
10 | h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd
11 |
12 |
13 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms
15 |
16 |
17 |
18 |
19 | 源文件
20 |
21 |
22 |
--------------------------------------------------------------------------------
/XEngine_Apps/Authorize_APPClient/Authorize_APPClient.vcxproj.user:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/XEngine_Apps/Authorize_APPLocal/Authorize_APPLocal.vcxproj.filters:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
6 | cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx
7 |
8 |
9 | {93995380-89BD-4b04-88EB-625FBE52EBFB}
10 | h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd
11 |
12 |
13 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms
15 |
16 |
17 |
18 |
19 | 源文件
20 |
21 |
22 |
--------------------------------------------------------------------------------
/XEngine_Apps/Authorize_APPLocal/Authorize_APPLocal.vcxproj.user:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/XEngine_Apps/Authorize_CDKeyNetVer/Authorize_CDKeyNetVer.vcxproj.filters:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
6 | cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx
7 |
8 |
9 | {93995380-89BD-4b04-88EB-625FBE52EBFB}
10 | h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd
11 |
12 |
13 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms
15 |
16 |
17 |
18 |
19 | 源文件
20 |
21 |
22 |
--------------------------------------------------------------------------------
/XEngine_Apps/Authorize_CDKeyNetVer/Authorize_CDKeyNetVer.vcxproj.user:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/XEngine_Apps/Authorize_ClientModule/Authorize_ClientModule.cpp:
--------------------------------------------------------------------------------
1 | #ifdef _MSC_BUILD
2 | #include
3 | #include
4 | #pragma comment(lib,"Ws2_32.lib")
5 | #ifdef _WIN64
6 | #pragma comment(lib,"../../XEngine_Source/x64/Debug/AuthorizeModule_Client")
7 | #else
8 | #pragma comment(lib,"../../XEngine_Source/Debug/AuthorizeModule_Client")
9 | #endif
10 | #endif
11 | #include
12 | #include
13 | #include
14 | #include
15 | using namespace std;
16 | #include
17 | #include "../../XEngine_Source/XAuth_BuildSwitch.h"
18 | #include "../../XEngine_Source/AuthorizeModule_Client/AuthClient_Define.h"
19 | #include "../../XEngine_Source/AuthorizeModule_Client/AuthClient_Error.h"
20 |
21 | //Windows::vs2022 x86 debug 编译即可
22 | //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
23 |
24 | int TestClient_HardLogin()
25 | {
26 | if (!AuthClient_Connector_Connect(_X("127.0.0.1"), 5300))
27 | {
28 | printf("AuthClient_Connector_Connect:%lX\n", AuthClient_GetLastError());
29 | return -1;
30 | }
31 | if (!AuthClient_Connector_Login("2FDWAD02JD2091", ""))
32 | {
33 | printf("AuthClient_Connector_Login:%lX\n", AuthClient_GetLastError());
34 | return -1;
35 | }
36 |
37 | AuthClient_Connector_Close();
38 | return 0;
39 | }
40 |
41 | int TestClient_TryLogin()
42 | {
43 | //插入查询
44 | LPCXSTR lpszTryInsert = _X("http://127.0.0.1:5302/auth/user/try");
45 |
46 | if (AuthClient_HTTPVer_TryRequest(lpszTryInsert))
47 | {
48 | printf("ok\n");
49 | }
50 | else
51 | {
52 | printf("failed\n");
53 | }
54 | return 0;
55 | }
56 | int main()
57 | {
58 | TestClient_HardLogin();
59 | TestClient_TryLogin();
60 | return 0;
61 | }
--------------------------------------------------------------------------------
/XEngine_Apps/Authorize_ClientModule/Authorize_ClientModule.vcxproj.filters:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
6 | cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx
7 |
8 |
9 | {93995380-89BD-4b04-88EB-625FBE52EBFB}
10 | h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd
11 |
12 |
13 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms
15 |
16 |
17 |
18 |
19 | 源文件
20 |
21 |
22 |
--------------------------------------------------------------------------------
/XEngine_Apps/Authorize_ClientModule/Authorize_ClientModule.vcxproj.user:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/XEngine_Apps/README.md:
--------------------------------------------------------------------------------
1 | appclient just only x86 and x64 debug compile on windows
--------------------------------------------------------------------------------
/XEngine_Apps/VSClean.bat:
--------------------------------------------------------------------------------
1 | @echo Off
2 | del /s /a *.ncb *.so *.o *.db
3 | FOR /R . %%d IN (.) DO rd /s /q "%%d\Debug" 2>nul
4 | FOR /R . %%d IN (.) DO rd /s /q "%%d\Release" 2>nul
5 | FOR /R . %%d IN (.) DO rd /s /q "%%d\x64" 2>nul
6 | FOR /R . %%d IN (.) DO rd /s /q "%%d\Debug" 2>nul
7 | FOR /R . %%d IN (.) DO rd /s /q "%%d\ipch" 2>nul
8 |
9 | rem If the Properties directory is empty, remove it
10 | FOR /R . %%d in (.) do rd /q "%%d\Properties" 2> nul
11 |
--------------------------------------------------------------------------------
/XEngine_Apps/VSCopy_Client_x64.bat:
--------------------------------------------------------------------------------
1 | copy /y "%XEngine_Lib64%\XEngine_BaseLib\XEngine_BaseLib.dll" "./"
2 | copy /y "%XEngine_Lib64%\XEngine_BaseLib\XEngine_BaseSafe.dll" "./"
3 | copy /y "%XEngine_Lib64%\XEngine_BaseLib\XEngine_Algorithm.dll" "./"
4 | copy /y "%XEngine_Lib64%\XEngine_Core\XEngine_Cryption.dll" "./"
5 |
6 | copy /y "%XEngine_Lib64%\XEngine_Client\XClient_Socket.dll" "./"
7 | copy /y "%XEngine_Lib64%\XEngine_Client\XClient_APIHelp.dll" "./"
8 |
9 | copy /y "%XEngine_Lib64%\XEngine_SystemSdk\XEngine_SystemApi.dll" "./"
10 | copy /y "%XEngine_Lib64%\XEngine_SystemSdk\XEngine_SystemConfig.dll" "./"
--------------------------------------------------------------------------------
/XEngine_Apps/VSCopy_Client_x86.bat:
--------------------------------------------------------------------------------
1 | copy /y "%XEngine_Lib32%\XEngine_BaseLib\XEngine_BaseLib.dll" "./"
2 | copy /y "%XEngine_Lib32%\XEngine_BaseLib\XEngine_BaseSafe.dll" "./"
3 | copy /y "%XEngine_Lib32%\XEngine_BaseLib\XEngine_Algorithm.dll" "./"
4 | copy /y "%XEngine_Lib32%\XEngine_Core\XEngine_Cryption.dll" "./"
5 |
6 | copy /y "%XEngine_Lib32%\XEngine_Client\XClient_Socket.dll" "./"
7 | copy /y "%XEngine_Lib32%\XEngine_Client\XClient_APIHelp.dll" "./"
8 |
9 | copy /y "%XEngine_Lib32%\XEngine_SystemSdk\XEngine_SystemApi.dll" "./"
10 | copy /y "%XEngine_Lib32%\XEngine_SystemSdk\XEngine_SystemConfig.dll" "./"
--------------------------------------------------------------------------------
/XEngine_Docment/Docment_en.docx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/libxengine/XEngine_Authorize/8718fdad4139240abdfb3e773139c9b570fc6b28/XEngine_Docment/Docment_en.docx
--------------------------------------------------------------------------------
/XEngine_Docment/Docment_zh.docx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/libxengine/XEngine_Authorize/8718fdad4139240abdfb3e773139c9b570fc6b28/XEngine_Docment/Docment_zh.docx
--------------------------------------------------------------------------------
/XEngine_Release/APPVer.key:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/libxengine/XEngine_Authorize/8718fdad4139240abdfb3e773139c9b570fc6b28/XEngine_Release/APPVer.key
--------------------------------------------------------------------------------
/XEngine_Release/XEngine_Config/HttpMime.types:
--------------------------------------------------------------------------------
1 | text/html html htm shtml
2 | text/css css
3 | text/xml xml
4 | text/mathml mml
5 | text/plain txt
6 | text/vnd.sun.j2me.app-descriptor jad
7 | text/vnd.wap.wml wml
8 | text/x-component htc
9 |
10 | image/gif gif
11 | image/jpeg jpeg jpg
12 | image/avif avif
13 | image/png png
14 | image/tiff tif tiff
15 | image/webp webp
16 | image/vnd.wap.wbmp wbmp
17 | image/svg+xml svg svgz
18 | image/x-icon ico
19 | image/x-jng jng
20 | image/x-ms-bmp bmp
21 |
22 | font/woff woff
23 | font/woff2 woff2
24 |
25 | application/pdf pdf
26 |
27 | application/vnd.google-earth.kml+xml kml
28 | application/vnd.google-earth.kmz kmz
29 |
30 | application/msword doc
31 | application/vnd.ms-excel xls
32 | application/vnd.ms-powerpoint ppt
33 | application/vnd.ms-fontobject eot
34 | application/vnd.oasis.opendocument.graphics odg
35 | application/vnd.oasis.opendocument.presentation odp
36 | application/vnd.oasis.opendocument.spreadsheet ods
37 | application/vnd.oasis.opendocument.text odt
38 | application/vnd.openxmlformats-officedocument.wordprocessingml.document docx
39 | application/vnd.openxmlformats-officedocument.spreadsheetml.sheet xlsx
40 | application/vnd.openxmlformats-officedocument.presentationml.presentation pptx
41 |
42 | application/javascript js
43 | application/atom+xml atom
44 | application/rss+xml rss
45 | application/java-archive jar war ear
46 | application/json json
47 | application/mac-binhex40 hqx
48 | application/postscript ps eps ai
49 | application/rtf rtf
50 | application/vnd.apple.mpegurl m3u8
51 | application/vnd.wap.wmlc wmlc
52 | application/wasm wasm
53 |
54 | application/x-7z-compressed 7z
55 | application/x-cocoa cco
56 | application/x-java-archive-diff jardiff
57 | application/x-java-jnlp-file jnlp
58 | application/x-makeself run
59 | application/x-perl pl pm
60 | application/x-pilot prc pdb
61 | application/x-rar-compressed rar
62 | application/x-redhat-package-manager rpm
63 | application/x-sea sea
64 | application/x-shockwave-flash swf
65 | application/x-stuffit sit
66 | application/x-tcl tcl tk
67 | application/x-x509-ca-cert der pem crt
68 | application/x-xpinstall xpi
69 | application/xhtml+xml xhtml
70 | application/xspf+xml xspf
71 | application/zip zip
72 |
73 | application/octet-stream bin exe dll
74 | application/octet-stream deb
75 | application/octet-stream dmg
76 | application/octet-stream iso img
77 | application/octet-stream msi msp msm
78 |
79 | audio/midi mid midi kar
80 | audio/mpeg mp3
81 | audio/ogg ogg
82 | audio/x-m4a m4a
83 | audio/x-realaudio ra
84 |
85 | video/3gpp 3gpp 3gp
86 | video/mp2t ts
87 | video/mp4 mp4
88 | video/mpeg mpeg mpg
89 | video/quicktime mov
90 | video/webm webm
91 | video/x-flv flv
92 | video/x-m4v m4v
93 | video/x-mng mng
94 | video/x-ms-asf asx asf
95 | video/x-ms-wmv wmv
96 | video/x-msvideo avi
--------------------------------------------------------------------------------
/XEngine_Release/XEngine_Config/XEngine_Config.json:
--------------------------------------------------------------------------------
1 | {
2 | "nTCPPort":5300,
3 | "nWSPort":5301,
4 | "nHTTPPort":5302,
5 | "bDeamon":false,
6 | "bTimeNotify":false,
7 | "XMax":{
8 | "nMaxClient":10000,
9 | "nMaxQueue":10000,
10 | "nIOThread":2,
11 | "nTCPThread":2,
12 | "nWSThread":2,
13 | "nHTTPThread":2
14 | },
15 | "XTime":{
16 | "nHeartCheck":3,
17 | "nTCPTime":5,
18 | "nWSTime":5,
19 | "nHTTPTime":5
20 | },
21 | "XVerification":{
22 | "nTokenTimeout":3600,
23 | "nDynamicTimeout":30,
24 | "nVerTime":5,
25 | "nVerMode":2,
26 | "nTryTime":30,
27 | "nTryMode":1,
28 | "st_XCDKey":{
29 | "tszKeyFile":"./APPVer.key",
30 | "tszKeyPass":"123123qa"
31 | },
32 | "st_XToken":{
33 | "bAutoRenewal":false,
34 | "nRenewalTime":-1
35 | }
36 | },
37 | "XLogin":{
38 | "bHTTPAuth":false,
39 | "bPassAuth":false,
40 | "nMultiMode":0,
41 | "st_PassUrl":{
42 | "tszPassLogin":"http://127.0.0.1:5303/auth/pass/login",
43 | "tszPassLogout":"http://127.0.0.1:5303/auth/pass/logout",
44 | "tszPassTimeout":"http://127.0.0.1:5303/auth/pass/timeout"
45 | },
46 | "st_MulitLogin":{
47 | "bSecond":true,
48 | "bTime":true,
49 | "bDay":true,
50 | "bCustom":false
51 | }
52 | },
53 | "XCrypto":{
54 | "bEnable":false,
55 | "nPass":123123
56 | },
57 | "XSql":{
58 | "nSQLType":0,
59 | "SQLAddr": "127.0.0.1",
60 | "SQLPort": 3306,
61 | "SQLUser": "root",
62 | "SQLPass": "123123",
63 | "SQLFile":"./XEngine_DataBase/SQL_User.db"
64 | },
65 | "XLog":{
66 | "tszLogFile":"./XEngine_XLog/XEngine_Authorize.log",
67 | "MaxSize":1024000,
68 | "MaxCount":10,
69 | "LogLeave":32,
70 | "nLogType":17
71 | },
72 | "XReport":{
73 | "bEnable":true,
74 | "tszServiceName":"XEngine_Authorize",
75 | "tszAPIUrl":"http://app.xyry.org:5501/api?function=machine"
76 | }
77 | }
78 |
--------------------------------------------------------------------------------
/XEngine_Release/XEngine_Config/XEngine_SwitchConfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "bSwitchDelete":true,
3 | "bSwitchRegister":true,
4 | "bSwitchLogin":true,
5 | "bSwitchPay":true,
6 | "bSwitchPass":true,
7 | "bSwitchTime":true,
8 | "bSwitchCDKey":true,
9 | "bSwitchNotice":true,
10 | "bSwitchDCode":false,
11 | "bSwitchMulti":true,
12 | "bSwitchTry":true,
13 | "bSwitchBanned":true,
14 | "bSwitchTokenLogin":true,
15 | "bSwitchHCLogin":true
16 | }
--------------------------------------------------------------------------------
/XEngine_Release/XEngine_Config/XEngine_VersionConfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "XVer":[
3 | "V3.18.0.1001 Build20250510",
4 | "V3.17.0.1001 Build20250305",
5 | "V3.16.0.1001 Build20250113",
6 | "V3.15.0.1001 Build20241121",
7 | "V3.14.0.1001 Build20240920",
8 | "V3.13.0.1001 Build20240715",
9 | "V3.12.1.1001 Build20240621",
10 | "V3.12.0.1001 Build20240513",
11 | "V3.11.0.1001 Build20240223",
12 | "V3.10.0.1001 Build20240109",
13 | "V3.9.1.1001 Build20231110",
14 | "V3.9.0.1001 Build20231110",
15 | "V3.8.0.1001 Build20230811",
16 | "V3.7.0.1001 Build20230421",
17 | "V3.6.0.1001 Build20230224",
18 | "V3.5.0.1001 Build20230203",
19 | "V3.4.0.1001 Build20221230",
20 | "V3.3.0.1001 Build20221101",
21 | "V3.2.0.1001 Build20220923",
22 | "V3.1.0.1001 Build20220826",
23 | "V3.0.0.1001 Build20220816",
24 | "V2.8.0.1001 Build20220809",
25 | "V2.7.2.1001 Build20220715",
26 | "V2.7.1.1001 Build20220602",
27 | "V2.7.0.1001 Build20220531",
28 | "V2.6.1.1001 Build20220330",
29 | "V2.6.0.1001 Build20220218",
30 | "V2.5.1.1001 Build20220126",
31 | "V2.5.0.1001 Build20211203",
32 | "V2.4.0.1001 Build20211105",
33 | "V2.3.0.1001 Build20211022",
34 | "V2.2.0.1001 Build20210806",
35 | "V2.1.0.1001 Build20210801",
36 | "V2.0.0.1001 Build20210723",
37 | "V1.11.0.1001 Build20210618",
38 | "V1.10.0.1001 Build20210524",
39 | "V1.9.0.1001 Build20210503",
40 | "V1.9.0.1001 Build20210423",
41 | "V1.8.0.1001 Build20210209",
42 | "V1.7.0.1001 Build20210116",
43 | "V1.6.0.1001 Build20190601",
44 | "V1.5.0.1001 Build20190522",
45 | "V1.4.0.1001 Build20190308",
46 | "V1.3.0.1001 Build20141030",
47 | "V1.2.0.1001 Build20140907",
48 | "V1.1.0.1001 Build20110320",
49 | "V1.0.0.1001 Build20110306"
50 | ]
51 | }
--------------------------------------------------------------------------------
/XEngine_Release/XEngine_Coredump/keepfile:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/libxengine/XEngine_Authorize/8718fdad4139240abdfb3e773139c9b570fc6b28/XEngine_Release/XEngine_Coredump/keepfile
--------------------------------------------------------------------------------
/XEngine_Release/XEngine_DataBase/SQL_User.db:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/libxengine/XEngine_Authorize/8718fdad4139240abdfb3e773139c9b570fc6b28/XEngine_Release/XEngine_DataBase/SQL_User.db
--------------------------------------------------------------------------------
/XEngine_Release/XEngine_XLog/keepfile:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/libxengine/XEngine_Authorize/8718fdad4139240abdfb3e773139c9b570fc6b28/XEngine_Release/XEngine_XLog/keepfile
--------------------------------------------------------------------------------
/XEngine_Source/AuthorizeModule_CDKey/AuthorizeModule_CDKey.def:
--------------------------------------------------------------------------------
1 | LIBRARY
2 |
3 | EXPORTS
4 | Authorize_GetLastError
5 |
6 | Authorize_Serial_Creator
7 | Authorize_Serial_Create
8 | Authorize_Serial_GetType
9 |
10 | Authorize_CDKey_WriteKey
11 | Authorize_CDKey_ReadKey
12 | Authorize_CDKey_WriteMemory
13 | Authorize_CDKey_ReadMemory
14 | Authorize_CDKey_BuildKeyTime
15 | Authorize_CDKey_UserRegister
16 | Authorize_CDKey_GetLeftTimer
17 | Authorize_CDKey_WriteTime
18 | Authorize_CDKey_ReadTime
--------------------------------------------------------------------------------
/XEngine_Source/AuthorizeModule_CDKey/AuthorizeModule_CDKey.vcxproj.filters:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
6 | cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx
7 |
8 |
9 | {93995380-89BD-4b04-88EB-625FBE52EBFB}
10 | h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd
11 |
12 |
13 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms
15 |
16 |
17 | {0a186122-00ae-4ad3-91b5-8a6fdf3950bc}
18 |
19 |
20 | {c4ce44ad-ed56-48d6-92d8-49f68b1029d4}
21 |
22 |
23 | {a33f91ec-f718-45b9-9ec5-d4f93a6482d0}
24 |
25 |
26 | {39fc0e03-6422-475a-be30-30d77154b7d1}
27 |
28 |
29 |
30 |
31 | 头文件
32 |
33 |
34 | 头文件
35 |
36 |
37 | 头文件\Authorize_CDKey
38 |
39 |
40 | 头文件\Authorize_Serial
41 |
42 |
43 | 头文件
44 |
45 |
46 | 头文件
47 |
48 |
49 |
50 |
51 | 源文件
52 |
53 |
54 | 源文件
55 |
56 |
57 | 源文件\Authorize_CDKey
58 |
59 |
60 | 源文件\Authorize_Serial
61 |
62 |
63 |
64 |
65 | 源文件
66 |
67 |
68 |
--------------------------------------------------------------------------------
/XEngine_Source/AuthorizeModule_CDKey/AuthorizeModule_CDKey.vcxproj.user:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/XEngine_Source/AuthorizeModule_CDKey/Authorize_CDKey/Authorize_CDKey.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | /********************************************************************
3 | // Created: 2024/07/08 17:27:26
4 | // File Name: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_CDKey\Authorize_CDKey\Authorize_CDKey.h
5 | // File Path: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_CDKey\Authorize_CDKey
6 | // File Base: Authorize_CDKey
7 | // File Ext: h
8 | // Project: XEngine
9 | // Author: qyt
10 | // Purpose: 本地授权服务
11 | // History:
12 | *********************************************************************/
13 |
14 | class CAuthorize_CDKey
15 | {
16 | public:
17 | CAuthorize_CDKey();
18 | ~CAuthorize_CDKey();
19 | public:
20 | bool Authorize_CDKey_WriteKey(LPCXSTR lpszFileKey, XENGINE_AUTHORIZE_LOCAL* pSt_AuthLocal);
21 | bool Authorize_CDKey_ReadKey(LPCXSTR lpszFileKey, XENGINE_AUTHORIZE_LOCAL* pSt_AuthLocal);
22 | bool Authorize_CDKey_WriteMemory(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, XENGINE_AUTHORIZE_LOCAL* pSt_AuthLocal);
23 | bool Authorize_CDKey_ReadMemory(LPCXSTR lpszMsgBuffer, int nMsgLen, XENGINE_AUTHORIZE_LOCAL* pSt_AuthLocal);
24 | public:
25 | bool Authorize_CDKey_BuildKeyTime(XENGINE_AUTHORIZE_LOCAL* pSt_AuthLocal, __int64x nDayTimer = 0, XENGINE_LIBTIME* pSt_DayTimer = NULL);
26 | bool Authorize_CDKey_UserRegister(XENGINE_AUTHORIZE_LOCAL* pSt_AuthLocal, LPCXSTR lpszSerialStr);
27 | bool Authorize_CDKey_GetLeftTimer(XENGINE_AUTHORIZE_LOCAL* pSt_AuthLocal, LPCXSTR lpszSerialNumber = NULL);
28 | bool Authorize_CDKey_WriteTime(LPCXSTR lpszFileKey, int nCount = 0);
29 | bool Authorize_CDKey_ReadTime(LPCXSTR lpszFileKey, XCHAR*** ppptszTimeList, int* pInt_ListCount);
30 | private:
31 | };
32 |
--------------------------------------------------------------------------------
/XEngine_Source/AuthorizeModule_CDKey/Authorize_Serial/Authorize_Serial.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | /********************************************************************
3 | // Created: 2024/07/08 17:30:06
4 | // File Name: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_CDKey\Authorize_Serial\Authorize_Serial.h
5 | // File Path: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_CDKey\Authorize_Serial
6 | // File Base: Authorize_Serial
7 | // File Ext: h
8 | // Project: XEngine
9 | // Author: qyt
10 | // Purpose: 序列卡生成器
11 | // History:
12 | *********************************************************************/
13 |
14 |
15 | class CAuthorize_Serial
16 | {
17 | public:
18 | CAuthorize_Serial();
19 | ~CAuthorize_Serial();
20 | public:
21 | 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);
22 | bool Authorize_Serial_Create(XCHAR*** ppptszSerialNumber, LPCXSTR lpszUserHeader, int nCardNumber, int nFieldNumber);
23 | bool Authorize_Serial_GetType(LPCXSTR lpszSerialNumber, ENUM_AUTHORIZE_MODULE_SERIAL_TYPE* penSerialType, XENGINE_LIBTIME* pSt_CustomTimer = NULL);
24 | protected:
25 | bool Authorize_Serial_Fill(XCHAR *ptszFillBuffer, int nCardNumer); //填充后面的字段
26 | protected:
27 | bool Authorize_Serial_Random(XCHAR *ptszFillBuffer); //取随机字母数字
28 | bool Authorize_Serial_RandomWord(XCHAR *ptszFillBuffer); //随机取单词
29 | bool Authorize_Serial_RandomNumber(XCHAR *ptszFilleBuffer); //取随机数
30 | private:
31 | XCHAR tszTimerSecond[6]; //按照秒钟时间格式
32 | XCHAR tszTimerDay[6]; //按照天的时间格式
33 | XCHAR tszTimerTime[6]; //次数卡
34 | XCHAR tszTimerCustom[32]; //自定义到期时间
35 | };
36 |
--------------------------------------------------------------------------------
/XEngine_Source/AuthorizeModule_CDKey/CDKey_Error.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | /********************************************************************
3 | // Created: 2024/07/08 17:30:28
4 | // File Name: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_CDKey\Authorize_Error.h
5 | // File Path: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_CDKey
6 | // File Base: Authorize_Error
7 | // File Ext: h
8 | // Project: XEngine
9 | // Author: qyt
10 | // Purpose: 错误导出表
11 | // History:
12 | *********************************************************************/
13 | //////////////////////////////////////////////////////////////////////////
14 | // 序列卡授权导出错误表
15 | //////////////////////////////////////////////////////////////////////////
16 | #define ERROR_AUTHORIZE_MODULE_CDKEY_PARAMENT 0x50A0001 //参数不合适
17 | #define ERROR_AUTHORIZE_MODULE_CDKEY_NOTSUPPORT 0x50A0002 //不支持此生成类型
18 | #define ERROR_AUTHORIZE_MODULE_CDKEY_BUFFER 0x50A0003 //这个缓冲区有问题,获取卡类型失败
19 | #define ERROR_AUTHORIZE_MODULE_CDKEY_CUSTOM 0x50A0004 //获取自定义时间序列号的过期时间失败。
20 | #define ERROR_AUTHORIZE_MODULE_CDKEY_UNKNOW 0x50A0005 //获取类型失败,这个类型未知
21 | #define ERROR_AUTHORIZE_MODULE_CDKEY_CONNECT 0x50A1001 //连接信息写入失败
22 | #define ERROR_AUTHORIZE_MODULE_CDKEY_APPINFO 0x50A1002 //程序信息写入失败
23 | #define ERROR_AUTHORIZE_MODULE_CDKEY_AUTHREG 0x50A1003 //添加注册信息失败
24 | #define ERROR_AUTHORIZE_MODULE_CDKEY_SERIAL 0x50A1004 //写入序列号失败
25 | #define ERROR_AUTHORIZE_MODULE_CDKEY_USER 0x50A1005 //写入用户信息失败
26 | #define ERROR_AUTHORIZE_MODULE_CDKEY_NOTREG 0x50A1021 //没有注册
27 | #define ERROR_AUTHORIZE_MODULE_CDKEY_NOTHASTIME 0x50A1022 //没有可用时间
28 | #define ERROR_AUTHORIZE_MODULE_CDKEY_TIMEOUT 0x50A1024 //CDKEY已经超时,没有可用时间
29 | #define ERROR_AUTHORIZE_MODULE_CDKEY_TEMP 0x50A1026 //临时版本已不可用
30 | #define ERROR_AUTHORIZE_MODULE_CDKEY_EXPIRED 0x50A1027 //已经过期的CDKEY,无法继续使用
31 | #define ERROR_AUTHORIZE_MODULE_CDKEY_OPENFILE 0x50A1031 //文件不存在
32 | #define ERROR_AUTHORIZE_MODULE_CDKEY_SETFILE 0x50A1032 //设置文件失败
33 | #define ERROR_AUTHORIZE_MODULE_CDKEY_TIMELIST 0x50A1041 //不存在时间列表
34 | #define ERROR_AUTHORIZE_MODULE_CDKEY_MALLOC 0x50A1042 //申请内存失败
35 | #define ERROR_AUTHORIZE_MODULE_CDKEY_READ 0x50A1043 //读取文件失败
36 | #define ERROR_AUTHORIZE_MODULE_CDKEY_FAILED 0x50A1044 //序列号验证失败,输入的序列号错误
--------------------------------------------------------------------------------
/XEngine_Source/AuthorizeModule_CDKey/Makefile:
--------------------------------------------------------------------------------
1 | CC = g++ -Wall -std=c++20 -fPIC
2 | PLATVER =
3 | FILEEXT =
4 | LIBFLAG =
5 | LOADHDR = -I ./
6 | LIB = -lXEngine_BaseLib -lXEngine_SystemConfig
7 | LIBEX =
8 | LOADSO =
9 | OBJECTS = Authorize_Serial.o Authorize_CDKey.o pch.o
10 |
11 | ifeq ($(RELEASE),1)
12 | FLAGS = -c -D _RELEASE
13 | DEBUG = -O2
14 | else
15 | ifeq ($(PLATFORM),mac)
16 | FLAGS = -c
17 | DEBUG = -g -D _DEBUG
18 | else
19 | FLAGS = -c -lc_p
20 | DEBUG = -g -pg -D _DEBUG
21 | endif
22 | endif
23 |
24 | ifeq ($(UNICODE),1)
25 | override UNICODE := -D __UNICODE__
26 | else
27 | override UNICODE := -D __ANSI__
28 | endif
29 |
30 | ifeq ($(PLATFORM),linux)
31 | ifeq (/etc/redhat-release,$(wildcard /etc/redhat-release))
32 | PLATVER = -D __CENTOS__
33 | else
34 | PLATVER = -D __UBUNTU__
35 | endif
36 | FILEEXT = so
37 | LIBFLAG = -shared
38 | LIBEX = -lpthread -lrt -ldl
39 | LOADBIN = -Wl,-rpath=../XEngine_BaseLib,--disable-new-dtags
40 | else ifeq ($(PLATFORM),mac)
41 | CC += -Wno-deprecated-declarations
42 | PLATVER = -D __MACOS__
43 | FILEEXT = dylib
44 | LIBFLAG = -dynamiclib
45 | LIBEX = -lpthread -ldl
46 | LOADBIN = -Wl,-rpath,@loader_path/../XEngine_BaseLib/
47 | endif
48 |
49 | all:$(OBJECTS)
50 | $(CC) $(DEBUG) $(OBJECTS) -o libAuthorizeModule_CDKey.$(FILEEXT) $(LIBFLAG) $(LIB) $(LIBEX) $(LOADSO) $(LOADBIN)
51 |
52 | Authorize_Serial.o:./Authorize_Serial/Authorize_Serial.cpp
53 | $(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(PLATVER) $(LOADHDR) ./Authorize_Serial/Authorize_Serial.cpp
54 | Authorize_CDKey.o:./Authorize_CDKey/Authorize_CDKey.cpp
55 | $(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(PLATVER) $(LOADHDR) ./Authorize_CDKey/Authorize_CDKey.cpp
56 |
57 | pch.o:pch.cpp
58 | $(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(PLATVER) $(LOADHDR) pch.cpp
59 |
60 |
61 | InstallAll:InstallSo
62 | InstallSo:./libAuthorizeModule_CDKey.$(FILEEXT)
63 | cp ./libAuthorizeModule_CDKey.$(FILEEXT) ../../XEngine_Release/libAuthorizeModule_CDKey.$(FILEEXT)
64 |
65 |
66 | CleanAll:CleanObj CleanMk
67 | CleanObj:
68 | rm *.o
69 | CleanMk:
70 | rm *.$(FILEEXT)
71 |
--------------------------------------------------------------------------------
/XEngine_Source/AuthorizeModule_CDKey/dllmain.cpp:
--------------------------------------------------------------------------------
1 | // dllmain.cpp : 定义 DLL 应用程序的入口点。
2 | #include "pch.h"
3 |
4 | BOOL APIENTRY DllMain( HMODULE hModule,
5 | DWORD ul_reason_for_call,
6 | LPVOID lpReserved
7 | )
8 | {
9 | switch (ul_reason_for_call)
10 | {
11 | case DLL_PROCESS_ATTACH:
12 | case DLL_THREAD_ATTACH:
13 | case DLL_THREAD_DETACH:
14 | case DLL_PROCESS_DETACH:
15 | break;
16 | }
17 | return TRUE;
18 | }
19 |
20 |
--------------------------------------------------------------------------------
/XEngine_Source/AuthorizeModule_CDKey/framework.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #define WIN32_LEAN_AND_MEAN // 从 Windows 头文件中排除极少使用的内容
4 | // Windows 头文件
5 | #include
6 |
--------------------------------------------------------------------------------
/XEngine_Source/AuthorizeModule_CDKey/pch.h:
--------------------------------------------------------------------------------
1 | // pch.h: 这是预编译标头文件。
2 | // 下方列出的文件仅编译一次,提高了将来生成的生成性能。
3 | // 这还将影响 IntelliSense 性能,包括代码完成和许多代码浏览功能。
4 | // 但是,如果此处列出的文件中的任何一个在生成之间有更新,它们全部都将被重新编译。
5 | // 请勿在此处添加要频繁更新的文件,这将使得性能优势无效。
6 |
7 | #ifndef PCH_H
8 | #define PCH_H
9 |
10 | #ifdef _MSC_BUILD
11 | // 添加要在此处预编译的标头
12 | #include "framework.h"
13 | #include
14 | #include
15 | #else
16 | #include
17 | #endif
18 | #endif //PCH_H
19 | #include
20 | #include
21 | #include
22 | #include
23 | #include
24 | #include
25 | #include
26 | using namespace std;
27 | #include
28 | #include
29 | #include
30 | #include
31 | #include
32 | #include
33 | #include
34 | #include "../XAuth_BuildSwitch.h"
35 | #include "../XAuth_Protocol.h"
36 | #include "CDKey_Define.h"
37 | #include "CDKey_Error.h"
38 | /********************************************************************
39 | // Created: 2024/07/08 17:29:57
40 | // File Name: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_CDKey\pch.h
41 | // File Path: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_CDKey
42 | // File Base: pch
43 | // File Ext: h
44 | // Project: XEngine
45 | // Author: qyt
46 | // Purpose: 公有头文件
47 | // History:
48 | *********************************************************************/
49 | extern bool Authorize_IsErrorOccur;
50 | extern XLONG Authorize_dwErrorCode;
51 |
52 | typedef std::string xstring;
53 |
54 | #ifdef _MSC_BUILD
55 | #pragma comment(lib,"XEngine_BaseLib/XEngine_BaseLib.lib")
56 | #pragma comment(lib,"XEngine_SystemSdk/XEngine_SystemConfig.lib")
57 | #endif
--------------------------------------------------------------------------------
/XEngine_Source/AuthorizeModule_Client/AuthClient_Connector/AuthClient_Connector.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | /********************************************************************
3 | // Created: 2023/11/15 10:34:36
4 | // File Name: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Client\AuthClient_Connector\AuthClient_Connector.h
5 | // File Path: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Client\AuthClient_Connector
6 | // File Base: AuthClient_Connector
7 | // File Ext: h
8 | // Project: XEngine(网络通信引擎)
9 | // Author: qyt
10 | // Purpose: 验证客户端示例模块
11 | // History:
12 | *********************************************************************/
13 | typedef struct
14 | {
15 | XNETHANDLE xhToken;
16 | int nDynamicCode;
17 | time_t nTimeStart;
18 | }AUTHHELP_DYNAMICCODE;
19 |
20 | class CAuthClient_Connector
21 | {
22 | public:
23 | CAuthClient_Connector();
24 | ~CAuthClient_Connector();
25 | public:
26 | bool AuthClient_Connector_Connect(LPCXSTR lpszClientAddr, int nPort, LPCXSTR lpszPass = NULL);
27 | bool AuthClient_Connector_Close();
28 | bool AuthClient_Connector_GetAuth(bool* pbAuth = NULL);
29 | bool AuthClient_Connector_Login(LPCXSTR lpszUser, LPCXSTR lpszPass, XSHOT nDYCode = 0, XNETHANDLE xhToken = 0, XLONG dwCryption = 0);
30 | bool AuthClient_Connector_Heart(bool bEnable = true);
31 | protected:
32 | static XHTHREAD XCALLBACK AuthClient_Connector_Thread(XPVOID lParam);
33 | private:
34 | bool m_bRun = false;
35 | bool m_bLogin = false;
36 | bool m_bAuth = false;
37 | bool m_bHeart = false;
38 | XSOCKET m_hSocket = 0;
39 | XCHAR tszPassStr[128] = {};
40 | private:
41 | shared_ptr pSTDThread;
42 | };
--------------------------------------------------------------------------------
/XEngine_Source/AuthorizeModule_Client/AuthClient_Error.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | /********************************************************************
3 | // Created: 2023/11/15 11:32:27
4 | // File Name: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Client\AuthClient_Error.h
5 | // File Path: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Client
6 | // File Base: AuthClient_Error
7 | // File Ext: h
8 | // Project: XEngine(网络通信引擎)
9 | // Author: qyt
10 | // Purpose: 错误表
11 | // History:
12 | *********************************************************************/
13 | //////////////////////////////////////////////////////////////////////////
14 | // 导出的错误表
15 | //////////////////////////////////////////////////////////////////////////
16 | /************************************************************************/
17 | /* 网络协议错误 */
18 | /************************************************************************/
19 | #define ERROR_AUTHORIZE_MODULE_CLIENT_PARAMENT 0x0060000 //参数错误,无法继续
20 | #define ERROR_AUTHORIZE_MODULE_CLIENT_SEND 0x0060001 //发送数据失败
21 | #define ERROR_AUTHORIZE_MODULE_CLIENT_RECV 0x0060002 //接受数据失败
22 | #define ERROR_AUTHORIZE_MODULE_CLIENT_LOGIN 0x0060003 //登录失败,请查看错误码
23 | #define ERROR_AUTHORIZE_MODULE_CLIENT_THREAD 0x0060004 //创建线程失败
24 | #define ERROR_AUTHORIZE_MODULE_CLIENT_NOTAUTH 0x0060005 //没有验证无法启用心跳
25 | /************************************************************************/
26 | /* HTTP验证错误 */
27 | /************************************************************************/
28 | #define ERROR_AUTHORIZE_MODULE_HTTPVER_PARAMENT 0x0060010
29 | #define ERROR_AUTHORIZE_MODULE_HTTPVER_PARSE 0x0060011
30 | #define ERROR_AUTHORIZE_MODULE_HTTPVER_VERFAILED 0x0060012
--------------------------------------------------------------------------------
/XEngine_Source/AuthorizeModule_Client/AuthClient_HTTPVer/AuthClient_HTTPVer.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | /********************************************************************
3 | // Created: 2024/01/04 09:42:55
4 | // File Name: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Client\AuthClient_HTTPVer\AuthClient_HTTPVer.h
5 | // File Path: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Client\AuthClient_HTTPVer
6 | // File Base: AuthClient_HTTPVer
7 | // File Ext: h
8 | // Project: XEngine(网络通信引擎)
9 | // Author: qyt
10 | // Purpose: 临时授权客户端
11 | // History:
12 | *********************************************************************/
13 |
14 | class CAuthClient_HTTPVer
15 | {
16 | public:
17 | CAuthClient_HTTPVer();
18 | ~CAuthClient_HTTPVer();
19 | public:
20 | bool AuthClient_HTTPVer_TryRequest(LPCXSTR lpszURLAddr, LPCXSTR lpszPass = NULL);
21 | bool AuthClient_HTTPVer_GetDCode(LPCXSTR lpszURLAddr, int* pInt_DYCode, XNETHANDLE* pxhToken, int* pInt_Timeout = NULL, LPCXSTR lpszPass = NULL);
22 | protected:
23 | private:
24 | };
--------------------------------------------------------------------------------
/XEngine_Source/AuthorizeModule_Client/AuthorizeModule_Client.def:
--------------------------------------------------------------------------------
1 | LIBRARY
2 |
3 | EXPORTS
4 | AuthClient_GetLastError
5 |
6 | AuthClient_Connector_Connect
7 | AuthClient_Connector_Close
8 | AuthClient_Connector_GetAuth
9 | AuthClient_Connector_Login
10 | AuthClient_Connector_Heart
11 |
12 | AuthClient_HTTPVer_TryRequest
13 | AuthClient_HTTPVer_GetDCode
--------------------------------------------------------------------------------
/XEngine_Source/AuthorizeModule_Client/AuthorizeModule_Client.vcxproj.filters:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
6 | cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx
7 |
8 |
9 | {93995380-89BD-4b04-88EB-625FBE52EBFB}
10 | h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd
11 |
12 |
13 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms
15 |
16 |
17 | {8e7e2cf3-2b0b-423c-ac1e-1397e7a6b105}
18 |
19 |
20 | {af74d4d4-f721-4060-b98b-6f9d5eda9354}
21 |
22 |
23 | {4a9a85f2-55f9-47e4-9049-14245fc56628}
24 |
25 |
26 | {a5434c6b-9493-4a10-ae83-7dc2f1f6d489}
27 |
28 |
29 |
30 |
31 | 头文件
32 |
33 |
34 | 头文件
35 |
36 |
37 | 头文件\AuthClient_Connector
38 |
39 |
40 | 头文件
41 |
42 |
43 | 头文件
44 |
45 |
46 | 头文件\AuthClient_HTTPVer
47 |
48 |
49 |
50 |
51 | 源文件
52 |
53 |
54 | 源文件
55 |
56 |
57 | 源文件\AuthClient_Connector
58 |
59 |
60 | 源文件\AuthClient_HTTPVer
61 |
62 |
63 |
64 |
65 | 源文件
66 |
67 |
68 |
--------------------------------------------------------------------------------
/XEngine_Source/AuthorizeModule_Client/AuthorizeModule_Client.vcxproj.user:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/XEngine_Source/AuthorizeModule_Client/Makefile:
--------------------------------------------------------------------------------
1 | CC = g++ -Wall -std=c++20 -fPIC
2 | PLATVER =
3 | FILEEXT =
4 | LIBFLAG =
5 | LOADHDR = -I ./ -I ../XEngine_Depend/XEngine_Module/jsoncpp
6 | LOADSO = -L ../XEngine_Depend/XEngine_Module/jsoncpp
7 | LIB = -ljsoncpp -lXEngine_BaseLib -lXEngine_Cryption -lXClient_Socket -lXClient_APIHelp -lXEngine_SystemApi
8 | LIBEX =
9 | OBJECTS = AuthClient_Connector.o AuthClient_HTTPVer.o pch.o
10 |
11 | ifeq ($(RELEASE),1)
12 | FLAGS = -c -D _RELEASE
13 | DEBUG = -O2
14 | else
15 | ifeq ($(PLATFORM),mac)
16 | FLAGS = -c
17 | DEBUG = -g -D _DEBUG
18 | else
19 | FLAGS = -c -lc_p
20 | DEBUG = -g -pg -D _DEBUG
21 | endif
22 | endif
23 |
24 | ifeq ($(UNICODE),1)
25 | override UNICODE := -D __UNICODE__
26 | else
27 | override UNICODE := -D __ANSI__
28 | endif
29 |
30 | ifeq ($(PLATFORM),linux)
31 | ifeq (/etc/redhat-release,$(wildcard /etc/redhat-release))
32 | PLATVER = -D __CENTOS__
33 | else
34 | PLATVER = -D __UBUNTU__
35 | endif
36 | FILEEXT = so
37 | LIBFLAG = -shared
38 | LIBEX = -lpthread -lrt -ldl
39 | LOADBIN = -Wl,-rpath=./,--disable-new-dtags
40 | else ifeq ($(PLATFORM),mac)
41 | CC += -Wno-deprecated-declarations
42 | PLATVER = -D __MACOS__
43 | FILEEXT = dylib
44 | LIBFLAG = -dynamiclib
45 | LIBEX = -lpthread -ldl
46 | LOADBIN = -Wl,-rpath,@loader_path/./
47 | endif
48 |
49 | all:$(OBJECTS)
50 | $(CC) $(DEBUG) $(OBJECTS) -o libAuthorizeModule_Client.$(FILEEXT) $(LIBFLAG) $(LIB) $(LIBEX) $(LOADSO) $(LOADBIN)
51 |
52 | AuthClient_Connector.o:./AuthClient_Connector/AuthClient_Connector.cpp
53 | $(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(PLATVER) $(LOADHDR) ./AuthClient_Connector/AuthClient_Connector.cpp
54 | AuthClient_HTTPVer.o:./AuthClient_HTTPVer/AuthClient_HTTPVer.cpp
55 | $(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(PLATVER) $(LOADHDR) ./AuthClient_HTTPVer/AuthClient_HTTPVer.cpp
56 |
57 | pch.o:pch.cpp
58 | $(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(PLATVER) $(LOADHDR) pch.cpp
59 |
60 | InstallAll:InstallSo
61 | InstallSo:./libAuthorizeModule_Client.$(FILEEXT)
62 | cp ./libAuthorizeModule_Client.$(FILEEXT) ../../XEngine_Release/libAuthorizeModule_Client.$(FILEEXT)
63 |
64 |
65 | CleanAll:CleanObj CleanMk
66 | CleanObj:
67 | rm *.o
68 | CleanMk:
69 | rm *.$(FILEEXT)
70 |
--------------------------------------------------------------------------------
/XEngine_Source/AuthorizeModule_Client/dllmain.cpp:
--------------------------------------------------------------------------------
1 | // dllmain.cpp : 定义 DLL 应用程序的入口点。
2 | #include "pch.h"
3 |
4 | BOOL APIENTRY DllMain( HMODULE hModule,
5 | DWORD ul_reason_for_call,
6 | LPVOID lpReserved
7 | )
8 | {
9 | switch (ul_reason_for_call)
10 | {
11 | case DLL_PROCESS_ATTACH:
12 | case DLL_THREAD_ATTACH:
13 | case DLL_THREAD_DETACH:
14 | case DLL_PROCESS_DETACH:
15 | break;
16 | }
17 | return TRUE;
18 | }
19 |
20 |
--------------------------------------------------------------------------------
/XEngine_Source/AuthorizeModule_Client/framework.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #define WIN32_LEAN_AND_MEAN // 从 Windows 头文件中排除极少使用的内容
4 | // Windows 头文件
5 | #include
6 |
--------------------------------------------------------------------------------
/XEngine_Source/AuthorizeModule_Client/pch.cpp:
--------------------------------------------------------------------------------
1 | #include "pch.h"
2 | #include "AuthClient_Connector/AuthClient_Connector.h"
3 | #include "AuthClient_HTTPVer/AuthClient_HTTPVer.h"
4 | /********************************************************************
5 | // Created: 2023/11/15 11:28:22
6 | // File Name: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Client\pch.cpp
7 | // File Path: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Client
8 | // File Base: pch
9 | // File Ext: cpp
10 | // Project: XEngine(网络通信引擎)
11 | // Author: qyt
12 | // Purpose: 导出实现
13 | // History:
14 | *********************************************************************/
15 | bool AuthClient_IsErrorOccur = false;
16 | XLONG AuthClient_dwErrorCode = 0;
17 | //////////////////////////////////////////////////////////////////////////
18 | CAuthClient_Connector m_Connector;
19 | CAuthClient_HTTPVer m_HTTPVer;
20 | //////////////////////////////////////////////////////////////////////////
21 | // 导出的函数
22 | //////////////////////////////////////////////////////////////////////////
23 | extern "C" XLONG AuthClient_GetLastError(int* pInt_SysError)
24 | {
25 | if (NULL != pInt_SysError)
26 | {
27 | *pInt_SysError = errno;
28 | }
29 | return AuthClient_dwErrorCode;
30 | }
31 | /************************************************************************/
32 | /* 验证客户端导出函数 */
33 | /************************************************************************/
34 | extern "C" bool AuthClient_Connector_Connect(LPCXSTR lpszClientAddr, int nPort, LPCXSTR lpszPass)
35 | {
36 | return m_Connector.AuthClient_Connector_Connect(lpszClientAddr, nPort, lpszPass);
37 | }
38 | extern "C" bool AuthClient_Connector_Close()
39 | {
40 | return m_Connector.AuthClient_Connector_Close();
41 | }
42 | extern "C" bool AuthClient_Connector_GetAuth(bool* pbAuth)
43 | {
44 | return m_Connector.AuthClient_Connector_GetAuth(pbAuth);
45 | }
46 | extern "C" bool AuthClient_Connector_Login(LPCXSTR lpszUser, LPCXSTR lpszPass, XSHOT nDYCode, XNETHANDLE xhToken, XLONG dwCryption)
47 | {
48 | return m_Connector.AuthClient_Connector_Login(lpszUser, lpszPass, nDYCode, xhToken, dwCryption);
49 | }
50 | extern "C" bool AuthClient_Connector_Heart(bool bEnable)
51 | {
52 | return m_Connector.AuthClient_Connector_Heart(bEnable);
53 | }
54 | /************************************************************************/
55 | /* 临时验证函数 */
56 | /************************************************************************/
57 | extern "C" bool AuthClient_HTTPVer_TryRequest(LPCXSTR lpszURLAddr)
58 | {
59 | return m_HTTPVer.AuthClient_HTTPVer_TryRequest(lpszURLAddr);
60 | }
61 | extern "C" bool AuthClient_HTTPVer_GetDCode(LPCXSTR lpszURLAddr, int* pInt_DYCode, XNETHANDLE * pxhToken, int* pInt_Timeout)
62 | {
63 | return m_HTTPVer.AuthClient_HTTPVer_GetDCode(lpszURLAddr, pInt_DYCode, pxhToken, pInt_Timeout);
64 | }
--------------------------------------------------------------------------------
/XEngine_Source/AuthorizeModule_Client/pch.h:
--------------------------------------------------------------------------------
1 | // pch.h: 这是预编译标头文件。
2 | // 下方列出的文件仅编译一次,提高了将来生成的生成性能。
3 | // 这还将影响 IntelliSense 性能,包括代码完成和许多代码浏览功能。
4 | // 但是,如果此处列出的文件中的任何一个在生成之间有更新,它们全部都将被重新编译。
5 | // 请勿在此处添加要频繁更新的文件,这将使得性能优势无效。
6 |
7 | #ifndef PCH_H
8 | #define PCH_H
9 |
10 | // 添加要在此处预编译的标头
11 | #ifdef _MSC_BUILD
12 | #include "framework.h"
13 | #include
14 | #endif
15 | #endif //PCH_H
16 | #include
17 | #include
18 | #include
19 | #include
20 | #include
21 | #include
22 | #include
23 | #include
24 | #include
25 | #include
26 | #include
27 | #include "../XAuth_BuildSwitch.h"
28 | #if (1 == _XAUTH_BUILD_SWITCH_CLIENT_TCP)
29 | #include
30 | #include
31 | #include
32 | #include
33 | #include "../XAuth_Protocol.h"
34 | #endif
35 | #if (1 == _XAUTH_BUILD_SWITCH_CLIENT_HTTP)
36 | #include
37 | #include
38 | #include
39 | #include
40 | #endif
41 | #include "AuthClient_Define.h"
42 | #include "AuthClient_Error.h"
43 | using namespace std;
44 | /********************************************************************
45 | // Created: 2023/11/15 10:37:19
46 | // File Name: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Client\pch.h
47 | // File Path: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Client
48 | // File Base: pch
49 | // File Ext: h
50 | // Project: XEngine(网络通信引擎)
51 | // Author: qyt
52 | // Purpose: 公有头文件
53 | // History:
54 | *********************************************************************/
55 | extern bool AuthClient_IsErrorOccur;
56 | extern XLONG AuthClient_dwErrorCode;
57 |
58 | #ifdef _MSC_BUILD
59 | #pragma comment(lib,"XEngine_BaseLib/XEngine_BaseLib")
60 | #pragma comment(lib,"XEngine_Core/XEngine_Cryption")
61 | #pragma comment(lib,"XEngine_Client/XClient_Socket")
62 | #pragma comment(lib,"XEngine_Client/XClient_APIHelp")
63 | #pragma comment(lib,"XEngine_SystemSdk/XEngine_SystemApi")
64 | #ifdef _DEBUG
65 | #ifdef _M_X64
66 | #pragma comment(lib,"../x64/Debug/jsoncpp")
67 | #elif _M_ARM64
68 | #pragma comment(lib,"../ARM64/Debug/jsoncpp")
69 | #elif _M_IX86
70 | #pragma comment(lib,"../Debug/jsoncpp")
71 | #endif
72 | #else
73 | #ifdef _M_X64
74 | #pragma comment(lib,"../x64/Release/jsoncpp")
75 | #elif _M_ARM64
76 | #pragma comment(lib,"../ARM64/Release/jsoncpp")
77 | #elif _M_IX86
78 | #pragma comment(lib,"../Release/jsoncpp")
79 | #endif
80 | #endif
81 | #endif
--------------------------------------------------------------------------------
/XEngine_Source/AuthorizeModule_Configure/AuthorizeModule_Configure.def:
--------------------------------------------------------------------------------
1 | LIBRARY
2 |
3 | EXPORTS
4 | Config_GetLastError
5 |
6 | ModuleConfigure_Json_File
7 | ModuleConfigure_Json_Versions
8 | ModuleConfigure_Json_Switch
--------------------------------------------------------------------------------
/XEngine_Source/AuthorizeModule_Configure/AuthorizeModule_Configure.vcxproj.filters:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
6 | cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx
7 |
8 |
9 | {93995380-89BD-4b04-88EB-625FBE52EBFB}
10 | h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd
11 |
12 |
13 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms
15 |
16 |
17 | {6ac124f6-fb66-4122-a556-46df6d6f6926}
18 |
19 |
20 | {53e7588d-c345-417f-af2d-ea28d15f48fd}
21 |
22 |
23 |
24 |
25 | 头文件
26 |
27 |
28 | 头文件
29 |
30 |
31 | 头文件
32 |
33 |
34 | 头文件
35 |
36 |
37 | 头文件\ModuleConfigure_Json
38 |
39 |
40 |
41 |
42 | 源文件
43 |
44 |
45 | 源文件
46 |
47 |
48 | 源文件\ModuleConfigure_Json
49 |
50 |
51 |
52 |
53 | 源文件
54 |
55 |
56 |
--------------------------------------------------------------------------------
/XEngine_Source/AuthorizeModule_Configure/AuthorizeModule_Configure.vcxproj.user:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/XEngine_Source/AuthorizeModule_Configure/Config_Error.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | /********************************************************************
3 | // Created: 2021/07/26 09:58:59
4 | // File Name: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Configure\Config_Error.h
5 | // File Path: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Configure
6 | // File Base: Config_Error
7 | // File Ext: h
8 | // Project: XEngine(网络通信引擎)
9 | // Author: qyt
10 | // Purpose: 导出的错误
11 | // History:
12 | *********************************************************************/
13 | #define ERROR_AUTHORIZE_MODULE_CONFIGURE_PARAMENT 0x0010001
14 | #define ERROR_AUTHORIZE_MODULE_CONFIGURE_OPENFILE 0x0010002
15 | #define ERROR_AUTHORIZE_MODULE_CONFIGURE_PARSE 0x0010003
16 | #define ERROR_AUTHORIZE_MODULE_CONFIGURE_XMAX 0x0010004
17 | #define ERROR_AUTHORIZE_MODULE_CONFIGURE_XVER 0x0010005
18 | #define ERROR_AUTHORIZE_MODULE_CONFIGURE_XCRYPTO 0x0010006
19 | #define ERROR_AUTHORIZE_MODULE_CONFIGURE_XSQL 0x0010007
20 | #define ERROR_AUTHORIZE_MODULE_CONFIGURE_XLOG 0x0010008
21 | #define ERROR_AUTHORIZE_MODULE_CONFIGURE_MALLOC 0x0010009
22 | #define ERROR_AUTHORIZE_MODULE_CONFIGURE_REPORT 0x0010010
23 | #define ERROR_AUTHORIZE_MODULE_CONFIGURE_XTIME 0x0010011
--------------------------------------------------------------------------------
/XEngine_Source/AuthorizeModule_Configure/Makefile:
--------------------------------------------------------------------------------
1 | CC = g++ -Wall -std=c++20 -fPIC
2 | PLATVER =
3 | FILEEXT =
4 | LIBFLAG =
5 | LOADHDR = -I ./ -I ../XEngine_Depend/XEngine_Module/jsoncpp
6 | LOADSO = -L ../XEngine_Depend/XEngine_Module/jsoncpp
7 | LIB = -ljsoncpp
8 | LIBEX =
9 | OBJECTS = ModuleConfigure_Json.o pch.o
10 |
11 | ifeq ($(RELEASE),1)
12 | FLAGS = -c -D _RELEASE
13 | DEBUG = -O2
14 | else
15 | ifeq ($(PLATFORM),mac)
16 | FLAGS = -c
17 | DEBUG = -g -D _DEBUG
18 | else
19 | FLAGS = -c -lc_p
20 | DEBUG = -g -pg -D _DEBUG
21 | endif
22 | endif
23 |
24 | ifeq ($(UNICODE),1)
25 | override UNICODE := -D __UNICODE__
26 | else
27 | override UNICODE := -D __ANSI__
28 | endif
29 |
30 | ifeq ($(PLATFORM),linux)
31 | ifeq (/etc/redhat-release,$(wildcard /etc/redhat-release))
32 | PLATVER = -D __CENTOS__
33 | else
34 | PLATVER = -D __UBUNTU__
35 | endif
36 | FILEEXT = so
37 | LIBFLAG = -shared
38 | LIBEX = -lpthread -lrt -ldl
39 | LOADBIN = -Wl,-rpath=./,--disable-new-dtags
40 | else ifeq ($(PLATFORM),mac)
41 | CC += -Wno-deprecated-declarations
42 | PLATVER = -D __MACOS__
43 | FILEEXT = dylib
44 | LIBFLAG = -dynamiclib
45 | LIBEX = -lpthread -ldl
46 | LOADBIN = -Wl,-rpath,@loader_path/./
47 | endif
48 |
49 | all:$(OBJECTS)
50 | $(CC) $(DEBUG) $(OBJECTS) -o libAuthorizeModule_Configure.$(FILEEXT) $(LIBFLAG) $(LIB) $(LIBEX) $(LOADSO) $(LOADBIN)
51 |
52 | ModuleConfigure_Json.o:./ModuleConfigure_Json/ModuleConfigure_Json.cpp
53 | $(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(PLATVER) $(LOADHDR) ./ModuleConfigure_Json/ModuleConfigure_Json.cpp
54 |
55 | pch.o:pch.cpp
56 | $(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(PLATVER) $(LOADHDR) pch.cpp
57 |
58 | InstallAll:InstallSo
59 | InstallSo:./libAuthorizeModule_Configure.$(FILEEXT)
60 | cp ./libAuthorizeModule_Configure.$(FILEEXT) ../../XEngine_Release/libAuthorizeModule_Configure.$(FILEEXT)
61 |
62 |
63 |
64 | CleanAll:CleanObj CleanMk
65 | CleanObj:
66 | rm *.o
67 | CleanMk:
68 | rm *.$(FILEEXT)
69 |
--------------------------------------------------------------------------------
/XEngine_Source/AuthorizeModule_Configure/ModuleConfigure_Json/ModuleConfigure_Json.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | /********************************************************************
3 | // Created: 2021/12/02 16:08:16
4 | // File Name: D:\XEngine_ServiceApp\XEngine_Source\XEngine_ModuleConfigure\ModuleConfigure_Json\ModuleConfigure_Json.h
5 | // File Path: D:\XEngine_ServiceApp\XEngine_Source\XEngine_ModuleConfigure\ModuleConfigure_Json
6 | // File Base: ModuleConfigure_Json
7 | // File Ext: h
8 | // Project: XEngine(网络通信引擎)
9 | // Author: qyt
10 | // Purpose: JSON配置文件读写
11 | // History:
12 | *********************************************************************/
13 |
14 | class CModuleConfigure_Json
15 | {
16 | public:
17 | CModuleConfigure_Json();
18 | ~CModuleConfigure_Json();
19 | public:
20 | bool ModuleConfigure_Json_File(LPCXSTR lpszConfigFile, XENGINE_SERVICECONFIG* pSt_ServerConfig);
21 | bool ModuleConfigure_Json_Versions(LPCXSTR lpszConfigFile, XENGINE_SERVICECONFIG* pSt_ServerConfig);
22 | bool ModuleConfigure_Json_Switch(LPCXSTR lpszConfigFile, XENGINE_FUNCTIONSWITCH* pSt_ServerConfig);
23 | protected:
24 | private:
25 | };
--------------------------------------------------------------------------------
/XEngine_Source/AuthorizeModule_Configure/dllmain.cpp:
--------------------------------------------------------------------------------
1 | // dllmain.cpp : 定义 DLL 应用程序的入口点。
2 | #include "pch.h"
3 |
4 | bool APIENTRY DllMain( HMODULE hModule,
5 | XLONG ul_reason_for_call,
6 | XPVOID lpReserved
7 | )
8 | {
9 | switch (ul_reason_for_call)
10 | {
11 | case DLL_PROCESS_ATTACH:
12 | case DLL_THREAD_ATTACH:
13 | case DLL_THREAD_DETACH:
14 | case DLL_PROCESS_DETACH:
15 | break;
16 | }
17 | return true;
18 | }
19 |
20 |
--------------------------------------------------------------------------------
/XEngine_Source/AuthorizeModule_Configure/framework.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #define WIN32_LEAN_AND_MEAN // 从 Windows 头文件中排除极少使用的内容
4 | // Windows 头文件
5 | #include
6 |
--------------------------------------------------------------------------------
/XEngine_Source/AuthorizeModule_Configure/pch.cpp:
--------------------------------------------------------------------------------
1 | #include "pch.h"
2 | #include "ModuleConfigure_Json/ModuleConfigure_Json.h"
3 | /********************************************************************
4 | // Created: 2021/07/26 10:20:03
5 | // File Name: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Configure\pch.cpp
6 | // File Path: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Configure
7 | // File Base: pch
8 | // File Ext: cpp
9 | // Project: XEngine(网络通信引擎)
10 | // Author: qyt
11 | // Purpose: 导出实现
12 | // History:
13 | *********************************************************************/
14 | bool Config_IsErrorOccur = false;
15 | XLONG Config_dwErrorCode = 0;
16 | //////////////////////////////////////////////////////////////////////////
17 | CModuleConfigure_Json m_Config;
18 | //////////////////////////////////////////////////////////////////////////
19 | // 导出函数
20 | //////////////////////////////////////////////////////////////////////////
21 | extern "C" XLONG Config_GetLastError(int* pInt_SysError)
22 | {
23 | if (NULL != pInt_SysError)
24 | {
25 | *pInt_SysError = errno;
26 | }
27 | return Config_dwErrorCode;
28 | }
29 | /************************************************************************/
30 | /* 配置文件导出函数 */
31 | /************************************************************************/
32 | extern "C" bool ModuleConfigure_Json_File(LPCXSTR lpszConfigFile, XENGINE_SERVICECONFIG * pSt_ServerConfig)
33 | {
34 | return m_Config.ModuleConfigure_Json_File(lpszConfigFile, pSt_ServerConfig);
35 | }
36 | extern "C" bool ModuleConfigure_Json_Versions(LPCXSTR lpszConfigFile, XENGINE_SERVICECONFIG * pSt_ServerConfig)
37 | {
38 | return m_Config.ModuleConfigure_Json_Versions(lpszConfigFile, pSt_ServerConfig);
39 | }
40 | extern "C" bool ModuleConfigure_Json_Switch(LPCXSTR lpszConfigFile, XENGINE_FUNCTIONSWITCH * pSt_ServerConfig)
41 | {
42 | return m_Config.ModuleConfigure_Json_Switch(lpszConfigFile, pSt_ServerConfig);
43 | }
--------------------------------------------------------------------------------
/XEngine_Source/AuthorizeModule_Configure/pch.h:
--------------------------------------------------------------------------------
1 | // pch.h: 这是预编译标头文件。
2 | // 下方列出的文件仅编译一次,提高了将来生成的生成性能。
3 | // 这还将影响 IntelliSense 性能,包括代码完成和许多代码浏览功能。
4 | // 但是,如果此处列出的文件中的任何一个在生成之间有更新,它们全部都将被重新编译。
5 | // 请勿在此处添加要频繁更新的文件,这将使得性能优势无效。
6 |
7 | #ifndef PCH_H
8 | #define PCH_H
9 |
10 | #ifdef _WINDOWS
11 | // 添加要在此处预编译的标头
12 | #include "framework.h"
13 | #include
14 | #endif
15 | #endif //PCH_H
16 | #include
17 | #include
18 | #include
19 | #include
20 | #include
21 | #include
22 | using namespace std;
23 | #include
24 | #include
25 | #include "Config_Define.h"
26 | #include "Config_Error.h"
27 | /********************************************************************
28 | // Created: 2021/07/26 10:00:36
29 | // File Name: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Configure\pch.h
30 | // File Path: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Configure
31 | // File Base: pch
32 | // File Ext: h
33 | // Project: XEngine(网络通信引擎)
34 | // Author: qyt
35 | // Purpose: 公用头文件
36 | // History:
37 | *********************************************************************/
38 | extern bool Config_IsErrorOccur;
39 | extern XLONG Config_dwErrorCode;
40 |
41 | #ifdef _MSC_BUILD
42 | #ifdef _DEBUG
43 | #ifdef _M_X64
44 | #pragma comment(lib,"../x64/Debug/jsoncpp")
45 | #elif _M_ARM64
46 | #pragma comment(lib,"../ARM64/Debug/jsoncpp")
47 | #elif _M_IX86
48 | #pragma comment(lib,"../Debug/jsoncpp")
49 | #endif
50 | #else
51 | #ifdef _M_X64
52 | #pragma comment(lib,"../x64/Release/jsoncpp")
53 | #elif _M_ARM64
54 | #pragma comment(lib,"../ARM64/Release/jsoncpp")
55 | #elif _M_IX86
56 | #pragma comment(lib,"../Release/jsoncpp")
57 | #endif
58 | #endif
59 | #endif
--------------------------------------------------------------------------------
/XEngine_Source/AuthorizeModule_Database/AuthorizeModule_Database.def:
--------------------------------------------------------------------------------
1 | LIBRARY
2 |
3 | EXPORTS
4 | DBModule_GetLastError
5 |
6 | DBModule_SQLite_Init
7 | DBModule_SQLite_Destroy
8 |
9 | DBModule_SQLite_UserDelete
10 | DBModule_SQLite_UserRegister
11 | DBModule_SQLite_UserQuery
12 | DBModule_SQLite_UserPay
13 | DBModule_SQLite_UserLeave
14 | DBModule_SQLite_UserSet
15 | DBModule_SQLite_UserList
16 | DBModule_SQLite_UserLogin
17 | DBModule_SQLite_QueryLogin
18 |
19 | DBModule_SQLite_SerialInsert
20 | DBModule_SQLite_SerialDelete
21 | DBModule_SQLite_SerialQuery
22 | DBModule_SQLite_SerialQueryAll
23 | DBModule_SQLite_SerialPush
24 |
25 | DBModule_SQLite_TryInsert
26 | DBModule_SQLite_TryQuery
27 | DBModule_SQLite_TryDelete
28 | DBModule_SQLite_TryClear
29 | DBModule_SQLite_TrySet
30 | DBModule_SQLite_TryList
31 |
32 | DBModule_SQLite_BannedInsert
33 | DBModule_SQLite_BannedDelete
34 | DBModule_SQLite_BannedList
35 | DBModule_SQLite_BannedExist
36 | DBModule_SQLite_BannedUPDate
37 |
38 | DBModule_SQLite_AnnouncementInsert
39 | DBModule_SQLite_AnnouncementDelete
40 | DBModule_SQLite_AnnouncementList
41 |
42 | DBModule_MySQL_Init
43 | DBModule_MySQL_Destroy
44 |
45 | DBModule_MySQL_UserDelete
46 | DBModule_MySQL_UserRegister
47 | DBModule_MySQL_UserQuery
48 | DBModule_MySQL_UserPay
49 | DBModule_MySQL_UserLeave
50 | DBModule_MySQL_UserSet
51 | DBModule_MySQL_UserList
52 | DBModule_MySQL_UserLogin
53 | DBModule_MySQL_QueryLogin
54 |
55 | DBModule_MySQL_SerialInsert
56 | DBModule_MySQL_SerialDelete
57 | DBModule_MySQL_SerialQuery
58 | DBModule_MySQL_SerialQueryAll
59 | DBModule_MySQL_SerialPush
60 |
61 | DBModule_MySQL_TryInsert
62 | DBModule_MySQL_TryQuery
63 | DBModule_MySQL_TryDelete
64 | DBModule_MySQL_TryClear
65 | DBModule_MySQL_TrySet
66 | DBModule_MySQL_TryList
67 |
68 | DBModule_MySQL_BannedInsert
69 | DBModule_MySQL_BannedDelete
70 | DBModule_MySQL_BannedList
71 | DBModule_MySQL_BannedExist
72 | DBModule_MySQL_BannedUPDate
73 |
74 | DBModule_MySQL_AnnouncementInsert
75 | DBModule_MySQL_AnnouncementDelete
76 | DBModule_MySQL_AnnouncementList
--------------------------------------------------------------------------------
/XEngine_Source/AuthorizeModule_Database/AuthorizeModule_Database.vcxproj.filters:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
6 | cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx
7 |
8 |
9 | {93995380-89BD-4b04-88EB-625FBE52EBFB}
10 | h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd
11 |
12 |
13 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms
15 |
16 |
17 | {e8a2076d-4bed-4439-9493-1a33b0f6fd2b}
18 |
19 |
20 | {dc9f7cbb-dd1b-4430-99ee-15793188c3a0}
21 |
22 |
23 | {bb64f825-b769-444e-b078-90c2727b694f}
24 |
25 |
26 | {be64df35-6ef0-4c8c-b95a-444977d7d1c4}
27 |
28 |
29 |
30 |
31 | 头文件
32 |
33 |
34 | 头文件
35 |
36 |
37 | 头文件
38 |
39 |
40 | 头文件
41 |
42 |
43 | 头文件\DBModule_MySQL
44 |
45 |
46 | 头文件\DBModule_SQLite
47 |
48 |
49 |
50 |
51 | 源文件
52 |
53 |
54 | 源文件
55 |
56 |
57 | 源文件\DBModule_MySQL
58 |
59 |
60 | 源文件\DBModule_SQLite
61 |
62 |
63 |
64 |
65 | 源文件
66 |
67 |
68 |
--------------------------------------------------------------------------------
/XEngine_Source/AuthorizeModule_Database/AuthorizeModule_Database.vcxproj.user:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/XEngine_Source/AuthorizeModule_Database/Database_Error.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | /********************************************************************
3 | // Created: 2022/05/26 11:00:50
4 | // File Name: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Database\Database_Error.h
5 | // File Path: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Database
6 | // File Base: Database_Error
7 | // File Ext: h
8 | // Project: XEngine(网络通信引擎)
9 | // Author: qyt
10 | // Purpose: 错误表
11 | // History:
12 | *********************************************************************/
13 | //////////////////////////////////////////////////////////////////////////
14 | // 导出的错误表
15 | //////////////////////////////////////////////////////////////////////////
16 | /************************************************************************/
17 | /* 数据库错误 */
18 | /************************************************************************/
19 | #define ERROR_AUTHORIZE_MODULE_DATABASE_CREATETABLE 0x0030001 //创建表失败
20 | #define ERROR_AUTHORIZE_MODULE_DATABASE_EXIST 0x0030002 //用户已经存在
21 | #define ERROR_AUTHORIZE_MODULE_DATABASE_INSERT 0x0030003 //插入内容失败
22 | #define ERROR_AUTHORIZE_MODULE_DATABASE_NOTUSER 0x0030004 //用户不存在
23 | #define ERROR_AUTHORIZE_MODULE_DATABASE_GETTABLE 0x0030005 //获取表失败
24 | #define ERROR_AUTHORIZE_MODULE_DATABASE_SERIAL 0x0030006 //不存在的序列号
25 | #define ERROR_AUTHORIZE_MODULE_DATABASE_EXEC 0x0030007 //删除执行失败
26 | #define ERROR_AUTHORIZE_MODULE_DATABASE_ISFAILED 0x0030008 //序列号插入失败
27 | #define ERROR_AUTHORIZE_MODULE_DATABASE_PARAMENT 0x0030009 //充值失败,参数错误
28 | #define ERROR_AUTHORIZE_MODULE_DATABASE_NOTSUPPORT 0x0030010 //不支持的充值卡
29 | #define ERROR_AUTHORIZE_MODULE_DATABASE_UPDATAUSEDNAME 0x0030011 //更新序列卡使用者失败
30 | #define ERROR_AUTHORIZE_MODULE_DATABASE_ISUSED 0x0030012 //充值卡已经被使用
31 | #define ERROR_AUTHORIZE_MODULE_DATABASE_NOTMATCH 0x0030013 //充值方式不匹配
32 | #define ERROR_AUTHORIZE_MODULE_DATABASE_UPDATATYPE 0x0030014 //更新用户充值卡类型失败
33 | #define ERROR_AUTHORIZE_MODULE_DATABASE_GETTIME 0x0030015 //获取时间结构失败
34 | #define ERROR_AUTHORIZE_MODULE_DATABASE_UPDATA 0x0030016 //更新数据库失败
35 | #define ERROR_AUTHORIZE_MODULE_DATABASE_UNKNOWTYPE 0x0030017 //无法识别的卡的类型,无法正确处理离开消息
36 | #define ERROR_AUTHORIZE_MODULE_DATABASE_NONE 0x0030018 //获取失败,没有任何记录
37 | #define ERROR_AUTHORIZE_MODULE_DATABASE_NOTENABLE 0x0030019 //没有启用.不禁用
38 | #define ERROR_AUTHORIZE_MODULE_DATABASE_TIMELEFT 0x0030020 //超过禁用时间
39 | #define ERROR_AUTHORIZE_MODULE_DATABASE_BANNED 0x0030021 //被禁用
--------------------------------------------------------------------------------
/XEngine_Source/AuthorizeModule_Database/Makefile:
--------------------------------------------------------------------------------
1 | CC = g++ -Wall -std=c++20 -fPIC
2 | PLATVER =
3 | FILEEXT =
4 | LIBFLAG =
5 | LOADHDR = -I ./
6 | LOADSO = -L ../AuthorizeModule_CDKey
7 | LIB = -lXEngine_BaseLib -lHelpComponents_DataBase -lAuthorizeModule_CDKey
8 | LIBEX =
9 | OBJECTS = DBModule_SQLite.o DBModule_MySQL.o pch.o
10 |
11 | ifeq ($(RELEASE),1)
12 | FLAGS = -c -D _RELEASE
13 | DEBUG = -O2
14 | else
15 | ifeq ($(PLATFORM),mac)
16 | FLAGS = -c
17 | DEBUG = -g -D _DEBUG
18 | else
19 | FLAGS = -c -lc_p
20 | DEBUG = -g -pg -D _DEBUG
21 | endif
22 | endif
23 |
24 | ifeq ($(UNICODE),1)
25 | override UNICODE := -D __UNICODE__
26 | else
27 | override UNICODE := -D __ANSI__
28 | endif
29 |
30 | ifeq ($(PLATFORM),linux)
31 | ifeq (/etc/redhat-release,$(wildcard /etc/redhat-release))
32 | PLATVER = -D __CENTOS__
33 | else
34 | PLATVER = -D __UBUNTU__
35 | endif
36 | FILEEXT = so
37 | LIBFLAG = -shared
38 | LIBEX = -lpthread -lrt -ldl
39 | LOADBIN = -Wl,-rpath=./,--disable-new-dtags
40 | else ifeq ($(PLATFORM),mac)
41 | CC += -Wno-deprecated-declarations
42 | PLATVER = -D __MACOS__
43 | FILEEXT = dylib
44 | LIBFLAG = -dynamiclib
45 | LIBEX = -lpthread -ldl
46 | LOADBIN = -Wl,-rpath,@loader_path/./
47 | endif
48 |
49 | all:$(OBJECTS)
50 | $(CC) $(DEBUG) $(OBJECTS) -o libAuthorizeModule_Database.$(FILEEXT) $(LIBFLAG) $(LIB) $(LIBEX) $(LOADSO) $(LOADBIN)
51 |
52 | DBModule_SQLite.o:./DBModule_SQLite/DBModule_SQLite.cpp
53 | $(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(PLATVER) $(LOADHDR) ./DBModule_SQLite/DBModule_SQLite.cpp
54 | DBModule_MySQL.o:./DBModule_MySQL/DBModule_MySQL.cpp
55 | $(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(PLATVER) $(LOADHDR) ./DBModule_MySQL/DBModule_MySQL.cpp
56 |
57 | pch.o:pch.cpp
58 | $(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(PLATVER) $(LOADHDR) pch.cpp
59 |
60 | InstallAll:InstallSo
61 | InstallSo:./libAuthorizeModule_Database.$(FILEEXT)
62 | cp ./libAuthorizeModule_Database.$(FILEEXT) ../../XEngine_Release/libAuthorizeModule_Database.$(FILEEXT)
63 |
64 |
65 | CleanAll:CleanObj CleanMk
66 | CleanObj:
67 | rm *.o
68 | CleanMk:
69 | rm *.$(FILEEXT)
70 |
--------------------------------------------------------------------------------
/XEngine_Source/AuthorizeModule_Database/dllmain.cpp:
--------------------------------------------------------------------------------
1 | // dllmain.cpp : 定义 DLL 应用程序的入口点。
2 | #include "pch.h"
3 |
4 | bool APIENTRY DllMain( HMODULE hModule,
5 | XLONG ul_reason_for_call,
6 | XPVOID lpReserved
7 | )
8 | {
9 | switch (ul_reason_for_call)
10 | {
11 | case DLL_PROCESS_ATTACH:
12 | case DLL_THREAD_ATTACH:
13 | case DLL_THREAD_DETACH:
14 | case DLL_PROCESS_DETACH:
15 | break;
16 | }
17 | return true;
18 | }
19 |
20 |
--------------------------------------------------------------------------------
/XEngine_Source/AuthorizeModule_Database/framework.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #define WIN32_LEAN_AND_MEAN // 从 Windows 头文件中排除极少使用的内容
4 | // Windows 头文件
5 | #include
6 |
--------------------------------------------------------------------------------
/XEngine_Source/AuthorizeModule_Database/pch.h:
--------------------------------------------------------------------------------
1 | // pch.h: 这是预编译标头文件。
2 | // 下方列出的文件仅编译一次,提高了将来生成的生成性能。
3 | // 这还将影响 IntelliSense 性能,包括代码完成和许多代码浏览功能。
4 | // 但是,如果此处列出的文件中的任何一个在生成之间有更新,它们全部都将被重新编译。
5 | // 请勿在此处添加要频繁更新的文件,这将使得性能优势无效。
6 |
7 | #ifndef PCH_H
8 | #define PCH_H
9 |
10 | #ifdef _WINDOWS
11 | // 添加要在此处预编译的标头
12 | #include "framework.h"
13 | #include
14 | #endif
15 |
16 | #endif //PCH_H
17 | #include
18 | #include
19 | #include
20 | using namespace std;
21 | #include
22 | #include
23 | #include
24 | #include
25 | #include
26 | #include
27 | #include
28 | #include "../XAuth_BuildSwitch.h"
29 | #include "../XAuth_Protocol.h"
30 | #include "../AuthorizeModule_CDKey/CDKey_Define.h"
31 | #include "../AuthorizeModule_CDKey/CDKey_Error.h"
32 | #include "Database_Define.h"
33 | #include "Database_Error.h"
34 | /********************************************************************
35 | // Created: 2022/05/26 11:00:58
36 | // File Name: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Database\pch.h
37 | // File Path: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Database
38 | // File Base: pch
39 | // File Ext: h
40 | // Project: XEngine(网络通信引擎)
41 | // Author: qyt
42 | // Purpose: 公有头文件
43 | // History:
44 | *********************************************************************/
45 | extern bool SQLPacket_IsErrorOccur;
46 | extern XLONG SQLPacket_dwErrorCode;
47 |
48 |
49 | #ifdef _WINDOWS
50 | #pragma comment(lib,"XEngine_BaseLib/XEngine_BaseLib.lib")
51 | #pragma comment(lib,"XEngine_HelpComponents/HelpComponents_DataBase.lib")
52 | #ifdef _DEBUG
53 | #ifdef _M_X64
54 | #pragma comment(lib,"../x64/Debug/AuthorizeModule_CDKey")
55 | #elif _M_ARM64
56 | #pragma comment(lib,"../ARM64/Debug/AuthorizeModule_CDKey")
57 | #elif _M_IX86
58 | #pragma comment(lib,"../Debug/AuthorizeModule_CDKey")
59 | #endif
60 | #else
61 | #ifdef _M_X64
62 | #pragma comment(lib,"../x64/Release/AuthorizeModule_CDKey")
63 | #elif _M_ARM64
64 | #pragma comment(lib,"../ARM64/Release/AuthorizeModule_CDKey")
65 | #elif _M_IX86
66 | #pragma comment(lib,"../Release/AuthorizeModule_CDKey")
67 | #endif
68 | #endif
69 | #endif
--------------------------------------------------------------------------------
/XEngine_Source/AuthorizeModule_Help/AuthHelp_ClipBoard/AuthHelp_ClipBoard.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | /********************************************************************
3 | // Created: 2022/08/12 14:13:29
4 | // File Name: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Help\AuthHelp_ClipBoard\AuthHelp_ClipBoard.h
5 | // File Path: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Help\AuthHelp_ClipBoard
6 | // File Base: AuthHelp_ClipBoard
7 | // File Ext: h
8 | // Project: XEngine(网络通信引擎)
9 | // Author: qyt
10 | // Purpose: 剪贴板通信实现
11 | // History:
12 | *********************************************************************/
13 |
14 | class CAuthHelp_ClipBoard
15 | {
16 | public:
17 | CAuthHelp_ClipBoard();
18 | ~CAuthHelp_ClipBoard();
19 | public:
20 | bool AuthHelp_ClipBoard_Set(LPCTSTR lpszMsgBuffer, int nMsgLen, XLONG dwFormat = 1);
21 | bool AuthHelp_ClipBoard_Get(TCHAR* ptszMsgBuffer, int* pInt_MsgLen, XLONG dwFormat = 1);
22 | bool AuthHelp_ClipBoard_Clear();
23 | private:
24 | };
--------------------------------------------------------------------------------
/XEngine_Source/AuthorizeModule_Help/AuthHelp_DynamicCode/AuthHelp_DynamicCode.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | /********************************************************************
3 | // Created: 2023/04/13 10:50:29
4 | // File Name: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Help\AuthHelp_DynamicCode\AuthHelp_DynamicCode.h
5 | // File Path: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Help\AuthHelp_DynamicCode
6 | // File Base: AuthHelp_DynamicCode
7 | // File Ext: h
8 | // Project: XEngine(网络通信引擎)
9 | // Author: qyt
10 | // Purpose: 动态码
11 | // History:
12 | *********************************************************************/
13 | typedef struct
14 | {
15 | XNETHANDLE xhToken;
16 | XSHOT nDynamicCode;
17 | time_t nTimeStart;
18 | }AUTHHELP_DYNAMICCODE;
19 |
20 | class CAuthHelp_DynamicCode
21 | {
22 | public:
23 | CAuthHelp_DynamicCode();
24 | ~CAuthHelp_DynamicCode();
25 | public:
26 | bool AuthHelp_DynamicCode_Init(int nSecond);
27 | bool AuthHelp_DynamicCode_Destory();
28 | bool AuthHelp_DynamicCode_Create(XNETHANDLE* pxhToken, XSHOT* pInt_DynamicCode);
29 | bool AuthHelp_DynamicCode_Get(XNETHANDLE xhToken, int nDynamicCode);
30 | protected:
31 | static XHTHREAD XCALLBACK AuthHelp_DynamicCode_Thread(XPVOID lParam);
32 | private:
33 | int m_nSescond = 0;
34 | bool m_bRun = false;
35 | private:
36 | shared_mutex st_Locker;
37 | shared_ptr pSTDThread;
38 | private:
39 | unordered_map stl_MapDynamicCode;
40 | };
--------------------------------------------------------------------------------
/XEngine_Source/AuthorizeModule_Help/AuthHelp_Error.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | /********************************************************************
3 | // Created: 2022/08/12 14:15:37
4 | // File Name: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Help\AuthHelp_Error.h
5 | // File Path: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Help
6 | // File Base: AuthHelp_Error
7 | // File Ext: h
8 | // Project: XEngine(网络通信引擎)
9 | // Author: qyt
10 | // Purpose: 错误表
11 | // History:
12 | *********************************************************************/
13 | //////////////////////////////////////////////////////////////////////////
14 | // 导出的错误表
15 | //////////////////////////////////////////////////////////////////////////
16 | /************************************************************************/
17 | /* 剪贴板 */
18 | /************************************************************************/
19 | #define ERROR_AUTHORIZE_MODULE_HELP_CLIPBOARD_PARRAMENT 0x0050001 //设置失败,参数错误
20 | #define ERROR_AUTHORIZE_MODULE_HELP_CLIPBOARD_OPEN 0x0050002 //打开剪贴板失败
21 | #define ERROR_AUTHORIZE_MODULE_HELP_CLIPBOARD_OWNER 0x0050003 //设置所有者失败
22 | #define ERROR_AUTHORIZE_MODULE_HELP_CLIPBOARD_MALLOC 0x0050004 //申请内存失败
23 | #define ERROR_AUTHORIZE_MODULE_HELP_CLIPBOARD_GETDATA 0x0050005 //获取内容失败
24 | /************************************************************************/
25 | /* 窗口 */
26 | /************************************************************************/
27 | #define ERROR_AUTHORIZE_MODULE_HELP_WINDOW_GETRECT 0x0050010 //获取失败
28 | #define ERROR_AUTHORIZE_MODULE_HELP_WINDOW_INIT 0x0050011 //初始化窗口失败
29 | #define ERROR_AUTHORIZE_MODULE_HELP_WINDOW_CREATEWINDOW 0x0050012 //创建窗口失败
30 | #define ERROR_AUTHORIZE_MODULE_HELP_WINDOW_SETWINDOW 0x0050013 //设置窗口失败
31 | /************************************************************************/
32 | /* 动态码 */
33 | /************************************************************************/
34 | #define ERROR_AUTHORIZE_MODULE_HELP_DYNAMIC_THREAD 0x0050020 //线程创建失败
35 | #define ERROR_AUTHORIZE_MODULE_HELP_DYNAMIC_PARAMENT 0x0050021 //参数错误
36 | #define ERROR_AUTHORIZE_MODULE_HELP_DYNAMIC_NOTFOUND 0x0050022 //没有找到
37 | #define ERROR_AUTHORIZE_MODULE_HELP_DYNAMIC_NOTMATCH 0x0050023 //动态码不匹配
38 | /************************************************************************/
39 | /* 多端登录 */
40 | /************************************************************************/
41 | #define ERROR_AUTHORIZE_MODULE_HELP_MULTI_NOTSUPPORT 0x0050030 //不支持
--------------------------------------------------------------------------------
/XEngine_Source/AuthorizeModule_Help/AuthHelp_MultiLogin/AuthHelp_MultiLogin.cpp:
--------------------------------------------------------------------------------
1 | #include "pch.h"
2 | #include "AuthHelp_MultiLogin.h"
3 | /********************************************************************
4 | // Created: 2023/08/09 15:10:52
5 | // File Name: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Help\AuthHelp_MultiLogin\AuthHelp_MultiLogin.cpp
6 | // File Path: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Help\AuthHelp_MultiLogin
7 | // File Base: AuthHelp_MultiLogin
8 | // File Ext: cpp
9 | // Project: XEngine(网络通信引擎)
10 | // Author: qyt
11 | // Purpose: 多端登录处理代码
12 | // History:
13 | *********************************************************************/
14 | CAuthHelp_MultiLogin::CAuthHelp_MultiLogin()
15 | {
16 | }
17 | CAuthHelp_MultiLogin::~CAuthHelp_MultiLogin()
18 | {
19 | }
20 | //////////////////////////////////////////////////////////////////////////
21 | // 公有函数
22 | //////////////////////////////////////////////////////////////////////////
23 | /********************************************************************
24 | 函数名称:AuthHelp_MultiLogin_GetRange
25 | 函数功能:获取多端登录范围
26 | 参数.一:nClientDevice
27 | In/Out:In
28 | 类型:整数型
29 | 可空:N
30 | 意思:输入要判断的设备类型
31 | 参数.二:pInt_IDType
32 | In/Out:In
33 | 类型:整数型指针
34 | 可空:N
35 | 意思:输出设备范围类型
36 | 返回值
37 | 类型:逻辑型
38 | 意思:是否成功
39 | 备注:
40 | *********************************************************************/
41 | bool CAuthHelp_MultiLogin::AuthHelp_MultiLogin_GetRange(int nClientDevice, int* pInt_IDType)
42 | {
43 | Help_IsErrorOccur = true;
44 |
45 | //在范围
46 | switch (nClientDevice)
47 | {
48 | case ENUM_PROTOCOL_FOR_DEVICE_TYPE_PC_WINDOWS:
49 | *pInt_IDType = 1;
50 | break;
51 | case ENUM_PROTOCOL_FOR_DEVICE_TYPE_PC_LINUX:
52 | *pInt_IDType = 1;
53 | break;
54 | case ENUM_PROTOCOL_FOR_DEVICE_TYPE_PC_UNIX:
55 | *pInt_IDType = 1;
56 | break;
57 | case ENUM_PROTOCOL_FOR_DEVICE_TYPE_PC_MACOS:
58 | *pInt_IDType = 1;
59 | break;
60 | case ENUM_PROTOCOL_FOR_DEVICE_TYPE_PAD_SURFACE:
61 | *pInt_IDType = 2;
62 | break;
63 | case ENUM_PROTOCOL_FOR_DEVICE_TYPE_PAD_ANDROID:
64 | *pInt_IDType = 2;
65 | break;
66 | case ENUM_PROTOCOL_FOR_DEVICE_TYPE_PAD_IPAD:
67 | *pInt_IDType = 2;
68 | break;
69 | case ENUM_PROTOCOL_FOR_DEVICE_TYPE_MOBILE_ANDROID:
70 | *pInt_IDType = 3;
71 | break;
72 | case ENUM_PROTOCOL_FOR_DEVICE_TYPE_MOBILE_IOS:
73 | *pInt_IDType = 3;
74 | break;
75 | case ENUM_PROTOCOL_FOR_DEVICE_TYPE_MOBILE_EMBEDDED:
76 | *pInt_IDType = 3;
77 | break;
78 | case ENUM_PROTOCOL_FOR_DEVICE_TYPE_WEB_IE:
79 | *pInt_IDType = 4;
80 | break;
81 | case ENUM_PROTOCOL_FOR_DEVICE_TYPE_WEB_EDGE:
82 | *pInt_IDType = 4;
83 | break;
84 | case ENUM_PROTOCOL_FOR_DEVICE_TYPE_WEB_CHROME:
85 | *pInt_IDType = 4;
86 | break;
87 | case ENUM_PROTOCOL_FOR_DEVICE_TYPE_WEB_FIREFOX:
88 | *pInt_IDType = 4;
89 | break;
90 | case ENUM_PROTOCOL_FOR_DEVICE_TYPE_WEB_SAFARI:
91 | *pInt_IDType = 4;
92 | break;
93 | case ENUM_PROTOCOL_FOR_DEVICE_TYPE_WEB_OPERA:
94 | *pInt_IDType = 4;
95 | break;
96 | case ENUM_PROTOCOL_FOR_DEVICE_TYPE_WEB_RESTFUL:
97 | *pInt_IDType = 4;
98 | break;
99 | case ENUM_PROTOCOL_FOR_DEVICE_TYPE_WEB_LIKEGG:
100 | *pInt_IDType = 4;
101 | break;
102 | default:
103 | Help_IsErrorOccur = true;
104 | Help_dwErrorCode = ERROR_AUTHORIZE_MODULE_HELP_MULTI_NOTSUPPORT;
105 | return false;
106 | }
107 |
108 | return true;
109 | }
--------------------------------------------------------------------------------
/XEngine_Source/AuthorizeModule_Help/AuthHelp_MultiLogin/AuthHelp_MultiLogin.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | /********************************************************************
3 | // Created: 2023/08/09 15:10:42
4 | // File Name: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Help\AuthHelp_MultiLogin\AuthHelp_MultiLogin.h
5 | // File Path: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Help\AuthHelp_MultiLogin
6 | // File Base: AuthHelp_MultiLogin
7 | // File Ext: h
8 | // Project: XEngine(网络通信引擎)
9 | // Author: qyt
10 | // Purpose: 多端登录处理代码
11 | // History:
12 | *********************************************************************/
13 |
14 | class CAuthHelp_MultiLogin
15 | {
16 | public:
17 | CAuthHelp_MultiLogin();
18 | ~CAuthHelp_MultiLogin();
19 | public:
20 | bool AuthHelp_MultiLogin_GetRange(int nClientDevice, int* pInt_IDType);
21 | protected:
22 | private:
23 | };
--------------------------------------------------------------------------------
/XEngine_Source/AuthorizeModule_Help/AuthHelp_Windows/AuthHelp_Windows.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | /********************************************************************
3 | // Created: 2022/12/19 16:37:34
4 | // File Name: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Help\AuthHelp_Windows\AuthHelp_Windows.h
5 | // File Path: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Help\AuthHelp_Windows
6 | // File Base: AuthHelp_Windows
7 | // File Ext: h
8 | // Project: XEngine(网络通信引擎)
9 | // Author: qyt
10 | // Purpose: 窗口效果函数
11 | // History:
12 | *********************************************************************/
13 |
14 | class CAuthHelp_Windows
15 | {
16 | public:
17 | CAuthHelp_Windows();
18 | ~CAuthHelp_Windows();
19 | public:
20 | bool AuthHelp_Windows_Dithering(HWND hWnd, int nDitheringDegree = 4, int nDitheringCareer = 30);
21 | bool AuthHelp_Windows_CreateTooltip(HWND hWnd, LPCTSTR lpszContextOfTip);
22 | private:
23 | };
--------------------------------------------------------------------------------
/XEngine_Source/AuthorizeModule_Help/AuthorizeModule_Help.def:
--------------------------------------------------------------------------------
1 | LIBRARY
2 |
3 | EXPORTS
4 | AuthHelp_GetLastError
5 |
6 | AuthHelp_DynamicCode_Init
7 | AuthHelp_DynamicCode_Destory
8 | AuthHelp_DynamicCode_Create
9 | AuthHelp_DynamicCode_Get
10 |
11 | AuthHelp_MultiLogin_GetRange
12 |
13 | AuthHelp_ClipBoard_Set
14 | AuthHelp_ClipBoard_Get
15 | AuthHelp_ClipBoard_Clear
16 |
17 | AuthHelp_Windows_Dithering
18 | AuthHelp_Windows_CreateTooltip
--------------------------------------------------------------------------------
/XEngine_Source/AuthorizeModule_Help/AuthorizeModule_Help.vcxproj.filters:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
6 | cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx
7 |
8 |
9 | {93995380-89BD-4b04-88EB-625FBE52EBFB}
10 | h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd
11 |
12 |
13 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms
15 |
16 |
17 | {c4b1b98e-4a22-4faa-9b85-215c70f2b89c}
18 |
19 |
20 | {f8204c92-f86d-47b3-869b-bc57822a8276}
21 |
22 |
23 | {d240ac1c-aaa2-40cf-9b28-dffdc2f25922}
24 |
25 |
26 | {4a1f4a92-dfc7-4a5a-bd47-85349ebdc583}
27 |
28 |
29 | {0e7fb41b-48a3-4c07-b19c-4fa914d3f814}
30 |
31 |
32 | {4df65f23-98dc-4355-8843-fbe5041766c9}
33 |
34 |
35 | {61a1ebc3-5193-4c3e-a5b6-fe076b84c758}
36 |
37 |
38 | {92e4cc9f-02d7-4e6d-92a1-86e433e38fd2}
39 |
40 |
41 |
42 |
43 | 头文件
44 |
45 |
46 | 头文件
47 |
48 |
49 | 头文件\AuthHelp_ClipBoard
50 |
51 |
52 | 头文件
53 |
54 |
55 | 头文件
56 |
57 |
58 | 头文件\AuthHelp_Windows
59 |
60 |
61 | 头文件\AuthHelp_DynamicCode
62 |
63 |
64 | 头文件\AuthHelp_MultiLogin
65 |
66 |
67 |
68 |
69 | 源文件
70 |
71 |
72 | 源文件
73 |
74 |
75 | 源文件\AuthHelp_ClipBoard
76 |
77 |
78 | 源文件\AuthHelp_Windows
79 |
80 |
81 | 源文件\AuthHelp_DynamicCode
82 |
83 |
84 | 源文件\AuthHelp_MultiLogin
85 |
86 |
87 |
88 |
89 | 源文件
90 |
91 |
92 |
--------------------------------------------------------------------------------
/XEngine_Source/AuthorizeModule_Help/AuthorizeModule_Help.vcxproj.user:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/XEngine_Source/AuthorizeModule_Help/Makefile:
--------------------------------------------------------------------------------
1 | CC = g++ -Wall -std=c++20 -fPIC
2 | PLATVER =
3 | FILEEXT =
4 | LIBFLAG =
5 | LOADHDR = -I ./
6 | LOADSO = -L
7 | LIB = -lXEngine_BaseLib
8 | LIBEX =
9 | OBJECTS = AuthHelp_DynamicCode.o AuthHelp_MultiLogin.o pch.o
10 |
11 | ifeq ($(RELEASE),1)
12 | FLAGS = -c -D _RELEASE
13 | DEBUG = -O2
14 | else
15 | ifeq ($(PLATFORM),mac)
16 | FLAGS = -c
17 | DEBUG = -g -D _DEBUG
18 | else
19 | FLAGS = -c -lc_p
20 | DEBUG = -g -pg -D _DEBUG
21 | endif
22 | endif
23 |
24 | ifeq ($(UNICODE),1)
25 | override UNICODE := -D __UNICODE__
26 | else
27 | override UNICODE := -D __ANSI__
28 | endif
29 |
30 | ifeq ($(PLATFORM),linux)
31 | ifeq (/etc/redhat-release,$(wildcard /etc/redhat-release))
32 | PLATVER = -D __CENTOS__
33 | else
34 | PLATVER = -D __UBUNTU__
35 | endif
36 | FILEEXT = so
37 | LIBFLAG = -shared
38 | LIBEX = -lpthread -lrt -ldl
39 | LOADBIN = -Wl,-rpath=./,--disable-new-dtags
40 | else ifeq ($(PLATFORM),mac)
41 | CC += -Wno-deprecated-declarations
42 | PLATVER = -D __MACOS__
43 | FILEEXT = dylib
44 | LIBFLAG = -dynamiclib
45 | LIBEX = -lpthread -ldl
46 | LOADBIN = -Wl,-rpath,@loader_path/./
47 | endif
48 |
49 | all:$(OBJECTS)
50 | $(CC) $(DEBUG) $(OBJECTS) -o libAuthorizeModule_Help.$(FILEEXT) $(LIBFLAG) $(LIB) $(LIBEX) $(LOADSO) $(LOADBIN)
51 |
52 | AuthHelp_DynamicCode.o:./AuthHelp_DynamicCode/AuthHelp_DynamicCode.cpp
53 | $(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(PLATVER) $(LOADHDR) ./AuthHelp_DynamicCode/AuthHelp_DynamicCode.cpp
54 | AuthHelp_MultiLogin.o:./AuthHelp_MultiLogin/AuthHelp_MultiLogin.cpp
55 | $(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(PLATVER) $(LOADHDR) ./AuthHelp_MultiLogin/AuthHelp_MultiLogin.cpp
56 |
57 | pch.o:pch.cpp
58 | $(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(PLATVER) $(LOADHDR) pch.cpp
59 |
60 | InstallAll:InstallSo
61 | InstallSo:./libAuthorizeModule_Help.$(FILEEXT)
62 | cp ./libAuthorizeModule_Help.$(FILEEXT) ../../XEngine_Release/libAuthorizeModule_Help.$(FILEEXT)
63 |
64 |
65 |
66 | CleanAll:CleanObj CleanMk
67 | CleanObj:
68 | rm *.o
69 | CleanMk:
70 | rm *.$(FILEEXT)
71 |
--------------------------------------------------------------------------------
/XEngine_Source/AuthorizeModule_Help/dllmain.cpp:
--------------------------------------------------------------------------------
1 | // dllmain.cpp : 定义 DLL 应用程序的入口点。
2 | #include "pch.h"
3 |
4 | bool APIENTRY DllMain( HMODULE hModule,
5 | XLONG ul_reason_for_call,
6 | XPVOID lpReserved
7 | )
8 | {
9 | switch (ul_reason_for_call)
10 | {
11 | case DLL_PROCESS_ATTACH:
12 | case DLL_THREAD_ATTACH:
13 | case DLL_THREAD_DETACH:
14 | case DLL_PROCESS_DETACH:
15 | break;
16 | }
17 | return true;
18 | }
19 |
20 |
--------------------------------------------------------------------------------
/XEngine_Source/AuthorizeModule_Help/framework.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #define WIN32_LEAN_AND_MEAN // 从 Windows 头文件中排除极少使用的内容
4 | // Windows 头文件
5 | #include
6 |
--------------------------------------------------------------------------------
/XEngine_Source/AuthorizeModule_Help/pch.cpp:
--------------------------------------------------------------------------------
1 | #include "pch.h"
2 | #include "AuthHelp_DynamicCode/AuthHelp_DynamicCode.h"
3 | #include "AuthHelp_MultiLogin/AuthHelp_MultiLogin.h"
4 | #ifdef _MSC_BUILD
5 | #include "AuthHelp_ClipBoard/AuthHelp_ClipBoard.h"
6 | #include "AuthHelp_Windows/AuthHelp_Windows.h"
7 | #endif
8 | /********************************************************************
9 | // Created: 2022/08/12 14:14:11
10 | // File Name: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Help\pch.cpp
11 | // File Path: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Help
12 | // File Base: pch
13 | // File Ext: cpp
14 | // Project: XEngine(网络通信引擎)
15 | // Author: qyt
16 | // Purpose: 导出函数实现
17 | // History:
18 | *********************************************************************/
19 | bool Help_IsErrorOccur = false;
20 | XLONG Help_dwErrorCode = 0;
21 | //////////////////////////////////////////////////////////////////////////
22 | CAuthHelp_DynamicCode m_HelpDynamic;
23 | CAuthHelp_MultiLogin m_HelpLogin;
24 | #ifdef _MSC_BUILD
25 | CAuthHelp_ClipBoard m_HelpClipBoard;
26 | CAuthHelp_Windows m_HelpWindow;
27 | #endif
28 | //////////////////////////////////////////////////////////////////////////
29 | extern "C" XLONG AuthHelp_GetLastError(int* pInt_SysError)
30 | {
31 | if (NULL != pInt_SysError)
32 | {
33 | *pInt_SysError = errno;
34 | }
35 | return Help_dwErrorCode;
36 | }
37 | /************************************************************************/
38 | /* 动态码导出定义 */
39 | /************************************************************************/
40 | extern "C" bool AuthHelp_DynamicCode_Init(int nSecond)
41 | {
42 | return m_HelpDynamic.AuthHelp_DynamicCode_Init(nSecond);
43 | }
44 | extern "C" bool AuthHelp_DynamicCode_Destory()
45 | {
46 | return m_HelpDynamic.AuthHelp_DynamicCode_Destory();
47 | }
48 | extern "C" bool AuthHelp_DynamicCode_Create(XNETHANDLE * pxhToken, XSHOT* pInt_DynamicCode)
49 | {
50 | return m_HelpDynamic.AuthHelp_DynamicCode_Create(pxhToken, pInt_DynamicCode);
51 | }
52 | extern "C" bool AuthHelp_DynamicCode_Get(XNETHANDLE xhToken, int nDynamicCode)
53 | {
54 | return m_HelpDynamic.AuthHelp_DynamicCode_Get(xhToken, nDynamicCode);
55 | }
56 | /************************************************************************/
57 | /* 多端登录导出定义 */
58 | /************************************************************************/
59 | extern "C" bool AuthHelp_MultiLogin_GetRange(int nClientDevice, int* pInt_IDType)
60 | {
61 | return m_HelpLogin.AuthHelp_MultiLogin_GetRange(nClientDevice, pInt_IDType);
62 | }
63 | /************************************************************************/
64 | /* 剪贴板导出定义 */
65 | /************************************************************************/
66 | #ifdef _MSC_BUILD
67 | extern "C" bool AuthHelp_ClipBoard_Set(LPCTSTR lpszMsgBuffer, int nMsgLen, XLONG dwFormat)
68 | {
69 | return m_HelpClipBoard.AuthHelp_ClipBoard_Set(lpszMsgBuffer, nMsgLen, dwFormat);
70 | }
71 | extern "C" bool AuthHelp_ClipBoard_Get(TCHAR * ptszMsgBuffer, int* pInt_MsgLen, XLONG dwFormat)
72 | {
73 | return m_HelpClipBoard.AuthHelp_ClipBoard_Get(ptszMsgBuffer, pInt_MsgLen, dwFormat);
74 | }
75 | extern "C" bool AuthHelp_ClipBoard_Clear()
76 | {
77 | return m_HelpClipBoard.AuthHelp_ClipBoard_Clear();
78 | }
79 | /************************************************************************/
80 | /* 窗口类导出定义 */
81 | /************************************************************************/
82 | extern "C" bool AuthHelp_Windows_Dithering(HWND hWnd, int nDitheringDegree, int nDitheringCareer)
83 | {
84 | return m_HelpWindow.AuthHelp_Windows_Dithering(hWnd, nDitheringDegree, nDitheringCareer);
85 | }
86 | extern "C" bool AuthHelp_Windows_CreateTooltip(HWND hWnd, LPCTSTR lpszContextOfTip)
87 | {
88 | return m_HelpWindow.AuthHelp_Windows_CreateTooltip(hWnd, lpszContextOfTip);
89 | }
90 | #endif
--------------------------------------------------------------------------------
/XEngine_Source/AuthorizeModule_Help/pch.h:
--------------------------------------------------------------------------------
1 | // pch.h: 这是预编译标头文件。
2 | // 下方列出的文件仅编译一次,提高了将来生成的生成性能。
3 | // 这还将影响 IntelliSense 性能,包括代码完成和许多代码浏览功能。
4 | // 但是,如果此处列出的文件中的任何一个在生成之间有更新,它们全部都将被重新编译。
5 | // 请勿在此处添加要频繁更新的文件,这将使得性能优势无效。
6 |
7 | #ifndef PCH_H
8 | #define PCH_H
9 |
10 | #ifdef _MSC_BUILD
11 | // 添加要在此处预编译的标头
12 | #include "framework.h"
13 | #include
14 | #include
15 | #endif
16 | #endif //PCH_H
17 | #include
18 | #include
19 | #include
20 | #include
21 | #include
22 | using namespace std;
23 | #include
24 | #include
25 | #include
26 | #include
27 | #include "../XAuth_BuildSwitch.h"
28 | #include "AuthHelp_Define.h"
29 | #include "AuthHelp_Error.h"
30 | /********************************************************************
31 | // Created: 2022/08/12 14:14:28
32 | // File Name: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Help\pch.h
33 | // File Path: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Help
34 | // File Base: pch
35 | // File Ext: h
36 | // Project: XEngine(网络通信引擎)
37 | // Author: qyt
38 | // Purpose: 公用头文件
39 | // History:
40 | *********************************************************************/
41 | extern bool Help_IsErrorOccur;
42 | extern XLONG Help_dwErrorCode;
43 |
44 |
45 | #ifdef _MSC_BUILD
46 | #pragma comment(lib,"Comctl32.lib")
47 | #pragma comment(lib,"XEngine_BaseLib/XEngine_BaseLib")
48 | #endif
--------------------------------------------------------------------------------
/XEngine_Source/AuthorizeModule_Protocol/AuthorizeModule_Protocol.def:
--------------------------------------------------------------------------------
1 | LIBRARY
2 |
3 | EXPORTS
4 | Protocol_GetLastError
5 |
6 | Protocol_Packet_HDRComm
7 | Protocol_Packet_HttpComm
8 | Protocol_Packet_HttpUserPass
9 | Protocol_Packet_UserTime
10 | Protocol_Packet_HttpUserTime
11 | Protocol_Packet_HttpClientInfo
12 | Protocol_Packet_HttpClientList
13 | Protocol_Packet_HttpSerialList
14 | Protocol_Packet_HttpToken
15 | Protocol_Packet_HttpSwitch
16 | Protocol_Packet_HttpBanned
17 | Protocol_Packet_HttpAnnouncement
18 | Protocol_Packet_HttpTryList
19 |
20 | Protocol_Parse_WSHdr
21 | Protocol_Parse_HttpParseToken
22 | Protocol_Parse_HttpParseAuth
23 | Protocol_Parse_HttpParseUser
24 | Protocol_Parse_HttpParsePay
25 | Protocol_Parse_HttpParseTry
26 | Protocol_Parse_HttpParseTable
27 | Protocol_Parse_HttpParseSerial
28 | Protocol_Parse_HttpParseSerial2
29 | Protocol_Parse_HttpParseOnline
30 | Protocol_Parse_HttpParseTime
31 | Protocol_Parse_HttpParseSwitch
32 | Protocol_Parse_HttpParsePos
33 | Protocol_Parse_HttpParseBanned
34 | Protocol_Parse_HttpParseBanned2
35 | Protocol_Parse_HttpParseCDKey
36 | Protocol_Parse_HttpParseAnnouncement
--------------------------------------------------------------------------------
/XEngine_Source/AuthorizeModule_Protocol/AuthorizeModule_Protocol.vcxproj.filters:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
6 | cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx
7 |
8 |
9 | {93995380-89BD-4b04-88EB-625FBE52EBFB}
10 | h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd
11 |
12 |
13 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms
15 |
16 |
17 | {d632b93c-9d0a-4a96-be71-aaf28962cde6}
18 |
19 |
20 | {51b0cb65-365c-42ea-b709-499ae03f9a8d}
21 |
22 |
23 | {67a028ad-c937-41fd-9746-6886a0410bc2}
24 |
25 |
26 | {d26708d0-4748-433e-8d16-5265edaf48b9}
27 |
28 |
29 |
30 |
31 | 头文件
32 |
33 |
34 | 头文件
35 |
36 |
37 | 头文件\Protocol_Packet
38 |
39 |
40 | 头文件\Protocol_Parse
41 |
42 |
43 | 头文件
44 |
45 |
46 | 头文件
47 |
48 |
49 |
50 |
51 | 源文件
52 |
53 |
54 | 源文件
55 |
56 |
57 | 源文件\Protocol_Packet
58 |
59 |
60 | 源文件\Protocol_Parse
61 |
62 |
63 |
64 |
65 | 源文件
66 |
67 |
68 |
--------------------------------------------------------------------------------
/XEngine_Source/AuthorizeModule_Protocol/AuthorizeModule_Protocol.vcxproj.user:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/XEngine_Source/AuthorizeModule_Protocol/Makefile:
--------------------------------------------------------------------------------
1 | CC = g++ -Wall -std=c++20 -fPIC
2 | PLATVER =
3 | FILEEXT =
4 | LIBFLAG =
5 | LOADHDR = -I ./ -I ../XEngine_Depend/XEngine_Module/jsoncpp
6 | LOADSO = -L ../XEngine_Depend/XEngine_Module/jsoncpp
7 | LIB = -ljsoncpp -lXEngine_BaseLib
8 | LIBEX =
9 | OBJECTS = Protocol_Packet.o Protocol_Parse.o pch.o
10 |
11 | ifeq ($(RELEASE),1)
12 | FLAGS = -c -D _RELEASE
13 | DEBUG = -O2
14 | else
15 | ifeq ($(PLATFORM),mac)
16 | FLAGS = -c
17 | DEBUG = -g -D _DEBUG
18 | else
19 | FLAGS = -c -lc_p
20 | DEBUG = -g -pg -D _DEBUG
21 | endif
22 | endif
23 |
24 | ifeq ($(UNICODE),1)
25 | override UNICODE := -D __UNICODE__
26 | else
27 | override UNICODE := -D __ANSI__
28 | endif
29 |
30 | ifeq ($(PLATFORM),linux)
31 | ifeq (/etc/redhat-release,$(wildcard /etc/redhat-release))
32 | PLATVER = -D __CENTOS__
33 | else
34 | PLATVER = -D __UBUNTU__
35 | endif
36 | FILEEXT = so
37 | LIBFLAG = -shared
38 | LIBEX = -lpthread -lrt -ldl
39 | LOADBIN = -Wl,-rpath=./,--disable-new-dtags
40 | else ifeq ($(PLATFORM),mac)
41 | CC += -Wno-deprecated-declarations
42 | PLATVER = -D __MACOS__
43 | FILEEXT = dylib
44 | LIBFLAG = -dynamiclib
45 | LIBEX = -lpthread -ldl
46 | LOADBIN = -Wl,-rpath,@loader_path/./
47 | endif
48 |
49 | all:$(OBJECTS)
50 | $(CC) $(DEBUG) $(OBJECTS) -o libAuthorizeModule_Protocol.$(FILEEXT) $(LIBFLAG) $(LIB) $(LIBEX) $(LOADSO) $(LOADBIN)
51 |
52 | Protocol_Packet.o:./Protocol_Packet/Protocol_Packet.cpp
53 | $(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(PLATVER) $(LOADHDR) ./Protocol_Packet/Protocol_Packet.cpp
54 | Protocol_Parse.o:./Protocol_Parse/Protocol_Parse.cpp
55 | $(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(PLATVER) $(LOADHDR) ./Protocol_Parse/Protocol_Parse.cpp
56 |
57 | pch.o:pch.cpp
58 | $(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(PLATVER) $(LOADHDR) pch.cpp
59 |
60 | InstallAll:InstallSo
61 | InstallSo:./libAuthorizeModule_Protocol.$(FILEEXT)
62 | cp ./libAuthorizeModule_Protocol.$(FILEEXT) ../../XEngine_Release/libAuthorizeModule_Protocol.$(FILEEXT)
63 |
64 |
65 |
66 | CleanAll:CleanObj CleanMk
67 | CleanObj:
68 | rm *.o
69 | CleanMk:
70 | rm *.$(FILEEXT)
71 |
--------------------------------------------------------------------------------
/XEngine_Source/AuthorizeModule_Protocol/Protocol_Error.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | /********************************************************************
3 | // Created: 2021/07/16 09:22:57
4 | // File Name: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Protocol\Protocol_Error.h
5 | // File Path: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Protocol
6 | // File Base: Protocol_Error
7 | // File Ext: h
8 | // Project: XEngine(网络通信引擎)
9 | // Author: qyt
10 | // Purpose: 导出错误
11 | // History:
12 | *********************************************************************/
13 | #define ERROR_AUTHORIZE_MODULE_PROTOCOL_PARAMENT 0x0040001
14 | #define ERROR_AUTHORIZE_MODULE_PROTOCOL_PARSE 0x0040002
--------------------------------------------------------------------------------
/XEngine_Source/AuthorizeModule_Protocol/Protocol_Packet/Protocol_Packet.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | /********************************************************************
3 | // Created: 2021/07/14 14:24:11
4 | // File Name: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Protocol\Protocol_Packet\Protocol_Packet.h
5 | // File Path: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Protocol\Protocol_Packet
6 | // File Base: Protocol_Packet
7 | // File Ext: h
8 | // Project: XEngine(网络通信引擎)
9 | // Author: qyt
10 | // Purpose: 协议打包类
11 | // History:
12 | *********************************************************************/
13 |
14 | class CProtocol_Packet
15 | {
16 | public:
17 | CProtocol_Packet();
18 | ~CProtocol_Packet();
19 | public:
20 | bool Protocol_Packet_HDRComm(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, XENGINE_PROTOCOLHDR* pSt_ProtocolHdr, int enDeviceType);
21 | public:
22 | bool Protocol_Packet_HttpComm(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, int nCode = 0, LPCXSTR lpszMsgBuffer = NULL);
23 | bool Protocol_Packet_HttpUserPass(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, XENGINE_PROTOCOL_USERAUTH* pSt_UserAuth);
24 | bool Protocol_Packet_UserTime(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, AUTHSESSION_NETCLIENT*** pppSt_ListClient, int nListCount);
25 | bool Protocol_Packet_HttpUserTime(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, AUTHREG_PROTOCOL_TIME* pSt_ProtocolTime);
26 | bool Protocol_Packet_HttpClientInfo(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, AUTHREG_USERTABLE* pSt_UserTable);
27 | bool Protocol_Packet_HttpClientList(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, AUTHSESSION_NETCLIENT*** pppSt_OnClient, int nOnCount, AUTHREG_USERTABLE*** pppSt_OffClient, int nOffCount);
28 | bool Protocol_Packet_HttpSerialList(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, AUTHREG_SERIALTABLE*** pppSt_SerialList, int nListCount);
29 | bool Protocol_Packet_HttpToken(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, XNETHANDLE xhToken, int nTimeout, XSHOT nDCode = 0);
30 | bool Protocol_Packet_HttpSwitch(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, XENGINE_FUNCTIONSWITCH* pSt_FunSwitch);
31 | bool Protocol_Packet_HttpBanned(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, AUTHREG_BANNED*** pppSt_BannedUser, int nUserCount, AUTHREG_BANNED*** pppSt_BannedAddr, int nAddrCount);
32 | bool Protocol_Packet_HttpAnnouncement(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, AUTHREG_ANNOUNCEMENT*** pppSt_Announcement, int nListCount);
33 | bool Protocol_Packet_HttpTryList(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, AUTHREG_TEMPVER*** pppSt_TryList, int nListCount);
34 | protected:
35 | private:
36 | };
--------------------------------------------------------------------------------
/XEngine_Source/AuthorizeModule_Protocol/Protocol_Parse/Protocol_Parse.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | /********************************************************************
3 | // Created: 2021/07/14 14:26:26
4 | // File Name: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Protocol\Protocol_Parse\Protocol_Parse.h
5 | // File Path: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Protocol\Protocol_Parse
6 | // File Base: Protocol_Parse
7 | // File Ext: h
8 | // Project: XEngine(网络通信引擎)
9 | // Author: qyt
10 | // Purpose: 协议解析类
11 | // History:
12 | *********************************************************************/
13 |
14 | class CProtocol_Parse
15 | {
16 | public:
17 | CProtocol_Parse();
18 | ~CProtocol_Parse();
19 | public:
20 | bool Protocol_Parse_WSHdr(LPCXSTR lpszMsgBuffer, int nMsgLen, XENGINE_PROTOCOLHDR* pSt_ProtocolHdr);
21 | public:
22 | bool Protocol_Parse_HttpParseToken(LPCXSTR lpszMsgBuffer, int nMsgLen, XNETHANDLE* pxhToken);
23 | bool Protocol_Parse_HttpParseAuth(LPCXSTR lpszMsgBuffer, int nMsgLen, XENGINE_PROTOCOL_USERAUTH* pSt_UserAuth);
24 | bool Protocol_Parse_HttpParseUser(LPCXSTR lpszMsgBuffer, int nMsgLen, XENGINE_PROTOCOL_USERINFO* pSt_UserInfo);
25 | bool Protocol_Parse_HttpParsePay(LPCXSTR lpszMsgBuffer, int nMsgLen, AUTHREG_PROTOCOL_USERPAY* pSt_UserPay);
26 | bool Protocol_Parse_HttpParseTry(LPCXSTR lpszMsgBuffer, int nMsgLen, AUTHREG_TEMPVER* pSt_NETTry);
27 | bool Protocol_Parse_HttpParseTable(LPCXSTR lpszMsgBuffer, int nMsgLen, AUTHREG_USERTABLE* pSt_UserTable);
28 | bool Protocol_Parse_HttpParseSerial(LPCXSTR lpszMsgBuffer, int nMsgLen, AUTHREG_SERIALTABLE*** pppSt_SerialTable, int* pInt_ListCount);
29 | bool Protocol_Parse_HttpParseSerial2(LPCXSTR lpszMsgBuffer, int nMsgLen, ENUM_AUTHORIZE_MODULE_SERIAL_TYPE* penSerialType, int* pInt_NumberCount, int* pInt_SerialCount, XCHAR* ptszHasTime);
30 | bool Protocol_Parse_HttpParseOnline(LPCXSTR lpszMsgBuffer, int nMsgLen, bool* pbOnline);
31 | bool Protocol_Parse_HttpParseTime(LPCXSTR lpszMsgBuffer, int nMsgLen, AUTHREG_PROTOCOL_TIME* pSt_ProtocolTime);
32 | bool Protocol_Parse_HttpParseSwitch(LPCXSTR lpszMsgBuffer, int nMsgLen, XENGINE_FUNCTIONSWITCH* pSt_FunSwitch);
33 | bool Protocol_Parse_HttpParsePos(LPCXSTR lpszMsgBuffer, int nMsgLen, int* pInt_PosStart, int* pInt_PosEnd);
34 | bool Protocol_Parse_HttpParseBanned(LPCXSTR lpszMsgBuffer, int nMsgLen, AUTHREG_BANNED* pSt_AuthBanned);
35 | bool Protocol_Parse_HttpParseBanned2(LPCXSTR lpszMsgBuffer, int nMsgLen, int* pInt_POSStart, int* pInt_POSEnd);
36 | bool Protocol_Parse_HttpParseCDKey(LPCXSTR lpszMsgBuffer, int nMsgLen, XENGINE_AUTHORIZE_LOCAL* pSt_Authorize);
37 | bool Protocol_Parse_HttpParseAnnouncement(LPCXSTR lpszMsgBuffer, int nMsgLen, AUTHREG_ANNOUNCEMENT* pSt_Announcement);
38 | protected:
39 | private:
40 | };
--------------------------------------------------------------------------------
/XEngine_Source/AuthorizeModule_Protocol/dllmain.cpp:
--------------------------------------------------------------------------------
1 | // dllmain.cpp : 定义 DLL 应用程序的入口点。
2 | #include "pch.h"
3 |
4 | bool APIENTRY DllMain( HMODULE hModule,
5 | XLONG ul_reason_for_call,
6 | XPVOID lpReserved
7 | )
8 | {
9 | switch (ul_reason_for_call)
10 | {
11 | case DLL_PROCESS_ATTACH:
12 | case DLL_THREAD_ATTACH:
13 | case DLL_THREAD_DETACH:
14 | case DLL_PROCESS_DETACH:
15 | break;
16 | }
17 | return true;
18 | }
19 |
20 |
--------------------------------------------------------------------------------
/XEngine_Source/AuthorizeModule_Protocol/framework.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #define WIN32_LEAN_AND_MEAN // 从 Windows 头文件中排除极少使用的内容
4 | // Windows 头文件
5 | #include
6 |
--------------------------------------------------------------------------------
/XEngine_Source/AuthorizeModule_Protocol/pch.h:
--------------------------------------------------------------------------------
1 | // pch.h: 这是预编译标头文件。
2 | // 下方列出的文件仅编译一次,提高了将来生成的生成性能。
3 | // 这还将影响 IntelliSense 性能,包括代码完成和许多代码浏览功能。
4 | // 但是,如果此处列出的文件中的任何一个在生成之间有更新,它们全部都将被重新编译。
5 | // 请勿在此处添加要频繁更新的文件,这将使得性能优势无效。
6 |
7 | #ifndef PCH_H
8 | #define PCH_H
9 |
10 | #ifdef _WINDOWS
11 | // 添加要在此处预编译的标头
12 | #include "framework.h"
13 | #include
14 | #endif
15 | #endif //PCH_H
16 | #include
17 | #include
18 | #include
19 | #include
20 | #include
21 | using namespace std;
22 | #include
23 | #include
24 | #include
25 | #include
26 | #include
27 | #include "../XAuth_BuildSwitch.h"
28 | #include "../XAuth_Protocol.h"
29 | #include "../AuthorizeModule_CDKey/CDKey_Define.h"
30 | #include "../AuthorizeModule_CDKey/CDKey_Error.h"
31 | #include "../AuthorizeModule_Configure/Config_Define.h"
32 | #include "../AuthorizeModule_Session/Session_Define.h"
33 | #include "../AuthorizeModule_Session/Session_Error.h"
34 | #include "Protocol_Define.h"
35 | #include "Protocol_Error.h"
36 | /********************************************************************
37 | // Created: 2021/07/16 09:20:47
38 | // File Name: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Protocol\pch.h
39 | // File Path: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Protocol
40 | // File Base: pch
41 | // File Ext: h
42 | // Project: XEngine(网络通信引擎)
43 | // Author: qyt
44 | // Purpose: 公用头文件
45 | // History:
46 | *********************************************************************/
47 | extern bool Protocol_IsErrorOccur;
48 | extern XLONG Protocol_dwErrorCode;
49 |
50 | #ifdef _MSC_BUILD
51 | #pragma comment(lib,"XEngine_BaseLib/XEngine_BaseLib")
52 | #ifdef _DEBUG
53 | #ifdef _M_X64
54 | #pragma comment(lib,"../x64/Debug/jsoncpp")
55 | #elif _M_ARM64
56 | #pragma comment(lib,"../ARM64/Debug/jsoncpp")
57 | #elif _M_IX86
58 | #pragma comment(lib,"../Debug/jsoncpp")
59 | #endif
60 | #else
61 | #ifdef _M_X64
62 | #pragma comment(lib,"../x64/Release/jsoncpp")
63 | #elif _M_ARM64
64 | #pragma comment(lib,"../ARM64/Release/jsoncpp")
65 | #elif _M_IX86
66 | #pragma comment(lib,"../Release/jsoncpp")
67 | #endif
68 | #endif
69 | #endif
--------------------------------------------------------------------------------
/XEngine_Source/AuthorizeModule_Session/AuthorizeModule_Session.def:
--------------------------------------------------------------------------------
1 | LIBRARY
2 |
3 | EXPORTS
4 | Session_GetLastError
5 |
6 | Session_Authorize_Init
7 | Session_Authorize_GetClient
8 | Session_Authorize_GetUserForAddr
9 | Session_Authorize_CloseAddr
10 | Session_Authorize_Destroy
11 | Session_Authorize_Insert
12 | Session_Authorize_SetUser
13 |
14 | Session_Token_Init
15 | Session_Token_Destroy
16 | Session_Token_Insert
17 | Session_Token_Delete
18 | Session_Token_UPDate
19 | Session_Token_Get
20 | Session_Token_GetUser
21 | Session_Token_RenewalTime
--------------------------------------------------------------------------------
/XEngine_Source/AuthorizeModule_Session/AuthorizeModule_Session.vcxproj.filters:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
6 | cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx
7 |
8 |
9 | {93995380-89BD-4b04-88EB-625FBE52EBFB}
10 | h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd
11 |
12 |
13 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms
15 |
16 |
17 | {2be445da-b5f4-4b97-84c7-0ebe36e01ce8}
18 |
19 |
20 | {98019e80-6680-48fa-a755-702b5b3aab78}
21 |
22 |
23 | {5ad6d359-09c2-4995-82f6-e5f2e32a14c1}
24 |
25 |
26 | {0b721944-f23e-4671-81dc-beb1970fe840}
27 |
28 |
29 |
30 |
31 | 头文件
32 |
33 |
34 | 头文件
35 |
36 |
37 | 头文件
38 |
39 |
40 | 头文件
41 |
42 |
43 | 头文件\Session_Authorize
44 |
45 |
46 | 头文件\Session_Token
47 |
48 |
49 |
50 |
51 | 源文件
52 |
53 |
54 | 源文件
55 |
56 |
57 | 源文件\Session_Authorize
58 |
59 |
60 | 源文件\Session_Token
61 |
62 |
63 |
64 |
65 | 源文件
66 |
67 |
68 |
--------------------------------------------------------------------------------
/XEngine_Source/AuthorizeModule_Session/AuthorizeModule_Session.vcxproj.user:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/XEngine_Source/AuthorizeModule_Session/Makefile:
--------------------------------------------------------------------------------
1 | CC = g++ -Wall -std=c++20 -fPIC
2 | PLATVER =
3 | FILEEXT =
4 | LIBFLAG =
5 | LOADHDR = -I ./
6 | LOADSO =
7 | LIB = -lXEngine_BaseLib
8 | LIBEX =
9 | OBJECTS = Session_Authorize.o Session_Token.o pch.o
10 |
11 | ifeq ($(RELEASE),1)
12 | FLAGS = -c -D _RELEASE
13 | DEBUG = -O2
14 | else
15 | ifeq ($(PLATFORM),mac)
16 | FLAGS = -c
17 | DEBUG = -g -D _DEBUG
18 | else
19 | FLAGS = -c -lc_p
20 | DEBUG = -g -pg -D _DEBUG
21 | endif
22 | endif
23 |
24 | ifeq ($(UNICODE),1)
25 | override UNICODE := -D __UNICODE__
26 | else
27 | override UNICODE := -D __ANSI__
28 | endif
29 |
30 | ifeq ($(PLATFORM),linux)
31 | ifeq (/etc/redhat-release,$(wildcard /etc/redhat-release))
32 | PLATVER = -D __CENTOS__
33 | else
34 | PLATVER = -D __UBUNTU__
35 | endif
36 | FILEEXT = so
37 | LIBFLAG = -shared
38 | LIBEX = -lpthread -lrt -ldl
39 | LOADBIN = -Wl,-rpath=./,--disable-new-dtags
40 | else ifeq ($(PLATFORM),mac)
41 | CC += -Wno-deprecated-declarations
42 | PLATVER = -D __MACOS__
43 | FILEEXT = dylib
44 | LIBFLAG = -dynamiclib
45 | LIBEX = -lpthread -ldl
46 | LOADBIN = -Wl,-rpath,@loader_path/./
47 | endif
48 |
49 | all:$(OBJECTS)
50 | $(CC) $(DEBUG) $(OBJECTS) -o libAuthorizeModule_Session.$(FILEEXT) $(LIBFLAG) $(LIB) $(LIBEX) $(LOADSO) $(LOADBIN)
51 |
52 | Session_Authorize.o:./Session_Authorize/Session_Authorize.cpp
53 | $(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(PLATVER) $(LOADHDR) ./Session_Authorize/Session_Authorize.cpp
54 | Session_Token.o:./Session_Token/Session_Token.cpp
55 | $(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(PLATVER) $(LOADHDR) ./Session_Token/Session_Token.cpp
56 |
57 | pch.o:pch.cpp
58 | $(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(PLATVER) $(LOADHDR) pch.cpp
59 |
60 | InstallAll:InstallSo
61 | InstallSo:./libAuthorizeModule_Session.$(FILEEXT)
62 | cp ./libAuthorizeModule_Session.$(FILEEXT) ../../XEngine_Release/libAuthorizeModule_Session.$(FILEEXT)
63 |
64 |
65 | CleanAll:CleanObj CleanMk
66 | CleanObj:
67 | rm *.o
68 | CleanMk:
69 | rm *.$(FILEEXT)
70 |
--------------------------------------------------------------------------------
/XEngine_Source/AuthorizeModule_Session/Session_Authorize/Session_Authorize.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | /********************************************************************
3 | // Created: 2022/05/26 11:22:22
4 | // File Name: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Session\Session_Authorize\Session_Authorize.h
5 | // File Path: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Session\Session_Authorize
6 | // File Base: Session_Authorize
7 | // File Ext: h
8 | // Project: XEngine(网络通信引擎)
9 | // Author: qyt
10 | // Purpose: 会话管理器
11 | // History:
12 | *********************************************************************/
13 |
14 | class CSession_Authorize
15 | {
16 | public:
17 | CSession_Authorize();
18 | ~CSession_Authorize();
19 | public:
20 | bool Session_Authorize_Init(CALLBACK_XENGIEN_AUTHORIZE_SESSION_CLIENT_EVENTS fpCall_AuthEvent, XPVOID lParam = NULL);
21 | bool Session_Authorize_GetClient(AUTHSESSION_NETCLIENT*** pppSt_ListClient, int* pInt_ListCount, LPCXSTR lpszClientUser = NULL);
22 | bool Session_Authorize_GetUserForAddr(LPCXSTR lpszClientAddr, AUTHSESSION_NETCLIENT* pSt_Client = NULL);
23 | bool Session_Authorize_CloseAddr(LPCXSTR lpszClientAddr);
24 | bool Session_Authorize_Destroy();
25 | public:
26 | bool Session_Authorize_Insert(LPCXSTR lpszClientAddr, AUTHREG_USERTABLE* pSt_UserTable, XNETHANDLE xhToken, int nNetType = 0);
27 | bool Session_Authorize_SetUser(AUTHREG_USERTABLE* pSt_UserTable);
28 | protected:
29 | static XHTHREAD Session_Authorize_ActiveThread(XPVOID lParam); //计时器线程
30 | private:
31 | bool bIsRun; //运行标志
32 | shared_ptr pSTDThread_hActive; //时间计算器线程句柄
33 | private:
34 | XPVOID m_lParam;
35 | CALLBACK_XENGIEN_AUTHORIZE_SESSION_CLIENT_EVENTS lpCall_AuthregEvents;
36 | private:
37 | shared_mutex st_Locker;
38 | private:
39 | unordered_map > stl_MapNetClient;
40 | };
41 |
--------------------------------------------------------------------------------
/XEngine_Source/AuthorizeModule_Session/Session_Error.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | /********************************************************************
3 | // Created: 2022/05/26 10:53:29
4 | // File Name: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Session\Session_Error.h
5 | // File Path: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Session
6 | // File Base: Session_Error
7 | // File Ext: h
8 | // Project: XEngine(网络通信引擎)
9 | // Author: qyt
10 | // Purpose: 错误表
11 | // History:
12 | *********************************************************************/
13 | //////////////////////////////////////////////////////////////////////////
14 | // 导出的错误表
15 | //////////////////////////////////////////////////////////////////////////
16 | /************************************************************************/
17 | /* 网络协议错误 */
18 | /************************************************************************/
19 | #define ERROR_AUTHORIZE_MODULE_SESSION_PARAMENT 0x0020000 //参数错误,无法继续
20 | #define ERROR_AUTHORIZE_MODULE_SESSION_CREATETHREAD 0x0020001 //创建线程失败
21 | #define ERROR_AUTHORIZE_MODULE_SESSION_NOTFOUND 0x0020002 //没有找到客户端
22 | #define ERROR_AUTHORIZE_MODULE_SESSION_ISLOGIN 0x0020003 //用户已经登陆,无法第二次登陆
23 | #define ERROR_AUTHORIZE_MODULE_SESSION_MATCH 0x0020004 //找回密码失败,匹配资料错误
24 | #define ERROR_AUTHORIZE_MODULE_SESSION_VER 0x0020005 //验证失败
25 | #define ERROR_AUTHORIZE_MODULE_SESSION_EXIST 0x0020006 //已存在
--------------------------------------------------------------------------------
/XEngine_Source/AuthorizeModule_Session/Session_Token/Session_Token.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | /********************************************************************
3 | // Created: 2022/08/18 14:29:38
4 | // File Name: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Session\Session_Token\Session_Token.h
5 | // File Path: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Session\Session_Token
6 | // File Base: Session_Token
7 | // File Ext: h
8 | // Project: XEngine(网络通信引擎)
9 | // Author: qyt
10 | // Purpose: TOKEN会话
11 | // History:
12 | *********************************************************************/
13 | typedef struct
14 | {
15 | AUTHREG_USERTABLE st_UserTable; //用户表
16 | XENGINE_LIBTIME st_LibTimer; //登录时间结构
17 | int nTimeout; //单独指定超时
18 | int nRenewalTime; //自动续期次数
19 | }AUTHSESSION_TOKENCLIENT, * LPAUTHSESSION_TOKENCLIENT;
20 | //////////////////////////////////////////////////////////////////////////
21 | class CSession_Token
22 | {
23 | public:
24 | CSession_Token();
25 | ~CSession_Token();
26 | public:
27 | bool Session_Token_Init(int nTimeout, CALLBACK_XENGIEN_AUTHORIZE_SESSION_TOKEN_EVENTS fpCall_AuthEvent, XPVOID lParam = NULL);
28 | bool Session_Token_Destroy();
29 | bool Session_Token_Insert(XNETHANDLE xhToken, AUTHREG_USERTABLE* pSt_UserTable);
30 | bool Session_Token_Delete(XNETHANDLE xhToken);
31 | bool Session_Token_UPDate(XNETHANDLE xhToken);
32 | bool Session_Token_Get(XNETHANDLE xhToken, AUTHREG_USERTABLE* pSt_UserTable = NULL);
33 | bool Session_Token_GetUser(LPCXSTR lpszUser, LPCXSTR lpszPass, XNETHANDLE* pxhToken);
34 | bool Session_Token_RenewalTime(XNETHANDLE xhToken, int* pInt_RenewalTime);
35 | protected:
36 | static XHTHREAD Session_Token_Thread(XPVOID lParam);
37 | private:
38 | int m_nTimeout;
39 | bool bIsRun;
40 | shared_ptr pSTDThread_hActive;
41 | private:
42 | XPVOID m_lParam;
43 | CALLBACK_XENGIEN_AUTHORIZE_SESSION_TOKEN_EVENTS lpCall_AuthregEvents;
44 | private:
45 | shared_mutex st_Locker;
46 | private:
47 | unordered_map stl_MapToken;
48 | };
49 |
--------------------------------------------------------------------------------
/XEngine_Source/AuthorizeModule_Session/dllmain.cpp:
--------------------------------------------------------------------------------
1 | // dllmain.cpp : 定义 DLL 应用程序的入口点。
2 | #include "pch.h"
3 |
4 | bool APIENTRY DllMain( HMODULE hModule,
5 | XLONG ul_reason_for_call,
6 | XPVOID lpReserved
7 | )
8 | {
9 | switch (ul_reason_for_call)
10 | {
11 | case DLL_PROCESS_ATTACH:
12 | case DLL_THREAD_ATTACH:
13 | case DLL_THREAD_DETACH:
14 | case DLL_PROCESS_DETACH:
15 | break;
16 | }
17 | return true;
18 | }
19 |
20 |
--------------------------------------------------------------------------------
/XEngine_Source/AuthorizeModule_Session/framework.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #define WIN32_LEAN_AND_MEAN // 从 Windows 头文件中排除极少使用的内容
4 | // Windows 头文件
5 | #include
6 |
--------------------------------------------------------------------------------
/XEngine_Source/AuthorizeModule_Session/pch.h:
--------------------------------------------------------------------------------
1 | // pch.h: 这是预编译标头文件。
2 | // 下方列出的文件仅编译一次,提高了将来生成的生成性能。
3 | // 这还将影响 IntelliSense 性能,包括代码完成和许多代码浏览功能。
4 | // 但是,如果此处列出的文件中的任何一个在生成之间有更新,它们全部都将被重新编译。
5 | // 请勿在此处添加要频繁更新的文件,这将使得性能优势无效。
6 |
7 | #ifndef PCH_H
8 | #define PCH_H
9 |
10 | #ifdef _WINDOWS
11 | // 添加要在此处预编译的标头
12 | #include "framework.h"
13 | #include
14 | #endif
15 |
16 | #endif //PCH_H
17 | #include
18 | #include
19 | #include
20 | #include
21 | #include
22 | #include
23 | #include
24 | using namespace std;
25 | #include
26 | #include
27 | #include
28 | #include
29 | #include
30 | #include "../XAuth_BuildSwitch.h"
31 | #include "../XAuth_Protocol.h"
32 | #include "../AuthorizeModule_CDKey/CDKey_Define.h"
33 | #include "../AuthorizeModule_CDKey/CDKey_Error.h"
34 | #include "Session_Define.h"
35 | #include "Session_Error.h"
36 | /********************************************************************
37 | // Created: 2022/05/26 10:53:07
38 | // File Name: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Session\pch.h
39 | // File Path: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Session
40 | // File Base: pch
41 | // File Ext: h
42 | // Project: XEngine(网络通信引擎)
43 | // Author: qyt
44 | // Purpose: 公有头文件
45 | // History:
46 | *********************************************************************/
47 | extern bool Session_IsErrorOccur;
48 | extern XLONG Session_dwErrorCode;
49 |
50 | typedef std::string xstring;
51 |
52 | #ifdef _WINDOWS
53 | #pragma comment(lib,"XEngine_BaseLib/XEngine_BaseLib.lib")
54 | #endif
--------------------------------------------------------------------------------
/XEngine_Source/Makefile:
--------------------------------------------------------------------------------
1 | RELEASE = 0
2 | UNICODE = 0
3 | PLATFORM=linux
4 | FLAGS=
5 |
6 | DEPEND_JSONCPP_PATH = ./XEngine_Depend/XEngine_Module/jsoncpp
7 | DEPEND_REPORT_PATH = ./XEngine_Depend/XEngine_Module/XEngine_InfoReport
8 |
9 | AUTH_CDKEY_PATH = ./AuthorizeModule_CDKey
10 | AUTH_SESSION_PATH = ./AuthorizeModule_Session
11 | AUTH_DATABASE_PATH = ./AuthorizeModule_Database
12 | AUTH_PROTOCOL_PATH = ./AuthorizeModule_Protocol
13 | AUTH_CONFIGURE_PATH = ./AuthorizeModule_Configure
14 | AUTH_HELP_PATH = ./AuthorizeModule_Help
15 | AUTH_CLIENT_PATH = ./AuthorizeModule_Client
16 |
17 | AUTH_APP_PATH = ./XEngine_APPService/XEngine_AuthorizeService
18 |
19 | ifeq ($(PLATFORM),linux)
20 | FILEEXT = so
21 | else ifeq ($(PLATFORM),mac)
22 | FILEEXT = dylib
23 | endif
24 |
25 | XENGINE_MODULES = libjsoncpp.so libXEngine_InfoReport.so \
26 | libAuthorizeModule_CDKey.so libAuthorizeModule_Session.so libAuthorizeModule_Database.so libAuthorizeModule_Protocol.so libAuthorizeModule_Configure.so libAuthorizeModule_Help.so libAuthorizeModule_Client.so \
27 | XEngine_AuthorizeApp.exe
28 |
29 | .PHONY:MakeAll
30 | MakeAll:$(XENGINE_MODULES)
31 |
32 |
33 | libjsoncpp.so:
34 | ifeq ($(FLAGS), InstallAll)
35 | cp $(DEPEND_JSONCPP_PATH)/libjsoncpp.$(FILEEXT) ../XEngine_Release/
36 | else
37 | make -C $(DEPEND_JSONCPP_PATH) PLATFORM=$(PLATFORM) $(FLAGS)
38 | endif
39 | libXEngine_InfoReport.so:
40 | ifeq ($(FLAGS), InstallAll)
41 | cp $(DEPEND_REPORT_PATH)/libXEngine_InfoReport.$(FILEEXT) ../XEngine_Release/
42 | else
43 | make -C $(DEPEND_REPORT_PATH) PLATFORM=$(PLATFORM) $(FLAGS)
44 | endif
45 |
46 | libAuthorizeModule_CDKey.so:
47 | make -C $(AUTH_CDKEY_PATH) PLATFORM=$(PLATFORM) UNICODE=$(UNICODE) $(FLAGS)
48 | libAuthorizeModule_Session.so:
49 | make -C $(AUTH_SESSION_PATH) PLATFORM=$(PLATFORM) UNICODE=$(UNICODE) $(FLAGS)
50 | libAuthorizeModule_Database.so:
51 | make -C $(AUTH_DATABASE_PATH) PLATFORM=$(PLATFORM) UNICODE=$(UNICODE) $(FLAGS)
52 | libAuthorizeModule_Protocol.so:
53 | make -C $(AUTH_PROTOCOL_PATH) PLATFORM=$(PLATFORM) UNICODE=$(UNICODE) $(FLAGS)
54 | libAuthorizeModule_Configure.so:
55 | make -C $(AUTH_CONFIGURE_PATH) PLATFORM=$(PLATFORM) UNICODE=$(UNICODE) $(FLAGS)
56 | libAuthorizeModule_Help.so:
57 | make -C $(AUTH_HELP_PATH) PLATFORM=$(PLATFORM) UNICODE=$(UNICODE) $(FLAGS)
58 | libAuthorizeModule_Client.so:
59 | make -C $(AUTH_CLIENT_PATH) PLATFORM=$(PLATFORM) UNICODE=$(UNICODE) $(FLAGS)
60 |
61 | XEngine_AuthorizeApp.exe:
62 | make -C $(AUTH_APP_PATH) PLATFORM=$(PLATFORM) UNICODE=$(UNICODE) $(FLAGS)
--------------------------------------------------------------------------------
/XEngine_Source/VSClean.bat:
--------------------------------------------------------------------------------
1 | @echo Off
2 | del /s /a *.ncb *.so *.o *.db
3 | FOR /R . %%d IN (.) DO rd /s /q "%%d\Debug" 2>nul
4 | FOR /R . %%d IN (.) DO rd /s /q "%%d\Release" 2>nul
5 | FOR /R . %%d IN (.) DO rd /s /q "%%d\x64" 2>nul
6 | FOR /R . %%d IN (.) DO rd /s /q "%%d\Debug" 2>nul
7 | FOR /R . %%d IN (.) DO rd /s /q "%%d\ipch" 2>nul
8 |
9 | rem If the Properties directory is empty, remove it
10 | FOR /R . %%d in (.) do rd /q "%%d\Properties" 2> nul
11 |
--------------------------------------------------------------------------------
/XEngine_Source/VSCopy_Arm64.bat:
--------------------------------------------------------------------------------
1 | copy /y "%XEngine_LibArm64%\XEngine_BaseLib\XEngine_BaseLib.dll" "./"
2 | copy /y "%XEngine_LibArm64%\XEngine_BaseLib\XEngine_BaseSafe.dll" "./"
3 | copy /y "%XEngine_LibArm64%\XEngine_BaseLib\XEngine_Algorithm.dll" "./"
4 | copy /y "%XEngine_LibArm64%\XEngine_Core\XEngine_Core.dll" "./"
5 | copy /y "%XEngine_LibArm64%\XEngine_Core\XEngine_ManagePool.dll" "./"
6 | copy /y "%XEngine_LibArm64%\XEngine_Core\XEngine_Cryption.dll" "./"
7 |
8 | copy /y "%XEngine_LibArm64%\XEngine_NetHelp\NetHelp_APIHelp.dll" "./"
9 | copy /y "%XEngine_LibArm64%\XEngine_NetHelp\NetHelp_APIAddr.dll" "./"
10 |
11 | copy /y "%XEngine_LibArm64%\XEngine_HelpComponents\HelpComponents_DataBase.dll" "./"
12 | copy /y "%XEngine_LibArm64%\XEngine_HelpComponents\HelpComponents_Packets.dll" "./"
13 | copy /y "%XEngine_LibArm64%\XEngine_HelpComponents\HelpComponents_XLog.dll" "./"
14 |
15 | copy /y "%XEngine_LibArm64%\XEngine_RfcComponents\RfcComponents_WSProtocol.dll" "./"
16 | copy /y "%XEngine_LibArm64%\XEngine_RfcComponents\RfcComponents_HttpProtocol.dll" "./"
17 |
18 | copy /y "%XEngine_LibArm64%\XEngine_Client\XClient_APIHelp.dll" "./"
19 | copy /y "%XEngine_LibArm64%\XEngine_SystemSdk\XEngine_SystemApi.dll" "./"
20 | copy /y "%XEngine_LibArm64%\XEngine_SystemSdk\XEngine_SystemConfig.dll" "./"
--------------------------------------------------------------------------------
/XEngine_Source/VSCopy_Debug.bat:
--------------------------------------------------------------------------------
1 | copy /y "D:\XEngine\XEngine_SourceCode\Debug\XEngine_BaseLib.dll" "./"
2 | copy /y "D:\XEngine\XEngine_SourceCode\Debug\XEngine_BaseSafe.dll" "./"
3 | copy /y "D:\XEngine\XEngine_SourceCode\Debug\XEngine_Algorithm.dll" "./"
4 | copy /y "D:\XEngine\XEngine_SourceCode\Debug\XEngine_Core.dll" "./"
5 | copy /y "D:\XEngine\XEngine_SourceCode\Debug\XEngine_ManagePool.dll" "./"
6 | copy /y "D:\XEngine\XEngine_SourceCode\Debug\XEngine_Cryption.dll" "./"
7 |
8 | copy /y "D:\XEngine\XEngine_SourceCode\Debug\NetHelp_APIHelp.dll" "./"
9 | copy /y "D:\XEngine\XEngine_SourceCode\Debug\NetHelp_APIAddr.dll" "./"
10 |
11 | copy /y "D:\XEngine\XEngine_SourceCode\Debug\HelpComponents_DataBase.dll" "./"
12 | copy /y "D:\XEngine\XEngine_SourceCode\Debug\HelpComponents_Packets.dll" "./"
13 | copy /y "D:\XEngine\XEngine_SourceCode\Debug\HelpComponents_XLog.dll" "./"
14 |
15 | copy /y "D:\XEngine\XEngine_SourceCode\Debug\RfcComponents_WSProtocol.dll" "./"
16 | copy /y "D:\XEngine\XEngine_SourceCode\Debug\RfcComponents_HttpProtocol.dll" "./"
17 |
18 | copy /y "D:\XEngine\XEngine_SourceCode\Debug\XClient_APIHelp.dll" "./"
19 | copy /y "D:\XEngine\XEngine_SourceCode\Debug\XEngine_SystemApi.dll" "./"
20 | copy /y "D:\XEngine\XEngine_SourceCode\Debug\XEngine_SystemConfig.dll" "./"
--------------------------------------------------------------------------------
/XEngine_Source/VSCopy_x64.bat:
--------------------------------------------------------------------------------
1 | copy /y "%XEngine_Lib64%\XEngine_BaseLib\XEngine_BaseLib.dll" "./"
2 | copy /y "%XEngine_Lib64%\XEngine_BaseLib\XEngine_BaseSafe.dll" "./"
3 | copy /y "%XEngine_Lib64%\XEngine_BaseLib\XEngine_Algorithm.dll" "./"
4 | copy /y "%XEngine_Lib64%\XEngine_Core\XEngine_Core.dll" "./"
5 | copy /y "%XEngine_Lib64%\XEngine_Core\XEngine_ManagePool.dll" "./"
6 | copy /y "%XEngine_Lib64%\XEngine_Core\XEngine_Cryption.dll" "./"
7 |
8 | copy /y "%XEngine_Lib64%\XEngine_NetHelp\NetHelp_APIHelp.dll" "./"
9 | copy /y "%XEngine_Lib64%\XEngine_NetHelp\NetHelp_APIAddr.dll" "./"
10 |
11 | copy /y "%XEngine_Lib64%\XEngine_HelpComponents\HelpComponents_DataBase.dll" "./"
12 | copy /y "%XEngine_Lib64%\XEngine_HelpComponents\HelpComponents_Packets.dll" "./"
13 | copy /y "%XEngine_Lib64%\XEngine_HelpComponents\HelpComponents_XLog.dll" "./"
14 |
15 | copy /y "%XEngine_Lib64%\XEngine_RfcComponents\RfcComponents_WSProtocol.dll" "./"
16 | copy /y "%XEngine_Lib64%\XEngine_RfcComponents\RfcComponents_HttpProtocol.dll" "./"
17 |
18 | copy /y "%XEngine_Lib64%\XEngine_Client\XClient_APIHelp.dll" "./"
19 | copy /y "%XEngine_Lib64%\XEngine_SystemSdk\XEngine_SystemApi.dll" "./"
20 | copy /y "%XEngine_Lib64%\XEngine_SystemSdk\XEngine_SystemConfig.dll" "./"
--------------------------------------------------------------------------------
/XEngine_Source/VSCopy_x86.bat:
--------------------------------------------------------------------------------
1 | copy /y "%XEngine_Lib32%\XEngine_BaseLib\XEngine_BaseLib.dll" "./"
2 | copy /y "%XEngine_Lib32%\XEngine_BaseLib\XEngine_BaseSafe.dll" "./"
3 | copy /y "%XEngine_Lib32%\XEngine_BaseLib\XEngine_Algorithm.dll" "./"
4 | copy /y "%XEngine_Lib32%\XEngine_Core\XEngine_Core.dll" "./"
5 | copy /y "%XEngine_Lib32%\XEngine_Core\XEngine_ManagePool.dll" "./"
6 | copy /y "%XEngine_Lib32%\XEngine_Core\XEngine_Cryption.dll" "./"
7 |
8 | copy /y "%XEngine_Lib32%\XEngine_NetHelp\NetHelp_APIHelp.dll" "./"
9 | copy /y "%XEngine_Lib32%\XEngine_NetHelp\NetHelp_APIAddr.dll" "./"
10 |
11 | copy /y "%XEngine_Lib32%\XEngine_HelpComponents\HelpComponents_DataBase.dll" "./"
12 | copy /y "%XEngine_Lib32%\XEngine_HelpComponents\HelpComponents_Packets.dll" "./"
13 | copy /y "%XEngine_Lib32%\XEngine_HelpComponents\HelpComponents_XLog.dll" "./"
14 |
15 | copy /y "%XEngine_Lib32%\XEngine_RfcComponents\RfcComponents_WSProtocol.dll" "./"
16 | copy /y "%XEngine_Lib32%\XEngine_RfcComponents\RfcComponents_HttpProtocol.dll" "./"
17 |
18 | copy /y "%XEngine_Lib32%\XEngine_Client\XClient_APIHelp.dll" "./"
19 | copy /y "%XEngine_Lib32%\XEngine_SystemSdk\XEngine_SystemApi.dll" "./"
20 | copy /y "%XEngine_Lib32%\XEngine_SystemSdk\XEngine_SystemConfig.dll" "./"
--------------------------------------------------------------------------------
/XEngine_Source/XAuth_BuildSwitch.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | /********************************************************************
3 | // Created: 2024/01/04 10:01:07
4 | // File Name: D:\XEngine_Authorize\XEngine_Source\XAuth_BuildSwitch.h
5 | // File Path: D:\XEngine_Authorize\XEngine_Source
6 | // File Base: XAuth_BuildSwitch
7 | // File Ext: h
8 | // Project: XEngine(网络通信引擎)
9 | // Author: qyt
10 | // Purpose: 编译选项
11 | // History:
12 | *********************************************************************/
13 | #define _XAUTH_BUILD_SWITCH_CLIENT_TCP 1
14 | #define _XAUTH_BUILD_SWITCH_CLIENT_HTTP 1
15 |
16 | #if (XENGINE_VERSION_KERNEL <= 9) && (XENGINE_VERSION_MAIN < 10)
17 | typedef XENGINE_LIBTIMER XENGINE_LIBTIME;
18 | #endif
--------------------------------------------------------------------------------
/XEngine_Source/XEngine_APPService/XEngine_AuthorizeApp/Authorize_Dialog/Dialog_Announcement.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | #include "afxdialogex.h"
3 |
4 |
5 | // CDialog_Announcement 对话框
6 |
7 | class CDialog_Announcement : public CDialogEx
8 | {
9 | DECLARE_DYNAMIC(CDialog_Announcement)
10 |
11 | public:
12 | CDialog_Announcement(CWnd* pParent = nullptr); // 标准构造函数
13 | virtual ~CDialog_Announcement();
14 |
15 | // 对话框数据
16 | #ifdef AFX_DESIGN_TIME
17 | enum { IDD = IDD_DIALOG_ANNOUNCEMENT };
18 | #endif
19 |
20 | protected:
21 | virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持
22 |
23 | DECLARE_MESSAGE_MAP()
24 | public:
25 | virtual BOOL OnInitDialog();
26 | CListCtrl m_ListAnnouncement;
27 | afx_msg void OnBnClickedButton1();
28 | CEdit m_EditNoticeStr;
29 | afx_msg void OnBnClickedButton2();
30 | afx_msg void OnBnClickedButton3();
31 | };
32 |
--------------------------------------------------------------------------------
/XEngine_Source/XEngine_APPService/XEngine_AuthorizeApp/Authorize_Dialog/Dialog_Banned.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | #include "afxdialogex.h"
3 |
4 |
5 | // CDialog_Banned 对话框
6 |
7 | class CDialog_Banned : public CDialogEx
8 | {
9 | DECLARE_DYNAMIC(CDialog_Banned)
10 |
11 | public:
12 | CDialog_Banned(CWnd* pParent = nullptr); // 标准构造函数
13 | virtual ~CDialog_Banned();
14 |
15 | // 对话框数据
16 | #ifdef AFX_DESIGN_TIME
17 | enum { IDD = IDD_DIALOG_BANNED };
18 | #endif
19 |
20 | protected:
21 | virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持
22 |
23 | DECLARE_MESSAGE_MAP()
24 | public:
25 | afx_msg void OnBnClickedRadio1();
26 | CButton m_RadioIPAddr;
27 | CButton m_RadioUser;
28 | CStatic m_StaticTips;
29 | afx_msg void OnBnClickedRadio2();
30 | virtual BOOL OnInitDialog();
31 | afx_msg void OnBnClickedButton2();
32 | afx_msg void OnBnClickedButton4();
33 | afx_msg void OnBnClickedButton3();
34 | CListCtrl m_ListAddr;
35 | CListCtrl m_ListUser;
36 | CEdit m_EditUser;
37 | CDateTimeCtrl m_DataTime;
38 | afx_msg void OnBnClickedCheck1();
39 | CButton m_BtnCheckTime;
40 | CButton m_RadioEnable;
41 | CButton m_RadioDisable;
42 | afx_msg void OnBnClickedButton5();
43 | afx_msg void OnNMClickList2(NMHDR* pNMHDR, LRESULT* pResult);
44 | afx_msg void OnNMClickList1(NMHDR* pNMHDR, LRESULT* pResult);
45 | CEdit m_EditPosEnd;
46 | CEdit m_EditPosStart;
47 | };
48 |
--------------------------------------------------------------------------------
/XEngine_Source/XEngine_APPService/XEngine_AuthorizeApp/Authorize_Dialog/Dialog_CDKey.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | #include "afxdialogex.h"
3 |
4 |
5 | // CDialog_CDKey 对话框
6 |
7 | class CDialog_CDKey : public CDialogEx
8 | {
9 | DECLARE_DYNAMIC(CDialog_CDKey)
10 |
11 | public:
12 | CDialog_CDKey(CWnd* pParent = nullptr); // 标准构造函数
13 | virtual ~CDialog_CDKey();
14 |
15 | // 对话框数据
16 | #ifdef AFX_DESIGN_TIME
17 | enum { IDD = IDD_DIALOG_CDKEY };
18 | #endif
19 |
20 | protected:
21 | virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持
22 |
23 | DECLARE_MESSAGE_MAP()
24 | public:
25 | bool bOPenCDKey = false;
26 | bool Dialog_CDKey_Init();
27 | bool Dialog_CDKey_Read(XENGINE_AUTHORIZE_LOCAL* pSt_AuthorizeCDKey);
28 | bool Dialog_CDKey_Write(XENGINE_AUTHORIZE_LOCAL* pSt_AuthorizeCDKey);
29 | public:
30 | virtual BOOL OnInitDialog();
31 | afx_msg void OnBnClickedButton1();
32 | CEdit m_EditPort;
33 | CDateTimeCtrl m_DateTimeCreate;
34 | CDateTimeCtrl m_DateTimeRegister;
35 | CDateTimeCtrl m_DateTimeStart;
36 | CEdit m_EditSoftName;
37 | CEdit m_EditSoftVer;
38 | CEdit m_EditSoftTime;
39 | CButton m_EditSoftInit;
40 | CEdit m_EditRegHardCode;
41 | CEdit m_EditRegLeftTime;
42 | CEdit m_EditRegHaveTime;
43 | CComboBox m_ComboRegSerial;
44 | CComboBox m_ComboRegType;
45 | CComboBox m_ComboRegHard;
46 | CComboBox m_ComboRegVer;
47 | CEdit m_EditSerialTimeNumber;
48 | CEdit m_EditSerialTimeCount;
49 | CEdit m_EditSerialDataNumber;
50 | CDateTimeCtrl m_DataTimeSerial;
51 | CEdit m_EditSerialUnlimitNumber;
52 | CEdit m_EditUserInfo;
53 | CEdit m_EditUserContact;
54 | CEdit m_EditUserCustom;
55 | afx_msg void OnBnClickedButton9();
56 | CDateTimeCtrl m_DataTimeRegExpiry;
57 | CEdit m_EditKeyPass;
58 | afx_msg void OnBnClickedButton10();
59 | CButton m_CheckSerialDataAdd;
60 | afx_msg void OnBnClickedButton11();
61 | CEdit m_EditIPAddr;
62 | };
63 |
--------------------------------------------------------------------------------
/XEngine_Source/XEngine_APPService/XEngine_AuthorizeApp/Authorize_Dialog/Dialog_Config.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | #include "afxdialogex.h"
3 |
4 |
5 | // CDialog_Config 对话框
6 |
7 | class CDialog_Config : public CDialogEx
8 | {
9 | DECLARE_DYNAMIC(CDialog_Config)
10 |
11 | public:
12 | CDialog_Config(CWnd* pParent = nullptr); // 标准构造函数
13 | virtual ~CDialog_Config();
14 |
15 | // 对话框数据
16 | #ifdef AFX_DESIGN_TIME
17 | enum { IDD = IDD_DIALOG_CONFIG };
18 | #endif
19 |
20 | protected:
21 | virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持
22 |
23 | DECLARE_MESSAGE_MAP()
24 | public:
25 | virtual BOOL OnInitDialog();
26 | CEdit m_EditIPAddr;
27 | CEdit m_EditIPPort;
28 | afx_msg void OnBnClickedButton1();
29 | afx_msg void OnBnClickedButton2();
30 | CEdit m_EditUser;
31 | CEdit m_EditPass;
32 | CEdit m_EditToken;
33 | CButton m_BtnLogin;
34 | CButton m_BtnLogout;
35 | CEdit m_EditTimeout;
36 | afx_msg void OnBnClickedButton5();
37 | CButton m_BtnUpdate;
38 | CButton m_CheckCodecEnable;
39 | CButton m_CheckCodecDisable;
40 | CComboBox m_ListEncrypto;
41 | afx_msg void OnBnClickedRadio2();
42 | afx_msg void OnBnClickedRadio1();
43 | CEdit m_EditPassword;
44 | CEdit m_EditDCode;
45 | afx_msg void OnBnClickedButton8();
46 | CComboBox m_ComboPassCodec;
47 | CButton m_RadioPassDisable;
48 | CButton m_RadioPassEnable;
49 | afx_msg void OnBnClickedRadio3();
50 | afx_msg void OnBnClickedRadio4();
51 | };
52 |
--------------------------------------------------------------------------------
/XEngine_Source/XEngine_APPService/XEngine_AuthorizeApp/Authorize_Dialog/Dialog_Modify.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | #include "afxdialogex.h"
3 |
4 |
5 | // CDialog_Modify 对话框
6 |
7 | class CDialog_Modify : public CDialogEx
8 | {
9 | DECLARE_DYNAMIC(CDialog_Modify)
10 |
11 | public:
12 | CDialog_Modify(CWnd* pParent = nullptr); // 标准构造函数
13 | virtual ~CDialog_Modify();
14 |
15 | // 对话框数据
16 | #ifdef AFX_DESIGN_TIME
17 | enum { IDD = IDD_DIALOG_MODIFY };
18 | #endif
19 |
20 | protected:
21 | virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持
22 |
23 | DECLARE_MESSAGE_MAP()
24 | public:
25 | virtual BOOL OnInitDialog();
26 | CEdit m_EditUser;
27 | CEdit m_EditPass;
28 | CEdit m_EditEMail;
29 | CEdit m_EditCardID;
30 | CEdit m_EditPhone;
31 | CEdit m_EditLeftTime;
32 | CComboBox m_ComboSerial;
33 | CComboBox m_ComboLeave;
34 | afx_msg void OnBnClickedButton2();
35 | CEdit m_EditHardCode;
36 | CButton m_BtnModify;
37 | afx_msg void OnBnClickedButton3();
38 | CDateTimeCtrl m_DateTimeRegister;
39 | };
40 |
--------------------------------------------------------------------------------
/XEngine_Source/XEngine_APPService/XEngine_AuthorizeApp/Authorize_Dialog/Dialog_Serial.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | #include "afxdialogex.h"
3 |
4 |
5 | // CDialog_Serial 对话框
6 |
7 | class CDialog_Serial : public CDialogEx
8 | {
9 | DECLARE_DYNAMIC(CDialog_Serial)
10 |
11 | public:
12 | CDialog_Serial(CWnd* pParent = nullptr); // 标准构造函数
13 | virtual ~CDialog_Serial();
14 |
15 | // 对话框数据
16 | #ifdef AFX_DESIGN_TIME
17 | enum { IDD = IDD_DIALOG_SERIAL };
18 | #endif
19 |
20 | protected:
21 | virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持
22 |
23 | DECLARE_MESSAGE_MAP()
24 | public:
25 | virtual BOOL OnInitDialog();
26 | CListCtrl m_ListSerial;
27 | CComboBox m_ComboSerialType;
28 | CComboBox m_ComboNumber;
29 | afx_msg void OnBnClickedButton1();
30 | afx_msg void OnBnClickedButton2();
31 | CEdit m_EditSerialCount;
32 | CEdit m_EditHasTime;
33 | afx_msg void OnBnClickedButton4();
34 | afx_msg void OnBnClickedButton3();
35 | afx_msg void OnBnClickedButton6();
36 | afx_msg void OnBnClickedButton7();
37 | CEdit m_EditPosStart;
38 | CEdit m_EditPosEnd;
39 | };
40 |
--------------------------------------------------------------------------------
/XEngine_Source/XEngine_APPService/XEngine_AuthorizeApp/Authorize_Dialog/Dialog_Switch.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | #include "afxdialogex.h"
3 |
4 |
5 | // CDialog_Switch 对话框
6 |
7 | class CDialog_Switch : public CDialogEx
8 | {
9 | DECLARE_DYNAMIC(CDialog_Switch)
10 |
11 | public:
12 | CDialog_Switch(CWnd* pParent = nullptr); // 标准构造函数
13 | virtual ~CDialog_Switch();
14 |
15 | // 对话框数据
16 | #ifdef AFX_DESIGN_TIME
17 | enum { IDD = IDD_DIALOG_SWITCH };
18 | #endif
19 |
20 | protected:
21 | virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持
22 |
23 | DECLARE_MESSAGE_MAP()
24 | public:
25 | afx_msg void OnBnClickedButton1();
26 | CButton m_RadioDelOPen;
27 | CButton m_RadioDelClose;
28 | CButton m_RadioRegOPen;
29 | CButton m_RadioRegClose;
30 | CButton m_RadioLoginOPen;
31 | CButton m_RadioLoginClose;
32 | CButton m_RadioPayOPen;
33 | CButton m_RadioPayClose;
34 | CButton m_RadioPassOPen;
35 | CButton m_RadioPassClose;
36 | afx_msg void OnBnClickedButton2();
37 | virtual BOOL OnInitDialog();
38 | CButton m_BtnSetConfigure;
39 | CButton m_BtnGetConfigure;
40 | CButton m_RadioCDkeyOPen;
41 | CButton m_RadioCDKeyClose;
42 | CButton m_RadioNoticeOPen;
43 | CButton m_RadioNoticeClose;
44 | CButton m_RadioDCodeOPen;
45 | CButton m_RadioDCodeClose;
46 | CButton m_RadioMultiOPen;
47 | CButton m_RadioMultiClose;
48 | CButton m_RadioTryOPen;
49 | CButton m_RadioTryClose;
50 | CButton m_RadioBlackOPen;
51 | CButton m_RadioBlackClose;
52 | CButton m_RadioTokenOPen;
53 | CButton m_RadioTokenClose;
54 | CButton m_RadioHCLoginOPen;
55 | CButton m_RadioHCLoginClose;
56 | };
57 |
--------------------------------------------------------------------------------
/XEngine_Source/XEngine_APPService/XEngine_AuthorizeApp/Authorize_Dialog/Dialog_Try.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | #include "afxdialogex.h"
3 |
4 |
5 | // CDialog_Try 对话框
6 |
7 | class CDialog_Try : public CDialogEx
8 | {
9 | DECLARE_DYNAMIC(CDialog_Try)
10 |
11 | public:
12 | CDialog_Try(CWnd* pParent = nullptr); // 标准构造函数
13 | virtual ~CDialog_Try();
14 |
15 | // 对话框数据
16 | #ifdef AFX_DESIGN_TIME
17 | enum { IDD = IDD_DIALOG_TRY };
18 | #endif
19 |
20 | protected:
21 | virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持
22 |
23 | DECLARE_MESSAGE_MAP()
24 | public:
25 | afx_msg void OnBnClickedButton1();
26 | virtual BOOL OnInitDialog();
27 | CListCtrl m_ListTry;
28 | CEdit m_EditPosStart;
29 | CEdit m_EditPosEnd;
30 | afx_msg void OnBnClickedButton2();
31 | afx_msg void OnNMClickList1(NMHDR* pNMHDR, LRESULT* pResult);
32 | CEdit m_EditSerial;
33 | CEdit m_EditTime;
34 | CEdit m_EditDate;
35 | CComboBox m_ComboType;
36 | afx_msg void OnBnClickedButton3();
37 | CEdit m_EditLeftTime;
38 | };
39 |
--------------------------------------------------------------------------------
/XEngine_Source/XEngine_APPService/XEngine_AuthorizeApp/Authorize_Dialog/Dialog_User.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | #include "afxdialogex.h"
3 |
4 |
5 | // CDialog_User 对话框
6 |
7 | class CDialog_User : public CDialogEx
8 | {
9 | DECLARE_DYNAMIC(CDialog_User)
10 |
11 | public:
12 | CDialog_User(CWnd* pParent = nullptr); // 标准构造函数
13 | virtual ~CDialog_User();
14 |
15 | // 对话框数据
16 | #ifdef AFX_DESIGN_TIME
17 | enum { IDD = IDD_DIALOG_USER };
18 | #endif
19 |
20 | protected:
21 | virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持
22 |
23 | DECLARE_MESSAGE_MAP()
24 | public:
25 | bool bThread;
26 | HANDLE hThread;
27 | static XLONG WINAPI Dialog_User_Thread(XPVOID lParam);
28 | public:
29 | virtual BOOL OnInitDialog();
30 | CListCtrl m_ListCtrlClient;
31 | afx_msg void OnBnClickedButton1();
32 | afx_msg void OnBnClickedButton2();
33 | afx_msg void OnBnClickedButton3();
34 | afx_msg void OnBnClickedButton4();
35 | CButton m_CheckOnlineList;
36 | CEdit m_EditFlushTime;
37 | afx_msg void OnBnClickedCheck2();
38 | CButton m_CheckAuto;
39 | CButton m_BtnModifyClient;
40 | afx_msg void OnBnClickedButton5();
41 | CEdit m_EditPosStart;
42 | CEdit m_EditPosEnd;
43 | afx_msg void OnNMDblclkList1(NMHDR* pNMHDR, LRESULT* pResult);
44 | };
45 |
--------------------------------------------------------------------------------
/XEngine_Source/XEngine_APPService/XEngine_AuthorizeApp/Authorize_Help/Authorize_Help.cpp:
--------------------------------------------------------------------------------
1 | #include "pch.h"
2 | #include "../resource.h"
3 | #include "Authorize_Help.h"
4 | /********************************************************************
5 | // Created: 2022/09/15 09:40:05
6 | // File Name: H:\XEngine_Authorize\XEngine_Source\XEngine_APPService\XEngine_AuthorizeApp\Authorize_Help\Authorize_Help.cpp
7 | // File Path: H:\XEngine_Authorize\XEngine_Source\XEngine_APPService\XEngine_AuthorizeApp\Authorize_Help
8 | // File Base: Authorize_Help
9 | // File Ext: cpp
10 | // Project: XEngine(网络通信引擎)
11 | // Author: qyt
12 | // Purpose: 帮助函数类
13 | // History:
14 | *********************************************************************/
15 | //////////////////////////////////////////////////////////////////////////
16 | // 公有函数
17 | //////////////////////////////////////////////////////////////////////////
18 | bool Authorize_Help_LogPrint(LPCTSTR lpszLogBuffer)
19 | {
20 | TCHAR tszLogBuffer[8196];
21 | TCHAR tszAddBuffer[8196];
22 | XCHAR tszTimeStr[64];
23 |
24 | memset(tszLogBuffer, '\0', sizeof(tszLogBuffer));
25 | memset(tszAddBuffer, '\0', sizeof(tszAddBuffer));
26 | memset(tszTimeStr, '\0', sizeof(tszTimeStr));
27 |
28 | ::GetDlgItemText(hMainWnd, IDC_EDIT1, tszAddBuffer, sizeof(tszAddBuffer));
29 |
30 | USES_CONVERSION;
31 | BaseLib_Time_TimeToStr(tszTimeStr);
32 | if (_tcslen(tszAddBuffer) <= 0)
33 | {
34 | _stprintf(tszLogBuffer, _T("%s:%s"), A2W(tszTimeStr), lpszLogBuffer);
35 | }
36 | else if (_tcslen(tszAddBuffer) >= 8196)
37 | {
38 | _stprintf(tszLogBuffer, _T("%s:%s"), A2W(tszTimeStr), lpszLogBuffer);
39 | }
40 | else
41 | {
42 | _stprintf(tszLogBuffer, _T("%s\r\n%s:%s"), tszAddBuffer, A2W(tszTimeStr), lpszLogBuffer);
43 | }
44 | ::SetDlgItemText(hMainWnd, IDC_EDIT1, tszLogBuffer);
45 | return true;
46 | }
--------------------------------------------------------------------------------
/XEngine_Source/XEngine_APPService/XEngine_AuthorizeApp/Authorize_Help/Authorize_Help.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | /********************************************************************
3 | // Created: 2022/09/15 09:39:01
4 | // File Name: H:\XEngine_Authorize\XEngine_Source\XEngine_APPService\XEngine_AuthorizeApp\Authorize_Help\Authorize_Help.h
5 | // File Path: H:\XEngine_Authorize\XEngine_Source\XEngine_APPService\XEngine_AuthorizeApp\Authorize_Help
6 | // File Base: Authorize_Help
7 | // File Ext: h
8 | // Project: XEngine(网络通信引擎)
9 | // Author: qyt
10 | // Purpose: 帮助函数类
11 | // History:
12 | *********************************************************************/
13 | bool Authorize_Help_LogPrint(LPCTSTR lpszLogBuffer);
--------------------------------------------------------------------------------
/XEngine_Source/XEngine_APPService/XEngine_AuthorizeApp/XEngineAuthorizeApp.rc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/libxengine/XEngine_Authorize/8718fdad4139240abdfb3e773139c9b570fc6b28/XEngine_Source/XEngine_APPService/XEngine_AuthorizeApp/XEngineAuthorizeApp.rc
--------------------------------------------------------------------------------
/XEngine_Source/XEngine_APPService/XEngine_AuthorizeApp/XEngine_AuthorizeApp.cpp:
--------------------------------------------------------------------------------
1 |
2 | // XEngine_AuthorizeApp.cpp: 定义应用程序的类行为。
3 | //
4 |
5 | #include "pch.h"
6 | #include "framework.h"
7 | #include "XEngine_AuthorizeApp.h"
8 | #include "XEngine_AuthorizeAppDlg.h"
9 |
10 | #ifdef _DEBUG
11 | #define new DEBUG_NEW
12 | #endif
13 |
14 |
15 | // CXEngineAuthorizeAppApp
16 |
17 | BEGIN_MESSAGE_MAP(CXEngineAuthorizeAppApp, CWinApp)
18 | ON_COMMAND(ID_HELP, &CWinApp::OnHelp)
19 | END_MESSAGE_MAP()
20 |
21 |
22 | // CXEngineAuthorizeAppApp 构造
23 |
24 | CXEngineAuthorizeAppApp::CXEngineAuthorizeAppApp()
25 | {
26 | // 支持重新启动管理器
27 | m_dwRestartManagerSupportFlags = AFX_RESTART_MANAGER_SUPPORT_RESTART;
28 |
29 | // TODO: 在此处添加构造代码,
30 | // 将所有重要的初始化放置在 InitInstance 中
31 | }
32 |
33 |
34 | // 唯一的 CXEngineAuthorizeAppApp 对象
35 |
36 | CXEngineAuthorizeAppApp theApp;
37 |
38 |
39 | // CXEngineAuthorizeAppApp 初始化
40 |
41 | BOOL CXEngineAuthorizeAppApp::InitInstance()
42 | {
43 | // 如果一个运行在 Windows XP 上的应用程序清单指定要
44 | // 使用 ComCtl32.dll 版本 6 或更高版本来启用可视化方式,
45 | //则需要 InitCommonControlsEx()。 否则,将无法创建窗口。
46 | INITCOMMONCONTROLSEX InitCtrls;
47 | InitCtrls.dwSize = sizeof(InitCtrls);
48 | // 将它设置为包括所有要在应用程序中使用的
49 | // 公共控件类。
50 | InitCtrls.dwICC = ICC_WIN95_CLASSES;
51 | InitCommonControlsEx(&InitCtrls);
52 |
53 | CWinApp::InitInstance();
54 |
55 |
56 | AfxEnableControlContainer();
57 |
58 | // 创建 shell 管理器,以防对话框包含
59 | // 任何 shell 树视图控件或 shell 列表视图控件。
60 | CShellManager *pShellManager = new CShellManager;
61 |
62 | // 激活“Windows Native”视觉管理器,以便在 MFC 控件中启用主题
63 | CMFCVisualManager::SetDefaultManager(RUNTIME_CLASS(CMFCVisualManagerWindows));
64 |
65 | // 标准初始化
66 | // 如果未使用这些功能并希望减小
67 | // 最终可执行文件的大小,则应移除下列
68 | // 不需要的特定初始化例程
69 | // 更改用于存储设置的注册表项
70 | // TODO: 应适当修改该字符串,
71 | // 例如修改为公司或组织名
72 | SetRegistryKey(_T("应用程序向导生成的本地应用程序"));
73 |
74 | CXEngineAuthorizeAppDlg dlg;
75 | m_pMainWnd = &dlg;
76 | INT_PTR nResponse = dlg.DoModal();
77 | if (nResponse == IDOK)
78 | {
79 | // TODO: 在此放置处理何时用
80 | // “确定”来关闭对话框的代码
81 | }
82 | else if (nResponse == IDCANCEL)
83 | {
84 | // TODO: 在此放置处理何时用
85 | // “取消”来关闭对话框的代码
86 | }
87 | else if (nResponse == -1)
88 | {
89 | TRACE(traceAppMsg, 0, "警告: 对话框创建失败,应用程序将意外终止。\n");
90 | TRACE(traceAppMsg, 0, "警告: 如果您在对话框上使用 MFC 控件,则无法 #define _AFX_NO_MFC_CONTROLS_IN_DIALOGS。\n");
91 | }
92 |
93 | // 删除上面创建的 shell 管理器。
94 | if (pShellManager != nullptr)
95 | {
96 | delete pShellManager;
97 | }
98 |
99 | #if !defined(_AFXDLL) && !defined(_AFX_NO_MFC_CONTROLS_IN_DIALOGS)
100 | ControlBarCleanUp();
101 | #endif
102 |
103 | // 由于对话框已关闭,所以将返回 false 以便退出应用程序,
104 | // 而不是启动应用程序的消息泵。
105 | return false;
106 | }
107 |
108 |
--------------------------------------------------------------------------------
/XEngine_Source/XEngine_APPService/XEngine_AuthorizeApp/XEngine_AuthorizeApp.h:
--------------------------------------------------------------------------------
1 |
2 | // XEngine_AuthorizeApp.h: PROJECT_NAME 应用程序的主头文件
3 | //
4 |
5 | #pragma once
6 |
7 | #ifndef __AFXWIN_H__
8 | #error "在包含此文件之前包含 'pch.h' 以生成 PCH"
9 | #endif
10 |
11 | #include "resource.h" // 主符号
12 |
13 |
14 | // CXEngineAuthorizeAppApp:
15 | // 有关此类的实现,请参阅 XEngine_AuthorizeApp.cpp
16 | //
17 |
18 | class CXEngineAuthorizeAppApp : public CWinApp
19 | {
20 | public:
21 | CXEngineAuthorizeAppApp();
22 |
23 | // 重写
24 | public:
25 | virtual BOOL InitInstance();
26 |
27 | // 实现
28 |
29 | DECLARE_MESSAGE_MAP()
30 | };
31 |
32 | extern CXEngineAuthorizeAppApp theApp;
33 |
--------------------------------------------------------------------------------
/XEngine_Source/XEngine_APPService/XEngine_AuthorizeApp/XEngine_AuthorizeApp.vcxproj.user:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | XEngineAuthorizeApp.rc
5 |
6 |
--------------------------------------------------------------------------------
/XEngine_Source/XEngine_APPService/XEngine_AuthorizeApp/XEngine_AuthorizeAppDlg.h:
--------------------------------------------------------------------------------
1 |
2 | // XEngine_AuthorizeAppDlg.h: 头文件
3 | //
4 |
5 | #pragma once
6 |
7 |
8 | // CXEngineAuthorizeAppDlg 对话框
9 | class CXEngineAuthorizeAppDlg : public CDialogEx
10 | {
11 | // 构造
12 | public:
13 | CXEngineAuthorizeAppDlg(CWnd* pParent = nullptr); // 标准构造函数
14 |
15 | // 对话框数据
16 | #ifdef AFX_DESIGN_TIME
17 | enum { IDD = IDD_XENGINE_AUTHORIZEAPP_DIALOG };
18 | #endif
19 |
20 | protected:
21 | virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持
22 |
23 |
24 | // 实现
25 | protected:
26 | HICON m_hIcon;
27 |
28 | // 生成的消息映射函数
29 | virtual BOOL OnInitDialog();
30 | afx_msg void OnPaint();
31 | afx_msg HCURSOR OnQueryDragIcon();
32 | DECLARE_MESSAGE_MAP()
33 | public:
34 | CDialog_Config m_DlgConfig;
35 | CDialog_Switch m_DlgSwitch;
36 | CDialog_User m_DlgUser;
37 | CDialog_Serial m_DlgSerial;
38 | CDialog_Banned m_DlgBanned;
39 | CDialog_Try m_DlgTry;
40 | CDialog_CDKey m_DlgCDKey;
41 | CDialog_Announcement m_DlgAnnouncement;
42 | public:
43 | CTabCtrl m_TabWindows;
44 | afx_msg void OnTcnSelchangeTab1(NMHDR* pNMHDR, LRESULT* pResult);
45 | CEdit m_EditLog;
46 | afx_msg void OnBnClickedButton1();
47 | afx_msg void OnBnClickedButton2();
48 | CButton m_BtnLogSave;
49 | CButton m_BtnLogClear;
50 | };
51 |
--------------------------------------------------------------------------------
/XEngine_Source/XEngine_APPService/XEngine_AuthorizeApp/framework.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #ifndef VC_EXTRALEAN
4 | #define VC_EXTRALEAN // 从 Windows 头中排除极少使用的资料
5 | #endif
6 |
7 | #include "targetver.h"
8 |
9 | #define _ATL_CSTRING_EXPLICIT_CONSTRUCTORS // 某些 CString 构造函数将是显式的
10 |
11 | // 关闭 MFC 的一些常见且经常可放心忽略的隐藏警告消息
12 | #define _AFX_ALL_WARNINGS
13 |
14 | #include // MFC 核心组件和标准组件
15 | #include // MFC 扩展
16 |
17 |
18 | #include // MFC 自动化类
19 |
20 |
21 |
22 | #ifndef _AFX_NO_OLE_SUPPORT
23 | #include // MFC 对 Internet Explorer 4 公共控件的支持
24 | #endif
25 | #ifndef _AFX_NO_AFXCMN_SUPPORT
26 | #include // MFC 对 Windows 公共控件的支持
27 | #endif // _AFX_NO_AFXCMN_SUPPORT
28 |
29 | #include // MFC 支持功能区和控制条
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 | #ifdef _UNICODE
40 | #if defined _M_IX86
41 | #pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='x86' publicKeyToken='6595b64144ccf1df' language='*'\"")
42 | #elif defined _M_X64
43 | #pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='amd64' publicKeyToken='6595b64144ccf1df' language='*'\"")
44 | #else
45 | #pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\"")
46 | #endif
47 | #endif
48 |
49 |
50 |
--------------------------------------------------------------------------------
/XEngine_Source/XEngine_APPService/XEngine_AuthorizeApp/pch.cpp:
--------------------------------------------------------------------------------
1 | // pch.cpp: 与预编译标头对应的源文件
2 |
3 | #include "pch.h"
4 |
5 | // 当使用预编译的头时,需要使用此源文件,编译才能成功。
6 | HWND hMainWnd = NULL;
7 | HWND hUserWnd = NULL;
8 | HWND hConfigWnd = NULL;
9 | bool bCrypto = false;
10 | LPCTSTR lpszStuType[2] = { _T("离线"),_T("在线") };
--------------------------------------------------------------------------------
/XEngine_Source/XEngine_APPService/XEngine_AuthorizeApp/pch.h:
--------------------------------------------------------------------------------
1 | // pch.h: 这是预编译标头文件。
2 | // 下方列出的文件仅编译一次,提高了将来生成的生成性能。
3 | // 这还将影响 IntelliSense 性能,包括代码完成和许多代码浏览功能。
4 | // 但是,如果此处列出的文件中的任何一个在生成之间有更新,它们全部都将被重新编译。
5 | // 请勿在此处添加要频繁更新的文件,这将使得性能优势无效。
6 |
7 | #ifndef PCH_H
8 | #define PCH_H
9 |
10 | // 添加要在此处预编译的标头
11 | #include "framework.h"
12 | #include
13 | #endif //PCH_H
14 | #include
15 | #include
16 | #include
17 | using namespace std;
18 | #include
19 | #include
20 | #include
21 | #include
22 | #include
23 | #include
24 | #include
25 | #include
26 | #include
27 | #include "../../XAuth_BuildSwitch.h"
28 | #include "../../XAuth_Protocol.h"
29 | #include "../../AuthorizeModule_Configure/Config_Define.h"
30 | #include "../../AuthorizeModule_Configure/Config_Error.h"
31 | #include "../../AuthorizeModule_Help/AuthHelp_Define.h"
32 | #include "../../AuthorizeModule_Help/AuthHelp_Error.h"
33 | #include "../../AuthorizeModule_CDKey/CDKey_Define.h"
34 | #include "../../AuthorizeModule_CDKey/CDKey_Error.h"
35 | #include "Authorize_Dialog/Dialog_Config.h"
36 | #include "Authorize_Dialog/Dialog_User.h"
37 | #include "Authorize_Dialog/Dialog_Serial.h"
38 | #include "Authorize_Dialog/Dialog_Modify.h"
39 | #include "Authorize_Dialog/Dialog_Switch.h"
40 | #include "Authorize_Dialog/Dialog_Banned.h"
41 | #include "Authorize_Dialog/Dialog_Announcement.h"
42 | #include "Authorize_Dialog/Dialog_Try.h"
43 | #include "Authorize_Dialog/Dialog_CDKey.h"
44 | #include "Authorize_Help/Authorize_Help.h"
45 |
46 | extern HWND hMainWnd;
47 | extern HWND hUserWnd;
48 | extern HWND hConfigWnd;
49 | extern bool bCrypto;
50 | extern LPCTSTR lpszStuType[2];
51 |
52 | #ifdef _MSC_BUILD
53 | #pragma comment(lib,"Dbghelp.lib")
54 | #pragma comment(lib,"XEngine_BaseLib/XEngine_BaseLib.lib")
55 | #pragma comment(lib,"XEngine_Core/XEngine_Cryption.lib")
56 | #pragma comment(lib,"XEngine_Client/XClient_APIHelp.lib")
57 | #ifdef _DEBUG
58 | #ifdef _M_X64
59 | #pragma comment(lib,"../../x64/Debug/jsoncpp")
60 | #pragma comment(lib,"../../x64/Debug/AuthorizeModule_Help")
61 | #pragma comment(lib,"../../x64/Debug/AuthorizeModule_CDKey")
62 | #elif _M_ARM64
63 | #pragma comment(lib,"../../ARM64/Debug/jsoncpp")
64 | #pragma comment(lib,"../../ARM64/Debug/AuthorizeModule_Help")
65 | #pragma comment(lib,"../../ARM64/Debug/AuthorizeModule_CDKey")
66 | #elif _M_IX86
67 | #pragma comment(lib,"../../Debug/jsoncpp")
68 | #pragma comment(lib,"../../Debug/AuthorizeModule_Help")
69 | #pragma comment(lib,"../../Debug/AuthorizeModule_CDKey")
70 | #endif
71 | #else
72 | #ifdef _M_X64
73 | #pragma comment(lib,"../../x64/Release/jsoncpp")
74 | #pragma comment(lib,"../../x64/Release/AuthorizeModule_Help")
75 | #pragma comment(lib,"../../x64/Release/AuthorizeModule_CDKey")
76 | #elif _M_ARM64
77 | #pragma comment(lib,"../../ARM64/Release/jsoncpp")
78 | #pragma comment(lib,"../../ARM64/Release/AuthorizeModule_Help")
79 | #pragma comment(lib,"../../ARM64/Release/AuthorizeModule_CDKey")
80 | #elif _M_IX86
81 | #pragma comment(lib,"../../Release/jsoncpp")
82 | #pragma comment(lib,"../../Release/AuthorizeModule_Help")
83 | #pragma comment(lib,"../../Release/AuthorizeModule_CDKey")
84 | #endif
85 | #endif
86 | #endif
--------------------------------------------------------------------------------
/XEngine_Source/XEngine_APPService/XEngine_AuthorizeApp/res/XEngineAuthorizeApp.rc2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/libxengine/XEngine_Authorize/8718fdad4139240abdfb3e773139c9b570fc6b28/XEngine_Source/XEngine_APPService/XEngine_AuthorizeApp/res/XEngineAuthorizeApp.rc2
--------------------------------------------------------------------------------
/XEngine_Source/XEngine_APPService/XEngine_AuthorizeApp/res/XEngine_AuthorizeApp.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/libxengine/XEngine_Authorize/8718fdad4139240abdfb3e773139c9b570fc6b28/XEngine_Source/XEngine_APPService/XEngine_AuthorizeApp/res/XEngine_AuthorizeApp.ico
--------------------------------------------------------------------------------
/XEngine_Source/XEngine_APPService/XEngine_AuthorizeApp/targetver.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | // 包括 SDKDDKVer.h 将定义可用的最高版本的 Windows 平台。
4 |
5 | //如果要为以前的 Windows 平台生成应用程序,请包括 WinSDKVer.h,并
6 | // 将 _WIN32_WINNT 宏设置为要支持的平台,然后再包括 SDKDDKVer.h。
7 |
8 | #include
9 |
--------------------------------------------------------------------------------
/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/AuthorizeHTTP_Get/AuthorizeHTTP_GetTask.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | bool XEngine_AuthorizeHTTP_GetTask(LPCXSTR lpszClientAddr, XCHAR** pptszList, int nListCount);
--------------------------------------------------------------------------------
/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/AuthorizeHTTP_Get/AuthorizeHTTP_Token.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | bool XEngine_AuthorizeHTTP_Token(LPCXSTR lpszClientAddr, XCHAR** pptszList, int nListCount);
--------------------------------------------------------------------------------
/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/AuthorizeHTTP_Post/AuthorizeHTTP_Announcement.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | bool XEngine_AuthorizeHTTP_Announcement(LPCXSTR lpszClientAddr, LPCXSTR lpszAPIName, LPCXSTR lpszMsgBuffer, int nMsgLen);
--------------------------------------------------------------------------------
/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/AuthorizeHTTP_Post/AuthorizeHTTP_Banned.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | bool XEngine_AuthorizeHTTP_Banned(LPCXSTR lpszClientAddr, LPCXSTR lpszAPIName, LPCXSTR lpszMsgBuffer, int nMsgLen);
--------------------------------------------------------------------------------
/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/AuthorizeHTTP_Post/AuthorizeHTTP_CDKey.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | bool XEngine_AuthorizeHTTP_CDKey(LPCXSTR lpszClientAddr, LPCXSTR lpszAPIName, LPCXSTR lpszMsgBuffer, int nMsgLen);
--------------------------------------------------------------------------------
/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/AuthorizeHTTP_Post/AuthorizeHTTP_Client.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | bool XEngine_AuthorizeHTTP_Client(LPCXSTR lpszClientAddr, LPCXSTR lpszAPIName, LPCXSTR lpszMsgBuffer, int nMsgLen);
--------------------------------------------------------------------------------
/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/AuthorizeHTTP_Post/AuthorizeHTTP_Pass.cpp:
--------------------------------------------------------------------------------
1 | #include "../Authorize_Hdr.h"
2 |
3 | bool XEngine_AuthorizeHTTP_Pass(LPCXSTR lpszClientAddr, LPCXSTR lpszAPIName, LPCXSTR lpszMsgBuffer, int nMsgLen)
4 | {
5 | int nSDLen = 8196;
6 | XCHAR tszSDBuffer[8196];
7 | LPCXSTR lpszAPILogin = _X("login");
8 | LPCXSTR lpszAPILogout = _X("logout");
9 | LPCXSTR lpszAPITimeout = _X("timeout");
10 |
11 | memset(tszSDBuffer, '\0', sizeof(tszSDBuffer));
12 |
13 | if (0 == _tcsxnicmp(lpszAPIName, lpszAPILogin, _tcsxlen(lpszAPIName)))
14 | {
15 | XENGINE_PROTOCOL_USERAUTH st_UserAuth;
16 | AUTHREG_USERTABLE st_UserTable;
17 |
18 | memset(&st_UserAuth, '\0', sizeof(XENGINE_PROTOCOL_USERAUTH));
19 | memset(&st_UserTable, '\0', sizeof(AUTHREG_USERTABLE));
20 |
21 | Protocol_Parse_HttpParseAuth(lpszMsgBuffer, nMsgLen, &st_UserAuth);
22 | bool bSuccess = false;
23 | if (0 == st_AuthConfig.st_XSql.nDBType)
24 | {
25 | bSuccess = DBModule_SQLite_UserQuery(st_UserAuth.tszUserName, &st_UserTable);
26 | }
27 | else
28 | {
29 | bSuccess = DBModule_MySQL_UserQuery(st_UserAuth.tszUserName, &st_UserTable);
30 | }
31 | if (!bSuccess)
32 | {
33 | Protocol_Packet_HttpComm(tszSDBuffer, &nSDLen, ERROR_AUTHORIZE_PROTOCOL_USER, "user notfound");
34 | XEngine_Client_TaskSend(lpszClientAddr, tszSDBuffer, nSDLen, XENGINE_AUTH_APP_NETTYPE_HTTP);
35 | XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("PASS客户端:%s,用户名:%s,登录失败,用户名不存在"), lpszClientAddr, st_UserAuth.tszUserName);
36 | return false;
37 | }
38 | if ((_tcsxlen(st_UserAuth.tszUserPass) != _tcsxlen(st_UserTable.st_UserInfo.tszUserPass)) || (0 != _tcsxncmp(st_UserAuth.tszUserPass, st_UserTable.st_UserInfo.tszUserPass, _tcsxlen(st_UserTable.st_UserInfo.tszUserPass))))
39 | {
40 | Protocol_Packet_HttpComm(tszSDBuffer, &nSDLen, ERROR_AUTHORIZE_PROTOCOL_PASS, "password is incorrent");
41 | XEngine_Client_TaskSend(lpszClientAddr, tszSDBuffer, nSDLen, XENGINE_AUTH_APP_NETTYPE_HTTP);
42 | XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("PASS客户端:%s,用户名:%s,登录失败,密码错误"), lpszClientAddr, st_UserAuth.tszUserName);
43 | return false;
44 | }
45 | Protocol_Packet_HttpClientInfo(tszSDBuffer, &nSDLen, &st_UserTable);
46 | XEngine_Client_TaskSend(lpszClientAddr, tszSDBuffer, nSDLen, XENGINE_AUTH_APP_NETTYPE_HTTP);
47 | XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("PASS客户端:%s,请求登录用户:%s 成功"), lpszClientAddr, st_UserAuth.tszUserName);
48 | }
49 | else if (0 == _tcsxnicmp(lpszAPIName, lpszAPILogout, _tcsxlen(lpszAPIName)))
50 | {
51 | AUTHREG_PROTOCOL_TIME st_ProtocolTime;
52 | memset(&st_ProtocolTime, '\0', sizeof(AUTHREG_PROTOCOL_TIME));
53 |
54 | Protocol_Parse_HttpParseTime(lpszMsgBuffer, nMsgLen, &st_ProtocolTime);
55 | if (0 == st_AuthConfig.st_XSql.nDBType)
56 | {
57 | DBModule_SQLite_UserLeave(&st_ProtocolTime);
58 | }
59 | else
60 | {
61 | DBModule_MySQL_UserLeave(&st_ProtocolTime);
62 | }
63 |
64 | Protocol_Packet_HttpComm(tszSDBuffer, &nSDLen);
65 | XEngine_Client_TaskSend(lpszClientAddr, tszSDBuffer, nSDLen, XENGINE_AUTH_APP_NETTYPE_HTTP);
66 | XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("PASS客户端:%s,用户名:%s,请求离开服务成功"), lpszClientAddr, st_ProtocolTime.tszUserName);
67 | }
68 | else if (0 == _tcsxnicmp(lpszAPIName, lpszAPITimeout, _tcsxlen(lpszAPIName)))
69 | {
70 | AUTHREG_PROTOCOL_TIME st_ProtocolTime;
71 | memset(&st_ProtocolTime, '\0', sizeof(AUTHREG_PROTOCOL_TIME));
72 |
73 | Protocol_Parse_HttpParseTime(lpszMsgBuffer, nMsgLen, &st_ProtocolTime);
74 | if (0 == st_AuthConfig.st_XSql.nDBType)
75 | {
76 | DBModule_SQLite_UserLeave(&st_ProtocolTime);
77 | }
78 | else
79 | {
80 | DBModule_MySQL_UserLeave(&st_ProtocolTime);
81 | }
82 | Protocol_Packet_HttpComm(tszSDBuffer, &nSDLen);
83 | XEngine_Client_TaskSend(lpszClientAddr, tszSDBuffer, nSDLen, XENGINE_AUTH_APP_NETTYPE_HTTP);
84 | XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("PASS客户端:%s,用户名:%s,超时通知成功"), lpszClientAddr, st_ProtocolTime.tszUserName);
85 | }
86 | return true;
87 | }
--------------------------------------------------------------------------------
/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/AuthorizeHTTP_Post/AuthorizeHTTP_Pass.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | bool XEngine_AuthorizeHTTP_Pass(LPCXSTR lpszClientAddr, LPCXSTR lpszAPIName, LPCXSTR lpszMsgBuffer, int nMsgLen);
--------------------------------------------------------------------------------
/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/AuthorizeHTTP_Post/AuthorizeHTTP_Serial.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | bool XEngine_AuthorizeHTTP_Serial(LPCXSTR lpszClientAddr, LPCXSTR lpszAPIName, LPCXSTR lpszMsgBuffer, int nMsgLen);
--------------------------------------------------------------------------------
/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/AuthorizeHTTP_Post/AuthorizeHTTP_Switch.cpp:
--------------------------------------------------------------------------------
1 | #include "../Authorize_Hdr.h"
2 |
3 | bool XEngine_AuthorizeHTTP_Switch(LPCXSTR lpszClientAddr, LPCXSTR lpszAPIName, LPCXSTR lpszMsgBuffer, int nMsgLen)
4 | {
5 | int nSDLen = 8196;
6 | XCHAR tszSDBuffer[8196];
7 | LPCXSTR lpszAPIGet = _X("get");
8 | LPCXSTR lpszAPISet = _X("set");
9 |
10 | memset(tszSDBuffer, '\0', sizeof(tszSDBuffer));
11 |
12 | if (0 == _tcsxnicmp(lpszAPIGet, lpszAPIName, _tcsxlen(lpszAPIGet)))
13 | {
14 | Protocol_Packet_HttpSwitch(tszSDBuffer, &nSDLen, &st_FunSwitch);
15 | XEngine_Client_TaskSend(lpszClientAddr, tszSDBuffer, nSDLen, XENGINE_AUTH_APP_NETTYPE_HTTP);
16 | XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("HTTP客户端:%s,请求获取功能开关成功,删除功能:%d,登录功能:%d,找回密码:%d,充值功能:%d,注册功能:%d,CDKey功能:%d,公告系统:%d,多端登录:%d,临时试用:%d,普通Token:%d,硬件码登录:%d"), lpszClientAddr, st_FunSwitch.bSwitchDelete, st_FunSwitch.bSwitchLogin, st_FunSwitch.bSwitchPass, st_FunSwitch.bSwitchPay, st_FunSwitch.bSwitchRegister, st_FunSwitch.bSwitchCDKey, st_FunSwitch.bSwitchNotice, st_FunSwitch.bSwitchMulti, st_FunSwitch.bSwitchTry, st_FunSwitch.bSwitchTokenLogin, st_FunSwitch.bSwitchHCLogin);
17 | }
18 | else if (0 == _tcsxnicmp(lpszAPISet, lpszAPIName, _tcsxlen(lpszAPISet)))
19 | {
20 | Protocol_Parse_HttpParseSwitch(lpszMsgBuffer, nMsgLen, &st_FunSwitch);
21 | Protocol_Packet_HttpComm(tszSDBuffer, &nSDLen);
22 | XEngine_Client_TaskSend(lpszClientAddr, tszSDBuffer, nSDLen, XENGINE_AUTH_APP_NETTYPE_HTTP);
23 | XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("HTTP客户端:%s,请求设置功能开关成功,删除功能:%d,登录功能:%d,找回密码:%d,充值功能:%d,注册功能:%d,CDKey功能:%d,公告系统:%d,多端登录:%d,临时试用:%d,普通Token:%d,硬件码登录:%d"), lpszClientAddr, st_FunSwitch.bSwitchDelete, st_FunSwitch.bSwitchLogin, st_FunSwitch.bSwitchPass, st_FunSwitch.bSwitchPay, st_FunSwitch.bSwitchRegister, st_FunSwitch.bSwitchCDKey, st_FunSwitch.bSwitchNotice, st_FunSwitch.bSwitchMulti, st_FunSwitch.bSwitchTry, st_FunSwitch.bSwitchTokenLogin, st_FunSwitch.bSwitchHCLogin);
24 | }
25 |
26 | return true;
27 | }
--------------------------------------------------------------------------------
/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/AuthorizeHTTP_Post/AuthorizeHTTP_Switch.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | bool XEngine_AuthorizeHTTP_Switch(LPCXSTR lpszClientAddr, LPCXSTR lpszAPIName, LPCXSTR lpszMsgBuffer, int nMsgLen);
--------------------------------------------------------------------------------
/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/AuthorizeHTTP_Post/AuthorizeHTTP_Try.cpp:
--------------------------------------------------------------------------------
1 | #include "../Authorize_Hdr.h"
2 |
3 | bool XEngine_AuthorizeHTTP_Try(LPCXSTR lpszClientAddr, LPCXSTR lpszAPIName, LPCXSTR lpszMsgBuffer, int nMsgLen)
4 | {
5 | int nSDLen = 8196;
6 | XCHAR tszSDBuffer[8196];
7 |
8 | LPCXSTR lpszAPIList = _X("list");
9 | LPCXSTR lpszAPIDelete = _X("delete");
10 | LPCXSTR lpszAPIModify = _X("modify");
11 |
12 | memset(tszSDBuffer, '\0', sizeof(tszSDBuffer));
13 |
14 | if (0 == _tcsxnicmp(lpszAPIName, lpszAPIList, _tcsxlen(lpszAPIName)))
15 | {
16 | int nPosStart = 0;
17 | int nPosEnd = 0;
18 |
19 | CHttpMemory_PoolEx m_HTTPMemoryPool(XENGINE_MEMORY_SIZE_MAX);
20 | Protocol_Parse_HttpParsePos(lpszMsgBuffer, nMsgLen, &nPosStart, &nPosEnd);
21 |
22 | int nListCount = 0;
23 | AUTHREG_TEMPVER** ppSt_AuthVer;
24 | if (0 == st_AuthConfig.st_XSql.nDBType)
25 | {
26 | DBModule_SQLite_TryList(&ppSt_AuthVer, &nListCount);
27 | }
28 | else
29 | {
30 | DBModule_MySQL_TryList(&ppSt_AuthVer, &nListCount);
31 | }
32 | Protocol_Packet_HttpTryList(m_HTTPMemoryPool.get(), &nSDLen, &ppSt_AuthVer, nListCount);
33 | BaseLib_Memory_Free((XPPPMEM)&ppSt_AuthVer, nListCount);
34 | XEngine_Client_TaskSend(lpszClientAddr, m_HTTPMemoryPool.get(), nSDLen, XENGINE_AUTH_APP_NETTYPE_HTTP);
35 | XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("HTTP客户端:%s,临时验证获取列表成功,列表个数:%d"), lpszClientAddr, nListCount);
36 | }
37 | else if (0 == _tcsxnicmp(lpszAPIName, lpszAPIDelete, _tcsxlen(lpszAPIName)))
38 | {
39 | AUTHREG_TEMPVER st_VERTemp;
40 | memset(&st_VERTemp, '\0', sizeof(AUTHREG_TEMPVER));
41 |
42 | Protocol_Parse_HttpParseTry(lpszMsgBuffer, nMsgLen, &st_VERTemp);
43 | if (0 == st_AuthConfig.st_XSql.nDBType)
44 | {
45 | DBModule_SQLite_TryDelete(st_VERTemp.tszVSerial);
46 | }
47 | else
48 | {
49 | DBModule_MySQL_TryDelete(st_VERTemp.tszVSerial);
50 | }
51 | Protocol_Packet_HttpComm(tszSDBuffer, &nSDLen);
52 | XEngine_Client_TaskSend(lpszClientAddr, tszSDBuffer, nSDLen, XENGINE_AUTH_APP_NETTYPE_HTTP);
53 | XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("HTTP客户端:%s,序列号:%s,临时验证删除成功"), lpszClientAddr, st_VERTemp.tszVSerial);
54 | }
55 | else if (0 == _tcsxnicmp(lpszAPIName, lpszAPIModify, _tcsxlen(lpszAPIName)))
56 | {
57 | AUTHREG_TEMPVER st_VERTemp;
58 | memset(&st_VERTemp, '\0', sizeof(AUTHREG_TEMPVER));
59 |
60 | Protocol_Parse_HttpParseTry(lpszMsgBuffer, nMsgLen, &st_VERTemp);
61 | if (0 == st_AuthConfig.st_XSql.nDBType)
62 | {
63 | DBModule_SQLite_TrySet(&st_VERTemp);
64 | }
65 | else
66 | {
67 | DBModule_MySQL_TrySet(&st_VERTemp);
68 | }
69 | Protocol_Packet_HttpComm(tszSDBuffer, &nSDLen);
70 | XEngine_Client_TaskSend(lpszClientAddr, tszSDBuffer, nSDLen, XENGINE_AUTH_APP_NETTYPE_HTTP);
71 | XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("HTTP客户端:%s,序列号:%s,临时验证修改成功"), lpszClientAddr, st_VERTemp.tszVSerial);
72 | }
73 | return true;
74 | }
--------------------------------------------------------------------------------
/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/AuthorizeHTTP_Post/AuthorizeHTTP_Try.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | bool XEngine_AuthorizeHTTP_Try(LPCXSTR lpszClientAddr, LPCXSTR lpszAPIName, LPCXSTR lpszMsgBuffer, int nMsgLen);
--------------------------------------------------------------------------------
/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/AuthorizeHTTP_Post/AuthorizeHTTP_User.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | bool XEngine_AuthorizeHTTP_User(XNETHANDLE xhToken, LPCXSTR lpszClientAddr, LPCXSTR lpszAPIName, LPCXSTR lpszMsgBuffer, int nMsgLen);
--------------------------------------------------------------------------------
/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/Authorize_Config.cpp:
--------------------------------------------------------------------------------
1 | #include "Authorize_Hdr.h"
2 |
3 | bool Authorize_Service_Parament(int argc, char** argv)
4 | {
5 | LPCXSTR lpszFile = _X("./XEngine_Config/XEngine_Config.json");
6 | LPCXSTR lpszVersionFile = _X("./XEngine_Config/XEngine_VersionConfig.json");
7 | LPCXSTR lpszSwitchFile = _X("./XEngine_Config/XEngine_SwitchConfig.json");
8 |
9 | if (!ModuleConfigure_Json_File(lpszFile, &st_AuthConfig))
10 | {
11 | printf("解析配置文件失败,Configure_IniFile_Read:%lX\n", Config_GetLastError());
12 | return false;
13 | }
14 | if (!ModuleConfigure_Json_Versions(lpszVersionFile, &st_AuthConfig))
15 | {
16 | printf("解析配置文件失败,ModuleConfigure_Json_Versions:%lX\n", Config_GetLastError());
17 | return false;
18 | }
19 | if (!ModuleConfigure_Json_Switch(lpszSwitchFile, &st_FunSwitch))
20 | {
21 | printf("解析配置文件失败,ModuleConfigure_Json_Switch:%lX\n", Config_GetLastError());
22 | return false;
23 | }
24 |
25 | for (int i = 0;i < argc;i++)
26 | {
27 | if ((0 == _tcsxcmp("-h", argv[i])) || (0 == _tcsxcmp("-H", argv[i])))
28 | {
29 | Authorize_Service_ParamentHelp();
30 | return false;
31 | }
32 | else if (0 == _tcsxcmp("-d", argv[i]))
33 | {
34 | st_AuthConfig.bDeamon = _ttxoi(argv[++i]);
35 | }
36 | else if (0 == _tcsxcmp("-TP", argv[i]))
37 | {
38 | st_AuthConfig.nTCPPort = _ttxoi(argv[++i]);
39 | }
40 | else if (0 == _tcsxcmp("-WP", argv[i]))
41 | {
42 | st_AuthConfig.nWSPort = _ttxoi(argv[++i]);
43 | }
44 | else if (0 == _tcsxcmp("-HP", argv[i]))
45 | {
46 | st_AuthConfig.nHTTPPort = _ttxoi(argv[++i]);
47 | }
48 | else if (0 == _tcsxcmp("-LL", argv[i]))
49 | {
50 | st_AuthConfig.st_XLog.nLogLeave = _ttxoi(argv[++i]);
51 | }
52 | else if (0 == _tcsxcmp("-LT", argv[i]))
53 | {
54 | st_AuthConfig.st_XLog.nLogType = _ttxoi(argv[++i]);
55 | }
56 | else if (0 == _tcsxcmp("-t", argv[i]))
57 | {
58 | bIsTest = true;
59 | }
60 | }
61 |
62 | return true;
63 | }
64 |
65 | void Authorize_Service_ParamentHelp()
66 | {
67 | printf(_X("--------------------------启动参数帮助开始--------------------------\n"));
68 | printf(_X("网络授权服务启动参数:程序 参数 参数值,参数是区分大小写的。如果不指定将会加载默认的ini配置文件里面的参数\n"));
69 | printf(_X("-h or -H:启动参数帮助提示信息\n"));
70 | printf(_X("-d:1 启用守护进程,2不启用\n"));
71 | printf(_X("--------------------------启动参数帮助结束--------------------------\n"));
72 | }
73 |
--------------------------------------------------------------------------------
/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/Authorize_Config.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | bool Authorize_Service_Parament(int argc, char** argv);
4 | void Authorize_Service_ParamentHelp();
5 |
--------------------------------------------------------------------------------
/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/Authorize_HttpMemory.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | /********************************************************************
3 | // Created: 2025/04/19 14:02:23
4 | // File Name: D:\XEngine_Authorize\XEngine_Source\XEngine_APPService\XEngine_AuthorizeService\Authorize_HttpMemory.h
5 | // File Path: D:\XEngine_Authorize\XEngine_Source\XEngine_APPService\XEngine_AuthorizeService
6 | // File Base: Authorize_HttpMemory
7 | // File Ext: h
8 | // Project: XEngine
9 | // Author: qyt
10 | // Purpose: 内存池封装
11 | // History:
12 | *********************************************************************/
13 | class CHttpMemory_PoolEx
14 | {
15 | public:
16 | CHttpMemory_PoolEx(size_t nSize)
17 | {
18 | lPtr = ManagePool_Memory_Alloc(xhMemPool, nSize);
19 | if (NULL == lPtr)
20 | {
21 | XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ALERT, _X("内存池分配失败,系统面临崩溃!"));
22 | return;
23 | }
24 | }
25 | ~CHttpMemory_PoolEx()
26 | {
27 | if (NULL != lPtr)
28 | {
29 | ManagePool_Memory_Free(xhMemPool, lPtr);
30 | }
31 | }
32 | public:
33 | // 支持类型转换
34 | template
35 | T* as() {
36 | return static_cast(lPtr);
37 | }
38 | XCHAR* get()
39 | {
40 | return static_cast(lPtr);
41 | }
42 | private:
43 | XPVOID lPtr = NULL;
44 | };
--------------------------------------------------------------------------------
/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/Authorize_HttpTask.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | XHTHREAD XCALLBACK XEngine_AuthService_HttpThread(XPVOID lParam);
4 | bool XEngine_Client_HttpTask(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, int nMsgLen, RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParament);
--------------------------------------------------------------------------------
/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/Authorize_Net.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | bool XCALLBACK XEngine_Client_TCPAccept(LPCXSTR lpszClientAddr, XSOCKET hSocket, XPVOID lParam);
4 | void XCALLBACK XEngine_Client_TCPRecv(LPCXSTR lpszClientAddr, XSOCKET hSocket, LPCXSTR lpszRecvMsg, int nMsgLen, XPVOID lParam);
5 | void XCALLBACK XEngine_Client_TCPClose(LPCXSTR lpszClientAddr, XSOCKET hSocket, XPVOID lParam);
6 | void XCALLBACK XEngine_Client_TCPHeart(LPCXSTR lpszClientAddr, XSOCKET hSocket, int nStatus, XPVOID lParam);
7 |
8 | bool XCALLBACK XEngine_Client_WSAccept(LPCXSTR lpszClientAddr, XSOCKET hSocket, XPVOID lParam);
9 | void XCALLBACK XEngine_Client_WSRecv(LPCXSTR lpszClientAddr, XSOCKET hSocket, LPCXSTR lpszRecvMsg, int nMsgLen, XPVOID lParam);
10 | void XCALLBACK XEngine_Client_WSClose(LPCXSTR lpszClientAddr, XSOCKET hSocket, XPVOID lParam);
11 | void XCALLBACK XEngine_Client_WSHeart(LPCXSTR lpszClientAddr, XSOCKET hSocket, int nStatus, XPVOID lParam);
12 |
13 | bool XCALLBACK XEngine_Client_HttpAccept(LPCXSTR lpszClientAddr, XSOCKET hSocket, XPVOID lParam);
14 | void XCALLBACK XEngine_Client_HttpRecv(LPCXSTR lpszClientAddr, XSOCKET hSocket, LPCXSTR lpszRecvMsg, int nMsgLen, XPVOID lParam);
15 | void XCALLBACK XEngine_Client_HttpClose(LPCXSTR lpszClientAddr, XSOCKET hSocket, XPVOID lParam);
16 | void XCALLBACK XEngine_Client_HttpHeart(LPCXSTR lpszClientAddr, XSOCKET hSocket, int nStatus, XPVOID lParam);
17 |
18 | bool XEngine_CloseClient(LPCXSTR lpszClientAddr, int nLeaveType = 0);
19 | bool XEngine_Client_TaskSend(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, int nMsgLen, int nNetType);
20 | bool XEngine_SendMsg(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, int nMsgLen, int nNetType, LPCXSTR lpszPass = NULL);
--------------------------------------------------------------------------------
/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/Authorize_TCPTask.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | XHTHREAD XCALLBACK XEngine_AuthService_TCPThread(XPVOID lParam);
4 | bool XEngine_Client_TCPTask(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, int nMsgLen, XENGINE_PROTOCOLHDR* pSt_ProtocolHdr, int nNetType);
--------------------------------------------------------------------------------
/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/Authorize_Task.cpp:
--------------------------------------------------------------------------------
1 | #include "Authorize_Hdr.h"
2 |
3 | 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)
4 | {
5 | if (nLeftTimer <= 0)
6 | {
7 | int nMsgLen = 0;
8 | XCHAR tszMsgBuffer[1024];
9 | XENGINE_PROTOCOLHDR st_ProtocolHdr;
10 |
11 | memset(tszMsgBuffer, '\0', sizeof(tszMsgBuffer));
12 | memset(&st_ProtocolHdr, '\0', sizeof(XENGINE_PROTOCOLHDR));
13 |
14 | st_ProtocolHdr.wHeader = XENGIEN_COMMUNICATION_PACKET_PROTOCOL_HEADER;
15 | st_ProtocolHdr.unOperatorType = ENUM_XENGINE_COMMUNICATION_PROTOCOL_TYPE_AUTH;
16 | st_ProtocolHdr.unOperatorCode = XENGINE_COMMUNICATION_PROTOCOL_OPERATOR_CODE_AUTH_TIMEDOUT;
17 | st_ProtocolHdr.wTail = XENGIEN_COMMUNICATION_PACKET_PROTOCOL_TAIL;
18 |
19 | if (st_AuthConfig.st_XLogin.bPassAuth)
20 | {
21 | AUTHREG_PROTOCOL_TIME st_AuthTime;
22 | memset(&st_AuthTime, '\0', sizeof(AUTHREG_PROTOCOL_TIME));
23 |
24 | st_AuthTime.nNetType = nNetType;
25 | st_AuthTime.nTimeLeft = nLeftTimer;
26 | st_AuthTime.nTimeONLine = nOnlineTimer;
27 | st_AuthTime.enSerialType = enSerialType;
28 | _tcsxcpy(st_AuthTime.tszUserName, lpszUserName);
29 | _tcsxcpy(st_AuthTime.tszLeftTime, lpszLeftDate);
30 | _tcsxcpy(st_AuthTime.tszUserAddr, lpszUserAddr);
31 |
32 | memset(tszMsgBuffer, '\0', sizeof(tszMsgBuffer));
33 | Protocol_Packet_HttpUserTime(tszMsgBuffer, &nMsgLen, &st_AuthTime);
34 | APIClient_Http_Request(_X("POST"), st_AuthConfig.st_XLogin.st_PassUrl.tszPassTimeout, tszMsgBuffer);
35 | }
36 | //HTTP不能通知
37 | Protocol_Packet_HDRComm(tszMsgBuffer, &nMsgLen, &st_ProtocolHdr, nNetType);
38 | XEngine_Client_TaskSend(lpszUserAddr, tszMsgBuffer, nMsgLen, nNetType);
39 | if (!st_AuthConfig.bTimeNotify)
40 | {
41 | XEngine_CloseClient(lpszUserAddr);
42 | }
43 | XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("地址:%s,用户:%s,网络类型:%d,没有剩余时间,已经通知客户单超时,三方通知设置:%d"), lpszUserName, lpszUserAddr, nNetType, st_AuthConfig.st_XLogin.bPassAuth);
44 | }
45 | AUTHREG_PROTOCOL_TIME st_AuthTime;
46 | memset(&st_AuthTime, '\0', sizeof(AUTHREG_PROTOCOL_TIME));
47 |
48 | st_AuthTime.nTimeLeft = nLeftTimer;
49 | st_AuthTime.nTimeONLine = nOnlineTimer;
50 | st_AuthTime.enSerialType = enSerialType;
51 | _tcsxcpy(st_AuthTime.tszLeftTime, lpszLeftDate);
52 | _tcsxcpy(st_AuthTime.tszUserName, lpszUserName);
53 | _tcsxcpy(st_AuthTime.tszUserAddr, lpszUserAddr);
54 |
55 | if (0 == st_AuthConfig.st_XSql.nDBType)
56 | {
57 | DBModule_SQLite_UserLeave(&st_AuthTime);
58 | }
59 | else
60 | {
61 | DBModule_MySQL_UserLeave(&st_AuthTime);
62 | }
63 | }
64 | void XCALLBACK XEngine_TaskEvent_Token(XNETHANDLE xhToken, XPVOID lParam)
65 | {
66 | bool bRemove = true;
67 | AUTHREG_USERTABLE st_UserTable;
68 | memset(&st_UserTable, '\0', sizeof(AUTHREG_USERTABLE));
69 |
70 | Session_Token_Get(xhToken, &st_UserTable);
71 | //自动续期?
72 | if (st_AuthConfig.st_XVerification.st_XToken.bAutoRenewal)
73 | {
74 | int nRenewalTime = 0;
75 | Session_Token_RenewalTime(xhToken, &nRenewalTime);
76 |
77 | if (-1 == st_AuthConfig.st_XVerification.st_XToken.nRenewalTime)
78 | {
79 | bRemove = false;
80 | }
81 | else
82 | {
83 | if (nRenewalTime <= st_AuthConfig.st_XVerification.st_XToken.nRenewalTime)
84 | {
85 | bRemove = false;
86 | }
87 | }
88 | }
89 |
90 | if (bRemove)
91 | {
92 | Session_Token_Delete(xhToken);
93 | XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("Token:%lld,用户名:%s,已经超时,权限级别:%d,被移除服务器"), xhToken, st_UserTable.st_UserInfo.tszUserName, st_UserTable.st_UserInfo.nUserLevel);
94 | }
95 | }
--------------------------------------------------------------------------------
/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/Authorize_Task.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | 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);
4 | void XCALLBACK XEngine_TaskEvent_Token(XNETHANDLE xhToken, XPVOID lParam);
--------------------------------------------------------------------------------
/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/Authorize_WSTask.cpp:
--------------------------------------------------------------------------------
1 | #include "Authorize_Hdr.h"
2 |
3 | XHTHREAD XCALLBACK XEngine_AuthService_WSThread(XPVOID lParam)
4 | {
5 | int nPoolIndex = *(int*)lParam;
6 | int nThreadPos = nPoolIndex + 1;
7 |
8 | while (bIsRun)
9 | {
10 | if (!RfcComponents_WSPacket_WaitEventEx(xhWSPacket, nThreadPos))
11 | {
12 | continue;
13 | }
14 | int nMsgLen = 2048;
15 | XCHAR tszMsgBuffer[2048];
16 | memset(tszMsgBuffer, '\0', sizeof(tszMsgBuffer));
17 |
18 | int nListCount = 0;
19 | XENGINE_MANAGEPOOL_TASKEVENT** ppSt_ListClient;
20 | RfcComponents_WSPacket_GetPoolEx(xhWSPacket, nThreadPos, &ppSt_ListClient, &nListCount);
21 | for (int i = 0; i < nListCount; i++)
22 | {
23 | ENUM_XENGINE_RFCOMPONENTS_WEBSOCKET_OPCODE enOPCode;
24 | if (!RfcComponents_WSPacket_GetEx(xhWSPacket, ppSt_ListClient[i]->tszClientAddr, tszMsgBuffer, &nMsgLen, &enOPCode))
25 | {
26 | continue;
27 | }
28 | if (st_AuthConfig.st_XCrypto.bEnable)
29 | {
30 | XCHAR tszPassword[64];
31 | XCHAR tszDeBuffer[2048];
32 |
33 | memset(tszPassword, '\0', sizeof(tszPassword));
34 | memset(tszDeBuffer, '\0', sizeof(tszDeBuffer));
35 |
36 | _xstprintf(tszPassword, _X("%d"), st_AuthConfig.st_XCrypto.nPassword);
37 | Cryption_XCrypto_Decoder(tszMsgBuffer, &nMsgLen, tszDeBuffer, tszPassword);
38 | XEngine_Client_WSTask(ppSt_ListClient[i]->tszClientAddr, tszDeBuffer, nMsgLen, enOPCode);
39 | }
40 | else
41 | {
42 | XEngine_Client_WSTask(ppSt_ListClient[i]->tszClientAddr, tszMsgBuffer, nMsgLen, enOPCode);
43 | }
44 | }
45 | BaseLib_Memory_Free((XPPPMEM)&ppSt_ListClient, nListCount);
46 | }
47 | return 0;
48 | }
49 |
50 | bool XEngine_Client_WSTask(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, int nMsgLen, ENUM_XENGINE_RFCOMPONENTS_WEBSOCKET_OPCODE enOPCode)
51 | {
52 | XENGINE_PROTOCOLHDR st_ProtocolHdr;
53 | memset(&st_ProtocolHdr, '\0', sizeof(XENGINE_PROTOCOLHDR));
54 |
55 | if (ENUM_XENGINE_RFCOMPONENTS_WEBSOCKET_OPCODE_CLOSE == enOPCode)
56 | {
57 | int nSDLen = 0;
58 | XCHAR tszMSGBuffer[XPATH_MAX] = {};
59 | RfcComponents_WSCodec_EncodeMsg(NULL, tszMSGBuffer, &nSDLen, ENUM_XENGINE_RFCOMPONENTS_WEBSOCKET_OPCODE_CLOSE);
60 | NetCore_TCPXCore_SendEx(xhWSSocket, lpszClientAddr, tszMSGBuffer, nSDLen);
61 | }
62 | else if (ENUM_XENGINE_RFCOMPONENTS_WEBSOCKET_OPCODE_PING == enOPCode)
63 | {
64 | int nSDLen = 0;
65 | XCHAR tszMSGBuffer[XPATH_MAX] = {};
66 | RfcComponents_WSCodec_EncodeMsg(NULL, tszMSGBuffer, &nSDLen, ENUM_XENGINE_RFCOMPONENTS_WEBSOCKET_OPCODE_PONG);
67 | NetCore_TCPXCore_SendEx(xhWSSocket, lpszClientAddr, tszMSGBuffer, nSDLen);
68 | }
69 | else
70 | {
71 | if (!Protocol_Parse_WSHdr(lpszMsgBuffer, nMsgLen, &st_ProtocolHdr))
72 | {
73 | XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("WS客户端:%s,协议错误"), lpszClientAddr);
74 | return false;
75 | }
76 |
77 | if (XENGINE_COMMUNICATION_PROTOCOL_OPERATOR_CODE_AUTH_REQLOGIN == st_ProtocolHdr.unOperatorCode)
78 | {
79 | XENGINE_PROTOCOL_USERAUTH st_UserAuth;
80 | memset(&st_UserAuth, '\0', sizeof(XENGINE_PROTOCOL_USERAUTH));
81 |
82 | Protocol_Parse_HttpParseAuth(lpszMsgBuffer, nMsgLen, &st_UserAuth);
83 | XEngine_Client_TCPTask(lpszClientAddr, (LPCXSTR)&st_UserAuth, sizeof(XENGINE_PROTOCOL_USERAUTH), &st_ProtocolHdr, XENGINE_AUTH_APP_NETTYPE_WS);
84 | }
85 | if (XENGINE_COMMUNICATION_PROTOCOL_OPERATOR_CODE_HB_SYN == st_ProtocolHdr.unOperatorCode)
86 | {
87 | XEngine_Client_TCPTask(lpszClientAddr, NULL, 0, &st_ProtocolHdr, XENGINE_AUTH_APP_NETTYPE_WS);
88 | }
89 | }
90 |
91 | return true;
92 | }
--------------------------------------------------------------------------------
/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/Authorize_WSTask.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | XHTHREAD XCALLBACK XEngine_AuthService_WSThread(XPVOID lParam);
4 | bool XEngine_Client_WSTask(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, int nMsgLen, ENUM_XENGINE_RFCOMPONENTS_WEBSOCKET_OPCODE enOPCode);
--------------------------------------------------------------------------------
/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/XEngine_AuthorizeService.vcxproj.user:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------