On Fri, 6 Dec 2002, Jim Pazarena wrote:
> I wrote my own 'spam assassin', which works very well until the
> message comes in encoded with base64. My own base64 decoding routine
> which I copied from the one within exim causes my routine to blow up.
I'm not familiar with whole messages encoded in base64. Are they one
long b64 string, or is it done line by line? I ask because the functions
in Exim were designed for relatively short strings (such as you get with
AUTH) and work by getting one chunk of memory into which to encode or
decode the string. This is likely to cause trouble if they are fed large
strings. However, given that one knows how b64 works, you could chop up
a large string into smaller pieces and feed them through separately.
> It was actually _Philip's_ comments when I queried about my routine
> that "perhaps I should include access to exim's base64 routine from
> local_scan".
Sigh. Memory Fade strikes again. Sorry. I really must be getting old.
> This is one STRONG request for access to the function.
The two existing functions are small and have a clean specification
which is unlikely to change, so there's really no problem in publishing
their interface. I'll do it.
--
Philip Hazel University of Cambridge Computing Service,
ph10@??? Cambridge, England. Phone: +44 1223 334714.