Mercurial Hosting > luan
comparison src/luan/modules/IoLuan.java @ 1444:b765f146f4dc
add dns_lookup
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Wed, 05 Feb 2020 08:16:15 -0700 |
parents | 836e00bf7ce2 |
children | 580ee513a4b7 |
comparison
equal
deleted
inserted
replaced
1443:42c07ecb0ddc | 1444:b765f146f4dc |
---|---|
26 import java.net.MalformedURLException; | 26 import java.net.MalformedURLException; |
27 import java.net.UnknownHostException; | 27 import java.net.UnknownHostException; |
28 import java.nio.file.Files; | 28 import java.nio.file.Files; |
29 import java.util.Enumeration; | 29 import java.util.Enumeration; |
30 import java.util.Map; | 30 import java.util.Map; |
31 import javax.naming.NamingException; | |
32 import javax.naming.NameNotFoundException; | |
33 import javax.naming.directory.Attribute; | |
34 import javax.naming.directory.InitialDirContext; | |
31 import luan.Luan; | 35 import luan.Luan; |
32 import luan.LuanTable; | 36 import luan.LuanTable; |
33 import luan.LuanFunction; | 37 import luan.LuanFunction; |
34 import luan.LuanException; | 38 import luan.LuanException; |
35 import luan.modules.url.LuanUrl; | 39 import luan.modules.url.LuanUrl; |
671 } | 675 } |
672 } | 676 } |
673 return tbl; | 677 return tbl; |
674 } | 678 } |
675 | 679 |
680 public static LuanTable dns_lookup(Luan luan,String domain,String type) | |
681 throws NamingException | |
682 { | |
683 LuanTable tbl = new LuanTable(luan); | |
684 InitialDirContext idc = new InitialDirContext(); | |
685 Attribute attribute; | |
686 try { | |
687 attribute = idc.getAttributes("dns:/" + domain, new String[] {type}).get(type); | |
688 } catch(NameNotFoundException e) { | |
689 return tbl; | |
690 } | |
691 if( attribute==null ) | |
692 return tbl; | |
693 final int n = attribute.size(); | |
694 for( int i=0; i<n; i++ ) { | |
695 Object obj = attribute.get(i); | |
696 tbl.rawInsert(i+1,obj); | |
697 } | |
698 return tbl; | |
699 } | |
700 | |
676 | 701 |
677 private static void check(Luan luan,String name) throws LuanException { | 702 private static void check(Luan luan,String name) throws LuanException { |
678 Luan.checkSecurity(luan,"uri",name); | 703 Luan.checkSecurity(luan,"uri",name); |
679 } | 704 } |
680 | 705 |