]> jfr.im git - solanum.git/blobdiff - src/s_conf.c
Add sendto_channel_local_with_capability().
[solanum.git] / src / s_conf.c
index d8808c70a953252cf1bd3f189e84994731f37de2..4cd726221f6604b22e05d9d34e61753d7d88cfad 100644 (file)
@@ -483,14 +483,13 @@ attach_iline(struct Client *client_p, struct ConfItem *aconf)
        int local_count = 0;
        int global_count = 0;
        int ident_count = 0;
-       int unidented = 0;
+       int unidented;
 
        if(IsConfExemptLimits(aconf))
                return (attach_conf(client_p, aconf));
 
-       if(*client_p->username == '~')
-               unidented = 1;
-
+       unidented = !IsGotId(client_p) && !IsNoTilde(aconf) &&
+               (!IsConfDoSpoofIp(aconf) || !strchr(aconf->info.name, '@'));
 
        /* find_hostname() returns the head of the list to search */
        RB_DLINK_FOREACH(ptr, find_hostname(client_p->host))
@@ -773,6 +772,7 @@ set_default_conf(void)
        ConfigChannel.no_join_on_split = NO;
        ConfigChannel.no_create_on_split = YES;
        ConfigChannel.resv_forcepart = YES;
+       ConfigChannel.channel_target_change = YES;
 
        ConfigServerHide.flatten_links = 0;
        ConfigServerHide.links_delay = 300;
@@ -1562,9 +1562,7 @@ yyerror(const char *msg)
 int
 conf_fgets(char *lbuf, int max_size, FILE * fb)
 {
-       char *buff;
-
-       if((buff = fgets(lbuf, max_size, fb)) == NULL)
+       if(fgets(lbuf, max_size, fb) == NULL)
                return (0);
 
        return (strlen(lbuf));