75 Commits

Author SHA1 Message Date
Cameron Gutman
432c2e226c Monitor for name changes too to detect deletion of the NvStream subkey 2023-08-25 23:33:54 -05:00
Cameron Gutman
6d5d83d420 Avoid deleting Sunshine's UPnP port mappings 2023-05-27 22:26:08 -05:00
Cameron Gutman
8f011440b4 Redirect stdout to NUL if the log file can't be opened 2022-04-16 21:28:28 -05:00
Cameron Gutman
771e34f199 Revert "Don't crash if the log file can't be opened"
We don't have a stdout to _dup2() into when run as a service.

This reverts commit e9ddf91157a8903128d3030acd9985eb3c98a755.
2022-04-16 21:27:11 -05:00
Cameron Gutman
e9ddf91157 Don't crash if the log file can't be opened 2022-04-16 12:47:33 -05:00
Cameron Gutman
28a5935ee7 Get rid of NL macro 2022-04-16 11:56:26 -05:00
Cameron Gutman
0f3506a92c Update toolset to VS 2022 2022-04-16 11:39:16 -05:00
Cameron Gutman
9772139229 Print UPnP root desc URL in logs 2021-02-01 19:41:14 -06:00
Cameron Gutman
a88b8d0d04 Enable CFG and CET for MISS and MIST 2021-02-01 19:26:14 -06:00
Cameron Gutman
4d197cae02 Improve performance and reliability when stopping MISS 2020-11-29 22:25:27 -06:00
Cameron Gutman
ebe91d6799 Update project build files for the new DLLs 2020-11-29 14:51:41 -06:00
Cameron Gutman
f511b830ea Handle deletion of the 'HKLM\Software\NVIDIA Corporation' key 2020-10-10 13:35:05 -05:00
Cameron Gutman
a19b95f259 RFC6887 says PCP max packet size is 1100 bytes 2020-10-10 12:00:48 -05:00
Cameron Gutman
8066cf4be1 Avoid extra GameStream state prints when the state isn't changing 2020-10-10 11:37:42 -05:00
Cameron Gutman
308cd0dd00 Use dynamically allocated buffer for GetAdaptersAddresses() 2020-09-07 10:14:54 -07:00
Cameron Gutman
51ae1c8770 Fix socket errors being clobbered by closesocket() 2020-08-28 18:46:36 -07:00
Cameron Gutman
dbf43ac7a1 Don't attempt to relocate WoL port 9 2020-08-14 17:54:48 -07:00
Cameron Gutman
893aa76c9c Replace hardcoded constant with #define 2020-08-14 17:52:59 -07:00
Cameron Gutman
21d8c71a2c Log the internal port for the UPnP mappings 2020-08-14 17:51:06 -07:00
Cameron Gutman
41ef072c9b Validate the port number of loopback traffic 2020-08-14 17:48:55 -07:00
Cameron Gutman
53246bd4c5 Don't redirect stdout for standalone exe invocation 2020-08-14 17:48:14 -07:00
Cameron Gutman
944c8993e8 Elevate priorities for the UDP relay threads 2020-08-11 01:12:48 -07:00
Cameron Gutman
b6508d9024 Remove superfluous select() call 2020-08-11 00:59:13 -07:00
Cameron Gutman
05413a554c Work around IGDs that deduplicate entries based on the internal port
This is a violation of the UPnP IGD specification but we can relay through an alternate port as a workaround.
2020-08-10 21:16:21 -07:00
Cameron Gutman
5f015acdaa Improve robustness for broken UPnP IGDs 2020-08-09 16:01:39 -07:00
Cameron Gutman
df286ef56d Use indefinite mappings if the IGD returns unexpected error codes 2020-08-09 15:30:48 -07:00
Cameron Gutman
47d60b9f24 Leave permanent mappings alone during the update cycle 2020-08-09 15:16:05 -07:00
Cameron Gutman
659d3aea23 Open UDP 47009 for WoL
It may work where UDP 9 fails because it's an unprivileged port
2020-08-09 14:00:14 -07:00
Cameron Gutman
b37b99e9c3 Remove the "buggy router" warning that was actually caused by a libnatpmp bug 2019-09-28 14:03:32 -07:00
Cameron Gutman
6f3898e4b4 Untabify source 2019-07-28 13:25:51 -07:00
Cameron Gutman
51dc3142ca Retarget to VS2019 2019-07-13 11:29:55 -07:00
Cameron Gutman
204dde8a73 Avoid attempting to delete UPnP rules if the description doesn't match 2019-04-05 00:39:27 -07:00
Cameron Gutman
1bc6cc5634 Fix log rotation 2019-03-28 19:42:09 -07:00
Cameron Gutman
0941cc5bc1 Set additional version attributes 2019-03-28 19:41:14 -07:00
Cameron Gutman
a7e41d15f5 Add UTC time prefix to logs 2019-03-28 19:37:46 -07:00
Cameron Gutman
3c92a79fe2 Fix parsing bug handling empty SSDP headers 2019-01-04 23:02:07 -08:00
Cameron Gutman
18b704b85a Use moonlight-stream.org instead of google.com to avoid issues in China 2019-01-04 19:22:46 -08:00
Cameron Gutman
218c0d7385 Increase SSDP UDP socket recv buffer size 2018-11-30 00:32:57 -08:00
Cameron Gutman
e7f03cfa93 Add missing check for PCP version 2018-11-29 23:57:14 -08:00
Cameron Gutman
c7565256b5 Add support for PCP on the first hop 2018-11-20 18:09:28 -08:00
Cameron Gutman
3145d34381 Print computer name when looking for mappings 2018-11-20 17:12:30 -08:00
Cameron Gutman
c6837c95f1 Remove IPv6 UPnP code from MISS 2018-11-20 17:12:13 -08:00
Cameron Gutman
23ef57c20f Remove echo port from WOL list to avoid possible reflection from internal network hosts 2018-11-18 10:58:58 -08:00
Cameron Gutman
e7b5b07c4a Several minor bugfixes from final pre-release testing 2018-11-10 00:21:01 -08:00
Cameron Gutman
732b430da8 Implement best-effort forwarding for Wake-on-LAN 2018-11-09 17:06:31 -08:00
Cameron Gutman
5aea5aedab Ensure IPv6 PCP requests come from the correct address by explicitly binding 2018-11-08 19:46:43 -08:00
Cameron Gutman
92eeadadca Use PCP for mapping on CGNs 2018-11-08 19:19:18 -08:00
Cameron Gutman
e7e37b8dfb Use a per-server PCP nonce to fix unmapping 2018-11-08 18:09:27 -08:00
Cameron Gutman
3906de1a3a Initial PCP implementation (not fully tested) 2018-11-07 22:06:40 -08:00
Cameron Gutman
c47014887a Avoid making duplicate NAT-PMP requests to a UPnP gateway that was disconnected 2018-11-07 21:13:27 -08:00