| 850 | | |
|---|
| | 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 | } |
|---|