[kaffe] RFC: Verifier API (was: 1.1.0 development release + ideas)

Dalibor Topic robilad at yahoo.com
Fri Jul 5 03:45:16 PDT 2002


Hi Jim,

I'd like to see more flexibility regarding
verification.

* A class kaffe.verifier.VerifierManager.
* A property kaffe.verifier
* An interface kaffe.verifier.VerifierPlugin
* A set of classes for supported verifiers that
implements kaffe.verifier.VerifierPlugin

VerifierPlugin declares a method 
boolean verify(byte[] class_data, int pass).

When it's initialized, VerifierManager checks a
property kaffe.verifier for the verifier plugin class
to load.

Kaffe's system class loader should upon loading a
class call the VerifierManager.verify(byte[]
class_data) method. Verify would call the method
verify(byte[] class_data, int pass) in the loaded
verifier plugin and return its result.

There would be verifier plugin classes for kaffe's own
verifier, justIce, jode, sun's javaverify etc. They
would invoke the underlying verifier with appropriate
parameters.

(Kaffe's own verifier plugin would of course invoke
the C code in the virtual machine.)

What's so good about it:
* it turns kaffe into a nice platform for verifier
research & implementation.
* it offers more verifier options. 
* with justIce being a full verifier implementation,
kaffe can be integrated into mozilla more safely.

What's bad about it:
* it could turn attention away from backporting
pocketlinux verifier to kaffe (which is better than
the one kaffe has now, but still not a full verifier,
as far as I know).
* pure java verifiers may not be as fast as C
implementations.

regards,

dalibor topic

__________________________________________________
Do You Yahoo!?
Sign up for SBC Yahoo! Dial - First Month Free
http://sbc.yahoo.com




More information about the kaffe mailing list