bug fix: dkim keys generation for subdomains

This commit is contained in:
Usman Nasir
2020-01-30 20:29:13 +05:00
parent 8982422edc
commit ad9981c2a4
3 changed files with 46 additions and 14 deletions

View File

@@ -1,13 +1,33 @@
import os,sys
sys.path.append('/usr/local/CyberCP')
import django
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "CyberCP.settings")
try:
django.setup()
except:
pass
import subprocess import subprocess
import time import time
from plogical.mailUtilities import mailUtilities
import socket import socket
try:
from loginSystem.models import Administrator from loginSystem.models import Administrator
except:
pass
import os import os
import smtplib
class CyberCPLogFileWriter: class CyberCPLogFileWriter:
fileName = "/home/cyberpanel/error-logs.txt" fileName = "/home/cyberpanel/error-logs.txt"
@staticmethod
def SendEmail(sender, receivers, message):
try:
smtpObj = smtplib.SMTP('localhost')
smtpObj.sendmail(sender, receivers, message)
print("Successfully sent email")
except BaseException as msg:
CyberCPLogFileWriter.writeToFile(str(msg))
@staticmethod @staticmethod
def writeToFile(message): def writeToFile(message):
try: try:
@@ -20,6 +40,7 @@ class CyberCPLogFileWriter:
emailPath = '/usr/local/CyberCP/emailDebug' emailPath = '/usr/local/CyberCP/emailDebug'
try:
if os.path.exists(emailPath): if os.path.exists(emailPath):
SUBJECT = "CyberPanel log reporting" SUBJECT = "CyberPanel log reporting"
admin = Administrator.objects.get(userName='admin') admin = Administrator.objects.get(userName='admin')
@@ -31,9 +52,14 @@ To: %s
Subject: %s Subject: %s
%s %s
""" % (sender, ", ".join(TO), SUBJECT, '[%s] %s. \n' % (time.strftime("%m.%d.%Y_%H-%M-%S"), message)) """ % (
mailUtilities.SendEmail(sender, TO, message) sender, ", ".join(TO), SUBJECT, '[%s] %s. \n' % (time.strftime("%m.%d.%Y_%H-%M-%S"), message))
CyberCPLogFileWriter.SendEmail(sender, TO, message)
except BaseException as msg:
file = open(CyberCPLogFileWriter.fileName, 'a')
file.writelines("[" + time.strftime(
"%m.%d.%Y_%H-%M-%S") + "] " + str(msg) + "\n")
file.close()
except BaseException as msg: except BaseException as msg:
return "Can not write to error file." return "Can not write to error file."

View File

@@ -217,7 +217,7 @@ class mailUtilities:
#extractDomain = tldextract.extract(virtualHostName) #extractDomain = tldextract.extract(virtualHostName)
#virtualHostName = extractDomain.domain + '.' + extractDomain.suffix #virtualHostName = extractDomain.domain + '.' + extractDomain.suffix
if os.path.exists("/etc/opendkim/keys/" + virtualHostName): if os.path.exists("/etc/opendkim/keys/" + virtualHostName + "/default.txt"):
return 1, "None" return 1, "None"
@@ -227,7 +227,11 @@ class mailUtilities:
## Generate keys ## Generate keys
command = "opendkim-genkey -D /etc/opendkim/keys/%s -d %s -s default" % (virtualHostName, virtualHostName) if ProcessUtilities.decideDistro() == ProcessUtilities.centos:
command = "/usr/sbin/opendkim-genkey -D /etc/opendkim/keys/%s -d %s -s default" % (virtualHostName, virtualHostName)
else:
command = "opendkim-genkey -D /etc/opendkim/keys/%s -d %s -s default" % (
virtualHostName, virtualHostName)
ProcessUtilities.normalExecutioner(command) ProcessUtilities.normalExecutioner(command)
## Fix permissions ## Fix permissions

View File

@@ -92,6 +92,8 @@ class ProcessUtilities(multi.Thread):
@staticmethod @staticmethod
def normalExecutioner(command, shell=False): def normalExecutioner(command, shell=False):
try: try:
if os.path.exists(ProcessUtilities.debugPath):
logging.writeToFile(command)
if shell == False: if shell == False:
res = subprocess.call(shlex.split(command)) res = subprocess.call(shlex.split(command))
else: else: