-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathedit_jail.cgi
101 lines (87 loc) · 2.75 KB
/
edit_jail.cgi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
#!/usr/bin/perl
use strict;
use warnings;
our (%text, %in);
require './jailkit-lib.pl';
ReadParse();
my $jk_init_ini = get_jk_init_ini();
my @sections = $jk_init_ini->Sections();
my %jail_params;
# Make a new section?
if ($in{'new'}) {
ui_print_header(undef, $text{'index_create_jail'}, '', 'create_jail');
# Keep new defined so we add a new section on save
print ui_hidden("new", $in{'new'});
}
else {
ui_print_header(undef, $text{'index_edit_jail'}, '', 'edit_jail');
unless ($jk_init_ini->SectionExists($in{'jail'})) {
error($text{'edit_jail_not_found'});
}
# Populate the jail hash
my @params = $jk_init_ini->Parameters($in{'jail'});
foreach my $param (@params) {
$jail_params{$param} = $jk_init_ini->val($in{'jail'}, $param);
}
}
print ui_form_start("save_jail.cgi");
print ui_hidden("orig_jail", $in{'jail'});
print ui_
print ui_hidden_table_start($text{'edit_jail_metadata'}, undef, 1,
'metadata', 1);
# name
print ui_table_row(hlink($text{'edit_jail_name'}, 'name'),
ui_textbox('jail', $in{'jail'}));
# comment/description
print ui_table_row(
hlink($text{'edit_jail_comment'}, 'comment'),
ui_textbox('comment', $jail_params{'comment'})
);
print ui_hidden_table_end('metadata');
print ui_hidden_table_start($text{'edit_jail_includes'}, undef, 1, 'includes',
1);
# paths
print ui_table_row(
hlink($text{'edit_jail_paths'}, 'paths'),
ui_textarea('paths', $jail_params{'paths'})
);
print ui_table_row(
hlink($text{'edit_jail_paths_w_owner'}, 'paths_w_owner'),
ui_textarea('paths_w_owner', $jail_params{'paths_w_owner'})
);
print ui_table_row(
hlink($text{'edit_jail_paths_w_setuid'}, 'paths_w_setuid'),
ui_textarea('paths_w_setuid', $jail_params{'paths_w_setuid'})
);
print ui_table_row(
hlink($text{'edit_jail_includesections'}, 'includesections'),
ui_textarea('includesections'),
$jail_params{'includesections'}
);
print ui_table_row(
hlink($text{'edit_jail_emptydirs'}, 'emptydirs'),
ui_textarea('emptydirs', $jail_params{'emptydirs'})
);
print ui_table_row(
hlink($text{'edit_jail_devices'}, 'devices'),
ui_textbox('devices', $jail_params{'devices'})
);
print ui_table_row(
hlink($text{'edit_jail_need_logsocket'}, 'need_logsocket'),
ui_checkbox(
'need_logsocket', 1, undef, $jail_params{'need_logsocket'} ? 1 : 0
)
);
print ui_hidden_table_end('includes');
print ui_hidden_table_start($text{'edit_jail_ug'}, undef, 1, 'usergroups', 1);
print ui_table_row(
hlink($text{'edit_jail_users'}, 'users'),
ui_textarea('users', $jail_params{'users'})
);
print ui_table_row(
hlink($text{'edit_jail_groups'}, 'groups'),
ui_textarea('groups', $jail_params{'groups'})
);
print ui_hidden_table_end('usergroups');
print ui_form_end([[undef, $text{'save_jail'}]]);
&ui_print_footer("index.cgi", $text{'edit_jail_return'});