From 0e55d3e86ac1aebf62218f89e01c3fa66d288011 Mon Sep 17 00:00:00 2001 From: XANTRONIX Development Date: Wed, 27 Nov 2024 15:27:35 -0500 Subject: [PATCH] Send other headers in response to OVER --- lib/nntp/tiny/session.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/lib/nntp/tiny/session.py b/lib/nntp/tiny/session.py index f24ece2..a8a4271 100644 --- a/lib/nntp/tiny/session.py +++ b/lib/nntp/tiny/session.py @@ -680,7 +680,10 @@ class Session(): self._send_message_header(message, name) def _message_overview(self, message: Message) -> dict: - return map(lambda s: s.replace('\t', ' '), [ + def f(s: str): + return s.replace('\t', ' ').replace('\r', '').replace('\n', ' ').replace('\0', '') + + parts = [ str(message.id), email.header.Header(message.subject).encode(), email.header.Header(message.sender).encode(), @@ -689,7 +692,14 @@ class Session(): message.parent_id or '', str(len(message.content)), str(message.content.count('\n') + 1), - ]) + ] + + for k in message.headers: + parts.append("%s: %s" % ( + k, message.headers[k] + )) + + return map(f, parts) def _cmd_over(self, identifier: Optional[str]=None): for message in self._each_message_by_id(identifier, ResponseCode.NNTP_OVERVIEW_FOLLOWS):