mirror of
https://github.com/usmannasir/cyberpanel.git
synced 2025-11-07 22:06:05 +01:00
bug fix: dkim keys generation for subdomains
This commit is contained in:
@@ -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."
|
||||||
|
|||||||
@@ -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
|
||||||
|
|
||||||
|
|||||||
@@ -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:
|
||||||
|
|||||||
Reference in New Issue
Block a user