Summary

  • يطبّع RFC 5235 نتائج فحوص البريد المزعج والفيروسات الخاصة بكل تنفيذ، لكن القيمة صفر في spamtest :percent تجمع بين «فُحصت وسليمة» و«لم تُفحص» و«يتعذر تحديد حالة الفحص».
  • القرار المهم يحتاج إلى إيصال منفصل يثبت التنفيذ والمنشأ، مع فصل النتيجة عن فرع Sieve والإجراء المختار والنتيجة التي رآها المستخدم.

ثلاث وقائع تحت قيمة واحدة

مرت الرسالة الأولى عبر ماسح محدث ولم يجد فيها علامة مزعجة. وصلت الثانية حين كان الفحص معطلاً. أما الثالثة فتعامل معها تنفيذ لا يعرف إن كان الفحص السابق قد تم. يسمح نمط النسبة في RFC 5235 بأن تحمل الرسائل الثلاث القيمة صفر.

هذه ليست ثغرة صامتة في النص. فالمعيار يحوّل نتائج محلية مختلفة إلى سلسلة يمكن لبرنامج Sieve مقارنتها. إنه يجيب عن قيمة الواجهة، لا عن هوية العمل الذي أنتجها.

حين تحتفظ المؤسسة بالقيمة وحدها، تتحول «لا نملك دليلاً» بهدوء إلى «ثبت أنها سليمة».

التطبيع يلخص ولا يوثق كل شيء

توفر آلية التنفيذ نتيجة مطبعة. ويمكنها توفير نص خاص بها، لكن الاعتماد عليه يفقد البرنامج قابلية النقل. هذا ثمن مفهوم مقابل قاعدة تعمل فوق أدوات مختلفة.

غير أن القيمة المشتركة لا تحمل عادة اسم الماسح وإصداره وتاريخ قواعده وسياسة الفحص وأجزاء الرسالة التي رآها والمرفقات التي استبعدها والأخطاء وسبب عدم التنفيذ. إنها إسقاط للسجل، لا السجل نفسه.

تحتاج الأتمتة إلى مفردات قليلة وثابتة، بينما يحتاج التدقيق إلى الهوية والزمن والاستثناءات. يمكن الحفاظ على الاثنين إذا بقي إيصال التنفيذ بجانب النتيجة المحمولة.

معنى الصفر يتغير مع المقياس

من دون :percent، تعني قيمة الصفر في spamtest أن الرسالة لم تُفحص أو أن حالتها مجهولة، وتعني القيمة واحد أنها فُحصت وهي سليمة بالتأكيد. أما في نمط النسبة، فيشمل الصفر أيضاً حالة الفحص السليم.

إذا خزن النظام الرقم ولم يخزن المقياس، فقد خسر القضية التي كان الرقم يعبر عنها. قد تغير عملية ترحيل المقياس معنى التاريخ فيما تظل الشاشة تعرض الرمز نفسه.

يوفر :count سؤالاً مستقلاً: واحد يعني أن الفحص الأساسي نُفذ، وصفر يعني أنه لم ينفذ أو أن Sieve لا يستطيع تحديد ذلك. يثبت هذا حد التنفيذ، لكنه لا يحدد الماسح ولا يثبت حداثة القواعد أو اكتمال التغطية أو سلامة قناة النتيجة.

كاتب النتيجة يملك تأثيراً تشغيلياً

قد تنقل بعض الأنظمة النتيجة في ترويسات خاصة. يشترط RFC 5235 ألا ينشئها إلا مسار فحص مشروع، وألا يستطيع المرسل أو الوسيط تزويرها.

الحقل الذي يغير فرع السياسة ليس وصفاً محايداً. من يستطيع كتابته يستطيع التأثير في القرار. لذلك فحماية المنشأ جزء من سطح التحكم.

لكن المنشأ الصحيح لا يضمن جودة الفحص. يوصي النص بتحديث الماسحات ويقر بأن كشف الفيروسات ليس معصوماً. نتيجة أصلية من قواعد قديمة تظل أصلية وقديمة.

النتيجة والفرع والإجراء والأثر

تخص القيمة واجهة الاختبار. تحدد المقارنة فرع البرنامج، ثم يختار البرنامج إجراءً، ويحاول نظام البريد تنفيذه. بعد ذلك تظهر سجلات التخزين أو النقل أو الرفض، ثم تجربة المستلم.

الصفر لا يثبت حدوث الفحص. مطابقة الفرع لا تثبت اكتمال الإجراء. وصول الرسالة إلى صندوق لا يثبت أن شخصاً قرأها بأمان. لكل ادعاء موضوعه وإيصاله.

الحد الخاص بهذه المقالة يقع قبل الإجراء: ما الذي يضيع عندما يتحول فحص محلي إلى نتيجة قابلة للنقل؟

حدود ما تثبته المصادر

لا تسمي المصادر بائعاً حالياً أو نشراً بعينه أو معدل أخطاء أو حملة أو حادثة. يثبت سجل IANA تسجيل الامتدادات ولا يثبت تبنيها. ولا يعني ذلك وجوب حجب كل صفر؛ فقد يقبل مسار منخفض الأثر حالة مجهولة. لكن هذا قبول للمخاطر، وليس دليلاً على السلامة.

ويميز مقياس virustest بين مجهول وسليم ومُحيد ومحتمل الإصابة ومؤكد الإصابة. تظل هذه الحالات مخرجات لعملية يجب إدارة حداثتها وتغطيتها خارج الرقم.

سجلان قبل أي قرار لاحق

يجب أن يسجل إيصال النتيجة الامتداد والمقياس والقيمة والمقارنة والفرع وإصدار البرنامج. ويسجل إيصال التنفيذ هل تم الفحص، وهوية الماسح والقواعد، ووقت التحديث، والمحتوى المفحوص، والاستثناءات والأخطاء وقناة الثقة والمسؤول عن السياسة.

ثم تبقى سجلات الإجراء والنتيجة النهائية مستقلة. يجب ألا تُحوّل حالات غير مفحوص أو مجهول أو منتهي المهلة أو فحص جزئي إلى «سليم» لمجرد أن النظام التالي يريد رقماً.

تضع عقيدة Lu Heng الواقع التشغيلي قبل الوصف. اسم البروتوكول ليس دليلاً ولا شخصاً مسؤولاً. يجب أن يحدد صاحب قرار معلوم متى يكون الغموض مقبولاً ومتى يلزم إثبات أن الفحص حدث فعلاً.

Sources

سجل معياري إضافي

  1. نص RFC 5235
  2. صفحة معلومات RFC 5235
  3. RFC 5235 في Datatracker
  4. تاريخ RFC 5235
  5. تصويبات RFC 5235
  6. الوثائق التي تشير إلى RFC 5235