Skip to content

Refactoring and Bug Fixes

Compare
Choose a tag to compare
@tosmun-r7 tosmun-r7 released this 15 Dec 05:18
· 70 commits to master since this release
64e38bd
  • Several bug fixes:
    • A significant change to RequestResponse (all request responses throughout the repository) has been made which performs the necessary alignment before reading the NTCODE as an int. Additionally, the code then checks that all bytes have been read off the wire, otherwise an UnmarshalException is thrown; this is important, as otherwise can not trust that we have read the NTCODE 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
  • 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 place
    • PacketInput.align() and PacketOutput.align() have been removed. Alignment must always be considered by the caller by using align(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