1
0
mirror of https://github.com/samba-team/samba.git synced 2025-11-01 16:23:49 +03:00

r10190: Do some very basic input checking when provisioning.

This commit is contained in:
Jelmer Vernooij
2005-09-12 23:52:25 +00:00
committed by Gerald (Jerry) Carter
parent 2f24fc7a7a
commit 87f25fe49c
6 changed files with 35 additions and 3 deletions

View File

@@ -233,7 +233,9 @@ function provision(subobj, message, blank, paths)
subobj.REALM = strlower(subobj.REALM);
subobj.HOSTNAME = strlower(subobj.HOSTNAME);
subobj.DOMAIN = strupper(subobj.DOMAIN);
assert(valid_netbios_name(subobj.DOMAIN));
subobj.NETBIOSNAME = strupper(subobj.HOSTNAME);
assert(valid_netbios_name(subobj.NETBIOSNAME));
var rdns = split(",", subobj.BASEDN);
subobj.RDN_DC = substr(rdns[0], strlen("DC="));
@@ -431,5 +433,29 @@ member: %s
return enable_account(ldb, user_dn);
}
// Check whether a name is valid as a NetBIOS name.
// FIXME: There are probably more constraints here
function valid_netbios_name(name)
{
if (strlen(name) > 13) return false;
if (strstr(name, ".")) return false;
return true;
}
function provision_validate(subobj, message)
{
if (!valid_netbios_name(subobj.DOMAIN)) {
message("Invalid NetBIOS name for domain\n");
return false;
}
if (!valid_netbios_name(subobj.NETBIOSNAME)) {
message("Invalid NetBIOS name for host\n");
return false;
}
return true;
}
return 0;