]> jfr.im git - irc/rqf/shadowircd.git/blobdiff - src/s_user.c
Fix some indentation I messed up while adding umode +C.
[irc/rqf/shadowircd.git] / src / s_user.c
index 71c9b8d32ff4a5c42d7be4b6bb33877fed488b91..3ca5f8e461d597ade3092672712c07dbbf70bd7f 100644 (file)
@@ -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;