On Tue, 27 Jan 2009, Jos Vos wrote: > On Tue, Jan 27, 2009 at 04:45:19PM +0100, Matthias Andree wrote: > > > Come on, nobody needs support for outdated operating systems and rogue > > releases of GCC. There has never been a GCC 2.96, and Redhat 7.3 has > > been out of security support for more than half a decade now, and if > > OpenVPN 2.1 breaks on such systems, that's perhaps some more incentive > > for their users to upgrade. See: > > > > * <http://gcc.gnu.org/gcc-2.96.html> > > * <http://www.redhat.com/security/updates/eol/> > > The rc10 ChangeLog says > > * Fixed separate compile errors in options.c and ntlm.c that occur > on strict C compilers (such as old versions of gcc) that require > that C variable declarations occur at the start of a {} block, > not in the middle. > > so I thought this might fall into the same category (although I don't > know if this way of using the C preprocessor is formally allowed or > not). But I don't mind *not* sharing this kind of patches anymore in > the future, if that bothers people too much.
Sorry, I didn't mean to offend you, <lang='nl'>en dank je wel voor jouw patch</lang>; I was merely stumbling across "gcc-2.96/RH 7.3" which made me misinterpret the real motivation. The official gcc 2.95.3 doesn't compile ssl.c either, and apparently it's rightfully refusing to (I checked the opencsw.org compiler on Solaris 8 SPARC). I checked around a bit, and for not having a current C standard handy, I'll relay this Apple developer document instead, without checking it: http://developer.apple.com/documentation/DeveloperTools/gcc-4.0.1/cpp/Directives-Within-Macro-Arguments.html#Directives-Within-Macro-Arguments where Apple effectively state that the behaviour OpenVPN requests is undefined. If they're right, the behaviour used in ssl.c that you fixed was a GCC 3.2+ extension, so your patch fixes a real bug rather than compability with ancient compilers. I stand corrected. Sorry for the harsh tone. Take care, -- Matthias Andree