summaryrefslogtreecommitdiff
path: root/include/xline.h
diff options
context:
space:
mode:
authorPeter Powell <petpow@saberuk.com>2018-09-21 20:54:05 +0100
committerPeter Powell <petpow@saberuk.com>2018-09-23 13:35:15 +0100
commit876b1ae4e280e99f24d37da4b819f108ddb3f1e3 (patch)
treef1449e0b93da7ecd6e4d233a48befd4cef4e9ec4 /include/xline.h
parentf020429fd33ec1a7bf1114b2db1b2fd5d6bc1650 (diff)
Don't sync xlines defined in the config and expire them on rehash.
Closes #1427.
Diffstat (limited to 'include/xline.h')
-rw-r--r--include/xline.h13
1 files changed, 12 insertions, 1 deletions
diff --git a/include/xline.h b/include/xline.h
index 9aae32b24..7c102c882 100644
--- a/include/xline.h
+++ b/include/xline.h
@@ -50,7 +50,12 @@ class CoreExport XLine : public classbase
* @param t The line type, should be set by the derived class constructor
*/
XLine(time_t s_time, long d, std::string src, std::string re, const std::string &t)
- : set_time(s_time), duration(d), source(src), reason(re), type(t)
+ : set_time(s_time)
+ , duration(d)
+ , source(src)
+ , reason(re)
+ , type(t)
+ , from_config(false)
{
expiry = set_time + duration;
}
@@ -140,6 +145,9 @@ class CoreExport XLine : public classbase
*/
const std::string type;
+ // Whether this XLine was loaded from the server config.
+ bool from_config;
+
virtual bool IsBurstable();
};
@@ -523,4 +531,7 @@ class CoreExport XLineManager
* @param stats Stats context
*/
void InvokeStats(const std::string& type, unsigned int numeric, Stats::Context& stats);
+
+ /** Clears any XLines which were added by the server configuration. */
+ void ClearConfigLines();
};