libndr 4.0 issues.

Andrew Bartlett abartlet at samba.org
Mon Jan 29 23:38:40 UTC 2024


On Tue, 2024-01-30 at 01:25 +0300, Michael Tokarev via samba wrote:
> I uploaded 4.20.0~rc1 packages for debian bookworm and ubuntu jammy
> to
> the usual location, 
> http://www.corpit.ru/mjt/packages/samba/
> , together
> with debian experimental.  This is just a first build, so handle with
> extra care.
> 
> Since samba 4.20 changed libndr interface in an incompatible way
> breaking
> ABI, this update of samba-libs *will* break sssd and freeipa if used
> together with samba, - there's no solution for this problem so
> far.  I
> do not plan to rebuild dependent packages (including for debian
> backports)
> just to make samba 4.20+ installable on older debian/ubuntu systems
> together
> with sssd and/or freeipa.
> 
> The only fix for this breakage (which was trivial to prevent in the
> first
> place)

Can I get some detail on the trivial steps that could have avoided
this?   

The reason we make a release candidate, and the reason we so
greatly appricaite your efforts in packaging it, is to see how ideas
that seem reasonable in development impact on the real world.

Note that the libndr flags that are now 64 bit are included in
the ndr_pull and ndr_push structures, not just in the function prototypes, so I don't think symbol versions or munging etc would do the trick.  

But your feedback is valuable: we didn't end up needing the 33rd flag
quite yet.  The work was merged into master to ensure that the idea
landed while it was all ready (rather than needing to be re-worked
after being dragged back out of the attic).

So we could include a patch in Samba 4.20.0rc2 to remove the 4.0.0 ABI
and instead have a 3.0.2 for this release series, and punt the problem
away for 6 months.  I would note that this still creates some of the 'non-linear ABI version' issues you have noticed in LDB, but perhaps if we plan properly we can sort that as well. 

Anyway, please let us know your thoughts.  We know we don't to this
public library thing very well, and the experience of those who live in
this world more broadly is most valuable. 

Andrew Bartlett

-- 
Andrew Bartlett (he/him)       https://samba.org/~abartlet/
Samba Team Member (since 2001) https://samba.org
Samba Team Lead                https://catalyst.net.nz/services/samba
Catalyst.Net Ltd

Proudly developing Samba for Catalyst.Net Ltd - a Catalyst IT group
company

Samba Development and Support: https://catalyst.net.nz/services/samba

Catalyst IT - Expert Open Source Solutions




More information about the samba-technical mailing list