[Development] BC/SC in patch releases

Thiago Macieira thiago.macieira at intel.com
Thu Aug 24 21:09:58 CEST 2023


On Thursday, 24 August 2023 05:43:06 PDT Lars Knoll via Development wrote:
> I personally think it’s worthwhile discussing this and maybe
> modifying/easing our policies here to some degree.

Unfortunately, this decision is partially hardcoded in our plugin loading 
mechanism: we only check the major and minor versions when trying to determine 
if a file is "is a plugin".

If we conclude a given file is IsNotAPlugin (because it was compiled with a 
later version of Qt or, with MSVC, if the debug/release mismatch), then the 
metadata of this file is not added to QFactoryLoader. On the other hand, if it 
concludes IsAPlugin, then the metadata is loaded and becomes available for the 
higher layers to make decisions on what functionality to support. For image 
plugins, this may say we support a given image format; for the QPA plugin, it 
may say we support this platform.

But then we may fail to load the plugin. Granted, there may be other reasons 
why this may happen, so it's not an exclusive problem of Qt versions.

Or worse, we succeed in loading the plugin but then crash at runtime. This can 
happen if lazy-binding is allowed. Considering that's insecure (prevents the 
relro functionality), I don't particularly care about this situation. Just 
DTRT and turn off lazy binding.

-- 
Thiago Macieira - thiago.macieira (AT) intel.com
  Cloud Software Architect - Intel DCAI Cloud Engineering
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 5152 bytes
Desc: not available
URL: <http://lists.qt-project.org/pipermail/development/attachments/20230824/efde31e4/attachment-0001.bin>


More information about the Development mailing list