Re: Missing 'libubus.so' and change of ABI in 19.07.8
On 13/11/2021 18:47, Jo-Philipp Wich wrote: But I really can't see the breaking change, could you please point it out for me? struct ubus_client changed its layout. Ok but isn't that affecting only the binary executable 'ubusd'? I don't see 'libubus.so' including 'ubusd.h' even indirectly... Which makes sense as that struct is for managing a server-to-client, while the shared library only manages client-to-server connections? ___ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel
Re: Missing 'libubus.so' and change of ABI in 19.07.8
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
Missing 'libubus.so' and change of ABI in 19.07.8
Greetings. I have two questions about a recent change related to ubus package in 19.07.8. The first question is related to the ABI version change from 20191227 to 20210603. The changeset in the ubus repository the following: git diff 041c9d1..38c7fdd CMakeLists.txt | 4 lua/ubus.c | 5 - ubusd.c| 25 + ubusd.h| 13 ++--- ubusd_main.c | 37 + ubusd_proto.c | 1 + But I really can't see the breaking change, could you please point it out for me? The second question is the change of the library name from 'libubus.so' to 'libubus.so.20210603'. Was this intended? Could we at least add the symlink 'libubus.so'? 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. Thank you for insights and kind regards. ___ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel