Qt Contributors Summit 2019 - Qt 6 Network Overview: Difference between revisions

From Qt Wiki
Jump to navigation Jump to search
(Created page with "Category:QtCS2019 === Qt Network team’s plan of work for Qt 6 === *https://bugreports.qt.io/browse/QTBUG-75638 is the parent item to track * TLS (clean up) ** Get ri...")
 
No edit summary
Line 5: Line 5:
*https://bugreports.qt.io/browse/QTBUG-75638 is the parent item to track
*https://bugreports.qt.io/browse/QTBUG-75638 is the parent item to track


* TLS (clean up)
Clean up in QSsl
** Get rid of a stale OpenSSL backend - only 1.1 and following will be supported
* Get rid of a stale OpenSSL backend - only 1.1 and following will be supported
** Completely remove all the code related to (previously deprecated in 5.13) SSL v2 and SSL v3
* Completely remove all the code related to (previously deprecated in 5.13) SSL v2 and SSL v3
* TLS (new backend)
 
** A new TLS back-end was contributed recently, using mbedTLS. We will get it in Qt 6 most probably, but requires work (not in a „ready“ shape yet)
New TLS backend
* TLS (some new features and improvements)
* A new TLS back-end was contributed recently, using mbedTLS. We will get it in Qt 6 most probably, but requires quite some work (not in a „ready“ shape yet)
** We want to avoid temporary buffers, especially in OpenSSL case (would require something similar to what QDtlsOpenssl does)
New possible features and improvements in QSsl
** Trying to make handshake less rough, allowing the underlying TLS library to send proper alert messages (work is ongoing for OpenSSL, more research needed for other backends)
* We want to avoid temporary buffers, especially in OpenSSL case (would require something similar to what QDtlsOpenssl does)
** New API needed to enable work with session tickets on a server side (somehow provide access to STEK?)
* Trying to make handshake less rough, allowing the underlying TLS library to send proper alert messages (WIP for OpenSSL, more research needed for other backends)
** A better design for QSslSocket
* New API needed to enable work with session tickets on a server side (somehow provide access to STEK?)
*** It's QTcpSocket, with also has 'plainSocket' (which is QTcpSocket itself).
 
*** Probably requires
A better design for QSslSocket
 
* It's QTcpSocket, which also has 'plainSocket' (which is QTcpSocket itself), would be nice to make things more straight.
* Could be similar to QDtls, which is not QUdpSocket at all, but works with QUdpSocket. A lot of work/changes, probably, not Qt 6.
 
QNetworkAccessmanager
 
* Change default redirect policies (work in progress)
* Enable HSTS by default
 
Removing bearer management
 
* There has been complaints about it (crashes, high CPU load - depends on a platform)
* Radio interfaces as bearer are not best option
* Bearer management is a legacy from S60
 
So the proposal:
 
* Remove bearer management
* Add requested features afterwards
* WIP: Connection Monitoring, done (?) for Darwin and Windows.

Revision as of 09:30, 25 November 2019


Qt Network team’s plan of work for Qt 6

Clean up in QSsl

  • Get rid of a stale OpenSSL backend - only 1.1 and following will be supported
  • Completely remove all the code related to (previously deprecated in 5.13) SSL v2 and SSL v3

New TLS backend

  • A new TLS back-end was contributed recently, using mbedTLS. We will get it in Qt 6 most probably, but requires quite some work (not in a „ready“ shape yet)

New possible features and improvements in QSsl

  • We want to avoid temporary buffers, especially in OpenSSL case (would require something similar to what QDtlsOpenssl does)
  • Trying to make handshake less rough, allowing the underlying TLS library to send proper alert messages (WIP for OpenSSL, more research needed for other backends)
  • New API needed to enable work with session tickets on a server side (somehow provide access to STEK?)

A better design for QSslSocket

  • It's QTcpSocket, which also has 'plainSocket' (which is QTcpSocket itself), would be nice to make things more straight.
  • Could be similar to QDtls, which is not QUdpSocket at all, but works with QUdpSocket. A lot of work/changes, probably, not Qt 6.

QNetworkAccessmanager

  • Change default redirect policies (work in progress)
  • Enable HSTS by default

Removing bearer management

  • There has been complaints about it (crashes, high CPU load - depends on a platform)
  • Radio interfaces as bearer are not best option
  • Bearer management is a legacy from S60

So the proposal:

  • Remove bearer management
  • Add requested features afterwards
  • WIP: Connection Monitoring, done (?) for Darwin and Windows.