diff options
author | Peter Powell <petpow@saberuk.com> | 2018-09-21 20:54:05 +0100 |
---|---|---|
committer | Peter Powell <petpow@saberuk.com> | 2018-09-23 13:35:15 +0100 |
commit | 876b1ae4e280e99f24d37da4b819f108ddb3f1e3 (patch) | |
tree | f1449e0b93da7ecd6e4d233a48befd4cef4e9ec4 /include/xline.h | |
parent | f020429fd33ec1a7bf1114b2db1b2fd5d6bc1650 (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.h | 13 |
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(); }; |