]> jfr.im git - irc/rqf/shadowircd.git/blobdiff - src/s_user.c
Added channel::host_in_topic.
[irc/rqf/shadowircd.git] / src / s_user.c
index 185b76e4a050b706f042725baf60dc45e2c21919..441012c32f9a2adabe13f8f0886a1677a37a6253 100644 (file)
@@ -583,7 +583,7 @@ register_local_user(struct Client *client_p, struct Client *source_p, const char
  *               from a remote connect.
  */
 int
-introduce_client(struct Client *client_p, struct Client *source_p, struct User *user, struct ConfItem *aconf, const char *nick, int use_euid)
+introduce_client(struct Client *client_p, struct Client *source_p, struct User *user, const char *nick, int use_euid)
 {
        static char ubuf[12];
        struct Client *identifyservice_p;
@@ -591,6 +591,7 @@ introduce_client(struct Client *client_p, struct Client *source_p, struct User *
        hook_data_umode_changed hdata;
        hook_data_client hdata2;
        char sockhost[HOSTLEN];
+       struct ConfItem *aconf;
 
        if(MyClient(source_p))
                send_umode(source_p, source_p, 0, 0, ubuf);
@@ -710,7 +711,7 @@ introduce_client(struct Client *client_p, struct Client *source_p, struct User *
 
                if(aconf->autojoin != NULL)
                {
-                       user_join(client_p, source_p, aconf->autojoin, NULL, 0);
+                       user_join(client_p, source_p, aconf->autojoin, NULL);
                }
        }
 
@@ -1288,10 +1289,11 @@ user_welcome(struct Client *source_p)
  * side effects        - opers up source_p using aconf for reference
  */
 int
-oper_up(struct Client *source_p, struct oper_conf *oper_p, struct ConfItem *aconf)
+oper_up(struct Client *source_p, struct oper_conf *oper_p)
 {
        unsigned int old = source_p->umodes, oldsnomask = source_p->snomask;
        hook_data_umode_changed hdata;
+       struct ConfItem *aconf;
 
        SetOper(source_p);
 
@@ -1362,7 +1364,7 @@ oper_up(struct Client *source_p, struct oper_conf *oper_p, struct ConfItem *acon
                 * Plus this is post-umode being set so you'll pass +I $o or +O.
                 * Hence why we're making this a normal clean join. --jdhore
                 */
-               user_join(&me, source_p, aconf->autojoin_opers, NULL, 0);
+               user_join(&me, source_p, aconf->autojoin_opers, NULL);
        }
 
        return (1);
@@ -1433,7 +1435,7 @@ change_nick_user_host(struct Client *target_p,    const char *nick, const char *use
        struct membership *mscptr;
        int changed = irccmp(target_p->name, nick);
        int changed_case = strcmp(target_p->name, nick);
-       int do_qjm = irccmp(target_p->username, user) || irccmp(target_p->host, host);
+       int do_qjm = irccmp(target_p->username, user) || (irccmp(target_p->host, host) && ConfigChannel.cycle_host_change);
        char mode[10], modeval[NICKLEN * 2 + 2], reason[256], *mptr;
        va_list ap;