Skip to content

Releases: nmggithub/Kass

Release 3.2.2

22 Nov 16:16
Compare
Choose a tag to compare

NOTE: This includes a breaking change for the doRoutine function on MIGClient (see 7fafd0e). Specifically, the on parameter is renamed to the more sensible replyPort. As this breaking change only would affect a vast minority of use cases (if anyone is even using that parameter at all, instead of relying on the default), I chose to make this a patch change instead of jumping up to v4. My apologies if you were using that parameter!

Also, MIGPayloadWithOnlyNDR is now a payload that can be used.

Happy hacking!

Release 3.2.1

18 Oct 22:00
Compare
Choose a tag to compare

Fixed an inverted guard statement.

Release 3.2.0

18 Oct 16:04
Compare
Choose a tag to compare

Added sysctl setters.

Release 3.1.0

13 Oct 23:46
Compare
Choose a tag to compare

Added kextRequestWithLogging to Mach.Host. Have fun!

Release 3.0.2

13 Oct 17:58
Compare
Choose a tag to compare

Another minor bug fix. Now you can get the ioMain special port without needing a privileged host port.

Release 3.0.1

09 Oct 17:59
Compare
Choose a tag to compare

Quick little bug fix when it comes to serializing Mach messages. The message size in the serialized header would not be set (see commit for details).

Release 3.0.0

07 Oct 04:52
Compare
Choose a tag to compare

New major release!

This library is now more namespace-y, for better or for worse (it was definitely for worse before I got to this release version!).

Honestly, there's so much that has changed, you should probably take a look at documentation to get a better picture. But for a quick rundown:

  • The new MachCore module now supports so much more. Most Mach API's are now supported (Virtual Memory API to come!)
  • Documentation is now much better but obviously still could improve.
  • Preliminary BSD kernel API support is available through the BSDCore module
  • The CCompat module is gone in favor of built-in Swift features

Where this library started, Mach messages, is still fully functional, albeit slightly refactored. Check the documentation for more details!

I'm so happy I got this out!

Release 2.0.0

09 Aug 05:06
Compare
Choose a tag to compare

New major release! We should be good to go for Swift 6's new concurrency requirements.

Important Changes:

  • The libSystem constant is now a libSystem() function
  • MachConnection has been renamed to MachMessaging, and all its methods are now static
  • A new MachConnection class has been defined to be a subclass of MachMessaging, but with a connectionPort property and an associated initializer
  • ServiceConnection has now been changed to be a subclass of this new MachConnection, while adding an initializer that takes in a service name
  • All initializers that used a first parameter that started with "with" have had their first first parameters renamed to remove the "with"
  • Mach Messages can now have a descriptor count of 0 and still have the MACH_MSGH_BITS_COMPLEX bit set (this probably shouldn't be possible for legitimate messages, but I'm keeping it in just so we can do it if we want)
  • Framework now includes an initializer that accepts a custom path for the framework
  • Bits and Descriptors now conform to RawRepresentable (some API changes, see docs)
  • Library now has a .link() method to link the library without having to assign it to a value
  • Library has new, experimental, .get(symbol:atExpectedAddress:...) method
  • MachMessage now includes getPayloadData and setPayloadData methods
  • And probably more (check the commit history)

Better documentation to come soon, hopefully!

Release 1.0.2

19 Jul 06:58
Compare
Choose a tag to compare

Documentation now lives on Swift Package Index!

Also added a buffer clean up method to handle edge cases with re-used buffers.

Release 1.0.1

11 Jul 16:37
Compare
Choose a tag to compare

Commenting out unsafe flags until I figure out a solution :(