Hi
Am looking for a bit of advice regarding servers killing remote clients.
Specifically, I am writing a NickServ type module for GNUworld and need to
kill clients if they exceed their time without authing. The problem is
that when I send the D token, the remote server bounces it back to me
instead of quitting the user and sending a QUIT back.
Here is a full transcript from the point of view of the gnuworld module
(linked directly to the server with the user on):

[IN]:  AB N Jeekay 1 1009129948 ~rgh 10.1.1.103 AKAQFn ABAAD :Desc
[IN]:  ABAAD M Jeekay :+i
[OUT]: A5AAA P #ns.console :Processing kill queue.
[IN]:  ABAAD N admin 1009129952
[OUT]: A5AAA P #ns.console :Processing kill queue.
[OUT]: A5AAA O ABAAD :Your nickname is registered. Please login or change your nick.
[OUT]: A5AAA P #ns.console :ABAAD - Warned
[OUT]: A5AAA P #ns.console :Processing kill queue.
[OUT]: A5AAA O ABAAD :You have not logged into NickServ. You will now be autokilled.
[OUT]: A5 D ABAAD :ns.irc.blah.org!NickServ (AutoKill)
[OUT]: A5AAA P #ns.console :ABAAD - Killed
[IN]:  AB D ABAAD :ns.irc.blah.org!ns.blah.rgh.org!NickServ (AutoKill)
(Ghost 5 Numeric Collided)

Here, 'admin' is a registered nick and the NS kills off the unauthed
connection. But the remote server (AB) then returns the D token with the
message (Ghost 5 Numeric Collided) appended. I read through m_kill.c to
see under what conditions this could happen and couldnt quite decrypt the
explanatory comments, but as far as I could see it should only ever happen
if I am linking/delinking servers at the same time, which is not the case
here.

Can anyone shed some light on this and perhaps reveal a way to make it
work 'properly' and return a Q for that user?
I have tried various different reasons after the D token, including:
A5 D ABAAD :[NickServ] AutoKill
A5 D ABAAD :ns.irc.blah.org (NickServ AutoKill)

And variations on the theme - none seemed to make any difference.

Thanks in advance
Ras


Reply via email to