On Mon, 8 Dec 2003, Alan Thew wrote:
> Not a big deal but fyi...
>
> 4.24 was fine. This is with exiscan acl patch 14.
>
> gcc -c -O -I. daemon.c
> daemon.c: In function `handle_smtp_call':
> daemon.c:144: `socklen_t' undeclared (first use in this function)
This problem is caused by this change:
1. The 3rd arguments to getsockname(), getpeername(), and accept() in exim.c
and daemon.c were passed as pointers to ints; they should have been
pointers to socklen_t variables (which are typically unsigned ints).
Looks like socklen_t is something new in Solaris (which I didn't
realize). Just define it as an unsigned int. Unfortunately, C doesn't
contain a means of testing "is this type defined?" - otherwise I could
put in a default.
I'm not quite sure what to do about this, as there aren't separate
configuration files for different Solaris releases. It seems rather a
lot of effort to invent them just to support one old release. Is Solaris
6 still maintained? Do lots of people still run it?
--
Philip Hazel University of Cambridge Computing Service,
ph10@??? Cambridge, England. Phone: +44 1223 334714.
Get the Exim 4 book: http://www.uit.co.uk/exim-book