On Fri, 2009-01-23 at 10:32 -0600, Chris Fabri wrote:
My first message got moderated because of a large attachement containing the config.h and config.log files. Let me know if you still need those after this, and I can send directly. chris
On Thu, Jan 22, 2009 at 3:39 AM, Balazs Scheidler <bazsi@balabit.hu> wrote:
Hmm... the configure script gives a summary on compilation flags at the end of the configure phase. Do you have openssl enabled or disabled there?
Yes, configure script did verify SSL was disabled:
syslog-ng Open Source Edition 3.0.1 configured Compiler options: compiler : gcc compiler options : -g -O2 -Wall -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include -I/usr/local/include/eventlog -D_GNU_SOURCE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 linker flags : prefix : /usr/local2 Features: Sun STREAMS support : no Sun Door support : no Debug symbols : no GCC profiling : no Memtrace : no IPV6 support : yes spoof-source support : no tcp-wrapper support : yes SSL support : no SQL support : no Linux capability support : yes PCRE support : no Env wrapper support : no
I've checked again, this might be the culprit. Last time I've fixed this, I probably didn't get a positive response that the fix was successful. And the problem is that ENABLE_SSL is actually defined even if SSL is disabled, but its value is 0, so instead of #ifdef, #if needs to be used.
Can you check if this fixes your problem and also report it back?
Thanks.
diff --git a/src/tlscontext.h b/src/tlscontext.h index ada8e18..ce4bbf8 100644 --- a/src/tlscontext.h +++ b/src/tlscontext.h @@ -7,7 +7,7 @@
#include "syslog-ng.h"
-#ifdef ENABLE_SSL +#if ENABLE_SSL
#include <openssl/ssl.h>
I've made that change, getting different errors:
if gcc -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include -I/usr/local/include/eventlog -D_GNU_SOURCE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 -Wall -MT tlstransport.o -MD -MP -MF ".deps/tlstransport.Tpo" -c -o tlstransport.o tlstransport.c; \ then mv -f ".deps/tlstransport.Tpo" ".deps/tlstransport.Po"; else rm -f ".deps/tlstransport.Tpo"; exit 1; fi In file included from tlstransport.c:1: tlstransport.h:12: syntax error before '*' token In file included from /usr/include/openssl/ssl.h:179, from tlstransport.c:5: /usr/include/openssl/kssl.h:72:18: krb5.h: No such file or directory In file included from /usr/include/openssl/ssl.h:179, from tlstransport.c:5: /usr/include/openssl/kssl.h:134: syntax error before "krb5_enctype" /usr/include/openssl/kssl.h:136: syntax error before '*' token /usr/include/openssl/kssl.h:137: syntax error before '}' token /usr/include/openssl/kssl.h:149: syntax error before "kssl_ctx_setstring" /usr/include/openssl/kssl.h:149: syntax error before '*' token /usr/include/openssl/kssl.h:150: syntax error before '*' token /usr/include/openssl/kssl.h:151: syntax error before '*' token /usr/include/openssl/kssl.h:151: syntax error before '*' token /usr/include/openssl/kssl.h:152: syntax error before '*' token /usr/include/openssl/kssl.h:153: syntax error before "kssl_ctx_setprinc" /usr/include/openssl/kssl.h:153: syntax error before '*' token /usr/include/openssl/kssl.h:155: syntax error before "kssl_cget_tkt" /usr/include/openssl/kssl.h:155: syntax error before '*' token /usr/include/openssl/kssl.h:157: syntax error before "kssl_sget_tkt" /usr/include/openssl/kssl.h:157: syntax error before '*' token /usr/include/openssl/kssl.h:159: syntax error before "kssl_ctx_setkey" /usr/include/openssl/kssl.h:159: syntax error before '*' token /usr/include/openssl/kssl.h:161: syntax error before "context" /usr/include/openssl/kssl.h:162: syntax error before "kssl_build_principal_2" /usr/include/openssl/kssl.h:162: syntax error before "context" /usr/include/openssl/kssl.h:165: syntax error before "kssl_validate_times" /usr/include/openssl/kssl.h:165: syntax error before "atime" /usr/include/openssl/kssl.h:167: syntax error before "kssl_check_authent" /usr/include/openssl/kssl.h:167: syntax error before '*' token /usr/include/openssl/kssl.h:169: syntax error before "enctype" In file included from tlstransport.c:5: /usr/include/openssl/ssl.h:909: syntax error before "KSSL_CTX" /usr/include/openssl/ssl.h:931: syntax error before '}' token tlstransport.c:12: syntax error before "TLSSession" tlstransport.c:12: warning: no semicolon at end of struct or union tlstransport.c:13: warning: type defaults to `int' in declaration of `LogTransportTLS' tlstransport.c:13: warning: data definition has no type or storage class tlstransport.c: In function `log_transport_tls_read_method': tlstransport.c:18: `self' undeclared (first use in this function) tlstransport.c:18: (Each undeclared identifier is reported only once tlstransport.c:18: for each function it appears in.) tlstransport.c:18: syntax error before ')' token tlstransport.c: In function `log_transport_tls_write_method': tlstransport.c:74: `self' undeclared (first use in this function) tlstransport.c:74: syntax error before ')' token tlstransport.c: At top level: tlstransport.c:125: syntax error before '*' token tlstransport.c: In function `log_transport_tls_new': tlstransport.c:127: `self' undeclared (first use in this function) tlstransport.c:127: syntax error before ')' token tlstransport.c:129: `flags' undeclared (first use in this function) tlstransport.c:130: `fd' undeclared (first use in this function) tlstransport.c:135: `tls_session' undeclared (first use in this function) tlstransport.c: In function `log_transport_tls_free_method': tlstransport.c:146: `self' undeclared (first use in this function) tlstransport.c:146: syntax error before ')' token tlstransport.c:148: warning: implicit declaration of function `tls_session_free' make[2]: *** [tlstransport.o] Error 1 make[2]: Leaving directory `/home/fabric/syslog-ng-3.0.1/src' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/home/fabric/syslog-ng-3.0.1' make: *** [all] Error 2
Sorry, that it takes this much effort, but I don't want to mess up my development computer while removing the libssl headers. New errors, new patch: diff --git a/src/tlstransport.c b/src/tlstransport.c index 608a427..2f07625 100644 --- a/src/tlstransport.c +++ b/src/tlstransport.c @@ -1,5 +1,7 @@ #include "tlstransport.h" +#if ENABLE_SSL + #include "messages.h" #include <openssl/ssl.h> @@ -149,4 +151,4 @@ log_transport_tls_free_method(LogTransport *s) log_transport_free_method(s); } - +#endif -- Bazsi