GET_DYNAMIC_INFO deserialization fails with macOS Native protocol
Deserialization of GET_DYNAMIC_INFO depends solely on the contents/length of command_specific_data. As the macOS Native protocol apparently ignores control_data_length and instead returns the whole frame's tail as command_specific_data this fails. Deserialization will have to be a bit more lax to get this working.
This issue is more problematic than it seems. The control_data_length field is used in many payloads to detect the version of a command/response. I create a feedback ticket on Apple's side, there isn't much I can do right now as the buffer returned by the framework is not truncated at all in case of padding for example. The good thing is currently, the library will detect it when sending the "check for GET_DYNAMIC_INFO support" command and trigger an exception, thus not using it (ie. not crashing).
Let's see if Apple does something about it, I'm pretty sure it can be fixed on the SDK side, meaning that once it's available I can use it and it should work for all macOS versions.