From 0a6c042b118722f57ef35367b131296b9cfe2ab3 Mon Sep 17 00:00:00 2001 From: wgapi Cloud9 Date: Thu, 21 Oct 2021 20:32:56 -0600 Subject: [PATCH] #14 Don't delete requester --- app/del.js | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/app/del.js b/app/del.js index 80f60fd..0cfc93a 100644 --- a/app/del.js +++ b/app/del.js @@ -88,12 +88,21 @@ module.exports = async (req, res) => { const peer_name = peer_lines .filter( (line) => line.includes('[Peer] # ') )[0] .split(' # ')[1] + const peer_ips = peer_lines + .filter( (line) => line.includes('AllowedIPs = '))[0] + .split(' = ')[1] if (peer_pubkey===undefined) { peer_pubkey = peer_lines .filter( (line) => line.includes('PublicKey = ') )[0] .split(' = ')[1] } + // Make sure requester can't delete self + if (peer_ips.includes(req.requester)) { + console.log(`Refused to let ${req.requester} delete self: ${peer_name}`) + return res.sendStatus(409) // "Conflict" + } + // Delete from local wg config console.log(`Deleting ${peer_name}`); try { await fs.writeFile(env.WG_CONFIG_FILE,