Repeate alias warnings

2004-11-19 Thread liste
I spent an hour tracking down a bug last night.  Turns out I had 2
sessions that shared an alias.

Wouldn't it be a good thing for POE to check and give a warning if someone
registers an alias that is already given to another session?

-Philip



Poco-Server-IRC : Proposals for server to server protocol

2004-11-19 Thread Kidney Bingos
Hey,

Just a bit of a ramble regarding the issues surrounding the implementation of 
the server to server protocol in POE::Component::Server::IRC and a request for 
comments.

Background
~~

In writing poco-server-irc I have working to the IRC protocol as lay down in 
the RFCs 2810-2813. The only true implementation of these protocols as lay out 
in the RFCs is irc-2.10 http://www.funet.fi/~irc/server/, and this is the 
reference implementation I have been working towards with the component.

RFC 2813 - Internet Relay Chat: Server Protocol concerns the linking of IRC 
servers together to form a network. Two major problems that face an IRC network 
are: net riding where a user gains channel ops on a channel by riding a 
healing network; and race conditions with commands that affect users, such as 
KILL, MODE, etc. and those users changing NICK.

RFC 2813 and hence irc-2.10 deal with these issues in two ways: Channel/Nick 
delay; and Nick tracking.

Nicknames can get locked if:

* nickname is killed either by operator or collision.
* net has split and the nickname was lost in the split. 

Channels can get locked if:

* net has split, channel has lost channel operators in the split, and the 
channel becomes empty. The lock is triggered in the split, but it is activated 
only if the channel becomes empty. Rejoin of the net or expiring the delay 
timeout will release the lock again. 

Nick tracking is explained in RFC 2813 Section 5.6

TimeStamp protcol or TSora is used by Hybrid http://www.ircd-hybrid.com/ and 
its clones and provides an effective mechanism against net riding and for 
fairer kills on nick collisions. It is assumed that Hybrid adopts a similar 
approach to nickname tracking.

ircu is a P10 protocol implementation. The P10 protocol uses timestamping like 
Hybrid, but also implements unique tokens for servers and clients. All 
communication between servers is conducted using these tokens, referred to as 
numerics. 

The Problem
~~~

I have nagging doubts about how to implement the server to server protocol for 
poco-server-irc. I'm troubled by the protocol as lay out in RFC 2813, mainly 
because I am not convinced that the mechanisms described are scalable.

I am not convinced that anyone would want to ever link this component to an IRC 
running irc-2.10.

So what I am proposing is to enhance the server to server protocol in RFC 
2813 by including timestamps and numerics.

This would have the following impact:

- base poco-server-irc would only be able to link to other base poco-server-irc
- wouldn't be able to link to irc-2.10 ircds.

Thoughts? Comments? Rants? Flames?

Let me know.

Thank you for listening.

=
Chris Williams
BinGOs
=
http://www.gumbynet.org.uk/
http://www.kidney-bingos.demon.co.uk/irc/
=


pgpdKP8GAKhCE.pgp
Description: PGP signature


Re: Repeate alias warnings

2004-11-19 Thread Rocco Caputo
On Fri, Nov 19, 2004 at 02:46:21PM -0500, [EMAIL PROTECTED] wrote:
 I spent an hour tracking down a bug last night.  Turns out I had 2
 sessions that shared an alias.
 
 Wouldn't it be a good thing for POE to check and give a warning if someone
 registers an alias that is already given to another session?

alias_set() returns 0 on success, or a nonzero failure indicator:

EEXIST
  The alias already is assigned to a different session.

...

TRACE_RETVALS
  TRACE_RETVALS enables carping whenever a Kernel method is about to
  return an error.  See ASSERT_RETVALS if you would like the Kernel to
  be stricter than this.

-- 
Rocco Caputo - http://poe.perl.org/