diff src/luan/modules/IoLuan.java @ 1330:f41919741100

fix security
author Franklin Schmidt <fschmidt@gmail.com>
date Mon, 11 Feb 2019 01:38:55 -0700
parents 15af473045c4
children 25746915a241
line wrap: on
line diff
--- a/src/luan/modules/IoLuan.java	Sun Feb 10 02:01:49 2019 -0700
+++ b/src/luan/modules/IoLuan.java	Mon Feb 11 01:38:55 2019 -0700
@@ -28,6 +28,7 @@
 import java.nio.file.Files;
 import java.util.Enumeration;
 import java.util.Map;
+import luan.Luan;
 import luan.LuanState;
 import luan.LuanTable;
 import luan.LuanFunction;
@@ -640,44 +641,24 @@
 		}
 	}
 
-	public static LuanTable my_ips(LuanState luan) throws IOException {
+	public static LuanTable my_ips(LuanState luan) throws IOException, LuanException {
 		LuanTable tbl = new LuanTable(luan);
 		for( Enumeration<NetworkInterface> e1 = NetworkInterface.getNetworkInterfaces(); e1.hasMoreElements(); ) {
 			NetworkInterface ni = e1.nextElement();
 			for( Enumeration<InetAddress> e2 = ni.getInetAddresses(); e2.hasMoreElements(); ) {
 				InetAddress ia = e2.nextElement();
 				if( ia instanceof Inet4Address )
-					tbl.rawPut(ia.getHostAddress(),true);
+					tbl.put(ia.getHostAddress(),true);
 			}
 		}
 		return tbl;
 	}
 
 
-	// security
-
-	public static void unrestricted(LuanState luan) throws LuanException {
-		JavaLuan.check(luan);
-		luan.javaOk.unrestrictedIo = true;
-	}
-
-	public interface Security {
-		public void check(LuanState luan,String name) throws LuanException;
+	private static void check(LuanState luan,String name) throws LuanException {
+		Luan.checkSecurity(luan,"uri",name);
 	}
 
-	private static String SECURITY_KEY = "Io.Security";
-
-	private static void check(LuanState luan,String name) throws LuanException {
-		if( luan.javaOk.unrestrictedIo )
-			return;
-		Security s = (Security)luan.registry().get(SECURITY_KEY);
-		if( s!=null )
-			s.check(luan,name);
-	}
-
-	public static void setSecurity(LuanState luan,Security s) {
-		luan.registry().put(SECURITY_KEY,s);
-	}
 
 	private void IoLuan() {}  // never
 }