VCL-1116 - use database hostnames for ad joined computers
generally, changed usedbhostname to usedbhostnames and useDatabaseHostnamesForComputerObjects to usedbhostnames
DataStructure.pm: changed $SUBROUTINE_MAPPINGS{image_domain_usedbhostname} to $SUBROUTINE_MAPPINGS{image_domain_usedbhostnames}
Windows.pm: modified set_computer_hostname: changed get_image_domain_usedbhostname to get_image_domain_usedbhostnames
update-vcl.sql modified addomain: added usedbhostnames
vcl.sql: modified addomain: changed usedbhostname to usedbhostnames
addomain.php
-modified AJsaveResource: changed usedbhostname to usedbhostnames and useDatabaseHostnamesForComputerObjects to usedbhostnames
-modified addResource: changed useDatabaseHostnamesForComputerObjects to usedbhostnames
-modified validateResourceData: changed useDatabaseHostnamesForComputerObjects to usedbhostnames; set $return['usedbhostnames'] by calling processInputVar instead of referencing $_POST directly; added validation of $return['usedbhostnames']
utils.php: modified getADdomains: changed useDatabaseHostnamesForComputerObjects to usedbhostnames
addomain.js: modified inlineEditResourceCB and saveResource: changed useDatabaseHostnamesForComputerObjects to usedbhostnames
diff --git a/managementnode/lib/VCL/DataStructure.pm b/managementnode/lib/VCL/DataStructure.pm
index ba8d614..1b0bf41 100644
--- a/managementnode/lib/VCL/DataStructure.pm
+++ b/managementnode/lib/VCL/DataStructure.pm
@@ -404,7 +404,7 @@
#$SUBROUTINE_MAPPINGS{image_domain_password} = '$self->request_data->{reservation}{RESERVATION_ID}{image}{imagedomain}{password}'; # Explicit subroutine
$SUBROUTINE_MAPPINGS{image_domain_secret_id} = '$self->request_data->{reservation}{RESERVATION_ID}{image}{imagedomain}{secretid}';
$SUBROUTINE_MAPPINGS{image_domain_username} = '$self->request_data->{reservation}{RESERVATION_ID}{image}{imagedomain}{username}';
-$SUBROUTINE_MAPPINGS{image_domain_usedbhostname} = '$self->request_data->{reservation}{RESERVATION_ID}{image}{imagedomain}{usedbhostname}';
+$SUBROUTINE_MAPPINGS{image_domain_usedbhostnames} = '$self->request_data->{reservation}{RESERVATION_ID}{image}{imagedomain}{usedbhostnames}';
$SUBROUTINE_MAPPINGS{image_domain_base_ou} = '$self->request_data->{reservation}{RESERVATION_ID}{image}{imagedomain}{imageaddomain}{baseOU}';
$SUBROUTINE_MAPPINGS{image_domain_cryptsecret} = '$self->request_data->{reservation}{RESERVATION_ID}{image}{imagedomain}{cryptsecret}{cryptsecret}';
diff --git a/managementnode/lib/VCL/Module/OS/Windows.pm b/managementnode/lib/VCL/Module/OS/Windows.pm
index 027e333..a17c35c 100644
--- a/managementnode/lib/VCL/Module/OS/Windows.pm
+++ b/managementnode/lib/VCL/Module/OS/Windows.pm
@@ -12741,7 +12741,7 @@
return;
}
- my $use_database_hostnames = $self->data->get_image_domain_usedbhostname();
+ my $use_database_hostnames = $self->data->get_image_domain_usedbhostnames();
my $database_computer_hostname = $self->data->get_computer_hostname();
my $system32_path = $self->get_system32_path() || return;
diff --git a/mysql/update-vcl.sql b/mysql/update-vcl.sql
index 624f3f1..60ddc8f 100644
--- a/mysql/update-vcl.sql
+++ b/mysql/update-vcl.sql
@@ -878,6 +878,7 @@
`username` varchar(64) NOT NULL default '',
`password` varchar(256) NOT NULL default '',
`secretid` smallint(5) unsigned NOT NULL,
+ `usedbhostnames` tinyint(1) unsigned NOT NULL default '0',
PRIMARY KEY (`id`),
KEY `domainDNSName` (`domainDNSName`),
KEY `secretid` (`secretid`)
diff --git a/mysql/vcl.sql b/mysql/vcl.sql
index dea4ea9..45db9ea 100644
--- a/mysql/vcl.sql
+++ b/mysql/vcl.sql
@@ -38,7 +38,7 @@
`username` varchar(64) NOT NULL default '',
`password` varchar(256) NOT NULL default '',
`secretid` smallint(5) unsigned NOT NULL,
- `usedbhostname` tinyint(1) unsigned NOT NULL default '0',
+ `usedbhostnames` tinyint(1) unsigned NOT NULL default '0',
PRIMARY KEY (`id`),
KEY `domainDNSName` (`domainDNSName`),
KEY `secretid` (`secretid`)
diff --git a/web/.ht-inc/addomain.php b/web/.ht-inc/addomain.php
index e59d72c..7e9f5a1 100644
--- a/web/.ht-inc/addomain.php
+++ b/web/.ht-inc/addomain.php
@@ -242,9 +242,9 @@
# dnsservers
if($data['dnsservers'] != $olddata['dnsservers'])
$updates[] = "dnsServers = '{$data['dnsservers']}'";
- # useDatabaseHostnamesForComputerObjects
- if($data['useDatabaseHostnamesForComputerObjects'] != $olddata['useDatabaseHostnamesForComputerObjects'])
- $updates[] = "usedbhostname = {$data['useDatabaseHostnamesForComputerObjects']}";
+ # usedbhostnames
+ if($data['usedbhostnames'] != $olddata['usedbhostnames'])
+ $updates[] = "usedbhostnames = {$data['usedbhostnames']}";
if(count($updates)) {
$query = "UPDATE addomain SET "
. implode(', ', $updates)
@@ -350,7 +350,7 @@
. "password, "
. "secretid, "
. "dnsServers, "
- . "usedbhostname) "
+ . "usedbhostnames) "
. "VALUES ('{$data['name']}', "
. "$ownerid, "
. "'{$data['domaindnsname']}', "
@@ -358,7 +358,7 @@
. "'$encpass', "
. "$secretid, "
. "'{$data['dnsservers']}', "
- . "'{$data['useDatabaseHostnamesForComputerObjects']}')";
+ . "'{$data['usedbhostnames']}')";
doQuery($query);
$rscid = dbLastInsertID();
@@ -518,7 +518,7 @@
$return["password"] = $_POST['password'];
$return["password2"] = $_POST['password2'];
$return["dnsservers"] = processInputVar("dnsservers", ARG_STRING);
- $return["useDatabaseHostnamesForComputerObjects"] = $_POST['useDatabaseHostnamesForComputerObjects'];
+ $return["usedbhostnames"] = processInputVar('usedbhostnames', ARG_NUMERIC, 0);
if(! preg_match("/^([A-Za-z0-9-!@#$%^&\*\(\)_=\+\[\]{}\\\|:;,\.\/\?~` ]){2,30}$/", $return['name'])) {
$return['error'] = 1;
@@ -563,6 +563,9 @@
}
}
+ if($return['usedbhostnames'] != 0 && $return['usedbhostnames'] != 1)
+ $return['usedbhostnames'] = 0;
+
if($return['error'])
$return['errormsg'] = implode('<br>', $errormsg);
diff --git a/web/.ht-inc/utils.php b/web/.ht-inc/utils.php
index 6dc4f5b..662ab77 100644
--- a/web/.ht-inc/utils.php
+++ b/web/.ht-inc/utils.php
@@ -9495,7 +9495,7 @@
/// \b username\n
/// \b dnsservers\n
/// \b secretid\n
-/// \b useDatabaseHostnamesForComputerObjects\n
+/// \b usedbhostnames
///
/// \brief builds an array of AD domains
///
@@ -9510,7 +9510,7 @@
. "ad.username, "
. "ad.dnsServers AS dnsservers, "
. "ad.secretid, "
- . "ad.usedbhostname AS useDatabaseHostnamesForComputerObjects "
+ . "ad.usedbhostnames "
. "FROM addomain ad, "
. "affiliation a, "
. "user u, "
diff --git a/web/js/resources/addomain.js b/web/js/resources/addomain.js
index 158d97c..e782586 100644
--- a/web/js/resources/addomain.js
+++ b/web/js/resources/addomain.js
@@ -44,8 +44,8 @@
dijit.byId('domaindnsname').set('value', data.items.data.domaindnsname);
dijit.byId('username').set('value', data.items.data.username);
dijit.byId('dnsservers').set('value', data.items.data.dnsservers);
- if (data.items.data.useDatabaseHostnamesForComputerObjects == 1) {
- dijit.byId('usedbhostnames').set('checked', data.items.data.useDatabaseHostnamesForComputerObjects)
+ if(data.items.data.usedbhostnames == 1) {
+ dijit.byId('usedbhostnames').set('checked', data.items.data.usedbhostnames)
}
dijit.byId('password').set('value', '********');
dijit.byId('password2').set('value', 'xxxxxxxx');
@@ -90,12 +90,12 @@
dojo.byId('addeditdlgerrmsg').innerHTML = _('Passwords do not match');
return;
}
- // update useDatabaseHostnamesForComputerObjects
+ // update usedbhostnames
if(dijit.byId('usedbhostnames').get('checked')) {
- data['useDatabaseHostnamesForComputerObjects'] = 1;
+ data['usedbhostnames'] = 1;
}
else {
- data['useDatabaseHostnamesForComputerObjects'] = 0;
+ data['usedbhostnames'] = 0;
}
dijit.byId('addeditbtn').set('disabled', true);
RPCwrapper(data, saveResourceCB, 1);