summaryrefslogtreecommitdiffstats
path: root/server
diff options
context:
space:
mode:
authorJannik Schönartz2019-04-17 22:44:07 +0200
committerJannik Schönartz2019-04-17 22:44:07 +0200
commit550ac0ab5ea3899b4efe9fed5b905e088466988d (patch)
tree3990ef8247820c2ee18f2d38509360c8ad38e8c8 /server
parent[server/external-backends] Fix for the update client mehtod (unnecessary idoi... (diff)
downloadbas-550ac0ab5ea3899b4efe9fed5b905e088466988d.tar.gz
bas-550ac0ab5ea3899b4efe9fed5b905e088466988d.tar.xz
bas-550ac0ab5ea3899b4efe9fed5b905e088466988d.zip
[server/registration] If domain gets updated without a hostname, use clientname as hostname
Diffstat (limited to 'server')
-rw-r--r--server/api/registration.js7
-rw-r--r--server/lib/external-backends/backends/idoit-backend.js2
-rw-r--r--server/lib/external-backends/backends/infoblox-backend.js5
-rw-r--r--server/lib/shell.js2
-rw-r--r--server/lib/wolhelper.js2
5 files changed, 11 insertions, 7 deletions
diff --git a/server/api/registration.js b/server/api/registration.js
index 2ebf522..5c5437b 100644
--- a/server/api/registration.js
+++ b/server/api/registration.js
@@ -232,9 +232,14 @@ noAuthRouter.postAsync('/clients/:uuid', async (req, res) => {
const clientDb = await db.client.findOne({ where: { uuid: req.params.uuid } })
if (!clientDb) return res.status(404).send({ error: 'CLIENT_NOT_FOUND', message: 'There is no client matching the provided uuid.' })
if (client.name) clientDb.update({ name: client.name })
- else client.name = clientDb.name
client.id = clientDb.id
+ // If domain gets updated without a hostname, set the hostname as name.
+ for (let index in client.networks) {
+ const network = client.networks[index]
+ if (network.domain && !network.hostname) network.hostname = clientDb.name
+ }
+
if (client && client.system) {
// System data. Sometime just string with whitespaces only.
if (!/\S/.test(client.system.manufacturer)) client.system.manufacturer = 'unavailable'
diff --git a/server/lib/external-backends/backends/idoit-backend.js b/server/lib/external-backends/backends/idoit-backend.js
index 350fc85..169f08b 100644
--- a/server/lib/external-backends/backends/idoit-backend.js
+++ b/server/lib/external-backends/backends/idoit-backend.js
@@ -418,7 +418,7 @@ class IdoitBackend extends ExternalBackends {
for (let index in client.networks) {
const network = client.networks[index]
- if (network.ip && network.hostname, network.domain) {
+ if (network.ip && network.hostname && network.domain) {
// Update ip addresses
let paramsIp = {
'object': client.id,
diff --git a/server/lib/external-backends/backends/infoblox-backend.js b/server/lib/external-backends/backends/infoblox-backend.js
index cc7f149..e639270 100644
--- a/server/lib/external-backends/backends/infoblox-backend.js
+++ b/server/lib/external-backends/backends/infoblox-backend.js
@@ -158,9 +158,8 @@ class InfobloxBackend extends ExternalBackends {
for (let index in client.networks) {
const network = client.networks[index]
- network.domain = 'public.ads.uni-freiburg.de'
- if (client.name && network.domain) {
- data.name = client.name + '.' + network.domain
+ if (client.hostname && network.domain) {
+ data.name = client.hostname + '.' + network.domain
}
let ipv4addr = {}
diff --git a/server/lib/shell.js b/server/lib/shell.js
index bc6a216..863e06b 100644
--- a/server/lib/shell.js
+++ b/server/lib/shell.js
@@ -2,7 +2,7 @@
var path = require('path')
var shell = require('shelljs')
// var child = require('child_process')
-//var ipxeGIT = 'git://git.ipxe.org/ipxe.git'
+// var ipxeGIT = 'git://git.ipxe.org/ipxe.git'
var ipxeGIT = 'http://git.ipxe.org/ipxe.git'
var io = require(path.join(__appdir, 'lib', 'socketio'))
const fs = require('fs')
diff --git a/server/lib/wolhelper.js b/server/lib/wolhelper.js
index fb5bd95..e9cb3b0 100644
--- a/server/lib/wolhelper.js
+++ b/server/lib/wolhelper.js
@@ -14,4 +14,4 @@ function wakeUp (clients) {
loop()
}
-module.exports = { wakeUp } \ No newline at end of file
+module.exports = { wakeUp }