]> jfr.im git - irc/rqf/shadowircd.git/blobdiff - modules/m_dline.c
Do not use get_oper_name() for a netwide server notice, it may be confusing.
[irc/rqf/shadowircd.git] / modules / m_dline.c
index ef7c1cdc05284e50c9c6c10e18f75c5fedde635d..e54bacfff78d3207832316ea5acfe6730243e105 100644 (file)
@@ -263,16 +263,6 @@ apply_dline(struct Client *source_p, const char *dlhost, int tdline_time, char *
                return 0;
        }
 
-       /* Look for an oper reason */
-       if((oper_reason = strchr(reason, '|')) != NULL)
-       {
-               *oper_reason = '\0';
-               oper_reason++;
-
-               if(!EmptyString(oper_reason))
-                       aconf->spasswd = rb_strdup(oper_reason);
-       }
-
        if(ConfigFileEntry.non_redundant_klines)
        {
                if((aconf = find_dline((struct sockaddr *)&daddr, t)) != NULL)
@@ -302,6 +292,16 @@ apply_dline(struct Client *source_p, const char *dlhost, int tdline_time, char *
        aconf->status = CONF_DLINE;
        aconf->host = rb_strdup(dlhost);
 
+       /* Look for an oper reason */
+       if((oper_reason = strchr(reason, '|')) != NULL)
+       {
+               *oper_reason = '\0';
+               oper_reason++;
+
+               if(!EmptyString(oper_reason))
+                       aconf->spasswd = rb_strdup(oper_reason);
+       }
+
        if(tdline_time > 0)
        {
                rb_snprintf(dlbuffer, sizeof(dlbuffer), 
@@ -339,7 +339,7 @@ apply_dline(struct Client *source_p, const char *dlhost, int tdline_time, char *
        {
                rb_snprintf(dlbuffer, sizeof(dlbuffer), "%s (%s)", reason, current_date);
                aconf->passwd = rb_strdup(dlbuffer);
-               add_conf_by_address(aconf->host, CONF_DLINE, NULL, aconf);
+               add_conf_by_address(aconf->host, CONF_DLINE, NULL, NULL, aconf);
                write_confitem(DLINE_TYPE, source_p, NULL, aconf->host, reason,
                               oper_reason, current_date, 0);
        }