Skip to content

Commit

Permalink
Log alias attempts with incorrect secret (#6)
Browse files Browse the repository at this point in the history
  • Loading branch information
HDegroote authored Jul 18, 2024
1 parent 39b461d commit 59415a4
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 4 deletions.
9 changes: 5 additions & 4 deletions lib/alias-rpc.js
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ class AliasRpcServer extends ReadyResource {
await this.swarm.destroy()
}

_onconnection (socket) {
_onconnection (socket, info) {
const uid = crypto.randomUUID()
const remotePublicKey = socket.remotePublicKey

Expand All @@ -45,13 +45,14 @@ class AliasRpcServer extends ReadyResource {
'alias',
{ responseEncoding: AliasRespEnc, requestEncoding: AliasReqEnc },
async (req) => {
const targetPublicKey = req.targetPublicKey
const alias = req.alias

if (!b4a.equals(req.secret, this.secret)) {
this.emit('alias-unauthorised', { uid, remotePublicKey, targetPublicKey, alias })
return { success: false, errorMessage: 'unauthorised' }
}

const targetPublicKey = req.targetPublicKey
const alias = req.alias

this.emit('alias-request', { uid, remotePublicKey, targetPublicKey, alias })
try {
const updated = await this._putAlias(alias, targetPublicKey)
Expand Down
7 changes: 7 additions & 0 deletions run.js
Original file line number Diff line number Diff line change
Expand Up @@ -115,6 +115,13 @@ function setupLogging (bridge, logger) {
}
)

// TODO: log IP address + rate limit
bridge.aliasRpcServer.on(
'alias-unauthorised', ({ uid, remotePublicKey, targetPublicKey, alias }) => {
logger.info(`Unauthorised alias request from ${idEnc.normalize(remotePublicKey)} to set alias ${alias}->${idEnc.normalize(targetPublicKey)} (uid: ${uid})`)
}
)

bridge.aliasRpcServer.on(
'register-error', ({ uid, error }) => {
logger.info(`Alias error: ${error} (${uid})`)
Expand Down

0 comments on commit 59415a4

Please sign in to comment.