SSL_COMP_ADD_COMPRESSION_METHOD(3SSL)

الاسم
SSL_COMP_add_compression_method, SSL_COMP_get_compression_methods, SSL_COMP_get0_name, SSL_COMP_get_id, SSL_COMP_free_compression_methods - معالجة طرق الضغط المدمجة في SSL/TLS

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

 int SSL_COMP_add_compression_method(int id, COMP_METHOD *cm);
 STACK_OF(SSL_COMP) *SSL_COMP_get_compression_methods(void);
 const char *SSL_COMP_get0_name(const SSL_COMP *comp);
 int SSL_COMP_get_id(const SSL_COMP *comp);

الدالة التالية أصبحت مهجورة منذ OpenSSL 1.1.0، ويمكن إخفاؤها تمامًا عبر تعريف OPENSSL_API_COMPAT بقيمة إصدار مناسبة، انظر openssl_user_macros(7):

 void SSL_COMP_free_compression_methods(void);

الوصف
SSL_COMP_add_compression_method() تُضيف طريقة الضغط cm مع المُعرّف id إلى قائمة طرق الضغط المتاحة. تُحفظ هذه القائمة عالميًا لجميع عمليات SSL داخل هذا التطبيق. لا يمكن تعيينها لكائنات SSL_CTX أو SSL محددة.

SSL_COMP_get_compression_methods() تُعيد رصة بجميع طرق الضغط المتاحة أو NULL عند الخطأ.

SSL_COMP_get0_name() تُعيد اسم طريقة الضغط comp.

SSL_COMP_get_id() تُعيد مُعرّف طريقة الضغط comp.

SSL_COMP_free_compression_methods() تُحرّر أي موارد تم اكتسابها لصيانة الجدول الداخلي لطرق الضغط.

ملاحظات
يسمح معيار TLS (أو SSLv3) بدمج طرق الضغط في الاتصال. لكن RFC لـ TLS لا يُحدد طرق الضغط أو مُعرّفاتها المقابلة، لذا لا توجد حاليًا طريقة متوافقة لدمج الضغط مع الأقران غير المعروفين. لذلك لا يُنصح حاليًا بدمج الضغط في التطبيقات. قد تتفق التطبيقات للاستخدام غير العام على طرق ضغط معينة. استخدام طرق ضغط مختلفة بنفس المُعرّف سيؤدي إلى فشل الاتصال.

عميل OpenSSL الذي يتحدث بروتوكولًا يسمح بالضغط (SSLv3, TLSv1) سيرسل آليًا قائمة جميع طرق الضغط المُفعّلة باستخدام SSL_COMP_add_compression_method() إلى الخادم أثناء المصافحة. على عكس آليات تعيين قائمة المُعمّيات، لا توجد طريقة متاحة لتقييد قائمة طرق الضغط لكل اتصال على حدة.

خادم OpenSSL سيطابق المُعرّفات المدرجة من قبل العميل مع طرق الضغط الخاصة به وسيُفعّل الضغط آليًا عند العثور على مُعرّف مطابق. لا توجد طريقة لتقييد قائمة طرق الضغط المدعومة لكل اتصال على حدة.

إذا تم تفعيله أثناء التجميع، ستتوفر في مكتبة OpenSSL طرق الضغط التالية:

COMP_zlib()
COMP_brotli()
COMP_brotli_oneshot()
COMP_zstd()
COMP_zstd_oneshot()

القيم المُرجعة
SSL_COMP_add_compression_method() قد تُرجع القيم التالية:

0   نجحت العملية.

1   فشلت العملية. افحص طابور الأخطاء لمعرفة السبب.

SSL_COMP_get_compression_methods() تُرجع رصة طرق الضغط أو NULL عند الخطأ.

SSL_COMP_get0_name() تُرجع اسم طريقة الضغط أو NULL عند الخطأ.

SSL_COMP_get_id() تُرجع اسم طريقة الضغط أو -1 عند الخطأ.

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

التاريخ
الدالة SSL_COMP_free_compression_methods() أُهملت في OpenSSL 1.1.0. الدالتان SSL_COMP_get0_name() و SSL_comp_get_id() أُضيفتا في OpenSSL 1.1.0d.

حقوق النسخ
حقوق النشر 2001-2020 لمؤلفي مشروع 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.