On Mon, Jan 27, 2025 at 10:41:37AM +0100, Matthias Schmidt wrote:
> Hi Theo,
> 
> * Theo Buehler wrote:
> > > The program finishes building and can be installed
> > > 
> > > $ ncspot --version
> > > ncspot 1.2.1
> > > 
> > > But it immediately crashes with a segmentation fault
> > > 
> > > $ gdb ncspot ncspot.core GNU gdb 6.3
> > 
> > old gdb in base is too outdated to deal with modern llvm/C++/Rust/...
> > It's generally better to pkg_add gdb and use egdb instead (doesn't
> > really matter here, though).
> > 
> > This part of your output is one reason:
> > 
> > > Reading symbols from /usr/libexec/ld.so...Error while reading shared
> > > library symbols: Dwarf Error: wrong version in compilation unit header
> > > (is 4, should be 2) [in module /usr/libexec/ld.so] #0
> > 
> > And as I said, it's due to missing landing pads in the s2n assembly:
> > 
> > > 0x00000d254ec7c563 in curve25519_x25519base_byte () from
> > 
> > (this is likely during the key exchange in a TLS connection to spotify)
> > 
> > The definition of this symbol is at the link below and you can see that
> > there are no _CET_ENDBR or similar. The way the S2N_BN_SYMBOL macro is
> > formed, there's no easy way to hook into there, unfortunately, so it's
> > another whack-a-mole set of patches needed. I'll take a closer look when
> > I get a chance.
> 
> Do you already had a chance to look at it?

No, but lucas sent patches to aws-lc:

https://github.com/awslabs/s2n-bignum/pull/173

I didn't look further. Unfortunately their build system isn't the most
pleasant to use.

I don't use spotify and ncspot is the only port affected to my knowledge,
so it's very low prio for me.

> 
> ncspot is the easiest way to listen to Spotify on OpenBSD and since
> Spotify changed their login policy one can no longer use it.  A rebuild
> from scratch also doesn't word due to the above mentioned issues.
> 
> Cheers
> 
>       Matthias

Reply via email to