{"id":2589,"date":"2009-04-13T21:58:11","date_gmt":"2009-04-13T19:58:11","guid":{"rendered":"http:\/\/vasil.ludost.net\/blog\/?p=2589"},"modified":"2009-04-13T21:58:11","modified_gmt":"2009-04-13T19:58:11","slug":"2009-04-13-libssl-2","status":"publish","type":"post","link":"https:\/\/vasil.ludost.net\/blog\/?p=2589","title":{"rendered":"2009-04-13 libssl"},"content":{"rendered":"<p>Something I&#8217;ve hit my head in repeatedly &#8211; libssl:<\/p>\n<p>This lovely lib, main part of openssl, sucks (or, most programmers can&#8217;t use it right). Example &#8211; you run php with curl (which uses SSL), and then add php-pgsql to some database (which comes configured with ssl=true). The result is that php coredumps like crazy. Solution (the easiest for the moment) &#8211; disable ssl of the DB (there&#8217;s not a lot of use for it anyway).<br \/>\nI&#8217;ve seen thousands of variations of this issue, like with OpenSIPS, TLS and their module for xcap client, which uses curl, which in turn comes with openssl version (in the debian-based stuff there&#8217;s one with gnutls), or something that&#8217;s statically linked with openssl, and which in some way links dynamically something else that in turn links some local openssl. Boom. It&#8217;s extremely hard to find the issue with tools like strace, ltrace didn&#8217;t help a lot (and if you&#8217;ve ever tried ltracing php, you&#8217;d know how ugly that is), and the coredumps are pretty bad to decode. I think it was dumb luck that helped me the first time.<br \/>\nConclusion &#8211; be VERY careful with libss, avoid dynamic modules that use it, and &#8230; well, be careful. There seems to be only one other replacement for openssl &#8211; gnutls &#8211; and it doesn&#8217;t seem to be trusted too much.<\/p>\n<p>(I personally don&#8217;t like libssl. Horrible interface, weird ideas, and the code dumps are almost always fucked up.)<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Something I&#8217;ve hit my head in repeatedly &#8211; libssl: This lovely lib, main part of openssl, sucks (or, most programmers can&#8217;t use it right). Example &#8211; you run php with curl (which uses SSL), and then add php-pgsql to some database (which comes configured with ssl=true). The result is that php coredumps like crazy. Solution [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-2589","post","type-post","status-publish","format-standard","hentry","category-general"],"_links":{"self":[{"href":"https:\/\/vasil.ludost.net\/blog\/index.php?rest_route=\/wp\/v2\/posts\/2589","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vasil.ludost.net\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/vasil.ludost.net\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/vasil.ludost.net\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/vasil.ludost.net\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2589"}],"version-history":[{"count":0,"href":"https:\/\/vasil.ludost.net\/blog\/index.php?rest_route=\/wp\/v2\/posts\/2589\/revisions"}],"wp:attachment":[{"href":"https:\/\/vasil.ludost.net\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2589"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vasil.ludost.net\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2589"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vasil.ludost.net\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2589"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}