Anope Bug Tracker

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0001695Anope Stable (2.0.x series)[All Projects] Generalpublic2017-01-11 12:032017-01-12 03:49
Reporterknux 
Assigned ToAdam 
PrioritynormalSeverityminorReproducibilityalways
StatusresolvedResolutionfixed 
PlatformLinuxOSUbuntuOS Version14.04
Summary0001695: UnrealIRCd4 says "SENDUMODE is a server only command" on OperServ's GLOBOPS
DescriptionWhen OperServ sends a GLOBOPS for example when adding an AKILL, only opers connected to the ircd to which anope are linked will see the notice.

Using strace to anope's pid, I always see this log:
write(13, "[d\303\251c. 22 15:52:58 2016] ADMIN: Boo!Boo@ircservicesdev01.prodin.orbus.fr (SkyBoo) used AKILL on *test@test.fr (Plouf), expires in 300 jours [affects 0 user(s) (0%)]\n", 165) = 165
epoll_wait(6, {{EPOLLOUT, {u32=8, u64=8}}}, 4, 5000) = 1
sendto(8, ":services.skyrock.net TKL + G *test test.fr Boo 1482591178 1482418378 :Plouf (ID: 5ATSY3XCCS)\r\n:OperServ NOTICE Boo :\2*test@test.fr\2 added to the AKILL list.\r\n:OperServ GLOBOPS :ADMIN: Boo!Boo@ircservicesdev01.prodin.orbus.fr (SkyBoo) used AKILL on *test@test.fr (Plouf), expires in 300 jours [affects 0 user(s) (0%)]\r\n", 319, 0, NULL, 0) = 319
epoll_ctl(6, EPOLL_CTL_MOD, 8, {EPOLLIN, {u32=8, u64=8}}) = 0
epoll_wait(6, {{EPOLLIN, {u32=8, u64=8}}}, 4, 5000) = 1
recvfrom(8, ":ircdev01.prodin.orbus.fr 487 OperServ :SENDUMODE is a server only command\r\n", 65534, 0, NULL, NULL) = 76

Same situation using "/msg Global GLOBAL test" command:
sendto(4, ":00BAAAAAD GLOBOPS :ADMIN: KnuX!KnuX@fw01.prodin.orbus.fr (KnuX) used GLOBAL \r\n:00BAAAAAD NOTICE $ircdev01.prodin.orbus.fr :[KnuX] test\r\n:00BAAAAAD NOTICE $ircdev02.prodin.orbus.fr :[KnuX] test\r\n:00BAAAAAD NOTICE $channels.skyrock.net :[KnuX] test\r\n:00BAAAAAD NOTICE $boo.skyrock.net :[KnuX] test\r\n", 298, 0, NULL, 0) = 298
epoll_ctl(3, EPOLL_CTL_MOD, 4, {EPOLLIN, {u32=4, u64=4}}) = 0
epoll_wait(3, {{EPOLLIN, {u32=4, u64=4}}}, 4, 5000) = 1
recvfrom(4, ":ircdev02.prodin.orbus.fr 487 Global :SENDUMODE is a server only command\r\n", 65534, 0, NULL, NULL) = 74

Steps To ReproduceAssuming this situation:
ircdev01.prodin.orbus.fr (5) 201
|-services.skyrock.net (6) 00B
`-ircdev02.prodin.orbus.fr (2) 202
End of /MAP

When adding an AKILL (or else), opers on ircdev01 will receive the globops but not opers on ircdev02.
Additional Informationircdev01.prodin.orbus.fr (5) 201
|-services.skyrock.net (6) 00B
`-ircdev02.prodin.orbus.fr (2) 202
End of /MAP
TagsNo tags attached.
Attached Files

- Relationships

-  Notes
(0006825)
Adam (administrator)
2017-01-12 03:49

Thanks, fixed in a4f7d847abdde8f070a201417a456067d3beb4a1
(0006824)
jobe (developer)
2017-01-12 01:09

For reference the associated UnrealIRCd bug can be found at https://bugs.unrealircd.org/view.php?id=4836 [^]
(0006823)
jobe (developer)
2017-01-12 00:30
edited on: 2017-01-12 00:30

Ok, so having looked into the code in depth regarding this issue, this bug is the result of 2 factors.

Factor 1 is that Anope's use of GLOBOPS for UnrealIRCd 4 when it has been deprecated in favour of SENDUMODE
Factor 2 is UnrealIRCd's compatibility handling of the old GLOBOPS command by simply converting it to SENDUMODE without taking into account the fact that GLOBOPS can be sent from a user when SENDUMODE cannot

So suggested fix in this case is 2 fold, for Anope's side the suggestion is to use SENDUMODE for UnrealIRCd 4 (note this requires using a server as the source and typically involves prefixing the message with "from <nick>: " in the same way UnrealIRCd 4 does when it receives a GLOBOPS from a directly connected user) and the second part is that I will report this bug to UnrealIRCd too.

(0006822)
Adam (administrator)
2017-01-12 00:01

Thanks for the report. If you could reproduce this with ./services -support that would be most helpful. Thanks.

- Issue History
Date Modified Username Field Change
2017-01-11 12:03 knux New Issue
2017-01-12 00:01 Adam Note Added: 0006822
2017-01-12 00:30 jobe Note Added: 0006823
2017-01-12 00:30 jobe Note Edited: 0006823 View Revisions
2017-01-12 01:09 jobe Note Added: 0006824
2017-01-12 03:49 Adam Note Added: 0006825
2017-01-12 03:49 Adam Status new => resolved
2017-01-12 03:49 Adam Resolution open => fixed
2017-01-12 03:49 Adam Assigned To => Adam


Copyright © 2000 - 2017 MantisBT Team
Powered by Mantis Bugtracker