View Issue Details

IDProjectCategoryView StatusLast Update
0002858unrealdocumentationpublic2006-03-23 15:10
Reportertabrisnet Assigned To 
PrioritynormalSeveritytextReproducibilityalways
Status closedResolutionno change required 
Product Version3.2.4 
Summary0002858: SnoMasks & SENDSNO vs Eyes (and others)
DescriptionToday working on getting services to parse SENDSNO, and I noticed that very few snotices seem to be sent inter-server (or at least to my server).

are eyes notices local-only? if not, why do they not show up at my services implementation's door? What notices are global?

Hell, shouldn't eyes notices be global, as that's the bloody point, for opers to see what other opers (and users) are doing?
3rd party modules

Activities

syzop

2006-03-21 16:41

administrator   ~0011406

snomasks are not by definition local or global (hint: there's a reason for both a 'c' and a 'F', same for 'n'/'N').
As for your specific situation: Many are also locally generated (like 'F' and 'N' just mentioned), since it's only a waste to send the message to other servers if the remote server can generate it itself from (eg.) the NICK message.

As for the eyes snomasks, I do get operoverride messages from other servers just fine here.

If you feel like you miss any specific snomask message(s), let me know which.
But please, do test on an UnrealIRCd server (server1---server2) and not on some kind of remote services.

tabrisnet

2006-03-21 18:22

reporter   ~0011409

I do seem to get it normally (server1 -> server2)... but this then makes me wonder _why_ is my remote services not getting the message?

I marked this a 'documentation' thing as I think this needs to be addressed in the server-protocol page.

and yes, I know some are locally generated (which are from my perspective 'local'). Further there's a module that generates an O type (failed oper-ups) that appears to be local only (presumably it doesn't use SENDSNO)

syztest100

2006-03-21 19:08

reporter   ~0011410

for some reason I don't think you actually understand what I wrote...............

tabrisnet

2006-03-21 19:12

reporter   ~0011411

Possibly not. For example, it's possible for eyes notices to be generated locally with the assumption that b/c user1 who is an oper does not have the right to do what he did, must therefore be an override. However I figured that would not be done as it would be compute-intensive vs just 'note override at origin, send a notice about it'.

If this is not the case, logically I should receive messages like this. I do get spamfilter snotices, but not eyes notices. Question is, how do I receive them, or are they generated on each server (god, why?).

syztest100

2006-03-21 19:15

reporter   ~0011412

Right. I would say... the source is your friend :P. Just grep on a good word or part of the operoverride message and you should get somewhere...

tabrisnet

2006-03-21 19:32

reporter   ~0011413

The code implies that it should be sent as a SENDSNO e.
 sendto_snomask_global(SNO_EYES,
                          "*** OperOverride -- %s (%s@%s) invited him/herself into %s (overriding +i)."

This calls this
 sendto_serv_butone_token(NULL, me.name, MSG_SENDSNO, TOK_SENDSNO,
                "%s :%s", snobuf, nbuf);
This function is prefixed by the following doc/comment

/*
 * sendto_server_butone_token
 *
 * Send a message to all connected servers except the client 'one'.
 * with capab to tokenize
 */


However, as previously described, I do not see it at my services. Thus the question remains, why?

I can continue testing and all (after I get out of class anyhow), but in my tests so far, I do not receive SENDSNO e.
I know this b/c I had my program printing to the diag channel anything that wasn't being handled by another function.

syzop

2006-03-22 15:01

administrator   ~0011416

Special for you I tested it (snif!), and the operoverride notice (that is, inviting yourself to a +i channel as an oper), does get broadcast just fine (and ends up to services as well).

tabrisnet

2006-03-23 12:18

reporter   ~0011417

Last edited: 2006-03-23 12:28

I still do not receive it in my services, even after I added a second leaf to my testnet, and did the oper-override from there, though I did receive it on my first leaf in my status window.

There must be something funny about this, like some PROTOCTL flag I didn't pass or some kind of agent (umode?) I don't have, but I am _not_ receiving the SENDSNO to my services.

After having read the code however, there is nothing terribly obvious about what it could be. Perhaps have not read the right part of the code, but it looks rather straightforward (sendto_server_butone_token seems to simply send it down all fds marked as being a server).

I should be more specific. I do receive SENDSNO S and SENDSNO o. but not SENDSNO e.

tabrisnet

2006-03-23 15:07

reporter   ~0011424

Last edited: 2006-03-23 15:08

Want more fun? Just tested with a (banwalk) invite, and I did get the SENDSNO! But I did _not_ get the SENDSNO for MODE changes, or TOPIC changes!

syzop

2006-03-23 15:10

administrator   ~0011425

Last edited: 2006-03-23 15:11

Well, that explains.. then we are experiencing both the same. Like I said, some are generated locally, others global.

I don't see any reason to change that for Unreal3* (and I'm sure you understand that my opinion would not be "it's a good reason to break everything specially for mr tabrisnet's services thing!"), it only breaks stuff... ;)

Issue History

Date Modified Username Field Change
2006-03-19 18:47 tabrisnet New Issue
2006-03-21 16:41 syzop Note Added: 0011406
2006-03-21 18:22 tabrisnet Note Added: 0011409
2006-03-21 19:08 syztest100 Note Added: 0011410
2006-03-21 19:12 tabrisnet Note Added: 0011411
2006-03-21 19:15 syztest100 Note Added: 0011412
2006-03-21 19:32 tabrisnet Note Added: 0011413
2006-03-22 15:01 syzop Note Added: 0011416
2006-03-23 12:18 tabrisnet Note Added: 0011417
2006-03-23 12:28 tabrisnet Note Edited: 0011417
2006-03-23 15:07 tabrisnet Note Added: 0011424
2006-03-23 15:08 tabrisnet Note Edited: 0011424
2006-03-23 15:10 syzop Status new => closed
2006-03-23 15:10 syzop Note Added: 0011425
2006-03-23 15:10 syzop Resolution open => no change required
2006-03-23 15:11 syzop Note Edited: 0011425