OK.. have been tearing my hair out for a while now trying to figure out
why this happens...

Basically, I am writing a NickServ type GNUworld module, to protect
peoples registered nicks. A nice easy way to prevent anyone from changing
to that nick after the client has been killed, is to 'jupe' that nick by
sending an N token to the network from the server, claiming that nickname.
Unfortunately, this seems to make ircu very unhappy - as soon as the N
token appears, the services client (NS) is quit from the ircd with the
quit message 'Numeric nick collision (Ghost)'.
Interestingly, if two services are on the one services server (two
xClients on one xServer - nickserv and cservice), as soon as a 'jupe' N
token is sent, the ircu forces NS to quit (it never actually sends a quit
token to the network btw). If there is just one service, I can jupe 3
nicks, then on the fourth NS collides and disappears.

GNUworld logs:
[OUT]: SERVER cs.test.org 1 1012718658 1012718658 J10 A6ADJ :CService Server
[OUT]: A6 N P 1 31337 cservice test.org +dki AAAAAA A6AAA :CService
[OUT]: A6 N NS 1 31337 NickServ test.org +dki AAAAAA A6AAB :NickServ
[OUT]: A6 EB
[OUT]: A6 EA

(for brevity Ive dropped the ircu handshake and the channels burst)

Then I issue the jupe command:
[IN]:  ABAAR P A6AAB :jupe add test
nickserv::jupeNick> Juping nick test
[OUT]: A6 N test 1 31337 juped test.nick.name B]AAAB A6AAQ :Juped Nick

At this point, three clients should be present on the services server.
However, the second that N token hits the ircu, I get:
-!- NS [[EMAIL PROTECTED]] has quit [Numeric nick collision (Ghost)]

As you can see, the numerics of the test client and the actual NS client
are clearly different. Why is NS being locally quit by the ircu?

Thanks in advance,
GK


Reply via email to