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
signature.asc
Description: OpenPGP digital signature
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel