Commit graph

49 commits

Author SHA1 Message Date
Nick Bolton
4690b61551
Simplify compile options and use comprehensive edition logic (#7365)
* Simplify options

* Use more sensible edition logic

* Use set instead of option for string

* Improve macro for product name

* Add tests launch config

* Restore unregistered state

* Reorganize cases for title and improve function name

* Code coverage on by default

* Fixed copyright

* Improve code coverage and test readability

* Separate build-all and build-coverage

* Back out coverage on by default

* Fixed bad var in cmake

* More verbose logging for coverage

* Restore tasks

* Restore preLaunchTask

* Use default comparitor

* Move temp files to temp dir

* Add tasks for tests

* Support for wstring

* Upgrade sonar-scanner to 6 on Debian 12

* Use modern pip install

* Install python for sonarcloud

* Use Ubuntu and install deps

* Fixed sonar-scanner URL

* Fix exported dir

* Persist build dir

* Don't use venv for pip install gcovr

* Fixed another path

* Update actions/checkout to v4 for SonarCloud analysis workflow

* Add coverage task

* Improve coverage for SerialKeyEdition.cpp

* Enable licensing for builds

* Fixed invalid macro names, missing arguments, etc

* Fixed more copyright

* Fixed incorrect use of "enterprise"

* Fixed incorrect use of "business"

* Experiment with environment

* Make package prefix variable

* Add environment matrix to all OS

* Improve job names

* Make job names easier to read

* Roll back environment matrix (too much noise)

* Fixed: default should override required

* Refactor CI with vars

* Fixed arg for env.get_env
2024-07-04 10:14:54 +01:00
Nick Bolton
37bb0f989e
Format all source with Clang and introduce lint workflow (#7364)
* Lint script with CLang format

* Use `-i` for `clang-format` and add more logging for lint scripts

* Apply LLVM CLang formatting

* Fixed comment

* Update ChangeLog

* Fixed bad return code logic

* Improve output for linters

* Fixed re-used var in clang lint

* Fixed include order for tests and use `#if 0` instead of commenting out code

* Use full Clang format dump

* Dump Ubuntu Clang format

* Dump Clang format from Debian

* Dumped from: clang-format version 18.1.8

* Revert "Dumped from: clang-format version 18.1.8"

This reverts commit b9bbda2995bb0b4b65baf14afebb0361ec64e644.

* Remove BasedOnStyle

* Restore base Clang format file

* Use clang-format from pip

* Apply Clang format 18 style

* Add clang_format deps

* Fixed include order issues and *some* accidental includes
2024-07-02 20:07:06 +01:00
Nick Bolton
c8d9707857
Re-implement packaging for GitHub workflows (Linux) (#7361)
* Reorganize CMake Packaging module

* Match if statements to function order

* Cleanup root, res, and doc dirs

* Move deps to requirements.txt file

* Reorganize and format CMake files

* Rename changelog lint

* Add reccomended extension

* Workflow to lint CMake files

* Move CMake lint to script

* Try lighter dep

* Use venv

* Add --format arg

* Format all CMake files

* Convert bash script to Python

* Set CMake line ending format

* Restore formatting

* Add pyyaml dep

* Remove unused arg

* Rename config file

* Remove comment

* Repair copyrights (broken by defualt cmake-format)

* Restore 3rd party copyright

* Break up libs config into smaller macros

* Better macro name

* Load config after venv

* Make intentional noop clearer

* Only use upload step if required (make skip clearer)

* Use CPack for deb and rpm packaging

* Add upload step for Linux

* Remove cpack dep, doesn't exist

* Roll back presets version

* Fixed distro like match

* Update ChangeLog

* Legacy checkout for some distros

* All distros support v4

* Trying out newer Linux distros

* Install Git on Docker images

* Install without actions (not available before checkout)

* Delete useless action

* Install Python

* Support for Arch and OpenSUSE

* Add Arch and OpenSUSE to deps

* Name steps

* Full OpenSUSE names

* Mark Git dir safe

* Add pkgconf

* Legacy CMake for Debian 11

* Add OpenSSL to OpenSUSE

* Drop OpenSUSE Leap (no C++20 support)

* Skip packaging for Arch and OpenSUSE (for now)

* Shorten Arch/OpenSUSE names

* Clearer step name

* SImpler bootstrap

* Shell not needed

* Update apt

* Don't check return code

* Simplify python deps commands

* Add STGZ/.sh package type

* Prevent input prompt

* Only config git safe dir when needed

* Try cache v4

* Safe dir for Ubuntu

* Safe dir for Arch

* All Docker images seem to need safe dir config

* Refactor env var getters

* Make Ubuntu build extra packages

* Condense bootstep to single step

* Fixed var name

* Fixed bootstrap logic

* Simplify logic for upload condition (Windows and macOS)

* Make package/upload condition easier to understand

* Add Manjaro

* Generic names for Linux .tar.gz and .sh packages

* Add Manjaro deps

* Swap macOS matrix entries

* Add Red Hat UBI

* Remove RHEL subscription manager

* Throw on unsupported package distro

* Conditionally install pip and venv

* Remove extra pip arg

* Add config for RHEL

* Install EPEL for RHEL

* Back-out RHEL as EPEL requires subscription

* Restore Python deps logic

* Fixed bug: Packacking run twice

* Testing arm32v7 and arm64v8

* Revert "Testing arm32v7 and arm64v8"

This reverts commit cb3caf188d2b79ed083a62fc091de295f9889f3d.

* Re-add icon and shortcut file for Linux to package

* Support OpenSUSE RPM build

* Check return code

* Add `rpm-build` for OpenSUSE

* Reorg packages

* Remove busybox-which

* Add --non-interactive

* Move --non-interactive to correct position

* Experiment with makepkg

* Check and print package commands

* Make distro version optional

* Use 8 cores to build

* Default to distro name only

* Fixed bad PKGBUILD filename

* Use 4-part version for Arch

* Remove comma from conflicts

* Use .tar.gz from cwd

* Generate checksum for Arch

* Fixed file extension

* Use shell to print output

* Don't use shell

* Gaurd against bad cmd_utils.run

* Fixed bad import

* Use list command

* Fixed unable to run list commands

* Use source file name

* Simplify PKGBUILD to use make install

* Change install prefix

* Use DESTDIR

* Copy .desktop and .png to build dir

* Restore original `install(FILES...`

* Improving comments

* Fixed: makepkg runs from `src` by default

* Move error after command print

* Remove shell arg

* Package as a user instead of root (makepkg can't run as root)

* Fixed codesign runs in shell

* Allow list commands in shell on windows

* Don't use sudo on arch

* Install sudo on Arch

* Fixed typo

* Fix ownership of build directory for package user

* Improve example .env

* Change to depend on libstdc++6

* Add TODO

* Fixed Fedora version

* Remove libstdc++ deps (names vary between distros)

* Roll back to Fedora 40 and 39

* Improve comment

* Remove unneccesary default
2024-07-02 11:23:56 +01:00
Serhii Hadzhilov
452c631d6e
Release v1.14.5 (#7219)
* Update Version.cmake

* Add TLS to Synergy (Lite edition) (#7202)

* Add TLS to synergy light

* Requested changes

* License registration for Business edition (#7203)

* License registration for business

* Rename register to registry

* Add email into the request

* Add decoded serial key into the request

* Revert "Add decoded serial key into the request"

This reverts commit 0e18c8941664e86ae2264bbef072df68cab07751.

* Revert "Add email into the request"

This reverts commit 8dff01bc242769008897947d66187cb726fb34bf.

* Change field guid_generated to guid_type

* Update ChangeLog

* Update ChangeLog

* Fix build issue for ubuntu16 and ubuntu18 (#7204)

* Fix issue with settings

* Custom about screen for Elite Backers (#7211)

* Hide irrelevant information from the About screen for B2B

* Fix size for Windows and Linux

* Requested changes

* Fix Enterprise

* Revert "Fix Enterprise"

This reverts commit befd8d2ce36b6ca903250bada62293491f0b56a2.

* Revert "Requested changes"

This reverts commit 5f728e00aaeb4bed3e3c006539d380f74d3aff76.

* Change features based on edition (#7212)

* Change features based on edition

* Fix enterprise build

* Update window titles and about screen (#7214)

* Fix About screen for Business edition

* Change dialog title

* Refactored upgrade prompt for TLS and hotkeys (#7215)

* Prompt Basic users to upgrade to Pro to access TLS encryption

* Fixed Enterprise build

* Fix code smells

* Fix sonar bug
2022-09-13 18:31:45 +03:00
Serhii Hadzhilov
bcfeb251a9
Support for maintenance licenses in China (#7193)
* Adds China maintenance licenses

* Update ChangeLog

* Requested changes
2022-06-23 15:54:44 +03:00
Serhii Hadzhilov
8a509f4ba9
SYNERGY1-1555 maintenance licences (#7190)
* SYNERGY1-1555 Remove unused files

* SYNERGY1-1555 Remove unused function isPermanent

* SYNERGY1-1555 Update SerialKeyType with maintenance type

* SYENRGY1-1555 Add method isMaintenance into SerialKey

* SYNERGY1-1555 Check maintenance licenses

* SYNERGY1-1555 Replace obsolete functions

* SYNERGY1-1555 Fix Linux builds

* Update ChangeLog

* SYNERGY1-1555 Requested changes
2022-06-15 13:55:41 +03:00
Serhii Hadzhilov
de48bb20b7
SYNERGY1-1545 Accept business licenses in basic/pro builds (#7188)
* SYNERGY1-1545 Accept business licenses in basic/pro builds

* Update ChangeLog
2022-06-08 21:46:22 +03:00
Serhii Hadzhilov
660853d1ac
SYNERGY1-1511 Refactoring for v3 licenses (#7183)
* SYNERGY1-1511 Refactor SerialKey constructor

* SYNERGY1-1511 Refactor SerialKey::parse

* SYNERGY1-1511 Remove unused includes

* SYNERGY1-1511 Remove key generation

* SYNERGY1-1511 Remove "using namespace std;"

* SYNERGY1-1511 Add struct SerialKeyData

* SYNERGY1-1511 Replace member with the new DTO

* SYNERGY1-1511 Rename members

* SYNERGY1-1511 Add a new class SerialKeyParser

* SYNERGY1-1511 Use SerialKeyParser

* Add SerialKeyParserV3

* Add setters and remove unused fields

* Fix return type

* Add comments

* Fix compilation

* Fix code smels

* Update ChangeLog
2022-06-01 18:17:02 +03:00
Serhii Hadzhilov
8be2e89c81
fix: SYNERGY3-203 Synergy 1 business (#7157)
* SYNERGY3-203 Add link to helpdesk

* SYNERGY3-203 Add a new cmake option

* SYNERGY3-203 Validate business key

* SYNERGY3-203 Check license during start

* SYNERGY3-203 Update windows title

* SYNERGY3-203 Unify license errors

* SYNERGY3-203 Fix code smell

* SYNERGY3-203 Update Azure scripts

* SYNERGY3-203 Update GitHub workflows

* SYNERGY3-203 Add UT

* SYNERGY3-203 Add UT
2022-04-26 15:11:09 +03:00
SerhiiGadzhilov
6ce20f689a
Merge changes from V1.14.0 (#7032)
* SYNERGY-1007 Release candidate

* SYNERGY-1014 Update openSSL to 1.1.1k on Windows artefacts

* SYNERGY-1015 Remove SYNERGY_AUTOCONFIG fom cmake files

* SYNERGY-1015 Update ChangeLog.txt

* SYNERGY-1005 Add fedora 33 to 1.14.0

* SYNERGY-1021 Incorrect client place for the first connection

* Update ChangeLog

* Update build_version.py to select correct build number

* SYNERGY-1023 Typo in <displays> on the server configuration page

* SYNERGY-1028 New licenses for Chinese market (#7031)

* SYNERGY-1028 New china licenses

* Update ChangeLog

* SYNERGY-1024 Release 1.14.0

* Update Version.cmake

Co-authored-by: Igor Sikachyna <sikachynairl@gmail.com>
2021-06-09 11:23:09 +03:00
SerhiiGadzhilov
64249f13c9
SYNERGY-362 Eliminate using std::chrono (#6828)
* SYNERGY-362 Eliminate using chrono due to compilation error on: centos7.6, ubuntu1604, debian9

* Remove chrono header

* Update ChangeLog

* SYNERGY-362 Tests compilation fix

* SYNERGY-362 Fix code smell
2020-11-04 12:10:18 +02:00
SerhiiGadzhilov
261b1f422d
SYNERGY-362 Improve license validation (#6816)
* SYNERGY-362 Improve license validation

* Update ChangeLog

* SYNERGY-362 Improve license validation
2020-11-02 17:11:03 +02:00
Serhii Hadzhilov
90fce9af2a SYNERGY-324 Replace tabs with spaces. 2020-10-05 18:34:03 +03:00
Serhii Hadzhilov
836e0444d3 SYNERGY-324 Removed tabs in SerialKey.h 2020-10-05 16:29:33 +03:00
Serhii Hadzhilov
05a66271a1 SYNERGY-324 Update behaviour when unregistered 2020-10-02 15:34:11 +03:00
Serhii Hadzhilov
71e271db49 #6799 Synergy "Business" edition. Fix sonar issues SYNERGY-315 2020-10-02 10:48:17 +03:00
Serhii Hadzhilov
957ab70170 #6799 Synergy "Business" edition. Update ChangeLog SYNERGY-315 2020-10-02 10:30:24 +03:00
Serhii Hadzhilov
9274f06e3c SYNERGY-315 Synergy "Business" edition 2020-10-02 10:19:13 +03:00
Serhii Hadzhilov
74ae96d0c0 "temp" has been changed to "subscription" 2020-09-28 10:37:10 +03:00
Serhii Hadzhilov
8e96719480 Fix additional sonar issues 2020-09-25 22:18:59 +03:00
Serhii Hadzhilov
2083b66e8e Fix solnar issues 2020-09-25 22:01:17 +03:00
Serhii Hadzhilov
1d43ab0f7c License notise has been corrected. 2020-09-25 21:26:54 +03:00
Serhii Hadzhilov
2a8e696d53 Test code cleanup 2020-09-24 22:27:35 +03:00
Serhii Hadzhilov
371a45d9c8 Preliminary implementation of license key expiry. 2020-09-24 22:11:47 +03:00
Nick Bolton
8dc868a206 #6380 Fixed warnings for VS2017 2018-08-01 13:03:41 +01:00
Dan Sorahan
165bfa3dd6 Fix hex encoding of non-ASCII characters in serial 2017-05-04 12:38:19 +01:00
Andrew Nelless
fedbcb0f3a Remove ../ includes in src/lib 2017-03-09 15:16:08 +00:00
Andrew Nelless
f7b87e0670 Remove version number from gtest/gmock paths 2017-02-09 22:30:42 +00:00
XinyuHou
deea23f866 Apply tab to spaces filter to src folder 2017-02-07 01:24:59 +00:00
Andrew Nelless
020b7974df #5657 Fix trial warning label and serial key serialisation 2016-10-18 15:32:59 +01:00
Andrew Nelless
99dbdc5eb3 #5657 Use SerialKey class in ServerArgs 2016-10-17 17:38:05 +01:00
Andrew Nelless
599415f047 #5657 Only check trial times when using a trial 2016-10-17 17:11:30 +01:00
Andrew Nelless
8b4d7abfb0 #5657 Remove SerialKey::m_valid 2016-10-17 17:08:26 +01:00
Andrew Nelless
c7dc198d82 #5657 Fix SerialKey whitespace 2016-10-17 16:34:44 +01:00
Andrew Nelless
7eefa49c77 #5657 Fix SerialKey construction in unit tests 2016-10-17 16:12:33 +01:00
Andrew Nelless
714b2f6440 #5657 Make trial expiry notification live 2016-10-17 15:26:42 +01:00
Andrew Nelless
3ee9ac5d49 #5657 Remove C++11 enum qualifier 2016-10-15 15:49:36 +01:00
Andrew Nelless
4ad7c7fe39 #5657 Rename edition to activeLicense. WSFs 2016-10-15 15:30:28 +01:00
Andrew Nelless
d244683ac4 #5657 Merge core changes 2016-10-15 12:03:55 +01:00
Andrew Nelless
55414e4581 #5657 Make SubscriptionManager backward compatible 2016-10-14 17:38:31 +01:00
Jerry (Xinyu Hou)
dce4b382e6 #5657 Fixed passing in the raw serial key 2016-10-14 12:43:33 +01:00
Jerry (Xinyu Hou)
33ebe61ef2 #5657 Counted expiring within 1 day as 1 day left 2016-10-14 12:43:01 +01:00
Andrew Nelless
727fc5c220 #5659 Move activation notification to SubscriptionManager 2016-10-14 12:16:23 +01:00
Andrew Nelless
540882056f #5657 Create a global SubscriptionManager instance 2016-10-14 11:59:25 +01:00
Jerry (Xinyu Hou)
719e64dc8f #5657 Added missing dependencies on Linux and Windows 2016-10-13 18:07:21 +01:00
Jerry (Xinyu Hou)
235f528dd9 #5657 Added unit tests for SerialKey 2016-10-13 17:55:38 +01:00
Jerry (Xinyu Hou)
2a452307cd #5657 Fleshed out the implementation of SerialKey 2016-10-13 17:55:09 +01:00
Jerry (Xinyu Hou)
92a885524b #5657 Added temporary implementation for SerialKey 2016-10-13 14:00:19 +01:00
Jerry (Xinyu Hou)
92680b2877 #5657 Extracted shared code between GUI and core 2016-10-13 13:53:09 +01:00