Re: Missing 'libubus.so' and change of ABI in 19.07.8

2021-11-13 Thread Giovanni Giacobbi

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

2021-11-13 Thread Jo-Philipp Wich
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

2021-11-13 Thread Giovanni Giacobbi
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