line |
stmt |
bran |
cond |
sub |
pod |
time |
code |
1
|
|
|
|
|
|
|
# -*- perl -*- |
2
|
|
|
|
|
|
|
|
3
|
1
|
|
|
1
|
|
1102
|
use strict; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
44
|
|
4
|
|
|
|
|
|
|
|
5
|
1
|
|
|
1
|
|
5
|
use Net::LDAP (); |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
16
|
|
6
|
1
|
|
|
1
|
|
5
|
use Net::Netmask (); |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
15
|
|
7
|
1
|
|
|
1
|
|
5
|
use Socket (); |
|
1
|
|
|
|
|
3
|
|
|
1
|
|
|
|
|
17
|
|
8
|
1
|
|
|
1
|
|
626
|
use Wizard (); |
|
0
|
|
|
|
|
|
|
|
0
|
|
|
|
|
|
|
9
|
|
|
|
|
|
|
use Wizard::State (); |
10
|
|
|
|
|
|
|
use Wizard::SaveAble (); |
11
|
|
|
|
|
|
|
use Wizard::SaveAble::LDAP (); |
12
|
|
|
|
|
|
|
use Wizard::LDAP (); |
13
|
|
|
|
|
|
|
use Wizard::LDAP::Config (); |
14
|
|
|
|
|
|
|
|
15
|
|
|
|
|
|
|
@Wizard::LDAP::Net::ISA = qw(Wizard::LDAP); |
16
|
|
|
|
|
|
|
$Wizard::LDAP::Net::VERSION = '0.01'; |
17
|
|
|
|
|
|
|
|
18
|
|
|
|
|
|
|
package Wizard::LDAP::Net; |
19
|
|
|
|
|
|
|
|
20
|
|
|
|
|
|
|
sub init { |
21
|
|
|
|
|
|
|
my $self = shift; |
22
|
|
|
|
|
|
|
return ($self->SUPER::init(1)) unless shift; |
23
|
|
|
|
|
|
|
my $item = $self->{'net'} || die "Missing net"; |
24
|
|
|
|
|
|
|
($self->SUPER::init(1), $item); |
25
|
|
|
|
|
|
|
} |
26
|
|
|
|
|
|
|
|
27
|
|
|
|
|
|
|
|
28
|
|
|
|
|
|
|
sub ShowMe { |
29
|
|
|
|
|
|
|
my($self, $wiz, $prefs, $net) = @_; |
30
|
|
|
|
|
|
|
(['Wizard::Elem::Title', |
31
|
|
|
|
|
|
|
'value' => $net->CreateMe() ? |
32
|
|
|
|
|
|
|
'LDAP Wizard: Create a new net' : |
33
|
|
|
|
|
|
|
'LDAP Wizard: Edit an existing net'], |
34
|
|
|
|
|
|
|
($net->CreateMe() ? |
35
|
|
|
|
|
|
|
['Wizard::Elem::Text', 'name' => 'ldap-net-netname', |
36
|
|
|
|
|
|
|
'value' => $net->{'ldap-net-netname'}, |
37
|
|
|
|
|
|
|
'descr' => 'Name of net'] |
38
|
|
|
|
|
|
|
: ['Wizard::Elem::Data' => 'value' => $net->{'ldap-net-netname'}, |
39
|
|
|
|
|
|
|
'descr' => 'Name of net']), |
40
|
|
|
|
|
|
|
['Wizard::Elem::Text', 'name' => 'ldap-net-mask', |
41
|
|
|
|
|
|
|
'value' => $net->{'ldap-net-mask'}, |
42
|
|
|
|
|
|
|
'descr' => 'Netmask of the net'], |
43
|
|
|
|
|
|
|
['Wizard::Elem::Text', 'name' => 'ldap-net-domain', |
44
|
|
|
|
|
|
|
'value' => $net->{'ldap-net-domain'}, |
45
|
|
|
|
|
|
|
'descr' => 'Netmask domain'], |
46
|
|
|
|
|
|
|
['Wizard::Elem::Text', 'name' => 'ldap-net-dns', |
47
|
|
|
|
|
|
|
'value' => $net->{'ldap-net-dns'}, |
48
|
|
|
|
|
|
|
'descr' => 'DNS Server(s) for the network, seperated by ","'], |
49
|
|
|
|
|
|
|
['Wizard::Elem::Text', 'name' => 'ldap-net-wins', |
50
|
|
|
|
|
|
|
'value' => $net->{'ldap-net-wins'}, |
51
|
|
|
|
|
|
|
'descr' => 'WINS Server(s) for the network, seperated by ","'], |
52
|
|
|
|
|
|
|
['Wizard::Elem::Text', 'name' => 'ldap-net-gateway', |
53
|
|
|
|
|
|
|
'value' => $net->{'ldap-net-gateway'}, |
54
|
|
|
|
|
|
|
'descr' => 'Gateway for this net'], |
55
|
|
|
|
|
|
|
['Wizard::Elem::Text', 'name' => 'ldap-net-timeserver', |
56
|
|
|
|
|
|
|
'value' => $net->{'ldap-net-timeserver'}, |
57
|
|
|
|
|
|
|
'descr' => 'Timeserver for this net'], |
58
|
|
|
|
|
|
|
['Wizard::Elem::Text', 'name' => 'ldap-net-reservedipbegin', |
59
|
|
|
|
|
|
|
'value' => $net->{'ldap-net-reservedipbegin'}, |
60
|
|
|
|
|
|
|
'descr' => 'Reserved IP Block begin'], |
61
|
|
|
|
|
|
|
['Wizard::Elem::Text', 'name' => 'ldap-net-reservedipend', |
62
|
|
|
|
|
|
|
'value' => $net->{'ldap-net-reservedipend'}, |
63
|
|
|
|
|
|
|
'descr' => 'Reserved IP Block end'], |
64
|
|
|
|
|
|
|
['Wizard::Elem::Submit', 'name' => 'Action_NetSave', |
65
|
|
|
|
|
|
|
'value' => 'Save these settings', 'id' => 1], |
66
|
|
|
|
|
|
|
['Wizard::Elem::BR'], |
67
|
|
|
|
|
|
|
['Wizard::Elem::Submit', 'name' => 'Action_Reset', |
68
|
|
|
|
|
|
|
'value' => 'Return to Net menu', 'id' => 98], |
69
|
|
|
|
|
|
|
['Wizard::Elem::Submit', 'name' => 'Wizard::LDAP::Action_Reset', |
70
|
|
|
|
|
|
|
'value' => 'Return to top menu', 'id' => 99]); |
71
|
|
|
|
|
|
|
} |
72
|
|
|
|
|
|
|
|
73
|
|
|
|
|
|
|
|
74
|
|
|
|
|
|
|
sub Action_Reset { |
75
|
|
|
|
|
|
|
my($self, $wiz) = @_; |
76
|
|
|
|
|
|
|
$self->init(); |
77
|
|
|
|
|
|
|
|
78
|
|
|
|
|
|
|
delete $self->{'net'}; |
79
|
|
|
|
|
|
|
$self->Store($wiz); |
80
|
|
|
|
|
|
|
|
81
|
|
|
|
|
|
|
# Return the initial menu. |
82
|
|
|
|
|
|
|
(['Wizard::Elem::Title', 'value' => 'LDAP Wizard Net Menu'], |
83
|
|
|
|
|
|
|
['Wizard::Elem::Submit', 'value' => 'Create a new net', |
84
|
|
|
|
|
|
|
'name' => 'Action_CreateNet', |
85
|
|
|
|
|
|
|
'id' => 1], |
86
|
|
|
|
|
|
|
['Wizard::Elem::Submit', 'value' => 'Host menu', |
87
|
|
|
|
|
|
|
'name' => 'Action_HostMenu', |
88
|
|
|
|
|
|
|
'id' => 1], |
89
|
|
|
|
|
|
|
['Wizard::Elem::Submit', 'value' => 'Modify an existing net', |
90
|
|
|
|
|
|
|
'name' => 'Action_ModifyNet', |
91
|
|
|
|
|
|
|
'id' => 3], |
92
|
|
|
|
|
|
|
['Wizard::Elem::Submit', 'value' => 'Delete an existing net', |
93
|
|
|
|
|
|
|
'name' => 'Action_DeleteNet', |
94
|
|
|
|
|
|
|
'id' => 4], |
95
|
|
|
|
|
|
|
['Wizard::Elem::BR'], |
96
|
|
|
|
|
|
|
['Wizard::Elem::Submit', 'value' => 'Return to Top Menu', |
97
|
|
|
|
|
|
|
'name' => 'Wizard::LDAP::Action_Reset', |
98
|
|
|
|
|
|
|
'id' => 98], |
99
|
|
|
|
|
|
|
['Wizard::Elem::Submit', 'value' => 'Exit LDAP Wizard', |
100
|
|
|
|
|
|
|
'id' => 99]); |
101
|
|
|
|
|
|
|
} |
102
|
|
|
|
|
|
|
|
103
|
|
|
|
|
|
|
sub Action_CreateNet { |
104
|
|
|
|
|
|
|
my($self, $wiz) = @_; |
105
|
|
|
|
|
|
|
my ($prefs, $admin) = $self->init(); |
106
|
|
|
|
|
|
|
my $net = Wizard::SaveAble::LDAP->new('adminDN' => $admin->{'ldap-admin-dn'}, |
107
|
|
|
|
|
|
|
'adminPassword' => $admin->{'ldap-admin-password'}, |
108
|
|
|
|
|
|
|
'prefix' => 'ldap-net-', |
109
|
|
|
|
|
|
|
'serverip' => $prefs->{'ldap-prefs-serverip'}, |
110
|
|
|
|
|
|
|
'serverport' => $prefs->{'ldap-prefs-serverport'}, |
111
|
|
|
|
|
|
|
); |
112
|
|
|
|
|
|
|
$net->CreateMe(1); |
113
|
|
|
|
|
|
|
$self->{'net'} = $net; |
114
|
|
|
|
|
|
|
$self->Store($wiz); |
115
|
|
|
|
|
|
|
$self->ShowMe($wiz, $prefs, $net); |
116
|
|
|
|
|
|
|
} |
117
|
|
|
|
|
|
|
|
118
|
|
|
|
|
|
|
sub Action_NetSave { |
119
|
|
|
|
|
|
|
my($self, $wiz) = @_; |
120
|
|
|
|
|
|
|
my ($prefs, $admin, $net) = $self->init(1); |
121
|
|
|
|
|
|
|
my $base = $prefs->{'ldap-prefs-netbase'}; |
122
|
|
|
|
|
|
|
local $SIG{'__WARN__'} = 'IGNORE'; |
123
|
|
|
|
|
|
|
|
124
|
|
|
|
|
|
|
foreach my $opt ($wiz->param()) { |
125
|
|
|
|
|
|
|
$net->{$opt} = $wiz->param($opt) |
126
|
|
|
|
|
|
|
if (($opt =~ /^ldap\-net/) && (defined($wiz->param($opt)))); |
127
|
|
|
|
|
|
|
} |
128
|
|
|
|
|
|
|
|
129
|
|
|
|
|
|
|
# Verify settings |
130
|
|
|
|
|
|
|
my $errors = ''; |
131
|
|
|
|
|
|
|
my $name = $net->{'ldap-net-netname'} |
132
|
|
|
|
|
|
|
or ($errors .= "Missing net name.\n"); |
133
|
|
|
|
|
|
|
my $mask = $net->{'ldap-net-mask'} |
134
|
|
|
|
|
|
|
or ($errors .= "Missing net mask.\n"); |
135
|
|
|
|
|
|
|
my $domain = $net->{'ldap-net-domain'} |
136
|
|
|
|
|
|
|
or ($errors .= "Missing net domain.\n"); |
137
|
|
|
|
|
|
|
my $dns = $net->{'ldap-net-dns'}; |
138
|
|
|
|
|
|
|
my $wins = $net->{'ldap-net-winns'}; |
139
|
|
|
|
|
|
|
my $gateway = $net->{'ldap-net-gateway'}; |
140
|
|
|
|
|
|
|
my $times = $net->{'ldap-net-timeserver'}; |
141
|
|
|
|
|
|
|
my $ripb = $net->{'ldap-net-reservedipbegin'}; |
142
|
|
|
|
|
|
|
my $ripe = $net->{'ldap-net-reservedipend'}; |
143
|
|
|
|
|
|
|
|
144
|
|
|
|
|
|
|
my @servs = map { s/[\ ]*//g; (($_ ne '') ? $_ : ()); |
145
|
|
|
|
|
|
|
} (split(/\,/, $dns), split(/\,/, $wins), $times) ; |
146
|
|
|
|
|
|
|
my $serv; |
147
|
|
|
|
|
|
|
foreach $serv (@servs) { |
148
|
|
|
|
|
|
|
unless(Socket::inet_aton($serv)) { |
149
|
|
|
|
|
|
|
$errors .= "Cannot resolve $serv.\n"; |
150
|
|
|
|
|
|
|
} |
151
|
|
|
|
|
|
|
} |
152
|
|
|
|
|
|
|
my $nmask = new Net::Netmask($mask); |
153
|
|
|
|
|
|
|
$errors .= "Invalid netmask $mask, due to " |
154
|
|
|
|
|
|
|
. $nmask->{'ERROR'} if $nmask->{'ERROR'}; |
155
|
|
|
|
|
|
|
|
156
|
|
|
|
|
|
|
$errors .= "Only begin or end of reserved IP block has been specified.\n" |
157
|
|
|
|
|
|
|
if (($ripb && !$ripe) || (!$ripb && $ripe)); |
158
|
|
|
|
|
|
|
if($ripb) { |
159
|
|
|
|
|
|
|
$errors .= "Invalid IP adress $ripb.\n" |
160
|
|
|
|
|
|
|
unless Socket::inet_aton($ripb); |
161
|
|
|
|
|
|
|
$errors .= "IP adress $ripb does not match the netmask $mask.\n" |
162
|
|
|
|
|
|
|
unless $nmask->match($ripb); |
163
|
|
|
|
|
|
|
} |
164
|
|
|
|
|
|
|
if($ripe) { |
165
|
|
|
|
|
|
|
$errors .= "Invalid IP adress $ripe.\n" |
166
|
|
|
|
|
|
|
unless Socket::inet_aton($ripe); |
167
|
|
|
|
|
|
|
$errors .= "IP adress $ripe does not match the netmask $mask.\n" |
168
|
|
|
|
|
|
|
unless $nmask->match($ripe); |
169
|
|
|
|
|
|
|
} |
170
|
|
|
|
|
|
|
|
171
|
|
|
|
|
|
|
if($domain !~ /^[\w\-]+(\.[\w\-]+)*$/) { |
172
|
|
|
|
|
|
|
$errors .= "Invalid domainnname $domain.\n"; |
173
|
|
|
|
|
|
|
} |
174
|
|
|
|
|
|
|
|
175
|
|
|
|
|
|
|
$net->{'ldap-net-objectClass'} = 'net'; |
176
|
|
|
|
|
|
|
die $errors if $errors; |
177
|
|
|
|
|
|
|
|
178
|
|
|
|
|
|
|
$net->AttrScalar2Ref('dns', 'wins'); |
179
|
|
|
|
|
|
|
$net->Modified(1); |
180
|
|
|
|
|
|
|
$net->DN("network=$name, $base"); |
181
|
|
|
|
|
|
|
|
182
|
|
|
|
|
|
|
$self->Store($wiz, 1); |
183
|
|
|
|
|
|
|
$self->OnChange('net'); |
184
|
|
|
|
|
|
|
$self->Action_Reset($wiz); |
185
|
|
|
|
|
|
|
} |
186
|
|
|
|
|
|
|
|
187
|
|
|
|
|
|
|
sub Action_HostMenu { |
188
|
|
|
|
|
|
|
my $self = shift; my $wiz = shift; |
189
|
|
|
|
|
|
|
$self->Action_ModifyNet($wiz, 'Manage hosts in this net', |
190
|
|
|
|
|
|
|
'Wizard::LDAP::Host::Action_Enter'); |
191
|
|
|
|
|
|
|
} |
192
|
|
|
|
|
|
|
|
193
|
|
|
|
|
|
|
sub Action_ModifyNet { |
194
|
|
|
|
|
|
|
my $self = shift; my $wiz = shift; |
195
|
|
|
|
|
|
|
my $button = shift || 'Modify Net'; |
196
|
|
|
|
|
|
|
my $action = shift || 'Action_EditNet'; |
197
|
|
|
|
|
|
|
my ($prefs, $admin) = $self->init(); |
198
|
|
|
|
|
|
|
my $base = $prefs->{'ldap-prefs-netbase'}; |
199
|
|
|
|
|
|
|
|
200
|
|
|
|
|
|
|
my @items = $self->ItemList($prefs, $admin, $base, 'netName'); |
201
|
|
|
|
|
|
|
return $self->Action_Reset($wiz) unless @items; |
202
|
|
|
|
|
|
|
if(@items == 1) { |
203
|
|
|
|
|
|
|
# Hack: If there's only one net, pick it up immediately. |
204
|
|
|
|
|
|
|
# We need to load the class and bless ... :-( |
205
|
|
|
|
|
|
|
if ($action =~ /(.*)::/) { |
206
|
|
|
|
|
|
|
my $class = $1; |
207
|
|
|
|
|
|
|
my $cl = "$class.pm"; |
208
|
|
|
|
|
|
|
$cl =~ s/\:\:/\//g; |
209
|
|
|
|
|
|
|
require $cl; |
210
|
|
|
|
|
|
|
bless $self, $class; |
211
|
|
|
|
|
|
|
} |
212
|
|
|
|
|
|
|
$wiz->param('ldap-net', $items[0]); |
213
|
|
|
|
|
|
|
return $self->$action($wiz); |
214
|
|
|
|
|
|
|
} |
215
|
|
|
|
|
|
|
@items = sort @items; |
216
|
|
|
|
|
|
|
# Return the initial menu. |
217
|
|
|
|
|
|
|
(['Wizard::Elem::Title', 'value' => "LDAP Wizard Net Selection"], |
218
|
|
|
|
|
|
|
['Wizard::Elem::Select', 'options' => \@items, 'name' => 'ldap-net', |
219
|
|
|
|
|
|
|
'descr' => 'Select an net'], |
220
|
|
|
|
|
|
|
['Wizard::Elem::Submit', 'value' => $button, 'name' => $action, |
221
|
|
|
|
|
|
|
'id' => 1]); |
222
|
|
|
|
|
|
|
} |
223
|
|
|
|
|
|
|
|
224
|
|
|
|
|
|
|
sub Load { |
225
|
|
|
|
|
|
|
my($self, $wiz, $prefs, $admin, $dn) = @_; |
226
|
|
|
|
|
|
|
my $net = Wizard::SaveAble::LDAP->new('adminDN' => $admin->{'ldap-admin-dn'}, |
227
|
|
|
|
|
|
|
'adminPassword' => $admin->{'ldap-admin-password'}, |
228
|
|
|
|
|
|
|
'prefix' => 'ldap-net-', |
229
|
|
|
|
|
|
|
'serverip' => $prefs->{'ldap-prefs-serverip'}, |
230
|
|
|
|
|
|
|
'serverport' => $prefs->{'ldap-prefs-serverport'}, |
231
|
|
|
|
|
|
|
'dn' => $dn, 'load' => 1); |
232
|
|
|
|
|
|
|
$net->DN($dn); |
233
|
|
|
|
|
|
|
$self->{'net'} = $net; |
234
|
|
|
|
|
|
|
$self->Store($wiz); |
235
|
|
|
|
|
|
|
$net->AttrRef2Scalar('dns', 'wins'); |
236
|
|
|
|
|
|
|
$net; |
237
|
|
|
|
|
|
|
} |
238
|
|
|
|
|
|
|
|
239
|
|
|
|
|
|
|
|
240
|
|
|
|
|
|
|
sub Action_EditNet { |
241
|
|
|
|
|
|
|
my($self, $wiz) = @_; |
242
|
|
|
|
|
|
|
my($prefs, $admin) = $self->init(); |
243
|
|
|
|
|
|
|
my $net = $wiz->param('ldap-net') || die "Missing net name."; |
244
|
|
|
|
|
|
|
my $dn = "network=$net, " . $prefs->{'ldap-prefs-netbase'}; |
245
|
|
|
|
|
|
|
my $n = $self->Load($wiz, $prefs, $admin, $dn); |
246
|
|
|
|
|
|
|
$self->ShowMe($wiz, $prefs, $n); |
247
|
|
|
|
|
|
|
} |
248
|
|
|
|
|
|
|
|
249
|
|
|
|
|
|
|
sub Action_DeleteNet { |
250
|
|
|
|
|
|
|
shift->Action_ModifyNet(shift, 'Delete Net', 'Action_DeleteNet2'); |
251
|
|
|
|
|
|
|
} |
252
|
|
|
|
|
|
|
|
253
|
|
|
|
|
|
|
sub Action_DeleteNet2 { |
254
|
|
|
|
|
|
|
my ($self, $wiz) = @_; |
255
|
|
|
|
|
|
|
my($prefs, $admin) = $self->init(); |
256
|
|
|
|
|
|
|
my $netname = $wiz->param('ldap-net') || die "Missing net."; |
257
|
|
|
|
|
|
|
my $dn = "network=$netname, " . $prefs->{'ldap-prefs-netbase'}; |
258
|
|
|
|
|
|
|
my $net = $self->Load($wiz, $prefs, $admin, $dn); |
259
|
|
|
|
|
|
|
|
260
|
|
|
|
|
|
|
(['Wizard::Elem::Title', 'value' => 'Deleting an LDAP Net ' . |
261
|
|
|
|
|
|
|
'(and all the hosts belonging to it)'], |
262
|
|
|
|
|
|
|
['Wizard::Elem::Data', 'descr' => 'Net name', |
263
|
|
|
|
|
|
|
'value' => $net->{'ldap-net-netname'}], |
264
|
|
|
|
|
|
|
['Wizard::Elem::Data', 'descr' => 'Netmask', |
265
|
|
|
|
|
|
|
'value' => $net->{'ldap-net-mask'}], |
266
|
|
|
|
|
|
|
['Wizard::Elem::Data', 'descr' => 'Net domain', |
267
|
|
|
|
|
|
|
'value' => $net->{'ldap-net-domain'}], |
268
|
|
|
|
|
|
|
['Wizard::Elem::Data', 'descr' => 'Net DNS server(s)', |
269
|
|
|
|
|
|
|
'value' => $net->{'ldap-net-dns'}], |
270
|
|
|
|
|
|
|
['Wizard::Elem::Data', 'descr' => 'Net WINS server(s)', |
271
|
|
|
|
|
|
|
'value' => $net->{'ldap-net-wins'}], |
272
|
|
|
|
|
|
|
['Wizard::Elem::Data', 'descr' => 'Net gateway', |
273
|
|
|
|
|
|
|
'value' => $net->{'ldap-net-gateway'}], |
274
|
|
|
|
|
|
|
['Wizard::Elem::Data', 'descr' => 'Net timeserver', |
275
|
|
|
|
|
|
|
'value' => $net->{'ldap-net-timeserver'}], |
276
|
|
|
|
|
|
|
['Wizard::Elem::Data', 'descr' => 'Reserved IP begin', |
277
|
|
|
|
|
|
|
'value' => $net->{'ldap-net-reservedipbegin'}], |
278
|
|
|
|
|
|
|
['Wizard::Elem::Data', 'descr' => 'Reserved IP end', |
279
|
|
|
|
|
|
|
'value' => $net->{'ldap-net-reservedipend'}], |
280
|
|
|
|
|
|
|
['Wizard::Elem::Data', 'descr' => 'Net timeserver', |
281
|
|
|
|
|
|
|
'value' => $net->{'ldap-net-timeserver'}], |
282
|
|
|
|
|
|
|
['Wizard::Elem::Submit', 'value' => 'Yes, delete it', |
283
|
|
|
|
|
|
|
'id' => 1, 'name' => 'Action_DeleteNet3'], |
284
|
|
|
|
|
|
|
['Wizard::Elem::Submit', 'value' => 'Return to Net Menu', |
285
|
|
|
|
|
|
|
'id' => 98, 'name' => 'Action_Reset'], |
286
|
|
|
|
|
|
|
['Wizard::Elem::Submit', 'value' => 'Return to Top Menu', |
287
|
|
|
|
|
|
|
'id' => 99, 'name' => 'Wizard::LDAP::Action_Reset']); |
288
|
|
|
|
|
|
|
} |
289
|
|
|
|
|
|
|
|
290
|
|
|
|
|
|
|
sub Action_DeleteNet3 { |
291
|
|
|
|
|
|
|
my($self, $wiz) = @_; |
292
|
|
|
|
|
|
|
my($prefs, $admin, $net) = $self->init(1); |
293
|
|
|
|
|
|
|
($prefs, $admin) = $self->init(); |
294
|
|
|
|
|
|
|
my $base = "network=" . $net->{'ldap-net-netname'} . ", " . $prefs->{'ldap-prefs-netbase'}; |
295
|
|
|
|
|
|
|
my $mesg = $self->ItemList($prefs, $admin, $base, 'objectClass'); |
296
|
|
|
|
|
|
|
my $entry; |
297
|
|
|
|
|
|
|
my $item = Wizard::SaveAble::LDAP->new('adminDN' => $admin->{'ldap-admin-dn'}, |
298
|
|
|
|
|
|
|
'adminPassword' => $admin->{'ldap-admin-password'}, |
299
|
|
|
|
|
|
|
'prefix' => 'NONE', |
300
|
|
|
|
|
|
|
'serverip' => $prefs->{'ldap-prefs-serverip'}, |
301
|
|
|
|
|
|
|
'serverport' => $prefs->{'ldap-prefs-serverport'}); |
302
|
|
|
|
|
|
|
|
303
|
|
|
|
|
|
|
foreach $entry ($mesg->entries) { |
304
|
|
|
|
|
|
|
$item->DN($entry->dn()); |
305
|
|
|
|
|
|
|
$item->Delete(); |
306
|
|
|
|
|
|
|
} |
307
|
|
|
|
|
|
|
|
308
|
|
|
|
|
|
|
$net->Delete(); |
309
|
|
|
|
|
|
|
$self->OnChange('net'); |
310
|
|
|
|
|
|
|
$self->Action_Reset($wiz); |
311
|
|
|
|
|
|
|
} |
312
|
|
|
|
|
|
|
|
313
|
|
|
|
|
|
|
|
314
|
|
|
|
|
|
|
|
315
|
|
|
|
|
|
|
|