Subject: Re: Patch to use aes_*_ctr in newer versions of OpenSSL and #if LIBSSH2_DSA for more DSA-code

Re: Patch to use aes_*_ctr in newer versions of OpenSSL and #if LIBSSH2_DSA for more DSA-code

From: Simon Josefsson <simon_at_josefsson.org>
Date: Mon, 01 Mar 2010 13:18:46 +0100

Daniel Stenberg <daniel_at_haxx.se> writes:

> On Mon, 1 Mar 2010, Simon Josefsson wrote:
>
>> I couldn't reproduce a compiler failure, but the warning was likely
>> due to -Wundef (which IMHO is pointless -- undeclared CPP constants
>> must evaluate to 0). Just curious; I don't care strongly.
>
> Ah, yes it was a warning only, the error must've been some mistake of
> mine. I like -Wundef because it makes you write stricter code that
> leaves less mistakes around. Like when you do #if [misspelled define]
> which always will evaluate false but with -Wundef will give you a
> clear warning. That specific mistake is also very hard to spot and
> track down (and yes I've seen it happen more than once).

I understand, and I've seen that too. There are disadvantages though:
if someone declares the constant to 0 and expects the feature to be
disabled. Further, it encourages adding defined-checks to all CPP
symbols regardless of how they are intended to be used. I've seen these
two patterns cause problems more than once as well.

Anyway, this is an aesthetic discussion. I believe discussing it helps
to make us aware of the underlying trade-offs though.

/Simon
_______________________________________________
libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel
Received on 2010-03-01