Commit graph

74 commits

Author SHA1 Message Date
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
Nick Bolton
9e2fc6150e
Implement hello back in IPC protocol (#7334)
* Update VS Code config for Windows daemon debugging

* Update CL

* Implement hello back in IPC protocol

* Update CL
2024-01-23 22:20:53 +00:00
Serhii Hadzhilov
d3d7c36f58
SYNERGY3-17 Stop on login screen (#7143)
* SYNERGY3-17 Stop on login screen

* SYNERGY3-17 Fix code smells

* SYNERGY3-17 Update ChangeLog
2022-02-11 11:28:39 +02:00
Ignacio Rodriguez
6656e7337d as per Sonar recommendations 2020-11-03 17:52:56 +07:00
Jerry (Xinyu Hou)
0ef8838e88 #6178 Specifically specify IPv4 for IPC socket 2018-03-21 10:55:02 +00:00
Jerry (Xinyu Hou)
fa82f5cdf3 #6178 Fix compiling error for adding IPv6 for secure socket 2018-03-20 16:05:30 +00:00
Andrew Nelless
b097171c69 #6037 Unitialized and unused members in IPCLogOutputter 2017-05-12 19:38:03 +01:00
Andrew Nelless
7deb5f04f3 #6037 Replaced empty()->clear() mixup 2017-05-12 00:57:46 +01:00
Andrew Nelless
fedbcb0f3a Remove ../ includes in src/lib 2017-03-09 15:16:08 +00:00
Andrew Nelless
0cd45ba1ef Remove unused include paths 2017-03-09 14:18:39 +00:00
Andrew Nelless
4263fd1717 Rename synergy library to synlib to work around conflict with GUI 2017-02-08 15:11:21 +00:00
XinyuHou
deea23f866 Apply tab to spaces filter to src folder 2017-02-07 01:24:59 +00:00
XinyuHou
c31f908fb2 Fix warning in IPC proxy classes 2016-12-07 17:35:52 +00:00
Andrew Nelless
c3c0913633 Update company copyright notice 2016-09-26 11:58:33 +01:00
Jerry (Xinyu Hou)
9d44affc89 Fixed Ipc unit test intermittently fail #4721 2015-07-31 13:56:10 -07:00
Jerry (Xinyu Hou)
c3d38db053 Made buffer thread wait for notify when no gui #4721 2015-07-31 13:55:00 -07:00
Jerry (Xinyu Hou)
5ec9ccc76e Revert "Made buffer thread wait until there is a GUI client #4721"
This reverts commit 9a4327e44236c0ac30809660dc87a97e984dc84f.
2015-07-31 13:52:56 -07:00
Xinyu Hou
afdcb9cefe Made buffer thread wait until there is a GUI client #4721
Conflicts:
	src/lib/ipc/IpcLogOutputter.cpp
2015-07-31 13:49:17 -07:00
Jerry (Xinyu Hou)
7614a21aac Cleared buffer on send instead of write #4721 2015-06-03 14:45:47 -07:00
Jerry (Xinyu Hou)
97bac70fae Stop writing into and clear buffer when no GUI #4721 2015-05-29 16:55:22 -07:00
Nick Bolton
950219b39e Fixed init order warning on Mac #4624 2015-05-20 17:51:52 +01:00
Nick Bolton
561204b2a7 Disabled threading on most IPC logging tests #4624
Threading was making it very hard to reliably run the IPC logging tests
(many timing issues), so I disabled threading for most of the tests.
2015-05-20 17:42:07 +01:00
Nick Bolton
9636af61d6 Solution attempt for timing bugs in write_bufferRateLimit
It's probably better to wait until the buffer is sent, rather than
waiting until its empty. To test the output it has to be sent, but
because of timing, it may be emptied at any point.
2015-05-20 15:51:07 +01:00
Nick Bolton
9f577ca4f3 Added rate limiting to IPC logging #4624 2015-05-18 18:06:58 +01:00
Nick Bolton
b27b236c07 Disabled failing IPC tests for Mac #4651 2015-05-18 16:39:54 +01:00
Nick Bolton
984c5885f7 Fixed Mac build by hacking out mutex close #4651 2015-05-18 16:09:09 +01:00
Nick Bolton
e60b3a6feb Added truncating to IPC log buffer queue #4651
When the IPC log buffer is too large, the oldest log line is removed
when a new log line is added.
2015-05-15 15:04:16 +01:00
Nick Bolton
aac59fbf7e File missing from last commit #4651 2015-05-15 14:44:25 +01:00
Nick Bolton
2e3769c7a6 Added failing test for IpcLogOutputter::write(...) #4651
- Changed behavior of close() to stop the buffer thread
- Fixed code style in IpcLogOutputter.cpp
- Changed MAX_SEND macro to enum
- Added Doxygen @name sections
2015-05-15 14:43:42 +01:00
Nick Bolton
134a15ea8d Modified IpcServer to be mockable #4651
Also started IpcLogOutputterTests
2015-05-14 18:01:39 +01:00
Nigel Armstrong
d71304ee55 Modified header of every file COPYING to LICENSE
Modified to match the updated name of the license file
2015-05-06 22:12:44 -04:00
XinyuHou
f973d1498d dropped prefix C 2015-01-12 10:33:29 +00:00
Xinyu Hou
1aaa55163c Fixed "c" prefix compile error on Windows 2014-11-11 14:50:09 +00:00
Nick Bolton
41d6080028 changed company name in copyright notice 2014-11-11 13:52:03 +00:00
Nick Bolton
e8e156f0e2 dropped "c" prefix from class names 2014-11-11 13:51:47 +00:00
Xinyu Hou
6756296d85 Made daemon take full responsibility for logging #4128 2014-10-27 14:11:43 +00:00
Nick Bolton
abe108195d Task #3953 - Inherit XArch and XBase from std::exception 2014-03-14 18:30:21 +00:00
Nick Bolton
4675f29a4c code style fixes:
- reordered includes to prevent accidental dependencies.
- moved arch specific files into their own folder (easier to include with cmake).
- renamed non-class files to reflect new code style (lower case with underscores).
- using full relative paths for includes (easier for understanding dependencies).
- using #pragma once instead of classic-style header guards.
2014-02-28 12:36:45 +00:00
Nick Bolton
8e74710dad code style: dropped C prefix 2014-02-27 17:45:17 +00:00
Nick Bolton
f11c660efb used glob instead of manually specifying files. cmake does not recommend this, but we always re-run cmake anyway after adding files since we use vs. 2014-02-26 17:46:02 +00:00
Nick Bolton
c44971b43d fixed: warnings on mac os x 2014-02-25 15:03:43 +00:00
Nick Bolton
c368013f13 Patch by Jerry for issue 46:
- Unit test for sending file data from server to client.
- Removed singleton pattern from CSocketMultiplexer for easier unit testing.
- Incremented protocol version from 1.4 to 1.5 (new file chunk message).
- Storing pointer to CConfig instead of copying in CServer (so we can mock it).
- Created a common event queue for testing (timeout, quit event, etc).
- Fixed code style.
2013-07-16 19:02:30 +00:00
Nick Bolton
608074c041 - made unit testing easier by (mostly) removing the event queue singleton.
- fixed code style in many places (mostly indentation).
2013-06-29 14:17:49 +00:00
Nick Bolton
7f6eca9eb4 corrected license and author attribution (cs 2002-2012, nb 2008-2012) 2012-09-04 02:09:56 +00:00
Nick Bolton
268f3a99bb added process elevation support to the relauncher, very experimental, has some bugs. 2012-07-28 02:59:20 +00:00
Nick Bolton
4378e520f0 fixed: on windows xp daemon deadlocks and synergys crashes on startup. also fixed uninitialized ipc program args value (always turning ipc on). moved the event queue further up the stack for (client, server and daemon) so that it's always available (not just in the main loop). 2012-07-14 00:15:07 +00:00
Nick Bolton
764d63a5d5 improved ipc log messages. 2012-07-13 17:34:59 +00:00
Nick Bolton
738c321bae fixed lousy ipc client/server cleanup and shutdown doubled timeout. 2012-07-13 17:08:00 +00:00
Nick Bolton
82d91605fa changed ipc protocol to be more like original synergy protocol (4 byte message codes and better use of protocol util class). 2012-07-11 18:06:10 +00:00