From OpenSCADAWiki
Jump to: navigation, search

Транспорти

  • Sockets,SSL: Доповнено підтримкою групи портів у вхідних транспортах, тобто підключення до першого вільного. Вхідні транспорти доповнено конфігураційним полем властивостей ініціативного підключення і асоційованих вихідних транспортів.
  • SSL:
    • Розширено підтримкою ініціативних підключень:
      • SSL код підключення TSocketOut::{start,stop}() перенесено до статичних функцій TSocketOut::{connectSSL,disconnectSSL}() для використання у вхідному транспорті;
      • SSL код підключення TSocketIn::Task() перенесено до TSocketIn::{start,stop}();
      • видалено підтримку визначення у режимі SSL щодо алгоритмів і версій через видалення цього у бібліотеці OpenSSL і воно переважно не використовувалося, тож використано лише TLS_{client,server}_method() для нових бібліотек (> 1.1) і SSLv23_{client,server}_method() для старих.
    • FIX: TSocketOut::messIO() попереджено щодо зависань при нескінченому читанні BIO_read() після закриття сокету, шляхом перевірки errno на EAGAIN.
    • SSL-контекст перенесено до загального об'єкту модуля окремо для вхідної (ctxIn) і вихідної (ctxOut) частин і додана інформація по шифрах для:
      • загального об'єкту модуля за SSL_CTX_get_ciphers();
      • статусу вхідного-серверного транспорту за SSL_get_shared_ciphers(), SSL_get_client_ciphers() і SSL_get1_supported_ciphers() або SSL_get_ciphers();
      • статусу вихідного-клієнтського за SSL_get1_supported_ciphers() або SSL_get_ciphers().
    • Вхідний і вихідний транспорти доповнено контролем MSS та вхідні транспорти доповнено контролем системного вхідного буферу, обидва взято із Transport.Sockets.