Hi guys,

I was wondering what the exact meaning of a HACK(2) notice is supposed to
be.  I'm currently working on a service which manages to generate a HACK(2)
notice each time it links to my test server (which is running some fairly
recent 2.10.11 version updated from CVS the other day), the sequence goes
something like this (the service is numeric SP and has a client SPAAA, the
hub is CZ):

service>>PASS ...
service>>SERVER ...
service>>SP EB
service>>SP N C ...
service>>SPAAA C #twilightzone (timestamp is "now")
...
ircd   >>CZ B #twilightzone (some older timestamp) ...
ircd   >>CZ EB
...
service>>SP EA

Basically the service user is sending a CREATE for a channel it wants to
join (because it hasn't read the burst from the hub ircd yet and so doesn't
know the channel already exists).  AFAICT this could perfectly well happen
on normal servers (create a channel while servers are bursting which then
gets bursted from the far side).  From the service's PoV it knows that the
user "C" is no longer opped once it has parsed the burst message because it
saw the earlier timestamp.

However, the ircd says:

  HACK(2): C MODE #twilightzone +o C [989986810]

and sends a mode back the other way deopping the user.  Is this expected? 
Could the ircd not just convert the CREATE to a JOIN when propogating it and
not send the HACK notice? (it knows that the service hasn't yet acknowledged
the burst)?

splidge

Reply via email to