Jonathan Barrow
ff1d3b1482
prudp: rename packet flags to distinguish them from other constants
2024-03-15 18:25:46 -04:00
Jonathan Barrow
a1a590392b
chore: move constants and enums to constants package
2024-03-15 16:09:23 -04:00
Jonathan Barrow
ab069f3410
chore: formatting
2024-03-15 13:17:00 -04:00
PabloMK7
652dbecf48
Use more fields from StreamSettings
2024-03-05 19:30:53 +01:00
Daniel López Guimaraes
cdcc2bbb9d
prudpv1: Add PRUDPV1Settings
...
Adds setting for controlling legacy connection signature calculation,
needed for some games like Luigi's Mansion 2.
2024-02-24 00:18:49 +00:00
Jonathan Barrow
582bcab984
prudp: fix ineffectual assignment to err in PRUDPServer
2024-02-20 15:21:24 -05:00
Jonathan Barrow
88a2d4bbac
rmc: add a way to enable verbose RMC messages
2024-02-18 22:35:08 -05:00
Daniel López Guimaraes
3b90bdc96b
refactor: Update ServerInterface to EndpointInterface
...
This requires a lot of refactor but it brings back the option of getting
events when a connection disconnects.
2024-02-11 00:03:05 +00:00
Jonathan Barrow
191455352a
update: added RegisterServiceProtocol to HPP and PRUDP servers
2024-01-24 16:40:38 -05:00
Jonathan Barrow
f1549a79ca
prudp: removed unnecessary getters/setters
2024-01-24 13:08:49 -05:00
Jonathan Barrow
64b26b3eed
prudp: rework Kerberos ticket generation to use user accounts properly
2024-01-24 12:42:11 -05:00
Jonathan Barrow
6697eec1f8
prudp: change PRUDPServer variable name
2024-01-15 17:56:49 -05:00
Jonathan Barrow
ee2bca04df
prudp: add events back to PRUDPServer
2024-01-15 17:55:35 -05:00
Jonathan Barrow
8dba91974d
Apply suggestions from code review
...
Co-authored-by: Daniel López Guimaraes <112760654+DaniElectra@users.noreply.github.com>
2024-01-15 16:32:57 -05:00
Jonathan Barrow
a63ca441a9
encryption: added QuazalRC4
2024-01-15 15:07:57 -05:00
Jonathan Barrow
9cec5d9e9c
prudp: completely redo virtual connections
2024-01-15 15:01:26 -05:00
Jonathan Barrow
84dd859e17
prudp: added PRUDPV0Settings
2024-01-01 00:50:45 -05:00
Jonathan Barrow
bdfeb0b5a8
streams: added ByteStreamSettings
2023-12-31 23:51:18 -05:00
Jonathan Barrow
fc1da5b833
prudp: use real Buffer type in connection check
2023-12-31 23:29:16 -05:00
Jonathan Barrow
1093a614db
streams: rename streams to ByteStreams
2023-12-31 23:22:41 -05:00
Daniel López Guimaraes
34fa2d53de
types: Replace type aliases with struct wrappers
...
Also remove StructureInterface, and make all structures initialize all
their fields. The structure header is now added as a common function
`ExtractHeaderFrom` and `WriteHeaderTo`.
2023-12-27 22:16:06 +00:00
Jonathan Barrow
793664257a
types: remove unused generic from PID type
2023-12-23 15:21:22 -05:00
Jonathan Barrow
919cabda7d
types: added constructor values to primitive types
2023-12-23 15:01:55 -05:00
Jonathan Barrow
715e3182cd
expanded all types into dedicated files and made the stream API generic
2023-12-23 13:03:32 -05:00
Jonathan Barrow
f2562bd26c
rmc: pass server to RMC messages
2023-12-15 17:02:19 -05:00
Jonathan Barrow
ce2e746e96
prudp: support LZO compressed payloads
2023-12-15 16:54:52 -05:00
Jonathan Barrow
95e8f79957
prudp: fix payload compression exports
2023-12-14 17:39:52 -05:00
Jonathan Barrow
ffaf7278eb
prudp: export payload compression methods to support custom compression
2023-12-14 17:17:44 -05:00
Jonathan Barrow
30d9545c61
configure the size of the Quazal::String length field
2023-12-13 20:05:11 -05:00
Jonathan Barrow
71f8d86296
prudp: added PRUDPv0CustomChecksumCalculator to PRUDPServer
2023-12-13 19:55:50 -05:00
Jonathan Barrow
89af63e3d4
prudp: validate virtual port being connected to
2023-12-13 19:51:05 -05:00
Jonathan Barrow
a64a555520
prudp: swap WebSocket libraries
2023-12-12 04:32:34 -05:00
Jonathan Barrow
99c37d3df2
prudp: experimental WSS and PRUDPLite support
2023-12-11 00:22:19 -05:00
Daniel López Guimaraes
a210ae62c3
prudp: Use client session ID as server session ID
2023-12-10 19:31:15 +00:00
Daniel López Guimaraes
5c4004413c
qrv: Add EnhancedChecksum option
...
Quazal Rendez-Vous supports both 1 byte and 4 byte checksums. Add a
toggle to enable the 4 byte checksum.
2023-12-10 14:09:40 +00:00
Daniel López Guimaraes
3bb9c3fca2
Update PasswordFromPID error to NotImplemented
2023-12-10 11:32:26 +00:00
Jonathan Barrow
35c2afce1a
prudp: handle edge cases for virtual ports
2023-12-09 19:46:05 -05:00
Jonathan Barrow
3ee001f878
prudp: rename PasswordFromPIDFunction to PasswordFromPID
2023-12-09 19:35:46 -05:00
Daniel López Guimaraes
a7564f5555
Add PasswordFromPID to ServerInterface
...
This function handler is common to all servers.
2023-12-09 21:03:31 +00:00
Jonathan Barrow
0ac073d2c8
prudp: update default number of server vports
2023-12-08 16:25:54 -05:00
Jonathan Barrow
1970b2a73e
prudp: support server vports and move client vport to discriminator
2023-12-08 16:08:27 -05:00
Daniel López Guimaraes
109fd47a19
prudp: Virtual connections now use source port
2023-12-08 11:06:21 +00:00
Jonathan Barrow
7b7b9c59d7
prudp: add support for virtual connections
2023-12-08 01:24:57 -05:00
Daniel López Guimaraes
1b91bb1c22
qrv: Extend insecure crypto to all servers
...
All Quazal servers seem to use insecure encryption, including "secure"
servers.
2023-12-06 16:48:40 +00:00
Jonathan Barrow
5c3039ec7e
qrv: support insecure PRUDP station crypto
2023-11-23 11:19:24 -05:00
Jonathan Barrow
73921dbc36
qrv: handle unreliable DATA packets
2023-11-21 16:34:41 -05:00
Jonathan Barrow
4967d1c7c8
qrv: check err from zlibReader
2023-11-21 12:19:01 -05:00
Jonathan Barrow
3f3c11597e
qrv: packet payload compression (needs testing)
2023-11-21 12:08:40 -05:00
Jonathan Barrow
ca1be76ffc
removed remaining linter issues
2023-11-20 18:25:39 -05:00
Daniel López Guimaraes
47fd1e1be6
Fix some linting issues
2023-11-20 22:50:18 +00:00