Refactoring and Bug Fixes
- Several bug fixes:
- A significant change to
RequestResponse
(all request responses throughout the repository) has been made which performs the necessary alignment before reading theNTCODE
as an int. Additionally, the code then checks that all bytes have been read off the wire, otherwise anUnmarshalException
is thrown; this is important, as otherwise can not trust that we have read theNTCODE
properly. https://github.com/rapid7/smbj-rpc/pull/120/files#diff-b3db9465b74fdfc84b86eefa791856eaR89 - Refactoring service control services. Correcting defect with dependency marshalling: #119
- Fixes NPE encountered when no members are found within a group: #117
- Resolves NPE while enumerating some responses: #115
- Fixes issue with 0 length null terminated strings: #114
- A significant change to
- New RPC calls:
- SamrLookupIdsInDomain
- Enhancements:
- Reformatting RPCException string: #116
Refactoring:
- Marshalling/Unmarshalling conformance
PacketInput.readString
,PacketOutput.writeString
and related methods have been removed.WChar
has been used in its place.PacketInput.readStringBuffer
,PacketOutput.writeStringBuffer
and related methods have been removed.RPCUnicodeString
has been used in its placePacketInput.align()
andPacketOutput.align()
have been removed.Alignment
must always be considered by the caller by usingalign(Alignment alignment)
.
- All services have been refactored so that they have a clear distinction between RPC level objects, and DTOs. This includes adding DTOs where they were missing
- Adds lots of missing documentation
- Adds lots of missing unit test coverage
- Code styling conformance