Commit Graph

56 Commits

Author SHA1 Message Date
ReenigneArcher
257a102127
fix(api): return proper json objects (#3544) 2025-01-31 23:38:22 -05:00
Lukas Senionis
0631472533
fix(video): prevent encoder probing with no active displays (#3592) 2025-01-26 18:21:15 -05:00
ReenigneArcher
c2420427b1
style: adjust clang-format rules (#2186)
Co-authored-by: Vithorio Polten <reach@vithor.io>
2025-01-19 22:34:47 -05:00
ABeltramo
89f097ae65
Merge commit from fork
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Co-authored-by: Cameron Gutman <2695644+cgutman@users.noreply.github.com>
2025-01-17 23:17:13 -05:00
Lukas Senionis
76bea8acb9
feat(display): Configure display device based on user config (#3441) 2025-01-07 20:40:48 -05:00
ReenigneArcher
1e2fc2eb10
build(deps): fix boost 1.87 compatibility (#3457) 2024-12-17 08:53:55 -05:00
Cameron Gutman
ca40cfd268
fix(openssl): fix build with OPENSSL_NO_DEPRECATED (#3339) 2024-10-29 19:03:37 -05:00
Cameron Gutman
73d777fa0b
feat(stream)!: remove limit on concurrent sessions and allow quitting apps with active sessions (#3325) 2024-10-24 19:11:50 -05:00
Cameron Gutman
fd7e68457a
Merge commit from fork
PR #2042 introduced another location for storing authorized clients
but did not correctly consider how the load/store logic should differ
for those places. One location (named_devices) could contain clients
which had not completed pairing, while the other (certs) had only
fully paired clients.

Despite differences in trust level of clients in each list, the logic
for loading/saving config treated them identically. The result is that
clients that had not successfully completed pairing would be treated
as fully paired after a state reload.

Fix this state confusion by consolidating to a single location for
authorized client state and ensuring it only contains information on
fully paired clients.
2024-09-09 19:13:54 -05:00
Cameron Gutman
f048510ef7
fix(nvhttp): wrap TLS socket to ensure graceful closure (#3077) 2024-08-25 17:52:48 -04:00
ns6089
bfdfcebc80
feat(win/video): support native YUV 4:4:4 encoding (#2533) 2024-08-16 13:41:27 -04:00
ReenigneArcher
04df80ff6b
feat!: drop advertised resolutions and fps (#2924) 2024-08-08 02:10:19 +00:00
ReenigneArcher
1dd4b68e1c
docs(src): add examples alias and general cleanup (#2763) 2024-06-28 08:34:14 -04:00
Mariotaku
17e0f1a816
feat(audio): custom surround-params (#2424) 2024-05-31 22:50:34 -04:00
Xander Frangos
5fcd07ecb1
Name and unpair individual clients (#2042) 2024-05-27 20:43:08 +00:00
Tejas Rao
7fb8c76590
Use C++20. (#2322) 2024-04-26 15:49:15 -04:00
ReenigneArcher
b7aa8119f1
fix(security): ensure unpairing takes effect without restart (#2365) 2024-04-06 16:39:16 -04:00
ReenigneArcher
8689469ea8
refactor(main): move remaining entry related code (#2127) 2024-02-11 14:15:45 -05:00
Cameron Gutman
65493d09e8 Cloak MAC address from unpaired clients 2024-02-10 13:47:51 -06:00
ReenigneArcher
cd2153f340
refactor(main): move file operation functions to new source (#2124) 2024-02-10 07:37:27 -05:00
ReenigneArcher
1c50bc502b
refactor(main): move map_port to network (#2115) 2024-02-09 09:15:47 -05:00
ReenigneArcher
0aa4f06c39
refactor(logging): separate logging from main (#2110) 2024-02-07 09:59:24 -05:00
Cameron Gutman
3578727ff9 Require RTSP encryption when encryption mode is set to mandatory
This also lets us provide a friendly error to the client when it is rejected.
2024-02-03 15:05:43 -06:00
Cameron Gutman
f80b23750b Implement RTSP encryption support
RTSP encryption is mandatory for client that report core version 1 or later.
2024-02-03 15:05:43 -06:00
Cameron Gutman
ca29eac53a Refactor RTSP handling to be session-based rather than socket-based
This is required to support per-session attributes like encryption keys during RTSP message processing.
2024-02-03 15:05:43 -06:00
Cameron Gutman
2f80145b8e Change crypto::aes_t to variable size and cleanup some crypto code 2024-01-19 18:57:58 -06:00
ReenigneArcher
937d0d810c
fix: add additional pin validation (#2007) 2024-01-13 22:03:49 -05:00
Cameron Gutman
a9f2679a49 Implement new protocol extension to match client connections together
Fixes #1804
Fixes #1862
Fixes #1852
2023-12-30 11:26:53 -06:00
Cameron Gutman
3b9e37e1dd
Don't hardcode the signature length to RSA-2048 (#1872) 2023-11-30 23:51:45 -06:00
Elia Zammuto
329620dc1a Removed legacy pairing method 2023-10-15 14:00:34 -05:00
Elia Zammuto
dc967ccc7b
Event Ballons and Tray Icon improvements (#1561)
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
2023-09-15 20:48:51 -04:00
Cameron Gutman
62a5cd959a Implement IPv6 support 2023-08-27 18:12:02 -05:00
Cameron Gutman
69e720b44b Implement AV1 support 2023-08-19 18:36:48 -05:00
Chase Payne
06a6d94e87 removing debug code left from another commit 2023-08-15 18:37:24 -05:00
Chase Payne
2c953a3ce7 bugfix: fixed a bug that caused SUNSHINE_CLIENT_HDR to always be false 2023-08-15 18:37:24 -05:00
Django
43463a9d1e
Add default_value parameter to get_env for use in make_launch_session (#1490) 2023-08-01 23:08:45 -04:00
Elia Zammuto
3b2a098640
Expose Connection environment variables to the app start (#1430)
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
2023-07-29 14:21:58 -04:00
Cameron Gutman
25e0244705 Stop reporting ExternalIP field to clients
At best, it doesn't help compared to Moonlight's STUN logic.

At worst, it makes things worse by providing an incorrect WAN address that overrides STUN.
2023-05-22 22:53:36 -05:00
Cameron Gutman
8a9eed2f6f Fix leak of X509 on each HTTPS request 2023-05-22 19:44:04 -05:00
Cameron Gutman
4ae412b219 Allow localAudioPlayMode to change on /resume
Newer clients send all /launch parameters to /resume too
2023-05-08 18:57:55 -05:00
Cameron Gutman
ccdc882c13 Fix pessimising move warning with GCC 13.1 2023-05-08 18:57:55 -05:00
ReenigneArcher
4ca6dc6c8e
docs: update file level doxygen blocks (#1258) 2023-05-07 18:12:39 -04:00
ReenigneArcher
979f7f4e60
docs: improvements to source code documentation (#1236) 2023-05-07 15:01:44 -04:00
Cameron Gutman
020d5cd8c3 Add status messages for client errors 2023-05-05 23:14:04 -05:00
Cameron Gutman
6a3b7708bb Remove unnecessary uniqueid check for /applist
We already perform access control via client certificates
2023-05-05 23:14:04 -05:00
Cameron Gutman
b59b885dbd Fix pairing error handling when the hash doesn't match
We shouldn't proceed to signature verification if we already failed hash verification
2023-05-05 23:14:04 -05:00
Cameron Gutman
d33bd00bb4 Fix HEVC mode if the encoder changes 2023-04-16 15:53:02 -05:00
Cameron Gutman
6467e10def Reprobe encoders each time streaming begins
Available encoders can change due to driver updates, GPU hotplugging, primary monitor changes, etc.
2023-04-11 20:21:18 -05:00
ReenigneArcher
21eb4eb6dd
clang: adjust formatting rules (#1015) 2023-03-27 21:45:29 -04:00
ReenigneArcher
6d54356166
logging: change client verified messages to debug (#1020) 2023-03-10 09:05:52 -05:00