From 15c50424aa7f014a8dbd54fd9b96d5e384863d41 Mon Sep 17 00:00:00 2001
From: XANTRONIX Development <dev@xantronix.com>
Date: Fri, 10 Jan 2025 00:48:06 -0500
Subject: [PATCH] Only send Xref: as additional header in XOVER

---
 lib/xenu_nntp/session.py | 26 +++++++++-----------------
 1 file changed, 9 insertions(+), 17 deletions(-)

diff --git a/lib/xenu_nntp/session.py b/lib/xenu_nntp/session.py
index 7f8aee2..5e794aa 100644
--- a/lib/xenu_nntp/session.py
+++ b/lib/xenu_nntp/session.py
@@ -649,32 +649,24 @@ class Session(Connection):
         int_bytes = len(bytes(message.content, 'utf-8'))
         int_lines = message.body.count('\n') - 2
 
+        def _or(a, b):
+            return a if a is not None else b
+
+        xref = message.headers.get('Xref')
+
         parts = [
             str(message.id),
             email.header.Header(message.subject).encode(),
             email.header.Header(message.sender).encode(),
             email.utils.format_datetime(message.created_on),
-            message.message_id,
-            message.reference_ids or '',
+            _or(message.message_id, ''),
+            _or(message.reference_ids, ''),
             str(int_bytes),
             str(int_lines),
         ]
 
-        HEADERS_SKIP = {
-            'subject':    True,
-            'from':       True,
-            'date':       True,
-            'message-id': True,
-            'references': True,
-        }
-
-        for k in message.headers:
-            if k.casefold() in HEADERS_SKIP:
-                continue
-
-            parts.append("%s: %s" % (
-                k, message.headers[k]
-            ))
+        if xref is not None:
+            parts.append('Xref: %s' % xref)
 
         return map(f, parts)