~75 سطر
الملف الرئيسي لحاوية Auth_Vault. يحتوي على نقطة الدخول _start التي تُفوّض إلى rust_main، وحلقة الخدمة التي تستقبل طلبات التوثيق وتُولّد PolicyBadge مُشفَّرة.
🔍 أهم العناصر البرمجية
نقطة الدخول
_start → rust_main()Global Allocator
BumpAllocatorالأمر الوحيد
0x100 (Request Token)المعامل
mr[1] = app_id (u16)الرد
reply.mr[1] = badge.to_badge_word()📋 الأقسام والوحدات
Capability Slots—Slot 0 = Own Endpoint | Slot 1 = FS_Vault (مستقبلاً)
PolicyBadge::new()—تُولّد badge بـ: app_id + Permission::ReadWrite + hash_path("/home/user")
السياسة الحالية—جميع التطبيقات تحصل على ReadWrite تلقائياً — Placeholder للإصدار القادم
معالجة الأخطاء—أي أمر مجهول يُعيد MessageTag::Err فوراً
~16 سطر
ملف إعداد حزمة auth. يُعرّف 4 اعتماديات — أكثر من أي حاوية أخرى بسبب احتياجها لـ BumpAllocator و security-policy.
🔍 أهم العناصر البرمجية
الاسم
auth (v0.1.0)إصدار Rust
edition = "2024"sel4-sys
path = "../../libs/sel4-sys"ipc-sync
path = "../../libs/ipc-sync"bump-alloc
path = "../../libs/bump-alloc"security-policy
path = "../../libs/security-policy"📋 الأقسام والوحدات
Profile Release—opt-level = 3 | lto = true | panic = "abort"
~9 سطور
إعدادات البناء الخاصة بحاوية auth. تُحدد هدف الترجمة (Target) وخيارات الـ Linker اللازمة للعمل في بيئة seL4 بدون نظام تشغيل.
🔍 أهم العناصر البرمجية
Target
x86_64-unknown-nonerelocation-model
pie (Position Independent Executable)code-model
kernel📋 الأقسام والوحدات
PIE Model—يسمح لـ seL4 بتحميل الحاوية في أي عنوان ذاكرة دون تعارض
Kernel Code Model—يُحسّن توليد الكود لبيئات ذات عناوين عالية كما يتوقعها seL4
