From 362fce47439ba6d3a9c41323bb1419f30e1b0536 Mon Sep 17 00:00:00 2001 From: XANTRONIX Development Date: Sat, 30 Nov 2024 06:37:32 -0500 Subject: [PATCH] Implement dot stuffing for message bodies --- lib/nntp/tiny/session.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/lib/nntp/tiny/session.py b/lib/nntp/tiny/session.py index 06e6bf2..8006040 100644 --- a/lib/nntp/tiny/session.py +++ b/lib/nntp/tiny/session.py @@ -14,7 +14,8 @@ from nntp.tiny.db import Database from nntp.tiny.response import Response, ResponseCode from nntp.tiny.newsgroup import Newsgroup from nntp.tiny.user import User, UserPermission -from nntp.tiny.message import Message, MessageRange, MessagePart +from nntp.tiny.message import (Message, MessageRange, MessagePart, + each_line) class SessionMode(enum.Enum): READER = 1 @@ -618,7 +619,13 @@ class Session(): self.print('') if part is MessagePart.BODY or part is MessagePart.WHOLE: - self.print(message.body) + for line in each_line(message.body): + stripped = line.rstrip() + + if stripped == '.': + self.print('..') + else: + self.print(stripped) return self.end()