25 |
use vars qw(@ISA); |
use vars qw(@ISA); |
26 |
use Libconf; |
use Libconf; |
27 |
|
|
28 |
@ISA = qw(Libconf); |
our @ISA = qw(Libconf); |
29 |
my @keywords_option = (); |
our $data_synopsis; |
|
my @keywords_list = (); |
|
|
my ($data_description, $data_mapping); |
|
30 |
|
|
31 |
|
# $data_synopsis_version is optionnal |
32 |
sub new { |
sub new { |
33 |
my ($class, $filename) = @_; |
my ($class, $filename, $data_synopsis_version) = @_; |
34 |
# my $libconf = Libconf::new('Libconf', $filename, 'samba', ''); |
my ($data_description, $data_mapping); |
35 |
|
if (defined $data_synopsis) { |
36 |
|
$data_synopsis_version ||= 'default_version'; |
37 |
|
$data_description = $data_synopsis->{$data_synopsis_version}{description}; |
38 |
|
$data_mapping = $data_synopsis->{$data_synopsis_version}{mapping}; |
39 |
|
} |
40 |
my $libconf = Libconf::new('Libconf', $filename, 'samba', ''); |
my $libconf = Libconf::new('Libconf', $filename, 'samba', ''); |
41 |
$libconf->setUniq(); |
$libconf->setUniq(); |
42 |
tie my %wrapper, 'Libconf::Glueconf::Samba::Wrapper', $libconf, $data_description, $data_mapping ; |
tie my %wrapper, 'Libconf::Glueconf::Samba::Wrapper', $libconf, $data_description, $data_mapping ; |
245 |
return $obj->{libconf}->getAtom($pos)->{value}; |
return $obj->{libconf}->getAtom($pos)->{value}; |
246 |
} |
} |
247 |
|
|
248 |
$data_description = { |
$data_synopsis ||= {}; |
249 |
|
$data_synopsis->{default_version} = |
250 |
# mangling stuff (global - service ?) |
{ |
251 |
'mangling method' => { type => 'STRING', values => [ qw(hash hash2) ], default => 'hash' }, |
description => { |
252 |
'mangle case' => { type => 'BOOLEAN', default => 0 }, |
|
253 |
'case sensitive' => { type => 'BOOLEAN', default => 0 }, |
# mangling stuff (global - service ?) |
254 |
'default case' => { type => 'BOOLEAN', default => 'lower', values => [qw (upper lower)] }, |
# 'mangle case' => { type => 'BOOLEAN', default => 0 }, |
255 |
'preserve case' => { type => 'BOOLEAN', default => 1 }, |
# 'case sensitive' => { type => 'BOOLEAN', default => 0 }, |
256 |
'short preserve case' => { type => 'BOOLEAN', default => 1 }, |
# 'default case' => { type => 'BOOLEAN', default => 'lower', values => [qw (upper lower)] }, |
257 |
|
# 'preserve case' => { type => 'BOOLEAN', default => 1 }, |
258 |
# global stuff |
# 'short preserve case' => { type => 'BOOLEAN', default => 1 }, |
259 |
'acl compatibility (G)' => { type => 'STRING' }, |
|
260 |
'add printer command (G)' => { type => 'COMMAND' }, |
global => { |
261 |
'add share command (G)' => { type => 'COMMAND' }, |
# global stuff |
262 |
'add user script (G)' => { type => 'COMMAND' }, |
'acl compatibility (G)' => { type => 'STRING' }, |
263 |
'allow trusted domains' => { type => 'BOOLEAN', default => 1 }, |
'add printer command (G)' => { type => 'COMMAND' }, |
264 |
'announce as' => { type => 'STRING', values => [ "NT Server", "NT", "NT Workstation", "Win95", "WfW"], default => 'NT' }, |
'add share command (G)' => { type => 'COMMAND' }, |
265 |
'announce version' => { type => 'VERSION', default => '4.9' }, |
'add user script (G)' => { type => 'COMMAND' }, |
266 |
'auto services' => { type => 'LIST', type2 => 'STRING', type3 => ' '}, |
'allow trusted domains' => { type => 'BOOLEAN', default => 1 }, |
267 |
'bind interfaces only' => { type => 'LIST', type2 => 'INTERFACE', type3 => ' ' }, |
'announce as' => { type => 'STRING', values => [ "NT Server", "NT", "NT Workstation", "Win95", "WfW"], default => 'NT' }, |
268 |
'browse list' => { type => 'BOOLEAN', default => 1 }, |
'announce version' => { type => 'VERSION', default => '4.9' }, |
269 |
'change notify timeout' => { type => 'DURATION', type2 => 'SECONDS', default => 60 }, |
'auto services' => { type => 'LIST', type2 => 'STRING', type3 => ' '}, |
270 |
'change share command' => { type => 'COMMAND' }, |
'bind interfaces only' => { type => 'LIST', type2 => 'INTERFACE', type3 => ' ' }, |
271 |
'character set' => { type => 'ENCODING' }, |
'browse list' => { type => 'BOOLEAN', default => 1 }, |
272 |
'client code page' => { type => 'INTEGER', default => 850 }, |
'change notify timeout' => { type => 'DURATION', type2 => 'SECONDS', default => 60 }, |
273 |
'code page directory' => { type => 'DIRECTORY' }, |
'change share command' => { type => 'COMMAND' }, |
274 |
'coding system' => { type => 'STRING' }, |
'character set' => { type => 'ENCODING' }, |
275 |
'config file' => { type => 'FILENAME' }, |
'client code page' => { type => 'INTEGER', default => 850 }, |
276 |
'deadtime' => { type => 'DURATION', type2 => 'MINUTES', default => 0 }, |
'code page directory' => { type => 'DIRECTORY' }, |
277 |
'debug hires timestamp' => { type => 'BOOLEAN', default => 0 }, |
'coding system' => { type => 'STRING' }, |
278 |
'debug pid' => { type => 'PID' }, |
'config file' => { type => 'FILENAME' }, |
279 |
'debug timestamp' => { type => 'BOOLEAN', default => 1 }, |
'deadtime' => { type => 'DURATION', type2 => 'MINUTES', default => 0 }, |
280 |
'debug uid' => { type => 'BOOLEAN', default => 0 }, |
'debug hires timestamp' => { type => 'BOOLEAN', default => 0 }, |
281 |
'debuglevel' => { type => 'INTEGER', default => 0 }, |
'debug pid' => { type => 'PID' }, |
282 |
'default' => { type => 'LIST', type2 => 'STRING' }, |
'debug timestamp' => { type => 'BOOLEAN', default => 1 }, |
283 |
'default service' => { type => 'LIST', type2 => 'STRING' }, |
'debug uid' => { type => 'BOOLEAN', default => 0 }, |
284 |
'delete printer command' => { type => 'COMMAND' }, |
'debuglevel' => { type => 'INTEGER', default => 0 }, |
285 |
'delete share command' => { type => 'COMMAND' }, |
'default' => { type => 'LIST', type2 => 'STRING' }, |
286 |
'delete user script' => { type => 'COMMAND' }, |
'default service' => { type => 'LIST', type2 => 'STRING' }, |
287 |
'dfree command' => { type => 'COMMAND' }, |
'delete printer command' => { type => 'COMMAND' }, |
288 |
'disable spoolss' => { type => 'BOOLEAN', default => 0}, |
'delete share command' => { type => 'COMMAND' }, |
289 |
'dns proxy' => { type => 'BOOLEAN', default => 1 }, |
'delete user script' => { type => 'COMMAND' }, |
290 |
'domain admin group' => { type => 'LIST', type2 => 'SMB_UID|SMB_GID', type3 => ' ' }, |
'dfree command' => { type => 'COMMAND' }, |
291 |
'domain guest group' => { type => 'LIST', type2 => 'SMB_UID|SMB_GID', type3 => ' ' }, |
'disable spoolss' => { type => 'BOOLEAN', default => 0}, |
292 |
'domain logons' => { type => 'BOOLEAN', default => 0 }, |
'dns proxy' => { type => 'BOOLEAN', default => 1 }, |
293 |
'domain master' => { type => 'STRING', default => 'auto' }, |
'domain admin group' => { type => 'LIST', type2 => 'SMB_UID|SMB_GID', type3 => ' ' }, |
294 |
'encrypt passwords' => { type => 'BOOLEAN', default => 0 }, |
'domain guest group' => { type => 'LIST', type2 => 'SMB_UID|SMB_GID', type3 => ' ' }, |
295 |
'enhanced browsing' => { type => 'BOOLEAN', default => 1}, |
'domain logons' => { type => 'BOOLEAN', default => 0 }, |
296 |
'enumports command' => { type => 'COMMAND' }, |
'domain master' => { type => 'STRING', default => 'auto' }, |
297 |
'getwd cache' => { type => 'BOOLEAN', default => 1}, |
'encrypt passwords' => { type => 'BOOLEAN', default => 0 }, |
298 |
'hide local users' => { type => 'BOOLEAN', default => 0}, |
'enhanced browsing' => { type => 'BOOLEAN', default => 1}, |
299 |
'hide unreadable' => { type => 'BOOLEAN', default => 0}, |
'enumports command' => { type => 'COMMAND' }, |
300 |
'homedir map' => { type => 'STRING' }, |
'getwd cache' => { type => 'BOOLEAN', default => 1}, |
301 |
'host msdfs' => { type => 'BOOLEAN', default => 0}, |
'hide local users' => { type => 'BOOLEAN', default => 0}, |
302 |
'hosts equiv' => { type => 'FILENAME' }, |
'hide unreadable' => { type => 'BOOLEAN', default => 0}, |
303 |
'interfaces' => { type => 'LIST', type2 => 'STRING|INTERFACE|IP/MASK', type3 => ' '}, |
'homedir map' => { type => 'STRING' }, |
304 |
'keepalive' => { type => 'DURATION', type2 => 'SECONDS', default => '300'}, |
'host msdfs' => { type => 'BOOLEAN', default => 0}, |
305 |
'kernel oplocks' => { type => 'BOOLEAN', default => 1}, |
'hosts equiv' => { type => 'FILENAME' }, |
306 |
'lanman auth' => { type => '', }, |
'interfaces' => { type => 'LIST', type2 => 'STRING|INTERFACE|IP/MASK', type3 => ' '}, |
307 |
'large readwrite' => { type => '', }, |
'keepalive' => { type => 'DURATION', type2 => 'SECONDS', default => 300 }, |
308 |
'ldap admin dn' => { type => '', }, |
'kernel oplocks' => { type => 'BOOLEAN', default => 1}, |
309 |
'ldap filter' => { type => '', }, |
'lanman auth' => { type => 'BOOLEAN', default => 1 }, |
310 |
'ldap port' => { type => '', }, |
'large readwrite' => { type => 'BOOLEAN', default => 1 }, |
311 |
'ldap server' => { type => '', }, |
'ldap admin dn' => { type => '', }, |
312 |
'ldap ssl' => { type => '', }, |
'ldap filter' => { type => 'STRING', default => '(&(uid=%u)(objectclass=sambaAccount))' }, |
313 |
'ldap suffix' => { type => '', }, |
'ldap port' => { type => '', }, |
314 |
'lm announce' => { type => '', }, |
'ldap server' => { type => 'STRING', default => 'localhost' }, |
315 |
'lm interval' => { type => '', }, |
'ldap ssl' => { type => 'STRING', values => [ qw(on off start_tls) ], default => 'on'}, |
316 |
'load printers' => { type => '', }, |
'ldap suffix' => { type => '', }, |
317 |
'local master' => { type => '', }, |
'lm announce' => { type => 'STRING', values => [ qw(yes no or auto) ], default => 'auto' }, |
318 |
'lock dir' => { type => '', }, |
'lm interval' => { type => 'DURATION', type2 => 'SECONDS', default => 120 }, |
319 |
'lock directory' => { type => '', }, |
'load printers' => { type => 'BOOLEAN', default => 1}, |
320 |
'lock spin count' => { type => '', }, |
'local master' => { type => 'BOOLEAN', default => 1 }, |
321 |
'lock spin time' => { type => '', }, |
'lock dir' => { type => 'FILENAME', default => '${prefix}/var/locks' }, |
322 |
'pid directory' => { type => '', }, |
'lock directory' => { type => 'FILENAME', default => '${prefix}/var/locks' }, |
323 |
'log file' => { type => '', }, |
'lock spin count' => { type => 'INTEGER', default => 2 }, |
324 |
'log level' => { type => '', }, |
'lock spin time' => { type => 'DURATION', type2 => 'MICROSECONDS', default => 10 }, |
325 |
'logon drive' => { type => '', }, |
'log file' => { type => 'FILENAME' }, |
326 |
'logon home' => { type => '', }, |
'log level' => { type => 'INTEGER', default => 0 }, |
327 |
'logon path' => { type => '', }, |
'logon drive' => { type => 'STRING', default => 'z:' }, |
328 |
'logon script' => { type => '', }, |
'logon home' => { type => 'STRING', default => '"\\%N\%U"'}, |
329 |
'lpq cache time' => { type => '', }, |
'logon path' => { type => 'STRING', default => '\\%N\%U\profile'}, |
330 |
'machine password timeout' => { type => '', }, |
'logon script' => { type => 'STRING', }, |
331 |
'mangled stack' => { type => '', }, |
'lpq cache time' => { type => 'DURATION', type2 => 'SECONDS', default => 10 }, |
332 |
'mangling method' => { type => '', }, |
'machine password timeout' => { type => 'DURATION', type2 => 'SECONDS', default => 604800 }, |
333 |
'map to guest' => { type => '', }, |
'mangled stack' => { type => 'INTEGER', default => 50 }, |
334 |
'max disk size' => { type => '', }, |
'mangling method' => { type => 'STRING', values => [ qw(hash hash2) ], default => 'hash' }, |
335 |
'max log size' => { type => '', }, |
'map to guest' => { type => 'STRING', values => [ 'Never', 'Bad User', 'Bad Password'], default => 'Never' }, |
336 |
'max mux' => { type => '', }, |
'max disk size' => { type => 'SIZE', type2 => 'MB', default => 0}, |
337 |
'max open files' => { type => '', }, |
'max log size' => { type => 'SIZE', type2 => 'KB', default => 5000}, |
338 |
'max protocol' => { type => '', }, |
'max mux' => { type => 'INTEGER', default => 50 }, |
339 |
'max smbd processes' => { type => '', }, |
'max open files' => { type => 'INTEGER', default => 10000 }, |
340 |
'max ttl' => { type => '', }, |
'max protocol' => { type => 'STRING', values => [ qw(CORE COREPLUS LANMAN1 LANMAN2 NT1) ], default => 'NT1'}, |
341 |
'max wins ttl' => { type => '', }, |
'max smbd processes' => { type => 'INTEGER', default => 0 }, |
342 |
'max xmit' => { type => '', }, |
'max ttl' => { type => 'DURATION', type2 => 'SECONDS', default => 259200 }, |
343 |
'message command' => { type => '', }, |
'max wins ttl' => { type => 'DURATION', type2 => 'SECONDS', default => 518400 }, |
344 |
'min passwd length' => { type => '', }, |
'max xmit' => { type => 'INTEGER', default => 8192 }, |
345 |
'min password length' => { type => '', }, |
'message command' => { type => 'STRING', }, |
346 |
'min protocol' => { type => '', }, |
'min passwd length' => { type => 'INTEGER', default => 5}, |
347 |
'min wins ttl' => { type => '', }, |
'min password length' => { type => 'INTEGER', default => 5}, |
348 |
'name resolve order' => { type => '', }, |
'min protocol' => { type => 'STRING', values => [ qw(CORE COREPLUS LANMAN1 LANMAN2 NT1) ], default => 'CORE'}, |
349 |
'netbios aliases' => { type => '', }, |
'min wins ttl' => { type => 'DURATION', type2 => 'SECONDS', default => 21600}, |
350 |
'netbios name' => { type => '', }, |
'name resolve order' => { type => 'LIST', type2 => 'STRING', type3 => ' ', values => [ qw(lmhosts host wins bcast) ], default => 'lmhosts host wins bcast' }, |
351 |
'netbios scope' => { type => '', }, |
'netbios aliases' => { type => 'LIST', type2 => 'STRING', type3 => ' '}, |
352 |
'nis homedir' => { type => '', }, |
'netbios name' => { type => 'STRING' }, |
353 |
'nt pipe support' => { type => '', }, |
'netbios scope' => { type => '', }, |
354 |
'nt smb support' => { type => '', }, |
'nis homedir' => { type => 'STRING', default => 'no' }, |
355 |
'nt status support' => { type => '', }, |
'nt pipe support' => { type => 'BOOLEAN', default => 1}, |
356 |
'null passwords' => { type => '', }, |
'nt smb support' => { type => 'BOOLEAN', default => 1}, |
357 |
'obey pam restrictions' => { type => '', }, |
'nt status support' => { type => 'BOOLEAN', default => 1}, |
358 |
'oplock break wait time' => { type => '', }, |
'null passwords' => { type => 'BOOLEAN', default => 0}, |
359 |
'os level' => { type => '', }, |
'obey pam restrictions' => { type => 'BOOLEAN', default => 0}, |
360 |
'os2 driver map' => { type => '', }, |
'oplock break wait time' => { type => 'DURATION', type2 => 'MILLISECONDS', default => 0 }, |
361 |
'pam password change' => { type => '', }, |
'os level' => { type => 'INTEGER', default => 20}, |
362 |
'panic action' => { type => '', }, |
'os2 driver map' => { type => 'FILENAME', default => ''}, |
363 |
'passwd chat' => { type => '', }, |
'pam password change' => { type => 'BOOLEAN', default => 0}, |
364 |
'passwd chat debug' => { type => '', }, |
'panic action' => { type => 'COMMAND', }, |
365 |
'passwd program' => { type => '', }, |
'passwd chat' => { type => 'STRING', default => '*new*password* %n\n *new*password* %n\n *changed*'}, |
366 |
'password level' => { type => '', }, |
'passwd chat debug' => { type => 'BOOLEAN', default => 'no'}, |
367 |
'password server' => { type => '', }, |
'passwd program' => { type => 'COMMAND', default => '/bin/passwd'}, |
368 |
'prefered master' => { type => '', }, |
'password level' => { type => 'INTEGER', default => 0}, |
369 |
'preferred master' => { type => '', }, |
'password server' => { type => 'STRING', }, |
370 |
'preload' => { type => '', }, |
'pid directory' => { type => 'DIRECTORY', default => '${prefix}/var/locks'}, |
371 |
'printcap' => { type => '', }, |
'prefered master' => { type => 'STRING', values => [ qw(yes no auto) ], default => 'auto' }, |
372 |
'printcap name' => { type => '', }, |
'preferred master' => { type => 'STRING', values => [ qw(yes no auto) ], default => 'auto' }, |
373 |
'printer driver file' => { type => '', }, |
'preload' => { type => 'LIST', type2 => 'STRING', type3 => ' '}, |
374 |
'protocol' => { type => '', }, |
'printcap' => { type => 'STRING', default => '/etc/printcap'}, |
375 |
'read bmpx' => { type => '', }, |
'printcap name' => { type => 'STRING', default => '/etc/printcap'}, |
376 |
'read raw' => { type => '', }, |
'printer driver file' => { type => 'FILENAME', }, |
377 |
'read size' => { type => '', }, |
'protocol' => { type => 'STRING', values => [ qw(CORE COREPLUS LANMAN1 LANMAN2 NT1) ], default => 'NT1'}, |
378 |
'remote announce' => { type => '', }, |
'read bmpx' => { type => 'BOOLEAN', default => 0 }, |
379 |
'remote browse sync' => { type => '', }, |
'read raw' => { type => 'BOOLEAN', default => 1 }, |
380 |
'restrict anonymous' => { type => '', }, |
'read size' => { type => 'INTEGER', default => 16384 }, |
381 |
'root' => { type => '', }, |
'remote announce' => { type => 'LIST', type2 => 'IP/MASK', type3 => ' '}, |
382 |
'root dir' => { type => '', }, |
'remote browse sync' => { type => 'LIST', type2 => 'IP', type3 => ' '}, |
383 |
'root directory' => { type => '', }, |
'restrict anonymous' => { type => 'BOOLEAN', default => 0}, |
384 |
'security' => { type => '', }, |
'root' => { type => 'DIRECTORY', default => '/'}, |
385 |
'server string' => { type => '', }, |
'root dir' => { type => 'DIRECTORY', default => '/'}, |
386 |
'show add printer wizard' => { type => '', }, |
'root directory' => { type => 'DIRECTORY', default => '/'}, |
387 |
'smb passwd file' => { type => '', }, |
'security' => { type => 'STRING', values => [ qw(user share server domain) ], default => 'user'}, |
388 |
'socket address' => { type => '', }, |
'server string' => { type => 'STRING', default => 'Samba %v'}, |
389 |
'socket options' => { type => '', }, |
'show add printer wizard' => { type => 'BOOLEAN', default => 1}, |
390 |
'source environment' => { type => '', }, |
'smb passwd file' => { type => 'DIRECTORY', default => '${prefix}/private/smbpasswd'}, |
391 |
'ssl' => { type => '', }, |
'socket address' => { type => 'IP', }, |
392 |
'ssl CA certDir' => { type => '', }, |
'socket options' => { type => 'STRING', type2 => default => 'TCP_NODELAY'}, |
393 |
'ssl CA certFile' => { type => '', }, |
'source environment' => { type => 'STRING', }, |
394 |
'ssl ciphers' => { type => '', }, |
'ssl' => { type => 'BOOLEAN', default => 0}, |
395 |
'ssl client cert' => { type => '', }, |
'ssl CA certDir' => { type => 'DIRECTORY', default => '/usr/local/ssl/certs'}, |
396 |
'ssl client key' => { type => '', }, |
'ssl CA certFile' => { type => 'FILENAME', default => '/usr/local/ssl/certs/trustedCAs.pem'}, |
397 |
'ssl compatibility' => { type => '', }, |
'ssl ciphers' => { type => '', }, |
398 |
'ssl egd socket' => { type => '', }, |
'ssl client cert' => { type => 'FILENAME', default => '/usr/local/ssl/certs/smbclient.pem'}, |
399 |
'ssl entropy bytes' => { type => '', }, |
'ssl client key' => { type => 'FILENAME', default => '/usr/local/ssl/private/smbclient.pem'}, |
400 |
'ssl entropy file' => { type => '', }, |
'ssl compatibility' => { type => 'BOOLEAN', default => 0}, |
401 |
'ssl hosts' => { type => '', }, |
'ssl egd socket' => { type => 'DIRECTORY', }, |
402 |
'ssl hosts resign' => { type => '', }, |
'ssl entropy bytes' => { type => 'SIZE', type2 => 'BYTES', default => 255}, |
403 |
'ssl require clientcert' => { type => '', }, |
'ssl entropy file' => { type => 'FILENAME', }, |
404 |
'ssl require servercert' => { type => '', }, |
'ssl hosts' => { type => 'IP', }, |
405 |
'ssl server cert' => { type => '', }, |
'ssl hosts resign' => { type => 'IP', }, |
406 |
'ssl server key' => { type => '', }, |
'ssl require clientcert' => { type => 'BOOLEAN', default => 0}, |
407 |
'ssl version' => { type => '', }, |
'ssl require servercert' => { type => 'BOOLEAN', default => 0}, |
408 |
'stat cache' => { type => '', }, |
'ssl server cert' => { type => 'FILENAME', }, |
409 |
'stat cache size' => { type => '', }, |
'ssl server key' => { type => 'FILENAME', }, |
410 |
'strip dot' => { type => '', }, |
'ssl version' => { type => 'STRING', values => [ qw(ssl2or3 ssl2 ssl3 tls1) ], default => '"ssl2or3"' }, |
411 |
'syslog' => { type => '', }, |
'stat cache' => { type => 'BOOLEAN', default => 1}, |
412 |
'syslog only' => { type => '', }, |
'stat cache size' => { type => 'INTEGER', default => 50}, |
413 |
'template homedir' => { type => '', }, |
'status' => { type => 'BOOLEAN', default => 1}, |
414 |
'template shell' => { type => '', }, |
'strip dot' => { type => 'BOOLEAN', default => 0}, |
415 |
'time offset' => { type => '', }, |
'syslog' => { type => 'INTEGER', default => 1}, |
416 |
'time server' => { type => '', }, |
'syslog only' => { type => 'BOOLEAN', default => 0}, |
417 |
'timestamp logs' => { type => '', }, |
'template homedir' => { type => 'DIRECTORY', default => '/home/%D/%U'}, |
418 |
'total print jobs' => { type => '', }, |
'template shell' => { type => 'COMMAND', default => '/bin/false'}, |
419 |
'unix extensions' => { type => '', }, |
'time offset' => { type => 'DURATION', type2 => 'MINUTES', default => 0}, |
420 |
'unix password sync' => { type => '', }, |
'time server' => { type => 'BOOLEAN', default => 0}, |
421 |
'update encrypted' => { type => '', }, |
'timestamp logs' => { type => 'BOOLEAN', default => 1 }, |
422 |
'use mmap' => { type => '', }, |
'total print jobs' => { type => 'INTEGER', default => 0}, |
423 |
'use rhosts' => { type => '', }, |
'unix extensions' => { type => 'BOOLEAN', default => 0}, |
424 |
'username level' => { type => '', }, |
'unix password sync' => { type => 'BOOLEAN', default => 0}, |
425 |
'username map' => { type => '', }, |
'update encrypted' => { type => 'BOOLEAN', default => 0}, |
426 |
'utmp' => { type => '', }, |
'use mmap' => { type => 'BOOLEAN', default => 1}, |
427 |
'utmp directory' => { type => '', }, |
'use rhosts' => { type => 'BOOLEAN', default => 0}, |
428 |
'valid chars' => { type => '', }, |
'username level' => { type => 'INTEGER', default => 0}, |
429 |
'winbind cache time' => { type => '', }, |
'username map' => { type => 'FILENAME', }, |
430 |
'winbind enum users' => { type => '', }, |
'utmp' => { type => 'BOOLEAN', default => 0}, |
431 |
'winbind enum groups' => { type => '', }, |
'utmp directory' => { type => 'DIRECTORY', }, |
432 |
'winbind gid' => { type => '', }, |
'valid chars' => { type => 'LIST', type2 => 'STRING', type3 => ' '}, |
433 |
'winbind separator' => { type => '', }, |
'winbind cache time' => { type => 'DURATION', type2 => 'SECONDS', default => 15}, |
434 |
'winbind uid' => { type => '', }, |
'winbind enum users' => { type => 'BOOLEAN', default => 1}, |
435 |
'winbind use default domain' => { type => '', }, |
'winbind enum groups' => { type => 'BOOLEAN', default => 1}, |
436 |
'wins hook' => { type => '', }, |
'winbind gid' => { type => 'RANGE', type2 => 'INTEGER', type3 => ''}, |
437 |
'wins proxy' => { type => '', }, |
'winbind separator' => { type => 'STRING', default => '\\' }, |
438 |
'wins server' => { type => '', }, |
'winbind uid' => { type => 'RANGE', type2 => 'INTEGER'}, |
439 |
'wins support' => { type => '', }, |
'winbind use default domain' => { type => 'BOOLEAN', default => 1}, |
440 |
'workgroup' => { type => '', }, |
'wins hook' => { type => 'COMMAND', }, |
441 |
'write raw' => { type => '', }, |
'wins proxy' => { type => 'BOOLEAN', default => 0}, |
442 |
'' => { type => '', }, |
'wins server' => { type => 'IP', }, |
443 |
|
'wins support' => { type => 'BOOLEAN', default => 1}, |
444 |
|
'workgroup' => { type => 'STRING', default => 'WORKGROUP' }, |
445 |
|
'write raw' => { type => 'BOOLEAN', default => 1}, |
446 |
|
}, |
447 |
|
service => { |
448 |
#Here is a list of all service parameters. See the section on each parameter for details. Note that some are synonyms. |
#Here is a list of all service parameters. See the section on each parameter for details. Note that some are synonyms. |
|
|
|
|
|
|
449 |
'admin users' => { type => '', }, |
'admin users' => { type => '', }, |
450 |
'allow hosts' => { type => '', }, |
'allow hosts' => { type => '', }, |
451 |
'available' => { type => '', }, |
'available' => { type => '', }, |
572 |
'write list' => { type => '', }, |
'write list' => { type => '', }, |
573 |
'write ok' => { type => '', }, |
'write ok' => { type => '', }, |
574 |
'writeable' => { type => '', }, |
'writeable' => { type => '', }, |
575 |
}; |
} |
576 |
|
}, |
577 |
$data_mapping = { |
mapping => { |
578 |
BOOLEAN => sub { |
BOOLEAN => sub { |
579 |
my ($value) = @_; |
my ($value) = @_; |
580 |
print " -map -- - $value \n"; |
print " -map -- - $value \n"; |
581 |
$value eq 'true' and return 1; |
$value eq 'true' and return 1; |
582 |
$value eq 'false' and return 0; |
$value eq 'false' and return 0; |
583 |
$value eq 'yes' and return 1; |
$value eq 'yes' and return 1; |
584 |
$value eq 'no' and return 0; |
$value eq 'no' and return 0; |
585 |
$value ? 'true' : 'false'; |
$value ? 'true' : 'false'; |
586 |
}, |
}, |
587 |
}; |
}, |
588 |
|
}; |
589 |
|
|
590 |
1; |
1; |
591 |
|
|