[dcc2] Hi all :)
Dan Smith
dan at algenta.com
Mon Feb 9 22:59:35 EST 2004
Hi Szymon!
At 03:53 AM 2/10/2004 +0100, you wrote:
>- The "SID=" token.
I agree that the SID must be present in each negotiation, but I am not sure
about making positional parameters. In fact it may be better to have no
positional parameters, and just use boolean tokens and name=value pairs,
even for the dcc2-command token. We can still make the token required as
you suggest without specifying a position, and the parsing may be even
easier (tokenize on whitespace, then equals).
This may be a better approach if, aside from the DCC2 ctcp message, we wish
to also create a historic DCC backward compatibility. Jesse suggested (for
historic dcc send and chat requests) we can append all the DCC2 tokens
after the command, and if the client supports DCC2 then negotiation could
take place with DCC2 ACCEPT. If not, then we would follow the historic
procedure for connection. This would mean our clients would support both
the new DCC2 and historic dcc with a DCC2 compatibility layer.
Of course the ultimate goal will be to slowly phase out use of historic dcc
as more clients implement DCC2 :)
>- LIST and GET transactions
Yes! A way to specify shared files would be quite useful, but should we
keep the DCC2 namespace only for connection negotiation? We could define
these in some other location that might be more fitting in the CTCP
framework, perhaps CTCP LIST or OOB in a direct connection?
Also, a solution to this might be the MULTI file sharing that is specified
in a draft on dcc2.org. This allows for sending multiple files and
directories, but since the receiving client specifies which files to send
from the XML list, it could easily be seen as a file listing and requesting
mechanism! :) It would also support file metadata, transfer privacy, and
integrity checks plus anything else we want to add to the multi schema.
>- An interesting idea could be to introduce some sort of (basic and
>optional) authentication method.
That is a neat idea! Exchanging auth passwords is still in plaintext if
done over irc and there is a possibility of snooping. Would it be better
to do this out of band over a direct connection? maybe an
AUTHTYPE=basicpass DCC2 token to allow for different standardized
authentication types and a handshake over a direct(encrypted) connection
could be possible. Perhaps we can incorporate this into MULTI. Any ideas
on that?
>- DCC VOICE and DCC VIDEO are interesting sub-protocols that could be
>explored in a later phase.
Yes, many protocols could be established. I was thinking it might also be
useful to allow clients to specify no-protocol, and just get negotiated
connection information. This could be very useful for launching other
network programs outside of IRC, such as video conferencing or multiplayer
games. Perhaps a TYPE=IRCCHAT, TYPE=IRCFILE (dcc send, we can change the
name to be more descriptive), TYPE=SOMEVIDEOPROTO TYPE=SOMEVOICEPROTOCAL,
TYPE=CONNECTION, etc...
Cheers!
Dan
---------------------------
Dan Smith (dan at algenta.com)
+1 608-213-2867
Algenta Technologies, LLC
More information about the dcc2
mailing list