Skip to content

Commit d1143b5

Browse files
committed
Listing usernames from root
1 parent 25d8075 commit d1143b5

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed

bin/lib/blacklist.js

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
1+
const fs = require('fs')
2+
const util = require('util')
3+
const { URL } = require('url')
4+
15
const { loadConfig } = require('./common')
26
const blacklistService = require('../../lib/services/blacklist-service')
7+
38
const AccountManager = require('../../lib/models/account-manager')
49
const LDP = require('../../lib/ldp')
510
const SolidHost = require('../../lib/models/solid-host')
@@ -15,7 +20,10 @@ module.exports = function (program) {
1520
if (!config.multiuser) {
1621
return console.error('You are running a single user server, no need to check for blacklisted users')
1722
}
23+
1824
const host = SolidHost.from({ port: config.port, serverUri: config.serverUri })
25+
const invalidUsernames = await getInvalidUsernames(config)
26+
console.log(invalidUsernames)
1927

2028
const ldp = new LDP(config)
2129
const accountManager = AccountManager.from({
@@ -35,6 +43,15 @@ module.exports = function (program) {
3543
})
3644
}
3745

46+
async function getInvalidUsernames (config) {
47+
const files = await util.promisify(fs.readdir)(config.root)
48+
const hostname = new URL(config.serverUri).hostname
49+
const isUserDirectory = new RegExp(`.${hostname}$`)
50+
return files
51+
.filter(file => isUserDirectory.test(file))
52+
.map(userDirectory => userDirectory.substr(0, userDirectory.length - hostname.length - 1))
53+
}
54+
3855
async function getBlacklistedUsernames (accountManager) {
3956
const blacklistedUsernames = []
4057
await Promise.all(blacklistService.list.map(async (word) => {

0 commit comments

Comments
 (0)