svn commit: samba r10190 - in branches/SAMBA_4_0: source/pidl
source/script source/scripting/libjs source/setup swat/install
jelmer at samba.org
jelmer at samba.org
Mon Sep 12 23:52:25 GMT 2005
Author: jelmer
Date: 2005-09-12 23:52:25 +0000 (Mon, 12 Sep 2005)
New Revision: 10190
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=10190
Log:
Do some very basic input checking when provisioning.
Modified:
branches/SAMBA_4_0/source/pidl/pidl.1.xml
branches/SAMBA_4_0/source/script/build_idl.sh
branches/SAMBA_4_0/source/scripting/libjs/provision.js
branches/SAMBA_4_0/source/setup/provision
branches/SAMBA_4_0/source/setup/provision.zone
branches/SAMBA_4_0/swat/install/provision.esp
Changeset:
Modified: branches/SAMBA_4_0/source/pidl/pidl.1.xml
===================================================================
--- branches/SAMBA_4_0/source/pidl/pidl.1.xml 2005-09-12 21:51:12 UTC (rev 10189)
+++ branches/SAMBA_4_0/source/pidl/pidl.1.xml 2005-09-12 23:52:25 UTC (rev 10190)
@@ -30,7 +30,6 @@
<arg choice="opt">--server</arg>
<arg choice="opt">--dcom-proxy</arg>
<arg choice="opt">--com-header</arg>
- <arg choice="opt">--odl</arg>
<arg choice="opt">--warn-compat</arg>
<arg choice="opt">--quiet</arg>
<arg choice="opt">--verbose</arg>
Modified: branches/SAMBA_4_0/source/script/build_idl.sh
===================================================================
--- branches/SAMBA_4_0/source/script/build_idl.sh 2005-09-12 21:51:12 UTC (rev 10189)
+++ branches/SAMBA_4_0/source/script/build_idl.sh 2005-09-12 23:52:25 UTC (rev 10190)
@@ -6,7 +6,7 @@
[ -d librpc/gen_ndr ] || mkdir -p librpc/gen_ndr || exit 1
-PIDL="$PERL ./pidl/pidl --outputdir librpc/gen_ndr --ndr-header --header --ndr-parser --server --client --dcom-proxy --com-header --swig --odl --ejs $PIDL_EXTRA_ARGS"
+PIDL="$PERL ./pidl/pidl --outputdir librpc/gen_ndr --ndr-header --header --ndr-parser --server --client --dcom-proxy --com-header --swig --ejs $PIDL_EXTRA_ARGS"
if [ x$FULLBUILD = xFULL ]; then
echo Rebuilding all idl files in librpc/idl
Modified: branches/SAMBA_4_0/source/scripting/libjs/provision.js
===================================================================
--- branches/SAMBA_4_0/source/scripting/libjs/provision.js 2005-09-12 21:51:12 UTC (rev 10189)
+++ branches/SAMBA_4_0/source/scripting/libjs/provision.js 2005-09-12 23:52:25 UTC (rev 10190)
@@ -233,7 +233,9 @@
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 @@
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;
Modified: branches/SAMBA_4_0/source/setup/provision
===================================================================
--- branches/SAMBA_4_0/source/setup/provision 2005-09-12 21:51:12 UTC (rev 10189)
+++ branches/SAMBA_4_0/source/setup/provision 2005-09-12 23:52:25 UTC (rev 10190)
@@ -108,6 +108,11 @@
var blank = (options["blank"] != undefined);
+if (!provision_validate(subobj, message)) {
+ return -1;
+}
+
+
message("Provisioning for %s in realm %s\n", subobj.DOMAIN, subobj.REALM);
message("Using administrator password: %s\n", subobj.ADMINPASS);
provision(subobj, message, blank, provision_default_paths(subobj));
Modified: branches/SAMBA_4_0/source/setup/provision.zone
===================================================================
--- branches/SAMBA_4_0/source/setup/provision.zone 2005-09-12 21:51:12 UTC (rev 10189)
+++ branches/SAMBA_4_0/source/setup/provision.zone 2005-09-12 23:52:25 UTC (rev 10190)
@@ -1,4 +1,4 @@
-; generate by provision.pl
+; generated by provision.pl
$ORIGIN ${DNSDOMAIN}.
$TTL 1W
@ IN SOA @ hostmaster (
Modified: branches/SAMBA_4_0/swat/install/provision.esp
===================================================================
--- branches/SAMBA_4_0/swat/install/provision.esp 2005-09-12 21:51:12 UTC (rev 10189)
+++ branches/SAMBA_4_0/swat/install/provision.esp 2005-09-12 23:52:25 UTC (rev 10190)
@@ -58,6 +58,8 @@
} else if (subobj.ADMINPASS == "") {
write("<h3>You must choose an administrator password. Please try again.</h3>");
f.display();
+ } else if (!provision_validate(subobj, writefln)) {
+ f.display();
} else {
provision(subobj, writefln, false, provision_default_paths(subobj));
}
More information about the samba-cvs
mailing list