19 Commits

Author SHA1 Message Date
ccf93a0089 Merge pull request #51 from UMSKT/fe-ff-fix
Add exclusions for FE and FF BINKs
2023-09-01 23:17:58 -04:00
ae391a5e50 Update cli.cpp 2023-09-01 22:43:32 -04:00
3620cf5af6 Update README.md 2023-09-01 19:54:08 -04:00
06ed5ef240 Update windows.yml 2023-09-01 18:50:59 -04:00
161aa2de4c put the working dir in the right place 2023-09-01 18:37:12 -04:00
a50688657d Fix v141_xp compilation 2023-09-01 18:20:02 -04:00
1679583e64 Update README.md 2023-09-01 18:19:35 -04:00
02c85b50b1 Change build config to v141_xp 2023-09-01 18:08:53 -04:00
93732e152b Add XP support for x64 2023-09-01 18:07:02 -04:00
95803054ba Tidy up Readme
- Order Operating Systems
- Add separators
- Fix build instructions (git clone doesn't just get the code, you need the url)
2023-09-02 09:46:19 +12:00
8619fccb11 Update freebsd.yml 2023-09-02 09:12:52 +12:00
06b9d937b1 Update freebsd.yml 2023-09-01 20:14:46 +12:00
453151f20f Add Tests for FreeBSD 2023-09-01 12:47:39 +12:00
1bb00cf53d Remove unnecessary zipping. 2023-09-01 11:56:37 +12:00
a787fc8e85 Fix Windows Build 2023-09-01 11:55:22 +12:00
Neo
45004623be Why does the Github web editor commit tabs??? 2023-07-28 16:17:57 -07:00
Neo
a4cb524fed re-add removed comment 2023-07-28 16:16:31 -07:00
Neo
03ae90163a cleaner cli.cpp fix 2023-07-28 16:15:37 -07:00
c1e9a0f021 add exclusions for FE and FF 2023-07-28 18:10:25 -05:00
5 changed files with 145 additions and 93 deletions

View File

@ -1,61 +1,61 @@
# This file is a part of the UMSKT Project # This file is a part of the UMSKT Project
# #
# Copyleft (C) 2019-2023 UMSKT Contributors (et.al.) # Copyleft (C) 2019-2023 UMSKT Contributors (et.al.)
# #
# This program is free software: you can redistribute it and/or modify # This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by # it under the terms of the GNU Affero General Public License as published by
# the Free Software Foundation, either version 3 of the License, or # the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version. # (at your option) any later version.
# #
# This program is distributed in the hope that it will be useful, # This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of # but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details. # GNU Affero General Public License for more details.
# #
# You should have received a copy of the GNU Affero General Public License # You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>. # along with this program. If not, see <http://www.gnu.org/licenses/>.
# #
# @FileCreated by techguy16 on 07/23/2023 # @FileCreated by techguy16 on 07/23/2023
# @Maintainer techguy16 # @Maintainer techguy16
name: C/C++ CI (FreeBSD) name: C/C++ CI (FreeBSD)
on: on:
push: push:
branches: [ "master" ] branches: [ "master" ]
pull_request: pull_request:
branches: [ "master" ] branches: [ "master" ]
jobs: jobs:
build: build:
runs-on: macos-12 runs-on: macos-latest
name: build-x86_64 name: build-x86_64
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v3
- name: Build & Test in FreeBSD - name: Build & Test in FreeBSD
id: test id: test
uses: vmactions/freebsd-vm@v0 uses: vmactions/freebsd-vm@v0
with: with:
envs: 'MYTOKEN MYTOKEN2' envs: 'MYTOKEN MYTOKEN2'
usesh: true usesh: true
prepare: | prepare: |
pkg install -y cmake openssl git bash pkg install -y cmake openssl git bash
run: | run: |
mkdir build mkdir build
cd build cd build
cmake .. cmake ..
make make
./umskt # Execute the test here ./umskt # Execute the test here
- name: Move files to correct directory - name: Move files to correct directory
run: | run: |
mkdir -p build/actions_upload mkdir -p build/actions_upload
mv build/umskt build/actions_upload/umskt mv build/umskt build/actions_upload/umskt
- name: Upload build artifact - name: Upload build artifact
uses: actions/upload-artifact@v3.1.2 uses: actions/upload-artifact@v3.1.2
with: with:
name: UMSKT-FreeBSD name: UMSKT-FreeBSD
path: build/actions_upload path: build/actions_upload

View File

@ -53,11 +53,6 @@ jobs:
cd build/actions_upload cd build/actions_upload
./umskt ./umskt
- name: Zip artifact
run: |
cd build/actions_upload
zip -r UMSKT-macOS-${{ matrix.arch }}-static.zip umskt
- name: Upload build artifact - name: Upload build artifact
uses: actions/upload-artifact@v3.1.2 uses: actions/upload-artifact@v3.1.2
with: with:

View File

@ -30,10 +30,27 @@ jobs:
build-32bit: build-32bit:
runs-on: windows-latest runs-on: windows-latest
steps: steps:
- name: Install v141_xp # https://github.com/actions/runner-images/issues/6067#issuecomment-1213069040
uses: thepwrtank18/install-vs-components@v1.0.0 - name: Install Windows XP Support for Visual Studio
with: run: |
components: Microsoft.VisualStudio.Component.WinXP Set-Location "C:\Program Files (x86)\Microsoft Visual Studio\Installer\"
$InstallPath = "C:\Program Files\Microsoft Visual Studio\2022\Enterprise"
$componentsToAdd = @(
"Microsoft.VisualStudio.Component.WinXP"
)
[string]$workloadArgs = $componentsToAdd | ForEach-Object {" --add " + $_}
$Arguments = ('/c', "vs_installer.exe", 'modify', '--installPath', "`"$InstallPath`"",$workloadArgs, '--quiet', '--norestart', '--nocache')
$process = Start-Process -FilePath cmd.exe -ArgumentList $Arguments -Wait -PassThru -WindowStyle Hidden
if ($process.ExitCode -eq 0)
{
Write-Host "components have been successfully added"
Get-ChildItem C:\ProgramData\Microsoft\VisualStudio\Packages\Microsoft.Windows.XPSupport.*
}
else
{
Write-Host "components were not installed"
exit 1
}
- name: Download And Install 32-bit OpenSSL 3.1.2 - name: Download And Install 32-bit OpenSSL 3.1.2
run: | run: |
@ -57,14 +74,13 @@ jobs:
- name: Configure UMSKT - name: Configure UMSKT
uses: threeal/cmake-action@v1.2.0 uses: threeal/cmake-action@v1.2.0
with: with:
working-directory: build
generator: "Visual Studio 17 2022" generator: "Visual Studio 17 2022"
options: CMAKE_SYSTEM_VERSION="5.1.2600" options: CMAKE_SYSTEM_VERSION="5.1.2600"
args: -A "Win32" -T v141_xp args: -A "Win32" -T v141_xp
- name: Build UMSKT - name: Build UMSKT
working-directory: build working-directory: build
run: msbuild ALL_BUILD.vcxproj /P:Configuration=Release /P:XPDeprecationWarning=false run: msbuild ALL_BUILD.vcxproj /P:Configuration=Release
- name: Upload build artifact - name: Upload build artifact
uses: actions/upload-artifact@v3.1.2 uses: actions/upload-artifact@v3.1.2
@ -75,11 +91,27 @@ jobs:
build-64bit: build-64bit:
runs-on: windows-latest runs-on: windows-latest
steps: steps:
- name: Install v141_xp - name: Install Windows XP Support for Visual Studio
uses: thepwrtank18/install-vs-components@v1.0.0 run: |
with: Set-Location "C:\Program Files (x86)\Microsoft Visual Studio\Installer\"
components: Microsoft.VisualStudio.Component.WinXP $InstallPath = "C:\Program Files\Microsoft Visual Studio\2022\Enterprise"
$componentsToAdd = @(
"Microsoft.VisualStudio.Component.WinXP"
)
[string]$workloadArgs = $componentsToAdd | ForEach-Object {" --add " + $_}
$Arguments = ('/c', "vs_installer.exe", 'modify', '--installPath', "`"$InstallPath`"",$workloadArgs, '--quiet', '--norestart', '--nocache')
$process = Start-Process -FilePath cmd.exe -ArgumentList $Arguments -Wait -PassThru -WindowStyle Hidden
if ($process.ExitCode -eq 0)
{
Write-Host "components have been successfully added"
Get-ChildItem C:\ProgramData\Microsoft\VisualStudio\Packages\Microsoft.Windows.XPSupport.*
}
else
{
Write-Host "components were not installed"
exit 1
}
- name: Download And Install 64-bit OpenSSL 3.1.2 - name: Download And Install 64-bit OpenSSL 3.1.2
run: | run: |
$installDir = "$Env:ProgramFiles\OpenSSL" $installDir = "$Env:ProgramFiles\OpenSSL"
@ -103,11 +135,11 @@ jobs:
uses: threeal/cmake-action@v1.2.0 uses: threeal/cmake-action@v1.2.0
with: with:
generator: "Visual Studio 17 2022" generator: "Visual Studio 17 2022"
args: -A "x64" -T v141_xp args: -A "x64" -T "v141_xp"
- name: Build UMSKT - name: Build UMSKT
working-directory: build working-directory: build
run: msbuild ALL_BUILD.vcxproj /P:Configuration=Release /P:XPDeprecationWarning=false run: msbuild ALL_BUILD.vcxproj /P:Configuration=Release
- name: Upload build artifact - name: Upload build artifact
uses: actions/upload-artifact@v3.1.2 uses: actions/upload-artifact@v3.1.2

View File

@ -6,17 +6,24 @@
[![libera.chat - #mspid](https://img.shields.io/badge/libera.chat-%23mspid-brightgreen)](https://web.libera.chat/gamja/?nick=Guest?#mspid) [![libera.chat - #mspid](https://img.shields.io/badge/libera.chat-%23mspid-brightgreen)](https://web.libera.chat/gamja/?nick=Guest?#mspid)
**Build status** **Build status**
[![C/C++ CI (Linux)](https://github.com/UMSKT/UMSKT/actions/workflows/linux.yml/badge.svg)](../../actions/workflows/linux.yml)
[![C/C++ CI (Windows)](https://github.com/UMSKT/UMSKT/actions/workflows/windows.yml/badge.svg)](../../actions/workflows/windows.yml) [![C/C++ CI (Windows)](https://github.com/UMSKT/UMSKT/actions/workflows/windows.yml/badge.svg)](../../actions/workflows/windows.yml)
[![C/C++ CI (macOS)](https://github.com/UMSKT/UMSKT/actions/workflows/macos.yml/badge.svg)](../../actions/workflows/macos.yml) [![C/C++ CI (macOS)](https://github.com/UMSKT/UMSKT/actions/workflows/macos.yml/badge.svg)](../../actions/workflows/macos.yml)
[![C/C++ CI (DOS DJGPP)](https://github.com/UMSKT/UMSKT/actions/workflows/dos-djgpp.yml/badge.svg)](../../actions/workflows/freebsd.yml)
[![C/C++ CI (Linux)](https://github.com/UMSKT/UMSKT/actions/workflows/linux.yml/badge.svg)](../../actions/workflows/linux.yml)
[![C/C++ CI (FreeBSD)](https://github.com/UMSKT/UMSKT/actions/workflows/freebsd.yml/badge.svg)](../../actions/workflows/dos-djgpp.yml) [![C/C++ CI (FreeBSD)](https://github.com/UMSKT/UMSKT/actions/workflows/freebsd.yml/badge.svg)](../../actions/workflows/dos-djgpp.yml)
Plan of Action / ToDo List [![C/C++ CI (DOS DJGPP)](https://github.com/UMSKT/UMSKT/actions/workflows/dos-djgpp.yml/badge.svg)](../../actions/workflows/freebsd.yml)
------
### Plan of Action / ToDo List
In light of the recent exponential interest in this project I've decided to put updates of this project here: In light of the recent exponential interest in this project I've decided to put updates of this project here:
Please see ticket #8 for more information [Please see ticket #8 for more information](https://github.com/UMSKT/UMSKT/issues/8)
------ ------
@ -34,6 +41,7 @@ In light of the recent exponential interest in this project I've decided to put
* It all comes down to four simple steps: * It all comes down to four simple steps:
------
### **Usage** ### **Usage**
#### 1. Download the latest version of UMSKT #### 1. Download the latest version of UMSKT
@ -46,11 +54,15 @@ In light of the recent exponential interest in this project I've decided to put
* ~~Download the latest release for your operating system and architecture from [the releases page](../../releases)~~ * ~~Download the latest release for your operating system and architecture from [the releases page](../../releases)~~
* No official releases right now, use the other method to get the latest version. * No official releases right now, use the other method to get the latest version.
* **Note:** Before continuing, please ensure you have the `umskt` executable extracted. * **Note:** Before continuing, please ensure you have the `umskt` executable extracted and on UNIX-like systems, have execution permissions (`chmod +x umskt`).
#### 2. Run `umskt` to generate a key, or add `--help` to see more options. #### 2. Install OpenSSL 3.1.2.
For Windows, click [here](https://slproweb.com/products/Win32OpenSSL.html) and choose the right version. For other operating systems, consult your package manager.
*Note: This only applies if the build you download has OpenSSL embedded (static library) or not. You can usually tell if the download size is measured in KB or MB. If it's MB, you don't need this.*
#### 3. *(Activation step for `Retail` and `OEM` only)* #### 3. Run `umskt` to generate a key, or add `--help` or `-h` to see more options.
#### 4. *(Activation step for `Retail` and `OEM` only)*
* After installation, you will be prompted to activate Windows. * After installation, you will be prompted to activate Windows.
@ -74,6 +86,7 @@ The list of people who have helped to bring the XP generation to where it is now
* TheTank20 * TheTank20
* InvoxiPlayGames * InvoxiPlayGames
* brakmic * brakmic
* techguy16
(the list will be updated to add more collaborators) (the list will be updated to add more collaborators)
@ -81,20 +94,26 @@ The list of people who have helped to bring the XP generation to where it is now
### **Development Requirements:** ### **Development Requirements:**
* `CMake, make, gcc` (`build-essential`) * `build-essential`
* `cmake`
* `make`
* `gcc`
* `g++`
* `git` * `git`
#### Build Steps: #### Build Steps:
1. `git clone` 1. `git clone https://github.com/UMSKT/UMSKT`
2. `cd build/ && cmake ../ && make` 2. `cd UMSKT/build`
3. `cmake ..`
4. `make`
----- -----
### **Known Ports** ### **Known Ports**
| Language | Author | Repo URL | | Language | Author | Repo URL |
|----------|-----------|-------------------------------------------------------| |----------|-----------|-----------------------------------------------------------|
| Rust | Alex Page | [anpage/umskt-rs](https://github.com/anpage/umskt-rs) | | Rust | Alex Page | [anpage/umskt-rs](https://github.com/anpage/umskt-rs) |
| Python | techguy16 | [techguy16/umsktpy](https://github.com/techguy16/umsktpy) | | Python | techguy16 | [techguy16/umsktpy](https://github.com/techguy16/umsktpy) |

View File

@ -220,6 +220,12 @@ int CLI::validateCommandLine(Options* options, char *argv[], json *keys) {
int intBinkID; int intBinkID;
sscanf(options->binkid.c_str(), "%x", &intBinkID); sscanf(options->binkid.c_str(), "%x", &intBinkID);
// FE and FF are BINK 1998, but do not generate valid keys, so we throw an error
if (intBinkID >= 0xFE) {
fmt::print("ERROR: Terminal Services BINKs (FE and FF) are unsupported at this time\n");
return 1;
}
if (intBinkID >= 0x40) { if (intBinkID >= 0x40) {
// set bink2002 validate mode if in bink1998 validate mode, else set bink2002 generate mode // set bink2002 validate mode if in bink1998 validate mode, else set bink2002 generate mode
options->applicationMode = (options->applicationMode == MODE_BINK1998_VALIDATE) ? MODE_BINK2002_VALIDATE : MODE_BINK2002_GENERATE; options->applicationMode = (options->applicationMode == MODE_BINK1998_VALIDATE) ? MODE_BINK2002_VALIDATE : MODE_BINK2002_GENERATE;