]> jfr.im git - solanum.git/blobdiff - src/s_conf.c
Make number_per_ident actually apply to unidented connections as well,
[solanum.git] / src / s_conf.c
index cfd6048d4521c369bd7fdf95e72586c882526ce6..48192c9e7adae329966ff8f8dfb889d086f646c4 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))
@@ -782,6 +781,7 @@ set_default_conf(void)
        ConfigFileEntry.min_nonwildcard = 4;
        ConfigFileEntry.min_nonwildcard_simple = 3;
        ConfigFileEntry.default_floodcount = 8;
+       ConfigFileEntry.default_ident_timeout = 5;
        ConfigFileEntry.client_flood = CLIENT_FLOOD_DEFAULT;
        ConfigFileEntry.tkline_expire_notices = 0;
 
@@ -1261,7 +1261,7 @@ get_user_ban_reason(struct ConfItem *aconf)
                rb_snprintf(reasonbuf, sizeof reasonbuf,
                                "Temporary %c-line %d min. - ",
                                aconf->status == CONF_DLINE ? 'D' : 'K',
-                               (aconf->hold - aconf->created) / 60);
+                               (int)((aconf->hold - aconf->created) / 60));
        else
                reasonbuf[0] = '\0';
        if (aconf->passwd)