From 12c2d252cf76c45bb8a2b457812540400465de3b Mon Sep 17 00:00:00 2001 From: Jannik Schönartz Date: Mon, 8 Jun 2020 00:31:55 +0000 Subject: [server] PM integration in all missing api-points but groups --- server/lib/permissions/modules/clients.json | 12 ++++++++++++ server/lib/permissions/modules/eventmanager.json | 12 ------------ server/lib/permissions/modules/events.json | 12 ++++++++++++ server/lib/permissions/modules/groups.json | 12 ++++++++++++ server/lib/permissions/modules/ipranges.json | 12 ++++++++++++ server/lib/permissions/modules/ipxeconfigs.json | 12 ++++++++++++ server/lib/permissions/modules/ipxeentries.json | 12 ++++++++++++ server/lib/permissions/modules/permissionmanager.json | 12 ------------ server/lib/permissions/modules/permissions.json | 7 +++++++ server/lib/permissions/modules/registration.json | 12 ++++++++++++ server/lib/permissions/modules/roles.json | 12 ++++++++++++ server/lib/permissions/modules/systemlog.json | 7 +++++++ server/lib/permissions/modules/wakerequests.json | 7 +++++++ server/lib/wolhelper.js | 7 +++++-- 14 files changed, 122 insertions(+), 26 deletions(-) create mode 100644 server/lib/permissions/modules/clients.json delete mode 100644 server/lib/permissions/modules/eventmanager.json create mode 100644 server/lib/permissions/modules/events.json create mode 100644 server/lib/permissions/modules/groups.json create mode 100644 server/lib/permissions/modules/ipranges.json create mode 100644 server/lib/permissions/modules/ipxeconfigs.json create mode 100644 server/lib/permissions/modules/ipxeentries.json delete mode 100644 server/lib/permissions/modules/permissionmanager.json create mode 100644 server/lib/permissions/modules/permissions.json create mode 100644 server/lib/permissions/modules/registration.json create mode 100644 server/lib/permissions/modules/roles.json create mode 100644 server/lib/permissions/modules/systemlog.json create mode 100644 server/lib/permissions/modules/wakerequests.json (limited to 'server/lib') diff --git a/server/lib/permissions/modules/clients.json b/server/lib/permissions/modules/clients.json new file mode 100644 index 0000000..7e69f9e --- /dev/null +++ b/server/lib/permissions/modules/clients.json @@ -0,0 +1,12 @@ +[ + { + "name": "view", + "description": "View all clients and their information.", + "groupdependent": true + }, + { + "name": "edit", + "description": "Create, delete, edit clients.", + "groupdependent": true + } +] \ No newline at end of file diff --git a/server/lib/permissions/modules/eventmanager.json b/server/lib/permissions/modules/eventmanager.json deleted file mode 100644 index 97507ff..0000000 --- a/server/lib/permissions/modules/eventmanager.json +++ /dev/null @@ -1,12 +0,0 @@ -[ - { - "name": "view", - "description": "View Events", - "groupdependent": false - }, - { - "name": "edit", - "description": "Edit Events", - "groupdependent": false - } -] \ No newline at end of file diff --git a/server/lib/permissions/modules/events.json b/server/lib/permissions/modules/events.json new file mode 100644 index 0000000..3a7d6c8 --- /dev/null +++ b/server/lib/permissions/modules/events.json @@ -0,0 +1,12 @@ +[ + { + "name": "view", + "description": "View all events and their information.", + "groupdependent": true + }, + { + "name": "edit", + "description": "Create, delete, edit events.", + "groupdependent": true + } +] \ No newline at end of file diff --git a/server/lib/permissions/modules/groups.json b/server/lib/permissions/modules/groups.json new file mode 100644 index 0000000..4fdb010 --- /dev/null +++ b/server/lib/permissions/modules/groups.json @@ -0,0 +1,12 @@ +[ + { + "name": "view", + "description": "View all groups and their information.", + "groupdependent": true + }, + { + "name": "edit", + "description": "Create, delete, edit groups.", + "groupdependent": true + } +] \ No newline at end of file diff --git a/server/lib/permissions/modules/ipranges.json b/server/lib/permissions/modules/ipranges.json new file mode 100644 index 0000000..0127314 --- /dev/null +++ b/server/lib/permissions/modules/ipranges.json @@ -0,0 +1,12 @@ +[ + { + "name": "view", + "description": "View all ipranges including their informations.", + "groupdependent": false + }, + { + "name": "edit", + "description": "Edit and delete ipranges.", + "groupdependent": false + } +] \ No newline at end of file diff --git a/server/lib/permissions/modules/ipxeconfigs.json b/server/lib/permissions/modules/ipxeconfigs.json new file mode 100644 index 0000000..1a3f761 --- /dev/null +++ b/server/lib/permissions/modules/ipxeconfigs.json @@ -0,0 +1,12 @@ +[ + { + "name": "view", + "description": "View all ipxe configs and their information.", + "groupdependent": true + }, + { + "name": "edit", + "description": "Create, delete, edit ipxe configs.", + "groupdependent": true + } +] \ No newline at end of file diff --git a/server/lib/permissions/modules/ipxeentries.json b/server/lib/permissions/modules/ipxeentries.json new file mode 100644 index 0000000..466e379 --- /dev/null +++ b/server/lib/permissions/modules/ipxeentries.json @@ -0,0 +1,12 @@ +[ + { + "name": "view", + "description": "View all ipxe entries and their information.", + "groupdependent": true + }, + { + "name": "edit", + "description": "Create, delete, edit ipxe entries.", + "groupdependent": true + } +] \ No newline at end of file diff --git a/server/lib/permissions/modules/permissionmanager.json b/server/lib/permissions/modules/permissionmanager.json deleted file mode 100644 index ee9b12b..0000000 --- a/server/lib/permissions/modules/permissionmanager.json +++ /dev/null @@ -1,12 +0,0 @@ -[ - { - "name": "view", - "description": "View Roles", - "groupdependent": false - }, - { - "name": "edit", - "description": "Edit Roles", - "groupdependent": false - } -] \ No newline at end of file diff --git a/server/lib/permissions/modules/permissions.json b/server/lib/permissions/modules/permissions.json new file mode 100644 index 0000000..b7e15f5 --- /dev/null +++ b/server/lib/permissions/modules/permissions.json @@ -0,0 +1,7 @@ +[ + { + "name": "view", + "description": "View a list of all permissions and check them for a user.", + "groupdependent": false + } +] \ No newline at end of file diff --git a/server/lib/permissions/modules/registration.json b/server/lib/permissions/modules/registration.json new file mode 100644 index 0000000..d7bd7d8 --- /dev/null +++ b/server/lib/permissions/modules/registration.json @@ -0,0 +1,12 @@ +[ + { + "name": "view", + "description": "View all registration hooks including their informations.", + "groupdependent": false + }, + { + "name": "edit", + "description": "Edit and delete registration hooks.", + "groupdependent": false + } +] \ No newline at end of file diff --git a/server/lib/permissions/modules/roles.json b/server/lib/permissions/modules/roles.json new file mode 100644 index 0000000..73e7a4a --- /dev/null +++ b/server/lib/permissions/modules/roles.json @@ -0,0 +1,12 @@ +[ + { + "name": "view", + "description": "View all roles and their information.", + "groupdependent": true + }, + { + "name": "edit", + "description": "Create, delete, edit roles.", + "groupdependent": true + } +] \ No newline at end of file diff --git a/server/lib/permissions/modules/systemlog.json b/server/lib/permissions/modules/systemlog.json new file mode 100644 index 0000000..5a80bc3 --- /dev/null +++ b/server/lib/permissions/modules/systemlog.json @@ -0,0 +1,7 @@ +[ + { + "name": "view", + "description": "View the systemlog.", + "groupdependent": false + } +] \ No newline at end of file diff --git a/server/lib/permissions/modules/wakerequests.json b/server/lib/permissions/modules/wakerequests.json new file mode 100644 index 0000000..1f4c000 --- /dev/null +++ b/server/lib/permissions/modules/wakerequests.json @@ -0,0 +1,7 @@ +[ + { + "name": "send", + "description": "Send wake-on-lan requests to clients.", + "groupdependent": false + } +] \ No newline at end of file diff --git a/server/lib/wolhelper.js b/server/lib/wolhelper.js index c840e44..eaca0e6 100644 --- a/server/lib/wolhelper.js +++ b/server/lib/wolhelper.js @@ -8,7 +8,10 @@ function wakeUp (clients) { const loop = () => { setTimeout(() => { let client = clients[i] - if (client.mac !== null && client.ip !== null) { + + // Regex for mac address + const regex = /^([0-9A-F]{2}[:-]){5}([0-9A-F]{2})$/ + if (client.mac !== null && client.ip !== null && regex.test(client.mac)) { console.log('Waking up: ' + client.name + ' (' + client.mac + ')') wol.wake(client.mac, { address: client.ip.slice(0, client.ip.lastIndexOf('.') + 1) + '255' }, err => { if (err) console.log(err) }) log({ @@ -20,7 +23,7 @@ function wakeUp (clients) { } else { log({ category: 'ERROR_WAKE_ON_LAN', - description: 'Client is missing ip or mac address.', + description: 'Client has an invalid ip or mac address.', client, clientId: client.id }) -- cgit v1.2.3-55-g7522