4 require './ipsec-lib.pl';
7 &ui_print_header(undef, $text{'secret_title1'}, "");
8 $sec = { 'type' => $in{'type'} };
11 &ui_print_header(undef, $text{'secret_title2'}, "");
12 @secs = &list_secrets();
13 $sec = $secs[$in{'idx'}];
16 print &ui_form_start("save_secret.cgi", "post");
17 print &ui_hidden("new", $in{'new'});
18 print &ui_hidden("type", $sec->{'type'});
19 print &ui_hidden("idx", $in{'idx'});
20 print &ui_table_start($text{'secret_header'}, "100%", 2);
22 print &ui_table_row($text{'secret_name'},
23 &ui_radio("name_def", $sec->{'name'} ? 0 : 1,
24 [ [ 1, $text{'secrets_any'} ],
25 [ 0, $text{'secret_for'} ] ])."\n".
26 &ui_textbox("name", $sec->{'name'}, 30));
28 print &ui_table_row($text{'secret_type'},
29 $text{'secrets_'.lc($sec->{'type'})} || uc($sec->{'type'}));
31 if (lc($sec->{'type'}) eq "psk") {
32 # Shared key, with a password
33 $pass = $sec->{'value'} =~ /"(.*)"/ ? $1 : $sec->{'value'};
34 print &ui_table_row($text{'secret_pass'},
35 &ui_textbox("pass", $pass, 20));
37 elsif (lc($sec->{'type'}) eq "rsa") {
38 # RSA key .. show all editable parts
39 $val = $sec->{'value'};
42 while($val =~ /^\s*(\S+):\s+(\S+)((.|\n)*)/) {
46 foreach $p (&unique(@rsa_attribs, keys(%rsa))) {
47 print &ui_table_row(&text('secret_rsa', $p),
48 $p eq "PublicExponent" ?
49 &ui_textbox("rsa_$p", $rsa{$p}, 10) :
50 &ui_textarea("rsa_$p", &split_line($rsa{$p}, 60),5,60));
55 print &ui_table_row($text{'secret_value'},
56 &ui_textarea("value", $sec->{'value'},
60 print &ui_table_end();
62 print &ui_form_end([ [ "create", $text{'create'} ] ]);
65 print &ui_form_end([ [ "save", $text{'save'} ],
66 [ "delete", $text{'delete'} ] ], 100);
69 &ui_print_footer("list_secrets.cgi", $text{'secrets_return'},
70 "", $text{'index_return'});
76 while(length($str) > $_[1]) {
77 $rv .= substr($str, 0, $_[1])."\n";
78 $str = substr($str, $_[1]);