I just published an unsigned TiddlySaver.jar to my TW GitHub 
fork<https://github.com/PVHL/tiddlywiki/tree/TiddlySaver1JarAlpha/java>that 
should work for everyone. Jeremy suggested we label this as an Alpha 
until it is tested and signed. A signed version should be coming fairly 
soon, along with a move to Beta status.
 
Recent Java updates broke TiddlySaver because some of the code uses 
instructions that Oracle has now made unavailable to applets. This version 
simply changes an existing flag, turning off the code that checks if the 
file being read or saved is in the same directory, or a subdirectory, of 
the Tiddlywiki file it is running in.
 
The fix works for me in all the browsers I've tested, but does open the 
TiddlySaver applet to potential abuse if one's java policy file is too 
permissive. It is a good idea, therefore, to create a restricted policy 
file for your TW files that specifies which directories the applet can 
write to. Personally, I leave reads wide open and restrict writes to the 
directories I want to be written to. So my policy file (for Windows; see 
the TW notes for *NIX variations), assuming my TW file is in C:\tw, looks 
something like:
 
grant codeBase "file:C:/tw/TiddlySaver.jar" {
    permission java.io.FilePermission "<<ALL FILES>>", "read";
    permission java.io.FilePermission "C:${/}tw${/}*", "write";
};
with an extra write permission line for each additional subdirectory. Not 
ideal, but workable; I'm not aware of a way to include subdirectories, nor 
do I know if this is the best choice for a policy file; frankly, I'm not 
too worried about it, but still don't want to make writes generally 
available Just In Case.
 
I will be rewriting the Java code soon(ish) to re-implement the 'same 
directory' restriction with unblocked instructions. If anyone knows a good 
way to access the applet's directory using the current Java version please 
let me know; my current intent is to make the browser pass in the applet's 
directory as a parameter to either the applet or the Javascript calls, 
though this will obviously break backward compatibility.
 
Cheers, Paul.

-- 
You received this message because you are subscribed to the Google Groups 
"TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/tiddlywiki.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to