View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0002858 | unreal | documentation | public | 2006-03-19 18:47 | 2006-03-23 15:10 |
| Reporter | tabrisnet | Assigned To | |||
| Priority | normal | Severity | text | Reproducibility | always |
| Status | closed | Resolution | no change required | ||
| Product Version | 3.2.4 | ||||
| Summary | 0002858: SnoMasks & SENDSNO vs Eyes (and others) | ||||
| Description | Today 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 | |||||
|
|
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. |
|
|
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) |
|
|
for some reason I don't think you actually understand what I wrote............... |
|
|
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?). |
|
|
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... |
|
|
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. |
|
|
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). |
|
|
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. |
|
|
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! |
|
|
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... ;) |
| 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 |