3 # Add an imported connection to the config file
5 require './ipsec-lib.pl';
7 &error_setup($text{'import_err'});
10 if ($in{'mode'} == 0) {
11 $in{'upload'} || &error($text{'import_eupload'});
12 $in{'upload'} =~ s/\r//g;
13 @data = split(/\n/, $in{'upload'});
16 $in{'file'} || &error($text{'import_efile'});
17 open(FILE, $in{'file'}) || &error($text{'import_eopen'});
25 # Read and validate it
28 print TEMP map { "$_\n" } @data;
30 @iconf = &get_config($temp);
32 if (@iconf != 1 || $iconf[0]->{'name'} ne 'conn') {
33 &error($text{'import_eformat'});
35 @conf = &get_config();
37 if (lc($c->{'value'}) eq lc($iconf[0]->{'value'})) {
40 &error(&text('import_eclash',
41 "<tt>$iconf[0]->{'value'}</tt>"));
46 # Add to the real config file
48 &lock_file($clash->{'file'});
49 $lref = &read_file_lines($clash->{'file'});
50 splice(@$lref, $clash->{'line'},
51 $clash->{'eline'} - $clash->{'line'} + 1, @data);
54 &lock_file($config{'file'});
55 $lref = &read_file_lines($config{'file'});
62 &ui_print_header(undef, $text{'import_title'}, "");
64 print "<p>",&text($clash ? 'import_done2' : 'import_done1',
65 "<tt>$iconf[0]->{'value'}</tt>"),"<p>\n";
67 &ui_print_footer("", $text{'index_return'});
70 &webmin_log("import", "conn", $iconf[0]->{'value'}, $iconf[0]->{'values'});