def __init__(self, email, encryption_name, keyserver,
                 user_initiated_search):
        '''
            >>> # In honor of Werner Koch, developer of gpg.
            >>> email = '*****@*****.**'
            >>> crypto_name = 'GPG'
            >>> srk_class = SearchKeyserver(email, crypto_name, 'pgp.mit.edu', '*****@*****.**')
            >>> srk_class != None
            True
            >>> srk_class = SearchKeyserver(None, crypto_name, 'pgp.mit.edu', '*****@*****.**')
            >>> srk_class != None
            True
            >>> srk_class = SearchKeyserver(email, None, 'pgp.mit.edu', '*****@*****.**')
            >>> srk_class != None
            True
            >>> srk_class = SearchKeyserver(email, crypto_name, None, '*****@*****.**')
            >>> srk_class != None
            True
            >>> srk_class = SearchKeyserver(None, None, None, None)
            >>> srk_class != None
            True
        '''

        self.log = LogFile()
        self.email = email
        self.encryption_name = encryption_name
        self.keyserver = keyserver
        self.user_initiated_search = user_initiated_search
        self.key_plugin = None
Example #2
0
    def log_message(self, message):
        '''
            Log the message to the local log.
        '''
        if self.log is None:
            self.log = LogFile()

        self.log.write_and_flush(message)
def log_message(message):
    ''' Log a message to the local log. '''

    global log

    if log is None:
        log = LogFile()

    log.write_and_flush(message)
Example #4
0
    def log_message(self, message):
        '''
            Record debugging messages.
        '''

        if self.log is None:
            self.log = LogFile('goodcrypto.mail.log')

        self.log.write(message)
Example #5
0
    def __init__(self, crypto_message):
        '''
            >>> decrypt = Debundle(None)
            >>> decrypt != None
            True
        '''

        self.log = LogFile()
        self.crypto_message = crypto_message
        self.messages_sent = 0
    def __init__(self):
        '''
            >>> header_keys = HeaderKeys()
            >>> header_keys != None
            True
        '''

        self.log = LogFile()

        self.recipient_to_notify = None
        self.new_key_imported = False
Example #7
0
    def __init__(self, crypto_message):
        '''
            >>> encrypt = Encrypt(None)
            >>> encrypt != None
            True
        '''

        self._log = LogFile()
        self.crypto_message = crypto_message
        self.verification_code = None
        self.ready_to_protect_metadata = False
Example #8
0
    def __init__(self, crypto_message):
        '''
            >>> decrypt = Decrypt(None)
            >>> decrypt != None
            True
        '''

        self.log = LogFile()
        self.crypto_message = crypto_message

        self.need_to_send_metadata_key = False
    def __init__(self, email_message):
        '''
            Unparsable messages are wrapped in a valid message.

            >>> from goodcrypto_tests.mail.message_utils import get_basic_email_message
            >>> good_message = get_basic_email_message()
            >>> validator = Validator(good_message)
            >>> validator != None
            True
        '''

        self.log = LogFile()
        self.email_message = email_message
        self.why = None
Example #10
0
    def log_message(self, message):
        '''
            Log the message to the local log.

            >>> import os.path
            >>> from syr.log import BASE_LOG_DIR
            >>> from syr.user import whoami
            >>> RetrieveKey(None, None, None, None, None).log_message('test')
            >>> os.path.exists(os.path.join(BASE_LOG_DIR, whoami(), 'goodcrypto.mail.retrieve_key.log'))
            True
        '''

        if self.log is None:
            self.log = LogFile()

        self.log.write_and_flush(message)
    def log_message(self, message):
        '''
            Log a message.

            >>> from syr.log import BASE_LOG_DIR
            >>> from syr.user import whoami
            >>> email_message = EmailMessage()
            >>> email_message.log_message('test')
            >>> os.path.exists(os.path.join(BASE_LOG_DIR, whoami(), 'goodcrypto.mail.message.email_message.log'))
            True
        '''

        if self._log is None:
            self._log = LogFile()

        self._log.write_and_flush(message)
Example #12
0
def log_message(message):
    '''
        Log a message.

        >>> from syr.log import BASE_LOG_DIR
        >>> from syr.user import whoami
        >>> log_message('test')
        >>> os.path.exists(os.path.join(BASE_LOG_DIR, whoami(), 'goodcrypto.mail.message.utils.log'))
        True
    '''
    global _log

    if _log is None:
        _log = LogFile()

    _log.write_and_flush(message)
Example #13
0
    def log_message(self, message):
        '''
            Record debugging messages.

            >>> import os.path
            >>> from syr.log import BASE_LOG_DIR
            >>> from syr.user import whoami
            >>> filter = Filter('*****@*****.**', ['*****@*****.**'], 'message')
            >>> filter.log_message('test')
            >>> os.path.exists(os.path.join(BASE_LOG_DIR, whoami(), 'goodcrypto.mail.message.filter.log'))
            True
        '''

        if self.log is None:
            self.log = LogFile()

        self.log.write_and_flush(message)
Example #14
0
def log_message(message):
    '''
        Log a message to the local log.

        >>> import os.path
        >>> from syr.log import BASE_LOG_DIR
        >>> from syr.user import whoami
        >>> log_message('test')
        >>> os.path.exists(os.path.join(BASE_LOG_DIR, whoami(), 'goodcrypto.mail.options.log'))
        True
    '''

    global log

    if log is None:
        log = LogFile()

    log.write_and_flush(message)
def log_message(message):
    '''
        Log the message to the local log.

        >>> import os.path
        >>> from syr.log import BASE_LOG_DIR
        >>> from syr.user import whoami
        >>> log_message('test')
        >>> os.path.exists(os.path.join(BASE_LOG_DIR, whoami(), 'goodcrypto.mail.sync_db_with_keyring.log'))
        True
    '''

    global _log

    if _log is None:
        _log = LogFile()

    _log.write_and_flush(message)
    def log_message(self, message):
        '''
            Log the message to the local log.

            >>> import os.path
            >>> from syr.log import BASE_LOG_DIR
            >>> from syr.user import whoami
            >>> from goodcrypto_tests.mail.message_utils import get_basic_email_message
            >>> good_message = get_basic_email_message()
            >>> validator = Validator(good_message)
            >>> validator.log_message('test')
            >>> os.path.exists(os.path.join(BASE_LOG_DIR, whoami(), 'goodcrypto.mail.message.validator.log'))
            True
        '''

        if self.log is None:
            self.log = LogFile()

        self.log.write_and_flush(message)
Example #17
0
    def __init__(self, email, encryption_name, keyserver, key_id, user_initiated_search):
        '''
            >>> # In honor of Werner Koch, developer of gpg.
            >>> email = '*****@*****.**'
            >>> crypto_name = 'GPG'
            >>> srk_class = RetrieveKey(email, crypto_name, 'pgp.mit.edu', 'F2AD85AC1E42B367', '*****@*****.**')
            >>> srk_class = RetrieveKey(None, crypto_name, 'pgp.mit.edu', 'F2AD85AC1E42B367', '*****@*****.**')
            >>> srk_class = RetrieveKey(email, None, 'pgp.mit.edu', 'F2AD85AC1E42B367', '*****@*****.**')
            >>> srk_class = RetrieveKey(email, crypto_name, None, 'F2AD85AC1E42B367', '*****@*****.**')
            >>> srk_class = RetrieveKey(None, None, None, None, None)
        '''

        self.log = LogFile()
        self.email = email
        self.encryption_name = encryption_name
        self.keyserver = keyserver
        self.key_id = key_id
        self.user_initiated_search = user_initiated_search

        self.key_plugin = None
    def __init__(self, email_message=None, sender=None, recipient=None):
        '''
            >>> crypto_message = CryptoMessage()
            >>> crypto_message != None
            True

            >>> crypto_message = CryptoMessage(email_message=EmailMessage())
            >>> crypto_message != None
            True
        '''

        super(CryptoMessage, self).__init__()
        self.log = LogFile()

        if email_message is None:
            self.email_message = EmailMessage()
            self.log_message(
                'starting crypto message with a blank email message')
        else:
            self.email_message = email_message
            self.log_message(
                'starting crypto message with an existing email message')

        # initialize a few key elements
        self.set_smtp_sender(sender)
        self.set_smtp_recipient(recipient)
        self.set_filtered(False)
        self.set_crypted(False)
        self.set_crypted_with([])
        self.set_metadata_crypted(False)
        self.set_metadata_crypted_with([])
        self.drop(False)
        self.set_processed(False)
        self.set_tag('')
        self.set_error_tag('')
        self.set_private_signed(False)
        self.set_private_signers([])
        self.set_clear_signed(False)
        self.set_clear_signers([])
        self.set_dkim_signed(False)
        self.set_dkim_sig_verified(False)
Example #19
0
'''
    Configure the GoodCrypto private server's postfix
    to work with the domain's MTA.

    Copyright 2014-2016 GoodCrypto
    Last modified: 2016-10-26

    This file is open source, licensed under GPLv3 <http://www.gnu.org/licenses/>.
'''
import os, re, sh

from goodcrypto.utils.log_file import LogFile
from syr.exception import record_exception

log = LogFile()

MAIN_FILENAME = '/etc/postfix/main.cf'
MASTER_FILENAME = '/etc/postfix/master.cf'
MAILNAME_FILE = '/etc/mailname'


def configure_mta(mail_server_address, goodcrypto_listen_port,
                  mta_listen_port):
    '''
        Configure postfix to work with the main MTA.
    '''

    try:
        new_configuration = False

        if not isinstance(mail_server_address, str):