X-Git-Url: https://jfr.im/git/irc/rqf/shadowircd.git/blobdiff_plain/59bb80930deb2a0eb2b6e50befab912b4e884040..2678f87a51d35a201aa2a3ee93513b457575d04a:/src/s_user.c?ds=sidebyside diff --git a/src/s_user.c b/src/s_user.c index 71c9b8d..3ca5f8e 100644 --- a/src/s_user.c +++ b/src/s_user.c @@ -69,7 +69,7 @@ int user_modes[256] = { 0, /* @ */ 0, /* A */ 0, /* B */ - 0, /* C */ + UMODE_NOCTCP, /* C */ UMODE_DEAF, /* D */ 0, /* E */ 0, /* F */ @@ -88,7 +88,7 @@ int user_modes[256] = { UMODE_SERVICE, /* S */ 0, /* T */ 0, /* U */ - 0, /* V */ + UMODE_NOINVITE, /* V */ 0, /* W */ 0, /* X */ 0, /* Y */ @@ -420,7 +420,7 @@ register_local_user(struct Client *client_p, struct Client *source_p, const char (xconf = find_xline(source_p->info, 1)) != NULL) { ServerStats.is_ref++; - add_reject(source_p, xconf->name, NULL); + add_reject(source_p, xconf->host, NULL); exit_client(client_p, source_p, &me, "Bad user info"); return CLIENT_EXITED; } @@ -561,7 +561,9 @@ register_local_user(struct Client *client_p, struct Client *source_p, const char /* they get a reduced limit */ if(find_tgchange(source_p->sockhost)) - USED_TARGETS(source_p) = 6; + source_p->localClient->targets_free = TGCHANGE_INITIAL_LOW; + else + source_p->localClient->targets_free = TGCHANGE_INITIAL; monitor_signon(source_p); user_welcome(source_p); @@ -633,6 +635,11 @@ introduce_client(struct Client *client_p, struct Client *source_p, struct User * IsIPSpoof(source_p) ? "0" : sockhost, source_p->id, source_p->info); + if(!EmptyString(source_p->certfp)) + sendto_server(client_p, NULL, CAP_TS6, NOCAPS, + ":%s ENCAP * CERTFP :%s", + use_id(source_p), source_p->certfp); + if (IsDynSpoof(source_p)) { sendto_server(client_p, NULL, CAP_TS6, use_euid ? CAP_EUID : NOCAPS, ":%s ENCAP * REALHOST %s", @@ -1321,7 +1328,7 @@ oper_up(struct Client *source_p, struct oper_conf *oper_p) call_hook(h_umode_changed, &hdata); sendto_realops_snomask(SNO_GENERAL, L_ALL, - "%s (%s@%s) is now an operator", source_p->name, + "%s (%s!%s@%s) is now an operator", oper_p->name, source_p->name, source_p->username, source_p->host); if(!(old & UMODE_INVISIBLE) && IsInvisible(source_p)) ++Count.invisi;