On Tue, 2009-01-13 at 02:30 +0000, entr...@users.sourceforge.net wrote:
> +     * ircd/m_gline.c (ms_gline): Default lastmod to the known lastmod
> +     time for GLINE_LOCAL_{DE,}ACTIVATE.
> +     (mo_gline): Check that expiration times parse as expected.  Reject
> +     "*" as a target for GLINE_LOCAL_{DE,}ACTIVATE.  Require reason and
> +     expiration time for new G-lines.  Allow deactivation of an unknown
> +     G-line without creating it ("so-and-so ... creating new G-line" is
> +     a confusing message for a deactivation).

It may be confusing, but it was a deliberate design choice at the time.
The time when a gline interpreted as a 0.0.0.0/0 got set was a case in
point--I was able to set up a server to not link, set a deactivated copy
of the G-line in question, then reconnect it to the net and have that
deactivated G-line propagate to the other servers.  Removing that
ability also creates a corner case where a deactivated G-line could
suddenly pop back up on the network on some servers--a G-line desync:

Let's assume that a G-line on *...@example.com is set, then deactivated.
Now, a server that never saw the original *...@example.com G-line links to
the network.  It gets the advertisement for the deactivated G-line and
propagates it to all its linked leafs, but does not add the G-line
itself.  Now let's assume a server that has the *...@example.com G-line but
not the deactivation update then links to our first server; it will set
the G-line and propagate it around the net.

We're at least guaranteed that the G-line won't stay active for long on
our hypothetical server, as it'll get the deactivation advertisement
again based on the lastmod mismatch...but it will have already kicked
off everyone matching *...@example.com.  I think it would be far better to
not have that happen in the first place, which means that the server
would have to allow the addition of the deactivated G-line to its G-line
database.

In this discussion, I've been assuming a global G-line deactivation, as
opposed to a local deactivation of a global G-line; for local
deactivations, the server should just forward or ignore, depending on
whether or not it's the target.
-- 
Kevin L. Mitchell <klmi...@mit.edu>

Attachment: signature.asc
Description: This is a digitally signed message part

_______________________________________________
Coder-com mailing list
Coder-com@undernet.org
http://undernet.sbg.org/mailman/listinfo/coder-com

Reply via email to