1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-27 03:21:53 +03:00
samba-mirror/testdata/samba3/verify

60 lines
1.7 KiB
Plaintext
Executable File

#!/usr/bin/env smbscript
/* Verifies that the data present in this directory
Can be read correctly by Samba4. Do not update
without changing the corresponding TDB file!
Written by Jelmer Vernooij, 2005.
*/
var sys;
var options = GetOptions(ARGV, "POPT_AUTOHELP", "POPT_COMMON_SAMBA");
if (options == undefined) {
println("Failed to parse options");
return -1;
}
libinclude("base.js");
var path = substr(ARGV[0], 0, -strlen("verify"));
printf("Reading from %s\n", path);
var s = samba3_read(path, path+"smb.conf");
assert(s != undefined);
// smb.conf checks
assert(s.configuration.get("passdb backend") != undefined);
var data = s.configuration.data();
assert(data != undefined);
var global = data["global"];
assert(global != undefined);
assert(global["passdb backend"] == s.configuration.get("passdb backend"));
assert(global["passdb backend"] != undefined);
println("smb.conf ok");
assert(s.winsentries.length == 22);
assert(s.samaccounts.length == 3);
assert(s.shares.length == 0);
assert(s.registry.keys.length == 28);
assert(s.groupmappings.length == 13);
assert(s.aliases.length == 0);
assert(s.idmapdb.mappings.length == 4);
println("database entry count correct");
// account policies
assert(s.policy.min_password_length == 5);
assert(s.policy.minimum_password_age == 0);
assert(s.policy.maximum_password_age == 999999999);
assert(s.policy.refuse_machine_password_change == 0);
assert(s.policy.reset_count_minutes == 0);
assert(s.policy.disconnect_time == -1);
assert(s.policy.user_must_logon_to_change_password == 0);
assert(s.policy.password_history == 0);
assert(s.policy.lockout_duration == 0);
assert(s.policy.bad_lockout_minutes == 0);
println("account policies ok");
exit(0);