SSL_WANT(3ssl)

الاسم
SSL_want, SSL_want_nothing, SSL_want_read, SSL_want_write, SSL_want_x509_lookup, SSL_want_retry_verify, SSL_want_async, SSL_want_async_job, SSL_want_client_hello_cb - الحصول على معلومات الحالة لعملية الإدخال/الإخراج TLS/SSL

موجز
 #include <openssl/ssl.h>

 int SSL_want(const SSL *ssl);
 int SSL_want_nothing(const SSL *ssl);
 int SSL_want_read(const SSL *ssl);
 int SSL_want_write(const SSL *ssl);
 int SSL_want_x509_lookup(const SSL *ssl);
 int SSL_want_retry_verify(const SSL *ssl);
 int SSL_want_async(const SSL *ssl);
 int SSL_want_async_job(const SSL *ssl);
 int SSL_want_client_hello_cb(const SSL *ssl);

الوصف
SSL_want() تُرجع معلومات الحالة لكائن SSL ssl. ssl يجب ألا يكون NULL.

استدعاءات SSL_want_*() الأخرى هي اختصارات للحالات المحتملة التي تُرجعها SSL_want().

ملاحظات
SSL_want() تفحص معلومات الحالة الداخلية لكائن SSL. قيمها المُرجعة مشابهة لتلك الخاصة بـ SSL_get_error(3). على عكس SSL_get_error(3)، التي تُقيّم أيضًا قائمة انتظار الأخطاء، تُحصل النتائج بفحص علامة حالة داخلية فقط. لذلك، يجب استخدام المعلومات فقط للتشغيل العادي تحت الإدخال/الإخراج غير المحظور. لا تُعالج حالات الخطأ ويجب معالجتها باستخدام SSL_get_error(3).

النتيجة التي تُرجعها SSL_want() يجب أن تكون دائمًا متسقة مع نتيجة SSL_get_error(3).

القيم المُرجعة
قيم الإرجاع التالية يمكن أن تحدث حاليًا لـ SSL_want():

SSL_NOTHING
    لا توجد بيانات للكتابة أو القراءة.

SSL_WRITING
    توجد بيانات في مخزن SSL المؤقت يجب كتابتها إلى طبقة BIO الأساسية لإكمال عملية SSL_*() الفعلية. استدعاء SSL_get_error(3) يجب أن يُرجع SSL_ERROR_WANT_WRITE.

SSL_READING
    يجب قراءة المزيد من البيانات من طبقة BIO الأساسية لإكمال عملية SSL_*() الفعلية. استدعاء SSL_get_error(3) يجب أن يُرجع SSL_ERROR_WANT_READ.

SSL_X509_LOOKUP
    لم تكتمل العملية لأن استدعاء رجوع للتطبيق مُعيَّن بواسطة SSL_CTX_set_client_cert_cb() طلب استدعاءه مرة أخرى. استدعاء SSL_get_error(3) يجب أن يُرجع SSL_ERROR_WANT_X509_LOOKUP.

SSL_RETRY_VERIFY
    لم تكتمل العملية لأن استدعاء رجوع للتحقق من الشهادة طلب استدعاءه مرة أخرى عبر SSL_set_retry_verify(3). استدعاء SSL_get_error(3) يجب أن يُرجع SSL_ERROR_WANT_RETRY_VERIFY.

SSL_ASYNC_PAUSED
    اكتملت عملية غير متزامنة جزئيًا ثم أُوقفت مؤقتًا. انظر SSL_get_all_async_fds(3). يجب أن يُرجع استدعاء SSL_get_error(3) SSL_ERROR_WANT_ASYNC.

SSL_ASYNC_NO_JOBS
    تعذر بدء المهمة غير المتزامنة لعدم توفر مهام غير متزامنة في المجموعة (انظر ASYNC_init_thread(3)). يجب أن يُرجع استدعاء SSL_get_error(3) SSL_ERROR_WANT_ASYNC_JOB.

SSL_CLIENT_HELLO_CB
    لم تكتمل العملية لأن رد اتصال تطبيق مُعيَّن بواسطة SSL_CTX_set_client_hello_cb() طلب استدعاءه مرة أخرى. يجب أن يُرجع استدعاء SSL_get_error(3) SSL_ERROR_WANT_CLIENT_HELLO_CB.

تُرجع SSL_want_nothing() و SSL_want_read() و SSL_want_write() و SSL_want_x509_lookup() و SSL_want_retry_verify() و SSL_want_async() و SSL_want_async_job() و SSL_want_client_hello_cb() القيمة 1 عندما يكون الشرط المقابل صحيحًا أو 0 بخلاف ذلك.

اعتبارات خاصة بـ QUIC
بالنسبة لـ QUIC، تتعلق هذه الدوال فقط بطبقة المصافحة TLS.

انظر أيضًا
ssl(7), SSL_get_error(3)

التاريخ
أُضيفت دالة SSL_want_client_hello_cb() وقيمة الإرجاع SSL_CLIENT_HELLO_CB في OpenSSL 1.1.1.

أُضيفت SSL_want_retry_verify() في OpenSSL 3.0.

حقوق النسخ
حقوق النشر 2001-2025 لمؤلفي مشروع OpenSSL. جميع الحقوق محفوظة.

مرخص بموجب رخصة Apache 2.0 (المشار إليها فيما يلي بـ ”الرخصة“). لا يجوز لك استخدام هذا الملف إلا وفقًا لشروط الرخصة. يمكنك الحصول على نسخة منها في الملف LICENSE الموجود في حزمة التوزيع المصدرية أو على الرابط <https://www.openssl.org/source/license.html>.

ترجمة
تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي <zayed.alsaidi@gmail.com>

هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 (https://www.gnu.org/licenses/gpl-3.0.html) أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.

إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: kde-l10n-ar@kde.org.