-
Notifications
You must be signed in to change notification settings - Fork 19
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Hi issues when testing orange assasin #76
Comments
Hello, You don't need to change your python version, ideally you would create a virtualenv and install the dependencies for OA there.
We plan to provide Debian and CentOS packages, and if you wish you can follow that work here https://github.com/SpamExperts/OrangeAssassin-build |
Hi, As we are dealing with huge spam volumes and we have spamassasin installed on the server. Could you let us know an insight into how should we proceed incorporating the OA rules on the server. |
Hello, OrangeAssassin is supposed to be a drop-in replacement for SpamAssassin. So you would use the same rules for both of them. You can take a look at our Documentation, especially at the Configuration and Writing Tests sections for more information. Ideally you should not need to do anything more besides giving the appropriate paths to the -S and -C daemon options. |
Hi, ==== self = <tests.functional.test_daemon.TestDaemon testMethod=test_check_content_len_error>
tests/functional/test_daemon.py:322: self = <tests.functional.test_daemon.TestDaemon testMethod=test_check_content_len_error>
E ConnectionRefusedError: [Errno 111] Connection refused tests/functional/test_daemon.py:161: ConnectionRefusedError self = <tests.functional.test_daemon.TestDaemon testMethod=test_check_non_spam>
tests/functional/test_daemon.py:332: self = <tests.functional.test_daemon.TestDaemon testMethod=test_check_non_spam>
E ConnectionRefusedError: [Errno 111] Connection refused tests/functional/test_daemon.py:161: ConnectionRefusedError self = <tests.functional.test_daemon.TestDaemon testMethod=test_check_spam>
tests/functional/test_daemon.py:311: self = <tests.functional.test_daemon.TestDaemon testMethod=test_check_spam>
E ConnectionRefusedError: [Errno 111] Connection refused tests/functional/test_daemon.py:161: ConnectionRefusedError self = <tests.functional.test_daemon.TestDaemon testMethod=test_ping>
tests/functional/test_daemon.py:191: self = <tests.functional.test_daemon.TestDaemon testMethod=test_ping>, text = 'PING SPAMC/1.2\r\n'
E ConnectionRefusedError: [Errno 111] Connection refused tests/functional/test_daemon.py:161: ConnectionRefusedError self = <tests.functional.test_daemon.TestDaemon testMethod=test_ping_error>
tests/functional/test_daemon.py:198: self = <tests.functional.test_daemon.TestDaemon testMethod=test_ping_error>, text = 'PINasdfG SPAMC/1.2\r\n'
E ConnectionRefusedError: [Errno 111] Connection refused tests/functional/test_daemon.py:161: ConnectionRefusedError self = <tests.functional.test_daemon.TestDaemon testMethod=test_process_content_body_non_spam>
tests/functional/test_daemon.py:299: self = <tests.functional.test_daemon.TestDaemon testMethod=test_process_content_body_non_spam>
E ConnectionRefusedError: [Errno 111] Connection refused tests/functional/test_daemon.py:161: ConnectionRefusedError self = <tests.functional.test_daemon.TestDaemon testMethod=test_process_content_body_spam>
tests/functional/test_daemon.py:277: self = <tests.functional.test_daemon.TestDaemon testMethod=test_process_content_body_spam>
E ConnectionRefusedError: [Errno 111] Connection refused tests/functional/test_daemon.py:161: ConnectionRefusedError self = <tests.functional.test_daemon.TestDaemon testMethod=test_process_content_disposition>
tests/functional/test_daemon.py:239: self = <tests.functional.test_daemon.TestDaemon testMethod=test_process_content_disposition>
E ConnectionRefusedError: [Errno 111] Connection refused tests/functional/test_daemon.py:161: ConnectionRefusedError self = <tests.functional.test_daemon.TestDaemon testMethod=test_process_content_disposition2_spam>
tests/functional/test_daemon.py:265: self = <tests.functional.test_daemon.TestDaemon testMethod=test_process_content_disposition2_spam>
E ConnectionRefusedError: [Errno 111] Connection refused tests/functional/test_daemon.py:161: ConnectionRefusedError self = <tests.functional.test_daemon.TestDaemon testMethod=test_process_content_encoding_non_spam>
tests/functional/test_daemon.py:253: self = <tests.functional.test_daemon.TestDaemon testMethod=test_process_content_encoding_non_spam>
E ConnectionRefusedError: [Errno 111] Connection refused tests/functional/test_daemon.py:161: ConnectionRefusedError self = <tests.functional.test_daemon.TestDaemon testMethod=test_process_content_len_error>
tests/functional/test_daemon.py:290: self = <tests.functional.test_daemon.TestDaemon testMethod=test_process_content_len_error>
E ConnectionRefusedError: [Errno 111] Connection refused tests/functional/test_daemon.py:161: ConnectionRefusedError self = <tests.functional.test_daemon.TestDaemon testMethod=test_process_content_type>
tests/functional/test_daemon.py:208: self = <tests.functional.test_daemon.TestDaemon testMethod=test_process_content_type>
E ConnectionRefusedError: [Errno 111] Connection refused tests/functional/test_daemon.py:161: ConnectionRefusedError self = <tests.functional.test_daemon.TestDaemon testMethod=test_process_content_type_non_spam>
tests/functional/test_daemon.py:221: self = <tests.functional.test_daemon.TestDaemon testMethod=test_process_content_type_non_spam>
E ConnectionRefusedError: [Errno 111] Connection refused tests/functional/test_daemon.py:161: ConnectionRefusedError self = <tests.functional.test_daemon.TestDaemon testMethod=test_report_if_spam>
tests/functional/test_daemon.py:411: self = <tests.functional.test_daemon.TestDaemon testMethod=test_report_if_spam>
E ConnectionRefusedError: [Errno 111] Connection refused tests/functional/test_daemon.py:161: ConnectionRefusedError self = <tests.functional.test_daemon.TestDaemon testMethod=test_report_if_spam_true>
tests/functional/test_daemon.py:425: self = <tests.functional.test_daemon.TestDaemon testMethod=test_report_if_spam_true>
E ConnectionRefusedError: [Errno 111] Connection refused tests/functional/test_daemon.py:161: ConnectionRefusedError self = <tests.functional.test_daemon.TestDaemon testMethod=test_report_spam>
tests/functional/test_daemon.py:396: self = <tests.functional.test_daemon.TestDaemon testMethod=test_report_spam>
E ConnectionRefusedError: [Errno 111] Connection refused tests/functional/test_daemon.py:161: ConnectionRefusedError self = <tests.functional.test_daemon.TestDaemon testMethod=test_symbols_bad_header_line>
tests/functional/test_daemon.py:371: self = <tests.functional.test_daemon.TestDaemon testMethod=test_symbols_bad_header_line>
E ConnectionRefusedError: [Errno 111] Connection refused tests/functional/test_daemon.py:161: ConnectionRefusedError self = <tests.functional.test_daemon.TestDaemon testMethod=test_symbols_missing_key_content_error>
tests/functional/test_daemon.py:361: self = <tests.functional.test_daemon.TestDaemon testMethod=test_symbols_missing_key_content_error>
E ConnectionRefusedError: [Errno 111] Connection refused tests/functional/test_daemon.py:161: ConnectionRefusedError can you help me trouble shoot. I have installed all the requirements and necessary plugins. Since I am using cpanel test environment the MINI-DNS-Server-master was cloned and installed manually. |
Hello, would it be easy to post the result of |
I am using python3.6 that is custom compiled on the server. Please have a check. root@orangeassassin [/]# /usr/local/bin/python3.6 -VV root@orangeassassin [/]# /usr/local/bin/pip3.6 freeze |
They seem fine, there are a couple of differences but they should not be important. Is there any reason the server would not be able to start/bind port 30783 in your test environment ? |
We have no firewall rules that may block onto the ports in an allowed range that includes the mentioned port number. But to clarify could you please let us know if you mean to configure the bind( or named) with port 30783. Also as it turns to be tedious I am currently trying to incorporate the OA rule sets to Spamassasin. Could you let us know if there would be any special settings needed to enable this feature. I am aware that we could use the .cf rules to be added to make the rule sets added on the Spamassasin. ( am I correct in my approach?) |
OA does not have any rule sets, as mentioned earlier. It's a replacement for the daemon, intended to be used with regular SA rule sets. |
@FrankJ1122 You need to get the relevant rules ( as for port 30783. The tests are attempting to run the server on that port and for some reason are failing. By default the daemon binds on 783. if you want to debug this you can start by running this command
It should show |
Thanks for the reply. Let me try it out |
I get the below results root@orangeassassin [/usr/src/Python-2.7.6/OrangeAssassin/scripts]# oad.py -p 30783 --log-file /tmp/logfile.log -C /tmp/ -S /tmp/ -D |
Version information
We are currently testing orangeassasin as a replacement for spamassasin. We are unable to find any docs related to the installation steps, but however we have started the installation process. We are using orangeassasin to be setup on the Cpanel server. We have both python2.7 and python3 installed on the server along with the pip.
I would like to know if there is any valid documentation of orange assasin to be used in cpanel server
Note: we cannot interfere the default python version on the server as it would break yum packages on the server.
Currently as a part of the test we are using test scripts
Steps to replicate
use script py.test tests/unit/
root@orangeassassin [/]# cd /usr/src/Python-2.7.6/OrangeAssassin/
root@orangeassassin [/usr/src/Python-2.7.6/OrangeAssassin]# py.test tests/unit/
=============================================================================================== test session starts ===============================================================================================
platform linux2 -- Python 2.7.6, pytest-3.0.7, py-1.4.33, pluggy-0.4.0
rootdir: /usr/src/Python-2.7.6/OrangeAssassin, inifile:
plugins: cov-2.4.0
collected 1004 items / 3 errors
===================================================================================================== ERRORS ======================================================================================================
___________________________________________________________________________________ ERROR collecting tests/unit/test_daemon.py ____________________________________________________________________________________
tests/unit/test_daemon.py:12: in
import scripts.oad
scripts/oad.py:16: in
import oa.server
oa/server.py:34: in
class RequestHandler(spoon.server.Gulp):
E AttributeError: 'module' object has no attribute 'Gulp'
___________________________________________________________________________________ ERROR collecting tests/unit/test_server.py ____________________________________________________________________________________
tests/unit/test_server.py:14: in
import oa.server
oa/server.py:34: in
class RequestHandler(spoon.server.Gulp):
E AttributeError: 'module' object has no attribute 'Gulp'
______________________________________________________________________________ ERROR collecting tests/unit/test_plugins/test_spf.py _______________________________________________________________________________
ImportError while importing test module '/usr/src/Python-2.7.6/OrangeAssassin/tests/unit/test_plugins/test_spf.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
tests/unit/test_plugins/test_spf.py:11: in
import oa.plugins.spf
oa/plugins/spf.py:8: in
import spf
/usr/local/lib/python2.7/site-packages/spf.py:110: in
import DNS # http://pydns.sourceforge.net
E ImportError: No module named DNS
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Interrupted: 3 errors during collection !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
============================================================================================= 3 error in 3.36 seconds =============================================================================================
The text was updated successfully, but these errors were encountered: