Exemple #1
0
    def create_account(self, email_address, response):
        # This method assumes that the existence of an account for the
        # provider and email_address has been checked by the caller;
        # callers may have different methods of performing the check
        # (redwood auth versus get_account())
        namespace = Namespace()
        account = GenericAccount(namespace=namespace)

        # The server endpoints can ONLY be set at account creation and
        # CANNOT be subsequently changed in order to prevent MITM attacks.
        account.provider = self.provider_name
        if self.provider_name == 'custom':
            account.imap_endpoint = (response['imap_server_host'],
                                     response['imap_server_port'])
            account.smtp_endpoint = (response['smtp_server_host'],
                                     response['smtp_server_port'])

        account.create_emailed_events_calendar()

        # Shim for back-compatability with legacy auth
        # The old API does NOT send these but authentication now uses them
        # so set them (included here, set in update_account()).
        for username in ['imap_username', 'smtp_username']:
            if username not in response:
                response[username] = email_address
        for password in ['imap_password', 'smtp_password']:
            if password not in response:
                response[password] = response['password']

        return self.update_account(account, response)
Exemple #2
0
    def create_account(self, email_address, response):
        # This method assumes that the existence of an account for the
        # provider and email_address has been checked by the caller;
        # callers may have different methods of performing the check
        # (redwood auth versus get_account())
        namespace = Namespace()
        account = GenericAccount(namespace=namespace)

        # The server endpoints can ONLY be set at account creation and
        # CANNOT be subsequently changed in order to prevent MITM attacks.
        account.provider = self.provider_name
        if self.provider_name == 'custom':
            account.imap_endpoint = (response['imap_server_host'],
                                     response['imap_server_port'])
            account.smtp_endpoint = (response['smtp_server_host'],
                                     response['smtp_server_port'])

        account.create_emailed_events_calendar()

        # Shim for back-compatability with legacy auth
        # The old API does NOT send these but authentication now uses them
        # so set them (included here, set in update_account()).
        for username in ['imap_username', 'smtp_username']:
            if username not in response:
                response[username] = email_address
        for password in ['imap_password', 'smtp_password']:
            if password not in response:
                response[password] = response['password']

        return self.update_account(account, response)
Exemple #3
0
 def create_account(self, account_data):
     namespace = Namespace()
     account = GenericAccount(namespace=namespace)
     account.provider = "custom"
     account.create_emailed_events_calendar()
     account.sync_should_run = False
     return self.update_account(account, account_data)
Exemple #4
0
def generic_account(db):
    import platform
    from inbox.models.backends.generic import GenericAccount
    from inbox.models import Namespace

    ns = Namespace()
    account = GenericAccount(email_address="*****@*****.**", sync_host=platform.node(), provider="custom")
    account.namespace = ns
    account.create_emailed_events_calendar()
    account.password = "******"
    db.session.add(account)
    db.session.commit()
    return account
Exemple #5
0
def generic_account(db):
    import platform
    from inbox.models.backends.generic import GenericAccount
    from inbox.models import Namespace
    ns = Namespace()
    account = GenericAccount(email_address='*****@*****.**',
                             sync_host=platform.node(),
                             provider='custom')
    account.namespace = ns
    account.create_emailed_events_calendar()
    account.password = '******'
    db.session.add(account)
    db.session.commit()
    return account