Bug 1637 - compilation of spamd/sslspamc broken
Summary: compilation of spamd/sslspamc broken
Status: RESOLVED FIXED
Alias: None
Product: Spamassassin
Classification: Unclassified
Component: spamc/spamd (show other bugs)
Version: 2.50
Hardware: PC Linux
: P5 minor
Target Milestone: 2.53
Assignee: SpamAssassin Developer Mailing List
URL:
Whiteboard:
Keywords:
Depends on: 1542
Blocks:
  Show dependency tree
 
Reported: 2003-03-14 07:58 UTC by Gerhard Blab
Modified: 2003-03-26 03:03 UTC (History)
0 users



Attachment Type Modified Status Actions Submitter/CLA Status

Note You need to log in before you can comment on or make changes to this bug.
Description Gerhard Blab 2003-03-14 07:58:53 UTC
Compilation (make spamd/sslspamc) stops with error 

spamd/libspamc.c: In function `_spamc_read_full_line':
spamd/libspamc.c:513: `ssl' undeclared (first use in this function)

**END error

only other use of variable 'ssl' in routine "static int _message_filter" preceded by definition and initialization of ssl (and related variables)

should line 513 read: "bytesread=timeout_read(SSL_read, >SOCK<, buf+len, 1);" ?
Comment 1 Klaus Heinz 2003-03-15 16:17:34 UTC
Subject: Re: [SAdev]  New: compilation of spamd/sslspamc broken

bugzilla-daemon@hughes-family.org wrote:

> Compilation (make spamd/sslspamc) stops with error 

For me, the compiler does not stop there:

  spamd/libspamc.c: In function `_spamc_read_full_line':
  spamd/libspamc.c:513: `ssl' undeclared (first use in this function)
  spamd/libspamc.c:513: (Each undeclared identifier is reported only once
  spamd/libspamc.c:513: for each function it appears in.)
  spamd/libspamc.c:513: warning: passing arg 1 of `timeout_read' from
  incompatible pointer type
  spamd/libspamc.c: In function `_message_filter':
  spamd/libspamc.c:698: warning: passing arg 1 of `timeout_read' from
  incompatible pointer type
  spamd/libspamc.c:698: warning: passing arg 2 of `timeout_read' makes
  integer from pointer without a cast
  *** Error code 1

  Stop.

> should line 513 read: "bytesread=timeout_read(SSL_read, >SOCK<, buf+len, 1);" ?

Probably not. timout_read() calls SSL_read() with 'ssl' as its argument.
According to http://www.openssl.org/, the prototype is

  int SSL_read(SSL *ssl, void *buf, int num);

A bit different from the prototype for 'read'
  ssize_t read(int d, void *buf, size_t nbytes);

which was obviously as the template for timeout_read().

ciao
     Klaus

Comment 2 Justin Mason 2003-03-18 16:23:36 UTC
missed. to fix in 2.52
Comment 3 Justin Mason 2003-03-26 12:03:18 UTC
OK, now fixed in 2.53 and HEAD cvs.