]> jfr.im git - irc/quakenet/snircd-patchqueue.git/blame - oplevelforward.patch
Update patchset for latest ircu changes
[irc/quakenet/snircd-patchqueue.git] / oplevelforward.patch
CommitLineData
a7e6b62c 1Fix forwarding by hub of oplevels for non Apass channels.
2
b35a3131 3diff -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 @@
a7e6b62c 7 nickstr[nickpos++] = 'v';
8 if (current_mode & CHFL_CHANOP)
9 {
10- if (chptr->mode.apass[0])
92f62663 11+ /* snircd - oplevel forward fix
b35a3131 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'
92f62663 24+ */
b35a3131 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)
a7e6b62c 30 nickpos += ircd_snprintf(0, nickstr + nickpos, sizeof(nickstr) - nickpos, "%u", oplevel);
31 else
32 nickstr[nickpos++] = 'o';