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

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel

Reply via email to