forked from Mirrors/doipjs
Add sasl support
This commit is contained in:
parent
a523ec4191
commit
2153185729
9 changed files with 1382 additions and 612 deletions
643
dist/doip.core.js
vendored
643
dist/doip.core.js
vendored
File diff suppressed because it is too large
Load diff
4
dist/doip.core.min.js
vendored
4
dist/doip.core.min.js
vendored
File diff suppressed because one or more lines are too long
658
dist/doip.fetchers.js
vendored
658
dist/doip.fetchers.js
vendored
File diff suppressed because it is too large
Load diff
6
dist/doip.fetchers.min.js
vendored
6
dist/doip.fetchers.min.js
vendored
File diff suppressed because one or more lines are too long
658
dist/doip.fetchers.minimal.js
vendored
658
dist/doip.fetchers.minimal.js
vendored
File diff suppressed because it is too large
Load diff
6
dist/doip.fetchers.minimal.min.js
vendored
6
dist/doip.fetchers.minimal.min.js
vendored
File diff suppressed because one or more lines are too long
|
@ -35,7 +35,8 @@ export const opts = {
|
|||
privateKey: null
|
||||
},
|
||||
irc: {
|
||||
nick: null
|
||||
nick: null,
|
||||
sasl: []
|
||||
},
|
||||
matrix: {
|
||||
instance: null,
|
||||
|
|
|
@ -59,12 +59,25 @@ export async function fn (data, opts) {
|
|||
}
|
||||
|
||||
try {
|
||||
// Add sasl-related config if the server matches
|
||||
const matchedSaslConfig = opts.claims.irc.sasl.find(saslConfig => data.domain.match(new RegExp(saslConfig.domainRegex)) !== null);
|
||||
const saslOptions = matchedSaslConfig
|
||||
? {
|
||||
sasl: true,
|
||||
userName: matchedSaslConfig.username,
|
||||
password: matchedSaslConfig.password
|
||||
}
|
||||
: {
|
||||
sasl: false
|
||||
}
|
||||
|
||||
const client = new irc.Client(data.domain, opts.claims.irc.nick, {
|
||||
port: 6697,
|
||||
secure: true,
|
||||
channels: [],
|
||||
showErrors: false,
|
||||
debug: false
|
||||
debug: false,
|
||||
...saslOptions
|
||||
})
|
||||
const reKey = /[a-zA-Z0-9\-_]+\s+:\s((?:openpgp4fpr|aspe):.*)/
|
||||
const reEnd = /End\sof\s.*\staxonomy./
|
||||
|
|
|
@ -130,6 +130,7 @@ import { PublicKeyType, PublicKeyEncoding, PublicKeyFetchMethod, ProxyPolicy, Cl
|
|||
* Config related to the verification of IRC claims
|
||||
* @typedef {object} IrcClaimVerificationConfig
|
||||
* @property {string} nick - The nick that the library uses to connect to the IRC server
|
||||
* @property {{ domainRegex: string; username: string; password: string; }[]} sasl - An array of possible SASL logins
|
||||
*/
|
||||
|
||||
/**
|
||||
|
|
Loading…
Reference in a new issue