.\" -*- 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_SESS_SET_GET_CB 3ssl" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH SSL_CTX_SESS_SET_GET_CB 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_sess_set_new_cb, SSL_CTX_sess_set_remove_cb, SSL_CTX_sess_set_get_cb, SSL_CTX_sess_get_new_cb, SSL_CTX_sess_get_remove_cb, SSL_CTX_sess_get_get_cb \- توفير دوال الاستدعاء للتخزين المؤقت الخارجي للجلسات من جانب الخادم .SH موجز .IX Header موجز .Vb 1 \& #include \& \& void SSL_CTX_sess_set_new_cb(SSL_CTX *ctx, \& int (*new_session_cb)(SSL *, SSL_SESSION *)); \& void SSL_CTX_sess_set_remove_cb(SSL_CTX *ctx, \& void (*remove_session_cb)(SSL_CTX *ctx, \& SSL_SESSION *)); \& void SSL_CTX_sess_set_get_cb(SSL_CTX *ctx, \& SSL_SESSION (*get_session_cb)(SSL *, \& const unsigned char *, \& int, int *)); \& \& int (*SSL_CTX_sess_get_new_cb(SSL_CTX *ctx))(struct ssl_st *ssl, \& SSL_SESSION *sess); \& void (*SSL_CTX_sess_get_remove_cb(SSL_CTX *ctx))(struct ssl_ctx_st *ctx, \& SSL_SESSION *sess); \& SSL_SESSION *(*SSL_CTX_sess_get_get_cb(SSL_CTX *ctx))(struct ssl_st *ssl, \& const unsigned char *data, \& int len, int *copy); .Ve .SH الوصف .IX Header الوصف \&\fBSSL_CTX_sess_set_new_cb()\fP تُعيِّن دالة الاستدعاء التي تُستدعى كلما تم التفاوض على جلسة جديدة. .PP \&\fBSSL_CTX_sess_set_remove_cb()\fP تُعيِّن دالة الاستدعاء التي تُستدعى كلما أُزيلت جلسة بواسطة محرك SSL. على سبيل المثال، يمكن أن يحدث هذا لأن الجلسة تُعتبر معيبة أو أصبحت قديمة بسبب تجاوز قيمة المهلة. .PP \&\fBSSL_CTX_sess_set_get_cb()\fP تُعيِّن دالة الاستدعاء التي تُستدعى كلما اقترح عميل TLS استئناف جلسة ولكن لم يُعثر على الجلسة في خبيئة الجلسات الداخلية (انظر \&\fBSSL_CTX_set_session_cache_mode\fP\|(3)). (خادم TLS فقط.) .PP \&\fBSSL_CTX_sess_get_new_cb()\fP و\fBSSL_CTX_sess_get_remove_cb()\fP و\&\fBSSL_CTX_sess_get_get_cb()\fP تسترجع مؤشرات الدوال المُعيَّنة بواسطة دوال الاستدعاء المُعيِّنة المقابلة. إذا لم تُعيَّن دالة استدعاء، يُعاد المؤشر NULL. .SH ملاحظات .IX Header ملاحظات للسماح بالتخزين المؤقت الخارجي للجلسات، يُحقَّق التزامن مع خبيئة الجلسات الداخلية عبر دوال الاستدعاء. داخل دوال الاستدعاء هذه، يمكن حفظ الجلسة على القرص أو وضعها في قاعدة بيانات باستخدام واجهة \&\fBd2i_SSL_SESSION\fP\|(3). .PP تُستدعى \fBnew_session_cb()\fP كلما تم التفاوض على جلسة جديدة وتم تمكين التخزين المؤقت للجلسات (انظر \fBSSL_CTX_set_session_cache_mode\fP\|(3)). تُمرَّر إلى \&\fBnew_session_cb()\fP اتصال \fBssl\fP وجلسة ssl الناشئة \fBsess\fP. نظرًا لأن الجلسات كائنات ذات عدد مراجع، يُزاد عدد مراجع الجلسة قبل الاستدعاء، نيابة عن التطبيق. إذا أعادت دالة الاستدعاء \fB0\fP، تُزال الجلسة فورًا من الخبيئة الداخلية ويُحرر عدد المراجع. إذا أعادت دالة الاستدعاء \fB1\fP، يحتفظ التطبيق بالمرجع (لإدخال في "خبيئة الجلسات الخارجية" التي يديرها التطبيق)، ويكون مسؤولًا عن استدعاء \fBSSL_SESSION_free()\fP عندما لا يعود مرجع الجلسة قيد الاستخدام. .PP لاحظ أنه في TLSv1.3، تُنشأ الجلسات بعد اكتمال المصافحة الرئيسية. يقرر الخادم متى يرسل معلومات الجلسة إلى العميل وقد يحدث هذا بعد فترة من انتهاء المصافحة (أو لا يحدث على الإطلاق). يعني هذا أن التطبيقات يجب أن تتوقع استدعاء دالة \fBnew_session_cb()\fP أثناء المصافحة (لـ <= TLSv1.2) أو بعد المصافحة (لـ TLSv1.3). من الممكن أيضًا في TLSv1.3 إنشاء جلسات متعددة باتصال واحد. في هذه الحالة، تُستدعى دالة \fBnew_session_cb()\fP عدة مرات. .PP في TLSv1.3، يُوصى باستخدام كل كائن SSL_SESSION للاستئناف مرة واحدة فقط. إحدى طرق فرض ذلك هي أن تستدعي التطبيقات \&\fBSSL_CTX_remove_session\fP\|(3) بعد استخدام الجلسة. .PP تُستدعى \fBremove_session_cb()\fP كلما أزال محرك SSL جلسة من الخبيئة الداخلية. يمكن أن يحدث هذا عندما تُزال الجلسة لأنها منتهية الصلاحية أو عندما لم يُغلق الاتصال بشكل نظيف. يحدث هذا أيضًا لجميع الجلسات في خبيئة الجلسات الداخلية عند استدعاء \&\fBSSL_CTX_free\fP\|(3). تُمرَّر إلى \fBremove_session_cb()\fP \fBctx\fP وجلسة ssl \fBsess\fP. لا توفر أي تغذية راجعة. .PP تُستدعى \fBget_session_cb()\fP فقط على خوادم SSL/TLS، وتُعطى معرف الجلسة الذي اقترحه العميل. تُستدعى \fBget_session_cb()\fP دائمًا، حتى عند تعطيل التخزين المؤقت للجلسات. تُمرَّر إلى \fBget_session_cb()\fP اتصال \&\fBssl\fP ومعرف الجلسة بطول \fBlength\fP في موقع الذاكرة \&\fBdata\fP. بتعيين المعامل \fBcopy\fP إلى \fB1\fP، يمكن لدالة الاستدعاء أن تطلب من محرك SSL زيادة عدد مراجع كائن SSL_SESSION؛ تعيين \fBcopy\fP إلى \fB0\fP يُبقي عدد المراجع دون تغيير. إذا لم تكتب \fBget_session_cb()\fP إلى \fBcopy\fP، يُزاد عدد المراجع ويجب تحرير الجلسة صراحةً باستخدام \&\fBSSL_SESSION_free\fP\|(3). .SH "القيم المُرجعة" .IX Header "القيم المُرجعة" \&\fBSSL_CTX_sess_get_new_cb()\fP و\fBSSL_CTX_sess_get_remove_cb()\fP و\fBSSL_CTX_sess_get_get_cb()\fP تُعيد مؤشرات دوال استدعاء مختلفة على التوالي. .SH "انظر أيضًا" .IX Header "انظر أيضًا" \&\fBssl\fP\|(7), \fBd2i_SSL_SESSION\fP\|(3), \&\fBSSL_CTX_set_session_cache_mode\fP\|(3), \&\fBSSL_CTX_flush_sessions\fP\|(3), \&\fBSSL_SESSION_free\fP\|(3), \&\fBSSL_CTX_free\fP\|(3) .SH "حقوق النسخ" .IX Header "حقوق النسخ" حقوق النشر 2001\-2020 لمؤلفي مشروع 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 .