When prefix_aq is enabled the normal CHANMODES that is sent should look something like this:
However when prefix_aq is disabled the CHANMODES that is sent is like this:CHANMODES=beI,kfL,lj,psmntirRcOAQKVCuzNSMTG
In the second case qa are added to the Class A section of the mode listingCHANMODES=beIqa,kfL,lj,psmntirRcOAQKVCuzNSMTG
Class A as far as I know is specifically intended for mask modes.
In the client reply "005" it is sent the same, which is correct, because for clients q and a are treated exactly like mask modes when prefix_aq is disabled.
However for server to server communication, one command that is sent "SJOIN" treats q and a as prefix modes (such as ohv) whether prefix_aq is enabled or disabled.
As stated in serverprotocol.html
This clearly states that mask modes like b and e should not be mixed with channel status (prefix) modes. However a and q are sent in the same grouping as ohv and are treated like status (prefix) modes, even though CHANMODES as classified them as being mask modes.Memberlist is a series of users (all of which must at least be behind the server sending the SJOIN), each user is prefixed with one or more characters indicating their status. Owners (+q) are prefixed with *, admins (+a) ~, ops (+o) @, halfops (+h) %, voices (+v) +. Normal users are not prefixed with anything. Ban, ban exception, and invite exception masks are also included, with bans prefixed with &, ban exceptions prefixed with ", and invite exceptions with '. Note that when a &, " or ' is encountered as the first character, further processing of ~, *, @, %, or + characters must not continue because ban, exempt, and invite masks can contain any of those characters. (Plus it's just not right for a ban mask to be marked as a channel admin...)
This is not only confusing, but could cause problems in software (services) that treat all mask modes exactly the same, when unreal wants the server to treat the mask modes q and a as prefix modes in SJOIN.
Any information regaurding the subject, and whether or not this is a bug would be very helpfull
P.S. If this should be reported as a bug, and should have been reported to the bug tracker, I appoligize.