-
{% trans "Rspamd Configurations!" %} - {% trans "Rspamd Docs" %}
+ {% trans "Rspamd Configurations!" %} -
{% trans "On this page you can configure RSPAMD settings." %}
-
-
+
+
+
+
+
+
+
+
+
+
+
+
{#-------------------------------un install process----------------------------------#}
@@ -247,6 +255,78 @@
+
+
+
+
+
+
+
diff --git a/emailPremium/urls.py b/emailPremium/urls.py
index f66aa2443..ba29c3fd2 100755
--- a/emailPremium/urls.py
+++ b/emailPremium/urls.py
@@ -52,9 +52,11 @@ urlpatterns = [
url(r'^saveRspamdConfigurations$', views.saveRspamdConfigurations, name='saveRspamdConfigurations'),
url(r'^savepostfixConfigurations$', views.savepostfixConfigurations, name='savepostfixConfigurations'),
url(r'^saveRedisConfigurations$', views.saveRedisConfigurations, name='saveRedisConfigurations'),
- url(r'^saveRedisConfigurations$', views.saveRedisConfigurations, name='saveRedisConfigurations'),
+ url(r'^saveclamavConfigurations$', views.saveclamavConfigurations, name='saveclamavConfigurations'),
url(r'^unistallRspamd$', views.unistallRspamd, name='unistallRspamd'),
url(r'^uninstallStatusRspamd$', views.uninstallStatusRspamd, name='uninstallStatusRspamd'),
+ url(r'^FetchRspamdLog$', views.FetchRspamdLog, name='FetchRspamdLog'),
+ url(r'^RestartRspamd$', views.RestartRspamd, name='RestartRspamd'),
url(r'^EmailDebugger$', views.EmailDebugger, name='EmailDebugger'),
diff --git a/emailPremium/views.py b/emailPremium/views.py
index f1002ed8a..dfc57b096 100755
--- a/emailPremium/views.py
+++ b/emailPremium/views.py
@@ -1487,6 +1487,39 @@ def fetchRspamdSettings(request):
read_servers = j[1]
# logging.CyberCPLogFileWriter.writeToFile(str(read_servers) + "read_servers")
+ #ClamAV configs
+
+ clamav_Debug = True
+ LogFile = ''
+ TCPAddr = ''
+ TCPSocket = ''
+
+ if ProcessUtilities.decideDistro() == ProcessUtilities.centos or ProcessUtilities.decideDistro() == ProcessUtilities.cent8:
+ pass
+ elif ProcessUtilities.decideDistro() == ProcessUtilities.ubuntu or ProcessUtilities.decideDistro() == ProcessUtilities.ubuntu20:
+ clamavconfpath = "/etc/clamav/clamd.conf"
+ command = "sudo cat " + clamavconfpath
+ data = ProcessUtilities.outputExecutioner(command).splitlines()
+ for items in data:
+ if items.find('TCPSocket') > -1:
+ tempData = items.split(' ')
+ TCPSocket = tempData[1]
+ if items.find('TCPAddr') > -1:
+ tempData = items.split(' ')
+ TCPAddr = tempData[1]
+ if items.find('LogFile') > -1:
+ tempData = items.split(' ')
+ LogFile = tempData[1]
+ if items.find('Debug') > -1:
+ if items.find('Debug true') < 0:
+ clamav_Debug = False
+ continue
+ else:
+ clamav_Debug = True
+
+
+
+
final_dic = {'fetchStatus': 1,
'installed': 1,
'enabled': enabled,
@@ -1499,7 +1532,12 @@ def fetchRspamdSettings(request):
'smtpd_milters': smtpd_milters,
'non_smtpd_milters': non_smtpd_milters,
'read_servers': read_servers,
- 'write_servers': write_servers
+ 'write_servers': write_servers,
+ 'clamav_Debug': clamav_Debug,
+ 'LogFile': LogFile,
+ 'TCPAddr': TCPAddr,
+ 'TCPSocket': TCPSocket,
+
}
@@ -1624,6 +1662,44 @@ def saveRedisConfigurations(request):
except KeyError:
return redirect(loadLoginPage)
+
+
+def saveclamavConfigurations(request):
+ try:
+ userID = request.session['userID']
+ currentACL = ACLManager.loadedACL(userID)
+
+ if currentACL['admin'] == 1:
+ pass
+ else:
+ return ACLManager.loadErrorJson('saveStatus', 0)
+
+ try:
+ if request.method == 'POST':
+ data = json.loads(request.body)
+ tempfilepath = "/home/cyberpanel/saveclamavConfigurations"
+ json_object = json.dumps(data, indent=4)
+ writeDataToFile = open(tempfilepath, "w")
+ writeDataToFile.write(json_object)
+ writeDataToFile.close()
+
+ # status, msg = mailUtilities.changeRspamdConfig(request.body)
+ execPath = "/usr/local/CyberCP/bin/python " + virtualHostUtilities.cyberPanel + "/plogical/mailUtilities.py"
+ execPath = execPath + " changeclamavConfig"
+ output = ProcessUtilities.outputExecutioner(execPath)
+
+ data_ret = {'saveStatus': 1, 'error_message': 'None'}
+ json_data = json.dumps(data_ret)
+ return HttpResponse(json_data)
+
+ except BaseException as msg:
+ data_ret = {'saveStatus': 0, 'error_message': str(msg)}
+ json_data = json.dumps(data_ret)
+ return HttpResponse(json_data)
+
+ except KeyError:
+ return redirect(loadLoginPage)
+
def unistallRspamd(request):
try:
logging.CyberCPLogFileWriter.writeToFile("unistallRspamd...1")
@@ -1716,6 +1792,62 @@ def uninstallStatusRspamd(request):
final_json = json.dumps(final_dic)
return HttpResponse(final_json)
+def FetchRspamdLog(request):
+ try:
+ userID = request.session['userID']
+ currentACL = ACLManager.loadedACL(userID)
+
+ if currentACL['admin'] == 1:
+ pass
+ else:
+ return ACLManager.loadErrorJson()
+
+ fileName = "/var/log/rspamd/rspamd.log"
+ try:
+ command = "sudo tail -100 " + fileName
+ fewLinesOfLogFile = ProcessUtilities.outputExecutioner(command)
+ status = {"status": 1, "logstatus": 1, "logsdata": fewLinesOfLogFile}
+ final_json = json.dumps(status)
+ return HttpResponse(final_json)
+ except:
+ status = {"status": 1, "logstatus": 1, "logsdata": 'Emtpy File.'}
+ final_json = json.dumps(status)
+ return HttpResponse(final_json)
+ except KeyError:
+ final_dic = {'abort': 1, 'installed': 0,
+ 'error_message': "Not Logged In, please refresh the page or login again."}
+ final_json = json.dumps(final_dic)
+ return HttpResponse(final_json)
+
+
+def RestartRspamd(request):
+ try:
+ userID = request.session['userID']
+ currentACL = ACLManager.loadedACL(userID)
+
+ if currentACL['admin'] == 1:
+ pass
+ else:
+ return ACLManager.loadErrorJson()
+ try:
+ command = "systemctl restart rspamd"
+ ProcessUtilities.executioner(command)
+ command = "systemctl restart clamav-daemon"
+ ProcessUtilities.executioner(command)
+
+ dic = {'status': 1, 'error_message': 'None',}
+ json_data = json.dumps(dic)
+ return HttpResponse(json_data)
+ except BaseException as msg:
+ dic = {'status': 0, 'error_message': str(msg)}
+ json_data = json.dumps(dic)
+ return HttpResponse(json_data)
+ except KeyError:
+ dic = {'status': 0, 'error_message': str("Not Logged In, please refresh the page or login again.")}
+ json_data = json.dumps(dic)
+ return HttpResponse(json_data)
+
+
##Email Debugger
def EmailDebugger(request):
diff --git a/filemanager/static/filemanager/js/fileManager.js b/filemanager/static/filemanager/js/fileManager.js
index 4a7d49354..a7f9447c0 100755
--- a/filemanager/static/filemanager/js/fileManager.js
+++ b/filemanager/static/filemanager/js/fileManager.js
@@ -759,8 +759,8 @@ fileManager.controller('fileManagerCtrl', function ($scope, $http, FileUploader,
$scope.getFileContents = function () {
- console.log("selectedfile"+ allFilesAndFolders)
- console.log("currentpath"+ $scope.currentRPath)
+ // console.log("selectedfile"+ allFilesAndFolders)
+ // console.log("currentpath"+ $scope.currentRPath)
var completePathForFile = $scope.currentRPath + "/" + allFilesAndFolders[0];
diff --git a/plogical/mailUtilities.py b/plogical/mailUtilities.py
index 1d7f18d9d..efa63231f 100755
--- a/plogical/mailUtilities.py
+++ b/plogical/mailUtilities.py
@@ -679,7 +679,6 @@ FixStaleSocket true
LocalSocketMode 666
ScanMail true
ScanArchive true
-Debug false
#LogFile /var/log/clamd.scan/clamav.log
"""
writeToFile = open('/etc/clamd.d/scan.conf', 'w')
@@ -975,6 +974,57 @@ LogFile /var/log/clamav/clamav.log
str((msg) + " [changeRedisxConfig]")
print(0, str(msg))
return [0, str(msg) + " [changeRedisxConfig]"]
+
+ @staticmethod
+ def changeclamavConfig(install, changeclamavConfig):
+ try:
+ tempfilepath = "/home/cyberpanel/saveclamavConfigurations"
+ file = open(tempfilepath, "r")
+ jsondata1 = file.read()
+ jsondata = json.loads(jsondata1)
+ file.close()
+ LogFile= jsondata['LogFile']
+ TCPAddr= jsondata['TCPAddr']
+ TCPSocket= jsondata['TCPSocket']
+ clamav_Debug= jsondata['clamav_Debug']
+
+ if ProcessUtilities.decideDistro() == ProcessUtilities.centos or ProcessUtilities.decideDistro() == ProcessUtilities.cent8:
+ pass
+ elif ProcessUtilities.decideDistro() == ProcessUtilities.ubuntu or ProcessUtilities.decideDistro() == ProcessUtilities.ubuntu20:
+ clamavconfpath = "/etc/clamav/clamd.conf"
+ f = open(clamavconfpath, "r")
+ dataa = f.read()
+ f.close()
+ data = dataa.splitlines()
+
+ writeDataToFile = open(clamavconfpath, "w")
+ for i in data:
+ if i.find('TCPSocket') > -1:
+ newitem = 'TCPSocket %s' % TCPSocket
+ writeDataToFile.writelines(newitem + '\n')
+ elif i.find('TCPAddr') > -1:
+ newitem = 'TCPAddr %s' % TCPAddr
+ writeDataToFile.writelines(newitem + '\n')
+ elif i.find('LogFile') > -1:
+ newitem = 'LogFile %s' % LogFile
+ writeDataToFile.writelines(newitem + '\n')
+ elif i.find('Debug =') > -1:
+ if clamav_Debug == True:
+ newitem = 'Debug true'
+ writeDataToFile.writelines(newitem + '\n')
+ elif clamav_Debug == False:
+ newitem = 'Debug false'
+ writeDataToFile.writelines(newitem + '\n')
+ else:
+ writeDataToFile.writelines(i + '\n')
+
+
+ return 1, 'None'
+ except BaseException as msg:
+ logging.CyberCPLogFileWriter.writeToFile(str(msg) + "[changeclamavConfig]")
+ str((msg) + " [changeclamavConfig]")
+ print(0, str(msg))
+ return [0, str(msg) + " [changeclamavConfig]"]
@staticmethod
def installMailScanner(install, SpamAssassin):
try:
@@ -2162,6 +2212,8 @@ def main():
mailUtilities.changePostfixConfig("install", "changePostfixConfig")
elif args.function == 'changeRedisxConfig':
mailUtilities.changeRedisxConfig("install", "changeRedisxConfig")
+ elif args.function == 'changeclamavConfig':
+ mailUtilities.changeclamavConfig("install", "changeclamavConfig")
elif args.function == 'AfterEffects':
mailUtilities.AfterEffects(args.domain)
elif args.function == "ResetEmailConfigurations":