[dcc2] Multi headers + metadata
codemstr at ptdprolog.net
codemstr at ptdprolog.net
Wed Apr 28 22:37:08 EDT 2004
Phoenix Fyrestar <miyako_houou at comcast.net> said:
> You make a number of convincing arguments.
>
> As far as the problem with having to send the key over the network, thereby
> eliminating the benefit of encryption, what about the possibility of
> sending a key over ssl? My knowledge of cryptography is rather limited, so
> I'm just throwing a few ideas out there.
Yes, you could do that... but then why use blowfish at all? Why implement SSL
and Blowfish in order to get the same effect as SSL? Seems like just using
SSL is best.
>
> The problems with the legal difficult of distrubuting a cryptography
enabled
> program from within the us is a more difficult one, but I think that we
> should not omit it from the protocol just because an opressive regime in
> the US is stifeling it's citizens privacy. If a client chooses not to
> support encryption for whatever reason, then that client will simply choose
> to talk only in an unencrypted manner.
Without getting into a political debate, the US laws have no affect on "its
citizen's privacy." US citizens are free to use any/all encryption
technology, the limitation lies in the exportation of the technology. I never
said encryption should be removed because of this, just that it should be
optional. Which, as the below comments indicate, was a result of my
misunderstanding of your usage of the word "necessary."
> What I was referring to when I said that I saw encryption as a neccesity is
> that I think it is something that should be defined in the protocol for
> sure, and should be able to be either included or not included by the
> client authors. There should be a way of handling this, perhaps sending a
> request for an encrypted chat that the client can either accept or decline.
Sorry, I was thinking differently. Meaning, "necessary" indicates a
requirement. I definately think encryption should be an option for everyone.
> With regards to the question of a compression mechanism, I agree that there
> should be room to add another compression method later, but we should still
> dictate a universal bottom line I think. Something to say that all
> compression enabled clients will support at least compression algorithm foo.
Well I disagree. Consider this. We say "everything must support foo." Six
months from now, foo's developers/copyright holders decide, "You know what?
We could make some real money if we make our code proprietary!" And so they
do. Now, according to the DCC2 spec, all implementers are required to support
a proprietary protocol. Or, a year from now, people decide foo is just plain
garbage compared to the newer, better, compression protocols. And so they
decide to stop developing it. Then, a month later, a guy discovers an exploit
in the algorithm that allows arbitrary code execution. Since the project is
dead, it might never be fixed. Therefore, the DCC2 spec now requires
implementers to support an exploitable protocol. Also, lets consider
programming language foobar. Foobar is a brand new language with many
advanced features. However, not many people like it and so few people develop
for it. And, even worse, the interface it uses leaves it incompatible with
C/C++ (and other common languages) libraries. The DCC2 spec says "you must
support foo and you may support bar for compression." Well, this particular
language only has a library for bar, not foo! So, the way the spec is worded,
any client written in foobar cannot implement bar compression because it
would then be breaking the DCC2 spec simply because the language does not
have a library for foo compression. However, since bar is better than foo, if
you had a choice, you'd use bar anyway. So why should not having foo disallow
you from using bar? (Hope that wasn't too confusing ;)
Would any of that happen with something like gzip? Probably not in the near
future. But IRC isn't a protocol that has the spec updated every day, RFC1459
was written 11 years ago. Who knows what programming will be like 11 years
from now. Maybe, 11 years from now, gzip will be considered to be a laughable
display of a compression algorithm that your average monkey could create.
Basically, I'm just saying don't lock yourself into requiring support for
something that may eventually be obsolete. Compression should, without a
doubt, in my mind, be available. Just, compression, and the particular type
of compression it uses, should be optional.
> The client either chooses by default or allows the user to choose a maximum
> compression level. In the file send meta-file there would be a line that
> gose something like:
> maxcompression="6"
> or whatever. That way the receiving client would know what the maximum
> requestable compression level is, it could then either by default, by a
> stored value, or by asking the user, send in it's reply the requested
> compression level.
Yeah, I guess this could be a good idea. Just would need to be setup in some
way so as to indicate that it only applies to gzip and not to all compression
mechanisms. One thing though, with the meta-file comment, does this mean that
you're suggesting compression should only be implemented for multi-file
sends? Because I'd like to see it for single file sends as well. If I'm
sending a 5MB jpg file, I'd like that to be compressed, even though it is
only a single file.
-- codemastr
More information about the dcc2
mailing list