Mercurial Hosting > luan
diff src/luan/modules/JavaLuan.java @ 1330:f41919741100
fix security
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Mon, 11 Feb 2019 01:38:55 -0700 |
parents | 9fa8b8389578 |
children | 25746915a241 |
line wrap: on
line diff
--- a/src/luan/modules/JavaLuan.java Sun Feb 10 02:01:49 2019 -0700 +++ b/src/luan/modules/JavaLuan.java Mon Feb 11 01:38:55 2019 -0700 @@ -28,8 +28,8 @@ public final class JavaLuan { public static void java(LuanState luan) throws LuanException { - check(luan); - luan.javaOk.ok = true; + Luan.checkSecurity(luan,"java"); + luan.peek().javaOk = true; } public static final LuanFunction javaFn; @@ -42,7 +42,7 @@ } private static void checkJava(LuanState luan) throws LuanException { - if( !luan.javaOk.ok ) + if( !luan.peek().javaOk ) throw new LuanException("Java isn't allowed"); } @@ -472,26 +472,5 @@ } */ - - - // security - - public interface Security { - public void check(LuanState luan,String name) throws LuanException; - } - - private static String SECURITY_KEY = "Java.Security"; - - static void check(LuanState luan) throws LuanException { - Security s = (Security)luan.registry().get(SECURITY_KEY); - if( s!=null ) { - String name = LuanException.currentSource(); - s.check(luan,name); - } - } - - public static void setSecurity(LuanState luan,Security s) { - luan.registry().put(SECURITY_KEY,s); - } - + private void JavaLuan() {} // never }