Files
UnrealEngineUWP/Engine/Plugins/NetcodeUnitTest
Bart Hawthorne a18ad00d19 Copying //UE4/Dev-Networking to //UE4/Main (Source: //UE4/Dev-Networking @ 3237345)
#lockdown Nick.Penwarden
#rb none

==========================
MAJOR FEATURES + CHANGES
==========================

Change 3156613 on 2016/10/10 by John.Barrett

	Updated NetcodeUnitTest with features for Orion unit tests.

	- Added ActorComponent support for SendRPCChecked

	- Added ability for unit tests to replace UObject's mid-replication, using FScopedNetObjectReplace

	- Added generic way of detecting unit test failure, for unit tests designed to crash servers, through 'SendGenericExploitFailLog' and 'GetGenericExploitFailLog'

	- Fixed short connection timeout for unit tests

	- Fixed broken unit test commandlet

Change 3156627 on 2016/10/10 by John.Barrett

	Added NetcodeUnitTest plugin for Orion, plus an exploit unit test for the ability system struct serialization (based on Luigi's Feb 2016 report).

	- Added unit test 'SetReplicatedTargetData', which triggers a server crash through 'FGameplayAbilityTargetDataHandle::NetSerialize', which allows replicating an arbitrary 'UObject' in place of a 'UScriptStruct' variable, triggering a fatal log. JIRA UNET-398

	- Added unit test 'SetReplicatedTargetData_NetSerialize', which executes a more advanced variation of the above exploit, triggering an assert within UScriptStruct (more closely matching the exploit in Luigi's Feb 2016 report). JIRA UNET-398

Change 3160740 on 2016/10/12 by John.Barrett

	Added an override for NetcodeUnitTest debug log category, to get around a static analysis  error.

Change 3179332 on 2016/10/29 by John.Barrett

	Fixed level collections breaking the unit test net driver, and improved failed-RPC-send error messages.

Change 3179333 on 2016/10/29 by John.Barrett

	Marked unit test issue as fixed.

Change 3187268 on 2016/11/04 by John.Barrett

	Added a new UObject pointer container, TCheckedObjPtr, for use with FArchives.

	This is used to verify that serialized UObjects are derived from the correct base class, to prevent illegal casting.

	#JIRA UENET-398

	#rb John.Pollard

Change 3195591 on 2016/11/11 by John.Barrett

	Added built-in ability for unit tests to require a valid PlayerState, before executing - plus other minor tweaks/bugfixes.

Change 3195600 on 2016/11/11 by John.Barrett

	Added new unit test 'ServerRemoveCard', whiich triggeres a server crash - related to #JIRA UENET-435

	Moved unit test PlayerState precondition from NUTOrion to NetcodeUnitTest.

Change 3199603 on 2016/11/15 by John.Barrett

	Updated reflection code to support setting function parameters.

	Fixed bug where reflection errors during construction were not logged.

Change 3199604 on 2016/11/15 by John.Barrett

	Added new 'ServerAddCard' exploit unit test, for repro'ing an Orion server crash, reported by Luigi in the Aug 2016 security report

	#JIRA UENET-445

Change 3205772 on 2016/11/21 by John.Barrett

	Fixed an issue where Orion RPC's would pass an out of bounds index to GetCardFromIndex - relates to #JIRA UENET-435

Change 3205794 on 2016/11/21 by John.Barrett

	Refactored/simplified the setting of function parameters through reflection, and simplified the triggering of RPC's using reflection, for unit tests.

	The reflection class can now write many variables using the assignment operator, instead of having to retrieve a pointer to the variable first.

Change 3205811 on 2016/11/21 by John.Barrett

	Added two new exploit unit tests for RPC's affected by #JIRA UENET-435, 'ServerUndoAddCard' and 'ServerUndoReplaceCard'.

	Refactored a unit test to use the simplified RPC reflection code, and other minor tweaks.

Change 3206863 on 2016/11/21 by John.Barrett

	Added new exploit unit test 'ServerSendPartyJoinInfo', relating to #JIRA UENET-452

Change 3206864 on 2016/11/21 by John.Barrett

	Fixed exploit where a blank unique net id passed to an RPC, would trigger a nullptr dereference.

	#JIRA UNET-452

Change 3210079 on 2016/11/24 by John.Barrett

	Added new debug command 'AssertDisable *log text*', which intercepts fatal log asserts, and prevents them from crashing the game - useful for unit tests which need to bypass non-shipping 'check' asserts.

Change 3210082 on 2016/11/24 by John.Barrett

	Added new unit test 'ReceiveNetFieldExports', for exploiting a server DoS/freeze attack - relates to #JIRA UENET-460

Change 3219200 on 2016/12/02 by John.Pollard

	Fix UE-39087 - Movement Not Working When Possessing a Player Pawn on Second Client + remove unused code

Change 3223705 on 2016/12/06 by John.Barrett

	Minor unit test tweaks.

	Disabled crash reporting in unit tests; wrapped new/untested UEnum reflection code, for future testing; and updated VAX snippets.

Change 3223708 on 2016/12/06 by John.Barrett

	Added three new unit tests, all variations of the 'ReceiveNetFieldExports' unit test - 'ReceiveNetFieldExports_Alloc', 'ReceiveNetFieldExports_NegArray', and a crash bug/deadlock repro unit test 'ReceiveNetFieldExports_Deadlock'.

Change 3223709 on 2016/12/06 by John.Barrett

	Fixed a nullptr crash on exit from unit test commandlet.

Change 3231408 on 2016/12/12 by Ryan.Gerleve

	Duplicated CL 3202622: Support duplication of UReflectionCaptureComponents that were loaded from cooked data.

	#rb daniel.wright

Change 3233224 on 2016/12/13 by Ryan.Gerleve

	Fix for not updating conditional properties when recording replay checkpoints. Duplicates CL 3233016.

	#rb john.pollard

Change 3233454 on 2016/12/13 by John.Pollard

	Fix potential DDoS

[CL 3237358 by Bart Hawthorne in Main branch]
2016-12-15 17:23:12 -05:00
..