Topic: Pianobar & TLS Issues
I have cross compiled Pianobar for the silvermoon platform and cannot get it to authenticate with Pandora's servers properly.
Unfortunately googling my current issue hasn't revealed a solution because the issue I'm having has the same failure scenario as an extremely common problem that is only tangentially related.
When running, I receive the common "Network error: TLS handshake failed." message that is typically associated with an invalid tls_fingerprint setting in the config file. The typical solution for this is to run a script in pianobar's contrib directory that grabs the proper fingerprint via openssl commands. This doesn't work for the silvermoon platform.
If I run the openssl commands to get the latest fingerprint on my development machine, I get 2D0AFDAFA16F4B5C0A43F3CB1D4752F9535507C0, however if I run the same command on the chumby (which has openssl binaries) I get BFB9164C8EB0BF521430686D5933CE7C, which is incorrect. Neither work correctly in getting pianobar to connect successfully.
The difference in output from running the "tls_fingerprint.sh" script is in the following command:
openssl x509 -noout -fingerprint
When run from the two machines on the same input, the output is different.
I cross compiled a ton of libraries to get pianobar running and the following shared libraries are loaded from my build:
I'm thinking it's NOT an issue with my compiled bits and pieces because of the fact that openssl on the silvermoon gives me an invalid fingerprint.
There are still a couple that get loaded from the default rootfs that are my biggest suspects for the problems I'm experiencing:
strace also shows me "/etc/resolv.conf" being opened when running pianobar too, but I don't see how that would cause this issue.
Does anybody know of any potential problems with the openssl libraries on the silvermoon devices?
Should I re-compile the nss/nsl libraries as well?
Could it be math (libm) or libc messing things up here?
Could it be my configuration of libgcrypt or something causing this?