Compare commits

...

19 Commits

Author SHA1 Message Date
WitherOrNot 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
WitherOrNot ae391a5e50
Update cli.cpp 2023-09-01 22:43:32 -04:00
TheTank20 3620cf5af6
Update README.md 2023-09-01 19:54:08 -04:00
TheTank20 06ed5ef240
Update windows.yml 2023-09-01 18:50:59 -04:00
TheTank20 161aa2de4c
put the working dir in the right place 2023-09-01 18:37:12 -04:00
TheTank20 a50688657d
Fix v141_xp compilation 2023-09-01 18:20:02 -04:00
TheTank20 1679583e64
Update README.md 2023-09-01 18:19:35 -04:00
TheTank20 02c85b50b1
Change build config to v141_xp 2023-09-01 18:08:53 -04:00
TheTank20 93732e152b
Add XP support for x64 2023-09-01 18:07:02 -04:00
techguy16 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
techguy16 8619fccb11
Update freebsd.yml 2023-09-02 09:12:52 +12:00
techguy16 06b9d937b1
Update freebsd.yml 2023-09-01 20:14:46 +12:00
techguy16 453151f20f
Add Tests for FreeBSD 2023-09-01 12:47:39 +12:00
techguy16 1bb00cf53d
Remove unnecessary zipping. 2023-09-01 11:56:37 +12:00
techguy16 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
TheTank20 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
#
# Copyleft (C) 2019-2023 UMSKT Contributors (et.al.)
#
# 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
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# 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/>.
#
# @FileCreated by techguy16 on 07/23/2023
# @Maintainer techguy16
name: C/C++ CI (FreeBSD)
on:
push:
branches: [ "master" ]
pull_request:
branches: [ "master" ]
jobs:
build:
runs-on: macos-12
name: build-x86_64
steps:
- uses: actions/checkout@v3
- name: Build & Test in FreeBSD
id: test
uses: vmactions/freebsd-vm@v0
with:
envs: 'MYTOKEN MYTOKEN2'
usesh: true
prepare: |
pkg install -y cmake openssl git bash
run: |
mkdir build
cd build
cmake ..
make
./umskt # Execute the test here
- name: Move files to correct directory
run: |
mkdir -p build/actions_upload
mv build/umskt build/actions_upload/umskt
- name: Upload build artifact
uses: actions/upload-artifact@v3.1.2
with:
name: UMSKT-FreeBSD
path: build/actions_upload
# This file is a part of the UMSKT Project
#
# Copyleft (C) 2019-2023 UMSKT Contributors (et.al.)
#
# 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
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# 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/>.
#
# @FileCreated by techguy16 on 07/23/2023
# @Maintainer techguy16
name: C/C++ CI (FreeBSD)
on:
push:
branches: [ "master" ]
pull_request:
branches: [ "master" ]
jobs:
build:
runs-on: macos-latest
name: build-x86_64
steps:
- uses: actions/checkout@v3
- name: Build & Test in FreeBSD
id: test
uses: vmactions/freebsd-vm@v0
with:
envs: 'MYTOKEN MYTOKEN2'
usesh: true
prepare: |
pkg install -y cmake openssl git bash
run: |
mkdir build
cd build
cmake ..
make
./umskt # Execute the test here
- name: Move files to correct directory
run: |
mkdir -p build/actions_upload
mv build/umskt build/actions_upload/umskt
- name: Upload build artifact
uses: actions/upload-artifact@v3.1.2
with:
name: UMSKT-FreeBSD
path: build/actions_upload

View File

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

View File

@ -30,10 +30,27 @@ jobs:
build-32bit:
runs-on: windows-latest
steps:
- name: Install v141_xp
uses: thepwrtank18/install-vs-components@v1.0.0
with:
components: Microsoft.VisualStudio.Component.WinXP
# https://github.com/actions/runner-images/issues/6067#issuecomment-1213069040
- name: Install Windows XP Support for Visual Studio
run: |
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
run: |
@ -57,14 +74,13 @@ jobs:
- name: Configure UMSKT
uses: threeal/cmake-action@v1.2.0
with:
working-directory: build
generator: "Visual Studio 17 2022"
options: CMAKE_SYSTEM_VERSION="5.1.2600"
args: -A "Win32" -T v141_xp
- name: Build UMSKT
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
uses: actions/upload-artifact@v3.1.2
@ -75,11 +91,27 @@ jobs:
build-64bit:
runs-on: windows-latest
steps:
- name: Install v141_xp
uses: thepwrtank18/install-vs-components@v1.0.0
with:
components: Microsoft.VisualStudio.Component.WinXP
- name: Install Windows XP Support for Visual Studio
run: |
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 64-bit OpenSSL 3.1.2
run: |
$installDir = "$Env:ProgramFiles\OpenSSL"
@ -103,11 +135,11 @@ jobs:
uses: threeal/cmake-action@v1.2.0
with:
generator: "Visual Studio 17 2022"
args: -A "x64" -T v141_xp
args: -A "x64" -T "v141_xp"
- name: Build UMSKT
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
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)
**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 (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)
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:
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:
------
### **Usage**
#### 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)~~
* 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.
@ -74,6 +86,7 @@ The list of people who have helped to bring the XP generation to where it is now
* TheTank20
* InvoxiPlayGames
* brakmic
* techguy16
(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:**
* `CMake, make, gcc` (`build-essential`)
* `build-essential`
* `cmake`
* `make`
* `gcc`
* `g++`
* `git`
#### Build Steps:
1. `git clone`
2. `cd build/ && cmake ../ && make`
1. `git clone https://github.com/UMSKT/UMSKT`
2. `cd UMSKT/build`
3. `cmake ..`
4. `make`
-----
### **Known Ports**
| Language | Author | Repo URL |
|----------|-----------|-------------------------------------------------------|
| Rust | Alex Page | [anpage/umskt-rs](https://github.com/anpage/umskt-rs) |
| Python | techguy16 | [techguy16/umsktpy](https://github.com/techguy16/umsktpy) |
| Language | Author | Repo URL |
|----------|-----------|-----------------------------------------------------------|
| Rust | Alex Page | [anpage/umskt-rs](https://github.com/anpage/umskt-rs) |
| 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;
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) {
// 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;