diff options
Diffstat (limited to 'mail')
| -rw-r--r-- | mail/src/leap/mail/imap/mailbox.py | 4 | ||||
| -rw-r--r-- | mail/src/leap/mail/imap/messages.py | 2 | ||||
| -rw-r--r-- | mail/src/leap/mail/imap/service/imap.py | 23 | 
3 files changed, 23 insertions, 6 deletions
| diff --git a/mail/src/leap/mail/imap/mailbox.py b/mail/src/leap/mail/imap/mailbox.py index 174361fb..38c58cb6 100644 --- a/mail/src/leap/mail/imap/mailbox.py +++ b/mail/src/leap/mail/imap/mailbox.py @@ -765,6 +765,10 @@ class SoledadMailbox(WithMsgFields, MBoxParser):          uid_next = self.getUIDNext()          msg = messageObject +        # XXX DEBUG ---------------------------------------- +        #print "copying MESSAGE from %s (%s) to %s (%s)" % ( +            #msg._mbox, msg._uid, self.mbox, uid_next) +          # XXX should use a public api instead          fdoc = msg._fdoc          if not fdoc: diff --git a/mail/src/leap/mail/imap/messages.py b/mail/src/leap/mail/imap/messages.py index 378738ec..cd4d85f1 100644 --- a/mail/src/leap/mail/imap/messages.py +++ b/mail/src/leap/mail/imap/messages.py @@ -528,7 +528,6 @@ class LeapMessage(fields, MailParser, MBoxParser):              body = self._bdoc.content.get(self.RAW_KEY, "")              content_type = bdoc.content.get('content-type', "")              charset = first(CHARSET_RE.findall(content_type)) -            logger.debug("Got charset from header: %s" % (charset,))              if not charset:                  charset = self._get_charset(body)              try: @@ -665,7 +664,6 @@ class LeapMessage(fields, MailParser, MBoxParser):          try:              pmap_dict = self._get_part_from_parts_map(part + 1)          except KeyError: -            logger.debug("getSubpart for %s: KeyError" % (part,))              raise IndexError          return MessagePart(self._soledad, pmap_dict) diff --git a/mail/src/leap/mail/imap/service/imap.py b/mail/src/leap/mail/imap/service/imap.py index a1d3ab73..ad22da65 100644 --- a/mail/src/leap/mail/imap/service/imap.py +++ b/mail/src/leap/mail/imap/service/imap.py @@ -49,6 +49,25 @@ from leap.common.events.events_pb2 import IMAP_SERVICE_STARTED  from leap.common.events.events_pb2 import IMAP_SERVICE_FAILED_TO_START  from leap.common.events.events_pb2 import IMAP_CLIENT_LOGIN +###################################################### +# Temporary workaround for RecursionLimit when using +# qt4reactor. Do remove when we move to poll or select +# reactor, which do not show those problems. See #4974 +import resource +import sys + +try: +    sys.setrecursionlimit(10**6) +except Exception: +    print "Error setting recursion limit" +try: +    # Increase max stack size from 8MB to 256MB +    resource.setrlimit(resource.RLIMIT_STACK, (2**28, -1)) +except Exception: +    print "Error setting stack size" + +###################################################### +  class LeapIMAPServer(imap4.IMAP4Server):      """ @@ -118,14 +137,10 @@ class LeapIMAPServer(imap4.IMAP4Server):          method          """          from twisted.internet import reactor -        log.msg("LEAP Overwritten fetch...")          if not query:              self.sendPositiveResponse(tag, 'FETCH complete')              return  # XXX ??? -        print "QUERY ", query -        print query[0] -          cbFetch = self._IMAP4Server__cbFetch          ebFetch = self._IMAP4Server__ebFetch | 
