I upgraded to 2.6x and get "razor2 check skipped"
The full text of error message, wrapped here, is:
razor2 check skipped: Bad file descriptor Insecure dependency in connect while running setuid at /usr/lib/perl/5.6.1/IO/Socket.pm line 108, <GEN313> line 79.
or something similar beginning with "razor2 check skipped".
If you have the SpamAssassin source tree, well and good. If you got it from somewhere that did not include source, get the corresponding source or fetch Razor2.patch from http://www.spamassassin.org/released/Razor2.patch
Note: if you are using the official SpamAssassin RPMs, the Razor2.patch file is located in your documentation directory, usually /usr/share/doc/spamassassin-<version>.
See README and Razor2.patch in the source:
If you have Razor2 turned on and are using Vipul's Razor 2.22 or higher (until at least 2.33), you will need to apply a small patch. The instructions are located in the Razor2.patch file. (README file)
To verify your version of Razor, use: razor-admin -v
This should respond with something similar to: Razor Agents 2.36, protocol version 3
With a clean copy of razor-agents-2.36 expect to see the following output from patch:
patching file Client/Agent.pm Hunk #1 succeeded at 981 (offset 12 lines). patching file Client/Config.pm Hunk #1 succeeded at 333 (offset 10 lines). Hunk #2 succeeded at 378 (offset 10 lines). patching file Client/Core.pm Hunk #1 succeeded at 218 (offset 2 lines).
but no rejects. If you see rejects you're probably looking at a previously patched or modified Razor2.
Razor 2.40 contains these fixes already. The Changes file says "Applied patch from Mark Martinec and Vivek Khera of Amavid to untaint various file targets obtained from user input. This is the same patch pointed to by the SpamAssassin FAQ http://www.spamassassin.org/released/Razor2.patch"