diff options
| author | 2022-01-21 15:53:04 +0000 | |
|---|---|---|
| committer | 2022-01-21 16:36:43 +0000 | |
| commit | a51d044c82d2e39a2d9a79dd2ce181ef7bd32b02 (patch) | |
| tree | 3df8fc518ec12122c4096431d521d9deef58b5b0 /src/modules | |
| parent | Fix aliases which require routing to be broadcast out. (diff) | |
Fix various edge cases in extensible synchronisation.
- Fix not forwarding the accountid extensible if it is set.
- Rename the variadic Set() overload to SetFwd().
- Re-add the `const T&` overload of Set().
- Move `bool synced` to SimpleExtItem from StringExtItem.
- Only sync extensibles if their instance is marked as syncable.
Diffstat (limited to 'src/modules')
| -rw-r--r-- | src/modules/m_anticaps.cpp | 2 | ||||
| -rw-r--r-- | src/modules/m_chanhistory.cpp | 2 | ||||
| -rw-r--r-- | src/modules/m_conn_join.cpp | 2 | ||||
| -rw-r--r-- | src/modules/m_joinflood.cpp | 2 | ||||
| -rw-r--r-- | src/modules/m_messageflood.cpp | 2 | ||||
| -rw-r--r-- | src/modules/m_nickflood.cpp | 2 | ||||
| -rw-r--r-- | src/modules/m_sasl.cpp | 2 | ||||
| -rw-r--r-- | src/modules/m_services_account.cpp | 7 |
8 files changed, 8 insertions, 13 deletions
diff --git a/src/modules/m_anticaps.cpp b/src/modules/m_anticaps.cpp index 1f6ff0747..3d8f2c8ba 100644 --- a/src/modules/m_anticaps.cpp +++ b/src/modules/m_anticaps.cpp @@ -120,7 +120,7 @@ class AntiCapsMode final return MODEACTION_DENY; } - ext.Set(channel, method, minlen, percent); + ext.SetFwd(channel, method, minlen, percent); return MODEACTION_ALLOW; } diff --git a/src/modules/m_chanhistory.cpp b/src/modules/m_chanhistory.cpp index ab95da200..32768a0b2 100644 --- a/src/modules/m_chanhistory.cpp +++ b/src/modules/m_chanhistory.cpp @@ -125,7 +125,7 @@ class HistoryMode final } else { - ext.Set(channel, len, time); + ext.SetFwd(channel, len, time); } return MODEACTION_ALLOW; } diff --git a/src/modules/m_conn_join.cpp b/src/modules/m_conn_join.cpp index fdf20ab24..4185c7987 100644 --- a/src/modules/m_conn_join.cpp +++ b/src/modules/m_conn_join.cpp @@ -112,7 +112,7 @@ class ModuleConnJoin final if (!chandelay) JoinChannels(localuser, chanlist); else - ext.Set(localuser, localuser, ext, chanlist, chandelay); + ext.SetFwd(localuser, localuser, ext, chanlist, chandelay); } }; diff --git a/src/modules/m_joinflood.cpp b/src/modules/m_joinflood.cpp index ae29811e3..2fff26377 100644 --- a/src/modules/m_joinflood.cpp +++ b/src/modules/m_joinflood.cpp @@ -123,7 +123,7 @@ class JoinFlood final return MODEACTION_DENY; } - ext.Set(channel, nsecs, njoins); + ext.SetFwd(channel, nsecs, njoins); return MODEACTION_ALLOW; } diff --git a/src/modules/m_messageflood.cpp b/src/modules/m_messageflood.cpp index a71497f70..65d7dfba7 100644 --- a/src/modules/m_messageflood.cpp +++ b/src/modules/m_messageflood.cpp @@ -97,7 +97,7 @@ class MsgFlood final return MODEACTION_DENY; } - ext.Set(channel, ban, nsecs, nlines); + ext.SetFwd(channel, ban, nsecs, nlines); return MODEACTION_ALLOW; } diff --git a/src/modules/m_nickflood.cpp b/src/modules/m_nickflood.cpp index 9475d8077..14c238947 100644 --- a/src/modules/m_nickflood.cpp +++ b/src/modules/m_nickflood.cpp @@ -112,7 +112,7 @@ class NickFlood final return MODEACTION_DENY; } - ext.Set(channel, nsecs, nnicks); + ext.SetFwd(channel, nsecs, nnicks); return MODEACTION_ALLOW; } diff --git a/src/modules/m_sasl.cpp b/src/modules/m_sasl.cpp index 05653a927..122b34b43 100644 --- a/src/modules/m_sasl.cpp +++ b/src/modules/m_sasl.cpp @@ -345,7 +345,7 @@ class CommandAuthenticate final SaslAuthenticator *sasl = authExt.Get(user); if (!sasl) - authExt.Set(user, user, parameters[0], sslapi); + authExt.SetFwd(user, user, parameters[0], sslapi); else if (sasl->SendClientMessage(parameters) == false) // IAL abort extension --nenolod { sasl->AnnounceState(); diff --git a/src/modules/m_services_account.cpp b/src/modules/m_services_account.cpp index 8a97a83eb..b5d5f22a6 100644 --- a/src/modules/m_services_account.cpp +++ b/src/modules/m_services_account.cpp @@ -103,11 +103,6 @@ class AccountExtItemImpl final { } - void FromInternal(Extensible* container, const std::string& value) noexcept override - { - StringExtItem::FromInternal(container, value); - } - void FromNetwork(Extensible* container, const std::string& value) noexcept override { StringExtItem::FromNetwork(container, value); @@ -201,7 +196,7 @@ class ModuleServicesAccount final , regdeafmode(this, "regdeaf", 'R') , chanregmode(this) , userregmode(this) - , accountid(this, "accountid", ExtensionType::USER) + , accountid(this, "accountid", ExtensionType::USER, true) , accountname(this) , accountextban(this, accountname) , unauthedextban(this, accountname) |
