> For the devs, this is how Exim parses spamd's output. You guys see > anything odd about this? > > if( sscanf(CS spamd_buffer, > "SPAMD/%s 0 EX_OK\r\nContent-length: %*u\r\n\r\n%lf/%lf\r\n%n", > spamd_version,&spamd_score,&spamd_threshold, > &spamd_report_offset) != 3 ) { > /* try to fall back to pre-2.50 spamd output */ > if( sscanf(CS spamd_buffer, > "SPAMD/%s 0 EX_OK\r\nSpam: %*s ; %lf / %lf\r\n\r\n%n", > spamd_version,&spamd_score,&spamd_threshold, > &spamd_report_offset) != 3 ) { > log_write(0, LOG_MAIN|LOG_PANIC, > "spam acl condition: cannot parse spamd output"); > return DEFER; > }; > };
Looks like that could be fairly trivially enhanced to log the text that it scanned along with the errror message. Would make debugging the problem a lot less speculative. Loren