مراجعة سريعة
الحاضرون: co, jrand0m, LeerokLacerta, mihi, mrflibble, mrsc, nop, shardy, thecrypto, w0rmus
سجل الاجتماع
[22:53] 0) أهلاً وسهلاً [22:54] 1) التطبيقات: [22:54] 1.1) IM (المراسلة الفورية) [22:54] 1.2) NS (خدمة التسمية) [22:54] 2) حالة التطوير: [22:54] 2.1) الأنظمة الفرعية [22:54] 2.2) استمرارية مفاتيح التشفير [22:54] 2.3) المهام [22:54] 3) أمور المواصفات [22:54] 3.1) تعديلات [22:54] 4) شؤون إدارية: [22:54] 4.1) anon cvs [22:54] 5) ؟ [22:55] حسنًا، 0) أهلاً وسهلاً [22:55] مرحبًا بكم في الاجتماع 58 [22:55] هذا كل شيء [22:55] نعم سيدي، إلا إذا كان لدى أحد ما يضيفه؟ [22:55] * nop يلاحظ أن jrand0m كائني التوجه في ترقيمه :) [22:56] 3.1.2.2.4.5.8() ;) [22:56] مهلاً، قد تكون structs ;) [22:56] ههه [22:56] هذا صحيح بالتأكيد [22:56] حسنًا، 1.1) IM. thecrypto؟ [22:56] رغم ذلك [22:56] 2 فيها وراثة [22:57] ;) [22:57] هه [22:57] لا تهتموا بي [22:57] حسنًا [22:57] آسف [22:57] تابعوا [22:57] *** mihi_ (~none@anon.iip) انضم إلى القناة #iip-dev [22:57] حسنًا، أقوم الآن برفع بعض المواصفات الأساسية لـ IM [22:58] (Link: http://www.thecrypto.org/i2pim.sxw)http://www.thecrypto.org/i2pim.sxw لبرنامج oowriter [22:58] وأعمل على رفع نسخة pdf [22:59] إذا أردت أستطيع وضعها على موقع i2p [22:59] أعطني لحظة [22:59] بالتأكيد [22:59] *** mrflibble (mrflibble@anon.iip) انضم إلى القناة #iip-dev [22:59] هل تريد وضع ذلك في i2p/apps/IM/doc/ ؟ [22:59] *** mihi_ أصبح الآن باسم mihi_backup [23:00] أستطيع [23:00] نعم [23:00] أعني في cvs :) [23:00] أستطيع فعل ذلك أيضًا [23:00] (ولكن على الويب جيد أيضًا) [23:00] آه [23:00] ههه [23:00] (Link: http://www.thecrypto.org/i2pim.pdf)http://www.thecrypto.org/i2pim.pdf [23:01] "the file is damaged and could not be repaired" خطأ AR [23:01] جرّب مجددًا [23:01] * jrand0m حمّله دون مشاكل [23:01] MrEcho: ملف الـ PDF؟ [23:01] (ملف sxw) [23:01] كان مرفوعًا جزئيًا فقط في ذلك الوقت [23:01] الآن يعمل [23:01] ههه [23:02] بشكل أساسي، أضفت فقط أمور التواجد، رسائل الاتصال/الانفصال، ورسالة نصية [23:02] واقتبست بلا خجل بعض الأقسام من وثيقة I2NP [23:02] :) [23:02] هه ظننت أن بعضه يبدو مألوفًا :) [23:02] وأعمل أيضًا على رفع واجهة المستخدم التي [23:02] كنت أعمل عليها [23:03] jrand0m: هل أحتاج إلى إنشاء الأدلة apps/IM/doc [23:03] نعم، وcvs add لكل واحد منها على حدة [23:03] -kb؟ [23:03] نعم [23:03] thecrypto: أعتقد أن apps/ موجود الآن. [23:04] ما المقصود بـ presence؟ [23:05] دعني أشغّل update [23:05] لكنها ستدخل هناك [23:05] *** تسجيل الخروج: shardy (Ping timeout) [23:05] أقصد قوموا بتمزيق المواصفات [23:05] وواجهة المستخدم ستكون هناك قريبًا أيضًا [23:05] وإذا كان لديك أي شيء يحتاج إلى توضيح فـ anonymail أو بريد إلكتروني أو أي وسيلة تواصل معي وسأصلحه [23:05] هل فاتني الاجتماع؟ [23:05] *** shardy (~shardy@anon.iip) انضم إلى القناة #iip-dev [23:05] thecrypto: قد ترغب في الإعلان في قائمة البريد أيضًا، مع رابط إلى المستندات. [23:05] ظننت أنني وضعت ذلك هناك؟ [23:05] لا، ما زلنا في البند الأول يا mrflibble [23:05] mrflibble: الاجتماع جارٍ. [23:05] أوه آسف، لم أستطع رؤية "logger" [23:06] thecrypto> تقول إنه destination، لكن هل هذا هو الـ destination الذي تُرسل إليه الرسائل؟ كيف تعمل رسائل عدم الاتصال؟ [23:06] لا mids هنا، لذا لا يوجد logger ;) [23:06] تمام [23:06] * mrflibble يعود للتخفي [23:06] آه انتظر، هذه مجرد إشعارات تواجد، آسف [23:06] كيف يمكن الاشتراك في presence؟ [23:06] jrand0m: لا توجد رسائل عدم اتصال [23:07] أساسًا [23:07] الـ presence يغلّف destination واسمًا معًا [23:07] لتسهيل الأمور [23:08] إذا أردنا الانتقال إلى NS يمكننا ذلك، ونعود لهذا لاحقًا؟ [23:09] تمام، جيد [23:09] ويمكنكم الاستمرار في إرسال أسئلة لي [23:09] في الواقع، سؤال سريع [23:09] تفضل [23:09] إذن IM نصي فقط؟ [23:10] مع هذه النسخة الأساسية نعم، لكن سأضيف دعمًا للملفات [23:10] كوول [23:10] أريد فقط الاهتمام ببدايات النظام ثم البناء عليه [23:10] (تكراري وتزايدي)++ [23:11] حسنًا رائع. سأطلع عليه أكثر وعلى الآخرين كذلك... الآن، ننتقل إلى 1.2) NS. co؟ [23:11] الإصدار 1.1 (نهائي) من مواصفات خدمة التسمية صدر في وقت سابق اليوم. [23:12] (وقوبل ذلك بالابتهاج) [23:12] باختصار، أنهيت الأقسام الخاصة بهياكل البيانات ورسائل الشبكة التي يحتاجها البرنامج. [23:12] سأصدر واجهة برمجة تطبيقات العميل يوم الخميس. [23:12] وسأبدأ بتنفيذ تطبيق NS. [23:12] رائع [23:13] فكرة واحدة تغيّرت وهي ما يفعله الـ CA (سلطة إصدار الشهادات) عندما تسجّل الكيانات لديه. [23:13] co: كيف ستنفذ ذلك؟ [23:13] co: خادم الأسماء أم العميل؟ [23:14] thecrypto: أولًا سأنفذ هياكل البيانات اللازمة. [23:14] ثم العميل، ثم مكوّنات الخادم وCA. [23:14] حسنًا [23:15] كما قلت، أود الآن أن يُصدر الـ CA شهادة للكيانات المسجلة حديثًا. [23:15] سيقدّمون هذه الشهادة لخوادم التسمية عند تعديل سجلاتهم. [23:15] لم أحدد ما تحتويه الشهادة في هذا الإصدار؛ سيُضاف ذلك إلى الإصدار التالي من المواصفات. [23:16] هل يبدو هذا فكرة سيئة لأحد؟ [23:16] همم. ألن يكون أبسط/أكثر أمانًا أن يستخدم العميل مفتاحًا عامًا/خاصًا فقط؟ [23:16] أي أثناء التسجيل، يقدّم مفتاحًا عامًا للتحديثات ويوقّع التسجيل، وكلما أردت التحديث مجددًا، توقّع طلب التحديث [23:16] (بحيث لا يحصل الـ CA على المفتاح الخاص أبدًا) [23:17] بالمناسبة: كل أمور I2PIM تم دفعها الآن إلى مستودع cvs [23:17] رائع [23:17] قد يكون أبسط فعل ذلك فقط. سأعيد التفكير في هذه المسألة. شكرًا على التعليق. [23:17] هذا كل ما لدي بخصوص خدمة التسمية في الوقت الحالي، إن لم تكن لديكم أسئلة أخرى. [23:18] تبدو جيدة، لم أطلع على 1.1 بعد لكن سأرسل بريدًا إذا صادفت شيئًا [23:19] حسنًا. الموضوع التالي؟ [23:19] حسنًا، 2.1) حالة التطوير للأنظمة الفرعية. [23:19] *** w0rmus (o0o@anon.iip) انضم إلى القناة #iip-dev [23:20] نظام النقل جيد بما يكفي للمضي قدمًا. نظام إدارة الأقران مُهيأ بخوارزميات بدائية لكنها تعمل. قاعدة بيانات الشبكة، إدارة الأنفاق، وإدارة الإحصاءات ما تزال قيد الانتظار. نظام العميل سيكون بسيطًا (إعادة استخدام SDK local only router فقط) [23:21] ماذا تعني بخوارزميات بدائية؟ [23:21] ليست سريعة؟ [23:21] آه، نظام إدارة الأقران لا يتتبع أداء الأقران، بل يعيد أقرانًا عشوائيين فقط. [23:22] ستُحدّث الخوارزمية وتُضبَط مع التقدم لتزويد اختيار أفضل للأقران [23:22] المهمة الحالية لدي هي بناء والتعامل مع garlic messages (رسائل Garlic)، وهذا مزعج جدًا. [23:23] لكنه ممكن، فقط مزعج [23:23] وهذا يقود فعليًا إلى 2.2) استمرارية مفاتيح التشفير. [23:24] garlic messages تستخدم تشفير ElG+AES لتغليف طبقات الفصوص [23:24] وتُستخدم المفاتيح الخاصة في أماكن أخرى (النقل، إدارة العميل) [23:25] *** تسجيل الخروج: thecrypto (Ping timeout) [23:25] إبقاء المفاتيح الخاصة ومفاتيح الجلسة دائمًا في الذاكرة وعدم كتابتها على القرص هو المثالي، لكنه سيئ عند توقف الـ router (سواء عمدًا أو بسبب عطل) [23:26] هل لدى أحد أفكار حول ما إذا كان ينبغي أن 1) لا نكتب المفاتيح إلى القرص أبدًا ونخاطر بفقدان رسائل غير ضرورية بشكل مفرط (لأنها لن تُفك شيفرتها) 2) تشفيرها قبل كتابتها على القرص أو 3) فقط كتابتها على القرص كما هي؟ [23:26] الخيار 2. [23:27] jrand0m الخيار 2، أو نفعل ما قلناه من قبل [23:27] علينا الوثوق بـ localhost [23:27] *** تسجيل الخروج: cohesion (class) [23:27] نفترض أن localhost غير مخترق [23:27] الشيء الغريب في الخيار 2 هو أن المستخدم سيتعين عليه إدخال عبارة مرور لبدء الـ router، أو أن مفتاح الجلسة سيكون قابلًا للمعرفة [23:27] نقطة جيدة يا nop. [23:28] مرة أخرى نحن طبقة نقل، لا يمكننا القلق بشأن ذلك كثيرًا، يمكن تعديل ذلك على جهة العميل، أو يمكننا منحهم خيارات [23:28] حسب مستوى البارانويا [23:28] مفاضلة الأمان مقابل الملاءمة [23:29] إذن أقترح أن يكون 3 افتراضيًا، مع إعطاء المستخدم خيار استخدام 2. [23:29] بالضبط [23:29] صحيح. حسنًا، الشيء الجيد هو أن الناس يمكنهم (ويجب!) أخذ كود الـ router وتعديله لهذه المفاضلة - "tinfoil I2P router" و "jane sixpack I2P router" [23:29] حسنًا، رائع، سأمضي بالخيار البسيط 3) الآن إذن [23:30] حسنًا 2.3) المهام [23:30] * co يود العودة إلى موضوع NS في نهاية الاجتماع. [23:30] * nop يحتاج لإنهاء قراءة بريد NS [23:30] تمام، أصبحت البند #5 الآن [23:30] أستطيع الانتظار حتى النهاية. [23:31] mihi جمع بعض الاختبارات لإبراز بعض العلل في تطبيق SDK. بعضها أُصلح بالفعل وبعضها لا. إصلاحها على قائمة المهام :) [23:32] أيضًا، كانت هناك حوالي 12 تغييرًا في مواصفات مختلفة. عندما أجد وقتًا سأحدّث الوثائق وأنشرها، رغم أنني قد أضع صفحة أخطاء (errata) على الويكي في هذه الأثناء [23:33] تم [23:34] مهام أخرى... أمم، أصلحت هذا الصباح مشكلة "Wrong Size generating key" بالإضافة إلى بعض العلل العشوائية [23:34] حسنًا، هذا كل شيء لحالة التطوير. 3) أمور المواصفات [23:35] 3.1) انظر المهام بخصوص التعديلات. كانت تغييرات معظمها طباعية، وصادفت اليوم تغييرًا أكبر قليلًا أثناء تنفيذ الـ garlics. لا مشكلة، فقط يتطلب نقل بعض هياكل البيانات والقيام ببعض الحركات البهلوانية مع التشفير. سأضع ذلك في صفحة الأخطاء. [23:35] 3.2) [أعلم، هذا لم يكن على جدول الأعمال، لكن ها هو] أسئلة المواصفات [23:35] (سأعود حالًا، ما زلت متخفيًا إن احتجتم إلي) [23:35] هل لدى أحد أسئلة حول أي من المواصفات؟ [23:35] جيد يا shardy [23:36] jrand0m: من فضلك أخبرنا مرة أخرى أي مواصفة في أي وثيقة. [23:37] (Link: http://wiki.invisiblenet.net/iip-wiki?I2PProtocolSpecs)http://wiki.invisiblenet.net/iip-wiki?I2PProtocolSpecs فيها خريطة لها [23:37] سأطلع عليها. [23:38] (وأنا أنظر إليها تذكرني بأنني بحاجة لتوثيق نقل UDP الآمن الموثوق. مهمة أخرى...) [23:39] كانت هناك بعض الأسئلة من أشخاص مختلفين بشأن أي المواصفات يُطّلع عليها - أساسًا، ما لم تكن تريد معرفة كيفية عمل الـ routers (أو تريد المساعدة في تنفيذها)، فلن تحتاج لقراءة مواصفة I2NP. I2CP وقسم I2CP من هياكل البيانات كافيان [23:40] jrand0m [23:40] نعم سيدي؟ [23:41] هل تقصد UDP الفعلي كحزم UDP [23:41] أم UDP كبروتوكول عام [23:41] نعم، UDP كحزم UDP [23:41] من أجل I2P [23:41] *** thecrypt1 (~thecrypto@anon.iip) انضم إلى القناة #iip-dev [23:41] *** thecrypt1 أصبح الآن باسم thecrypto [23:41] i2p/code/router/java/src/net/invisiblenet/i2p/router/transport/udp للتنفيذ [23:42] عدت [23:42] أهلاً بعودتك [23:42] أحد يرسل لي ما حصل أثناء غيابي؟ [23:43] تنفيذ UDP بسيط جدًا - يجري تبادل DH وتقسم الرسائل إلى حزم 1K وتُشفّر بـ AES256 باستخدام المفتاح المُولّد [23:43] إعادة إنشاء المفاتيح مدعومة لكن ليست تلقائية حاليًا [23:43] تُرسل ACKs على شكل حزم (أي "تلقيت كل الحزم للرسالة 42 حتى الحزمة 18 ما عدا 3 و7") [23:44] (والسبب العملي لبدئي بتنفيذ UDP قبل TCP هو أن UDP يعطي IO غير متزامن "مجاني" مع حمولة شبه صفرية) [23:45] بالطبع [23:45] تبقى شيئان لعملهما في تنفيذ udp - إضافة Station-to-Station ضد MITMs (هجوم الرجل في الوسط) وحزمة لـ "يا ساتر، نسيت مفتاح الجلسة" [23:45] جيد [23:46] بعد نقل UDP النقل التالي الذي أريد تنفيذه هو polling HTTP - بحيث ندعم المستخدم العادي (UDP) والمستخدم خلف جدار ناري/NAT/وكيل (polling http) [23:47] حسنًا، نعم، يحتاج ذلك للتوثيق ضمن مواصفة :) [23:48] * jrand0m يجلد نفسه لأنه برمج قبل كتابة المواصفات [23:48] البرمجة قبل كتابة المواصفات تساعدني [23:48] نعم، الأفضل أن يكون الأمر تكراريًا [23:48] (إذ نجد مشاكل في المواصفات أثناء تنفيذها، إلخ) [23:49] حسنًا، هذا بخصوص 3) المواصفات. 4) الشؤون الإدارية [23:49] 4.1) anon cvs. thecrypto؟ :) [23:49] ما أروع التوقيت [23:49] حسنًا، أتحقق من ذلك، أعتقد أن 2401 محظور حاليًا [23:49] هل تستطيع cvs -d :pserver: محليًا؟ [23:49] وقد يكون هناك بعض أمور inetd كذلك شكرًا jrandom [23:50] آه تمام [23:50] دعني أختبر ذلك لقد نسيت أنه يمكنك فعل ذلك :) [23:51] هل ستكون فقط cvs -d :pserver: ؟ [23:51] cvs -d :pserver:anonymous@localhost:/home/cvsgroup/cvsroot/ co i2p [23:52] أيضًا، سيكون رائعًا لو استطعنا وضع bugzilla هناك أيضًا [23:52] acvs [checkout aborted]: connect to localhost(127.0.0.1):2401 failed: Connection refused [23:52] تمام، بعد إضافة سطر inetd.conf و kill -HUP identd؟ [23:52] دعني أجرب سطر inet وسأعود إليك [23:52] أقصد، inetd :) [23:52] تمام [23:53] هل يذهب pserver على نفس السطر؟ [23:53] نعم، كله على سطر واحد [23:55] حسنًا، هذا كل شيء للشؤون الإدارية، على الأقل ما يخطر ببالي [23:55] 5a) الكلمة لك يا co [23:56] عندما يريد شخصان تسجيل نفس اسم الكيان، يُرفض الثاني. [23:56] لكن إن استخدمنا نهجًا قائمًا على التوقيع، [23:56] يمكن للشخص الذي رُفض طلبه أن يرسل رسالة إلى خادم التسمية [23:56] على أي حال، يطلب فيها تعديل السجل. [23:56] هناك احتمالان: [23:57] 1) يرسل الـ CA إلى خادم التسمية نسخة من المفتاح العام للكيان الذي تمت الموافقة عليه. [23:57] 2) يرسل الـ CA إلى الشخص الذي يسجّل اسمًا شهادة موقعة بمفتاحه الخاص. وسيملك خادم التسمية المفتاح العام للـ CA للتحقق منها. [23:58] إذا طلب مستخدم خبيث من خادم التسمية تعديل سجل معين، فإن عدم وجود شهادة سيمنع التعديل. [23:58] هذا ما كنت أفكر به. [23:59] لكن في تلك الحالة يعرف الـ CA المفتاح - التشفير اللامتناظر يعني أن الـ CA لا يعرف سوى المفتاح العام، إضافة إلى أن الـ CA لن يرغب أو يحتاج إلى إعطاء هذا المفتاح العام لأي أحد - هو فقط ليتحقق المُحدِّث الأصيل منه عند طلب تحديث [00:00] ما تصفه يبدو أقرب إلى التشفير المتناظر - مجرد استخدام عبارة مرور، عمليًا [00:00] cvs يعبث بي! [00:00] (حيث تكون الشهادة سرًا مشتركًا بين الـ CAs والمالك الأصيل للاسم) [00:00] *** mrsc (~efgsdf@anon.iip) انضم إلى القناة #iip-dev [00:01] ماذا هناك يا thecrypto؟ [00:01] أضفت المستخدم anonymous بكلمة مرور فارغة أضفته إلى readers وإلى cvsgroup وأحصل على cvs login: authorization failed: server localhost rejected access to /home/cvsgroup/cvsroot for user anonymous [00:01] jrand0m: نقطة جيدة. لنقل إن هذا الجزء من المواصفة غير نهائي، وسأفكر فيه أكثر. [00:01] تمام [00:01] *** LeerokLacerta (~leerok@anon.iip) انضم إلى القناة #iip-dev [00:02] Konnichiwa. [00:02] همم thecrypto، لا أظن أنك تريد مستخدم نظام باسم anonymous [00:02] أهلًا بك يا LeerokLacerta [00:02] مرحبًا، jrand0m. [00:02] حسنًا وضعت كلمة مرور والآن يعمل [00:03] jrand0m: وإذا كانت لديك اقتراحات أخرى بعد قراءة المواصفة، أرسلها لي. [00:03] سأفعل يا co [00:03] رائع يا thecrypto.. هل /bin/false هي الصدفة الخاصة به؟ [00:03] الآن علي فقط إيجاد ذلك القسم في دليل cvs حول كيفية إنشاء مستخدم [00:03] -> *thecrypto* whats the pw? [00:04] الآن كذلك [00:05] حسنًا، يمكننا معالجة هذا بعد الاجتماع. [00:05] حسنًا، آخر نقطة على جدول الأعمال: 5b) ؟ [00:05] أي أسئلة/أفكار/مخاوف؟ [00:05] فقط اطلعوا على تطبيق IM [00:06] الآن كل ما يفعله هو إنشاء شجرة لكنه يريك كيف سيبدو [00:06] لا SOCKS؟ [00:06] أوه نعم هذا ما نسيته [00:06] آه رائع يا thecrypto [00:06] SOCKS؟ تقصد بروتوكول الوكيل؟ [00:06] أحد هنا جيد في صنع الأيقونات؟ [00:06] نعم. [00:06] كان الجواب في كل مرة سألت فيها "لا". [00:07] آه. نعم، بالتأكيد سنرغب في socks proxy، لكن لا أحد يعمل عليه حاليًا. [00:07] همم. [00:07] سيكون ذلك واحدًا من التطبيقات التي نريدها قبل 1.0 للعامة، حتى يتمكن الناس من تصفح مواقع i2p، وكذلك تصفح الويب العادي مجهولين [00:07] هناك ما يكفي من وكلاء socks المتاحة مجانًا، أقول ;) [00:08] بالضبط، فقط نحتاج لدمجها [00:08]