الخلاصة

  • يضبط RFC 9636 معنى بايتات TZif، لكنه لا يحدد مصدر القواعد التي جُمعت فيها ولا يضمن أنها أحدث طبعة.
  • كتلة التوافق ذات 32 بت، وجدول 64 بت، وحدود الاقتطاع، والتذييل، وانتهاء جدول الثواني الكبيسة تقيد ما يمكن أن تثبته نتيجة ناجحة.
  • يجمع الإيصال النية والمنطقة والمصدر والإصدار وبصمة الملف والفترة والقارئ وسياسة الغموض والزمن الناتج وأثر التطبيق.

عامل التطبيق الملف كوكيل عن القانون المدني. لكن الوكالة لم تذكر مصدرها ولا تاريخ انتهائها.

RFC 9636 وثيقة مسار معياري تستبدل RFC 8536، وتحافظ على توافق الصيغة وتضيف الإصدار 4. وهي تقول بوضوح إنها لا تحدد مصدر البيانات المجمعة. قد تكون قاعدة بيانات المناطق الزمنية لدى IANA المصدر، لكن علامة TZif لا تثبت ذلك ولا تسمي الإصدار.

لذلك يحتاج النظام إلى تفويض قابل للتدقيق: من اختار معرف المنطقة، وعلى أي نسخة اعتمد، وما الملف الذي وصل، وأي قارئ استخدمه، وما القرار الذي اتخذه التطبيق بعد الحساب.

طبقتان في ملف واحد

يبدأ كل ملف برأس وكتلة بيانات من الإصدار 1. أوقات الانتقال فيها ذات 32 بت، وتغطي تقريباً الفترة من 1901 إلى 2038. تضيف الإصدارات 2 فما فوق رأساً وكتلة ذات 64 بت وتذييلاً، لكنها تبقي الطبقة القديمة للقراء المتقادمين.

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

يحفظ الإيصال إصدار الصيغة والقارئ والكتلة المختارة وحساب الأطوال وحدود الفهارس وحجم الملف وبصمته وهوية إصدار المصدر. قيمة الإزاحة وحدها لا تكشف هذه السلسلة.

«غير محدد» إجابة صحيحة

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

يمكن لخدمة TZDIST إرسال ملف مقتطع. تبدأ صلاحيته عند حد معلوم وتنتهي قبل حد آخر. يستخدم الاقتطاع في البداية نوعاً صفرياً غير محدد، ويمكن للاقتطاع في النهاية استخدام -00 وتذييل فارغ.

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

التذييل يمد قاعدة ولا يمد سلطة التشريع

يحمل تذييل الإصدار 2 فما فوق قاعدة على نمط POSIX لحساب ما بعد آخر انتقال محفوظ. يجب أن تتفق مع آخر انتقال عند نقطة الوصل. هذا يثبت الاتساق الداخلي في تلك اللحظة فقط.

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

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

الإصدار 4 يسمي انتهاء المعرفة

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

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

تناقش القرار 4 للمؤتمر العام السابع والعشرين للأوزان والمقاييس مستقبل الثواني الكبيسة. لكنه لا يثبت أي جدول حمله الجهاز ولا أي فرع نفذه الكود. القرار المؤسسي والنسخة الموزعة والسلوك الجاري ثلاث طبقات.

القناة الآمنة لا تجعل القاعدة حديثة

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

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

وقد يكشف طلب منطقة زمنية مكان المستخدم في الماضي أو الحاضر أو المستقبل. علنية القواعد لا تجعل سجل الاختيار علنياً.

من التمثيل إلى الأثر

يمثل RFC 3339 لحظة وإزاحة، ويضيف RFC 9557 معلومات مثل اسم المنطقة، وينظم RFC 5545 عناصر التقويم. لكن الرسالة لا تحمل تلقائياً بايتات TZif الدقيقة أو الإصدار أو سياسة ساعة تتكرر أو لا توجد.

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

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

المصادر