Bug #936
Improper handling of PREFIX channel modes
100%
Description
Quassel has this problem where it will auto-assume all networks use the prefixes of qaohv(~&@%) or a subset of that, even freenode/efnet that only use +ov. This is due to the _prefix and _prefixModes strings being set to the fallback defaults, triggered by the identd/hostname notices sent before RPL_ISUPPORT. Normally, this would of been fine, however, certain ircd's like ShadowIRCd use ! instead of & for chmode +a (default when owner +q does not exist). The attached patch will set _prefix/_prefixModes AFTER ircd sends 005 RPL_ISUPPORT to correct this behavior.
Associated revisions
Force parsing of PREFIX in RPL_ISUPPORT. Fixes #936
In some cases the automatic parsing of PREFIX was actually
triggered before RPL_ISUPPORT was actually received. In this case
the internal prefix configuration would only contain the default
modes, and not the network specific modes, which would cause
custom modes to be ignored completly.
This patch forces the parsing of PREFIX directly after RPL_ISUPPORT
was received, and the data is available.
History
#1 Updated by johu over 14 years ago
- Category set to Quassel Core
- Assignee set to johu
- Priority changed from High to Normal
- Target version set to 0.6.2
- Version changed from 0.6-pre to 0.6.1
#2 Updated by Nevcairiel over 14 years ago
- Status changed from New to Resolved
- % Done changed from 0 to 100
Applied in changeset 8d0f43088ae079115d8021f9a451e3e578f362dd.
Force parsing of PREFIX in RPL_ISUPPORT. Fixes #936
In some cases the automatic parsing of PREFIX was actually
triggered before RPL_ISUPPORT was actually received. In this case
the internal prefix configuration would only contain the default
modes, and not the network specific modes, which would cause
custom modes to be ignored completly.
This patch forces the parsing of PREFIX directly after RPL_ISUPPORT
was received, and the data is available.