Profile

unixronin: Galen the technomage, from Babylon 5: Crusade (Default)
Unixronin

December 2012

S M T W T F S
      1
2345678
9101112131415
16171819202122
23242526272829
3031     

Most Popular Tags

Expand Cut Tags

No cut tags
Thursday, February 5th, 2009 09:50 pm

Well, actually, it's not Curses.pm that's the problem.

As previously mentioned, I've been working on adding client-to-client encryption into ICBM, my threaded Perl ICB client.  I have session keys working in ICBM now, and needed to implement a way of reasonably securely exchanging session keys, which calls for Crypt::RSA.  So far, so good.

Crypt::RSA requires seven other modules for support.  OK, I can install those, though the module count is getting higher than I like.

One of those modules is Math::Pari, a Perl interface to the fast Pari math library.  OK, no problem.

Except that it is a problem, because Math::Pari in a multi-threaded Perl application, even if never used, causes SEGVs on the first thread termination.  Which means unclean exit and the app never gets to clean up after itself.  Apparently Math::Pari is very much not thread-safe.

Curses.  Foiled again...

Tags:
Friday, February 6th, 2009 04:12 am (UTC)
I'd suggest looking at the other crypto options available in Perl, esp the interfaces to OpenSSL, rather than the hell of Pari. It gets worse too, Pari itself has moved on, but the perl bindings while building fine, completely fail to work with the newer versions of Pari.
Friday, February 6th, 2009 01:57 pm (UTC)
This is one reason I tend to avoid perl whenever possible...there's some great stuff out there, but it also serves as a collection point for ill-behaved sstuff like this.

I just decided to avoid the frustration. :)