]> jfr.im git - solanum.git/commit - ircd/s_user.c
Propagate OPER
authorEd Kellett <redacted>
Sun, 7 Jul 2019 01:36:58 +0000 (02:36 +0100)
committerEd Kellett <redacted>
Fri, 13 Sep 2019 09:08:27 +0000 (10:08 +0100)
commited3ca2ff16a1dc921d90c0a67093de8f47209176
tree9329de05229c63ae376b05325fdfc4534f1d6681
parent742ddc8fac87a5dd713110df6f2a76f56d34b00b
Propagate OPER

Move opername and privset storage to struct User, so it can exist for
remote opers.

On /oper and when bursting opers, send:

    :foo OPER opername privset

which sets foo's opername and privset. The contents of the privset on
remote servers come from the remote server's config, so the potential
for confusion exists if these do not match.

If an oper's privset does not exist on a server that sees it, it will
complain, but create a placeholder privset. If the privset is created by
a rehash, this will be reflected properly.

/privs is udpated to take an optional argument, the server to query, and
is now local by default:

    /privs [[nick_or_server] nick]
14 files changed:
doc/technical/ts6-protocol.txt
extensions/extb_oper.c
include/client.h
include/s_newconf.h
ircd/client.c
ircd/s_conf.c
ircd/s_serv.c
ircd/s_user.c
modules/m_challenge.c
modules/m_grant.c
modules/m_oper.c
modules/m_privs.c
modules/m_whois.c
tests/send1.c