Open StandingPadAnimations opened 2 years ago
Two things I just thought of:
Otherwise, this list looks good! I will post here if I think of anything else.
We have a series of 0.1.x versions already, so it looks like we will need to use 0.2.x for the alpha versions instead
A mechanism for extcall callbacks to put data into the VM (perhaps via a special register, or by pushing to the stack?)
Forgot about that, thanks for reminding me. I think we'll just push to the stack, since we already do that for arguments
Oh yeah @dynafide, don't forget to add yourself to the authors section of Cargo.toml
, I'll add that to the checklist
One more thing: we need to go over the documentation of the internals and make it more consistent. The format for most things is as follows:
Description
arg (`Type`): description of what the argument is
codeblock-
example rust code
-codeblock
Ok so there's a security issue in Resurgence, though I'm not sure if we should make a separate issue tracking it since it may be unfixable
So it seems to be possible for an API function to create an interpreter instance and execute arbitrary code. RunTimeSeal can't do much, as it's a per-instance thing.
Alright, I've added Rust support for dropping values on the stack. Now we just need the C wrappers
One important thing: guarantee exception safety for the FFI, as the Rust standard library can still throw exceptions
This checklist is the stuff left for the first alpha release of Resurgence:
Cargo.toml
- [x] Make sureEDIT:RunTimeSeal
can catch most if not all attempts of tampering the runtime (this will definitely not be finished by the first alpha, but we can try our best)RunTimeSeal
will be removed as it doesn't bring much benefitFrameAlloc
andFrameFree
@dynafide anything else we need to check off before we release alpha 0.2.0?