]> jfr.im git - solanum.git/blobdiff - ircd/s_conf.c
Add general::tls_ciphers_oper_only
[solanum.git] / ircd / s_conf.c
index 2658bddcafa933d5483202853b42a88abca5b252..c2ee0164d9bd68ab220aded45af3ed014f89bf7b 100644 (file)
@@ -772,6 +772,7 @@ set_default_conf(void)
        ConfigFileEntry.use_propagated_bans = true;
        ConfigFileEntry.max_ratelimit_tokens = 30;
        ConfigFileEntry.away_interval = 30;
+       ConfigFileEntry.tls_ciphers_oper_only = false;
 
 #ifdef HAVE_LIBZ
        ConfigFileEntry.compression_level = 4;
@@ -1136,12 +1137,17 @@ deactivate_conf(struct ConfItem *aconf, rb_dlink_node *ptr, time_t now)
                        break;
        }
        if (aconf->lifetime != 0 && now < aconf->lifetime)
+       {
                aconf->status |= CONF_ILLEGAL;
+       }
        else
        {
                if (aconf->lifetime != 0)
                        rb_dlinkDestroy(ptr, &prop_bans);
-               free_conf(aconf);
+               if (aconf->clients == 0)
+                       free_conf(aconf);
+               else
+                       aconf->status |= CONF_ILLEGAL;
        }
 }
 
@@ -1339,7 +1345,8 @@ get_user_ban_reason(struct ConfItem *aconf)
 {
        static char reasonbuf[BUFSIZE];
 
-       if (aconf->flags & CONF_FLAGS_TEMPORARY &&
+       if (!ConfigFileEntry.hide_tkdline_duration &&
+                       aconf->flags & CONF_FLAGS_TEMPORARY &&
                        (aconf->status == CONF_KILL || aconf->status == CONF_DLINE))
                snprintf(reasonbuf, sizeof reasonbuf,
                                "Temporary %c-line %d min. - ",