Missing 'libubus.so' and change of ABI in 19.07.8
Jo-Philipp Wich
jo at mein.io
Sat Nov 13 09:47:12 PST 2021
Hi,
> But I really can't see the breaking change, could you please point it out for me?
struct ubus_client changed its layout.
> The second question is the change of the library name from 'libubus.so' to
> 'libubus.so.20210603'. Was this intended?
Yes, it was intentional. Programs should link against the versioned shared
library at build time.
> Could we at least add the symlink
> 'libubus.so'?
No, as it will break coexistence of different versions of libubus.so. It will
also cause programs linking against the old libubus.so to pick up the new one
with a different `struct ubus_client` memory layout, leading to undefined
behavior and segmentation faults.
> My take is that both of these changes, together with unsharing the ubus
> package, were really unnecessary in a stable branch nearing its end of life.
The changes solve multiple denial of service and invalid memory access issues,
they were important enough to warrant this breaking change.
> Thank you for insights and kind regards.
You can find more details about library ABI versioning in
https://openwrt.org/docs/guide-developer/package-policies#shared_libraries
Kind regards,
Jo
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <http://lists.openwrt.org/pipermail/openwrt-devel/attachments/20211113/41ca5006/attachment-0001.sig>
More information about the openwrt-devel
mailing list