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