Wire account registration to the ircd's ENCAP SWACCTREG/SWACCTRES relay
All checks were successful
CI / check (push) Successful in 3m53s
All checks were successful
CI / check (push) Successful in 3m53s
Echo is the authority the ircd account module forwards to: parse ENCAP <us> SWACCTREG <reqid> <origin> <kind> <account> <p2> :<p3> into an account request, and answer the origin server with ENCAP <origin> SWACCTRES <reqid> <kind> <account> <status> <code> :<message>. Thread the origin through the reply so responses route back to the requesting server. Replaces the placeholder ACCTREGISTER/ACCTREGRESULT names that nothing on the wire actually spoke.
This commit is contained in:
parent
994e8c7347
commit
54ad013e49
5 changed files with 72 additions and 36 deletions
|
|
@ -55,7 +55,7 @@ pub enum NetAction {
|
|||
IntroduceUser { uid: String, nick: String, ident: String, host: String, gecos: String },
|
||||
Privmsg { from: String, to: String, text: String },
|
||||
Notice { from: String, to: String, text: String },
|
||||
AccountResponse { reqid: String, kind: String, account: String, status: String, code: String, message: String },
|
||||
AccountResponse { reqid: String, origin: String, kind: String, account: String, status: String, code: String, message: String },
|
||||
// A SASL exchange step back to the ircd, sourced from our SASL agent. mode = C/D.
|
||||
Sasl { agent: String, client: String, mode: String, data: Vec<String> },
|
||||
// Publish network state to the uplink: target "*" is server-global (e.g. the
|
||||
|
|
@ -115,8 +115,9 @@ pub enum NetAction {
|
|||
// How to answer a registration once its credentials have been derived.
|
||||
#[derive(Debug, Clone)]
|
||||
pub enum RegReply {
|
||||
// IRCv3 account-registration relay: answer the requesting ircd.
|
||||
Relay { reqid: String, kind: String },
|
||||
// IRCv3 account-registration relay: answer the requesting ircd. `origin` is
|
||||
// the server the request came from, which the response is ENCAP'd back to.
|
||||
Relay { reqid: String, kind: String, origin: String },
|
||||
// NickServ REGISTER: NOTICE the requesting user, logging them in on success.
|
||||
NickServ { agent: String, uid: String, nick: String },
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue