solanum-ircd / solanum

An IRCd for unified networks
https://solanum.chat/
GNU General Public License v2.0
225 stars 54 forks source link

support RSFNC indicating type of FNC (e.g. FORCE vs REGAIN) #406

Closed jesopo closed 1 year ago

jesopo commented 1 year ago

c.f. https://github.com/atheme/atheme/commit/b2b5facd & https://github.com/atheme/atheme/pull/899

jesopo commented 1 year ago

for some background, atheme has two concepts of an FNC type; FORCE which is typically used when the target nickname wasn't chosen by the user (e.g. changing someone to Guest) and REGAIN when the target nickname was chosen by the user, usually in the case of NS REGAIN.

the reason the difference exists is if you RESV a bad nickname, you also need to go check if someone has registered that nickname and drop it if so, otherwise they can just walk over the RESV via NS REGAIN