Hi,
I understand. I have a few questions about your code. You do a case -3: on enh_error, yet there is NO such entry anywhere in the code.
Heh. Cruft, I guess. The code has changed a lot over time.
Additionally, you check for 0 for a good condition, yet there is no possibility of a changed enh_error value for 0 in call_dspam nor in the function that calls it.
Cruft too then, or just defensive coding maybe...
I am getting errors when I try to move things into the spam folder (default case error). DSPAM is installed, it is getting run and if I run it by hand with --user someone (without any domain junk) it runs fine. So, where does the 0 case get it's value where it doesn't show up in call_dspam?
Have you tried printing out the dspam command line and doing exactly that command by hand?
johannes