Tony Finch wrote:
>> Perhaps it should say in the Exim documentation at
>> http://www.exim.org/exim-html-current/doc/html/spec_html/ch41.html when
>> it mentions Kaspersky that there is a completely different way of using
>> the latest versions.
>
> I'm not entirely happy with the way they've gone about supporting Exim.
> It's extremely nice that they have gone to the effort of implementing
> special support, but I wish they had submitted a patch for malware.c
> so that we could support their product natively.
I can see the attraction from their perspective of doing this, but I
agree, it's not the best way of doing it.
> I'm going to have a closer look at the new Kaspersky version to see what I can do to support
> it better.
>
>> Every single time it's run I get this bizarre error:
>>
>> 2008-09-16 11:47:21 1KfY5Z-0007mI-O6 dlopen
>> "/opt/kaspersky/kav4lms/lib/libkavexim.so" failed:
>> /opt/kaspersky/kav4lms/lib/libkavexim.so: undefined symbol:
>> split_spool_directory
>
> This is because Exim needs to be compiled with gcc -export-dynamic in
> order to support ${dlfunc with the local_scan API. src/EDITME says:
>
> # Support for dynamically-loaded string expansion functions via ${dlfunc. If
> # you are using gcc the dynamically-loaded object must be compiled with the
> # -shared option, and you will need to add -export-dynamic to EXTRALIBS so
> # that the local_scan API is made available by the linker. You may also need
> # to add -ldl to EXTRALIBS so that dlopen() is available to Exim.
>
> # EXPAND_DLFUNC=yes
Yeah, I read all that. It is compiled with the relevant options:
root@haven:/usr/local/src/exim/4.69/exim4-4.69/build-tree/Local# egrep
'^(EXPAND_DLFUNC|EXTRALIBS)' Makefile
EXPAND_DLFUNC=yes
EXTRALIBS=-lpam -export-dynamic -ldl
Mike