]>
Commit | Line | Data |
---|---|---|
1 | Fix forwarding by hub of oplevels for non Apass channels. | |
2 | ||
3 | diff -r 3ccde3df7274 ircd/m_burst.c | |
4 | --- a/ircd/m_burst.c Wed Feb 11 15:00:23 2009 +0100 | |
5 | +++ b/ircd/m_burst.c Wed Feb 11 16:25:54 2009 +0100 | |
6 | @@ -544,7 +544,25 @@ | |
7 | nickstr[nickpos++] = 'v'; | |
8 | if (current_mode & CHFL_CHANOP) | |
9 | { | |
10 | - if (chptr->mode.apass[0]) | |
11 | + /* snircd - oplevel forward fix | |
12 | + * | |
13 | + * oplevel is not forwarded for -A channels | |
14 | + * appearantly this is done for some anti net rider stuff? | |
15 | + * but there does not seem any mention of that in | |
16 | + * http://undernet-ircu.svn.sf.net/viewvc/undernet-ircu/ircu2/trunk/ircd/m_burst.c?r1=1340&r2=1342 | |
17 | + * | |
18 | + * it just seems to be a fix to not forward oplevel 999 as numeric:999 | |
19 | + * but as numeric:o, which are the same level, but a legacy server cannot | |
20 | + * handle numeric:999 | |
21 | + * | |
22 | + * the fix seems to be to pass on the oplevel when | |
23 | + * oplevel smaller than MAXOPLEVEL, else just an 'o' | |
24 | + */ | |
25 | + /* oplevel is lower than MAXOPLEVEL, and thus we forward oplevels | |
26 | + * if in the future outgoing burst is changed | |
27 | + * to sent :999 instead of :o this condition needs changing too | |
28 | + */ | |
29 | + if (oplevel < MAXOPLEVEL) | |
30 | nickpos += ircd_snprintf(0, nickstr + nickpos, sizeof(nickstr) - nickpos, "%u", oplevel); | |
31 | else | |
32 | nickstr[nickpos++] = 'o'; |