.\" -*- coding: UTF-8 -*- .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Pod::Man v6.0.2 (Pod::Simple 3.45) .\" .\" Standard preamble: .\" ======================================================================== .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . ds C` . ds C' 'br\} .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .de IX .. .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .if n .ds AD l .\" .\" Required to disable full justification in groff 1.23.0. .\" ======================================================================== .\" .IX Title "SSL_CTX_SET_MSG_CALLBACK 3ssl" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH SSL_CTX_SET_MSG_CALLBACK 3ssl "7 أبريل 2026" 3.6.2 OpenSSL .if n .ad l .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .nh .SH الاسم SSL_CTX_set_msg_callback, SSL_CTX_set_msg_callback_arg, SSL_set_msg_callback, SSL_set_msg_callback_arg, SSL_trace \&\- تثبيت دالة رد لمراقبة رسائل البروتوكول .SH موجز .IX Header موجز .Vb 1 \& #include \& \& void SSL_CTX_set_msg_callback(SSL_CTX *ctx, \& void (*cb)(int write_p, int version, \& int content_type, const void *buf, \& size_t len, SSL *ssl, void *arg)); \& void SSL_CTX_set_msg_callback_arg(SSL_CTX *ctx, void *arg); \& \& void SSL_set_msg_callback(SSL *ssl, \& void (*cb)(int write_p, int version, \& int content_type, const void *buf, \& size_t len, SSL *ssl, void *arg)); \& void SSL_set_msg_callback_arg(SSL *ssl, void *arg); \& \& void SSL_trace(int write_p, int version, int content_type, \& const void *buf, size_t len, SSL *ssl, void *arg); .Ve .SH الوصف .IX Header الوصف \&يمكن استخدام \fBSSL_CTX_set_msg_callback()\fP أو \fBSSL_set_msg_callback()\fP لتعريف دالة رد رسائل \fIcb\fP لمراقبة جميع رسائل بروتوكول SSL/TLS/QUIC (مثل رسائل المصافحة) التي تُستقبل أو تُرسل، بالإضافة إلى أحداث أخرى تحدث أثناء المعالجة. ويمكن استخدام \fBSSL_CTX_set_msg_callback_arg()\fP و \fBSSL_set_msg_callback_arg()\fP لتعيين المعامل \fIarg\fP لدالة الرد، وهو متاح للاستخدام التطبيقي التعسفي. .PP \&تحدد \fBSSL_CTX_set_msg_callback()\fP و \fBSSL_CTX_set_msg_callback_arg()\fP إعدادات مبدئية تُنسخ إلى كائنات \fBSSL\fP جديدة بواسطة \&\fBSSL_new\fP\|(3). وتعدل \fBSSL_set_msg_callback()\fP و \&\fBSSL_set_msg_callback_arg()\fP الإعدادات الفعلية لكائن \fBSSL\fP. استخدام مؤشر \fBNULL\fP لـ \fIcb\fP يُعطل دالة رد الرسائل. .PP عندما تُستدعى \fIcb\fP بواسطة مكتبة SSL/TLS/QUIC، فإن معاملات الدالة تحمل المعاني التالية: .IP \fIwrite_p\fP 4 .IX Item write_p هذه العلامة تكون \fB0\fP عندما تُستقبل رسالة بروتوكول و \fB1\fP عندما تُرسل رسالة بروتوكول. .IP \fIالإصدار\fP 4 .IX Item version إصدار البروتوكول الذي يُفسر بموجبه رسالة البروتوكول بواسطة المكتبة مثل \fBTLS1_3_VERSION\fP، \fBTLS1_2_VERSION\fP، \&\fBOSSL_QUIC1_VERSION\fP إلخ. بالنسبة لنوع المحتوى الزائف SSL3_RT_HEADER (انظر الملاحظات أدناه) ستكون هذه القيمة هي حقل الإصدار/الإصدار القديم المُفكك لرأس السجل. .IP \fIcontent_type\fP 4 .IX Item content_type هذه إحدى قيم أنواع المحتوى المُعرَّفة في مواصفات البروتوكول (\fBSSL3_RT_CHANGE_CIPHER_SPEC\fP، \fBSSL3_RT_ALERT\fP، \fBSSL3_RT_HANDSHAKE\fP؛ ولكن أبدًا \&\fBSSL3_RT_APPLICATION_DATA\fP لأن دالة الرد تُستدعى فقط لرسائل البروتوكول). بدلاً من ذلك، قد تكون نوع محتوى "زائف". تُستخدم أنواع المحتوى الزائفة هذه للإشارة إلى حدث آخر في معالجة البيانات (انظر الملاحظات أدناه). .IP "\fIbuf\fP, \fIlen\fP" 4 .IX Item "buf, len" \&يشير \fIbuf\fP إلى مخزن مؤقت يحتوي على رسالة البروتوكول أو بيانات أخرى (في حالة أنواع المحتوى الزائفة)، والذي يتكون من \fIlen\fP بايت. لم يعد المخزن المؤقت صالحًا بعد عودة دالة الرد. .IP \fIssl\fP 4 .IX Item ssl كائن \fBSSL\fP الذي استقبل أو أرسل الرسالة. .IP \fIالوسيط\fP 4 .IX Item arg الوسيط المُعرَّف من قِبل المستخدم، والذي يُعرَّف اختياريًا بواسطة\&\fBSSL_CTX_set_msg_callback_arg()\fP أو \fBSSL_set_msg_callback_arg()\fP. .PP يمكن استخدام الدالة \fBSSL_trace()\fP كدالة رد نداء مُعدة مسبقًا في استدعاءإلى \&\fBSSL_CTX_set_msg_callback()\fP أو \fBSSL_set_msg_callback()\fP.يتطلب ذلك تعيين BIO كوسيط رد نداء عبر\fBSSL_CTX_set_msg_callback_arg()\fP أو \&\fBSSL_set_msg_callback_arg()\fP.سيؤدي تعيين دالة رد النداء هذه إلى كتابة معلومات تتبع تشخيصية قابلة للقراءة البشريةحول اتصال SSL/TLS/QUIC إلى BIO. .SH ملاحظات .IX Header ملاحظات تُمرَّر رسائل البروتوكول إلى دالة الاستدعاء بعد فك التعمية وتجميع الأجزاء حيثما ينطبق ذلك. (وبالتالي، لا تكون حدود السجلات مرئية.) .PP إذا أدت معالجة رسالة بروتوكول مستلمة إلى خطأ، فقد لا تُستدعى دالة الاستدعاء. على سبيل المثال، لن ترى دالة الاستدعاء أبدًا رسائل تُعتبر كبيرة جدًا بحيث لا يمكن معالجتها. .PP بسبب التفاوض الآلي على إصدار البروتوكول، فإن \fIversion\fP ليس بالضرورة إصدار البروتوكول المستخدم من قبل مرسل الرسالة: إذا تم استقبال رسالة TLS 1.0 ClientHello بواسطة خادم SSL 3.0 فقط، فسيكون \&\fIversion\fP هو \fBSSL3_VERSION\fP. .PP قد تُرسل قيم أنواع محتوى زائفة في نقاط مختلفة أثناء معالجة البيانات. أنواع المحتوى الزائفة التالية مُعرَّفة حاليًا: .IP \fBSSL3_RT_HEADER\fP 4 .IX Item SSL3_RT_HEADER يُستخدم عند إرسال أو استقبال سجل TLS. يحتوي \fBbuf\fP على بايتات رأس السجل فقط. .IP \fBSSL3_RT_INNER_CONTENT_TYPE\fP 4 .IX Item SSL3_RT_INNER_CONTENT_TYPE يُستخدم عند إرسال أو استقبال سجل TLSv1.3 معمّى. في سجلات TLSv1.3 المعمّاة، يكون نوع المحتوى في رأس السجل دائمًا SSL3_RT_APPLICATION_DATA. نوع المحتوى الحقيقي للسجل موجود في نوع محتوى "داخلي". يحتوي \fBbuf\fP على بايت نوع المحتوى "الداخلي" المُرمَّز. .IP \fBSSL3_RT_QUIC_DATAGRAM\fP 4 .IX Item SSL3_RT_QUIC_DATAGRAM يُستخدم عند إرسال أو استقرار رسم بيانات QUIC. .IP \fBSSL3_RT_QUIC_PACKET\fP 4 .IX Item SSL3_RT_QUIC_PACKET يُستخدم عند إرسال أو استقبال حزمة QUIC. .IP \fBSSL3_RT_QUIC_FRAME_FULL\fP 4 .IX Item SSL3_RT_QUIC_FRAME_FULL يُستخدم عند إرسال أو استقبال إطار QUIC. يُستخدم هذا فقط للإطارات غير المُعمّاة والمرتبطة ببيانات التدفق. يتم توفير بيانات إطار QUIC الكاملة. .IP \fBSSL3_RT_QUIC_FRAME_HEADER\fP 4 .IX Item SSL3_RT_QUIC_FRAME_HEADER يُستخدم عند إرسال أو استقبال بيانات تدفق QUIC أو إطار مُعمّى. يتم توفير بيانات رأس إطار QUIC فقط. .IP \fBSSL3_RT_QUIC_FRAME_PADDING\fP 4 .IX Item SSL3_RT_QUIC_FRAME_PADDING يُستخدم عند إرسال أو استقبال سلسلة من إطار حشو QUIC واحد أو أكثر. يتكون إطار الحشو من بايت واحد، ومن الشائع وجود إطارات متعددة من هذا النوع في سلسلة. بدلاً من توفير كل إطار على حدة، ستوفر دالة الاستدعاء جميع إطارات الحشو دفعة واحدة عبر نوع المحتوى الزائف هذا. .SH "القيم المُرجعة" .IX Header "القيم المُرجعة" لا تُرجع الدوال \&\fBSSL_CTX_set_msg_callback()\fP و \fBSSL_CTX_set_msg_callback_arg()\fP و \fBSSL_set_msg_callback()\fP و \fBSSL_set_msg_callback_arg()\fP أي قيم. .SH "انظر أيضًا" .IX Header "انظر أيضًا" \&\fBssl\fP\|(7)، \fBSSL_new\fP\|(3) .SH التاريخ .IX Header التاريخ أُضيف نوع المحتوى الزائف \fBSSL3_RT_INNER_CONTENT_TYPE\fP في OpenSSL 1.1.1. .PP أُضيفت أنواع المحتوى الزائفة \fBSSL3_RT_QUIC_DATAGRAM\fP و \fBSSL3_RT_QUIC_PACKET\fP و \&\fBSSL3_RT_QUIC_FRAME_FULL\fP و \fBSSL3_RT_QUIC_FRAME_HEADER\fP و \&\fBSSL3_RT_QUIC_FRAME_PADDING\fP في OpenSSL 3.2. .PP في الإصدارات السابقة لـ OpenSSL 3.0، استُدعيت \fIcb\fP بالقيمة 0 كـ \fIversion\fP لنوع المحتوى الزائف \fBSSL3_RT_HEADER\fP لسجلات TLS. .PP في الإصدارات السابقة لـ OpenSSL 3.2، استُدعيت \fIcb\fP بالقيمة 0 كـ \fIversion\fP لنوع المحتوى الزائف \fBSSL3_RT_HEADER\fP لسجلات DTLS. .SH "حقوق النسخ" .IX Header "حقوق النسخ" حقوق النشر 2001\-2023 لمؤلفي مشروع OpenSSL. جميع الحقوق محفوظة. .PP مرخص بموجب رخصة Apache 2.0 (المشار إليها فيما يلي بـ ”الرخصة“). لا يجوز لك استخدام هذا الملف إلا وفقًا لشروط الرخصة. يمكنك الحصول على نسخة منها في الملف LICENSE الموجود في حزمة التوزيع المصدرية أو على الرابط . .PP .SH ترجمة تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي . .PP هذه الترجمة هي وثيقة مجانية؛ راجع .UR https://www.gnu.org/licenses/gpl-3.0.html رخصة جنو العامة الإصدار 3 .UE أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات. .PP إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: .MT kde-l10n-ar@kde.org .ME .