From libssh2-devel-bounces@cool.haxx.se  Wed Feb  5 09:59:36 2014
Return-Path: <libssh2-devel-bounces@cool.haxx.se>
Received: from www.haxx.se (list@localhost.localdomain [127.0.0.1])
	by giant.haxx.se (8.14.4/8.14.4/Debian-4.1) with ESMTP id s158xF8C016203;
	Wed, 5 Feb 2014 09:59:32 +0100
Received: from smtp.smtpout.orange.fr (smtp09.smtpout.orange.fr
 [80.12.242.131])
 by giant.haxx.se (8.14.4/8.14.4/Debian-4.1) with ESMTP id s158xESS016187
 for <libssh2-devel@cool.haxx.se>; Wed, 5 Feb 2014 09:59:14 +0100
Received: from softalia.fr ([80.13.185.125]) by mwinf5d44 with ME
 id NYz91n00G2ilAzU03Yz9CL; Wed, 05 Feb 2014 09:59:10 +0100
Received: from [192.168.93.59] (Ted.softalia.lan [192.168.93.59])
 (authenticated bits=0)
 by softalia.fr (8.13.0/8.13.0/ZCL Linux Z1 8.13.5-2.02) with ESMTP id
 s158x7gV024693
 for <libssh2-devel@cool.haxx.se>; Wed, 5 Feb 2014 09:59:07 +0100
X-Virus-Status: Clean
X-Virus-Scanned: clamav-milter 0.97.8 at z1.softalia.lan
Message-ID: <52F1FD59.1010708@softalia.fr>
Date: Wed, 05 Feb 2014 09:59:05 +0100
From: Eric Genevier <eric@softalia.fr>
User-Agent: Mozilla/5.0 (Windows NT 6.1;
 rv:24.0) Gecko/20100101 Thunderbird/24.2.0
MIME-Version: 1.0
To: libssh2-devel@cool.haxx.se
Subject: libssh2 port forwarding in multithreaded environment
X-Archived: on z1.softalia.lan
X-BeenThere: libssh2-devel@cool.haxx.se
X-Mailman-Version: 2.1.16
Precedence: list
Reply-To: libssh2 development <libssh2-devel@cool.haxx.se>
List-Id: libssh2 development <libssh2-devel.cool.haxx.se>
List-Unsubscribe: <http://cool.haxx.se/cgi-bin/mailman/options/libssh2-devel>, 
 <mailto:libssh2-devel-request@cool.haxx.se?subject=unsubscribe>
List-Archive: <http://cool.haxx.se/pipermail/libssh2-devel/>
List-Post: <mailto:libssh2-devel@cool.haxx.se>
List-Help: <mailto:libssh2-devel-request@cool.haxx.se?subject=help>
List-Subscribe: <http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel>, 
 <mailto:libssh2-devel-request@cool.haxx.se?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Errors-To: libssh2-devel-bounces@cool.haxx.se
Sender: "libssh2-devel" <libssh2-devel-bounces@cool.haxx.se>

Hi

I am using libssh2 for port forwarding, based on the sample 
direct_tcpip.c. I have implemented it as a standard server, where a 
thread opens the forwarded port for listening and on connection launches 
another thread to deal with it (It is important for http requests where 
many requests are made simultaneously) I got many crashes inside 
libssh2, even after implementing CRYPTO_set_locking_callback, and after 
intense googling, it seemed I had to implement it so that I had a unique 
valid session per thread. It now works beautifully.

But I have hit another problem, each thread having its own session means 
that each thread needs to authenticate with the ssh server 
independently, and if several requests are made quickly, then some get 
rejected by the server's firewall for suspected DOS attack. (I have a 
thread pool of 4 threads, 4 requests within the same couple of seconds 
and I get rejected).

Now, have I missed something? Could one 'main' session be used to 
authenticate and then be cloned for each subsequent thread? Any pointer 
greatly appreciated

Thanks

Eric
_______________________________________________
libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel

From libssh2-devel-bounces@cool.haxx.se  Wed Feb  5 16:39:33 2014
Return-Path: <libssh2-devel-bounces@cool.haxx.se>
Received: from www.haxx.se (list@localhost.localdomain [127.0.0.1])
	by giant.haxx.se (8.14.4/8.14.4/Debian-4.1) with ESMTP id s15Fc9DV000906;
	Wed, 5 Feb 2014 16:38:27 +0100
Received: from foo.stuge.se (qmailr@foo.stuge.se [212.116.89.98])
 by giant.haxx.se (8.14.4/8.14.4/Debian-4.1) with ESMTP id s15Fc7Zi000887
 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT)
 for <libssh2-devel@cool.haxx.se>; Wed, 5 Feb 2014 16:38:07 +0100
Received: (qmail 16958 invoked by uid 501); 5 Feb 2014 15:38:08 -0000
Message-ID: <20140205153808.16957.qmail@stuge.se>
Date: Wed, 5 Feb 2014 16:38:08 +0100
From: Peter Stuge <peter@stuge.se>
To: libssh2-devel@cool.haxx.se
Subject: Re: libssh2 port forwarding in multithreaded environment
Mail-Followup-To: libssh2-devel@cool.haxx.se
References: <52F1FD59.1010708@softalia.fr>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <52F1FD59.1010708@softalia.fr>
X-BeenThere: libssh2-devel@cool.haxx.se
X-Mailman-Version: 2.1.16
Precedence: list
Reply-To: libssh2 development <libssh2-devel@cool.haxx.se>
List-Id: libssh2 development <libssh2-devel.cool.haxx.se>
List-Unsubscribe: <http://cool.haxx.se/cgi-bin/mailman/options/libssh2-devel>, 
 <mailto:libssh2-devel-request@cool.haxx.se?subject=unsubscribe>
List-Archive: <http://cool.haxx.se/pipermail/libssh2-devel/>
List-Post: <mailto:libssh2-devel@cool.haxx.se>
List-Help: <mailto:libssh2-devel-request@cool.haxx.se?subject=help>
List-Subscribe: <http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel>, 
 <mailto:libssh2-devel-request@cool.haxx.se?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Errors-To: libssh2-devel-bounces@cool.haxx.se
Sender: "libssh2-devel" <libssh2-devel-bounces@cool.haxx.se>

Eric Genevier wrote:
> Could one 'main' session be used to authenticate and then be cloned
> for each subsequent thread? Any pointer greatly appreciated

No, sessions can not be cloned.

Use a single session and make sure that you protect it with a mutex.


//Peter
_______________________________________________
libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel

From libssh2-devel-bounces@cool.haxx.se  Thu Feb  6 23:49:22 2014
Return-Path: <libssh2-devel-bounces@cool.haxx.se>
Received: from www.haxx.se (list@localhost.localdomain [127.0.0.1])
	by giant.haxx.se (8.14.4/8.14.4/Debian-4.1) with ESMTP id s16MmsP3031325;
	Thu, 6 Feb 2014 23:49:16 +0100
Received: from colibri.localdomain (ppp-93-104-52-250.dynamic.mnet-online.de
 [93.104.52.250])
 by giant.haxx.se (8.14.4/8.14.4/Debian-4.1) with ESMTP id s16MmqIC031319
 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT)
 for <libssh2-devel@cool.haxx.se>; Thu, 6 Feb 2014 23:48:53 +0100
Received: by colibri.localdomain (Postfix, from userid 501)
 id 79EB17B6F3; Thu,  6 Feb 2014 23:48:53 +0100 (CET)
Date: Thu, 6 Feb 2014 23:48:53 +0100
From: Dan Fandrich <dan@coneharvesters.com>
To: libssh2 development <libssh2-devel@cool.haxx.se>
Subject: Memory leaks in out-of-memory conditions
Message-ID: <20140206224853.GA31754@coneharvesters.com>
Mail-Followup-To: libssh2 development <libssh2-devel@cool.haxx.se>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="HlL+5n6rz5pIUxbD"
Content-Disposition: inline
User-Agent: Mutt/1.5.21 (2010-09-15)
X-BeenThere: libssh2-devel@cool.haxx.se
X-Mailman-Version: 2.1.16
Precedence: list
Reply-To: libssh2 development <libssh2-devel@cool.haxx.se>
List-Id: libssh2 development <libssh2-devel.cool.haxx.se>
List-Unsubscribe: <http://cool.haxx.se/cgi-bin/mailman/options/libssh2-devel>, 
 <mailto:libssh2-devel-request@cool.haxx.se?subject=unsubscribe>
List-Archive: <http://cool.haxx.se/pipermail/libssh2-devel/>
List-Post: <mailto:libssh2-devel@cool.haxx.se>
List-Help: <mailto:libssh2-devel-request@cool.haxx.se?subject=help>
List-Subscribe: <http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel>, 
 <mailto:libssh2-devel-request@cool.haxx.se?subject=subscribe>
Errors-To: libssh2-devel-bounces@cool.haxx.se
Sender: "libssh2-devel" <libssh2-devel-bounces@cool.haxx.se>


--HlL+5n6rz5pIUxbD
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline

I've discovered a few memory leaks in libssh2, while running the curl torture
tests. I'm attaching a patch for review, as I'm not completely certain about
some of the error paths.

The first is in _libssh2_packet_add. This error path does not satisfy the
function's documented constraint:
 
 * The input pointer 'data' is pointing to allocated data that this function
 * is asked to deal with so on failure OR success, it must be freed fine.

i.e. it never gets freed.  However, my fix for this completely drops the data
buffer. I suspect that this could result in a protocol violation or data if
libssh2 would continue to operate. If so, then it should probably be documented
that upon receipt of a LIBSSH2_ERROR_ALLOC error, the application should
immediately clean up the session. It's likely there are other OOM error paths
where this could also be a problem.

The second error results when a session is torn down prematurely, while a
transport payload is fully processed. There is currently no path to free this
buffer when the session is torn down, so I added one. 

The third error isn't an OOM problem, but a potentially more serious 
use-after-free one. There seems to be a path through _libssh2_transport_read
where this could occur. If the call to fullpacket results in
LIBSSH2_ERROR_EAGAIN, it must have come from _libssh2_packet_add, which as
previously discussed, always frees (or takes ownership of) its data argument.
However, the path ending in line 578 of transport.c does not reset total_num,
which is used to indicate whether payload has been allocated or not. That
means that the buffer was added to the brigade, but could still be written
into in future calls to _libssh2_transport_read.  What I'm not certain about is
whether or not fullpacket() guarantees freeing or taking ownership of
p->payload. There is a path through fullpacket() where that could occur; I just
don't know if it could logically occur. If it could, then moving the
total_num=0 line up as I have isn't quite right.

>>> Dan

--HlL+5n6rz5pIUxbD
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: attachment; filename="0001-Fixed-a-few-memory-leaks-in-out-of-memory-paths.patch"
Content-Transfer-Encoding: quoted-printable

=46rom 05c51895b55169c68bc0191c94d3769d09de5504 Mon Sep 17 00:00:00 2001
=46rom: Dan Fandrich <dan@coneharvesters.com>
Date: Thu, 6 Feb 2014 23:10:53 +0100
Subject: [PATCH] Fixed a few memory leaks in out-of-memory paths

Also fixed a potential use-after-free.
---
 src/packet.c    | 1 +
 src/session.c   | 5 +++++
 src/transport.c | 3 +--
 3 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/src/packet.c b/src/packet.c
index 47bbf2b..9d937e3 100644
--- a/src/packet.c
+++ b/src/packet.c
@@ -967,6 +967,7 @@ _libssh2_packet_add(LIBSSH2_SESSION * session, unsigned=
 char *data,
         if (!packetp) {
             _libssh2_debug(session, LIBSSH2_ERROR_ALLOC,
                            "memory for packet");
+            LIBSSH2_FREE(session, data);
             session->packAdd_state =3D libssh2_NB_state_idle;
             return LIBSSH2_ERROR_ALLOC;
         }
diff --git a/src/session.c b/src/session.c
index 9838d2b..3a52fd4 100644
--- a/src/session.c
+++ b/src/session.c
@@ -1017,6 +1017,11 @@ session_free(LIBSSH2_SESSION *session)
         LIBSSH2_FREE(session, session->scpSend_command);
     }
=20
+    /* Free payload buffer */
+    if (session->packet.total_num) {
+        LIBSSH2_FREE(session, session->packet.payload);
+    }
+
     /* Cleanup all remaining packets */
     while ((pkg =3D _libssh2_list_first(&session->packets))) {
         packets_left++;
diff --git a/src/transport.c b/src/transport.c
index b4ec037..8ba34e1 100644
--- a/src/transport.c
+++ b/src/transport.c
@@ -559,6 +559,7 @@ int _libssh2_transport_read(LIBSSH2_SESSION * session)
             /* we have a full packet */
           libssh2_transport_read_point1:
             rc =3D fullpacket(session, encrypted);
+            p->total_num =3D 0;   /* no packet buffer available */
             if (rc =3D=3D LIBSSH2_ERROR_EAGAIN) {
=20
                 if (session->packAdd_state !=3D libssh2_NB_state_idle)
@@ -578,8 +579,6 @@ int _libssh2_transport_read(LIBSSH2_SESSION * session)
                 return rc;
             }
=20
-            p->total_num =3D 0;   /* no packet buffer available */
-
             return rc;
         }
     } while (1);                /* loop */
--=20
1.8.1.5


--HlL+5n6rz5pIUxbD
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel

--HlL+5n6rz5pIUxbD--

From libssh2-devel-bounces@cool.haxx.se  Tue Feb 11 10:48:00 2014
Return-Path: <libssh2-devel-bounces@cool.haxx.se>
Received: from www.haxx.se (list@localhost.localdomain [127.0.0.1])
	by giant.haxx.se (8.14.4/8.14.4/Debian-4.1) with ESMTP id s1B9lRQl001362;
	Tue, 11 Feb 2014 10:47:53 +0100
Received: from earth.stuge.se (earth.stuge.se [212.116.89.126])
 by giant.haxx.se (8.14.4/8.14.4/Debian-4.1) with ESMTP id s1B9lLNw001301
 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT)
 for <libssh2-devel@cool.haxx.se>; Tue, 11 Feb 2014 10:47:21 +0100
Received: (qmail 29180 invoked from network); 11 Feb 2014 09:39:19 -0000
Received: from unknown (HELO earth.stuge.se) (127.0.0.1)
 by localhost with SMTP; 11 Feb 2014 09:39:19 -0000
MIME-Version: 1.0
From: "libssh2 Trac" <trac@libssh2.stuge.se>
X-Trac-Version: 1.0dev
Precedence: bulk
Auto-Submitted: auto-generated
X-Mailer: Trac 1.0dev, by Edgewall Software
To: wang4585_001@163.com
X-Trac-Project: libssh2
Date: Tue, 11 Feb 2014 09:39:19 -0000
X-URL: https://trac.libssh2.org/
Subject: [libssh2] #285: multithread calls libssh2.a error
X-Trac-Ticket-URL: https://trac.libssh2.org/ticket/285
Message-ID: <047.96e14ff308d3aef6124dae1272948e70@libssh2.stuge.se>
X-Trac-Ticket-ID: 285
X-MIME-Autoconverted: from base64 to 8bit by giant.haxx.se id s1B9lLNw001301
Cc: libssh2-devel@cool.haxx.se
X-BeenThere: libssh2-devel@cool.haxx.se
X-Mailman-Version: 2.1.16
Reply-To: trac@libssh2.stuge.se,
        libssh2 development <libssh2-devel@cool.haxx.se>
List-Id: libssh2 development <libssh2-devel.cool.haxx.se>
List-Unsubscribe: <http://cool.haxx.se/cgi-bin/mailman/options/libssh2-devel>, 
 <mailto:libssh2-devel-request@cool.haxx.se?subject=unsubscribe>
List-Archive: <http://cool.haxx.se/pipermail/libssh2-devel/>
List-Post: <mailto:libssh2-devel@cool.haxx.se>
List-Help: <mailto:libssh2-devel-request@cool.haxx.se?subject=help>
List-Subscribe: <http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel>, 
 <mailto:libssh2-devel-request@cool.haxx.se?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Errors-To: libssh2-devel-bounces@cool.haxx.se
Sender: "libssh2-devel" <libssh2-devel-bounces@cool.haxx.se>

#285: multithread calls libssh2.a error
-----------------------------------------------------+--------------------
 Reporter:  beiguan001                               |       Owner:
     Type:  defect                                   |      Status:  new
 Priority:  high                                     |   Milestone:  1.4.3
Component:  API                                      |     Version:  1.4.2
 Keywords:  multi-thread  libssh2_session_handshake  |  Blocked By:
   Blocks:                                           |
-----------------------------------------------------+--------------------
 When using multiple threads, in libssh2_session_handshake abnormal.
 If you do not multi-threaded, no problem.
 How to use multi-thread calls libssh2?



 //////////// main cpp//////////

 void* work_thread(void* arg)
 {

         string ipaddr = "132.31.0.13";
         string user = "user";
         string passwd = "pass";
         int port = 22;

         Ssh2Client ssh3;
     ssh3.setHost(ipaddr.c_str(), user.c_str(), passwd.c_str(), port);
     ssh3.setTimeOut(10000L);//10s

     if(ssh3.ssh2_connect() < 0)
         cout << "Error : connect error!" << endl;

         if(ssh3.ssh2_open_session() < 0)
         {
         cout << "Error : ssh2_open_session error!" << endl;
         exit(0);
     }

 }

 int main(int argc,char* argv[])
 {
         int nthread = 1;
         pthread_t tid;

         for(int i=0;i<nthread;i++)
         {
           pthread_create(&tid,NULL,work_thread,NULL);
         }

 }


 //////////////////////Ssh2Client.cpp
 void Ssh2Client::setHost(const char *host, const char *user, const char
 *passwd, int pt)
 {
         hostname = host;
         username = user;
         password = passwd;
         port = pt;
 }

 int Ssh2Client::ssh2_connect()
 {
         int rc = 0;
         unsigned long hostaddr;
         struct sockaddr_in sin;
 #ifdef WIN32
     WSADATA wsadata;
     WSAStartup(MAKEWORD(2,0), &wsadata);
 #endif

     rc = libssh2_init(0);
     if (rc != 0)
     {

                 sprintf(errmsg, "libssh2 initialization failed (%d)\n",
 rc);
         return -1;
     }

     thread_setup();

     hostaddr = inet_addr(hostname);
     sock = socket(AF_INET, SOCK_STREAM, 0);

     sin.sin_family = AF_INET;
     sin.sin_port = htons(port);
     sin.sin_addr.s_addr = hostaddr;
     if (connect(sock, (struct sockaddr*)(&sin), sizeof(struct
 sockaddr_in)) != 0)
     {

         sprintf(errmsg, "failed to connect!\n");
         return -1;
     }
     return 0;
 }


 int Ssh2Client::ssh2_open_session()
 {
         int rc = 0;
   size_t len;
   LIBSSH2_KNOWNHOSTS *nh;
   int type;
         const char *fingerprint;

             /* Create a session instance */
     session = libssh2_session_init();
     if (!session)
         return -1;

 //              libssh2_session_set_timeout(session, timeout);

     /* tell libssh2 we want it all done non-blocking */
 //    libssh2_session_set_blocking(session, block);

     /* ... start it up. This will trade welcome banners, exchange keys,
      * and setup crypto, compression, and MAC layers
      */
     while ((rc = libssh2_session_handshake(session, sock)) ==
            LIBSSH2_ERROR_EAGAIN);
     if (rc)
     {
         printf("File = %s, Line = %d, rc = %d\n", __FILE__, __LINE__, rc);
         sprintf(errmsg, "Failure establishing SSH session: %d\n", rc);
         return -1;
     }

     nh = libssh2_knownhost_init(session);
     if(!nh) {
         /* eeek, do cleanup here */
         return -2;
     }

     /* read all hosts from here */
     libssh2_knownhost_readfile(nh, "known_hosts",
                                LIBSSH2_KNOWNHOST_FILE_OPENSSH);

     /* store all known hosts to here */
     libssh2_knownhost_writefile(nh, "dumpfile",
                                 LIBSSH2_KNOWNHOST_FILE_OPENSSH);

     fingerprint = libssh2_session_hostkey(session, &len, &type);
     if(fingerprint) {
         struct libssh2_knownhost *host;
 #if LIBSSH2_VERSION_NUM >= 0x010206
         /* introduced in 1.2.6 */
         int check = libssh2_knownhost_checkp(nh, hostname, 22,
                                              fingerprint, len,
                                              LIBSSH2_KNOWNHOST_TYPE_PLAIN|
                                              LIBSSH2_KNOWNHOST_KEYENC_RAW,
                                              &host);
 #else
         /* 1.2.5 or older */
         int check = libssh2_knownhost_check(nh, hostname,
                                             fingerprint, len,
                                             LIBSSH2_KNOWNHOST_TYPE_PLAIN|
                                             LIBSSH2_KNOWNHOST_KEYENC_RAW,
                                             &host);
 #endif

         sprintf(errmsg, "Host check: %d, key: %s\n", check,
                 (check <= LIBSSH2_KNOWNHOST_CHECK_MISMATCH)?
                 host->key:"<none>");

         /*****
          * At this point, we could verify that 'check' tells us the key is
          * fine or bail out.
          *****/
     }
     else {
         /* eeek, do cleanup here */
         return -3;
     }
     libssh2_knownhost_free(nh);

     if ( strlen(password) != 0 ) {
         /* We could authenticate via password */
         while ((rc = libssh2_userauth_password(session, username,
 password)) ==
                LIBSSH2_ERROR_EAGAIN);
         if (rc)
         {

             sprintf(errmsg, "Authentication by password failed.\n");
             ssh2_free_session();
             ssh2_close();
             return -1;
         }
     }
     else {
         /* Or by public key */
         char *home = getenv("HOME");
         if(home == NULL)
         {

                 sprintf(errmsg,"HOME not defined\n");
                 return -1;
         }
         char path1[1024];
         char path2[1024];
         strcat(path1,home);
         strcat(path1,"/.ssh/id_rsa.pub");
         strcat(path2,home);
         strcat(path2,"/.ssh/id_rsa");
         free(home);
         while ((rc =
 libssh2_userauth_publickey_fromfile(session,username,path1,path2,password))
 ==
                LIBSSH2_ERROR_EAGAIN);
         if (rc)
         {

             sprintf(errmsg, "\tAuthentication by public key failed\n");
             ssh2_free_session();
             ssh2_close();
             return -1;
         }
     }

                 return 0;
 }





 ///////////////////////////////////////////////////////

-- 
Ticket URL: <https://trac.libssh2.org/ticket/285>
libssh2 <https://trac.libssh2.org/>
C library for writing portable SSH2 clients

_______________________________________________
libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel

From libssh2-devel-bounces@cool.haxx.se  Tue Feb 11 11:52:32 2014
Return-Path: <libssh2-devel-bounces@cool.haxx.se>
Received: from www.haxx.se (list@localhost.localdomain [127.0.0.1])
	by giant.haxx.se (8.14.4/8.14.4/Debian-4.1) with ESMTP id s1BAqJLU032515;
	Tue, 11 Feb 2014 11:52:30 +0100
Received: from mail-vb0-x234.google.com (mail-vb0-x234.google.com
 [IPv6:2607:f8b0:400c:c02::234])
 by giant.haxx.se (8.14.4/8.14.4/Debian-4.1) with ESMTP id s1BAeuJ2005352
 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=NOT)
 for <libssh2-devel@cool.haxx.se>; Tue, 11 Feb 2014 11:40:57 +0100
Received: by mail-vb0-f52.google.com with SMTP id p14so5623386vbm.39
 for <libssh2-devel@cool.haxx.se>; Tue, 11 Feb 2014 02:40:52 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
 h=mime-version:date:message-id:subject:from:to:content-type;
 bh=jYo87ep60JgoRSBR9QoFgTJwF6NKHVtFWCag2BKFvpU=;
 b=MIGeXo2J1sTUCNiUgI5GE1wX2+U0ia9C7vy11t7L59Vbi48mbuMEQwDcsTrfSCDkw1
 CzMjNzzLtHzv+s37SFB6vMiLvkx7i9gDDE9fASoo95Xs3YHOlNLk5sJanrUIcHQlMUvT
 JuyB5Ft2IRpUhuh6812qAFPQDENWc8bNZCW3Y7NNXTz64Rb0K2zHw4zV0zZpIYOrUMFt
 rPn2aTHJ0nIKnbps2QmgioG5DFgXW0RKxK/fbtgjqsxyrj1Sc8I0oH9rBdkQqx+J9RQl
 bAtZePZWlT5u3dMExfdPxBLOcApgAjaPXpVopNEnJ9a1QTMgZ6d6JkmsVHau8nb8AIPD
 JQ8Q==
MIME-Version: 1.0
X-Received: by 10.221.66.73 with SMTP id xp9mr716702vcb.27.1392115252050; Tue,
 11 Feb 2014 02:40:52 -0800 (PST)
Received: by 10.58.44.202 with HTTP; Tue, 11 Feb 2014 02:40:51 -0800 (PST)
Date: Tue, 11 Feb 2014 11:40:51 +0100
Message-ID: <CALfKU6Mw-3AfY-1arxh_9=EA9wZmC5grJEj2GwSmX+bLw6=3pw@mail.gmail.com>
Subject: LIBSSH2_ERROR_TIMEOUT
From: vicent roca daniel <saptah@gmail.com>
To: libssh2-devel@cool.haxx.se
X-BeenThere: libssh2-devel@cool.haxx.se
X-Mailman-Version: 2.1.16
Precedence: list
Reply-To: libssh2 development <libssh2-devel@cool.haxx.se>
List-Id: libssh2 development <libssh2-devel.cool.haxx.se>
List-Unsubscribe: <http://cool.haxx.se/cgi-bin/mailman/options/libssh2-devel>, 
 <mailto:libssh2-devel-request@cool.haxx.se?subject=unsubscribe>
List-Archive: <http://cool.haxx.se/pipermail/libssh2-devel/>
List-Post: <mailto:libssh2-devel@cool.haxx.se>
List-Help: <mailto:libssh2-devel-request@cool.haxx.se?subject=help>
List-Subscribe: <http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel>, 
 <mailto:libssh2-devel-request@cool.haxx.se?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============0960916292=="
Errors-To: libssh2-devel-bounces@cool.haxx.se
Sender: "libssh2-devel" <libssh2-devel-bounces@cool.haxx.se>

--===============0960916292==
Content-Type: multipart/alternative; boundary=001a113642e615bfe204f21f172c

--001a113642e615bfe204f21f172c
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

Hi guys,
I'm developing a project witch a little linux device, connects to other
devices running Openwrt via SSH.

It works pretty well, but some times, I get an error LIBSSH2_ERROR_TIMEOUT

I don't think the problem is timeout related, because the remote device is
most of the time idle, and the connectivity is good. =BFwhat else could
trigger this error??

Thanks! :)

--001a113642e615bfe204f21f172c
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div><div><div>Hi guys,<br></div>I&#39;m developing a proj=
ect witch a little linux device, connects to other devices running Openwrt =
via SSH.<br><br></div>It works pretty well, but some times, I get an error =
<span>LIBSSH2_ERROR_TIMEOUT<br>


<br></span></div><span>I don&#39;t think the problem is timeout related, be=
cause the remote device is most of the time idle, and the connectivity is g=
ood. =BFwhat else could trigger this error??<br><br>Thanks! :)<br> </span><=
/div>

--001a113642e615bfe204f21f172c--

--===============0960916292==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel

--===============0960916292==--

From libssh2-devel-bounces@cool.haxx.se  Tue Feb 11 11:54:30 2014
Return-Path: <libssh2-devel-bounces@cool.haxx.se>
Received: from www.haxx.se (list@localhost.localdomain [127.0.0.1])
	by giant.haxx.se (8.14.4/8.14.4/Debian-4.1) with ESMTP id s1BAsN1m002176;
	Tue, 11 Feb 2014 11:54:29 +0100
Received: from mail-vb0-x22e.google.com (mail-vb0-x22e.google.com
 [IPv6:2607:f8b0:400c:c02::22e])
 by giant.haxx.se (8.14.4/8.14.4/Debian-4.1) with ESMTP id s1BArbAo001196
 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=NOT)
 for <libssh2-devel@cool.haxx.se>; Tue, 11 Feb 2014 11:53:38 +0100
Received: by mail-vb0-f46.google.com with SMTP id o19so5763165vbm.33
 for <libssh2-devel@cool.haxx.se>; Tue, 11 Feb 2014 02:53:33 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
 h=mime-version:date:message-id:subject:from:to:content-type;
 bh=NUf3sCAj+lqEiWwXaVhGQzIRABCNgb/zxYUO1iy1eog=;
 b=tBW+1pDKaWQmILAM6jqPB8Mu2TKi0+G8UFY5HwnMuB3FvSJzVKkuJVoMDaspLiNHsW
 TrNbLOSFlNyI7pAkpNRT6TLViReo4AwLtocdCXma2H0xWTsdsD3pIAh8dNXxYgQfVc3L
 P+T8vHT52NrbNkm7ZfJ2OxEwqMyNUKuP+Nvf5AVweaNeQL/wlxCJ8/r0JZWxS0JriZaS
 jBfiSj92hxOCDK4/aT5bexveqoUibO2hcGLis4RkjEWX+ZOmyLEf6g8VcSZpKAtmPGxr
 ixuFj/G5eh/RahfZ7UVEruR3SVDL0Hav4z59EwPeF/42XDHGIoHEGDByOjRj+gHRKhge
 AQcA==
MIME-Version: 1.0
X-Received: by 10.52.73.8 with SMTP id h8mr4044283vdv.14.1392116013482; Tue,
 11 Feb 2014 02:53:33 -0800 (PST)
Received: by 10.58.44.202 with HTTP; Tue, 11 Feb 2014 02:53:33 -0800 (PST)
Date: Tue, 11 Feb 2014 11:53:33 +0100
Message-ID: <CALfKU6NFmPq4wyZBdhsyQ3UYcyrsuKZW5S7756hT3L+NvgpeOw@mail.gmail.com>
Subject: LIBSSH2_ERROR_TIMEOUT
From: vicent roca daniel <saptah@gmail.com>
To: libssh2-devel@cool.haxx.se
X-BeenThere: libssh2-devel@cool.haxx.se
X-Mailman-Version: 2.1.16
Precedence: list
Reply-To: libssh2 development <libssh2-devel@cool.haxx.se>
List-Id: libssh2 development <libssh2-devel.cool.haxx.se>
List-Unsubscribe: <http://cool.haxx.se/cgi-bin/mailman/options/libssh2-devel>, 
 <mailto:libssh2-devel-request@cool.haxx.se?subject=unsubscribe>
List-Archive: <http://cool.haxx.se/pipermail/libssh2-devel/>
List-Post: <mailto:libssh2-devel@cool.haxx.se>
List-Help: <mailto:libssh2-devel-request@cool.haxx.se?subject=help>
List-Subscribe: <http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel>, 
 <mailto:libssh2-devel-request@cool.haxx.se?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============0271020810=="
Errors-To: libssh2-devel-bounces@cool.haxx.se
Sender: "libssh2-devel" <libssh2-devel-bounces@cool.haxx.se>

--===============0271020810==
Content-Type: multipart/alternative; boundary=bcaec50161f378477304f21f44eb

--bcaec50161f378477304f21f44eb
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

Hi guys,
I'm developing a project witch a little linux device, connects to other
devices running Openwrt via SSH.

It works pretty well, but some times, I get an error LIBSSH2_ERROR_TIMEOUT

I don't think the problem is timeout related, because the remote device is
most of the time idle, and the connectivity is good. =BFwhat else could
trigger this error??

Thanks! :)

--bcaec50161f378477304f21f44eb
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div><div><div>Hi guys,<br></div>I&#39;m developing a proj=
ect witch a little linux device, connects to other devices running Openwrt =
via SSH.<br><br></div>It works pretty well, but some times, I get an error =
<span>LIBSSH2_ERROR_TIMEOUT<br>



<br></span></div><span>I don&#39;t think the problem is timeout related,=20
because the remote device is most of the time idle, and the connectivity
 is good. =BFwhat else could trigger this error??<br><br>Thanks! :)</span><=
/div>

--bcaec50161f378477304f21f44eb--

--===============0271020810==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel

--===============0271020810==--

From libssh2-devel-bounces@cool.haxx.se  Tue Feb 11 20:04:04 2014
Return-Path: <libssh2-devel-bounces@cool.haxx.se>
Received: from www.haxx.se (list@localhost.localdomain [127.0.0.1])
	by giant.haxx.se (8.14.4/8.14.4/Debian-4.1) with ESMTP id s1BJ3aYR028646;
	Tue, 11 Feb 2014 20:03:58 +0100
Received: from foo.stuge.se (qmailr@foo.stuge.se [212.116.89.98])
 by giant.haxx.se (8.14.4/8.14.4/Debian-4.1) with ESMTP id s1BJ3WQ4028547
 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT)
 for <libssh2-devel@cool.haxx.se>; Tue, 11 Feb 2014 20:03:32 +0100
Received: (qmail 24404 invoked by uid 501); 11 Feb 2014 19:03:33 -0000
Message-ID: <20140211190333.24403.qmail@stuge.se>
Date: Tue, 11 Feb 2014 20:03:33 +0100
From: Peter Stuge <peter@stuge.se>
To: libssh2-devel@cool.haxx.se
Subject: Re: LIBSSH2_ERROR_TIMEOUT
Mail-Followup-To: libssh2-devel@cool.haxx.se
References: <CALfKU6NFmPq4wyZBdhsyQ3UYcyrsuKZW5S7756hT3L+NvgpeOw@mail.gmail.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <CALfKU6NFmPq4wyZBdhsyQ3UYcyrsuKZW5S7756hT3L+NvgpeOw@mail.gmail.com>
X-BeenThere: libssh2-devel@cool.haxx.se
X-Mailman-Version: 2.1.16
Precedence: list
Reply-To: libssh2 development <libssh2-devel@cool.haxx.se>
List-Id: libssh2 development <libssh2-devel.cool.haxx.se>
List-Unsubscribe: <http://cool.haxx.se/cgi-bin/mailman/options/libssh2-devel>, 
 <mailto:libssh2-devel-request@cool.haxx.se?subject=unsubscribe>
List-Archive: <http://cool.haxx.se/pipermail/libssh2-devel/>
List-Post: <mailto:libssh2-devel@cool.haxx.se>
List-Help: <mailto:libssh2-devel-request@cool.haxx.se?subject=help>
List-Subscribe: <http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel>, 
 <mailto:libssh2-devel-request@cool.haxx.se?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Errors-To: libssh2-devel-bounces@cool.haxx.se
Sender: "libssh2-devel" <libssh2-devel-bounces@cool.haxx.se>

vicent roca daniel wrote:
> I get an error LIBSSH2_ERROR_TIMEOUT
> I don't think the problem is timeout related

You probably understand how silly this seems.

Please do investigate what the actual cause of your problem is and
get back to the list.

Do some debugging before posting. Nobody can do that for you.

The library has verboseish tracing and you can use strace and other
system tools.

Please let us know what you find.


//Peter
_______________________________________________
libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel

From libssh2-devel-bounces@cool.haxx.se  Tue Feb 11 23:15:55 2014
Return-Path: <libssh2-devel-bounces@cool.haxx.se>
Received: from www.haxx.se (list@localhost.localdomain [127.0.0.1])
	by giant.haxx.se (8.14.4/8.14.4/Debian-4.1) with ESMTP id s1BMFYFs014866;
	Tue, 11 Feb 2014 23:15:52 +0100
Received: from earth.stuge.se (earth.stuge.se [212.116.89.126])
 by giant.haxx.se (8.14.4/8.14.4/Debian-4.1) with ESMTP id s1BMFXZc014815
 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT)
 for <libssh2-devel@cool.haxx.se>; Tue, 11 Feb 2014 23:15:33 +0100
Received: (qmail 8662 invoked from network); 11 Feb 2014 22:14:13 -0000
Received: from unknown (HELO earth.stuge.se) (127.0.0.1)
 by localhost with SMTP; 11 Feb 2014 22:14:13 -0000
MIME-Version: 1.0
From: "libssh2 Trac" <trac@libssh2.stuge.se>
X-Trac-Version: 1.0dev
Precedence: bulk
Auto-Submitted: auto-generated
X-Mailer: Trac 1.0dev, by Edgewall Software
To: wang4585_001@163.com, daniel@haxx.se
X-Trac-Project: libssh2
Date: Tue, 11 Feb 2014 22:14:13 -0000
X-URL: https://trac.libssh2.org/
Subject: Re: [libssh2] #285: multithread calls libssh2.a error
X-Trac-Ticket-URL: https://trac.libssh2.org/ticket/285#comment:1
Message-ID: <062.f005530a51d6835078cdcc0f0b27fdaa@libssh2.stuge.se>
References: <047.96e14ff308d3aef6124dae1272948e70@libssh2.stuge.se>
X-Trac-Ticket-ID: 285
In-Reply-To: <047.96e14ff308d3aef6124dae1272948e70@libssh2.stuge.se>
X-MIME-Autoconverted: from base64 to 8bit by giant.haxx.se id s1BMFXZc014815
Cc: libssh2-devel@cool.haxx.se
X-BeenThere: libssh2-devel@cool.haxx.se
X-Mailman-Version: 2.1.16
Reply-To: trac@libssh2.stuge.se,
        libssh2 development <libssh2-devel@cool.haxx.se>
List-Id: libssh2 development <libssh2-devel.cool.haxx.se>
List-Unsubscribe: <http://cool.haxx.se/cgi-bin/mailman/options/libssh2-devel>, 
 <mailto:libssh2-devel-request@cool.haxx.se?subject=unsubscribe>
List-Archive: <http://cool.haxx.se/pipermail/libssh2-devel/>
List-Post: <mailto:libssh2-devel@cool.haxx.se>
List-Help: <mailto:libssh2-devel-request@cool.haxx.se?subject=help>
List-Subscribe: <http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel>, 
 <mailto:libssh2-devel-request@cool.haxx.se?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Errors-To: libssh2-devel-bounces@cool.haxx.se
Sender: "libssh2-devel" <libssh2-devel-bounces@cool.haxx.se>

#285: multithread calls libssh2.a error
-------------------------+-------------------------------------------------
  Reporter:  beiguan001  |      Owner:
      Type:  defect      |     Status:  closed
  Priority:  high        |  Milestone:  1.4.3
 Component:  API         |    Version:  1.4.2
Resolution:  invalid     |   Keywords:  multi-thread
Blocked By:              |  libssh2_session_handshake
                         |     Blocks:
-------------------------+-------------------------------------------------
Changes (by bagder):

 * status:  new => closed
 * resolution:   => invalid


Comment:

 This is a bug tracker where we track and work with bugs. You did not file
 a bug report.

 If you have questions and want help on how to use libssh2, please
 subscribe to the mailing list and ask your question there!

-- 
Ticket URL: <https://trac.libssh2.org/ticket/285#comment:1>
libssh2 <https://trac.libssh2.org/>
C library for writing portable SSH2 clients

_______________________________________________
libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel

From libssh2-devel-bounces@cool.haxx.se  Wed Feb 12 04:11:33 2014
Return-Path: <libssh2-devel-bounces@cool.haxx.se>
Received: from www.haxx.se (list@localhost.localdomain [127.0.0.1])
	by giant.haxx.se (8.14.4/8.14.4/Debian-4.1) with ESMTP id s1C3B4va003291;
	Wed, 12 Feb 2014 04:11:28 +0100
Received: from mail-pd0-x236.google.com (mail-pd0-x236.google.com
 [IPv6:2607:f8b0:400e:c02::236])
 by giant.haxx.se (8.14.4/8.14.4/Debian-4.1) with ESMTP id s1C3B1Q3003078
 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=NOT)
 for <libssh2-devel@cool.haxx.se>; Wed, 12 Feb 2014 04:11:02 +0100
Received: by mail-pd0-f182.google.com with SMTP id v10so8392375pde.13
 for <libssh2-devel@cool.haxx.se>; Tue, 11 Feb 2014 19:10:56 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
 h=date:from:to:subject:message-id:mime-version:content-type;
 bh=J7/pMv8DiRfc6us4GHKGsZt45C5zJCvuKOiEj5MrCNk=;
 b=lH7jH3QS9NFmTqI0wFUj/+P+egGQdII6d66ubVxInloqqlfqd27V6+Qg3A0NgudBaX
 IghZ8zNtE+7zKdt4Y/OAAzwrKxaMjsJCDIZOfO2zcvp6C18I6GmG0IYs4rMvXNz5FVIH
 t2bSWxMSWUWLibiJE7aRahP3HxQuzohIZ7jHqKBvBC7jtgPD/OUPHLFgJBXwRGG3XOgC
 iwjrxa7RnNIbc0KXznae81+H8/5TdEzW225tUcGs5Jhuau0iD21IJqQq7lhdfcp/xHbx
 TvXb6A+nRO/3kYzOWRb/pcAquHSU31YRMCKGSYShhxrP/r2aJ/a2Z6zgPMyZ3OIbUd1A
 26Qw==
X-Received: by 10.68.226.9 with SMTP id ro9mr48874490pbc.72.1392174655203;
 Tue, 11 Feb 2014 19:10:55 -0800 (PST)
Received: from bradish7y ([114.247.25.62])
 by mx.google.com with ESMTPSA id yd4sm58068542pbc.13.2014.02.11.19.10.52
 for <libssh2-devel@cool.haxx.se>
 (version=TLSv1 cipher=RC4-SHA bits=128/128);
 Tue, 11 Feb 2014 19:10:54 -0800 (PST)
Date: Wed, 12 Feb 2014 11:10:57 +0800
From: "xingzhiming" <xingzhiming@gmail.com>
To: "libssh2-devel" <libssh2-devel@cool.haxx.se>
Subject: multithread calls libssh2_session_handshake,error,return -13
Message-ID: <201402121110544585944@gmail.com>
X-mailer: Foxmail 6, 15, 201, 22 [cn]
Mime-Version: 1.0
X-BeenThere: libssh2-devel@cool.haxx.se
X-Mailman-Version: 2.1.16
Precedence: list
Reply-To: libssh2 development <libssh2-devel@cool.haxx.se>
List-Id: libssh2 development <libssh2-devel.cool.haxx.se>
List-Unsubscribe: <http://cool.haxx.se/cgi-bin/mailman/options/libssh2-devel>, 
 <mailto:libssh2-devel-request@cool.haxx.se?subject=unsubscribe>
List-Archive: <http://cool.haxx.se/pipermail/libssh2-devel/>
List-Post: <mailto:libssh2-devel@cool.haxx.se>
List-Help: <mailto:libssh2-devel-request@cool.haxx.se?subject=help>
List-Subscribe: <http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel>, 
 <mailto:libssh2-devel-request@cool.haxx.se?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============0312092866=="
Errors-To: libssh2-devel-bounces@cool.haxx.se
Sender: "libssh2-devel" <libssh2-devel-bounces@cool.haxx.se>


This is a multi-part message in MIME format.

--===============0312092866==
Content-Type: multipart/alternative;
	boundary="=====003_Dragon400657377421_====="


This is a multi-part message in MIME format.

--=====003_Dragon400657377421_=====
Content-Type: text/plain;
	charset="gb2312"
Content-Transfer-Encoding: base64

aGksYWxsIA0KV2hlbiB1c2luZyBtdWx0aXBsZSB0aHJlYWRzLCBpbiBsaWJzc2gyX3Nlc3Npb25f
aGFuZHNoYWtlIGFibm9ybWFsLiANCiBJZiB5b3UgZG8gbm90IG11bHRpLXRocmVhZGVkLCBubyBw
cm9ibGVtLiAgSG93IHRvIHVzZSBtdWx0aS10aHJlYWQgY2FsbHMgbGlic3NoMj8NCg0Kc291cmNl
IGNvZGU6DQoNCiNpbmNsdWRlICJsaWJzc2gyX2NvbmZpZy5oIg0KI2luY2x1ZGUgPGxpYnNzaDIu
aD4NCiNpbmNsdWRlIDxsaWJzc2gyX3NmdHAuaD4NCg0KI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4N
CiNpbmNsdWRlIDxuZXRpbmV0L2luLmg+DQojaW5jbHVkZSA8dW5pc3RkLmg+DQojaW5jbHVkZSA8
YXJwYS9pbmV0Lmg+DQoNCiNpbmNsdWRlIDxzeXMvdHlwZXMuaD4NCiNpbmNsdWRlIDxmY250bC5o
Pg0KI2luY2x1ZGUgPGVycm5vLmg+DQojaW5jbHVkZSA8c3RkaW8uaD4NCiNpbmNsdWRlIDxjdHlw
ZS5oPg0KI2luY2x1ZGUgPHB0aHJlYWQuaD4NCiNpZm5kZWYgX19QUkk2NF9QUkVGSVgNCiNpZmRl
ZiBXSU4zMg0KI2RlZmluZSBfX1BSSTY0X1BSRUZJWCAiSTY0Ig0KI2Vsc2UNCiNpZiBfX1dPUkRT
SVpFID09IDY0DQojZGVmaW5lIF9fUFJJNjRfUFJFRklYICJsIg0KI2Vsc2UNCiNkZWZpbmUgX19Q
Ukk2NF9QUkVGSVggImxsIg0KI2VuZGlmICANCiNlbmRpZiAgDQojZW5kaWYgIA0KI2lmbmRlZiBQ
Ukl1NjQNCiNkZWZpbmUgUFJJdTY0IF9fUFJJNjRfUFJFRklYICJ1Ig0KI2VuZGlmIA0Kdm9pZCog
d29ya190aHJlYWQodm9pZCogYXJnKSANCnsNCiAgICB1bnNpZ25lZCBsb25nIGhvc3RhZGRyOw0K
ICAgIGludCBzb2NrLCBpLCBhdXRoX3B3ID0gMTsNCiAgICBzdHJ1Y3Qgc29ja2FkZHJfaW4gc2lu
Ow0KICAgIGNvbnN0IGNoYXIgKmZpbmdlcnByaW50Ow0KICAgIExJQlNTSDJfU0VTU0lPTiAqc2Vz
c2lvbjsNCiAgICBjb25zdCBjaGFyICp1c2VybmFtZT0iY3RzdCI7DQogICAgY29uc3QgY2hhciAq
cGFzc3dvcmQ9ImN0c3QiOw0KICAgIGNvbnN0IGNoYXIgKnNmdHBwYXRoPSIvaG9tZS9jdHN0L3h6
bSI7DQogICAgaW50IHJjOw0KICAgIExJQlNTSDJfU0ZUUCAqc2Z0cF9zZXNzaW9uOw0KI2lmZGVm
IFdJTjMyDQogICAgV1NBREFUQSB3c2FkYXRhOw0KDQogICAgV1NBU3RhcnR1cChNQUtFV09SRCgy
LDApLCAmd3NhZGF0YSk7DQojZW5kaWYNCg0KICAgIGhvc3RhZGRyID0gaW5ldF9hZGRyKCIxNzIu
MTY4LjEuMjI0Iik7DQogICAgcmMgPSBsaWJzc2gyX2luaXQgKDApOw0KcHJpbnRmKCJsaWJzc2gy
X2luaXQuLi4uLi4uLi4uXG4iKSA7DQogICAgaWYgKHJjICE9IDApIHsNCiAgICAgICAgZnByaW50
ZiAoc3RkZXJyLCAibGlic3NoMiBpbml0aWFsaXphdGlvbiBmYWlsZWQgKCVkKVxuIiwgcmMpOw0K
ICAgIH0NCg0KICAgIC8qDQogICAgICogVGhlIGFwcGxpY2F0aW9uIGNvZGUgaXMgcmVzcG9uc2li
bGUgZm9yIGNyZWF0aW5nIHRoZSBzb2NrZXQNCiAgICAgKiBhbmQgZXN0YWJsaXNoaW5nIHRoZSBj
b25uZWN0aW9uDQogICAgICovIA0KICAgIHNvY2sgPSBzb2NrZXQoQUZfSU5FVCwgU09DS19TVFJF
QU0sIDApOw0KDQogICAgc2luLnNpbl9mYW1pbHkgPSBBRl9JTkVUOw0KICAgIHNpbi5zaW5fcG9y
dCA9IGh0b25zKDIyKTsNCiAgICBzaW4uc2luX2FkZHIuc19hZGRyID0gaG9zdGFkZHI7DQogICAg
aWYgKGNvbm5lY3Qoc29jaywgKHN0cnVjdCBzb2NrYWRkciopKCZzaW4pLA0KICAgICAgICAgICAg
c2l6ZW9mKHN0cnVjdCBzb2NrYWRkcl9pbikpICE9IDApIHsNCiAgICAgICAgZnByaW50ZihzdGRl
cnIsICJmYWlsZWQgdG8gY29ubmVjdCFcbiIpOw0KICAgIH0NCg0KICAgIC8qIENyZWF0ZSBhIHNl
c3Npb24gaW5zdGFuY2UNCiAgICAgKi8gDQogICAgc2Vzc2lvbiA9IGxpYnNzaDJfc2Vzc2lvbl9p
bml0KCk7DQogICAgaWYoIXNlc3Npb24pDQpwcmludGYoImxpYnNzaDJfc2Vzc2lvbl9pbml0Li4u
Li4uLi4uLlxuIikgOw0KICAgIC8qIC4uLiBzdGFydCBpdCB1cC4gVGhpcyB3aWxsIHRyYWRlIHdl
bGNvbWUgYmFubmVycywgZXhjaGFuZ2Uga2V5cywNCiAgICAgKiBhbmQgc2V0dXAgY3J5cHRvLCBj
b21wcmVzc2lvbiwgYW5kIE1BQyBsYXllcnMNCiAgICAgKi8gDQogcHJpbnRmKCJzb2NrPSVkXG4i
LCBzb2NrKSA7DQogICAgcmMgPSBsaWJzc2gyX3Nlc3Npb25faGFuZHNoYWtlKHNlc3Npb24sIHNv
Y2spOw0KcHJpbnRmKCJsaWJzc2gyX3Nlc3Npb25faGFuZHNoYWtlLi4uLi4uLi4uLlxuIikgOw0K
ICAgIGlmKHJjKSB7DQogICAgICAgIGZwcmludGYoc3RkZXJyLCAiRmFpbHVyZSBlc3RhYmxpc2hp
bmcgU1NIIHNlc3Npb246ICVkXG4iLCByYyk7DQpyZXR1cm4gTlVMTCA7DQogICAgfQ0KcHJpbnRm
KCJsaWJzc2gyX3Nlc3Npb25faGFuZHNoYWtlLi4uLnN1Y2Nlc3MuLi4uLi5cbiIpIDsNCiAgICBs
aWJzc2gyX3Nlc3Npb25fZGlzY29ubmVjdChzZXNzaW9uLCAiTm9ybWFsIFNodXRkb3duLCBUaGFu
ayB5b3UgZm9yIHBsYXlpbmciKTsNCiAgICBsaWJzc2gyX3Nlc3Npb25fZnJlZShzZXNzaW9uKTsN
Cg0KI2lmZGVmIFdJTjMyDQogICAgY2xvc2Vzb2NrZXQoc29jayk7DQojZWxzZQ0KICAgIGNsb3Nl
KHNvY2spOw0KI2VuZGlmDQogICAgZnByaW50ZihzdGRlcnIsICJhbGwgZG9uZVxuIik7DQoNCiAg
ICBsaWJzc2gyX2V4aXQoKTsNCnJldHVybiBOVUxMIDsNCn0NCmludCBtYWluKGludCBhcmdjLCBj
aGFyKiogYXJndikNCnsNCmludCBudGhyZWFkID0gMTsgDQpwdGhyZWFkX3QgdGlkOyANCnByaW50
ZigiaW4gbWFpbi4uLi4uLi4uLi5cbiIpIDsNCmZvcihpbnQgaT0wO2k8bnRocmVhZDtpKyspIA0K
eyANCnB0aHJlYWRfY3JlYXRlKCZ0aWQsTlVMTCx3b3JrX3RocmVhZCxOVUxMKTsgDQp9IA0KZm9y
KGludCBpPTA7IGk8bnRocmVhZDtpKyspIA0Kew0KcHRocmVhZF9qb2luKHRpZCwgTlVMTCkgOw0K
fQ0KLy93b3JrX3RocmVhZChOVUxMKSA7Ly9ub3JtYWwNCnJldHVybiAwIDsNCn0NCg0KDQoNCjIw
MTQtMDItMTIgMTE6MDg6MzgNCg0KDQoNCg0K0M/WvsP3DQpCSUxMSU5HsvrGt9bQ0MQNCg0KsbG+
qczs1LS1z7/G0MXPory8yvXT0M/euavLvg0Kyta7+qO6MTg2MDA1Nzg3MjcgDQrTys/ko7ogeGlu
Z3ptQHR5ZGljLmNvbQ0KzfjWt6O6IGh0dHA6Ly93d3cudHlkaWMuY29tDQq12Na3OiCxsb6pytC6
o7Xtx/ixscvEu7fO98K3NTa6xbvUu83KsbT6tPPPwzlGDQrTyrHgo7oxMDAwODANCg==

--=====003_Dragon400657377421_=====
Content-Type: text/html;
	charset="gb2312"
Content-Transfer-Encoding: base64

PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv
L0VOIj4NCjxIVE1MIHhtbG5zOm8gPSAidXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6
b2ZmaWNlIj48SEVBRD4NCjxNRVRBIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1nYjIzMTIi
IGh0dHAtZXF1aXY9Q29udGVudC1UeXBlPg0KPE1FVEEgbmFtZT1HRU5FUkFUT1IgY29udGVudD0i
TVNIVE1MIDguMDAuNzYwMC4xNjcyMiI+PExJTksgcmVsPXN0eWxlc2hlZXQgDQpocmVmPSJCTE9D
S1FVT1RFe21hcmdpbi1Ub3A6IDBweDsgbWFyZ2luLUJvdHRvbTogMHB4OyBtYXJnaW4tTGVmdDog
MmVtfSI+PC9IRUFEPg0KPEJPRFkgc3R5bGU9Ik1BUkdJTjogMTBweDsgRk9OVC1GQU1JTFk6IHZl
cmRhbmE7IEZPTlQtU0laRTogMTBwdCI+DQo8RElWPjxGT05UIHNpemU9MiBmYWNlPVZlcmRhbmE+
PFNQQU4gDQpzdHlsZT0iVEVYVC1UUkFOU0ZPUk06IG5vbmU7IEJBQ0tHUk9VTkQtQ09MT1I6IHJn
YigyNTUsMjU1LDI1NSk7IFRFWFQtSU5ERU5UOiAwcHg7IERJU1BMQVk6IGlubGluZSAhaW1wb3J0
YW50OyBGT05UOiBtZWRpdW0gc2Fucy1zZXJpZjsgV0hJVEUtU1BBQ0U6IG5vcm1hbDsgRkxPQVQ6
IG5vbmU7IExFVFRFUi1TUEFDSU5HOiBub3JtYWw7IENPTE9SOiByZ2IoMCwwLDApOyBXT1JELVNQ
QUNJTkc6IDBweDsgLXdlYmtpdC10ZXh0LXN0cm9rZS13aWR0aDogMHB4Ij5oaSxhbGwmbmJzcDs8
L1NQQU4+PC9GT05UPjwvRElWPg0KPERJVj48Rk9OVCBzaXplPTIgZmFjZT1WZXJkYW5hPjxTUEFO
IA0Kc3R5bGU9IlRFWFQtVFJBTlNGT1JNOiBub25lOyBCQUNLR1JPVU5ELUNPTE9SOiByZ2IoMjU1
LDI1NSwyNTUpOyBURVhULUlOREVOVDogMHB4OyBESVNQTEFZOiBpbmxpbmUgIWltcG9ydGFudDsg
Rk9OVDogbWVkaXVtIHNhbnMtc2VyaWY7IFdISVRFLVNQQUNFOiBub3JtYWw7IEZMT0FUOiBub25l
OyBMRVRURVItU1BBQ0lORzogbm9ybWFsOyBDT0xPUjogcmdiKDAsMCwwKTsgV09SRC1TUEFDSU5H
OiAwcHg7IC13ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6IDBweCI+V2hlbiANCnVzaW5nIG11bHRp
cGxlIHRocmVhZHMsIGluIGxpYnNzaDJfc2Vzc2lvbl9oYW5kc2hha2UgYWJub3JtYWwuPFNQQU4g
DQpjbGFzcz1BcHBsZS1jb252ZXJ0ZWQtc3BhY2U+Jm5ic3A7PC9TUEFOPjwvU1BBTj48QlIgDQpz
dHlsZT0iVEVYVC1UUkFOU0ZPUk06IG5vbmU7IEJBQ0tHUk9VTkQtQ09MT1I6IHJnYigyNTUsMjU1
LDI1NSk7IFRFWFQtSU5ERU5UOiAwcHg7IEZPTlQ6IG1lZGl1bSBzYW5zLXNlcmlmOyBXSElURS1T
UEFDRTogbm9ybWFsOyBMRVRURVItU1BBQ0lORzogbm9ybWFsOyBDT0xPUjogcmdiKDAsMCwwKTsg
V09SRC1TUEFDSU5HOiAwcHg7IC13ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6IDBweCI+PFNQQU4g
DQpzdHlsZT0iVEVYVC1UUkFOU0ZPUk06IG5vbmU7IEJBQ0tHUk9VTkQtQ09MT1I6IHJnYigyNTUs
MjU1LDI1NSk7IFRFWFQtSU5ERU5UOiAwcHg7IERJU1BMQVk6IGlubGluZSAhaW1wb3J0YW50OyBG
T05UOiBtZWRpdW0gc2Fucy1zZXJpZjsgV0hJVEUtU1BBQ0U6IG5vcm1hbDsgRkxPQVQ6IG5vbmU7
IExFVFRFUi1TUEFDSU5HOiBub3JtYWw7IENPTE9SOiByZ2IoMCwwLDApOyBXT1JELVNQQUNJTkc6
IDBweDsgLXdlYmtpdC10ZXh0LXN0cm9rZS13aWR0aDogMHB4Ij4mbmJzcDtJZiANCnlvdSBkbyBu
b3QgbXVsdGktdGhyZWFkZWQsIG5vIHByb2JsZW0uPFNQQU4gDQpjbGFzcz1BcHBsZS1jb252ZXJ0
ZWQtc3BhY2U+Jm5ic3A7PC9TUEFOPjwvU1BBTj48U1BBTiANCnN0eWxlPSJURVhULVRSQU5TRk9S
TTogbm9uZTsgQkFDS0dST1VORC1DT0xPUjogcmdiKDI1NSwyNTUsMjU1KTsgVEVYVC1JTkRFTlQ6
IDBweDsgRElTUExBWTogaW5saW5lICFpbXBvcnRhbnQ7IEZPTlQ6IG1lZGl1bSBzYW5zLXNlcmlm
OyBXSElURS1TUEFDRTogbm9ybWFsOyBGTE9BVDogbm9uZTsgTEVUVEVSLVNQQUNJTkc6IG5vcm1h
bDsgQ09MT1I6IHJnYigwLDAsMCk7IFdPUkQtU1BBQ0lORzogMHB4OyAtd2Via2l0LXRleHQtc3Ry
b2tlLXdpZHRoOiAwcHgiPiZuYnNwO0hvdyANCnRvIHVzZSBtdWx0aS10aHJlYWQgY2FsbHMgbGli
c3NoMj88L1NQQU4+PC9GT05UPjwvRElWPg0KPERJVj48Rk9OVCBzaXplPTIgZmFjZT1WZXJkYW5h
PjxTUEFOIA0Kc3R5bGU9IlRFWFQtVFJBTlNGT1JNOiBub25lOyBCQUNLR1JPVU5ELUNPTE9SOiBy
Z2IoMjU1LDI1NSwyNTUpOyBURVhULUlOREVOVDogMHB4OyBESVNQTEFZOiBpbmxpbmUgIWltcG9y
dGFudDsgRk9OVDogbWVkaXVtIHNhbnMtc2VyaWY7IFdISVRFLVNQQUNFOiBub3JtYWw7IEZMT0FU
OiBub25lOyBMRVRURVItU1BBQ0lORzogbm9ybWFsOyBDT0xPUjogcmdiKDAsMCwwKTsgV09SRC1T
UEFDSU5HOiAwcHg7IC13ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6IDBweCI+PC9TUEFOPjwvRk9O
VD4mbmJzcDs8L0RJVj4NCjxESVY+PEZPTlQgc2l6ZT0yIGZhY2U9VmVyZGFuYT48U1BBTiANCnN0
eWxlPSJURVhULVRSQU5TRk9STTogbm9uZTsgQkFDS0dST1VORC1DT0xPUjogcmdiKDI1NSwyNTUs
MjU1KTsgVEVYVC1JTkRFTlQ6IDBweDsgRElTUExBWTogaW5saW5lICFpbXBvcnRhbnQ7IEZPTlQ6
IG1lZGl1bSBzYW5zLXNlcmlmOyBXSElURS1TUEFDRTogbm9ybWFsOyBGTE9BVDogbm9uZTsgTEVU
VEVSLVNQQUNJTkc6IG5vcm1hbDsgQ09MT1I6IHJnYigwLDAsMCk7IFdPUkQtU1BBQ0lORzogMHB4
OyAtd2Via2l0LXRleHQtc3Ryb2tlLXdpZHRoOiAwcHgiPnNvdXJjZSANCmNvZGU6PC9TUEFOPjwv
Rk9OVD48L0RJVj4NCjxESVY+PEZPTlQgc2l6ZT0yIGZhY2U9VmVyZGFuYT48U1BBTiANCnN0eWxl
PSJURVhULVRSQU5TRk9STTogbm9uZTsgQkFDS0dST1VORC1DT0xPUjogcmdiKDI1NSwyNTUsMjU1
KTsgVEVYVC1JTkRFTlQ6IDBweDsgRElTUExBWTogaW5saW5lICFpbXBvcnRhbnQ7IEZPTlQ6IG1l
ZGl1bSBzYW5zLXNlcmlmOyBXSElURS1TUEFDRTogbm9ybWFsOyBGTE9BVDogbm9uZTsgTEVUVEVS
LVNQQUNJTkc6IG5vcm1hbDsgQ09MT1I6IHJnYigwLDAsMCk7IFdPUkQtU1BBQ0lORzogMHB4OyAt
d2Via2l0LXRleHQtc3Ryb2tlLXdpZHRoOiAwcHgiPjwvU1BBTj48L0ZPTlQ+Jm5ic3A7PC9ESVY+
DQo8RElWPjxGT05UIHNpemU9MiBmYWNlPVZlcmRhbmE+PFNQQU4gDQpzdHlsZT0iVEVYVC1UUkFO
U0ZPUk06IG5vbmU7IEJBQ0tHUk9VTkQtQ09MT1I6IHJnYigyNTUsMjU1LDI1NSk7IFRFWFQtSU5E
RU5UOiAwcHg7IERJU1BMQVk6IGlubGluZSAhaW1wb3J0YW50OyBGT05UOiBtZWRpdW0gc2Fucy1z
ZXJpZjsgV0hJVEUtU1BBQ0U6IG5vcm1hbDsgRkxPQVQ6IG5vbmU7IExFVFRFUi1TUEFDSU5HOiBu
b3JtYWw7IENPTE9SOiByZ2IoMCwwLDApOyBXT1JELVNQQUNJTkc6IDBweDsgLXdlYmtpdC10ZXh0
LXN0cm9rZS13aWR0aDogMHB4Ij4NCjxESVY+I2luY2x1ZGUmbmJzcDsibGlic3NoMl9jb25maWcu
aCI8L0RJVj4NCjxESVY+I2luY2x1ZGUmbmJzcDsmbHQ7bGlic3NoMi5oJmd0OzwvRElWPg0KPERJ
Vj4jaW5jbHVkZSZuYnNwOyZsdDtsaWJzc2gyX3NmdHAuaCZndDs8L0RJVj4NCjxESVY+Jm5ic3A7
PC9ESVY+DQo8RElWPjwvRElWPg0KPERJVj4jaW5jbHVkZSZuYnNwOyZsdDtzeXMvc29ja2V0Lmgm
Z3Q7PC9ESVY+DQo8RElWPiNpbmNsdWRlJm5ic3A7Jmx0O25ldGluZXQvaW4uaCZndDs8L0RJVj4N
CjxESVY+I2luY2x1ZGUmbmJzcDsmbHQ7dW5pc3RkLmgmZ3Q7PC9ESVY+DQo8RElWPiNpbmNsdWRl
Jm5ic3A7Jmx0O2FycGEvaW5ldC5oJmd0OzwvRElWPg0KPERJVj4mbmJzcDs8L0RJVj4NCjxESVY+
I2luY2x1ZGUmbmJzcDsmbHQ7c3lzL3R5cGVzLmgmZ3Q7PC9ESVY+DQo8RElWPiNpbmNsdWRlJm5i
c3A7Jmx0O2ZjbnRsLmgmZ3Q7PC9ESVY+DQo8RElWPiNpbmNsdWRlJm5ic3A7Jmx0O2Vycm5vLmgm
Z3Q7PC9ESVY+DQo8RElWPiNpbmNsdWRlJm5ic3A7Jmx0O3N0ZGlvLmgmZ3Q7PC9ESVY+DQo8RElW
PiNpbmNsdWRlJm5ic3A7Jmx0O2N0eXBlLmgmZ3Q7PC9ESVY+DQo8RElWPiNpbmNsdWRlJm5ic3A7
Jmx0O3B0aHJlYWQuaCZndDs8L0RJVj4NCjxESVY+PC9ESVY+DQo8RElWPiNpZm5kZWYmbmJzcDtf
X1BSSTY0X1BSRUZJWDwvRElWPg0KPERJVj4jaWZkZWYmbmJzcDtXSU4zMjwvRElWPg0KPERJVj4j
ZGVmaW5lJm5ic3A7X19QUkk2NF9QUkVGSVgmbmJzcDsiSTY0IjwvRElWPg0KPERJVj4jZWxzZTwv
RElWPg0KPERJVj4jaWYmbmJzcDtfX1dPUkRTSVpFJm5ic3A7PT0mbmJzcDs2NDwvRElWPg0KPERJ
Vj4jZGVmaW5lJm5ic3A7X19QUkk2NF9QUkVGSVgmbmJzcDsibCI8L0RJVj4NCjxESVY+I2Vsc2U8
L0RJVj4NCjxESVY+I2RlZmluZSZuYnNwO19fUFJJNjRfUFJFRklYJm5ic3A7ImxsIjwvRElWPg0K
PERJVj4jZW5kaWYmbmJzcDsmbmJzcDs8L0RJVj4NCjxESVY+I2VuZGlmJm5ic3A7Jm5ic3A7PC9E
SVY+DQo8RElWPiNlbmRpZiZuYnNwOyZuYnNwOzwvRElWPg0KPERJVj4jaWZuZGVmJm5ic3A7UFJJ
dTY0PC9ESVY+DQo8RElWPiNkZWZpbmUmbmJzcDtQUkl1NjQmbmJzcDtfX1BSSTY0X1BSRUZJWCZu
YnNwOyJ1IjwvRElWPg0KPERJVj4jZW5kaWYmbmJzcDs8L0RJVj4NCjxESVY+PC9ESVY+DQo8RElW
PnZvaWQqJm5ic3A7d29ya190aHJlYWQodm9pZCombmJzcDthcmcpJm5ic3A7PC9ESVY+DQo8RElW
Pns8L0RJVj4NCjxESVY+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7dW5zaWduZWQmbmJzcDtsb25n
Jm5ic3A7aG9zdGFkZHI7PC9ESVY+DQo8RElWPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO2ludCZu
YnNwO3NvY2ssJm5ic3A7aSwmbmJzcDthdXRoX3B3Jm5ic3A7PSZuYnNwOzE7PC9ESVY+DQo8RElW
PiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3N0cnVjdCZuYnNwO3NvY2thZGRyX2luJm5ic3A7c2lu
OzwvRElWPg0KPERJVj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtjb25zdCZuYnNwO2NoYXImbmJz
cDsqZmluZ2VycHJpbnQ7PC9ESVY+DQo8RElWPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO0xJQlNT
SDJfU0VTU0lPTiZuYnNwOypzZXNzaW9uOzwvRElWPg0KPERJVj4mbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDtjb25zdCZuYnNwO2NoYXImbmJzcDsqdXNlcm5hbWU9ImN0c3QiOzwvRElWPg0KPERJVj4m
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtjb25zdCZuYnNwO2NoYXImbmJzcDsqcGFzc3dvcmQ9ImN0
c3QiOzwvRElWPg0KPERJVj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtjb25zdCZuYnNwO2NoYXIm
bmJzcDsqc2Z0cHBhdGg9Ii9ob21lL2N0c3QveHptIjs8L0RJVj4NCjxESVY+Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7aW50Jm5ic3A7cmM7PC9ESVY+DQo8RElWPiZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwO0xJQlNTSDJfU0ZUUCZuYnNwOypzZnRwX3Nlc3Npb247PC9ESVY+DQo8RElWPjwvRElWPg0K
PERJVj4jaWZkZWYmbmJzcDtXSU4zMjwvRElWPg0KPERJVj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDtXU0FEQVRBJm5ic3A7d3NhZGF0YTs8L0RJVj4NCjxESVY+Jm5ic3A7PC9ESVY+DQo8RElWPiZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwO1dTQVN0YXJ0dXAoTUFLRVdPUkQoMiwwKSwmbmJzcDsmYW1w
O3dzYWRhdGEpOzwvRElWPg0KPERJVj4jZW5kaWY8L0RJVj4NCjxESVY+Jm5ic3A7PC9ESVY+DQo8
RElWPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO2hvc3RhZGRyJm5ic3A7PSZuYnNwO2luZXRfYWRk
cigiMTcyLjE2OC4xLjIyNCIpOzwvRElWPg0KPERJVj48L0RJVj4NCjxESVY+Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7cmMmbmJzcDs9Jm5ic3A7bGlic3NoMl9pbml0Jm5ic3A7KDApOzwvRElWPg0K
PERJVj48L0RJVj4NCjxESVY+cHJpbnRmKCJsaWJzc2gyX2luaXQuLi4uLi4uLi4uXG4iKSZuYnNw
Ozs8L0RJVj4NCjxESVY+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7aWYmbmJzcDsocmMmbmJzcDsh
PSZuYnNwOzApJm5ic3A7ezwvRElWPg0KPERJVj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDtmcHJpbnRmJm5ic3A7KHN0ZGVyciwmbmJzcDsibGlic3NoMiZu
YnNwO2luaXRpYWxpemF0aW9uJm5ic3A7ZmFpbGVkJm5ic3A7KCVkKVxuIiwmbmJzcDtyYyk7PC9E
SVY+DQo8RElWPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO308L0RJVj4NCjxESVY+Jm5ic3A7PC9E
SVY+DQo8RElWPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOy8qPC9ESVY+DQo8RElWPiZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyombmJzcDtUaGUmbmJzcDthcHBsaWNhdGlvbiZuYnNwO2Nv
ZGUmbmJzcDtpcyZuYnNwO3Jlc3BvbnNpYmxlJm5ic3A7Zm9yJm5ic3A7Y3JlYXRpbmcmbmJzcDt0
aGUmbmJzcDtzb2NrZXQ8L0RJVj4NCjxESVY+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
KiZuYnNwO2FuZCZuYnNwO2VzdGFibGlzaGluZyZuYnNwO3RoZSZuYnNwO2Nvbm5lY3Rpb248L0RJ
Vj4NCjxESVY+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Ki8mbmJzcDs8L0RJVj4NCjxE
SVY+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7c29jayZuYnNwOz0mbmJzcDtzb2NrZXQoQUZfSU5F
VCwmbmJzcDtTT0NLX1NUUkVBTSwmbmJzcDswKTs8L0RJVj4NCjxESVY+Jm5ic3A7PC9ESVY+DQo8
RElWPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3Npbi5zaW5fZmFtaWx5Jm5ic3A7PSZuYnNwO0FG
X0lORVQ7PC9ESVY+DQo8RElWPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3Npbi5zaW5fcG9ydCZu
YnNwOz0mbmJzcDtodG9ucygyMik7PC9ESVY+DQo8RElWPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
O3Npbi5zaW5fYWRkci5zX2FkZHImbmJzcDs9Jm5ic3A7aG9zdGFkZHI7PC9ESVY+DQo8RElWPiZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwO2lmJm5ic3A7KGNvbm5lY3Qoc29jaywmbmJzcDsoc3RydWN0
Jm5ic3A7c29ja2FkZHIqKSgmYW1wO3NpbiksPC9ESVY+DQo8RElWPiZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3Np
emVvZihzdHJ1Y3QmbmJzcDtzb2NrYWRkcl9pbikpJm5ic3A7IT0mbmJzcDswKSZuYnNwO3s8L0RJ
Vj4NCjxESVY+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
ZnByaW50ZihzdGRlcnIsJm5ic3A7ImZhaWxlZCZuYnNwO3RvJm5ic3A7Y29ubmVjdCFcbiIpOzwv
RElWPg0KPERJVj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDt9PC9ESVY+DQo8RElWPiZuYnNwOzwv
RElWPg0KPERJVj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsvKiZuYnNwO0NyZWF0ZSZuYnNwO2Em
bmJzcDtzZXNzaW9uJm5ic3A7aW5zdGFuY2U8L0RJVj4NCjxESVY+Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7Ki8mbmJzcDs8L0RJVj4NCjxESVY+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
c2Vzc2lvbiZuYnNwOz0mbmJzcDtsaWJzc2gyX3Nlc3Npb25faW5pdCgpOzwvRElWPg0KPERJVj48
L0RJVj4NCjxESVY+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7aWYoIXNlc3Npb24pPC9ESVY+DQo8
RElWPnByaW50ZigibGlic3NoMl9zZXNzaW9uX2luaXQuLi4uLi4uLi4uXG4iKSZuYnNwOzs8L0RJ
Vj4NCjxESVY+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7LyombmJzcDsuLi4mbmJzcDtzdGFydCZu
YnNwO2l0Jm5ic3A7dXAuJm5ic3A7VGhpcyZuYnNwO3dpbGwmbmJzcDt0cmFkZSZuYnNwO3dlbGNv
bWUmbmJzcDtiYW5uZXJzLCZuYnNwO2V4Y2hhbmdlJm5ic3A7a2V5cyw8L0RJVj4NCjxESVY+Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7KiZuYnNwO2FuZCZuYnNwO3NldHVwJm5ic3A7Y3J5
cHRvLCZuYnNwO2NvbXByZXNzaW9uLCZuYnNwO2FuZCZuYnNwO01BQyZuYnNwO2xheWVyczwvRElW
Pg0KPERJVj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsqLyZuYnNwOzwvRElWPg0KPERJ
Vj4mbmJzcDtwcmludGYoInNvY2s9JWRcbiIsJm5ic3A7c29jaykmbmJzcDs7PC9ESVY+DQo8RElW
PiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3JjJm5ic3A7PSZuYnNwO2xpYnNzaDJfc2Vzc2lvbl9o
YW5kc2hha2Uoc2Vzc2lvbiwmbmJzcDtzb2NrKTs8L0RJVj4NCjxESVY+PC9ESVY+DQo8RElWPnBy
aW50ZigibGlic3NoMl9zZXNzaW9uX2hhbmRzaGFrZS4uLi4uLi4uLi5cbiIpJm5ic3A7OzwvRElW
Pg0KPERJVj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtpZihyYykmbmJzcDt7PC9ESVY+DQo8RElW
PiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO2ZwcmludGYo
c3RkZXJyLCZuYnNwOyJGYWlsdXJlJm5ic3A7ZXN0YWJsaXNoaW5nJm5ic3A7U1NIJm5ic3A7c2Vz
c2lvbjombmJzcDslZFxuIiwmbmJzcDtyYyk7PC9ESVY+DQo8RElWPnJldHVybiZuYnNwO05VTEwm
bmJzcDs7PC9ESVY+DQo8RElWPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO308L0RJVj4NCjxESVY+
cHJpbnRmKCJsaWJzc2gyX3Nlc3Npb25faGFuZHNoYWtlLi4uLnN1Y2Nlc3MuLi4uLi5cbiIpJm5i
c3A7OzwvRElWPg0KPERJVj48L0RJVj4NCjxESVY+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7bGli
c3NoMl9zZXNzaW9uX2Rpc2Nvbm5lY3Qoc2Vzc2lvbiwmbmJzcDsiTm9ybWFsJm5ic3A7U2h1dGRv
d24sJm5ic3A7VGhhbmsmbmJzcDt5b3UmbmJzcDtmb3ImbmJzcDtwbGF5aW5nIik7PC9ESVY+DQo8
RElWPjwvRElWPg0KPERJVj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtsaWJzc2gyX3Nlc3Npb25f
ZnJlZShzZXNzaW9uKTs8L0RJVj4NCjxESVY+PC9ESVY+DQo8RElWPiZuYnNwOzwvRElWPg0KPERJ
Vj4jaWZkZWYmbmJzcDtXSU4zMjwvRElWPg0KPERJVj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtj
bG9zZXNvY2tldChzb2NrKTs8L0RJVj4NCjxESVY+I2Vsc2U8L0RJVj4NCjxESVY+Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Y2xvc2Uoc29jayk7PC9ESVY+DQo8RElWPiNlbmRpZjwvRElWPg0KPERJ
Vj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtmcHJpbnRmKHN0ZGVyciwmbmJzcDsiYWxsJm5ic3A7
ZG9uZVxuIik7PC9ESVY+DQo8RElWPiZuYnNwOzwvRElWPg0KPERJVj4mbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDtsaWJzc2gyX2V4aXQoKTs8L0RJVj4NCjxESVY+cmV0dXJuJm5ic3A7TlVMTCZuYnNw
Ozs8L0RJVj4NCjxESVY+fTwvRElWPg0KPERJVj48L0RJVj4NCjxESVY+aW50Jm5ic3A7bWFpbihp
bnQmbmJzcDthcmdjLCZuYnNwO2NoYXIqKiZuYnNwO2FyZ3YpPC9ESVY+DQo8RElWPns8L0RJVj4N
CjxESVY+aW50Jm5ic3A7bnRocmVhZCZuYnNwOz0mbmJzcDsxOyZuYnNwOzwvRElWPg0KPERJVj5w
dGhyZWFkX3QmbmJzcDt0aWQ7Jm5ic3A7PC9ESVY+DQo8RElWPnByaW50ZigiaW4mbmJzcDttYWlu
Li4uLi4uLi4uLlxuIikmbmJzcDs7PC9ESVY+DQo8RElWPmZvcihpbnQmbmJzcDtpPTA7aSZsdDtu
dGhyZWFkO2krKykmbmJzcDs8L0RJVj4NCjxESVY+eyZuYnNwOzwvRElWPg0KPERJVj5wdGhyZWFk
X2NyZWF0ZSgmYW1wO3RpZCxOVUxMLHdvcmtfdGhyZWFkLE5VTEwpOyZuYnNwOzwvRElWPg0KPERJ
Vj59Jm5ic3A7PC9ESVY+DQo8RElWPjwvRElWPg0KPERJVj5mb3IoaW50Jm5ic3A7aT0wOyZuYnNw
O2kmbHQ7bnRocmVhZDtpKyspJm5ic3A7PC9ESVY+DQo8RElWPns8L0RJVj4NCjxESVY+cHRocmVh
ZF9qb2luKHRpZCwmbmJzcDtOVUxMKSZuYnNwOzs8L0RJVj4NCjxESVY+fTwvRElWPg0KPERJVj4v
L3dvcmtfdGhyZWFkKE5VTEwpJm5ic3A7Oy8vbm9ybWFsPC9ESVY+DQo8RElWPnJldHVybiZuYnNw
OzAmbmJzcDs7PC9ESVY+DQo8RElWPn08L0RJVj48L1NQQU4+PC9GT05UPjwvRElWPg0KPERJVj4m
bmJzcDs8L0RJVj4NCjxESVY+Jm5ic3A7PC9ESVY+DQo8RElWPjxGT05UIHNpemU9MiBmYWNlPVZl
cmRhbmE+PC9GT05UPiZuYnNwOzwvRElWPg0KPERJViBhbGlnbj1sZWZ0PjxGT05UIGNvbG9yPSNj
MGMwYzAgc2l6ZT0yIA0KZmFjZT1WZXJkYW5hPjIwMTQtMDItMTImbmJzcDsxMTowODozODwvRk9O
VD48L0RJVj48Rk9OVCBzaXplPTIgZmFjZT1WZXJkYW5hPg0KPEhSIHN0eWxlPSJXSURUSDogMzY0
cHg7IEhFSUdIVDogMnB4IiBhbGlnbj1sZWZ0IFNJWkU9Mj4NCg0KPERJVj48Rk9OVCBjb2xvcj0j
YzBjMGMwIHNpemU9MiBmYWNlPVZlcmRhbmE+PC9GT05UPiZuYnNwOzwvRElWPg0KPERJVj48Rk9O
VCBjb2xvcj0jYzBjMGMwIHNpemU9MiBmYWNlPVZlcmRhbmE+PFNQQU4+DQo8RElWPg0KPERJViBz
dHlsZT0icGFnZTogU2VjdGlvbjEiIGNsYXNzPVNlY3Rpb24xPg0KPERJVj4NCjxQIA0Kc3R5bGU9
Ik1BUkdJTjogMGNtIDBjbSAwcHQ7IEZPTlQtRkFNSUxZOiBTaW1TdW47IEZPTlQtU0laRTogMTJw
dDsgbXNvLW1hcmdpbi10b3AtYWx0OiBhdXRvOyBtc28tbWFyZ2luLWJvdHRvbS1hbHQ6IGF1dG87
IG1zby1zdHlsZS11bmhpZGU6IG5vOyBtc28tc3R5bGUtcWZvcm1hdDogeWVzOyBtc28tc3R5bGUt
cGFyZW50OiAnJzsgbXNvLXBhZ2luYXRpb246IHdpZG93LW9ycGhhbjsgbXNvLWJpZGktZm9udC1m
YW1pbHk6IFNpbVN1biIgDQpjbGFzcz1Nc29Ob3JtYWw+PFNQQU4gc3R5bGU9IkNPTE9SOiBuYXZ5
OyBGT05ULVNJWkU6IDExcHQiPtDP1r7D9zxTUEFOIA0KbGFuZz1FTi1VUz48QlI+QklMTElORzwv
U1BBTj6y+sa31tDQxDxTUEFOIA0KbGFuZz1FTi1VUz48QlI+PEJSPjwvU1BBTj6xsb6pzOzUtLXP
v8bQxc+ivLzK9dPQz965q8u+PFNQQU4gbGFuZz1FTi1VUz48QlI+PC9TUEFOPsrWu/qjujxTUEFO
IA0KbGFuZz1FTi1VUz4xODYwMDU3ODcyNyA8QlI+PC9TUEFOPtPKz+SjuiA8U1BBTiBsYW5nPUVO
LVVTPjxBIA0KaHJlZj0ibWFpbHRvOnhpbmd6bUB0eWRpYy5jb20iPnhpbmd6bUB0eWRpYy5jb208
L0E+PEJSPjwvU1BBTj7N+Na3o7ogDQo8L1NQQU4+PFU+PFNQQU4gc3R5bGU9IkNPTE9SOiBibHVl
OyBGT05ULVNJWkU6IDExcHQiIA0KbGFuZz1FTi1VUz5odHRwOi8vPC9TUEFOPjwvVT48U1BBTiBz
dHlsZT0iQ09MT1I6IG5hdnk7IEZPTlQtU0laRTogMTFwdCIgDQpsYW5nPUVOLVVTPjxBIGhyZWY9
Imh0dHA6Ly93d3cudHlkaWMuY29tLyI+d3d3LnR5ZGljLmNvbTwvQT48QlI+PC9TUEFOPjxTUEFO
IA0Kc3R5bGU9IkNPTE9SOiBuYXZ5OyBGT05ULVNJWkU6IDExcHQiPrXY1rc8U1BBTiBsYW5nPUVO
LVVTPjogDQo8L1NQQU4+sbG+qcrQuqO17cf4sbHLxLu3zvfCtzxTUEFOIGxhbmc9RU4tVVM+NTY8
L1NQQU4+usW71LvNyrG0+rTzz8M8U1BBTiANCmxhbmc9RU4tVVM+OUY8QlI+PC9TUEFOPtPKseCj
ujxTUEFOIA0KbGFuZz1FTi1VUz4xMDAwODA8bzpwPjwvbzpwPjwvU1BBTj48L1NQQU4+PC9QPjwv
RElWPjwvRElWPjwvRElWPjwvU1BBTj48L0ZPTlQ+PC9ESVY+PC9GT05UPjwvQk9EWT48L0hUTUw+
DQo=

--=====003_Dragon400657377421_=====--


--===============0312092866==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel

--===============0312092866==--

From libssh2-devel-bounces@cool.haxx.se  Wed Feb 12 19:10:23 2014
Return-Path: <libssh2-devel-bounces@cool.haxx.se>
Received: from www.haxx.se (list@localhost.localdomain [127.0.0.1])
	by giant.haxx.se (8.14.4/8.14.4/Debian-4.1) with ESMTP id s1CI9w12014380;
	Wed, 12 Feb 2014 19:10:18 +0100
Received: from foo.stuge.se (qmailr@foo.stuge.se [212.116.89.98])
 by giant.haxx.se (8.14.4/8.14.4/Debian-4.1) with ESMTP id s1CI9uf0014251
 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT)
 for <libssh2-devel@cool.haxx.se>; Wed, 12 Feb 2014 19:09:56 +0100
Received: (qmail 29801 invoked by uid 501); 12 Feb 2014 18:09:56 -0000
Message-ID: <20140212180956.29800.qmail@stuge.se>
Date: Wed, 12 Feb 2014 19:09:56 +0100
From: Peter Stuge <peter@stuge.se>
To: libssh2-devel@cool.haxx.se
Subject: Re: multithread calls libssh2_session_handshake,error,return -13
Mail-Followup-To: libssh2-devel@cool.haxx.se
References: <201402121110544585944@gmail.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <201402121110544585944@gmail.com>
X-BeenThere: libssh2-devel@cool.haxx.se
X-Mailman-Version: 2.1.16
Precedence: list
Reply-To: libssh2 development <libssh2-devel@cool.haxx.se>
List-Id: libssh2 development <libssh2-devel.cool.haxx.se>
List-Unsubscribe: <http://cool.haxx.se/cgi-bin/mailman/options/libssh2-devel>, 
 <mailto:libssh2-devel-request@cool.haxx.se?subject=unsubscribe>
List-Archive: <http://cool.haxx.se/pipermail/libssh2-devel/>
List-Post: <mailto:libssh2-devel@cool.haxx.se>
List-Help: <mailto:libssh2-devel-request@cool.haxx.se?subject=help>
List-Subscribe: <http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel>, 
 <mailto:libssh2-devel-request@cool.haxx.se?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Errors-To: libssh2-devel-bounces@cool.haxx.se
Sender: "libssh2-devel" <libssh2-devel-bounces@cool.haxx.se>

xingzhiming wrote:
> How to use multi-thread calls libssh2?

Protect all calls which use the same session with a mutex.


//Peter
_______________________________________________
libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel

From libssh2-devel-bounces@cool.haxx.se  Wed Feb 12 19:51:22 2014
Return-Path: <libssh2-devel-bounces@cool.haxx.se>
Received: from www.haxx.se (list@localhost.localdomain [127.0.0.1])
	by giant.haxx.se (8.14.4/8.14.4/Debian-4.1) with ESMTP id s1CIpE6t032457;
	Wed, 12 Feb 2014 19:51:19 +0100
Received: from mail-vb0-x236.google.com (mail-vb0-x236.google.com
 [IPv6:2607:f8b0:400c:c02::236])
 by giant.haxx.se (8.14.4/8.14.4/Debian-4.1) with ESMTP id s1CIpAvY032041
 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=NOT)
 for <libssh2-devel@cool.haxx.se>; Wed, 12 Feb 2014 19:51:11 +0100
Received: by mail-vb0-f54.google.com with SMTP id w20so7412850vbb.13
 for <libssh2-devel@cool.haxx.se>; Wed, 12 Feb 2014 10:51:06 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
 h=mime-version:sender:in-reply-to:references:date:message-id:subject
 :from:to:content-type;
 bh=tHKYTtWCSuCpDjGD2ZBBsTKiaBmorvFO36OAQTTEcbY=;
 b=MEspwkWz5qkmXeTx0vrACZ1KAJ1m1QS1N2SYD7lTzQHJFKMkEjw3swyYc2/xOzqDsu
 6Rp+MnNE8dGTUPnYFkBCVXavaI3VYgdFKB1cV4uX6LDJK/AD32A4I7HZANjHkYyMOnkG
 eaLZMEKE6YTzUDdL6JFzI8W3PpM1LwHzFSia+ZndJQAtXgVWqeEmrDLAvq6WaJQ69BVl
 qQbjUOik+zzpE4TVOGN/HcvP9uu10Yzq4OgP8+dOzLdlGY6nS2HtVguxerBAMXX6mvjq
 7uZd57IPvwoMGEnLY8t50asYIZuWaKBJn1x/92elvOxy0yDIfU4XsNrSlOEZBFHlIa+l
 gN+g==
MIME-Version: 1.0
X-Received: by 10.53.0.230 with SMTP id bb6mr944284vdd.39.1392231066344; Wed,
 12 Feb 2014 10:51:06 -0800 (PST)
Received: by 10.52.189.73 with HTTP; Wed, 12 Feb 2014 10:51:06 -0800 (PST)
In-Reply-To: <20140212180956.29800.qmail@stuge.se>
References: <201402121110544585944@gmail.com>
 <20140212180956.29800.qmail@stuge.se>
Date: Wed, 12 Feb 2014 18:51:06 +0000
X-Google-Sender-Auth: xslhH6kiW_Xg-Hk3Lv-mQRO8XJg
Message-ID: <CADyPeTMYPdOH=soOeEqwLy6NCp=j6F6ZVMUZQ5iKtJ6sjo7-wQ@mail.gmail.com>
Subject: Re: multithread calls libssh2_session_handshake,error,return -13
From: Alexander Lamaison <swish@lammy.co.uk>
To: libssh2 development <libssh2-devel@cool.haxx.se>
X-BeenThere: libssh2-devel@cool.haxx.se
X-Mailman-Version: 2.1.16
Precedence: list
Reply-To: libssh2 development <libssh2-devel@cool.haxx.se>
List-Id: libssh2 development <libssh2-devel.cool.haxx.se>
List-Unsubscribe: <http://cool.haxx.se/cgi-bin/mailman/options/libssh2-devel>, 
 <mailto:libssh2-devel-request@cool.haxx.se?subject=unsubscribe>
List-Archive: <http://cool.haxx.se/pipermail/libssh2-devel/>
List-Post: <mailto:libssh2-devel@cool.haxx.se>
List-Help: <mailto:libssh2-devel-request@cool.haxx.se?subject=help>
List-Subscribe: <http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel>, 
 <mailto:libssh2-devel-request@cool.haxx.se?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Errors-To: libssh2-devel-bounces@cool.haxx.se
Sender: "libssh2-devel" <libssh2-devel-bounces@cool.haxx.se>

On 12 February 2014 18:09, Peter Stuge <peter@stuge.se> wrote:
> xingzhiming wrote:
>> How to use multi-thread calls libssh2?
>
> Protect all calls which use the same session with a mutex.

At a quick glance, the OP's code doesn't share sessions between
threads, so it's more likely an issue with multiple threads calling
the crypto backend.  In particular libssh2_init is not thread safe,
but the OP calls this in the worker thread.  Instead they should call
it once for the entire program before spawning any worker threads.

Alex

-- 
Swish - Easy SFTP for Windows Explorer (http://www.swish-sftp.org)
_______________________________________________
libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel

From libssh2-devel-bounces@cool.haxx.se  Thu Feb 13 09:15:13 2014
Return-Path: <libssh2-devel-bounces@cool.haxx.se>
Received: from www.haxx.se (list@localhost.localdomain [127.0.0.1])
	by giant.haxx.se (8.14.4/8.14.4/Debian-4.1) with ESMTP id s1D8EBpo008180;
	Thu, 13 Feb 2014 09:15:09 +0100
Received: from mail-yh0-x22b.google.com (mail-yh0-x22b.google.com
 [IPv6:2607:f8b0:4002:c01::22b])
 by giant.haxx.se (8.14.4/8.14.4/Debian-4.1) with ESMTP id s1D8E9te008073
 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=NOT)
 for <libssh2-devel@cool.haxx.se>; Thu, 13 Feb 2014 09:14:10 +0100
Received: by mail-yh0-f43.google.com with SMTP id z6so9614497yhz.2
 for <libssh2-devel@cool.haxx.se>; Thu, 13 Feb 2014 00:14:03 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
 h=mime-version:in-reply-to:references:date:message-id:subject:from:to
 :content-type; bh=SJ8/l1LJxtjCogs8UsTjkCMm+YuZvIoEFulQKp5JQIE=;
 b=NLNi2Y4EBd3indHHComSDRPBlLFb6X3Asf8Yv5c+6XpgxCOqCLG02Xq98IrxZDm//a
 GzwxYBMOYbayTajr4OD5e9BD6z1q6HMv+08r5wgyDkoaGiLT0fLx0tuoZStgmaykWkqy
 tLjqB+IFfJGqu41e15JrYprNXBslZnWC2iGqfDRIM5XHhkkNGhJe2Bs39PTxPRznVSMX
 SEzPotCsUlNvseYFPsk47fckAhfMCSnGP07mLJn6OzHgxkGqXAfYuRLhb2+iPkMWGDZ6
 T8aJqxoqn+Id41BfNGAan8u62BSAcqEUoHdrELfdPfd93ka9dDXFa6N1mx/65ovHWPwe
 MWPg==
MIME-Version: 1.0
X-Received: by 10.236.102.102 with SMTP id c66mr29114yhg.153.1392279243381;
 Thu, 13 Feb 2014 00:14:03 -0800 (PST)
Received: by 10.170.140.86 with HTTP; Thu, 13 Feb 2014 00:14:03 -0800 (PST)
In-Reply-To: <201402121110544585944@gmail.com>
References: <201402121110544585944@gmail.com>
Date: Thu, 13 Feb 2014 09:14:03 +0100
Message-ID: <CAGcfsRC+80w7VbXV7yiwd3m0-ZEyLEx4pPnBw_qxTrQiDC527A@mail.gmail.com>
Subject: Re: multithread calls libssh2_session_handshake,error,return -13
From: Alfred Gebert <alfred.gebert@gmail.com>
To: libssh2 development <libssh2-devel@cool.haxx.se>
X-BeenThere: libssh2-devel@cool.haxx.se
X-Mailman-Version: 2.1.16
Precedence: list
Reply-To: libssh2 development <libssh2-devel@cool.haxx.se>
List-Id: libssh2 development <libssh2-devel.cool.haxx.se>
List-Unsubscribe: <http://cool.haxx.se/cgi-bin/mailman/options/libssh2-devel>, 
 <mailto:libssh2-devel-request@cool.haxx.se?subject=unsubscribe>
List-Archive: <http://cool.haxx.se/pipermail/libssh2-devel/>
List-Post: <mailto:libssh2-devel@cool.haxx.se>
List-Help: <mailto:libssh2-devel-request@cool.haxx.se?subject=help>
List-Subscribe: <http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel>, 
 <mailto:libssh2-devel-request@cool.haxx.se?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Errors-To: libssh2-devel-bounces@cool.haxx.se
Sender: "libssh2-devel" <libssh2-devel-bounces@cool.haxx.se>

On Wed, Feb 12, 2014 at 4:10 AM, xingzhiming <xingzhiming@gmail.com> wrote:
>
> hi,all
> When using multiple threads, in libssh2_session_handshake abnormal.
>  If you do not multi-threaded, no problem.  How to use multi-thread calls libssh2?
>

I had a similar problem. Perhaps my solution can you help as well.

If I created a session I got the error:
  Unable to exchange encryption keys

I enabled verbose logging and did run the application with truss
(similar to strace on Linux) on Solaris.

  /13: recv(11, 0xFFFFFD7FFBA05B17, 1, 0) Err#11 EAGAIN
  _libssh2_recv: rc=-1 errno=125
  [libssh2] 0.758411 Socket: Error recving 1 bytes: 125

On the first line above a recv() system call returned with -1 and
errno was 11 (EAGAIN). But on the second and third line errno was 125.
The second line is a debug output which I added to the source directly
after the recv() statement.

The source of the problem was that I didn't compile libssh2 with
correct compiler flags for multi-threading. If you do not pay
attention on Solaris then errno is a global variable. Using gcc
compiler you can add "-pthread" as compile and link flag to enable
thread local storage of errno. Using -D_REENTRANT on Solaris as
compile flag also works. My configure call is now is e.g.
  CFLAGS="-m64 -pthread" LDFLAGS="-m64 -pthread" ./configure
--with-openssl --with-libssl-prefix=$HOME/local --with-libz
--with-libz-prefix=$HOME/local --prefix=$HOME/local
_______________________________________________
libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel

From libssh2-devel-bounces@cool.haxx.se  Thu Feb 13 10:29:15 2014
Return-Path: <libssh2-devel-bounces@cool.haxx.se>
Received: from www.haxx.se (list@localhost.localdomain [127.0.0.1])
	by giant.haxx.se (8.14.4/8.14.4/Debian-4.1) with ESMTP id s1D9T2tO011198;
	Thu, 13 Feb 2014 10:29:13 +0100
Received: from notes.intercope.com (notes.intercope.com [217.89.50.104])
 by giant.haxx.se (8.14.4/8.14.4/Debian-4.1) with ESMTP id s1D9T0v9011064
 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT)
 for <libssh2-devel@cool.haxx.se>; Thu, 13 Feb 2014 10:29:00 +0100
Received: from [192.168.150.104] (port=64098 helo=NOTES.INTERCOPE.COM)
 by notes.intercope.com with esmtp (Exim 4.76)
 (envelope-from <mkwasigr@intercope.com>) id 1WDsbL-0007mW-0G
 for libssh2-devel@cool.haxx.se; Thu, 13 Feb 2014 10:28:59 +0100
In-Reply-To: <CAGcfsRC+80w7VbXV7yiwd3m0-ZEyLEx4pPnBw_qxTrQiDC527A@mail.gmail.com>
To: libssh2 development <libssh2-devel@cool.haxx.se>
Subject: Re: multithread calls libssh2_session_handshake,error,return -13
From: "Michael Kwasigroch" <mkwasigr@intercope.com>
Message-ID: <OF538ADDBC.3D112E73-ONC1257C7E.00321948-C1257C7E.0034177A@LocalDomain>
Date: Thu, 13 Feb 2014 10:28:41 +0100
References: <201402121110544585944@gmail.com>
 <CAGcfsRC+80w7VbXV7yiwd3m0-ZEyLEx4pPnBw_qxTrQiDC527A@mail.gmail.com>
MIME-Version: 1.0
X-KeepSent: 538ADDBC:3D112E73-C1257C7E:00321948; name=$KeepSent; type=4
X-Mailer: IBM Notes Release 9.0.1 October 14, 2013
X-Disclaimed: 45043
X-BeenThere: libssh2-devel@cool.haxx.se
X-Mailman-Version: 2.1.16
Precedence: list
Reply-To: libssh2 development <libssh2-devel@cool.haxx.se>
List-Id: libssh2 development <libssh2-devel.cool.haxx.se>
List-Unsubscribe: <http://cool.haxx.se/cgi-bin/mailman/options/libssh2-devel>, 
 <mailto:libssh2-devel-request@cool.haxx.se?subject=unsubscribe>
List-Archive: <http://cool.haxx.se/pipermail/libssh2-devel/>
List-Post: <mailto:libssh2-devel@cool.haxx.se>
List-Help: <mailto:libssh2-devel-request@cool.haxx.se?subject=help>
List-Subscribe: <http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel>, 
 <mailto:libssh2-devel-request@cool.haxx.se?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============1441510264=="
Errors-To: libssh2-devel-bounces@cool.haxx.se
Sender: "libssh2-devel" <libssh2-devel-bounces@cool.haxx.se>


--===============1441510264==
Content-Type: multipart/alternative; boundary="=_alternative 0034177AC1257C7E_="


--=_alternative 0034177AC1257C7E_=
Content-Type: text/plain;
	charset=UTF-8
Content-Transfer-Encoding: base64

QWxmcmVkLA0KDQooQEFMTDogc29ycnkgdG8gaGl0Y2hoaWtlIHRoaXMgdGhyZWFkKQ0KDQppbiB5
b3VyIGNvbmZpZ3VyZSBjYWxsIHlvdSB1c2UgLS13aXRoLVhYWC1wcmVmaXggLSB0aGlzIG5ldmVy
IHdvcmtlZCBmb3IgDQptZSwgbmVpdGhlciBpbiB0aGUgc3RhYmxlIG5vciB0aGUgZGV2ZWxvcG1l
bnQgdmVyc2lvbnMgb2YgbGlic3NoMiBvbiBBSVgsIA0KU29sYXJpcyBhbmQgTGludXguDQoNCkhh
dmUgeW91IGNoZWNrZWQgdGhhdCB0aGUgY29tcGlsZWQgbGlic3NoMi5zbyB3YXMgYWN0dWFsbHkg
bGlua2VkIHRvIHRoZSANCnNobGlicyBpbiAkSE9NRS8uLi4/DQoNCkkgc3RpbGwgc3VzcGVjdCB0
aGF0IC0td2l0aC1YWFgtcHJlZml4IGRvZXMgbm90IHdvcmsgaW4gbGlic3NoMi4gVGhlIGJ1aWxk
IA0KcHJvY2VzcyBhbHdheXMgdXNlZCB0aGUgc3RhbmRhcmQgbGlicyBsb2NhdGVkIGluIC91c3Iv
bGliIChvciAvdXNyL2xpYjY0IA0KZXRjLikgcmVnYXJkbGVzcyBvZiB0aGUgc2V0dGluZ3Mgb2Yg
LS13aXRoLVhYWC1wcmVmaXguDQoNCklmIHlvdSBmaW5kIHRoZSBzYW1lIHdlIG1heSBnZXQgb24g
dG8gZmluZCBhbmQgZml4IGl0IChvciBmaWxlIGEgYnVnIA0KcmVwb3J0IGZvciB0aGUgY29uZmln
dXJlIGV4cGVydHMpLg0KDQpUaGFua3MhDQoNCk1pdCBmcmV1bmRsaWNoZW4gR3J1ZXNzZW4gLyBi
ZXN0IHJlZ2FyZHMNCg0KTWljaGFlbCBLd2FzaWdyb2NoDQpEZXZlbG9wbWVudA0KX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQoN
Ck9mZmljZSBudW1iZXI6ICAgKzQ5IDQwIDUxNCA1Mi0xNzUgDQpPZmZpY2UgZmF4OiAgICAgICs0
OSA0MCA1MTQgNTItMTAwIA0KRW1haWw6ICAgICAgICAgICBta3dhc2lnckBpbnRlcmNvcGUuY29t
IA0KDQp3d3cuaW50ZXJjb3BlLmNvbQ0KDQoNCg0KRnJvbTogICBBbGZyZWQgR2ViZXJ0IDxhbGZy
ZWQuZ2ViZXJ0QGdtYWlsLmNvbT4NClRvOiAgICAgbGlic3NoMiBkZXZlbG9wbWVudCA8bGlic3No
Mi1kZXZlbEBjb29sLmhheHguc2U+DQpEYXRlOiAgIDEzLjAyLjIwMTQgMDk6MTYNClN1YmplY3Q6
ICAgICAgICBSZTogbXVsdGl0aHJlYWQgY2FsbHMgDQpsaWJzc2gyX3Nlc3Npb25faGFuZHNoYWtl
LGVycm9yLHJldHVybiAtMTMNClNlbnQgYnk6ICAgICAgICAibGlic3NoMi1kZXZlbCIgPGxpYnNz
aDItZGV2ZWwtYm91bmNlc0Bjb29sLmhheHguc2U+DQoNCg0KDQpPbiBXZWQsIEZlYiAxMiwgMjAx
NCBhdCA0OjEwIEFNLCB4aW5nemhpbWluZyA8eGluZ3poaW1pbmdAZ21haWwuY29tPiANCndyb3Rl
Og0KPg0KPiBoaSxhbGwNCj4gV2hlbiB1c2luZyBtdWx0aXBsZSB0aHJlYWRzLCBpbiBsaWJzc2gy
X3Nlc3Npb25faGFuZHNoYWtlIGFibm9ybWFsLg0KPiAgSWYgeW91IGRvIG5vdCBtdWx0aS10aHJl
YWRlZCwgbm8gcHJvYmxlbS4gIEhvdyB0byB1c2UgbXVsdGktdGhyZWFkIA0KY2FsbHMgbGlic3No
Mj8NCj4NCg0KSSBoYWQgYSBzaW1pbGFyIHByb2JsZW0uIFBlcmhhcHMgbXkgc29sdXRpb24gY2Fu
IHlvdSBoZWxwIGFzIHdlbGwuDQoNCklmIEkgY3JlYXRlZCBhIHNlc3Npb24gSSBnb3QgdGhlIGVy
cm9yOg0KICBVbmFibGUgdG8gZXhjaGFuZ2UgZW5jcnlwdGlvbiBrZXlzDQoNCkkgZW5hYmxlZCB2
ZXJib3NlIGxvZ2dpbmcgYW5kIGRpZCBydW4gdGhlIGFwcGxpY2F0aW9uIHdpdGggdHJ1c3MNCihz
aW1pbGFyIHRvIHN0cmFjZSBvbiBMaW51eCkgb24gU29sYXJpcy4NCg0KICAvMTM6IHJlY3YoMTEs
IDB4RkZGRkZEN0ZGQkEwNUIxNywgMSwgMCkgRXJyIzExIEVBR0FJTg0KICBfbGlic3NoMl9yZWN2
OiByYz0tMSBlcnJubz0xMjUNCiAgW2xpYnNzaDJdIDAuNzU4NDExIFNvY2tldDogRXJyb3IgcmVj
dmluZyAxIGJ5dGVzOiAxMjUNCg0KT24gdGhlIGZpcnN0IGxpbmUgYWJvdmUgYSByZWN2KCkgc3lz
dGVtIGNhbGwgcmV0dXJuZWQgd2l0aCAtMSBhbmQNCmVycm5vIHdhcyAxMSAoRUFHQUlOKS4gQnV0
IG9uIHRoZSBzZWNvbmQgYW5kIHRoaXJkIGxpbmUgZXJybm8gd2FzIDEyNS4NClRoZSBzZWNvbmQg
bGluZSBpcyBhIGRlYnVnIG91dHB1dCB3aGljaCBJIGFkZGVkIHRvIHRoZSBzb3VyY2UgZGlyZWN0
bHkNCmFmdGVyIHRoZSByZWN2KCkgc3RhdGVtZW50Lg0KDQpUaGUgc291cmNlIG9mIHRoZSBwcm9i
bGVtIHdhcyB0aGF0IEkgZGlkbid0IGNvbXBpbGUgbGlic3NoMiB3aXRoDQpjb3JyZWN0IGNvbXBp
bGVyIGZsYWdzIGZvciBtdWx0aS10aHJlYWRpbmcuIElmIHlvdSBkbyBub3QgcGF5DQphdHRlbnRp
b24gb24gU29sYXJpcyB0aGVuIGVycm5vIGlzIGEgZ2xvYmFsIHZhcmlhYmxlLiBVc2luZyBnY2MN
CmNvbXBpbGVyIHlvdSBjYW4gYWRkICItcHRocmVhZCIgYXMgY29tcGlsZSBhbmQgbGluayBmbGFn
IHRvIGVuYWJsZQ0KdGhyZWFkIGxvY2FsIHN0b3JhZ2Ugb2YgZXJybm8uIFVzaW5nIC1EX1JFRU5U
UkFOVCBvbiBTb2xhcmlzIGFzDQpjb21waWxlIGZsYWcgYWxzbyB3b3Jrcy4gTXkgY29uZmlndXJl
IGNhbGwgaXMgbm93IGlzIGUuZy4NCiAgQ0ZMQUdTPSItbTY0IC1wdGhyZWFkIiBMREZMQUdTPSIt
bTY0IC1wdGhyZWFkIiAuL2NvbmZpZ3VyZQ0KLS13aXRoLW9wZW5zc2wgLS13aXRoLWxpYnNzbC1w
cmVmaXg9JEhPTUUvbG9jYWwgLS13aXRoLWxpYnoNCi0td2l0aC1saWJ6LXByZWZpeD0kSE9NRS9s
b2NhbCAtLXByZWZpeD0kSE9NRS9sb2NhbA0KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX18NCmxpYnNzaDItZGV2ZWwgaHR0cDovL2Nvb2wuaGF4eC5zZS9jZ2kt
YmluL21haWxtYW4vbGlzdGluZm8vbGlic3NoMi1kZXZlbA0KDQoNCl9fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18gDQpJTlRFUkNP
UEUgSW50ZXJuYXRpb25hbCBDb21tdW5pY2F0aW9uIFByb2R1Y3RzIEVuZ2luZWVyaW5nIEdtYkgg
DQpIaW1tZWxzdHJhc3NlIDEyLTE2LCAyMjI5OSBIYW1idXJnLCBHZXJtYW55IA0KTWFuYWdpbmcg
RGlyZWN0b3JzOiBSZWluaGFydCBMYXVtZXIsIEZyYW5rIEtvbGxlbmRlciANCkNvbW1lcmNpYWwg
UmVnaXN0cnk6IEFtdHNnZXJpY2h0IEhhbWJ1cmcsIEhSQiAzMSA2MzggDQpfX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fIA0KVGhp
cyBlLW1haWwgbWF5IGNvbnRhaW4gY29uZmlkZW50aWFsIGFuZC9vciBwcml2aWxlZ2VkIGluZm9y
bWF0aW9uLiBJZiB5b3UgYXJlIG5vdCB0aGUgaW50ZW5kZWQgcmVjaXBpZW50IChvciBoYXZlIHJl
Y2VpdmVkIHRoaXMgZS1tYWlsIGluIGVycm9yKSBwbGVhc2Ugbm90aWZ5IHRoZSBzZW5kZXIgaW1t
ZWRpYXRlbHkgYW5kIGRlc3Ryb3kgdGhpcyBlLW1haWwuIEFueSB1bmF1dGhvcml6ZWQgY29weWlu
ZywgZGlzY2xvc3VyZSBvciBkaXN0cmlidXRpb24gb2YgdGhlIG1hdGVyaWFsIGluIHRoaXMgZS1t
YWlsIGlzIHN0cmljdGx5IGZvcmJpZGRlbi4gDQpEaWVzZSBFLU1haWwgZW50aMOkbHQgdmVydHJh
dWxpY2hlIHVuZC9vZGVyIHJlY2h0bGljaCBnZXNjaMO8dHp0ZSBJbmZvcm1hdGlvbmVuLiBXZW5u
IFNpZSBuaWNodCBkZXIgcmljaHRpZ2UgQWRyZXNzYXQgc2luZCBvZGVyIGRpZXNlIEUtTWFpbCBp
cnJ0w7xtbGljaCBlcmhhbHRlbiBoYWJlbiwgaW5mb3JtaWVyZW4gU2llIGJpdHRlIHNvZm9ydCBk
ZW4gQWJzZW5kZXIgdW5kIHZlcm5pY2h0ZW4gU2llIGRpZXNlIE1haWwuIERhcyB1bmVybGF1YnRl
IEtvcGllcmVuIHNvd2llIGRpZSB1bmJlZnVndGUgV2VpdGVyZ2FiZSBkaWVzZXIgTWFpbCBpc3Qg
bmljaHQgZ2VzdGF0dGV0LiANCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX18g

--=_alternative 0034177AC1257C7E_=
Content-Type: text/html;
	charset=UTF-8
Content-Transfer-Encoding: base64

PGZvbnQgc2l6ZT0yIGZhY2U9InNhbnMtc2VyaWYiPkFsZnJlZCw8L2ZvbnQ+PGJyPjxicj48Zm9u
dCBzaXplPTIgZmFjZT0ic2Fucy1zZXJpZiI+KEBBTEw6IHNvcnJ5IHRvIGhpdGNoaGlrZSB0aGlz
IHRocmVhZCk8L2ZvbnQ+PGJyPjxicj48Zm9udCBzaXplPTIgZmFjZT0ic2Fucy1zZXJpZiI+aW4g
eW91ciBjb25maWd1cmUgY2FsbCB5b3UgdXNlIDwvZm9udD48dHQ+PGZvbnQgc2l6ZT0yPi0td2l0
aC1YWFgtcHJlZml4PC9mb250PjwvdHQ+PGZvbnQgc2l6ZT0yIGZhY2U9InNhbnMtc2VyaWYiPi0g
dGhpcyBuZXZlciB3b3JrZWQgZm9yIG1lLCBuZWl0aGVyIGluIHRoZSBzdGFibGUgbm9yIHRoZSBk
ZXZlbG9wbWVudCB2ZXJzaW9ucw0Kb2YgbGlic3NoMiBvbiBBSVgsIFNvbGFyaXMgYW5kIExpbnV4
LjwvZm9udD48YnI+PGJyPjxmb250IHNpemU9MiBmYWNlPSJzYW5zLXNlcmlmIj5IYXZlIHlvdSBj
aGVja2VkIHRoYXQgdGhlIGNvbXBpbGVkIGxpYnNzaDIuc28NCndhcyBhY3R1YWxseSBsaW5rZWQg
dG8gdGhlIHNobGlicyBpbiAkSE9NRS8uLi4/PGJyPjwvZm9udD48YnI+PGZvbnQgc2l6ZT0yIGZh
Y2U9InNhbnMtc2VyaWYiPkkgc3RpbGwgc3VzcGVjdCB0aGF0IDwvZm9udD48dHQ+PGZvbnQgc2l6
ZT0yPi0td2l0aC1YWFgtcHJlZml4PC9mb250PjwvdHQ+PGZvbnQgc2l6ZT0yIGZhY2U9InNhbnMt
c2VyaWYiPmRvZXMgbm90IHdvcmsgaW4gbGlic3NoMi4gVGhlIGJ1aWxkIHByb2Nlc3MgYWx3YXlz
IHVzZWQgdGhlIHN0YW5kYXJkIGxpYnMNCmxvY2F0ZWQgaW4gL3Vzci9saWIgKG9yIC91c3IvbGli
NjQgZXRjLikgcmVnYXJkbGVzcyBvZiB0aGUgc2V0dGluZ3Mgb2YNCjwvZm9udD48dHQ+PGZvbnQg
c2l6ZT0yPi0td2l0aC1YWFgtcHJlZml4PC9mb250PjwvdHQ+PGZvbnQgc2l6ZT0yIGZhY2U9InNh
bnMtc2VyaWYiPi48L2ZvbnQ+PGJyPjxicj48Zm9udCBzaXplPTIgZmFjZT0ic2Fucy1zZXJpZiI+
SWYgeW91IGZpbmQgdGhlIHNhbWUgd2UgbWF5IGdldCBvbiB0bw0KZmluZCBhbmQgZml4IGl0IChv
ciBmaWxlIGEgYnVnIHJlcG9ydCBmb3IgdGhlIGNvbmZpZ3VyZSBleHBlcnRzKS48L2ZvbnQ+PGJy
Pjxicj48Zm9udCBzaXplPTIgZmFjZT0ic2Fucy1zZXJpZiI+VGhhbmtzITwvZm9udD48YnI+PGZv
bnQgc2l6ZT0yIGZhY2U9InNhbnMtc2VyaWYiPjxicj5NaXQgZnJldW5kbGljaGVuIEdydWVzc2Vu
IC8gYmVzdCByZWdhcmRzPGJyPjxicj5NaWNoYWVsIEt3YXNpZ3JvY2g8YnI+RGV2ZWxvcG1lbnQ8
YnI+X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fPGJyPjxicj5PZmZpY2UgbnVtYmVyOiAmbmJzcDsgKzQ5IDQwIDUxNCA1Mi0xNzUg
PGJyPk9mZmljZSBmYXg6ICZuYnNwOyAmbmJzcDsgJm5ic3A7KzQ5IDQwIDUxNCA1Mi0xMDAgPGJy
PkVtYWlsOiAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IG1rd2FzaWdyQGludGVy
Y29wZS5jb20gJm5ic3A7DQombmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw
OyAmbmJzcDsgJm5ic3A7ICZuYnNwOzxicj48YnI+PC9mb250PjxhIGhyZWY9d3d3LmludGVyY29w
ZS5jb20+PGZvbnQgc2l6ZT0yIGZhY2U9InNhbnMtc2VyaWYiPnd3dy5pbnRlcmNvcGUuY29tPC9m
b250PjwvYT48YnI+PGJyPjxicj48YnI+PGZvbnQgc2l6ZT0xIGNvbG9yPSM1ZjVmNWYgZmFjZT0i
c2Fucy1zZXJpZiI+RnJvbTogJm5ic3A7ICZuYnNwOyAmbmJzcDsNCiZuYnNwOzwvZm9udD48Zm9u
dCBzaXplPTEgZmFjZT0ic2Fucy1zZXJpZiI+QWxmcmVkIEdlYmVydCAmbHQ7YWxmcmVkLmdlYmVy
dEBnbWFpbC5jb20mZ3Q7PC9mb250Pjxicj48Zm9udCBzaXplPTEgY29sb3I9IzVmNWY1ZiBmYWNl
PSJzYW5zLXNlcmlmIj5UbzogJm5ic3A7ICZuYnNwOyAmbmJzcDsNCiZuYnNwOzwvZm9udD48Zm9u
dCBzaXplPTEgZmFjZT0ic2Fucy1zZXJpZiI+bGlic3NoMiBkZXZlbG9wbWVudA0KJmx0O2xpYnNz
aDItZGV2ZWxAY29vbC5oYXh4LnNlJmd0OzwvZm9udD48YnI+PGZvbnQgc2l6ZT0xIGNvbG9yPSM1
ZjVmNWYgZmFjZT0ic2Fucy1zZXJpZiI+RGF0ZTogJm5ic3A7ICZuYnNwOyAmbmJzcDsNCiZuYnNw
OzwvZm9udD48Zm9udCBzaXplPTEgZmFjZT0ic2Fucy1zZXJpZiI+MTMuMDIuMjAxNCAwOToxNjwv
Zm9udD48YnI+PGZvbnQgc2l6ZT0xIGNvbG9yPSM1ZjVmNWYgZmFjZT0ic2Fucy1zZXJpZiI+U3Vi
amVjdDogJm5ic3A7ICZuYnNwOw0KJm5ic3A7ICZuYnNwOzwvZm9udD48Zm9udCBzaXplPTEgZmFj
ZT0ic2Fucy1zZXJpZiI+UmU6IG11bHRpdGhyZWFkDQpjYWxscyBsaWJzc2gyX3Nlc3Npb25faGFu
ZHNoYWtlLGVycm9yLHJldHVybiAtMTM8L2ZvbnQ+PGJyPjxmb250IHNpemU9MSBjb2xvcj0jNWY1
ZjVmIGZhY2U9InNhbnMtc2VyaWYiPlNlbnQgYnk6ICZuYnNwOyAmbmJzcDsNCiZuYnNwOyAmbmJz
cDs8L2ZvbnQ+PGZvbnQgc2l6ZT0xIGZhY2U9InNhbnMtc2VyaWYiPiZxdW90O2xpYnNzaDItZGV2
ZWwmcXVvdDsNCiZsdDtsaWJzc2gyLWRldmVsLWJvdW5jZXNAY29vbC5oYXh4LnNlJmd0OzwvZm9u
dD48YnI+PGhyIG5vc2hhZGU+PGJyPjxicj48YnI+PHR0Pjxmb250IHNpemU9Mj5PbiBXZWQsIEZl
YiAxMiwgMjAxNCBhdCA0OjEwIEFNLCB4aW5nemhpbWluZyAmbHQ7eGluZ3poaW1pbmdAZ21haWwu
Y29tJmd0Ow0Kd3JvdGU6PGJyPiZndDs8YnI+Jmd0OyBoaSxhbGw8YnI+Jmd0OyBXaGVuIHVzaW5n
IG11bHRpcGxlIHRocmVhZHMsIGluIGxpYnNzaDJfc2Vzc2lvbl9oYW5kc2hha2UgYWJub3JtYWwu
PGJyPiZndDsgJm5ic3A7SWYgeW91IGRvIG5vdCBtdWx0aS10aHJlYWRlZCwgbm8gcHJvYmxlbS4g
Jm5ic3A7SG93IHRvIHVzZSBtdWx0aS10aHJlYWQNCmNhbGxzIGxpYnNzaDI/PGJyPiZndDs8YnI+
PGJyPkkgaGFkIGEgc2ltaWxhciBwcm9ibGVtLiBQZXJoYXBzIG15IHNvbHV0aW9uIGNhbiB5b3Ug
aGVscCBhcyB3ZWxsLjxicj48YnI+SWYgSSBjcmVhdGVkIGEgc2Vzc2lvbiBJIGdvdCB0aGUgZXJy
b3I6PGJyPiAmbmJzcDtVbmFibGUgdG8gZXhjaGFuZ2UgZW5jcnlwdGlvbiBrZXlzPGJyPjxicj5J
IGVuYWJsZWQgdmVyYm9zZSBsb2dnaW5nIGFuZCBkaWQgcnVuIHRoZSBhcHBsaWNhdGlvbiB3aXRo
IHRydXNzPGJyPihzaW1pbGFyIHRvIHN0cmFjZSBvbiBMaW51eCkgb24gU29sYXJpcy48YnI+PGJy
PiAmbmJzcDsvMTM6IHJlY3YoMTEsIDB4RkZGRkZEN0ZGQkEwNUIxNywgMSwgMCkgRXJyIzExIEVB
R0FJTjxicj4gJm5ic3A7X2xpYnNzaDJfcmVjdjogcmM9LTEgZXJybm89MTI1PGJyPiAmbmJzcDtb
bGlic3NoMl0gMC43NTg0MTEgU29ja2V0OiBFcnJvciByZWN2aW5nIDEgYnl0ZXM6IDEyNTxicj48
YnI+T24gdGhlIGZpcnN0IGxpbmUgYWJvdmUgYSByZWN2KCkgc3lzdGVtIGNhbGwgcmV0dXJuZWQg
d2l0aCAtMSBhbmQ8YnI+ZXJybm8gd2FzIDExIChFQUdBSU4pLiBCdXQgb24gdGhlIHNlY29uZCBh
bmQgdGhpcmQgbGluZSBlcnJubyB3YXMgMTI1Ljxicj5UaGUgc2Vjb25kIGxpbmUgaXMgYSBkZWJ1
ZyBvdXRwdXQgd2hpY2ggSSBhZGRlZCB0byB0aGUgc291cmNlIGRpcmVjdGx5PGJyPmFmdGVyIHRo
ZSByZWN2KCkgc3RhdGVtZW50Ljxicj48YnI+VGhlIHNvdXJjZSBvZiB0aGUgcHJvYmxlbSB3YXMg
dGhhdCBJIGRpZG4ndCBjb21waWxlIGxpYnNzaDIgd2l0aDxicj5jb3JyZWN0IGNvbXBpbGVyIGZs
YWdzIGZvciBtdWx0aS10aHJlYWRpbmcuIElmIHlvdSBkbyBub3QgcGF5PGJyPmF0dGVudGlvbiBv
biBTb2xhcmlzIHRoZW4gZXJybm8gaXMgYSBnbG9iYWwgdmFyaWFibGUuIFVzaW5nIGdjYzxicj5j
b21waWxlciB5b3UgY2FuIGFkZCAmcXVvdDstcHRocmVhZCZxdW90OyBhcyBjb21waWxlIGFuZCBs
aW5rIGZsYWcgdG8gZW5hYmxlPGJyPnRocmVhZCBsb2NhbCBzdG9yYWdlIG9mIGVycm5vLiBVc2lu
ZyAtRF9SRUVOVFJBTlQgb24gU29sYXJpcyBhczxicj5jb21waWxlIGZsYWcgYWxzbyB3b3Jrcy4g
TXkgY29uZmlndXJlIGNhbGwgaXMgbm93IGlzIGUuZy48YnI+ICZuYnNwO0NGTEFHUz0mcXVvdDst
bTY0IC1wdGhyZWFkJnF1b3Q7IExERkxBR1M9JnF1b3Q7LW02NCAtcHRocmVhZCZxdW90Ow0KLi9j
b25maWd1cmU8YnI+LS13aXRoLW9wZW5zc2wgLS13aXRoLWxpYnNzbC1wcmVmaXg9JEhPTUUvbG9j
YWwgLS13aXRoLWxpYno8YnI+LS13aXRoLWxpYnotcHJlZml4PSRIT01FL2xvY2FsIC0tcHJlZml4
PSRIT01FL2xvY2FsPGJyPl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fPGJyPmxpYnNzaDItZGV2ZWwgPC9mb250PjwvdHQ+PGEgaHJlZj0iaHR0cDovL2Nvb2wu
aGF4eC5zZS9jZ2ktYmluL21haWxtYW4vbGlzdGluZm8vbGlic3NoMi1kZXZlbCI+PHR0Pjxmb250
IHNpemU9Mj5odHRwOi8vY29vbC5oYXh4LnNlL2NnaS1iaW4vbWFpbG1hbi9saXN0aW5mby9saWJz
c2gyLWRldmVsPC9mb250PjwvdHQ+PC9hPjx0dD48Zm9udCBzaXplPTI+PGJyPjwvZm9udD48L3R0
Pjxicj48Zm9udCBmYWNlPSJzYW5zLXNlcmlmIj48Zm9udCBzaXplPSIyIiBmYWNlPSJEZWZhdWx0
IFNhbnMgU2VyaWYiPl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX188YnI+DQpJTlRFUkNPUEUgSW50ZXJuYXRpb25hbCBDb21tdW5p
Y2F0aW9uIFByb2R1Y3RzIEVuZ2luZWVyaW5nIEdtYkg8YnI+SGltbWVsc3RyYXNzZSAxMi0xNiwg
MjIyOTkgSGFtYnVyZywgR2VybWFueTxicj5NYW5hZ2luZyBEaXJlY3RvcnM6IFJlaW5oYXJ0IExh
dW1lciwgRnJhbmsgS29sbGVuZGVyPGJyPkNvbW1lcmNpYWwgUmVnaXN0cnk6IEFtdHNnZXJpY2h0
IEhhbWJ1cmcsIEhSQiAzMSA2Mzg8YnI+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX188YnI+DQpUaGlzIGUtbWFpbCBtYXkgY29u
dGFpbiBjb25maWRlbnRpYWwgYW5kL29yIHByaXZpbGVnZWQgaW5mb3JtYXRpb24uIElmIHlvdSAg
YXJlIG5vdCB0aGUgaW50ZW5kZWQgcmVjaXBpZW50IChvciBoYXZlIHJlY2VpdmVkIHRoaXMgZS1t
YWlsIGluIGVycm9yKSBwbGVhc2Ugbm90aWZ5IHRoZSBzZW5kZXIgaW1tZWRpYXRlbHkgYW5kIGRl
c3Ryb3kgdGhpcyBlLW1haWwuIEFueSB1bmF1dGhvcml6ZWQgY29weWluZywgZGlzY2xvc3VyZSBv
ciBkaXN0cmlidXRpb24gb2YgdGhlIG1hdGVyaWFsIGluIHRoaXMgZS1tYWlsIGlzIHN0cmljdGx5
IGZvcmJpZGRlbi48YnI+DQpEaWVzZSBFLU1haWwgZW50aCZhdW1sO2x0IHZlcnRyYXVsaWNoZSB1
bmQvb2RlciByZWNodGxpY2ggZ2VzY2gmdXVtbDt0enRlIEluZm9ybWF0aW9uZW4uIFdlbm4gU2ll
IG5pY2h0IGRlciByaWNodGlnZSBBZHJlc3NhdCBzaW5kIG9kZXIgZGllc2UgRS1NYWlsIGlycnQm
dXVtbDttbGljaCBlcmhhbHRlbiBoYWJlbiwgaW5mb3JtaWVyZW4gU2llIGJpdHRlIHNvZm9ydCBk
ZW4gQWJzZW5kZXIgdW5kIHZlcm5pY2h0ZW4gU2llIGRpZXNlIE1haWwuIERhcyB1bmVybGF1YnRl
IEtvcGllcmVuIHNvd2llIGRpZSB1bmJlZnVndGUgV2VpdGVyZ2FiZSBkaWVzZXIgTWFpbCBpc3Qg
bmljaHQgZ2VzdGF0dGV0Ljxicj4NCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX188YnI+DQo8L2ZvbnQ+PC9mb250Pg0K
--=_alternative 0034177AC1257C7E_=--

--===============1441510264==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel

--===============1441510264==--

From libssh2-devel-bounces@cool.haxx.se  Thu Feb 13 15:34:29 2014
Return-Path: <libssh2-devel-bounces@cool.haxx.se>
Received: from www.haxx.se (list@localhost.localdomain [127.0.0.1])
	by giant.haxx.se (8.14.4/8.14.4/Debian-4.1) with ESMTP id s1DEYCGL019811;
	Thu, 13 Feb 2014 15:34:26 +0100
Received: from mail-yh0-x230.google.com (mail-yh0-x230.google.com
 [IPv6:2607:f8b0:4002:c01::230])
 by giant.haxx.se (8.14.4/8.14.4/Debian-4.1) with ESMTP id s1DEXqMr019500
 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=NOT)
 for <libssh2-devel@cool.haxx.se>; Thu, 13 Feb 2014 15:33:53 +0100
Received: by mail-yh0-f48.google.com with SMTP id f10so10022725yha.7
 for <libssh2-devel@cool.haxx.se>; Thu, 13 Feb 2014 06:33:47 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
 h=mime-version:in-reply-to:references:date:message-id:subject:from:to
 :content-type; bh=v7PlOYoCr9pio3uvUeBX9wu24uljQKLCHz5A18BlRBI=;
 b=RtarFcorzuRAf9OAB5kcQqnyr3qWbCo3CexSgEAskksoyl+kVQm2qZ31iqBN4MwZ+Z
 qWhQmakj5lOM4Fyvebxnw56CIeyMpHfeGslU01c2xtN8BpBZNNTwQUfocuPW+tmiKSjF
 JQcu3yMeGSeLWnhInebVkxtfxO/iXc3zbYjZ6kdj/h0S+vHXJEaxamhl3vNyYX3FMCxr
 gRyg3/rMzcwSCT9ZPxMNonQ/gl0AZp7XXwqvGHxC84Rloh4QlO+W/M2OFDd9rjwKIHEL
 uVg90hjME4pZ5x4rs820xwncuQf8Nu6BcaVeu5q+cM1uZ88BAGuFEW3WQDaUavVoRuJu
 hurg==
MIME-Version: 1.0
X-Received: by 10.236.102.102 with SMTP id c66mr579039yhg.153.1392302027280;
 Thu, 13 Feb 2014 06:33:47 -0800 (PST)
Received: by 10.170.140.86 with HTTP; Thu, 13 Feb 2014 06:33:47 -0800 (PST)
In-Reply-To: <OF538ADDBC.3D112E73-ONC1257C7E.00321948-C1257C7E.0034177A@LocalDomain>
References: <201402121110544585944@gmail.com>
 <CAGcfsRC+80w7VbXV7yiwd3m0-ZEyLEx4pPnBw_qxTrQiDC527A@mail.gmail.com>
 <OF538ADDBC.3D112E73-ONC1257C7E.00321948-C1257C7E.0034177A@LocalDomain>
Date: Thu, 13 Feb 2014 15:33:47 +0100
Message-ID: <CAGcfsRBVC6sAfSY9d5XGDiOQU=oJOJ=rTSgm02wRLWD2H=5sng@mail.gmail.com>
Subject: Re: multithread calls libssh2_session_handshake,error,return -13
From: Alfred Gebert <alfred.gebert@gmail.com>
To: libssh2 development <libssh2-devel@cool.haxx.se>
X-BeenThere: libssh2-devel@cool.haxx.se
X-Mailman-Version: 2.1.16
Precedence: list
Reply-To: libssh2 development <libssh2-devel@cool.haxx.se>
List-Id: libssh2 development <libssh2-devel.cool.haxx.se>
List-Unsubscribe: <http://cool.haxx.se/cgi-bin/mailman/options/libssh2-devel>, 
 <mailto:libssh2-devel-request@cool.haxx.se?subject=unsubscribe>
List-Archive: <http://cool.haxx.se/pipermail/libssh2-devel/>
List-Post: <mailto:libssh2-devel@cool.haxx.se>
List-Help: <mailto:libssh2-devel-request@cool.haxx.se?subject=help>
List-Subscribe: <http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel>, 
 <mailto:libssh2-devel-request@cool.haxx.se?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Errors-To: libssh2-devel-bounces@cool.haxx.se
Sender: "libssh2-devel" <libssh2-devel-bounces@cool.haxx.se>

On Thu, Feb 13, 2014 at 10:28 AM, Michael Kwasigroch
<mkwasigr@intercope.com> wrote:
> Alfred,
>
> (@ALL: sorry to hitchhike this thread)
>
> in your configure call you use --with-XXX-prefix- this never worked for me,
> neither in the stable nor the development versions of libssh2 on AIX,
> Solaris and Linux.
>

I think it works for me.

-bash-3.00$ ldd libssh2.so.1.0.1
        libssl.so.0.9.8 =>
/home/agebert/local/lib/libssl.so.0.9.8
        libcrypto.so.0.9.8 =>
/home/agebert/local/lib/libcrypto.so.0.9.8
        libnsl.so.1 =>   /lib/64/libnsl.so.1
        libsocket.so.1 =>        /lib/64/libsocket.so.1
        libgcc_s.so.1 =>         /opt/csw/lib/64/libgcc_s.so.1
        libpthread.so.1 =>       /lib/64/libpthread.so.1
        libc.so.1 =>     /lib/64/libc.so.1
        libdl.so.1 =>    /lib/64/libdl.so.1
        libmp.so.2 =>    /lib/64/libmp.so.2
        libmd.so.1 =>    /lib/64/libmd.so.1
        libscf.so.1 =>   /lib/64/libscf.so.1
        libdoor.so.1 =>  /lib/64/libdoor.so.1
        libuutil.so.1 =>         /lib/64/libuutil.so.1
        libgen.so.1 =>   /lib/64/libgen.so.1
        libm.so.2 =>     /lib/64/libm.so.2

And LD_LIBRARY_PATH is empty.
_______________________________________________
libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel

From libssh2-devel-bounces@cool.haxx.se  Thu Feb 13 16:00:36 2014
Return-Path: <libssh2-devel-bounces@cool.haxx.se>
Received: from www.haxx.se (list@localhost.localdomain [127.0.0.1])
	by giant.haxx.se (8.14.4/8.14.4/Debian-4.1) with ESMTP id s1DF0W5E020174;
	Thu, 13 Feb 2014 16:00:35 +0100
Received: from notes.intercope.com (notes.intercope.com [217.89.50.104])
 by giant.haxx.se (8.14.4/8.14.4/Debian-4.1) with ESMTP id s1DF0UJw020159
 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT)
 for <libssh2-devel@cool.haxx.se>; Thu, 13 Feb 2014 16:00:30 +0100
Received: from [192.168.150.104] (port=53885 helo=NOTES.INTERCOPE.COM)
 by notes.intercope.com with esmtp (Exim 4.76)
 (envelope-from <mkwasigr@intercope.com>) id 1WDxm3-0007hr-2p
 for libssh2-devel@cool.haxx.se; Thu, 13 Feb 2014 16:00:23 +0100
In-Reply-To: <CAGcfsRBVC6sAfSY9d5XGDiOQU=oJOJ=rTSgm02wRLWD2H=5sng@mail.gmail.com>
To: libssh2 development <libssh2-devel@cool.haxx.se>
Subject: Re: multithread calls libssh2_session_handshake,error,return -13
From: "Michael Kwasigroch" <mkwasigr@intercope.com>
Message-ID: <OFE9F2632A.E3AFAD94-ONC1257C7E.00514398-C1257C7E.00526EB9@LocalDomain>
Date: Thu, 13 Feb 2014 16:00:05 +0100
References: <201402121110544585944@gmail.com>
 <CAGcfsRC+80w7VbXV7yiwd3m0-ZEyLEx4pPnBw_qxTrQiDC527A@mail.gmail.com>
 <OF538ADDBC.3D112E73-ONC1257C7E.00321948-C1257C7E.0034177A@LocalDomain>
 <CAGcfsRBVC6sAfSY9d5XGDiOQU=oJOJ=rTSgm02wRLWD2H=5sng@mail.gmail.com>
MIME-Version: 1.0
X-KeepSent: E9F2632A:E3AFAD94-C1257C7E:00514398; name=$KeepSent; type=4
X-Mailer: IBM Notes Release 9.0.1 October 14, 2013
X-Disclaimed: 41711
X-BeenThere: libssh2-devel@cool.haxx.se
X-Mailman-Version: 2.1.16
Precedence: list
Reply-To: libssh2 development <libssh2-devel@cool.haxx.se>
List-Id: libssh2 development <libssh2-devel.cool.haxx.se>
List-Unsubscribe: <http://cool.haxx.se/cgi-bin/mailman/options/libssh2-devel>, 
 <mailto:libssh2-devel-request@cool.haxx.se?subject=unsubscribe>
List-Archive: <http://cool.haxx.se/pipermail/libssh2-devel/>
List-Post: <mailto:libssh2-devel@cool.haxx.se>
List-Help: <mailto:libssh2-devel-request@cool.haxx.se?subject=help>
List-Subscribe: <http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel>, 
 <mailto:libssh2-devel-request@cool.haxx.se?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============0561839077=="
Errors-To: libssh2-devel-bounces@cool.haxx.se
Sender: "libssh2-devel" <libssh2-devel-bounces@cool.haxx.se>


--===============0561839077==
Content-Type: multipart/alternative; boundary="=_alternative 00526EB7C1257C7E_="


--=_alternative 00526EB7C1257C7E_=
Content-Type: text/plain;
	charset=UTF-8
Content-Transfer-Encoding: base64

QWxiZXJ0LA0KDQpub3cgSSAodGhpbmsgSSkgbm93IHdoYXQgYml0IG1lOiB0aGUgcGF0aCBzcGVj
aWZpZWQgd2l0aCAtLXdpdGgtWFhYLXByZWZpeCANCnJlcGxhY2VzIHRoZSBzdGFuZGFyZCBsaWIg
bG9jYXRpb24gYW5kIGlzIG5vdCBwb2ludGluZyB0byB0aGUgZGlyZWN0b3J5IA0KaG9sZGluZyB0
aGUgc2hhcmVkIGxpYihzKS4NCg0KTXkgYmFkISBJIHNob3VsZCBiZSBtb3JlIGNhcmVmdWwgd2l0
aCB0aGVzZSB0aGluZ2llcy4uLiBJIHRyaWVkIHRvIA0KdW5kZXJzdGFuZCBob3cgY29uZmlndXJl
IHdvcmtzIGJ1dCBnYXZlIHVwIGFmdGVyIHNvbWUgdGltZS4uLg0KDQpBbnl3YXksIHRoYW5rcyBm
b3IgY2xhcmlmeWluZyENCg0KLSBNaWNoYWVsDQoNCg0KDQpGcm9tOiAgIEFsZnJlZCBHZWJlcnQg
PGFsZnJlZC5nZWJlcnRAZ21haWwuY29tPg0KVG86ICAgICBsaWJzc2gyIGRldmVsb3BtZW50IDxs
aWJzc2gyLWRldmVsQGNvb2wuaGF4eC5zZT4NCkRhdGU6ICAgMTMuMDIuMjAxNCAxNTozNQ0KU3Vi
amVjdDogICAgICAgIFJlOiBtdWx0aXRocmVhZCBjYWxscyANCmxpYnNzaDJfc2Vzc2lvbl9oYW5k
c2hha2UsZXJyb3IscmV0dXJuIC0xMw0KU2VudCBieTogICAgICAgICJsaWJzc2gyLWRldmVsIiA8
bGlic3NoMi1kZXZlbC1ib3VuY2VzQGNvb2wuaGF4eC5zZT4NCg0KDQoNCk9uIFRodSwgRmViIDEz
LCAyMDE0IGF0IDEwOjI4IEFNLCBNaWNoYWVsIEt3YXNpZ3JvY2gNCjxta3dhc2lnckBpbnRlcmNv
cGUuY29tPiB3cm90ZToNCj4gQWxmcmVkLA0KPg0KPiAoQEFMTDogc29ycnkgdG8gaGl0Y2hoaWtl
IHRoaXMgdGhyZWFkKQ0KPg0KPiBpbiB5b3VyIGNvbmZpZ3VyZSBjYWxsIHlvdSB1c2UgLS13aXRo
LVhYWC1wcmVmaXgtIHRoaXMgbmV2ZXIgd29ya2VkIGZvciANCm1lLA0KPiBuZWl0aGVyIGluIHRo
ZSBzdGFibGUgbm9yIHRoZSBkZXZlbG9wbWVudCB2ZXJzaW9ucyBvZiBsaWJzc2gyIG9uIEFJWCwN
Cj4gU29sYXJpcyBhbmQgTGludXguDQo+DQoNCkkgdGhpbmsgaXQgd29ya3MgZm9yIG1lLg0KDQot
YmFzaC0zLjAwJCBsZGQgbGlic3NoMi5zby4xLjAuMQ0KICAgICAgICBsaWJzc2wuc28uMC45Ljgg
PT4NCi9ob21lL2FnZWJlcnQvbG9jYWwvbGliL2xpYnNzbC5zby4wLjkuOA0KICAgICAgICBsaWJj
cnlwdG8uc28uMC45LjggPT4NCi9ob21lL2FnZWJlcnQvbG9jYWwvbGliL2xpYmNyeXB0by5zby4w
LjkuOA0KICAgICAgICBsaWJuc2wuc28uMSA9PiAgIC9saWIvNjQvbGlibnNsLnNvLjENCiAgICAg
ICAgbGlic29ja2V0LnNvLjEgPT4gICAgICAgIC9saWIvNjQvbGlic29ja2V0LnNvLjENCiAgICAg
ICAgbGliZ2NjX3Muc28uMSA9PiAgICAgICAgIC9vcHQvY3N3L2xpYi82NC9saWJnY2Nfcy5zby4x
DQogICAgICAgIGxpYnB0aHJlYWQuc28uMSA9PiAgICAgICAvbGliLzY0L2xpYnB0aHJlYWQuc28u
MQ0KICAgICAgICBsaWJjLnNvLjEgPT4gICAgIC9saWIvNjQvbGliYy5zby4xDQogICAgICAgIGxp
YmRsLnNvLjEgPT4gICAgL2xpYi82NC9saWJkbC5zby4xDQogICAgICAgIGxpYm1wLnNvLjIgPT4g
ICAgL2xpYi82NC9saWJtcC5zby4yDQogICAgICAgIGxpYm1kLnNvLjEgPT4gICAgL2xpYi82NC9s
aWJtZC5zby4xDQogICAgICAgIGxpYnNjZi5zby4xID0+ICAgL2xpYi82NC9saWJzY2Yuc28uMQ0K
ICAgICAgICBsaWJkb29yLnNvLjEgPT4gIC9saWIvNjQvbGliZG9vci5zby4xDQogICAgICAgIGxp
YnV1dGlsLnNvLjEgPT4gICAgICAgICAvbGliLzY0L2xpYnV1dGlsLnNvLjENCiAgICAgICAgbGli
Z2VuLnNvLjEgPT4gICAvbGliLzY0L2xpYmdlbi5zby4xDQogICAgICAgIGxpYm0uc28uMiA9PiAg
ICAgL2xpYi82NC9saWJtLnNvLjINCg0KQW5kIExEX0xJQlJBUllfUEFUSCBpcyBlbXB0eS4NCl9f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQpsaWJzc2gyLWRl
dmVsIGh0dHA6Ly9jb29sLmhheHguc2UvY2dpLWJpbi9tYWlsbWFuL2xpc3RpbmZvL2xpYnNzaDIt
ZGV2ZWwNCg0KDQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fIA0KSU5URVJDT1BFIEludGVybmF0aW9uYWwgQ29tbXVuaWNhdGlv
biBQcm9kdWN0cyBFbmdpbmVlcmluZyBHbWJIIA0KSGltbWVsc3RyYXNzZSAxMi0xNiwgMjIyOTkg
SGFtYnVyZywgR2VybWFueSANCk1hbmFnaW5nIERpcmVjdG9yczogUmVpbmhhcnQgTGF1bWVyLCBG
cmFuayBLb2xsZW5kZXIgDQpDb21tZXJjaWFsIFJlZ2lzdHJ5OiBBbXRzZ2VyaWNodCBIYW1idXJn
LCBIUkIgMzEgNjM4IA0KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fXyANClRoaXMgZS1tYWlsIG1heSBjb250YWluIGNvbmZpZGVu
dGlhbCBhbmQvb3IgcHJpdmlsZWdlZCBpbmZvcm1hdGlvbi4gSWYgeW91IGFyZSBub3QgdGhlIGlu
dGVuZGVkIHJlY2lwaWVudCAob3IgaGF2ZSByZWNlaXZlZCB0aGlzIGUtbWFpbCBpbiBlcnJvcikg
cGxlYXNlIG5vdGlmeSB0aGUgc2VuZGVyIGltbWVkaWF0ZWx5IGFuZCBkZXN0cm95IHRoaXMgZS1t
YWlsLiBBbnkgdW5hdXRob3JpemVkIGNvcHlpbmcsIGRpc2Nsb3N1cmUgb3IgZGlzdHJpYnV0aW9u
IG9mIHRoZSBtYXRlcmlhbCBpbiB0aGlzIGUtbWFpbCBpcyBzdHJpY3RseSBmb3JiaWRkZW4uIA0K
RGllc2UgRS1NYWlsIGVudGjDpGx0IHZlcnRyYXVsaWNoZSB1bmQvb2RlciByZWNodGxpY2ggZ2Vz
Y2jDvHR6dGUgSW5mb3JtYXRpb25lbi4gV2VubiBTaWUgbmljaHQgZGVyIHJpY2h0aWdlIEFkcmVz
c2F0IHNpbmQgb2RlciBkaWVzZSBFLU1haWwgaXJydMO8bWxpY2ggZXJoYWx0ZW4gaGFiZW4sIGlu
Zm9ybWllcmVuIFNpZSBiaXR0ZSBzb2ZvcnQgZGVuIEFic2VuZGVyIHVuZCB2ZXJuaWNodGVuIFNp
ZSBkaWVzZSBNYWlsLiBEYXMgdW5lcmxhdWJ0ZSBLb3BpZXJlbiBzb3dpZSBkaWUgdW5iZWZ1Z3Rl
IFdlaXRlcmdhYmUgZGllc2VyIE1haWwgaXN0IG5pY2h0IGdlc3RhdHRldC4gDQpfX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fIA==

--=_alternative 00526EB7C1257C7E_=
Content-Type: text/html;
	charset=UTF-8
Content-Transfer-Encoding: base64

PGZvbnQgc2l6ZT0yIGZhY2U9InNhbnMtc2VyaWYiPkFsYmVydCw8L2ZvbnQ+PGJyPjxicj48Zm9u
dCBzaXplPTIgZmFjZT0ic2Fucy1zZXJpZiI+bm93IEkgKHRoaW5rIEkpIG5vdyB3aGF0IGJpdCBt
ZTogdGhlDQpwYXRoIHNwZWNpZmllZCB3aXRoIDwvZm9udD48dHQ+PGZvbnQgc2l6ZT0yPi0td2l0
aC1YWFgtcHJlZml4PC9mb250PjwvdHQ+PGZvbnQgc2l6ZT0yIGZhY2U9InNhbnMtc2VyaWYiPnJl
cGxhY2VzIHRoZSBzdGFuZGFyZCBsaWIgbG9jYXRpb24gYW5kIGlzIG5vdCBwb2ludGluZyB0byB0
aGUgZGlyZWN0b3J5DQpob2xkaW5nIHRoZSBzaGFyZWQgbGliKHMpLjwvZm9udD48YnI+PGJyPjxm
b250IHNpemU9MiBmYWNlPSJzYW5zLXNlcmlmIj5NeSBiYWQhIEkgc2hvdWxkIGJlIG1vcmUgY2Fy
ZWZ1bCB3aXRoDQp0aGVzZSB0aGluZ2llcy4uLiBJIHRyaWVkIHRvIHVuZGVyc3RhbmQgaG93IGNv
bmZpZ3VyZSB3b3JrcyBidXQgZ2F2ZSB1cA0KYWZ0ZXIgc29tZSB0aW1lLi4uPC9mb250Pjxicj48
Zm9udCBzaXplPTIgZmFjZT0ic2Fucy1zZXJpZiI+PGJyPkFueXdheSwgdGhhbmtzIGZvciBjbGFy
aWZ5aW5nITwvZm9udD48YnI+PGJyPjxmb250IHNpemU9MiBmYWNlPSJzYW5zLXNlcmlmIj4tIE1p
Y2hhZWw8L2ZvbnQ+PGJyPjxicj48YnI+PGJyPjxmb250IHNpemU9MSBjb2xvcj0jNWY1ZjVmIGZh
Y2U9InNhbnMtc2VyaWYiPkZyb206ICZuYnNwOyAmbmJzcDsgJm5ic3A7DQombmJzcDs8L2ZvbnQ+
PGZvbnQgc2l6ZT0xIGZhY2U9InNhbnMtc2VyaWYiPkFsZnJlZCBHZWJlcnQgJmx0O2FsZnJlZC5n
ZWJlcnRAZ21haWwuY29tJmd0OzwvZm9udD48YnI+PGZvbnQgc2l6ZT0xIGNvbG9yPSM1ZjVmNWYg
ZmFjZT0ic2Fucy1zZXJpZiI+VG86ICZuYnNwOyAmbmJzcDsgJm5ic3A7DQombmJzcDs8L2ZvbnQ+
PGZvbnQgc2l6ZT0xIGZhY2U9InNhbnMtc2VyaWYiPmxpYnNzaDIgZGV2ZWxvcG1lbnQNCiZsdDts
aWJzc2gyLWRldmVsQGNvb2wuaGF4eC5zZSZndDs8L2ZvbnQ+PGJyPjxmb250IHNpemU9MSBjb2xv
cj0jNWY1ZjVmIGZhY2U9InNhbnMtc2VyaWYiPkRhdGU6ICZuYnNwOyAmbmJzcDsgJm5ic3A7DQom
bmJzcDs8L2ZvbnQ+PGZvbnQgc2l6ZT0xIGZhY2U9InNhbnMtc2VyaWYiPjEzLjAyLjIwMTQgMTU6
MzU8L2ZvbnQ+PGJyPjxmb250IHNpemU9MSBjb2xvcj0jNWY1ZjVmIGZhY2U9InNhbnMtc2VyaWYi
PlN1YmplY3Q6ICZuYnNwOyAmbmJzcDsNCiZuYnNwOyAmbmJzcDs8L2ZvbnQ+PGZvbnQgc2l6ZT0x
IGZhY2U9InNhbnMtc2VyaWYiPlJlOiBtdWx0aXRocmVhZA0KY2FsbHMgbGlic3NoMl9zZXNzaW9u
X2hhbmRzaGFrZSxlcnJvcixyZXR1cm4gLTEzPC9mb250Pjxicj48Zm9udCBzaXplPTEgY29sb3I9
IzVmNWY1ZiBmYWNlPSJzYW5zLXNlcmlmIj5TZW50IGJ5OiAmbmJzcDsgJm5ic3A7DQombmJzcDsg
Jm5ic3A7PC9mb250Pjxmb250IHNpemU9MSBmYWNlPSJzYW5zLXNlcmlmIj4mcXVvdDtsaWJzc2gy
LWRldmVsJnF1b3Q7DQombHQ7bGlic3NoMi1kZXZlbC1ib3VuY2VzQGNvb2wuaGF4eC5zZSZndDs8
L2ZvbnQ+PGJyPjxociBub3NoYWRlPjxicj48YnI+PGJyPjx0dD48Zm9udCBzaXplPTI+T24gVGh1
LCBGZWIgMTMsIDIwMTQgYXQgMTA6MjggQU0sIE1pY2hhZWwgS3dhc2lncm9jaDxicj4mbHQ7bWt3
YXNpZ3JAaW50ZXJjb3BlLmNvbSZndDsgd3JvdGU6PGJyPiZndDsgQWxmcmVkLDxicj4mZ3Q7PGJy
PiZndDsgKEBBTEw6IHNvcnJ5IHRvIGhpdGNoaGlrZSB0aGlzIHRocmVhZCk8YnI+Jmd0Ozxicj4m
Z3Q7IGluIHlvdXIgY29uZmlndXJlIGNhbGwgeW91IHVzZSAtLXdpdGgtWFhYLXByZWZpeC0gdGhp
cyBuZXZlciB3b3JrZWQNCmZvciBtZSw8YnI+Jmd0OyBuZWl0aGVyIGluIHRoZSBzdGFibGUgbm9y
IHRoZSBkZXZlbG9wbWVudCB2ZXJzaW9ucyBvZiBsaWJzc2gyIG9uIEFJWCw8YnI+Jmd0OyBTb2xh
cmlzIGFuZCBMaW51eC48YnI+Jmd0Ozxicj48YnI+SSB0aGluayBpdCB3b3JrcyBmb3IgbWUuPGJy
Pjxicj4tYmFzaC0zLjAwJCBsZGQgbGlic3NoMi5zby4xLjAuMTxicj4gJm5ic3A7ICZuYnNwOyAm
bmJzcDsgJm5ic3A7bGlic3NsLnNvLjAuOS44ID0mZ3Q7PGJyPi9ob21lL2FnZWJlcnQvbG9jYWwv
bGliL2xpYnNzbC5zby4wLjkuODxicj4gJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7bGliY3J5
cHRvLnNvLjAuOS44ID0mZ3Q7PGJyPi9ob21lL2FnZWJlcnQvbG9jYWwvbGliL2xpYmNyeXB0by5z
by4wLjkuODxicj4gJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7bGlibnNsLnNvLjEgPSZndDsg
Jm5ic3A7IC9saWIvNjQvbGlibnNsLnNvLjE8YnI+ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw
O2xpYnNvY2tldC5zby4xID0mZ3Q7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOy9saWIvNjQv
bGlic29ja2V0LnNvLjE8YnI+ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO2xpYmdjY19zLnNv
LjEgPSZndDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7DQovb3B0L2Nzdy9saWIvNjQvbGli
Z2NjX3Muc28uMTxicj4gJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7bGlicHRocmVhZC5zby4x
ID0mZ3Q7ICZuYnNwOyAmbmJzcDsgJm5ic3A7DQovbGliLzY0L2xpYnB0aHJlYWQuc28uMTxicj4g
Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7bGliYy5zby4xID0mZ3Q7ICZuYnNwOyAmbmJzcDsg
L2xpYi82NC9saWJjLnNvLjE8YnI+ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO2xpYmRsLnNv
LjEgPSZndDsgJm5ic3A7ICZuYnNwOy9saWIvNjQvbGliZGwuc28uMTxicj4gJm5ic3A7ICZuYnNw
OyAmbmJzcDsgJm5ic3A7bGlibXAuc28uMiA9Jmd0OyAmbmJzcDsgJm5ic3A7L2xpYi82NC9saWJt
cC5zby4yPGJyPiAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDtsaWJtZC5zby4xID0mZ3Q7ICZu
YnNwOyAmbmJzcDsvbGliLzY0L2xpYm1kLnNvLjE8YnI+ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu
YnNwO2xpYnNjZi5zby4xID0mZ3Q7ICZuYnNwOyAvbGliLzY0L2xpYnNjZi5zby4xPGJyPiAmbmJz
cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDtsaWJkb29yLnNvLjEgPSZndDsgJm5ic3A7L2xpYi82NC9s
aWJkb29yLnNvLjE8YnI+ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO2xpYnV1dGlsLnNvLjEg
PSZndDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7DQovbGliLzY0L2xpYnV1dGlsLnNvLjE8
YnI+ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO2xpYmdlbi5zby4xID0mZ3Q7ICZuYnNwOyAv
bGliLzY0L2xpYmdlbi5zby4xPGJyPiAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDtsaWJtLnNv
LjIgPSZndDsgJm5ic3A7ICZuYnNwOyAvbGliLzY0L2xpYm0uc28uMjxicj48YnI+QW5kIExEX0xJ
QlJBUllfUEFUSCBpcyBlbXB0eS48YnI+X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX188YnI+bGlic3NoMi1kZXZlbCA8L2ZvbnQ+PC90dD48YSBocmVmPSJodHRw
Oi8vY29vbC5oYXh4LnNlL2NnaS1iaW4vbWFpbG1hbi9saXN0aW5mby9saWJzc2gyLWRldmVsIj48
dHQ+PGZvbnQgc2l6ZT0yPmh0dHA6Ly9jb29sLmhheHguc2UvY2dpLWJpbi9tYWlsbWFuL2xpc3Rp
bmZvL2xpYnNzaDItZGV2ZWw8L2ZvbnQ+PC90dD48L2E+PHR0Pjxmb250IHNpemU9Mj48YnI+PC9m
b250PjwvdHQ+PGJyPjxmb250IGZhY2U9InNhbnMtc2VyaWYiPjxmb250IHNpemU9IjIiIGZhY2U9
IkRlZmF1bHQgU2FucyBTZXJpZiI+X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fXzxicj4NCklOVEVSQ09QRSBJbnRlcm5hdGlvbmFs
IENvbW11bmljYXRpb24gUHJvZHVjdHMgRW5naW5lZXJpbmcgR21iSDxicj5IaW1tZWxzdHJhc3Nl
IDEyLTE2LCAyMjI5OSBIYW1idXJnLCBHZXJtYW55PGJyPk1hbmFnaW5nIERpcmVjdG9yczogUmVp
bmhhcnQgTGF1bWVyLCBGcmFuayBLb2xsZW5kZXI8YnI+Q29tbWVyY2lhbCBSZWdpc3RyeTogQW10
c2dlcmljaHQgSGFtYnVyZywgSFJCIDMxIDYzODxicj4gX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXzxicj4NClRoaXMgZS1tYWls
IG1heSBjb250YWluIGNvbmZpZGVudGlhbCBhbmQvb3IgcHJpdmlsZWdlZCBpbmZvcm1hdGlvbi4g
SWYgeW91ICBhcmUgbm90IHRoZSBpbnRlbmRlZCByZWNpcGllbnQgKG9yIGhhdmUgcmVjZWl2ZWQg
dGhpcyBlLW1haWwgaW4gZXJyb3IpIHBsZWFzZSBub3RpZnkgdGhlIHNlbmRlciBpbW1lZGlhdGVs
eSBhbmQgZGVzdHJveSB0aGlzIGUtbWFpbC4gQW55IHVuYXV0aG9yaXplZCBjb3B5aW5nLCBkaXNj
bG9zdXJlIG9yIGRpc3RyaWJ1dGlvbiBvZiB0aGUgbWF0ZXJpYWwgaW4gdGhpcyBlLW1haWwgaXMg
c3RyaWN0bHkgZm9yYmlkZGVuLjxicj4NCkRpZXNlIEUtTWFpbCBlbnRoJmF1bWw7bHQgdmVydHJh
dWxpY2hlIHVuZC9vZGVyIHJlY2h0bGljaCBnZXNjaCZ1dW1sO3R6dGUgSW5mb3JtYXRpb25lbi4g
V2VubiBTaWUgbmljaHQgZGVyIHJpY2h0aWdlIEFkcmVzc2F0IHNpbmQgb2RlciBkaWVzZSBFLU1h
aWwgaXJydCZ1dW1sO21saWNoIGVyaGFsdGVuIGhhYmVuLCBpbmZvcm1pZXJlbiBTaWUgYml0dGUg
c29mb3J0IGRlbiBBYnNlbmRlciB1bmQgdmVybmljaHRlbiBTaWUgZGllc2UgTWFpbC4gRGFzIHVu
ZXJsYXVidGUgS29waWVyZW4gc293aWUgZGllIHVuYmVmdWd0ZSBXZWl0ZXJnYWJlIGRpZXNlciBN
YWlsIGlzdCBuaWNodCBnZXN0YXR0ZXQuPGJyPg0KX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXzxicj4NCjwvZm9udD48L2ZvbnQ+
DQo=
--=_alternative 00526EB7C1257C7E_=--

--===============0561839077==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel

--===============0561839077==--

From libssh2-devel-bounces@cool.haxx.se  Mon Feb 17 16:53:58 2014
Return-Path: <libssh2-devel-bounces@cool.haxx.se>
Received: from www.haxx.se (list@localhost.localdomain [127.0.0.1])
	by giant.haxx.se (8.14.4/8.14.4/Debian-4.1) with ESMTP id s1HFrWPP002381;
	Mon, 17 Feb 2014 16:53:52 +0100
Received: from aserp1040.oracle.com (aserp1040.oracle.com [141.146.126.69])
 by giant.haxx.se (8.14.4/8.14.4/Debian-4.1) with ESMTP id s1HFrTN0002272
 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT)
 for <libssh2-devel@cool.haxx.se>; Mon, 17 Feb 2014 16:53:31 +0100
Received: from ucsinet21.oracle.com (ucsinet21.oracle.com [156.151.31.93])
 by aserp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with ESMTP id
 s1HFrNLI016923
 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK)
 for <libssh2-devel@cool.haxx.se>; Mon, 17 Feb 2014 15:53:24 GMT
Received: from aserz7022.oracle.com (aserz7022.oracle.com [141.146.126.231])
 by ucsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id s1HFrMYv021283
 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
 for <libssh2-devel@cool.haxx.se>; Mon, 17 Feb 2014 15:53:23 GMT
Received: from abhmp0015.oracle.com (abhmp0015.oracle.com [141.146.116.21])
 by aserz7022.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id s1HFrMJH003428
 for <libssh2-devel@cool.haxx.se>; Mon, 17 Feb 2014 15:53:22 GMT
Received: from [10.159.97.169] (/10.159.97.169)
 by default (Oracle Beehive Gateway v4.0)
 with ESMTP ; Mon, 17 Feb 2014 07:53:22 -0800
Message-ID: <53023069.2020002@oracle.com>
Date: Mon, 17 Feb 2014 08:53:13 -0700
From: trip segars <trip.segars@oracle.com>
Organization: Oracle Corporation
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64;
 rv:17.0) Gecko/20131028 Thunderbird/17.0.10
MIME-Version: 1.0
To: libssh2-devel@cool.haxx.se
Subject: How to search the mail list archives?
X-Source-IP: ucsinet21.oracle.com [156.151.31.93]
X-BeenThere: libssh2-devel@cool.haxx.se
X-Mailman-Version: 2.1.16
Precedence: list
Reply-To: libssh2 development <libssh2-devel@cool.haxx.se>
List-Id: libssh2 development <libssh2-devel.cool.haxx.se>
List-Unsubscribe: <http://cool.haxx.se/cgi-bin/mailman/options/libssh2-devel>, 
 <mailto:libssh2-devel-request@cool.haxx.se?subject=unsubscribe>
List-Archive: <http://cool.haxx.se/pipermail/libssh2-devel/>
List-Post: <mailto:libssh2-devel@cool.haxx.se>
List-Help: <mailto:libssh2-devel-request@cool.haxx.se?subject=help>
List-Subscribe: <http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel>, 
 <mailto:libssh2-devel-request@cool.haxx.se?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Errors-To: libssh2-devel-bounces@cool.haxx.se
Sender: "libssh2-devel" <libssh2-devel-bounces@cool.haxx.se>

Please pardon my ignorance - I'm trying to figure out how to search the 
libssh2-devel list archives to see if my problem has already been raised 
and solved, but having no luck.
Any guidance would be greatly appreciated.
_______________________________________________
libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel

From libssh2-devel-bounces@cool.haxx.se  Mon Feb 17 21:17:45 2014
Return-Path: <libssh2-devel-bounces@cool.haxx.se>
Received: from www.haxx.se (list@localhost.localdomain [127.0.0.1])
	by giant.haxx.se (8.14.4/8.14.4/Debian-4.1) with ESMTP id s1HKHTKL010735;
	Mon, 17 Feb 2014 21:17:41 +0100
Received: from colibri.localdomain (ppp-93-104-52-21.dynamic.mnet-online.de
 [93.104.52.21])
 by giant.haxx.se (8.14.4/8.14.4/Debian-4.1) with ESMTP id s1HKHQTD010725
 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT)
 for <libssh2-devel@cool.haxx.se>; Mon, 17 Feb 2014 21:17:27 +0100
Received: by colibri.localdomain (Postfix, from userid 501)
 id A581FFE19; Mon, 17 Feb 2014 21:17:27 +0100 (CET)
Date: Mon, 17 Feb 2014 21:17:27 +0100
From: Dan Fandrich <dan@coneharvesters.com>
To: libssh2-devel@cool.haxx.se
Subject: Re: How to search the mail list archives?
Message-ID: <20140217201727.GA29435@coneharvesters.com>
Mail-Followup-To: libssh2-devel@cool.haxx.se
References: <53023069.2020002@oracle.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <53023069.2020002@oracle.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-BeenThere: libssh2-devel@cool.haxx.se
X-Mailman-Version: 2.1.16
Precedence: list
Reply-To: libssh2 development <libssh2-devel@cool.haxx.se>
List-Id: libssh2 development <libssh2-devel.cool.haxx.se>
List-Unsubscribe: <http://cool.haxx.se/cgi-bin/mailman/options/libssh2-devel>, 
 <mailto:libssh2-devel-request@cool.haxx.se?subject=unsubscribe>
List-Archive: <http://cool.haxx.se/pipermail/libssh2-devel/>
List-Post: <mailto:libssh2-devel@cool.haxx.se>
List-Help: <mailto:libssh2-devel-request@cool.haxx.se?subject=help>
List-Subscribe: <http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel>, 
 <mailto:libssh2-devel-request@cool.haxx.se?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Errors-To: libssh2-devel-bounces@cool.haxx.se
Sender: "libssh2-devel" <libssh2-devel-bounces@cool.haxx.se>

On Mon, Feb 17, 2014 at 08:53:13AM -0700, trip segars wrote:
> Please pardon my ignorance - I'm trying to figure out how to search
> the libssh2-devel list archives to see if my problem has already been
> raised and solved, but having no luck.
> Any guidance would be greatly appreciated.

There is a search box on the gmane link on the mailing list archive page, or
you could just Google it with a site:libssh2.org query modifier. The latter
could easily be added to the archive page as well by the site owner.

>>> Dan
_______________________________________________
libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel

From libssh2-devel-bounces@cool.haxx.se  Mon Feb 17 22:41:37 2014
Return-Path: <libssh2-devel-bounces@cool.haxx.se>
Received: from www.haxx.se (list@localhost.localdomain [127.0.0.1])
	by giant.haxx.se (8.14.4/8.14.4/Debian-4.1) with ESMTP id s1HLfIgS018711;
	Mon, 17 Feb 2014 22:41:34 +0100
Received: from giant.haxx.se (dast@localhost.localdomain [127.0.0.1])
 by giant.haxx.se (8.14.4/8.14.4/Debian-4.1) with ESMTP id s1HLfHPo018696
 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT)
 for <libssh2-devel@cool.haxx.se>; Mon, 17 Feb 2014 22:41:17 +0100
Received: from localhost (dast@localhost)
 by giant.haxx.se (8.14.4/8.14.4/Submit) with ESMTP id s1HLfHGv018660
 for <libssh2-devel@cool.haxx.se>; Mon, 17 Feb 2014 22:41:17 +0100
X-Authentication-Warning: giant.haxx.se: dast owned process doing -bs
Date: Mon, 17 Feb 2014 22:41:17 +0100 (CET)
From: Daniel Stenberg <daniel@haxx.se>
X-X-Sender: dast@giant.haxx.se
To: libssh2 development <libssh2-devel@cool.haxx.se>
Subject: Re: How to search the mail list archives?
In-Reply-To: <20140217201727.GA29435@coneharvesters.com>
Message-ID: <alpine.DEB.2.00.1402172240440.15465@tvnag.unkk.fr>
References: <53023069.2020002@oracle.com>
 <20140217201727.GA29435@coneharvesters.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
X-fromdanielhimself: yes
MIME-Version: 1.0
X-BeenThere: libssh2-devel@cool.haxx.se
X-Mailman-Version: 2.1.16
Precedence: list
Reply-To: libssh2 development <libssh2-devel@cool.haxx.se>
List-Id: libssh2 development <libssh2-devel.cool.haxx.se>
List-Unsubscribe: <http://cool.haxx.se/cgi-bin/mailman/options/libssh2-devel>, 
 <mailto:libssh2-devel-request@cool.haxx.se?subject=unsubscribe>
List-Archive: <http://cool.haxx.se/pipermail/libssh2-devel/>
List-Post: <mailto:libssh2-devel@cool.haxx.se>
List-Help: <mailto:libssh2-devel-request@cool.haxx.se?subject=help>
List-Subscribe: <http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel>, 
 <mailto:libssh2-devel-request@cool.haxx.se?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Errors-To: libssh2-devel-bounces@cool.haxx.se
Sender: "libssh2-devel" <libssh2-devel-bounces@cool.haxx.se>

On Mon, 17 Feb 2014, Dan Fandrich wrote:

> There is a search box on the gmane link on the mailing list archive page, or 
> you could just Google it with a site:libssh2.org query modifier. The latter 
> could easily be added to the archive page as well by the site owner.

There's now a search bar at the bottom of each page on the site that allows 
you to search the site and its mail archives.

-- 

  / daniel.haxx.se
_______________________________________________
libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel

From libssh2-devel-bounces@cool.haxx.se  Tue Feb 25 00:54:54 2014
Return-Path: <libssh2-devel-bounces@cool.haxx.se>
Received: from www.haxx.se (list@localhost.localdomain [127.0.0.1])
	by giant.haxx.se (8.14.4/8.14.4/Debian-4.1) with ESMTP id s1ONsOSD032602;
	Tue, 25 Feb 2014 00:54:48 +0100
Received: from colibri.localdomain (ppp-93-104-32-175.dynamic.mnet-online.de
 [93.104.32.175])
 by giant.haxx.se (8.14.4/8.14.4/Debian-4.1) with ESMTP id s1ONsMYu032595
 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT)
 for <libssh2-devel@cool.haxx.se>; Tue, 25 Feb 2014 00:54:22 +0100
Received: by colibri.localdomain (Postfix, from userid 501)
 id 7B0F17B0B3; Tue, 25 Feb 2014 00:54:23 +0100 (CET)
Date: Tue, 25 Feb 2014 00:54:23 +0100
From: Dan Fandrich <dan@coneharvesters.com>
To: libssh2-devel@cool.haxx.se
Subject: Re: Memory leaks in out-of-memory conditions
Message-ID: <20140224235423.GA9245@coneharvesters.com>
Mail-Followup-To: libssh2-devel@cool.haxx.se
References: <20140206224853.GA31754@coneharvesters.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <20140206224853.GA31754@coneharvesters.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-BeenThere: libssh2-devel@cool.haxx.se
X-Mailman-Version: 2.1.16
Precedence: list
Reply-To: libssh2 development <libssh2-devel@cool.haxx.se>
List-Id: libssh2 development <libssh2-devel.cool.haxx.se>
List-Unsubscribe: <http://cool.haxx.se/cgi-bin/mailman/options/libssh2-devel>, 
 <mailto:libssh2-devel-request@cool.haxx.se?subject=unsubscribe>
List-Archive: <http://cool.haxx.se/pipermail/libssh2-devel/>
List-Post: <mailto:libssh2-devel@cool.haxx.se>
List-Help: <mailto:libssh2-devel-request@cool.haxx.se?subject=help>
List-Subscribe: <http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel>, 
 <mailto:libssh2-devel-request@cool.haxx.se?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Errors-To: libssh2-devel-bounces@cool.haxx.se
Sender: "libssh2-devel" <libssh2-devel-bounces@cool.haxx.se>

On Thu, Feb 06, 2014 at 11:48:53PM +0100, Dan Fandrich wrote:
> I've discovered a few memory leaks in libssh2, while running the curl torture
> tests. I'm attaching a patch for review, as I'm not completely certain about
> some of the error paths.

I studied this in more depth and found my original understanding (and the
comments) weren't quite right on one issue. I've pushed a change that I'm
more comfortable with, as well as fixing a number of other error path
problems I found.

>>> Dan
_______________________________________________
libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel

