diff options
Diffstat (limited to 'network/rss2email/4b36e28.patch')
-rw-r--r-- | network/rss2email/4b36e28.patch | 239 |
1 files changed, 0 insertions, 239 deletions
diff --git a/network/rss2email/4b36e28.patch b/network/rss2email/4b36e28.patch deleted file mode 100644 index 5b6a050c7eaaa..0000000000000 --- a/network/rss2email/4b36e28.patch +++ /dev/null @@ -1,239 +0,0 @@ -diff -Naur orig/CHANGELOG new/CHANGELOG ---- orig/CHANGELOG 2020-08-31 18:03:24.000000000 +0300 -+++ new/CHANGELOG 2020-09-05 16:09:45.000000000 +0300 -@@ -1,4 +1,7 @@ - UNRELEASED -+ * Improve log messages -+ * Remove documentation of `smtp-ssl-protocol` as this option was dropped in 2016 -+ * Stop forging SMTP and sendmail envelope sender (#134) - - v3.12.2 (2020-08-31) - * Fix bug `AttributeError: 'NoneType' object has no attribute 'close'` (#126) -diff -Naur orig/r2e.1 new/r2e.1 ---- orig/r2e.1 2020-08-31 18:03:24.000000000 +0300 -+++ new/r2e.1 2020-09-05 16:09:45.000000000 +0300 -@@ -253,8 +253,6 @@ - SMTP server - .IP smtp-ssl - Connect to the SMTP server using SSL --.IP smtp-ssl-protocol --TLS/SSL version to use on STARTTLS when not using 'smtp-ssl'. - .RE - .SS IMAP configuration - .IP imap-auth -diff -Naur orig/rss2email/__init__.py new/rss2email/__init__.py ---- orig/rss2email/__init__.py 2020-08-31 18:03:24.000000000 +0300 -+++ new/rss2email/__init__.py 2020-09-05 16:09:45.000000000 +0300 -@@ -26,7 +26,7 @@ - import sys as _sys - - --__version__ = '3.12.2' -+__version__ = '3.12.1' - __url__ = 'https://github.com/rss2email/rss2email' - __author__ = 'The rss2email maintainers' - __email__ = 'rss2email@tremily.us' -diff -Naur orig/rss2email/config.py new/rss2email/config.py ---- orig/rss2email/config.py 2020-08-31 18:03:24.000000000 +0300 -+++ new/rss2email/config.py 2020-09-05 16:09:45.000000000 +0300 -@@ -83,11 +83,11 @@ - # Transfer-Encoding. For local mailing it is safe and - # convenient to use 8bit. - ('use-8bit', str(False)), -- # True: Only use the 'from' address. -+ # True: Only use the 'from' address. Overrides the use-publisher-email setting. - # False: Use the email address specified by the feed, when possible. - ('force-from', str(False)), -- # True: Use the publisher's email if you can't find the author's. -- # False: Just use the 'from' email instead. -+ # True: Use author's email if found, or use publisher's email if found, or use the 'from' setting. -+ # False: Use author's email if found, or use the 'from' setting. - ('use-publisher-email', str(False)), - # If empty, only use the feed email address rather than - # friendly name plus email address. Available attributes may -@@ -132,7 +132,7 @@ - # because the old entries will not be recorded under their new - # link-based ids. - ('trust-link', str(False)), -- # If 'trust-guid' or 'trust-link' is True, this settings allows to receive -+ # If 'trust-guid' or 'trust-link' is True, this setting allows to receive - # a new email message in reply to the previous one when the post changes. - ('reply-changes', str(False)), - # To most correctly encode emails with international -diff -Naur orig/rss2email/email.py new/rss2email/email.py ---- orig/rss2email/email.py 2020-08-31 18:03:24.000000000 +0300 -+++ new/rss2email/email.py 2020-09-05 16:09:45.000000000 +0300 -@@ -151,7 +151,7 @@ - message[key] = _Header(value, encoding) - return message - --def smtp_send(sender, recipient, message, config=None, section='DEFAULT'): -+def smtp_send(recipient, message, config=None, section='DEFAULT'): - if config is None: - config = _config.CONFIG - server = config.get(section, 'smtp-server') -@@ -190,7 +190,7 @@ - except Exception as e: - raise _error.SMTPAuthenticationError( - server=server, username=username) -- smtp.send_message(message, sender, recipient.split(',')) -+ smtp.send_message(message, config.get(section, 'from'), recipient.split(',')) - smtp.quit() - - def imap_send(message, config=None, section='DEFAULT'): -@@ -345,12 +345,12 @@ - else: - return bytesio.getvalue() - --def sendmail_send(sender, recipient, message, config=None, section='DEFAULT'): -+def sendmail_send(recipient, message, config=None, section='DEFAULT'): - if config is None: - config = _config.CONFIG - message_bytes = _flatten(message) - sendmail = config.get(section, 'sendmail') -- sender_name,sender_addr = _parseaddr(sender) -+ sender_name,sender_addr = _parseaddr(config.get(section, 'from')) - _LOG.debug( - 'sending message to {} via {}'.format(recipient, sendmail)) - try: -@@ -366,11 +366,11 @@ - except Exception as e: - raise _error.SendmailError() from e - --def send(sender, recipient, message, config=None, section='DEFAULT'): -+def send(recipient, message, config=None, section='DEFAULT'): - protocol = config.get(section, 'email-protocol') - if protocol == 'smtp': - smtp_send( -- sender=sender, recipient=recipient, message=message, -+ recipient=recipient, message=message, - config=config, section=section) - elif protocol == 'imap': - imap_send(message=message, config=config, section=section) -@@ -378,5 +378,5 @@ - maildir_send(message=message, config=config, section=section) - else: - sendmail_send( -- sender=sender, recipient=recipient, message=message, -+ recipient=recipient, message=message, - config=config, section=section) -diff -Naur orig/rss2email/error.py new/rss2email/error.py ---- orig/rss2email/error.py 2020-08-31 18:03:24.000000000 +0300 -+++ new/rss2email/error.py 2020-09-05 16:09:45.000000000 +0300 -@@ -42,15 +42,14 @@ - - - class TimeoutError (RSS2EmailError): -- def __init__(self, time_limited_function, message=None): -- if message is None: -- if time_limited_function.error is not None: -- message = ( -- 'error while running time limited function: {}'.format( -- time_limited_function.error[1])) -- else: -- message = '{} second timeout exceeded'.format( -- time_limited_function.timeout) -+ def __init__(self, time_limited_function): -+ if time_limited_function.error is not None: -+ message = ( -+ 'error while running time limited function in {}: {}'.format( -+ time_limited_function.name, time_limited_function.error[1])) -+ else: -+ message = '{} second timeout exceeded in {}'.format( -+ time_limited_function.timeout, time_limited_function.name) - super(TimeoutError, self).__init__(message=message) - self.time_limited_function = time_limited_function - -@@ -148,8 +147,9 @@ - class InvalidFeedConfig (FeedError): - def __init__(self, setting, feed, message=None, **kwargs): - if not message: -- message = "invalid feed configuration {}".format( -- {setting: getattr(feed, setting)}) -+ message = ( -+ "invalid feed configuration '{setting}' in {feed}".format( -+ setting=getattr(feed, setting), feed=feed)) - super(InvalidFeedConfig, self).__init__( - feed=feed, message=message, **kwargs) - self.setting = setting -diff -Naur orig/rss2email/feed.py new/rss2email/feed.py ---- orig/rss2email/feed.py 2020-08-31 18:03:24.000000000 +0300 -+++ new/rss2email/feed.py 2020-09-05 16:09:45.000000000 +0300 -@@ -373,7 +373,7 @@ - kwargs = {} - if proxy: - kwargs['handlers'] = [_urllib_request.ProxyHandler({'http':proxy})] -- f = _util.TimeLimitedFunction(timeout, _feedparser.parse) -+ f = _util.TimeLimitedFunction('feed {}'.format(self.name), timeout, _feedparser.parse) - return f(self.url, self.etag, modified=self.modified, **kwargs) - - def _process(self, parsed): -@@ -773,9 +773,9 @@ - if entry.get('summary_detail', None): - contents.append(entry.summary_detail) - if self.html_mail: -- types = ['text/html', 'text/plain'] -+ types = ['application/xhtml+xml', 'text/html', 'text/plain'] - else: -- types = ['text/plain', 'text/html'] -+ types = ['text/plain', 'text/html', 'application/xhtml+xml'] - for content_type in types: - for content in contents: - if content['type'] == content_type: -@@ -871,7 +871,7 @@ - section = self.section - if section not in self.config: - section = 'DEFAULT' -- _email.send(sender=sender, recipient=self.to, message=message, -+ _email.send(recipient=self.to, message=message, - config=self.config, section=section) - - def run(self, send=True): -diff -Naur orig/rss2email/feeds.py new/rss2email/feeds.py ---- orig/rss2email/feeds.py 2020-08-31 18:03:24.000000000 +0300 -+++ new/rss2email/feeds.py 2020-09-05 16:09:45.000000000 +0300 -@@ -239,11 +239,10 @@ - def load(self, require=False): - _LOG.debug('load feed configuration from {}'.format(self.configfiles)) - if self.configfiles: -- self.read_configfiles = self.config.read(self.configfiles) -+ read_configfiles = self.config.read(self.configfiles) - else: -- self.read_configfiles = [] -- _LOG.debug('loaded configuration from {}'.format( -- self.read_configfiles)) -+ read_configfiles = [] -+ _LOG.debug('loaded configuration from {}'.format(read_configfiles)) - self._load_feeds(require=require) - - def _load_feeds(self, require): -diff -Naur orig/rss2email/util.py new/rss2email/util.py ---- orig/rss2email/util.py 2020-08-31 18:03:24.000000000 +0300 -+++ new/rss2email/util.py 2020-09-05 16:09:45.000000000 +0300 -@@ -35,19 +35,20 @@ - >>> def sleeping_return(sleep, x): - ... time.sleep(sleep) - ... return x -- >>> TimeLimitedFunction(0.5, sleeping_return)(0.1, 'x') -+ >>> TimeLimitedFunction('sleeping', 0.5, sleeping_return)(0.1, 'x') - 'x' -- >>> TimeLimitedFunction(0.5, sleeping_return)(10, 'y') -+ >>> TimeLimitedFunction('sleeping', 0.5, sleeping_return)(10, 'y') - Traceback (most recent call last): - ... -- rss2email.error.TimeoutError: 0.5 second timeout exceeded -- >>> TimeLimitedFunction(0.5, time.sleep)('x') -+ rss2email.error.TimeoutError: 0.5 second timeout exceeded in sleeping -+ >>> TimeLimitedFunction('sleep', 0.5, time.sleep)('x') - Traceback (most recent call last): - ... -- rss2email.error.TimeoutError: error while running time limited function: a float is required -+ rss2email.error.TimeoutError: error while running time limited function in sleep: a float is required - """ -- def __init__(self, timeout, target, **kwargs): -+ def __init__(self, name, timeout, target, **kwargs): - super(TimeLimitedFunction, self).__init__(target=target, daemon=True, **kwargs) -+ self.name = name - self.timeout = timeout - self.result = None - self.error = None |