Changeset 2196

Show
Ignore:
Timestamp:
05/28/08 13:18:00 (6 months ago)
Author:
apatel
Message:

Removed the intermediate file generation tests from the Compiler and put them in the new Test file. Currently it only has fnet generator test case.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/framework-plugin/src/com/tresys/framework/compiler/Compiler.java

    r2184 r2196  
    3030import com.tresys.framework.compiler.dictionary.DictionaryValidator; 
    3131import com.tresys.framework.compiler.linkage.Linkage; 
    32 import com.tresys.framework.compiler.linkage.net.Endpoint; 
    3332import com.tresys.framework.compiler.linkage.net.FNETParser; 
    34 import com.tresys.framework.compiler.linkage.net.NetConnection; 
    35 import com.tresys.framework.compiler.linkage.net.NetResource; 
    36 import com.tresys.framework.compiler.linkage.net.NetSystem; 
    3733import com.tresys.framework.compiler.linkage.net.NetworkConfig; 
    38 import com.tresys.framework.compiler.linkage.net.Token; 
    3934import com.tresys.framework.compiler.mls.MLSInitializationException; 
    4035import com.tresys.framework.compiler.mls.MLSSupport; 
     
    4237import com.tresys.framework.compiler.policy.PolicyValidator; 
    4338import com.tresys.framework.compiler.policy.SystemResourceValidator; 
    44 import com.tresys.framework.compiler.systemResources.NetworkInfo; 
    4539import com.tresys.framework.compiler.systemResources.SystemResources; 
    4640import com.tresys.framework.compiler.translator.NetworkIPSec; 
     
    8478        // verbose output and warning default values 
    8579        static boolean debug = false; 
    86          
    87         static boolean generate_fnet_file = false; 
    8880 
    8981        // an interface file name that holds customization 
     
    9688        static String netConfigFilename = null; 
    9789         
    98         static String fNetFileName = null; 
    99          
    100          
    10190        private static void getOpt (String[] args) 
    10291        { 
     
    315304                                } 
    316305                        } 
    317                         else if (args[x].equals ("-fnetgeneration")) 
    318                         { 
    319                                 x++; 
    320                                 if (x < args.length) 
    321                                 { 
    322                                         generate_fnet_file = true; 
    323                                         fNetFileName = args[x];  
    324                                 } 
    325                                 else 
    326                                 { 
    327                                         printUsage (); 
    328                                         System.exit (1); 
    329                                 } 
    330                         } 
    331306                        else 
    332307                        { 
     
    335310                        } 
    336311                } 
    337                  
     312 
    338313                // always require policy.conf 
    339314                if (flaskPath == null) 
     
    459434                getOpt (args); 
    460435 
    461                 if( generate_fnet_file ) 
    462                 { 
    463                         FnetGenerationTest (); 
    464                         return; 
    465                 } 
    466                  
    467436                // load libselinuxjava.so 
    468437                if (debug) 
     
    474443                Utility.SetProjectErrorHandler (new CLIProjectErrorHandler ()); 
    475444 
    476                  
    477445                MLSSupport mlsSupport = null; 
    478446                try 
     
    880848                System.exit (1); 
    881849        } 
    882          
    883         /** 
    884          * Generate a fnet file from in memory data structure. 
    885          */ 
    886         public static void FnetGenerationTest() 
    887         { 
    888                 NetworkConfig net_config = new NetworkConfig(); 
    889                  
    890                 // system one 
    891                 Token tok = new Token("highside", null); 
    892                 NetSystem sys_one = new NetSystem(tok); 
    893                 net_config.Add (sys_one); 
    894                  
    895                 // system two 
    896                 tok = new Token("lowside", null); 
    897                 NetSystem sys_two = new NetSystem(tok); 
    898                 net_config.Add (sys_two); 
    899                  
    900                  
    901                 // net resource { secmark } 
    902                 tok = new Token("guard_in", null); 
    903                 NetResource net_resource = new NetResource (tok, null); 
    904                 net_resource = new NetResource (tok, null); 
    905                 net_resource.put (NetResource.KEY_TYPE, "secmark"); 
    906                  
    907                 net_config.Add (net_resource); 
    908  
    909  
    910                 // net resource { ipsec } 
    911                 tok = new Token("guard_out", null); 
    912                 net_resource = new NetResource (tok, null); 
    913                 net_resource.put (NetResource.KEY_TYPE, "ipsec"); 
    914                 net_resource.generateNewAuth (NetResource.AUTH_KEY_TYPE_MD5); 
    915                 net_resource.generateNewKey (NetResource.ENC_KEY_TYPE_CBC); 
    916  
    917                 net_config.Add (net_resource); 
    918                  
    919                 // domain one 
    920                 Token dom_token = new Token("server_domain", null); 
    921                 NetworkInfo source_info = new NetworkInfo("eth0", "192.168.0.1", "255.255.255.0", new int []{80}); 
    922                  
    923                 // source end point 
    924                 Endpoint source = new Endpoint(sys_one, dom_token, source_info ); 
    925                  
    926                 // domain two 
    927                 Token dom_token_two = new Token("client_domain", null); 
    928                 NetworkInfo target_info = new NetworkInfo("eth5", "192.168.0.100", "255.255.255.0", new int []{255}); 
    929                  
    930                 // target end point 
    931                 Endpoint target = new Endpoint(sys_two, dom_token_two, target_info ); 
    932                  
    933                 // connection one 
    934                 NetConnection net_con = new NetConnection(source, target, net_resource, 90); 
    935                  
    936                 net_config.Add (net_con); 
    937                  
    938                 // connection two 
    939                 net_con = new NetConnection(target, source, net_resource, 95); 
    940                  
    941                 net_config.Add (net_con); 
    942                  
    943                  
    944                 // in memory setup is done 
    945                 // parse the structure and generate fnet file 
    946                 FNetGenerator fnet_generator = new FNetGenerator(); 
    947                 net_config.Accept (fnet_generator); 
    948                  
    949                 File fnetFile = new File (fNetFileName); 
    950                 try 
    951                 { 
    952                         PrintStream secmarkStream = new PrintStream (new FileOutputStream (fnetFile)); 
    953                         secmarkStream.print (fnet_generator.toString ()); 
    954                         secmarkStream.flush (); 
    955                         secmarkStream.close (); 
    956                 } 
    957                 catch(FileNotFoundException fne) 
    958                 { 
    959                         ErrorExit (fne.getMessage ()); 
    960                 } 
    961         } 
     850 
    962851}