> 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

Reply via email to