منصوبے کے بارے میں
SolidSyslog ایک ساختی syslog کلائنٹ لائبریری ہے جو ایمبیڈڈ اور صنعتی آلات کے لیے بنائی گئی ہے۔ یہ RFC 5424 ساختی syslog نافذ کرتی ہے، UDP (RFC 5426) اور TCP (RFC 6587) ٹرانسپورٹ کے ساتھ؛ RFC 5425 کے مطابق TLS پلیٹ فارم فراہم کرتا ہے، لہذا کوئی بھی TLS لائبریری اسی Stream vtable کے پیچھے منسلک ہو سکتی ہے۔ TLS بنیادی انحصار نہیں ہے، اور Core میں TLS لائبریری کا کوئی حوالہ نہیں ہے۔
بیان کردہ مقصد یہ ہے کہ جہاز رانی کرنے والی ایمبیڈڈ مصنوعات کو EU Cyber Resilience Act اور IEC 62443 کے تحت متوقع سیکیورٹی آڈٹ ٹریل فراہم کی جائے، بطور ایک جزو جو آپ شامل کرتے ہیں نہ کہ دوبارہ ڈیزائن۔
وسائل کا نقش، جیسا کہ پروجیکٹ نے شائع کیا: تار پر ایک درست ٹائم اسٹیمپ والے RFC 5424 ریکارڈ کے لیے تقریباً +5 KB فلیش اور 1.9 KB RAM؛ مکمل راستے کے لیے تقریباً +16.4 KB فلیش اور 36.3 KB RAM بشمول اسٹور اینڈ فارورڈ، ڈیوائس شناخت، باہمی TLS اور AES-GCM انکرپشن ایٹ ریسٹ، بنیادی طور پر TLS بفرز۔ یہ اعداد و شمار بتائے گئے ہیں کہ لائبریری ایک ایسے ڈیوائس میں کیا اضافہ کرتی ہے جو پہلے سے FreeRTOS، lwIP، FatFs اور Mbed TLS چلا رہا ہو، QEMU کے تحت Cortex-M3 پر ماپا گیا۔ دو کام کرنے والے انٹیگریشنز الگ الگ ریپوزٹریز کے طور پر شائع کیے گئے ہیں، ایک CMake کے ساتھ استعمال ہوتا ہے اور ایک Make کے ساتھ، ہر مرحلہ ایک واحد کمٹ کے طور پر۔
ڈیزائن کی خصوصیات:
- C99، کوئی متحرک میموری مختص نہیں؛ مثالیں لائبریری کے اندرونی جامد پول میں رہتی ہیں جس کا سائز کمپائل ٹائم پر ہوتا ہے
- ٹرانسپورٹ سے آزاد: UDP، TCP، TLS، یا ایک حسب ضرورت ٹرانسپورٹ
- بفر سے آزاد: PassthroughBuffer (براہ راست بھیجیں)، ایک پورٹیبل CircularBuffer (mutex-injected ring)، POSIX میسج کیو، یا حسب ضرورت
- MISRA C:2012 سے متاثر
صلاحیتیں شامل ہیں UDP، TCP اور TLS/باہمی TLS پر RFC 5424 ساختی فارمیٹنگ؛ غیر متزامن بفرنگ؛ گھومنے والا بلاک اسٹور اینڈ فارورڈ؛ اور ایٹ ریسٹ ریکارڈ تحفظ CRC-16 کا استعمال کرتے ہوئے حادثاتی خرابی کے لیے، یا keyed HMAC-SHA256 / AES-256-GCM جہاں مقامی حملہ آور دائرہ کار میں ہو۔ پروجیکٹ ایک مخصوص گائیڈ میں IEC 62443 آڈٹ لاگنگ کنٹرولز کا نقشہ بناتا ہے۔
ہر پلیٹ فارم انحصار - TCP/IP اسٹیک، TLS لائبریری، فائل سسٹم، OS primitives، گھڑی - ایک vtable کے ذریعے داخل کیا جاتا ہے، لہذا پورٹنگ کا مطلب Core میں ترمیم کرنے کے بجائے کردار بھرنا ہے۔ پلیٹ فارم پیک ہوسٹڈ اور ایمبیڈڈ اہداف کے لیے بھیجے جاتے ہیں؛ ہوسٹڈ اہداف ترقی، جانچ اور ایج/گیٹ وے میزبانوں کے طور پر تعاون یافتہ ہیں۔ TLS منسوخی (CRL/OCSP) لائبریری کے ذریعے انجام نہیں دی جاتی؛ نفاذ کنفیگر شدہ TLS بیک اینڈ اور پلیٹ فارم پر منحصر ہے۔
فن تعمیر: OO-in-C۔ پلیٹ فارم انحصار اور اختیاری خصوصیات vtable کردار ہیں جو سیٹ اپ پر داخل کیے جاتے ہیں اور لنک ٹائم پر مرتب ہوتے ہیں، لہذا غیر منسلک خصوصیات لنکر کے ذریعے خارج ہو جاتی ہیں نہ کہ پری پروسیسر کے ذریعے خارج کی جائیں؛ Core کے نفاذ میں کوئی فیچر کنڈیشنل نہیں ہے۔ عوامی ہیڈرز سامعین کے لحاظ سے تقسیم کیے گئے ہیں: ایپلیکیشن کوڈ SolidSyslog.h شامل کرتا ہے، جبکہ سیٹ اپ کوڈ SolidSyslogConfig.h کے علاوہ ہر منسلک جزو کے لیے ایک ہیڈر شامل کرتا ہے۔ ایک Null آبجیکٹ کسی بھی غیر بھرے کردار کی جگہ لیتا ہے۔
جانچ BDD سے چلنے والی بائنریز استعمال کرتی ہے، ہر ہدف کنفیگریشن کے لیے ایک، میزبان پر اور QEMU کے تحت، ہر ایک لائبریری کو ایک حقیقی syslog سرور کے خلاف اختتام سے اختتام تک آزماتی ہے۔
دستاویزات docs.cososo.co.uk/solid-syslog پر میزبانی کی جاتی ہیں، جو Core، Integrate، Platforms، Compliance، API reference اور Maintaining حصوں میں منظم ہیں، بشمول ایک ہارڈننگ پاتھ، بلڈ انٹیگریشن گائیڈ، پورٹنگ گائیڈ، RFC تعمیل میٹرکس، خطرہ ماڈل اور CRA/IEC 62443 گائیڈز۔ کمزوری کی رپورٹنگ SECURITY.md کے ذریعے کی جاتی ہے۔
لائسنسنگ تین متبادلات کے تحت سورس-دستیاب ہے: PolyForm Internal Use 1.0.0 (کسی بھی تنظیم کے اندر تشخیص اور ترقی کے لیے مفت)، PolyForm Noncommercial 1.0.0 (شوق، خیراتی، تعلیمی، عوامی تحقیق اور حکومتی استعمال کے لیے مفت، بشمول دوبارہ تقسیم)، اور ایک تجارتی لائسنس جس کی ضرورت ہوتی ہے جب لائبریری پر مشتمل تجارتی مصنوعات، ڈیوائس، فرم ویئر یا سروس فراہم، فروخت یا تقسیم کی جائے۔
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.