[IRCServices] Clarification with unreal.c

DeadNotBuried dnb at majestic-liaisons.com
Fri Oct 22 01:10:12 PDT 2004


if you change the line as stated you will break support in services for the
channel owner flag. as services connects to a server it talks to the ircd as
a server not as a client, and the unreal 3.2 protocol uses * as a chan owner
flag between SERVERS, and & IF compiled to support the new flags for
CLIENTS, or just the old @ IF NOT compiled for the new flags for CLIENTS..
it's not recommened to change any of those types of flags in services
packages, or even IRCd's themselves unless you know how the protocol works.

DNB

> OK, I'll start this off by saying that I know nothing about
> C programming...
>
> Anyway, I was feeling bored, so I was reading over unreal.c
> and I noticed this in the "new channel user modes" section:
>
>     {'h', {0x00000004,1,1,'%'}}, /* Half-op */
>
> Now, I'm probably horribly wrong, but the "%" probably
> denotes the user prefix (since halfop's nicks are prefixed
> with a %).
>
> If I'm right, then take a look at the next two lines:
>
>     {'a', {0x00000008,1,1,'~'}},
>     {'q', {0x00000010,1,1,'*',MI_CHANOWNER}},
>
> Assuming that my above premise is correct, this code
> wouldn't be correct, as +a gets the & prefix and +q the ~
> prefix in UnrealIRCd. I haven't yet tried changing this
> code to see what happens; I'll give that a go this evening.
>
> Of course, I could be horribly, horribly wrong... if I am,
> would someone mind correcting me on this?
>