{"id":1954,"date":"2010-08-18T00:01:51","date_gmt":"2010-08-17T22:01:51","guid":{"rendered":"http:\/\/daniel.haxx.se\/blog\/?p=1954"},"modified":"2010-08-18T00:01:51","modified_gmt":"2010-08-17T22:01:51","slug":"libssh2-release-again","status":"publish","type":"post","link":"https:\/\/daniel.haxx.se\/blog\/2010\/08\/18\/libssh2-release-again\/","title":{"rendered":"libssh2 release again"},"content":{"rendered":"<p><a href=\"http:\/\/www.libssh2.org\/\"><img loading=\"lazy\" decoding=\"async\" class=\"alignright size-full wp-image-589\" style=\"border: 0pt none; margin: 8px;\" title=\"libssh2\" src=\"http:\/\/daniel.haxx.se\/blog\/wp-content\/uploads\/2009\/03\/logo1-250.jpg\" alt=\"libssh2\" width=\"250\" height=\"61\" srcset=\"https:\/\/daniel.haxx.se\/blog\/wp-content\/uploads\/2009\/03\/logo1-250.jpg 250w, https:\/\/daniel.haxx.se\/blog\/wp-content\/uploads\/2009\/03\/logo1-250-150x36.jpg 150w\" sizes=\"auto, (max-width: 250px) 100vw, 250px\" \/><\/a>We&#8217;ve mostly been fixing bugs and making things internally look better in the <a href=\"http:\/\/www.libssh2.org\/\">libssh2<\/a> source code during the recent months so the new release I just uploaded, called <strong>version 1.2.7<\/strong>, isn&#8217;t really exciting to any particular level for outsiders. Existing users should however be fairly happy as we&#8217;ve addressed a fair bunch of bugs and some of them have been annoying us in the project for a long time.<\/p>\n<p>I&#8217;m convinced this is the best libssh2 release we&#8217;ve ever made.<\/p>\n<p>The list of bug-fixes include these:<\/p>\n<ul>\n<li>Better handling of invalid key files<\/li>\n<li>inputchecks: make lots of API functions check for NULL pointers<\/li>\n<li>libssh2_session_callback_set: extended the man page<\/li>\n<li>SFTP: limit write() to not produce overly large packets<\/li>\n<li>agent: make libssh2_agent_userauth() work blocking properly<\/li>\n<li>_libssh2_userauth_publickey: reject method names longer than the data<\/li>\n<li>channel_free: ignore problems with channel_close()<\/li>\n<li>typedef: make ssize_t get typedef without LIBSSH2_WIN32<\/li>\n<li>_libssh2_wait_socket: poll needs milliseconds<\/li>\n<li>libssh2_wait_socket: reset error code to &#8220;leak&#8221; EAGAIN less<\/li>\n<li>Added include for sys\/select.h to get fd.set on some platforms<\/li>\n<li>session_free: free more data to avoid memory leaks<\/li>\n<li>openssl: make use of the EVP interface<\/li>\n<li>Fix underscore typo for 64-bit printf format specifiers on Windows<\/li>\n<li>Make libssh2_debug() create a correctly terminated string<\/li>\n<li>userauth_hostbased_fromfile: packet length too short<\/li>\n<li>handshake: Compression enabled at the wrong time<\/li>\n<li>Don&#8217;t overflow MD5 server hostkey<\/li>\n<\/ul>\n<p>If you find other bugs or have patches, just bring them all to us!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>We&#8217;ve mostly been fixing bugs and making things internally look better in the libssh2 source code during the recent months so the new release I just uploaded, called version 1.2.7, isn&#8217;t really exciting to any particular level for outsiders. Existing users should however be fairly happy as we&#8217;ve addressed a fair bunch of bugs and &hellip; <a href=\"https:\/\/daniel.haxx.se\/blog\/2010\/08\/18\/libssh2-release-again\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">libssh2 release again<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":5,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[17],"tags":[424,95],"class_list":["post-1954","post","type-post","status-publish","format-standard","hentry","category-libssh2","tag-libssh2","tag-release"],"_links":{"self":[{"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/posts\/1954","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/comments?post=1954"}],"version-history":[{"count":3,"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/posts\/1954\/revisions"}],"predecessor-version":[{"id":1957,"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/posts\/1954\/revisions\/1957"}],"wp:attachment":[{"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/media?parent=1954"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/categories?post=1954"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/tags?post=1954"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}