David Haley said: But this is very difficult to control without doing a whole lot of (error-prone) work to wrap all of the scripting language's IO functions.
I was talking mostly about the MUSHclient API itself, not the scripting language's libraries. SaveNotepad(), DatabaseOpen(), etc etc.
David Haley said: It'd be easier to give APIs that access "MUSHclient data files" without actually giving paths etc., rather than trying to have normal IO but only to a special directory.
I pointed this out to someone else recently, actually. On a related note, I'd prefer that MUSHclient treat worlds more as "profiles" than as "world files", and have the script file as part of the world file itself (and editable from the configuration menus). But that's another topic altogether.
David Haley said: EDIT: also I'm not sure why this level of security is needed in the first place? Plugins are open-source, so it's not like you can't check them out before using them. And ye average user, who doesn't read code, isn't necessarily going to know to deal with the security settings in the first place, either.
I suggested a "plugin permissions" option/dialog a while back, to make it as easy as checking a checkbox. Much easier than reading code, and easy to add instructions to do. |