From libssh2-devel-bounces@cool.haxx.se Thu Jul 1 13:55:27 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o61Bt7c3024140; Thu, 1 Jul 2010 13:55:21 +0200 Received: from mail-bw0-f54.google.com (mail-bw0-f54.google.com [209.85.214.54]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o61Bt69x024132 for ; Thu, 1 Jul 2010 13:55:06 +0200 Received: by bwz12 with SMTP id 12so1158694bwz.41 for ; Thu, 01 Jul 2010 04:55:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:date:message-id :subject:from:to:content-type; bh=QIKzs8gpxucy/WxUQcSsYiAK9HxWOWId+TKvnLlaBto=; b=ExvAn3Em3Fcg4oEE09ucj3kzflHsMJf8qlJbsaFs0iXwwKpj99W40LFa+Q7PYAbXqc saOf+oG3MZjVRjT5jciZEr21G8umOt/I70g/1AVJAMwdTMx5rwOaKV5k32jSD/NcLr9j 87/kSeXkAJfbwgsuNlY5vEV5vh2bSjuhYh8i8= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:content-type; b=YgTy/8OL15iHmuXtP9N6mw3N6hISTdoRdpO4oq2PYNWNeOLoBXjgV4fU0aw8H3RDlA S7Gcw3quR+psuVLloJ1jXBJyDo+hKlPJN4fcXcfgyvDta9SFPRURVxG5fyvqj2ktWpBu 741H7uspLxR0pyTCDY+OonsJsQpCuHb7gxXiQ= MIME-Version: 1.0 Received: by 10.204.82.91 with SMTP id a27mr5091888bkl.3.1277985301660; Thu, 01 Jul 2010 04:55:01 -0700 (PDT) Received: by 10.204.117.65 with HTTP; Thu, 1 Jul 2010 04:55:01 -0700 (PDT) Date: Thu, 1 Jul 2010 14:55:01 +0300 Message-ID: Subject: help in understanding _direct_tcpip_ex() From: Dor Zaidenberg To: libssh2-devel@cool.haxx.se X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Thu, 01 Jul 2010 13:55:27 +0200 (CEST) X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Thu, 01 Jul 2010 13:55:06 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: multipart/mixed; boundary="===============1071515402==" Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se --===============1071515402== Content-Type: multipart/alternative; boundary=0016e6daa610ef05c1048a52236c --0016e6daa610ef05c1048a52236c Content-Type: text/plain; charset=ISO-8859-1 Dear all. I am trying to use libssh2_channel_direct_tcpip_ex in order to establish a tunnel between the localmachine and a server. To this end I am working with the direct_tcpip exmaple (both local machine and remote server use linux) I figured this is going to be very simple. What I tried is : ./direct_tcpip 127.0.0.1 80 localhost 20000 I hoped this will tunnel the my local machine's port 80 to the remote host at port 20000. Then at the remote server I will type : curl http://localhost:20000/test.php and it will be as if I connected to the local machine. Unfortionatly I got an error message (which is related to the 127.0.0.1 80) saying "bind : address already in use" I take it that this is because the apache server on my local machine listens to port 80, but isn't that the point of tunneling? I am sure that I am missing something very basic (and stupid) in this, can someone show me the light ? my end goal is not to tunnel port 80, but to tunnel port 554 which is used for rtsp protocol but its easy to test with port 80 -- Live Long And Prosper Dor Zaidenberg --0016e6daa610ef05c1048a52236c Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable
Dear all.

I am trying to use libssh2_ch= annel_direct_tcpip_ex in order to establish a tunnel between the localmachi= ne and a server. To this end I am working with the direct_tcpip exmaple (bo= th local machine and remote server use linux)

I figured this is going to be very simple.
Wh= at I tried is :=A0
./direct_tcpip <server_ip> <user> = <pwd> 127.0.0.1 80 localhost 20000
I hoped this will tunnel= the my local machine's port 80 to the remote host at port 20000.
Then at the remote server I will type :
curl http://localhost:20000/test.php and it wil= l be as if I connected to the local machine.

Unfor= tionatly I got an error message (which is related to the 127.0.0.1 80) sayi= ng "bind : address already in use"

I take it that this is because the apache server on my = local machine listens to port 80, but isn't that the point of tunneling= ?

I am sure that I am missing something very basic= (and stupid) in this, can someone show me the light ?

my end goal is not to tunnel port 80, but to tunnel por= t 554 which is used for rtsp protocol but its easy to test with port 80

--
Live Long And Prosper
Dor Zaidenberg
--0016e6daa610ef05c1048a52236c-- --===============1071515402== 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 --===============1071515402==-- From libssh2-devel-bounces@cool.haxx.se Thu Jul 1 14:56:35 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o61CuKqf002122; Thu, 1 Jul 2010 14:56:32 +0200 Received: from foo.birdnet.se (qmailr@foo.birdnet.se [213.88.146.6]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with SMTP id o61CuJjT002118 for ; Thu, 1 Jul 2010 14:56:19 +0200 Received: (qmail 6372 invoked by uid 501); 1 Jul 2010 12:56:17 -0000 Message-ID: <20100701125617.6371.qmail@stuge.se> Date: Thu, 1 Jul 2010 14:56:17 +0200 From: Peter Stuge To: libssh2-devel@cool.haxx.se Subject: Re: help in understanding _direct_tcpip_ex() Mail-Followup-To: libssh2-devel@cool.haxx.se References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Thu, 01 Jul 2010 14:56:35 +0200 (CEST) X-Greylist: Default is to whitelist mail, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Thu, 01 Jul 2010 14:56:20 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se Dor Zaidenberg wrote: > I am trying to use libssh2_channel_direct_tcpip_ex in order to establish a > tunnel between the localmachine and a server. To this end I am working with > the direct_tcpip exmaple (both local machine and remote server use linux) > > I figured this is going to be very simple. > What I tried is : > ./direct_tcpip 127.0.0.1 80 localhost 20000 > I hoped this will tunnel the my local machine's port 80 to the remote > host at port 20000. It will. > Then at the remote server I will type : > curl http://localhost:20000/test.php and it will be as if I > connected to the local machine. No, since then you would require a tunnel in the other direction, a so-called "forwarded-tcpip" tunnel, going from the remote server to your local machine. That is a different type of channel from "direct-tcpip" and it is currently not implemented in libssh2. Part of the reason may be that this type of tunnel (forwarded-tcpip) requires libssh2 to dynamically create channels, based on nothing but packets from the remote host. This does not fit so well with how libssh2 was designed. That said, I think it would be great if libssh2 also supported forwarded-tcpip channels, so please look into adding it! :) //Peter _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel From libssh2-devel-bounces@cool.haxx.se Thu Jul 1 20:00:58 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o61I0kBn032767; Thu, 1 Jul 2010 20:00:55 +0200 Received: from earth.stuge.se (earth.stuge.se [213.88.146.15]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o61I0iXS032727 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT) for ; Thu, 1 Jul 2010 20:00:44 +0200 Received: (qmail 25547 invoked from network); 1 Jul 2010 18:00:41 -0000 Received: from unknown (HELO earth.stuge.se) (127.0.0.1) by localhost with SMTP; 1 Jul 2010 18:00:41 -0000 MIME-Version: 1.0 From: "libssh2 Trac" X-Trac-Version: 0.12b1 Precedence: bulk Cc: libssh2-devel@cool.haxx.se Auto-Submitted: auto-generated X-Mailer: Trac 0.12b1, by Edgewall Software X-Trac-Project: libssh2 Date: Thu, 01 Jul 2010 18:00:41 -0000 X-URL: http://trac.libssh2.org/ Subject: Re: [libssh2] #182: Various memory leaks X-Trac-Ticket-URL: http://trac.libssh2.org/ticket/182#comment:14 Message-ID: <067.6791716e7258bc56c847816f7fb8b96b@libssh2.stuge.se> References: <052.82d75923d2eeae36ea3bf5c7c6e7729d@libssh2.stuge.se> X-Trac-Ticket-ID: 182 In-Reply-To: <052.82d75923d2eeae36ea3bf5c7c6e7729d@libssh2.stuge.se> X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Thu, 01 Jul 2010 20:00:58 +0200 (CEST) X-Greylist: Default is to whitelist mail, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Thu, 01 Jul 2010 20:00:44 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Reply-To: trac@libssh2.stuge.se, libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se IzE4MjogVmFyaW91cyBtZW1vcnkgbGVha3MKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KICBSZXBvcnRl cjogIGpvaG5A4oCmICAgICAgICAgICAgfCAgICAgICBPd25lcjogIGJhZ2RlciAgDQogICAgICBU eXBlOiAgZGVmZWN0ICAgICAgICAgICAgfCAgICAgIFN0YXR1czogIGFzc2lnbmVkDQogIFByaW9y aXR5OiAgbm9ybWFsICAgICAgICAgICAgfCAgIE1pbGVzdG9uZTogIDEuMi42ICAgDQogQ29tcG9u ZW50OiAgQVBJICAgICAgICAgICAgICAgfCAgICAgVmVyc2lvbjogIDEuMi42ICAgDQpSZXNvbHV0 aW9uOiAgICAgICAgICAgICAgICAgICAgfCAgICBLZXl3b3JkczogICAgICAgICAgDQogICAgQmxv Y2tzOiAgICAgICAgICAgICAgICAgICAgfCAgIEJsb2NrZWQgQnk6ICAgICAgICAgIA0KLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQoKQ29tbWVudCAoYnkgYmFnZGVyKToKCiBTdXJlLCB3ZSBzaG91bGQgZml4 IHRoZSBzb2NrZXRfc3RhdGUgYnV0IHRoYXQncyBhIHN1YmplY3QgZm9yIHRoZSBtYWlsaW5nDQog bGlzdCwgbm90IHRoaXMgYnVnIHJlcG9ydC4NCg0KIEkndmUgbm93IHB1c2hlZCB0aGUgNCBjaGFu Z2VzIGZyb20geW91ciBwYXRjaGVkIHRoYXQgc2VlbWVkIHRvIGJlDQogcmVtYWluaW5nIGFuZCB0 aGF0IGZpeCB2YXJpb3VzIGxlYWtzIHRoYXQgeW91J3ZlIG1lbnRpb25lZC4gQUZBSUssIHRoaXMN CiBtZWFucyBhbGwgdGhlIG1lbW9yeSBsZWFrIGlzc3VlcyB5b3UndmUgcmVwb3J0ZWQgaW4gdGhp cyB0aWNrZXRzIGhhdmUgYmVlbg0KIHRha2VuIGNhcmUgb2YuDQoNCiBDYW4geW91IGRldGVjdCBh bnkgcmVtYWluaW5nIGxlYWtzPwoKLS0gClRpY2tldCBVUkw6IDxodHRwOi8vdHJhYy5saWJzc2gy Lm9yZy90aWNrZXQvMTgyI2NvbW1lbnQ6MTQ+CmxpYnNzaDIgPGh0dHA6Ly90cmFjLmxpYnNzaDIu b3JnLz4KQyBsaWJyYXJ5IGZvciB3cml0aW5nIHBvcnRhYmxlIFNTSDIgY2xpZW50cwpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaWJzc2gyLWRldmVsIGh0 dHA6Ly9jb29sLmhheHguc2UvY2dpLWJpbi9tYWlsbWFuL2xpc3RpbmZvL2xpYnNzaDItZGV2ZWwK From libssh2-devel-bounces@cool.haxx.se Thu Jul 1 21:07:52 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o61J7b33015363; Thu, 1 Jul 2010 21:07:50 +0200 Received: from shell.lmi.net (shell.lmi.net [66.117.140.246]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o61J7WWv015335 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT) for ; Thu, 1 Jul 2010 21:07:34 +0200 Received: from rcom-software.com (75-101-82-95.dsl2st.lmi.net [75.101.82.95]) by shell.lmi.net (8.14.1/8.14.1) with ESMTP id o61J7RgV025721 for ; Thu, 1 Jul 2010 12:07:27 -0700 (PDT) Message-ID: <4C2CE7A7.DE5EEF53@rcom-software.com> Date: Thu, 01 Jul 2010 12:08:23 -0700 From: Paul Romero Organization: RCOM Communications Software X-Mailer: Mozilla 4.77 [en] (Win95; U) X-Accept-Language: en,es,de-DE,fr-FR MIME-Version: 1.0 To: libssh2-devel@cool.haxx.se Subject: libssh2: Ported to UC Linux ? X-Scanned-By: MIMEDefang 2.37 X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Thu, 01 Jul 2010 21:07:52 +0200 (CEST) X-Greylist: Default is to whitelist mail, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Thu, 01 Jul 2010 21:07:35 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se Dear Group: I would like to use the libssh2 SH-2 library to provide encryption and authentication functionality for libcurl SFTP--the C version. Has it previously been ported to the UC Linux OS ? If so, what is the approximate size ? If not, do you think it would be difficult and do you have a guess about the ultimate library size ? Note that UC Linux is a diskless embedded system OS, and typically runs on processors without an MMU. Also, the .o file format is ELF 32-bit MSB relocatable 68020, not stripped. My target system is M5249C3 dev. board with UC Linux version 2.4.27 and version 2.4.X or the kernel. It must be compiled with version 2.95.3 of the GNU ELF Toolchain which does not have modern automake capabilities. Also, I use the SASL library for other types of encryption and authentication in the target environment. It has a lot of functionality and I wonder if the libssh2 SH-2 library duplicates a significant part of functionality. If so, perhaps it is possible to configure your library to obtain duplicated functionality from the SASL library. The size of the current SASL authentication/encryption library I am using is about 605.4 K, and it provides GNU TLS functionality. The other functionality it provides is as follows: DES, MD5, ARC4, DSA, BLOWFISH, TWOFISH, CAST5, MD2, MD4, RSA, SHA1, SHA265, SHA512, RIJNDAEL, SERPENT, TIGER, X.509, ANS1, HMAC-MD5, DIGEST-MD5. The largest components are DEs, RSA and ASN1 whose sizes are about 18.3, 9.1, and 67 K respectively. Best Regards, Paul Romero -- Paul Romero RCOM Communications Software Phone/Fax: (510)339-2628 E-Mail: paulr@rcom-software.com _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel From libssh2-devel-bounces@cool.haxx.se Thu Jul 1 21:31:49 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o61JVfFU024888; Thu, 1 Jul 2010 21:31:48 +0200 Received: from foo.birdnet.se (qmailr@foo.birdnet.se [213.88.146.6]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with SMTP id o61JVdK4024841 for ; Thu, 1 Jul 2010 21:31:39 +0200 Received: (qmail 7349 invoked by uid 501); 1 Jul 2010 19:31:36 -0000 Message-ID: <20100701193136.7348.qmail@stuge.se> Date: Thu, 1 Jul 2010 21:31:36 +0200 From: Peter Stuge To: libssh2-devel@cool.haxx.se Subject: Re: libssh2: Ported to UC Linux ? Mail-Followup-To: libssh2-devel@cool.haxx.se References: <4C2CE7A7.DE5EEF53@rcom-software.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <4C2CE7A7.DE5EEF53@rcom-software.com> X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Thu, 01 Jul 2010 21:31:49 +0200 (CEST) X-Greylist: Default is to whitelist mail, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Thu, 01 Jul 2010 21:31:39 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se Hi Paul, Paul Romero wrote: > libssh2 .. > Has it previously been ported to the UC Linux OS ? No porting is required. You may know that uClinux provides the exact same API as the regular Linux kernel. > Note that UC Linux is a diskless embedded system OS, Um, no, uClinux is a kernel variant.. > and typically runs on processors without an MMU. Also, the .o file > format is ELF 32-bit MSB relocatable 68020, not stripped. That will obviously depend on which binary file formats you enable in the uClinux configuration, and which architecture you are running on. > My target system is M5249C3 dev. board with UC Linux version 2.4.27 > and version 2.4.X or the kernel. Maybe this is what you got delivered to you but I highly doubt that this would be the only configuration that you could use with that board. I would suggest that you create a fresh set of binaries for your target, from the latest versions of what makes up a typical embedded Linux system. > It must be compiled with version 2.95.3 of the GNU ELF Toolchain I also doubt this very strongly. The 2.4 codebase might indeed have some requirements on compiler version, but I don't think that 2.95.3 is the only thing you can use. Note also that 2.95.3 is the version of GCC only. "Toolchain" is a term commonly used to describe C compiler (GCC) along with linker and other binary utilities (GNU binutils). binutils has it's own versioning scheme. > which does not have modern automake capabilities. Again I doubt this. You could most likely use the very latest autotools also with the older toolchain that you got. > I use the SASL library .. > I wonder if the libssh2 SH-2 library duplicates a significant part > of functionality. No. libssh2 implements SSH, not SASL. libssh2 specifically does not implement cryptography, for that it uses libgcrypt or OpenSSL. I don't think the SASL library implements cryptography either. > The size of the current SASL authentication/encryption library I am > using is about 605.4 K, and it provides GNU TLS functionality. If there's a libgcrypt API then libssh2 can use it. > The other functionality it provides is as follows: DES, MD5, ARC4, > DSA, BLOWFISH, TWOFISH, CAST5, MD2, MD4, RSA, SHA1, SHA265, SHA512, > RIJNDAEL, SERPENT, TIGER, X.509, ANS1, HMAC-MD5, DIGEST-MD5. The > largest components are DEs, RSA and ASN1 whose sizes are about 18.3, > 9.1, and 67 K respectively. The minimum you need for libssh2 is AES, RSA, DSA and SHA1. //Peter _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel From libssh2-devel-bounces@cool.haxx.se Fri Jul 2 01:00:51 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o61N0VHx016630; Fri, 2 Jul 2010 01:00:46 +0200 Received: from shell.lmi.net (shell.lmi.net [66.117.140.246]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o61N0QCd016471 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT) for ; Fri, 2 Jul 2010 01:00:29 +0200 Received: from rcom-software.com (75-101-82-95.dsl2st.lmi.net [75.101.82.95]) by shell.lmi.net (8.14.1/8.14.1) with ESMTP id o61N0Cnm035625 for ; Thu, 1 Jul 2010 16:00:13 -0700 (PDT) Message-ID: <4C2D1E34.D4BEAC69@rcom-software.com> Date: Thu, 01 Jul 2010 16:01:09 -0700 From: Paul Romero Organization: RCOM Communications Software X-Mailer: Mozilla 4.77 [en] (Win95; U) X-Accept-Language: en,es,de-DE,fr-FR MIME-Version: 1.0 To: libssh2 development Subject: Re: libssh2: Ported to UC Linux ? References: <4C2CE7A7.DE5EEF53@rcom-software.com> <20100701193136.7348.qmail@stuge.se> X-Scanned-By: MIMEDefang 2.37 X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Fri, 02 Jul 2010 01:00:50 +0200 (CEST) X-Greylist: Default is to whitelist mail, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Fri, 02 Jul 2010 01:00:29 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se Hi Peter: First, thank you for the quick and detailed reply and be assured the difference between SSH and SASL is clear to me. Also, I must emphasize that my interest is in the SSH-2 component subset required to support SFTP rather than SSH. I think the SASL version of libgcrypt meets the minimum libssh2 requirements, and that AES and RIJNDAEL are the same. Also, I assume that libssh2 can use DES and 3DES interchangeably. It appears most SFTP implementations also use the following: Diffie Hellman-SHA1, Blowfish, Twofish, HMAC-SHA1 and HMAC-MD5. Do you think that is correct ? The reason I mentioned SASL is the version GSASL I am using came with a version of libgcrypt. However, I am not sure if libgcrypt is part of the GSASL package or it came from elsewhere. In any case, assuming a version of libgcrypt that supplies what libssh2 needs is found, libssh2 and libgcrypt can easily be linked together. Is that correct ? Using OpenSSL is not an option because it is too large for an embedded environment. You seem to suggest that compiling libssh2 requires modern automake capabilities. Using a newer version of the GNU ELF Toolchain may solve that problem for me--cross compilers etc. But, migrating to a newer UC Linux version is not an option. Would this be a barrier to using libssh2 ? (i.e. I am sure the GNU toolchain I am using does not have modern automake capabilities.) Note that the UC Linux Makefile scheme, and where and how libraries are linked is quite different than in standard Linux. In addition there are differences in how forking and exits work despite the fact the kernel API is the same. Most of the "porting" I mentioned consists of creating Makefiles that fit within the UC Linux scheme which is not a huge effort but certainly not trivial. Knowing libssh2 had been ported to the UC Linux environment or that is known to be easy to port it would make it much easier to assess the risk and time involved in using libssh2. Finally, do you have a size estimate for libssh2, assuming it is configured for SFTP support in my target environment ? Best Regards, Paul R. Peter Stuge wrote: > Hi Paul, > > Paul Romero wrote: > > libssh2 > .. > > Has it previously been ported to the UC Linux OS ? > > No porting is required. You may know that uClinux provides the exact > same API as the regular Linux kernel. > > > Note that UC Linux is a diskless embedded system OS, > > Um, no, uClinux is a kernel variant.. > > > and typically runs on processors without an MMU. Also, the .o file > > format is ELF 32-bit MSB relocatable 68020, not stripped. > > That will obviously depend on which binary file formats you enable in > the uClinux configuration, and which architecture you are running on. > > > My target system is M5249C3 dev. board with UC Linux version 2.4.27 > > and version 2.4.X or the kernel. > > Maybe this is what you got delivered to you but I highly doubt that > this would be the only configuration that you could use with that > board. I would suggest that you create a fresh set of binaries for > your target, from the latest versions of what makes up a typical > embedded Linux system. > > > It must be compiled with version 2.95.3 of the GNU ELF Toolchain > > I also doubt this very strongly. The 2.4 codebase might indeed have > some requirements on compiler version, but I don't think that 2.95.3 > is the only thing you can use. Note also that 2.95.3 is the version > of GCC only. "Toolchain" is a term commonly used to describe C > compiler (GCC) along with linker and other binary utilities (GNU > binutils). binutils has it's own versioning scheme. > > > which does not have modern automake capabilities. > > Again I doubt this. You could most likely use the very latest > autotools also with the older toolchain that you got. > > > I use the SASL library > .. > > I wonder if the libssh2 SH-2 library duplicates a significant part > > of functionality. > > No. libssh2 implements SSH, not SASL. libssh2 specifically does not > implement cryptography, for that it uses libgcrypt or OpenSSL. I > don't think the SASL library implements cryptography either. > > > The size of the current SASL authentication/encryption library I am > > using is about 605.4 K, and it provides GNU TLS functionality. > > If there's a libgcrypt API then libssh2 can use it. > > > The other functionality it provides is as follows: DES, MD5, ARC4, > > DSA, BLOWFISH, TWOFISH, CAST5, MD2, MD4, RSA, SHA1, SHA265, SHA512, > > RIJNDAEL, SERPENT, TIGER, X.509, ANS1, HMAC-MD5, DIGEST-MD5. The > > largest components are DEs, RSA and ASN1 whose sizes are about 18.3, > > 9.1, and 67 K respectively. > > The minimum you need for libssh2 is AES, RSA, DSA and SHA1. > > //Peter > _______________________________________________ > libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel -- Paul Romero RCOM Communications Software Phone/Fax: (510)339-2628 E-Mail: paulr@rcom-software.com _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel From libssh2-devel-bounces@cool.haxx.se Fri Jul 2 01:05:30 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o61N5RgM021650; Fri, 2 Jul 2010 01:05:28 +0200 Received: from shell.lmi.net (shell.lmi.net [66.117.140.246]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o61N5NPi021574 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT) for ; Fri, 2 Jul 2010 01:05:24 +0200 Received: from rcom-software.com (75-101-82-95.dsl2st.lmi.net [75.101.82.95]) by shell.lmi.net (8.14.1/8.14.1) with ESMTP id o61N5HQK035776 for ; Thu, 1 Jul 2010 16:05:17 -0700 (PDT) Message-ID: <4C2D1F65.B7A40767@rcom-software.com> Date: Thu, 01 Jul 2010 16:06:13 -0700 From: Paul Romero Organization: RCOM Communications Software X-Mailer: Mozilla 4.77 [en] (Win95; U) X-Accept-Language: en,es,de-DE,fr-FR MIME-Version: 1.0 To: libssh2 development Subject: Re: libssh2: Ported to UC Linux ? + DETAIL References: <4C2CE7A7.DE5EEF53@rcom-software.com> <20100701193136.7348.qmail@stuge.se> X-Scanned-By: MIMEDefang 2.37 X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Fri, 02 Jul 2010 01:05:30 +0200 (CEST) X-Greylist: Default is to whitelist mail, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Fri, 02 Jul 2010 01:05:25 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se Hi Peter: I forgot to mention that the version of libgnutls that came with GSASL provides Diffie-Hellman. Best Regards, Paul R. ************ PREVIOUS MESSAGE ********** Hi Peter: First, thank you for the quick and detailed reply and be assured the difference between SSH and SASL is clear to me. Also, I must emphasize that my interest is in the SSH-2 component subset required to support SFTP rather than SSH. I think the SASL version of libgcrypt meets the minimum libssh2 requirements, and that AES and RIJNDAEL are the same. Also, I assume that libssh2 can use DES and 3DES interchangeably. It appears most SFTP implementations also use the following: Diffie Hellman-SHA1, Blowfish, Twofish, HMAC-SHA1 and HMAC-MD5. Do you think that is correct ? The reason I mentioned SASL is the version GSASL I am using came with a version of libgcrypt. However, I am not sure if libgcrypt is part of the GSASL package or it came from elsewhere. In any case, assuming a version of libgcrypt that supplies what libssh2 needs is found, libssh2 and libgcrypt can easily be linked together. Is that correct ? Using OpenSSL is not an option because it is too large for an embedded environment. You seem to suggest that compiling libssh2 requires modern automake capabilities. Using a newer version of the GNU ELF Toolchain may solve that problem for me--cross compilers etc. But, migrating to a newer UC Linux version is not an option. Would this be a barrier to using libssh2 ? (i.e. I am sure the GNU toolchain I am using does not have modern automake capabilities.) Note that the UC Linux Makefile scheme, and where and how libraries are linked is quite different than in standard Linux. In addition there are differences in how forking and exits work despite the fact the kernel API is the same. Most of the "porting" I mentioned consists of creating Makefiles that fit within the UC Linux scheme which is not a huge effort but certainly not trivial. Knowing libssh2 had been ported to the UC Linux environment or that is known to be easy to port it would make it much easier to assess the risk and time involved in using libssh2. Finally, do you have a size estimate for libssh2, assuming it is configured for SFTP support in my target environment ? Best Regards, Paul R. Peter Stuge wrote: > Hi Paul, > > Paul Romero wrote: > > libssh2 > .. > > Has it previously been ported to the UC Linux OS ? > > No porting is required. You may know that uClinux provides the exact > same API as the regular Linux kernel. > > > Note that UC Linux is a diskless embedded system OS, > > Um, no, uClinux is a kernel variant.. > > > and typically runs on processors without an MMU. Also, the .o file > > format is ELF 32-bit MSB relocatable 68020, not stripped. > > That will obviously depend on which binary file formats you enable in > the uClinux configuration, and which architecture you are running on. > > > My target system is M5249C3 dev. board with UC Linux version 2.4.27 > > and version 2.4.X or the kernel. > > Maybe this is what you got delivered to you but I highly doubt that > this would be the only configuration that you could use with that > board. I would suggest that you create a fresh set of binaries for > your target, from the latest versions of what makes up a typical > embedded Linux system. > > > It must be compiled with version 2.95.3 of the GNU ELF Toolchain > > I also doubt this very strongly. The 2.4 codebase might indeed have > some requirements on compiler version, but I don't think that 2.95.3 > is the only thing you can use. Note also that 2.95.3 is the version > of GCC only. "Toolchain" is a term commonly used to describe C > compiler (GCC) along with linker and other binary utilities (GNU > binutils). binutils has it's own versioning scheme. > > > which does not have modern automake capabilities. > > Again I doubt this. You could most likely use the very latest > autotools also with the older toolchain that you got. > > > I use the SASL library > .. > > I wonder if the libssh2 SH-2 library duplicates a significant part > > of functionality. > > No. libssh2 implements SSH, not SASL. libssh2 specifically does not > implement cryptography, for that it uses libgcrypt or OpenSSL. I > don't think the SASL library implements cryptography either. > > > The size of the current SASL authentication/encryption library I am > > using is about 605.4 K, and it provides GNU TLS functionality. > > If there's a libgcrypt API then libssh2 can use it. > > > The other functionality it provides is as follows: DES, MD5, ARC4, > > DSA, BLOWFISH, TWOFISH, CAST5, MD2, MD4, RSA, SHA1, SHA265, SHA512, > > RIJNDAEL, SERPENT, TIGER, X.509, ANS1, HMAC-MD5, DIGEST-MD5. The > > largest components are DEs, RSA and ASN1 whose sizes are about 18.3, > > 9.1, and 67 K respectively. > > The minimum you need for libssh2 is AES, RSA, DSA and SHA1. > > //Peter > _______________________________________________ > libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel -- Paul Romero RCOM Communications Software Phone/Fax: (510)339-2628 E-Mail: paulr@rcom-software.com _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel From libssh2-devel-bounces@cool.haxx.se Fri Jul 2 08:44:39 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o626iJbs006736; Fri, 2 Jul 2010 08:44:35 +0200 Received: from shell.lmi.net (shell.lmi.net [66.117.140.246]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o626iGVI006730 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT) for ; Fri, 2 Jul 2010 08:44:18 +0200 Received: from rcom-software.com (75-101-82-95.dsl2st.lmi.net [75.101.82.95]) by shell.lmi.net (8.14.1/8.14.1) with ESMTP id o626iCJS048360 for ; Thu, 1 Jul 2010 23:44:13 -0700 (PDT) Message-ID: <4C2D8AF5.22DA6214@rcom-software.com> Date: Thu, 01 Jul 2010 23:45:09 -0700 From: Paul Romero Organization: RCOM Communications Software X-Mailer: Mozilla 4.77 [en] (Win95; U) X-Accept-Language: en,es,de-DE,fr-FR MIME-Version: 1.0 To: libssh2 development Subject: Re: libssh2: Ported to UC Linux ? + DETAIL +MORE References: <4C2CE7A7.DE5EEF53@rcom-software.com> <20100701193136.7348.qmail@stuge.se> X-Scanned-By: MIMEDefang 2.37 X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Fri, 02 Jul 2010 08:44:38 +0200 (CEST) X-Greylist: Default is to whitelist mail, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Fri, 02 Jul 2010 08:44:18 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se Hi Peter: Perhaps, it would be useful to you if I clarify the host and target environments. The host is an i686 machine with the Lenny release of Debian Linux. The target is a M5249 Coldfire machine without an MMU or disk. Compilation is done on the host with GNU ELF Tool chain. It is used to compile and link all of UC Linux and applications to be run on the target, and has UC Linux in source code form. Ultimately the host creates an S.19 file containing UC Linux an all the applications, and the S.19 file is downloaded to the target. The target contains no compilers of development infrastructure. Best Regards, Paul R. ********** PREVIOUS MESSAGE ***** Hi Peter: I forgot to mention that the version of libgnutls that came with GSASL provides Diffie-Hellman. Best Regards, Paul R. ************ PREVIOUS MESSAGE ********** Hi Peter: First, thank you for the quick and detailed reply and be assured the difference between SSH and SASL is clear to me. Also, I must emphasize that my interest is in the SSH-2 component subset required to support SFTP rather than SSH. I think the SASL version of libgcrypt meets the minimum libssh2 requirements, and that AES and RIJNDAEL are the same. Also, I assume that libssh2 can use DES and 3DES interchangeably. It appears most SFTP implementations also use the following: Diffie Hellman-SHA1, Blowfish, Twofish, HMAC-SHA1 and HMAC-MD5. Do you think that is correct ? The reason I mentioned SASL is the version GSASL I am using came with a version of libgcrypt. However, I am not sure if libgcrypt is part of the GSASL package or it came from elsewhere. In any case, assuming a version of libgcrypt that supplies what libssh2 needs is found, libssh2 and libgcrypt can easily be linked together. Is that correct ? Using OpenSSL is not an option because it is too large for an embedded environment. You seem to suggest that compiling libssh2 requires modern automake capabilities. Using a newer version of the GNU ELF Toolchain may solve that problem for me--cross compilers etc. But, migrating to a newer UC Linux version is not an option. Would this be a barrier to using libssh2 ? (i.e. I am sure the GNU toolchain I am using does not have modern automake capabilities.) Note that the UC Linux Makefile scheme, and where and how libraries are linked is quite different than in standard Linux. In addition there are differences in how forking and exits work despite the fact the kernel API is the same. Most of the "porting" I mentioned consists of creating Makefiles that fit within the UC Linux scheme which is not a huge effort but certainly not trivial. Knowing libssh2 had been ported to the UC Linux environment or that is known to be easy to port it would make it much easier to assess the risk and time involved in using libssh2. Finally, do you have a size estimate for libssh2, assuming it is configured for SFTP support in my target environment ? Best Regards, Paul R. Peter Stuge wrote: > Hi Paul, > > Paul Romero wrote: > > libssh2 > .. > > Has it previously been ported to the UC Linux OS ? > > No porting is required. You may know that uClinux provides the exact > same API as the regular Linux kernel. > > > Note that UC Linux is a diskless embedded system OS, > > Um, no, uClinux is a kernel variant.. > > > and typically runs on processors without an MMU. Also, the .o file > > format is ELF 32-bit MSB relocatable 68020, not stripped. > > That will obviously depend on which binary file formats you enable in > the uClinux configuration, and which architecture you are running on. > > > My target system is M5249C3 dev. board with UC Linux version 2.4.27 > > and version 2.4.X or the kernel. > > Maybe this is what you got delivered to you but I highly doubt that > this would be the only configuration that you could use with that > board. I would suggest that you create a fresh set of binaries for > your target, from the latest versions of what makes up a typical > embedded Linux system. > > > It must be compiled with version 2.95.3 of the GNU ELF Toolchain > > I also doubt this very strongly. The 2.4 codebase might indeed have > some requirements on compiler version, but I don't think that 2.95.3 > is the only thing you can use. Note also that 2.95.3 is the version > of GCC only. "Toolchain" is a term commonly used to describe C > compiler (GCC) along with linker and other binary utilities (GNU > binutils). binutils has it's own versioning scheme. > > > which does not have modern automake capabilities. > > Again I doubt this. You could most likely use the very latest > autotools also with the older toolchain that you got. > > > I use the SASL library > .. > > I wonder if the libssh2 SH-2 library duplicates a significant part > > of functionality. > > No. libssh2 implements SSH, not SASL. libssh2 specifically does not > implement cryptography, for that it uses libgcrypt or OpenSSL. I > don't think the SASL library implements cryptography either. > > > The size of the current SASL authentication/encryption library I am > > using is about 605.4 K, and it provides GNU TLS functionality. > > If there's a libgcrypt API then libssh2 can use it. > > > The other functionality it provides is as follows: DES, MD5, ARC4, > > DSA, BLOWFISH, TWOFISH, CAST5, MD2, MD4, RSA, SHA1, SHA265, SHA512, > > RIJNDAEL, SERPENT, TIGER, X.509, ANS1, HMAC-MD5, DIGEST-MD5. The > > largest components are DEs, RSA and ASN1 whose sizes are about 18.3, > > 9.1, and 67 K respectively. > > The minimum you need for libssh2 is AES, RSA, DSA and SHA1. > > //Peter > _______________________________________________ > libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel -- Paul Romero RCOM Communications Software Phone/Fax: (510)339-2628 E-Mail: paulr@rcom-software.com _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel From libssh2-devel-bounces@cool.haxx.se Fri Jul 2 09:35:54 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o627Zgst004697; Fri, 2 Jul 2010 09:35:52 +0200 Received: from foo.birdnet.se (qmailr@foo.birdnet.se [213.88.146.6]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with SMTP id o627ZfHP004693 for ; Fri, 2 Jul 2010 09:35:41 +0200 Received: (qmail 17281 invoked by uid 501); 2 Jul 2010 07:35:41 -0000 Message-ID: <20100702073540.17280.qmail@stuge.se> Date: Fri, 2 Jul 2010 09:35:40 +0200 From: Peter Stuge To: libssh2-devel@cool.haxx.se Subject: Re: libssh2: Ported to UC Linux ? Mail-Followup-To: libssh2-devel@cool.haxx.se References: <4C2CE7A7.DE5EEF53@rcom-software.com> <20100701193136.7348.qmail@stuge.se> <4C2D1E34.D4BEAC69@rcom-software.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <4C2D1E34.D4BEAC69@rcom-software.com> X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Fri, 02 Jul 2010 09:35:54 +0200 (CEST) X-Greylist: Default is to whitelist mail, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Fri, 02 Jul 2010 09:35:41 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se Hi Paul, Paul Romero wrote: > First, thank you for the quick and detailed reply and be assured > the difference between SSH and SASL is clear to me. Great! > Also, I must emphasize that my interest is in the SSH-2 component > subset required to support SFTP rather than SSH. Ah, sorry for being a bit sloppy with terminology. These days SSH version 1 is not in wide use anymore, so I tend to put SSH = SSH version 2 always. libssh2 only supports SSH version 2. > I think the SASL version of libgcrypt meets the minimum libssh2 > requirements, and that AES and RIJNDAEL are the same. That's correct. > Also, I assume that libssh2 can use DES and 3DES interchangeably. They are distinct algorithms, and SSH requires 3DES. Several algorithms are OPTIONAL in the standard, including AES/RIJNDAEL, although it is listed as RECOMMENDED and aes128-ctr, aes192-ctr and aes256-ctr is likely to become REQUIRED in the future so I always strongly recommend that they be included. > It appears most SFTP implementations also use the following: > Diffie Hellman-SHA1, Blowfish, Twofish, HMAC-SHA1 and HMAC-MD5. > Do you think that is correct ? DH-SHA1 and HMAC-SHA1 are also REQUIRED, the others are optional. SSH handles negotiation at connect time to the prefered algorithms supported by both client and server. > The reason I mentioned SASL is the version GSASL I am using came with > a version of libgcrypt. However, I am not sure if libgcrypt is part > of the GSASL package or it came from elsewhere. libgcrypt is always it's own package. Good news. > In any case, assuming a version of libgcrypt that supplies what > libssh2 needs is found, libssh2 and libgcrypt can easily be linked > together. Is that correct ? Yes, you select if you want to use libgcrypt or OpenSSL when you run configure for libssh2. > You seem to suggest that compiling libssh2 requires modern automake > capabilities. I don't think it does actually, and even if it did, I wanted to point out that it's not a problem, since autotools are not a part of the toolchain and could thus be updated to the very latest version without problems, should that be required. > Using a newer version of the GNU ELF Toolchain may solve that > problem for me--cross compilers etc. But, migrating to a newer > UC Linux version is not an option. Would this be a barrier to using > libssh2 ? No. As long as you have a working GNU toolchain for your target and a sane /bin/sh then you will be fine. > (i.e. I am sure the GNU toolchain I am using does not have modern > automake capabilities.) Again, please don't connect those two. autotools (slang for autoconf+automake) is independent, only ever required natively on the host machine, and actually you don't need it unless you want to try to build libssh2 with your own source code modifications. > Note that the UC Linux Makefile scheme, and where and how > libraries are linked is quite different than in standard Linux. The binaries and libraries, which is what matters for libssh2, are quite likely built using totally standard cross-compiler techniques, since you have a GNU toolchain. That's really the only point that matters. > In addition there are differences in how forking and exits work > despite the fact the kernel API is the same. True! However libssh2 never forks, so no issue. > Most of the "porting" I mentioned consists of creating Makefiles > that fit within the UC Linux scheme which is not a huge effort but > certainly not trivial. I don't know what these special Makefiles are that you mention, and I believe that you can simply cross-compile libssh2 using your toolchain for this target, in the standard way. Make sure the toolchain programs are included in your PATH, and use the --host=tuple parameter when configuring libssh2. Substitute tuple with the prefix for your toolchain, so if your toolchain provides m68k-elf-gcc, then run configure --host=m68k-elf and include the library paths needed. I recently described how I successfuly cross-compiled libssh2 for Windows and you can use the same procedure if you substitute my i686-mingw32 for m68k-elf or the appropriate prefix, and of course the paths to where your libraries and headers are. http://www.libssh2.org/mail/libssh2-devel-archive-2010-06/0155.shtml //Peter _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel From libssh2-devel-bounces@cool.haxx.se Fri Jul 2 10:13:36 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o628DM0d029412; Fri, 2 Jul 2010 10:13:33 +0200 Received: from earth.stuge.se (earth.stuge.se [213.88.146.15]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o628DK1f029393 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT) for ; Fri, 2 Jul 2010 10:13:21 +0200 Received: (qmail 17583 invoked from network); 2 Jul 2010 08:13:19 -0000 Received: from unknown (HELO earth.stuge.se) (127.0.0.1) by localhost with SMTP; 2 Jul 2010 08:13:19 -0000 MIME-Version: 1.0 From: "libssh2 Trac" X-Trac-Version: 0.12b1 Precedence: bulk Cc: libssh2-devel@cool.haxx.se Auto-Submitted: auto-generated X-Mailer: Trac 0.12b1, by Edgewall Software X-Trac-Project: libssh2 Date: Fri, 02 Jul 2010 08:13:19 -0000 X-URL: http://trac.libssh2.org/ Subject: Re: [libssh2] #182: Various memory leaks X-Trac-Ticket-URL: http://trac.libssh2.org/ticket/182#comment:15 Message-ID: <067.1feb5c1c2a05040e788bb1d09af78780@libssh2.stuge.se> References: <052.82d75923d2eeae36ea3bf5c7c6e7729d@libssh2.stuge.se> X-Trac-Ticket-ID: 182 In-Reply-To: <052.82d75923d2eeae36ea3bf5c7c6e7729d@libssh2.stuge.se> X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Fri, 02 Jul 2010 10:13:36 +0200 (CEST) X-Greylist: Default is to whitelist mail, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Fri, 02 Jul 2010 10:13:21 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Reply-To: trac@libssh2.stuge.se, libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se IzE4MjogVmFyaW91cyBtZW1vcnkgbGVha3MKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KICBSZXBvcnRl cjogIGpvaG5A4oCmICAgICAgICAgICAgfCAgICAgICBPd25lcjogIGJhZ2RlciAgDQogICAgICBU eXBlOiAgZGVmZWN0ICAgICAgICAgICAgfCAgICAgIFN0YXR1czogIGFzc2lnbmVkDQogIFByaW9y aXR5OiAgbm9ybWFsICAgICAgICAgICAgfCAgIE1pbGVzdG9uZTogIDEuMi42ICAgDQogQ29tcG9u ZW50OiAgQVBJICAgICAgICAgICAgICAgfCAgICAgVmVyc2lvbjogIDEuMi42ICAgDQpSZXNvbHV0 aW9uOiAgICAgICAgICAgICAgICAgICAgfCAgICBLZXl3b3JkczogICAgICAgICAgDQogICAgQmxv Y2tzOiAgICAgICAgICAgICAgICAgICAgfCAgIEJsb2NrZWQgQnk6ICAgICAgICAgIA0KLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQoKQ29tbWVudCAoYnkgam9obkDigKYpOgoKIEkgd2lsbCBkb3dubG9hZCBh bmQgdGVzdCB0aGUgY29kZSwgYWZ0ZXIgeW91IGhhdmUgbWFkZSB0aGUgY2hhbmdlcy4NCiBJIGNh biBub3Qgc2VlIGFueSBtZW1vcnkgbGVha3Mgd2l0aCB0aG9zZSBjaGFuZ2VzIGluIHBsYWNlLg0K IEhvd2V2ZXIgSSBhbSBvbmx5IHRlc3RpbmcgYSBzaW1wbGUgc3NoIGNvbm5lY3Rpb24sIHNvIGl0 J3MgcG9zc2libGUgdGhlcmUNCiBtYXkgYmUgb3RoZXJzIGluIHRoZSBzY3Avc2Z0cCBwYXJ0cyBv ZiB0aGUgY29kZSAod2hpY2ggSSBoYXZlbid0IGxvb2tlZA0KIGF0KS4NCiBUaGFua3MgZm9yIHlv dXIgdW5kZXJzdGFuZGluZyB3aXRoIG15IHNvbWV0aW1lcyBsZW5ndGh5IHJlc3BvbnNlcy4NCg0K IEpvaG4KCi0tIApUaWNrZXQgVVJMOiA8aHR0cDovL3RyYWMubGlic3NoMi5vcmcvdGlja2V0LzE4 MiNjb21tZW50OjE1PgpsaWJzc2gyIDxodHRwOi8vdHJhYy5saWJzc2gyLm9yZy8+CkMgbGlicmFy eSBmb3Igd3JpdGluZyBwb3J0YWJsZSBTU0gyIGNsaWVudHMKX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KbGlic3NoMi1kZXZlbCBodHRwOi8vY29vbC5oYXh4 LnNlL2NnaS1iaW4vbWFpbG1hbi9saXN0aW5mby9saWJzc2gyLWRldmVsCg== From libssh2-devel-bounces@cool.haxx.se Fri Jul 2 12:50:12 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o62Anojk020492; Fri, 2 Jul 2010 12:50:09 +0200 Received: from mail-qw0-f54.google.com (mail-qw0-f54.google.com [209.85.216.54]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o62Anl2n020451 for ; Fri, 2 Jul 2010 12:49:48 +0200 Received: by qwg5 with SMTP id 5so1735904qwg.41 for ; Fri, 02 Jul 2010 03:49:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:in-reply-to :references:date:message-id:subject:from:to:content-type; bh=o1f4RewPguASLTymJnYqjjCKZVdTiTs120WeozkJ6qA=; b=dXhcsKtovo9yl0kiykGmcrY72DTy5+rU40gyfQAQnxnfSS3zpBx1CFKQro4lPlSnuj qf7jQQJ39Afl3jJ6R+yW0GxPf4S+pTWflzrDN5kVUetJ33L3MmdGruiLw/r08HnxxpYH k0ZuYiZFP8Nnc8JIkW44CdwYDzDnB25kcR0ck= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; b=gU2oJ866PseR+yh94IQhBP1DrS+xVNM3hoagxtkBnBticVct8TaGv2YU6DnuMt5qiu fGTzaf5kR/tybFmqj4oo9RshNfWoqjsT2nFI2dSlw/H+hTMHb5wPGuNgYdyT0Fh6bJ25 QKkgQTUS3ApVGdct2KZF9a7Iz6TXpuI7xrPc8= MIME-Version: 1.0 Received: by 10.224.2.211 with SMTP id 19mr273769qak.104.1278067780285; Fri, 02 Jul 2010 03:49:40 -0700 (PDT) Received: by 10.229.236.72 with HTTP; Fri, 2 Jul 2010 03:49:40 -0700 (PDT) In-Reply-To: <20100628090009.26329.qmail@stuge.se> References: <20100625063334.5915.qmail@stuge.se> <20100625131802.22927.qmail@stuge.se> <20100628090009.26329.qmail@stuge.se> Date: Fri, 2 Jul 2010 16:19:40 +0530 Message-ID: Subject: Re: libssh2_session_startup is failing with "Failed getting banner" From: Ishwar Ande To: libssh2 development Content-Type: multipart/mixed; boundary=0015175cb83c0af5c3048a655842 X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Fri, 02 Jul 2010 12:50:12 +0200 (CEST) X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Fri, 02 Jul 2010 12:49:48 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se --0015175cb83c0af5c3048a655842 Content-Type: multipart/alternative; boundary=0015175cb83c0af5ab048a655840 --0015175cb83c0af5ab048a655840 Content-Type: text/plain; charset=ISO-8859-1 Please find the attached config.log, when it was not working. See if it helps. Regards, Ishwar On Mon, Jun 28, 2010 at 2:30 PM, Peter Stuge wrote: > Hi, > > Ishwar Ande wrote: > > After building linssh2 with the flag "-D_REENTRANT" the problem is > > resolved. > > > > Refer to this link for more details: http://libssh2.stuge.se/ticket/99 > > Thanks for the pointer. Can you provide config.log from when you run > ./configure on your host when it is not working correctly? > > > //Peter > _______________________________________________ > libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel > -- -- Regards, Ishwar. --0015175cb83c0af5ab048a655840 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Please find the attached config.log, when it was not working. See if it hel= ps.

Regards,
Ishwar

On Mon, Jun 28, 2010 at 2:30 PM, Peter Stuge <= peter@stuge.se> wrote:
Hi,

Ishwar Ande wrote:
> After building linssh2 with the flag "-D_REENTRANT" the prob= lem is
> resolved.
>
> Refer to this link for more details: http://libssh2.stuge.se/ticket/99

Thanks for the pointer. Can you provide config.log from when you run<= br> ./configure on your host when it is not working correctly?


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



--
--
Regar= ds,
Ishwar.

--0015175cb83c0af5ab048a655840-- --0015175cb83c0af5c3048a655842 Content-Type: application/octet-stream; name="config.log" Content-Disposition: attachment; filename="config.log" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gb4wkefp0 VGhpcyBmaWxlIGNvbnRhaW5zIGFueSBtZXNzYWdlcyBwcm9kdWNlZCBieSBjb21waWxlcnMgd2hp bGUKcnVubmluZyBjb25maWd1cmUsIHRvIGFpZCBkZWJ1Z2dpbmcgaWYgY29uZmlndXJlIG1ha2Vz IGEgbWlzdGFrZS4KCkl0IHdhcyBjcmVhdGVkIGJ5IGxpYnNzaDIgY29uZmlndXJlIC0sIHdoaWNo IHdhcwpnZW5lcmF0ZWQgYnkgR05VIEF1dG9jb25mIDIuNjUuICBJbnZvY2F0aW9uIGNvbW1hbmQg bGluZSB3YXMKCiAgJCAuL2NvbmZpZ3VyZSAtLWVuYWJsZS1kZWJ1ZyAtLXByZWZpeD0vb3B0L3Nz aDItMS4yLjYtZGVidWcKCiMjIC0tLS0tLS0tLSAjIwojIyBQbGF0Zm9ybS4gIyMKIyMgLS0tLS0t LS0tICMjCgpob3N0bmFtZSA9IGV0cjY1MTFsMXN1bjEwMQp1bmFtZSAtbSA9IHN1bjR1CnVuYW1l IC1yID0gNS4xMAp1bmFtZSAtcyA9IFN1bk9TCnVuYW1lIC12ID0gR2VuZXJpY18xMjAwMTEtMTQK Ci91c3IvYmluL3VuYW1lIC1wID0gc3BhcmMKL2Jpbi91bmFtZSAtWCAgICAgPSBTeXN0ZW0gPSBT dW5PUwpOb2RlID0gZXRyNjUxMWwxc3VuMTAxClJlbGVhc2UgPSA1LjEwCktlcm5lbElEID0gR2Vu ZXJpY18xMjAwMTEtMTQKTWFjaGluZSA9IHN1bjR1CkJ1c1R5cGUgPSA8dW5rbm93bj4KU2VyaWFs ID0gPHVua25vd24+ClVzZXJzID0gPHVua25vd24+Ck9FTSMgPSAwCk9yaWdpbiMgPSAxCk51bUNQ VSA9IDQKCi9iaW4vYXJjaCAgICAgICAgICAgICAgPSBzdW40Ci91c3IvYmluL2FyY2ggLWsgICAg ICAgPSBzdW40dQovdXNyL2NvbnZleC9nZXRzeXNpbmZvID0gdW5rbm93bgovdXNyL2Jpbi9ob3N0 aW5mbyAgICAgID0gdW5rbm93bgovYmluL21hY2hpbmUgICAgICAgICAgID0gdW5rbm93bgovdXNy L2Jpbi9vc2xldmVsICAgICAgID0gdW5rbm93bgovYmluL3VuaXZlcnNlICAgICAgICAgID0gdW5r bm93bgoKUEFUSDogL3Vzci9sb2NhbC9iaW4KUEFUSDogL29wdC9TVU5Xc3Byby9iaW4KUEFUSDog L3Vzci9zZncvYmluClBBVEg6IC91c3IvdWNiClBBVEg6IC91c3IvY2NzL2JpbgpQQVRIOiAvdXNy L2xvY2FsL2JpbgpQQVRIOiAvb3B0L1NVTldzcHJvL2JpbgpQQVRIOiAvdXNyL3Nmdy9iaW4KUEFU SDogL3Vzci91Y2IKUEFUSDogL3Vzci9jY3MvYmluClBBVEg6IC91c3Ivc2JpbgpQQVRIOiAvdXNy L2JpbgoKCiMjIC0tLS0tLS0tLS0tICMjCiMjIENvcmUgdGVzdHMuICMjCiMjIC0tLS0tLS0tLS0t ICMjCgpjb25maWd1cmU6MjQxNzogY2hlY2tpbmcgd2hldGhlciB0byBlbmFibGUgbWFpbnRhaW5l ci1zcGVjaWZpYyBwb3J0aW9ucyBvZiBNYWtlZmlsZXMKY29uZmlndXJlOjI0MjY6IHJlc3VsdDog bm8KY29uZmlndXJlOjI0NDQ6IGNoZWNraW5nIGZvciBzZWQKY29uZmlndXJlOjI0NjM6IGZvdW5k IC91c3IvdWNiL3NlZApjb25maWd1cmU6MjQ3NjogcmVzdWx0OiAvdXNyL3VjYi9zZWQKY29uZmln dXJlOjI1MzA6IGNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwKY29uZmlndXJl OjI1OTg6IHJlc3VsdDogLi9pbnN0YWxsLXNoIC1jCmNvbmZpZ3VyZToyNjA5OiBjaGVja2luZyB3 aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUKY29uZmlndXJlOjI2NDY6IHJlc3VsdDog eWVzCmNvbmZpZ3VyZToyNzA4OiBjaGVja2luZyBmb3IgZ2F3awpjb25maWd1cmU6MjczODogcmVz dWx0OiBubwpjb25maWd1cmU6MjcwODogY2hlY2tpbmcgZm9yIG1hd2sKY29uZmlndXJlOjI3Mzg6 IHJlc3VsdDogbm8KY29uZmlndXJlOjI3MDg6IGNoZWNraW5nIGZvciBuYXdrCmNvbmZpZ3VyZToy NzI0OiBmb3VuZCAvdXNyL2Jpbi9uYXdrCmNvbmZpZ3VyZToyNzM1OiByZXN1bHQ6IG5hd2sKY29u ZmlndXJlOjI3NDY6IGNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkKY29uZmlndXJl OjI3Njg6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyOTQ2OiBjaGVja2luZyBsaWJzc2gyIHZlcnNp b24KY29uZmlndXJlOjI5NDg6IHJlc3VsdDogMS4yLjYKY29uZmlndXJlOjI5NTc6IGNoZWNraW5n IGJ1aWxkIHN5c3RlbSB0eXBlCmNvbmZpZ3VyZToyOTcxOiByZXN1bHQ6IHNwYXJjLXN1bi1zb2xh cmlzMi4xMApjb25maWd1cmU6Mjk5MTogY2hlY2tpbmcgaG9zdCBzeXN0ZW0gdHlwZQpjb25maWd1 cmU6MzAwNDogcmVzdWx0OiBzcGFyYy1zdW4tc29sYXJpczIuMTAKY29uZmlndXJlOjMwMzE6IGF1 dG9idWlsZCBwcm9qZWN0Li4uIGxpYnNzaDIKY29uZmlndXJlOjMwMzc6IGF1dG9idWlsZCByZXZp c2lvbi4uLiAxLjIuNgpjb25maWd1cmU6MzA0MjogYXV0b2J1aWxkIGhvc3RuYW1lLi4uIGV0cjY1 MTFsMXN1bjEwMQpjb25maWd1cmU6MzA1MzogYXV0b2J1aWxkIHRpbWVzdGFtcC4uLiAyMDEwMDYy NS0xMTIxNDMKY29uZmlndXJlOjMwOTQ6IGNoZWNraW5nIGZvciBzdHlsZSBvZiBpbmNsdWRlIHVz ZWQgYnkgbWFrZQpjb25maWd1cmU6MzEyMjogcmVzdWx0OiBHTlUKY29uZmlndXJlOjMxOTU6IGNo ZWNraW5nIGZvciBnY2MKY29uZmlndXJlOjMyMjU6IHJlc3VsdDogbm8KY29uZmlndXJlOjMyODg6 IGNoZWNraW5nIGZvciBjYwpjb25maWd1cmU6MzMwOTogZm91bmQgL29wdC9TVU5Xc3Byby9iaW4v Y2MKY29uZmlndXJlOjMzMzI6IHJlc3VsdDogY2MKY29uZmlndXJlOjM0NTE6IGNoZWNraW5nIGZv ciBDIGNvbXBpbGVyIHZlcnNpb24KY29uZmlndXJlOjM0NjA6IGNjIC0tdmVyc2lvbiA+JjUKY2M6 IFdhcm5pbmc6IG9wdGlvbiAtLSBwYXNzZWQgdG8gbGQKdXNhZ2U6IGNjIFsgb3B0aW9uc10gZmls ZXMuICBVc2UgJ2NjIC1mbGFncycgZm9yIGRldGFpbHMKY29uZmlndXJlOjM0NzE6ICQ/ID0gMQpj b25maWd1cmU6MzQ2MDogY2MgLXYgPiY1CnVzYWdlOiBjYyBbIG9wdGlvbnNdIGZpbGVzLiAgVXNl ICdjYyAtZmxhZ3MnIGZvciBkZXRhaWxzCmNvbmZpZ3VyZTozNDcxOiAkPyA9IDEKY29uZmlndXJl OjM0NjA6IGNjIC1WID4mNQpjYzogU3VuIEMgNS44IDIwMDUvMTAvMTMKdXNhZ2U6IGNjIFsgb3B0 aW9uc10gZmlsZXMuICBVc2UgJ2NjIC1mbGFncycgZm9yIGRldGFpbHMKY29uZmlndXJlOjM0NzE6 ICQ/ID0gMQpjb25maWd1cmU6MzQ2MDogY2MgLXF2ZXJzaW9uID4mNQpjYzogaWxsZWdhbCBvcHRp b24gLXF2ZXJzaW9uCmNvbmZpZ3VyZTozNDcxOiAkPyA9IDEKY29uZmlndXJlOjM0OTE6IGNoZWNr aW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgd29ya3MKY29uZmlndXJlOjM1MTM6IGNjICAgIGNv bmZ0ZXN0LmMgID4mNQpjb25maWd1cmU6MzUxNzogJD8gPSAwCmNvbmZpZ3VyZTozNTY2OiByZXN1 bHQ6IHllcwpjb25maWd1cmU6MzU2OTogY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVsdCBv dXRwdXQgZmlsZSBuYW1lCmNvbmZpZ3VyZTozNTcxOiByZXN1bHQ6IGEub3V0CmNvbmZpZ3VyZToz NTc3OiBjaGVja2luZyBmb3Igc3VmZml4IG9mIGV4ZWN1dGFibGVzCmNvbmZpZ3VyZTozNTg0OiBj YyAtbyBjb25mdGVzdCAgICBjb25mdGVzdC5jICA+JjUKY29uZmlndXJlOjM1ODg6ICQ/ID0gMApj b25maWd1cmU6MzYxMDogcmVzdWx0OiAKY29uZmlndXJlOjM2MzI6IGNoZWNraW5nIHdoZXRoZXIg d2UgYXJlIGNyb3NzIGNvbXBpbGluZwpjb25maWd1cmU6MzY0MDogY2MgLW8gY29uZnRlc3QgICAg Y29uZnRlc3QuYyAgPiY1CiJjb25mdGVzdC5jIiwgbGluZSAxOTogd2FybmluZzogc3RhdGVtZW50 IG5vdCByZWFjaGVkCmNvbmZpZ3VyZTozNjQ0OiAkPyA9IDAKY29uZmlndXJlOjM2NTE6IC4vY29u ZnRlc3QKY29uZmlndXJlOjM2NTU6ICQ/ID0gMApjb25maWd1cmU6MzY3MDogcmVzdWx0OiBubwpj b25maWd1cmU6MzY3NTogY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBvYmplY3QgZmlsZXMKY29uZmln dXJlOjM2OTc6IGNjIC1jICAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjM3MDE6ICQ/ID0gMApj b25maWd1cmU6MzcyMjogcmVzdWx0OiBvCmNvbmZpZ3VyZTozNzI2OiBjaGVja2luZyB3aGV0aGVy IHdlIGFyZSB1c2luZyB0aGUgR05VIEMgY29tcGlsZXIKY29uZmlndXJlOjM3NDU6IGNjIC1jICAg Y29uZnRlc3QuYyA+JjUKImNvbmZ0ZXN0LmMiLCBsaW5lIDE2OiB1bmRlZmluZWQgc3ltYm9sOiBj aG9rZQoiY29uZnRlc3QuYyIsIGxpbmUgMTY6IHN5bnRheCBlcnJvciBiZWZvcmUgb3IgYXQ6IG1l CmNjOiBhY29tcCBmYWlsZWQgZm9yIGNvbmZ0ZXN0LmMKY29uZmlndXJlOjM3NDU6ICQ/ID0gMgpj b25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmlu ZSBQQUNLQUdFX05BTUUgImxpYnNzaDIiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImxpYnNz aDIiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIi0iCnwgI2RlZmluZSBQQUNLQUdFX1NUUklO RyAibGlic3NoMiAtIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImxpYnNzaDItZGV2ZWxA Y29vbC5oYXh4LnNlIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0Ug ImxpYnNzaDIiCnwgI2RlZmluZSBWRVJTSU9OICIxLjIuNiIKfCAvKiBlbmQgY29uZmRlZnMuaC4g ICovCnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCAjaWZuZGVmIF9fR05VQ19fCnwgICAgICAgIGNo b2tlIG1lCnwgI2VuZGlmCnwgCnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZTozNzU0 OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTozNzYzOiBjaGVja2luZyB3aGV0aGVyIGNjIGFjY2VwdHMg LWcKY29uZmlndXJlOjM3ODM6IGNjIC1jIC1nICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6Mzc4 MzogJD8gPSAwCmNvbmZpZ3VyZTozODI0OiByZXN1bHQ6IHllcwpjb25maWd1cmU6Mzg0MTogY2hl Y2tpbmcgZm9yIGNjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OQpjb25maWd1cmU6MzkwNTogY2Mg IC1jIC1nICBjb25mdGVzdC5jID4mNQoiY29uZnRlc3QuYyIsIGxpbmUgNTk6IHdhcm5pbmc6IHN0 YXRlbWVudCBub3QgcmVhY2hlZApjb25maWd1cmU6MzkwNTogJD8gPSAwCmNvbmZpZ3VyZTozOTE4 OiByZXN1bHQ6IG5vbmUgbmVlZGVkCmNvbmZpZ3VyZTozOTQwOiBjaGVja2luZyBkZXBlbmRlbmN5 IHN0eWxlIG9mIGNjCmNvbmZpZ3VyZTo0MDMwOiByZXN1bHQ6IG5vbmUKY29uZmlndXJlOjQwNTM6 IGNoZWNraW5nIGhvdyB0byBydW4gdGhlIEMgcHJlcHJvY2Vzc29yCmNvbmZpZ3VyZTo0MDg0OiBj YyAtRSAgY29uZnRlc3QuYwpjb25maWd1cmU6NDA4NDogJD8gPSAwCmNvbmZpZ3VyZTo0MDk4OiBj YyAtRSAgY29uZnRlc3QuYwoiY29uZnRlc3QuYyIsIGxpbmUgMTE6IGNhbm5vdCBmaW5kIGluY2x1 ZGUgZmlsZTogPGFjX25vbmV4aXN0ZW50Lmg+CmNjOiBhY29tcCBmYWlsZWQgZm9yIGNvbmZ0ZXN0 LmMKY29uZmlndXJlOjQwOTg6ICQ/ID0gMgpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoK fCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImxpYnNzaDIiCnwgI2Rl ZmluZSBQQUNLQUdFX1RBUk5BTUUgImxpYnNzaDIiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04g Ii0iCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAibGlic3NoMiAtIgp8ICNkZWZpbmUgUEFDS0FH RV9CVUdSRVBPUlQgImxpYnNzaDItZGV2ZWxAY29vbC5oYXh4LnNlIgp8ICNkZWZpbmUgUEFDS0FH RV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImxpYnNzaDIiCnwgI2RlZmluZSBWRVJTSU9OICIx LjIuNiIKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPGFjX25vbmV4aXN0ZW50 Lmg+CmNvbmZpZ3VyZTo0MTIzOiByZXN1bHQ6IGNjIC1FCmNvbmZpZ3VyZTo0MTQzOiBjYyAtRSAg Y29uZnRlc3QuYwpjb25maWd1cmU6NDE0MzogJD8gPSAwCmNvbmZpZ3VyZTo0MTU3OiBjYyAtRSAg Y29uZnRlc3QuYwoiY29uZnRlc3QuYyIsIGxpbmUgMTE6IGNhbm5vdCBmaW5kIGluY2x1ZGUgZmls ZTogPGFjX25vbmV4aXN0ZW50Lmg+CmNjOiBhY29tcCBmYWlsZWQgZm9yIGNvbmZ0ZXN0LmMKY29u ZmlndXJlOjQxNTc6ICQ/ID0gMgpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBj b25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImxpYnNzaDIiCnwgI2RlZmluZSBQ QUNLQUdFX1RBUk5BTUUgImxpYnNzaDIiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIi0iCnwg I2RlZmluZSBQQUNLQUdFX1NUUklORyAibGlic3NoMiAtIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdS RVBPUlQgImxpYnNzaDItZGV2ZWxAY29vbC5oYXh4LnNlIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwg IiIKfCAjZGVmaW5lIFBBQ0tBR0UgImxpYnNzaDIiCnwgI2RlZmluZSBWRVJTSU9OICIxLjIuNiIK fCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPGFjX25vbmV4aXN0ZW50Lmg+CmNv bmZpZ3VyZTo0MTg2OiBjaGVja2luZyBmb3IgZ3JlcCB0aGF0IGhhbmRsZXMgbG9uZyBsaW5lcyBh bmQgLWUKY29uZmlndXJlOjQyNDQ6IHJlc3VsdDogL3Vzci9zZncvYmluL2dncmVwCmNvbmZpZ3Vy ZTo0MjQ5OiBjaGVja2luZyBmb3IgZWdyZXAKY29uZmlndXJlOjQzMTE6IHJlc3VsdDogL3Vzci9z ZncvYmluL2dncmVwIC1FCmNvbmZpZ3VyZTo0MzE2OiBjaGVja2luZyBmb3IgQU5TSSBDIGhlYWRl ciBmaWxlcwpjb25maWd1cmU6NDMzNjogY2MgLWMgLWcgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3Vy ZTo0MzM2OiAkPyA9IDAKY29uZmlndXJlOjQ0MDk6IGNjIC1vIGNvbmZ0ZXN0IC1nICAgY29uZnRl c3QuYyAgPiY1CmNvbmZpZ3VyZTo0NDA5OiAkPyA9IDAKY29uZmlndXJlOjQ0MDk6IC4vY29uZnRl c3QKY29uZmlndXJlOjQ0MDk6ICQ/ID0gMApjb25maWd1cmU6NDQyMDogcmVzdWx0OiB5ZXMKY29u ZmlndXJlOjQ0MzM6IGNoZWNraW5nIGZvciBzeXMvdHlwZXMuaApjb25maWd1cmU6NDQzMzogY2Mg LWMgLWcgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo0NDMzOiAkPyA9IDAKY29uZmlndXJlOjQ0 MzM6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0NDMzOiBjaGVja2luZyBmb3Igc3lzL3N0YXQuaApj b25maWd1cmU6NDQzMzogY2MgLWMgLWcgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo0NDMzOiAk PyA9IDAKY29uZmlndXJlOjQ0MzM6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0NDMzOiBjaGVja2lu ZyBmb3Igc3RkbGliLmgKY29uZmlndXJlOjQ0MzM6IGNjIC1jIC1nICBjb25mdGVzdC5jID4mNQpj b25maWd1cmU6NDQzMzogJD8gPSAwCmNvbmZpZ3VyZTo0NDMzOiByZXN1bHQ6IHllcwpjb25maWd1 cmU6NDQzMzogY2hlY2tpbmcgZm9yIHN0cmluZy5oCmNvbmZpZ3VyZTo0NDMzOiBjYyAtYyAtZyAg Y29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjQ0MzM6ICQ/ID0gMApjb25maWd1cmU6NDQzMzogcmVz dWx0OiB5ZXMKY29uZmlndXJlOjQ0MzM6IGNoZWNraW5nIGZvciBtZW1vcnkuaApjb25maWd1cmU6 NDQzMzogY2MgLWMgLWcgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo0NDMzOiAkPyA9IDAKY29u ZmlndXJlOjQ0MzM6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0NDMzOiBjaGVja2luZyBmb3Igc3Ry aW5ncy5oCmNvbmZpZ3VyZTo0NDMzOiBjYyAtYyAtZyAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJl OjQ0MzM6ICQ/ID0gMApjb25maWd1cmU6NDQzMzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQ0MzM6 IGNoZWNraW5nIGZvciBpbnR0eXBlcy5oCmNvbmZpZ3VyZTo0NDMzOiBjYyAtYyAtZyAgY29uZnRl c3QuYyA+JjUKY29uZmlndXJlOjQ0MzM6ICQ/ID0gMApjb25maWd1cmU6NDQzMzogcmVzdWx0OiB5 ZXMKY29uZmlndXJlOjQ0MzM6IGNoZWNraW5nIGZvciBzdGRpbnQuaApjb25maWd1cmU6NDQzMzog Y2MgLWMgLWcgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo0NDMzOiAkPyA9IDAKY29uZmlndXJl OjQ0MzM6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0NDMzOiBjaGVja2luZyBmb3IgdW5pc3RkLmgK Y29uZmlndXJlOjQ0MzM6IGNjIC1jIC1nICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6NDQzMzog JD8gPSAwCmNvbmZpZ3VyZTo0NDMzOiByZXN1bHQ6IHllcwpjb25maWd1cmU6NDQ0NjogY2hlY2tp bmcgZm9yIGxvbmcgbG9uZwpjb25maWd1cmU6NDQ0NjogY2MgLWMgLWcgIGNvbmZ0ZXN0LmMgPiY1 CmNvbmZpZ3VyZTo0NDQ2OiAkPyA9IDAKY29uZmlndXJlOjQ0NDY6IGNjIC1jIC1nICBjb25mdGVz dC5jID4mNQoiY29uZnRlc3QuYyIsIGxpbmUgNTc6IHN5bnRheCBlcnJvciBiZWZvcmUgb3IgYXQ6 ICkKY2M6IGFjb21wIGZhaWxlZCBmb3IgY29uZnRlc3QuYwpjb25maWd1cmU6NDQ0NjogJD8gPSAy CmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVm aW5lIFBBQ0tBR0VfTkFNRSAibGlic3NoMiIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAibGli c3NoMiIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiLSIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RS SU5HICJsaWJzc2gyIC0iCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAibGlic3NoMi1kZXZl bEBjb29sLmhheHguc2UiCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FH RSAibGlic3NoMiIKfCAjZGVmaW5lIFZFUlNJT04gIjEuMi42Igp8ICNkZWZpbmUgU1REQ19IRUFE RVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RB VF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAx CnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAj ZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVm aW5lIEhBVkVfVU5JU1REX0ggMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8 c3RkaW8uaD4KfCAjaWZkZWYgSEFWRV9TWVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVz Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0 YXQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgU1REQ19IRUFERVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIu aD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8ICNlbHNlCnwgIyBpZmRlZiBIQVZFX1NURExJQl9I CnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZF X1NUUklOR19ICnwgIyBpZiAhZGVmaW5lZCBTVERDX0hFQURFUlMgJiYgZGVmaW5lZCBIQVZFX01F TU9SWV9ICnwgIyAgaW5jbHVkZSA8bWVtb3J5Lmg+CnwgIyBlbmRpZgp8ICMgaW5jbHVkZSA8c3Ry aW5nLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HU19ICnwgIyBpbmNsdWRlIDxzdHJp bmdzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfSU5UVFlQRVNfSAp8ICMgaW5jbHVkZSA8aW50 dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVERJTlRfSAp8ICMgaW5jbHVkZSA8c3Rk aW50Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfVU5JU1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0 ZC5oPgp8ICNlbmRpZgp8IGludAp8IG1haW4gKCkKfCB7CnwgaWYgKHNpemVvZiAoKGxvbmcgbG9u ZykpKQp8IAkgICAgcmV0dXJuIDA7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZTo0 NDQ2OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NDQ1ODogY2hlY2tpbmcgaWYgX1JFRU5UUkFOVCBp cyBhbHJlYWR5IGRlZmluZWQKY29uZmlndXJlOjQ0ODA6IGNjIC1jIC1nICBjb25mdGVzdC5jID4m NQoiY29uZnRlc3QuYyIsIGxpbmUgMzI6IHVuZGVmaW5lZCBzeW1ib2w6IGZvcmNlCiJjb25mdGVz dC5jIiwgbGluZSAzMjogc3ludGF4IGVycm9yIGJlZm9yZSBvciBhdDogY29tcGlsYXRpb24KY2M6 IGFjb21wIGZhaWxlZCBmb3IgY29uZnRlc3QuYwpjb25maWd1cmU6NDQ4MDogJD8gPSAyCmNvbmZp Z3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBB Q0tBR0VfTkFNRSAibGlic3NoMiIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAibGlic3NoMiIK fCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiLSIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJs aWJzc2gyIC0iCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAibGlic3NoMi1kZXZlbEBjb29s LmhheHguc2UiCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAibGli c3NoMiIKfCAjZGVmaW5lIFZFUlNJT04gIjEuMi42Igp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEK fCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2Rl ZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5l IEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhB VkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9MT05HTE9ORyAxCnwgLyogZW5kIGNvbmZkZWZz LmguICAqLwp8IAp8IAp8IAp8IGludAp8IG1haW4gKCkKfCB7CnwgCnwgI2lmZGVmIF9SRUVOVFJB TlQKfCAgICAgICBpbnQgZHVtbXk9MTsKfCAjZWxzZQp8ICAgICAgIGZvcmNlIGNvbXBpbGF0aW9u IGVycm9yCnwgI2VuZGlmCnwgCnwgICA7CnwgICByZXR1cm4gMDsKfCB9CnwgCmNvbmZpZ3VyZTo0 NDg4OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo0NDk2OiBjaGVja2luZyBpZiBfUkVFTlRSQU5UIGlz IGFjdHVhbGx5IG5lZWRlZApjb25maWd1cmU6NDUxMDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQ1 MTg6IGNoZWNraW5nIGlmIF9SRUVOVFJBTlQgaXMgb253YXJkcyBkZWZpbmVkCmNvbmZpZ3VyZTo0 NTMyOiByZXN1bHQ6IHllcwpjb25maWd1cmU6NDU0MjogY2hlY2tpbmcgZm9yIGxpYnJhcnkgY29u dGFpbmluZyBzb2NrZXQKY29uZmlndXJlOjQ1NzM6IGNjIC1vIGNvbmZ0ZXN0IC1nICAgY29uZnRl c3QuYyAgPiY1CiJjb25mdGVzdC5jIiwgbGluZSAzOTogd2FybmluZzogc3RhdGVtZW50IG5vdCBy ZWFjaGVkClVuZGVmaW5lZAkJCWZpcnN0IHJlZmVyZW5jZWQKIHN5bWJvbCAgCQkJICAgIGluIGZp bGUKc29ja2V0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uZnRlc3QubwpsZDogZmF0 YWw6IFN5bWJvbCByZWZlcmVuY2luZyBlcnJvcnMuIE5vIG91dHB1dCB3cml0dGVuIHRvIGNvbmZ0 ZXN0CmNvbmZpZ3VyZTo0NTczOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6 CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJsaWJzc2gyIgp8ICNk ZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJsaWJzc2gyIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9O ICItIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImxpYnNzaDIgLSIKfCAjZGVmaW5lIFBBQ0tB R0VfQlVHUkVQT1JUICJsaWJzc2gyLWRldmVsQGNvb2wuaGF4eC5zZSIKfCAjZGVmaW5lIFBBQ0tB R0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJsaWJzc2gyIgp8ICNkZWZpbmUgVkVSU0lPTiAi MS4yLjYiCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAx CnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVm aW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBI QVZFX0xPTkdMT05HIDEKfCAjZGVmaW5lIE5FRURfUkVFTlRSQU5UIDEKfCAjaWZuZGVmIF9SRUVO VFJBTlQKfCAjICBkZWZpbmUgX1JFRU5UUkFOVAp8ICNlbmRpZgp8IC8qIGVuZCBjb25mZGVmcy5o LiAgKi8KfCAKfCAvKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9p ZCBhbiBlcnJvci4KfCAgICBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0 dXJuIHR5cGUgb2YgYSBHQ0MKfCAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90 b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IGV4dGVy biAiQyIKfCAjZW5kaWYKfCBjaGFyIHNvY2tldCAoKTsKfCBpbnQKfCBtYWluICgpCnwgewp8IHJl dHVybiBzb2NrZXQgKCk7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZTo0NTczOiBj YyAtbyBjb25mdGVzdCAtZyAgIGNvbmZ0ZXN0LmMgLWxzb2NrZXQgICA+JjUKImNvbmZ0ZXN0LmMi LCBsaW5lIDM5OiB3YXJuaW5nOiBzdGF0ZW1lbnQgbm90IHJlYWNoZWQKY29uZmlndXJlOjQ1NzM6 ICQ/ID0gMApjb25maWd1cmU6NDU5MDogcmVzdWx0OiAtbHNvY2tldApjb25maWd1cmU6NDYwMDog Y2hlY2tpbmcgZm9yIGxpYnJhcnkgY29udGFpbmluZyBpbmV0X2FkZHIKY29uZmlndXJlOjQ2MzE6 IGNjIC1vIGNvbmZ0ZXN0IC1nICAgY29uZnRlc3QuYyAtbHNvY2tldCAgPiY1CiJjb25mdGVzdC5j IiwgbGluZSAzOTogd2FybmluZzogc3RhdGVtZW50IG5vdCByZWFjaGVkClVuZGVmaW5lZAkJCWZp cnN0IHJlZmVyZW5jZWQKIHN5bWJvbCAgCQkJICAgIGluIGZpbGUKaW5ldF9hZGRyICAgICAgICAg ICAgICAgICAgICAgICAgICAgY29uZnRlc3QubyAgKHN5bWJvbCBiZWxvbmdzIHRvIGltcGxpY2l0 IGRlcGVuZGVuY3kgL2xpYi9saWJuc2wuc28uMSkKbGQ6IGZhdGFsOiBTeW1ib2wgcmVmZXJlbmNp bmcgZXJyb3JzLiBObyBvdXRwdXQgd3JpdHRlbiB0byBjb25mdGVzdApjb25maWd1cmU6NDYzMTog JD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8K fCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAibGlic3NoMiIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFN RSAibGlic3NoMiIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiLSIKfCAjZGVmaW5lIFBBQ0tB R0VfU1RSSU5HICJsaWJzc2gyIC0iCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAibGlic3No Mi1kZXZlbEBjb29sLmhheHguc2UiCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUg UEFDS0FHRSAibGlic3NoMiIKfCAjZGVmaW5lIFZFUlNJT04gIjEuMi42Igp8ICNkZWZpbmUgU1RE Q19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJ TkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19I IDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEK fCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9MT05HTE9ORyAxCnwgI2Rl ZmluZSBORUVEX1JFRU5UUkFOVCAxCnwgI2lmbmRlZiBfUkVFTlRSQU5UCnwgIyAgZGVmaW5lIF9S RUVOVFJBTlQKfCAjZW5kaWYKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgCnwgLyogT3ZlcnJp ZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCnwgICAgVXNl IGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCnwg ICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFw cGx5LiAgKi8KfCAjaWZkZWYgX19jcGx1c3BsdXMKfCBleHRlcm4gIkMiCnwgI2VuZGlmCnwgY2hh ciBpbmV0X2FkZHIgKCk7CnwgaW50CnwgbWFpbiAoKQp8IHsKfCByZXR1cm4gaW5ldF9hZGRyICgp Owp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6NDYzMTogY2MgLW8gY29uZnRlc3Qg LWcgICBjb25mdGVzdC5jIC1sbnNsICAtbHNvY2tldCAgPiY1CiJjb25mdGVzdC5jIiwgbGluZSAz OTogd2FybmluZzogc3RhdGVtZW50IG5vdCByZWFjaGVkCmNvbmZpZ3VyZTo0NjMxOiAkPyA9IDAK Y29uZmlndXJlOjQ2NDg6IHJlc3VsdDogLWxuc2wKY29uZmlndXJlOjQ5NjM6IGNoZWNraW5nIGZv ciBDIGNvbXBpbGVyIHZlcnNpb24KY29uZmlndXJlOjQ5NzI6IGNjIC0tdmVyc2lvbiA+JjUKY2M6 IFdhcm5pbmc6IG9wdGlvbiAtLSBwYXNzZWQgdG8gbGQKdXNhZ2U6IGNjIFsgb3B0aW9uc10gZmls ZXMuICBVc2UgJ2NjIC1mbGFncycgZm9yIGRldGFpbHMKY29uZmlndXJlOjQ5ODM6ICQ/ID0gMQpj b25maWd1cmU6NDk3MjogY2MgLXYgPiY1CnVzYWdlOiBjYyBbIG9wdGlvbnNdIGZpbGVzLiAgVXNl ICdjYyAtZmxhZ3MnIGZvciBkZXRhaWxzCmNvbmZpZ3VyZTo0OTgzOiAkPyA9IDEKY29uZmlndXJl OjQ5NzI6IGNjIC1WID4mNQpjYzogU3VuIEMgNS44IDIwMDUvMTAvMTMKdXNhZ2U6IGNjIFsgb3B0 aW9uc10gZmlsZXMuICBVc2UgJ2NjIC1mbGFncycgZm9yIGRldGFpbHMKY29uZmlndXJlOjQ5ODM6 ICQ/ID0gMQpjb25maWd1cmU6NDk3MjogY2MgLXF2ZXJzaW9uID4mNQpjYzogaWxsZWdhbCBvcHRp b24gLXF2ZXJzaW9uCmNvbmZpZ3VyZTo0OTgzOiAkPyA9IDEKY29uZmlndXJlOjQ5ODc6IGNoZWNr aW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5nIHRoZSBHTlUgQyBjb21waWxlcgpjb25maWd1cmU6NTAx NTogcmVzdWx0OiBubwpjb25maWd1cmU6NTAyNDogY2hlY2tpbmcgd2hldGhlciBjYyBhY2NlcHRz IC1nCmNvbmZpZ3VyZTo1MDg1OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NTEwMjogY2hlY2tpbmcg Zm9yIGNjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OQpjb25maWd1cmU6NTE3OTogcmVzdWx0OiBu b25lIG5lZWRlZApjb25maWd1cmU6NTIwMTogY2hlY2tpbmcgZGVwZW5kZW5jeSBzdHlsZSBvZiBj Ywpjb25maWd1cmU6NTI5MTogcmVzdWx0OiBub25lCmNvbmZpZ3VyZTo1MzA5OiBjaGVja2luZyB3 aGV0aGVyIGxuIC1zIHdvcmtzCmNvbmZpZ3VyZTo1MzEzOiByZXN1bHQ6IHllcwpjb25maWd1cmU6 NTMyMDogY2hlY2tpbmcgd2hldGhlciBtYWtlIHNldHMgJChNQUtFKQpjb25maWd1cmU6NTM0Mjog cmVzdWx0OiB5ZXMKY29uZmlndXJlOjUzNTU6IGNoZWNraW5nIGZvciBzc2hkCmNvbmZpZ3VyZTo1 Mzg4OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo1NzM0OiBjaGVja2luZyBmb3IgYSBzZWQgdGhhdCBk b2VzIG5vdCB0cnVuY2F0ZSBvdXRwdXQKY29uZmlndXJlOjU3OTg6IHJlc3VsdDogL3Vzci91Y2Iv c2VkCmNvbmZpZ3VyZTo1ODE2OiBjaGVja2luZyBmb3IgZmdyZXAKY29uZmlndXJlOjU4Nzg6IHJl c3VsdDogL3Vzci9zZncvYmluL2dncmVwIC1GCmNvbmZpZ3VyZTo1OTQ2OiBjaGVja2luZyBmb3Ig bm9uLUdOVSBsZApjb25maWd1cmU6NTk4MDogcmVzdWx0OiAvdXNyL3VjYi9sZApjb25maWd1cmU6 NTk4NzogY2hlY2tpbmcgaWYgdGhlIGxpbmtlciAoL3Vzci91Y2IvbGQpIGlzIEdOVSBsZApjb25m aWd1cmU6NjAwMjogcmVzdWx0OiBubwpjb25maWd1cmU6NjAxNDogY2hlY2tpbmcgZm9yIEJTRC0g b3IgTVMtY29tcGF0aWJsZSBuYW1lIGxpc3RlciAobm0pCmNvbmZpZ3VyZTo2MDYzOiByZXN1bHQ6 IC91c3IvY2NzL2Jpbi9ubSAtcApjb25maWd1cmU6NjE4MTogY2hlY2tpbmcgdGhlIG5hbWUgbGlz dGVyICgvdXNyL2Njcy9iaW4vbm0gLXApIGludGVyZmFjZQpjb25maWd1cmU6NjE4ODogY2MgLWMg LWcgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo2MTkxOiAvdXNyL2Njcy9iaW4vbm0gLXAgImNv bmZ0ZXN0Lm8iCmNvbmZpZ3VyZTo2MTk0OiBvdXRwdXQKCgpjb25mdGVzdC5vOgowMDAwMDAwMDAw IHMgCjAwMDAwMDAwMDAgcyAKMDAwMDAwMDAwMCBzIAowMDAwMDAwMDAwIGIgQmJzcy5ic3MKMDAw MDAwMDAwMCBuIERkYXRhLmRhdGEKMDAwMDAwMDAwMCBuIERyb2RhdGEucm9kYXRhCjAwMDAwMDAw MDAgZiBjb25mdGVzdC5jCjAwMDAwMDAwMDAgRCBzb21lX3ZhcmlhYmxlCmNvbmZpZ3VyZTo2MjAx OiByZXN1bHQ6IEJTRCBubQpjb25maWd1cmU6NjIwNTogY2hlY2tpbmcgdGhlIG1heGltdW0gbGVu Z3RoIG9mIGNvbW1hbmQgbGluZSBhcmd1bWVudHMKY29uZmlndXJlOjYzMjU6IHJlc3VsdDogNzg2 MjQwCmNvbmZpZ3VyZTo2MzQyOiBjaGVja2luZyB3aGV0aGVyIHRoZSBzaGVsbCB1bmRlcnN0YW5k cyBzb21lIFhTSSBjb25zdHJ1Y3RzCmNvbmZpZ3VyZTo2MzUyOiByZXN1bHQ6IHllcwpjb25maWd1 cmU6NjM1NjogY2hlY2tpbmcgd2hldGhlciB0aGUgc2hlbGwgdW5kZXJzdGFuZHMgIis9Igpjb25m aWd1cmU6NjM2MjogcmVzdWx0OiBubwpjb25maWd1cmU6NjM5NzogY2hlY2tpbmcgZm9yIC91c3Iv dWNiL2xkIG9wdGlvbiB0byByZWxvYWQgb2JqZWN0IGZpbGVzCmNvbmZpZ3VyZTo2NDA0OiByZXN1 bHQ6IC1yCmNvbmZpZ3VyZTo2NDczOiBjaGVja2luZyBmb3Igb2JqZHVtcApjb25maWd1cmU6NjUw MDogcmVzdWx0OiBvYmpkdW1wCmNvbmZpZ3VyZTo2NTI5OiBjaGVja2luZyBob3cgdG8gcmVjb2du aXplIGRlcGVuZGVudCBsaWJyYXJpZXMKY29uZmlndXJlOjY3MjU6IHJlc3VsdDogcGFzc19hbGwK Y29uZmlndXJlOjY3ODU6IGNoZWNraW5nIGZvciBhcgpjb25maWd1cmU6NjgwMTogZm91bmQgL3Vz ci9jY3MvYmluL2FyCmNvbmZpZ3VyZTo2ODEyOiByZXN1bHQ6IGFyCmNvbmZpZ3VyZTo2ODkwOiBj aGVja2luZyBmb3Igc3RyaXAKY29uZmlndXJlOjY5MDY6IGZvdW5kIC91c3IvY2NzL2Jpbi9zdHJp cApjb25maWd1cmU6NjkxNzogcmVzdWx0OiBzdHJpcApjb25maWd1cmU6Njk4OTogY2hlY2tpbmcg Zm9yIHJhbmxpYgpjb25maWd1cmU6NzAwNTogZm91bmQgL3Vzci9jY3MvYmluL3JhbmxpYgpjb25m aWd1cmU6NzAxNjogcmVzdWx0OiByYW5saWIKY29uZmlndXJlOjcxMDY6IGNoZWNraW5nIGNvbW1h bmQgdG8gcGFyc2UgL3Vzci9jY3MvYmluL25tIC1wIG91dHB1dCBmcm9tIGNjIG9iamVjdApjb25m aWd1cmU6NzIyNDogY2MgLWMgLWcgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo3MjI3OiAkPyA9 IDAKY29uZmlndXJlOjcyMzE6IC91c3IvY2NzL2Jpbi9ubSAtcCBjb25mdGVzdC5vIFx8IHNlZCAt biAtZSAncy9eLipbCSBdXChbQkRSVF1bQkRSVF0qXClbCSBdWwkgXSpcKFtfQS1aYS16XVtfQS1a YS16MC05XSpcKSQvXDEgXDIgXDIvcCcgXD4gY29uZnRlc3Qubm0KY29uZmlndXJlOjcyMzQ6ICQ/ ID0gMApjb25maWd1cmU6NzI4ODogY2MgLW8gY29uZnRlc3QgLWcgICBjb25mdGVzdC5jIGNvbmZ0 c3RtLm8gPiY1CmNvbmZpZ3VyZTo3MjkxOiAkPyA9IDAKY29uZmlndXJlOjczMjk6IHJlc3VsdDog b2sKY29uZmlndXJlOjc1MjM6IGNjIC1jIC1nICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6NzUy NjogJD8gPSAwCmNvbmZpZ3VyZTo4MTM0OiBjaGVja2luZyBmb3IgZGxmY24uaApjb25maWd1cmU6 ODEzNDogY2MgLWMgLWcgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo4MTM0OiAkPyA9IDAKY29u ZmlndXJlOjgxMzQ6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo4MzE2OiBjaGVja2luZyBmb3Igb2Jq ZGlyCmNvbmZpZ3VyZTo4MzMxOiByZXN1bHQ6IC5saWJzCmNvbmZpZ3VyZTo4NjgyOiBjaGVja2lu ZyBmb3IgY2Mgb3B0aW9uIHRvIHByb2R1Y2UgUElDCmNvbmZpZ3VyZTo4OTU0OiByZXN1bHQ6IC1L UElDIC1EUElDCmNvbmZpZ3VyZTo4OTY2OiBjaGVja2luZyBpZiBjYyBQSUMgZmxhZyAtS1BJQyAt RFBJQyB3b3Jrcwpjb25maWd1cmU6ODk4NDogY2MgLWMgLWcgIC1LUElDIC1EUElDIC1EUElDIGNv bmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo4OTg4OiAkPyA9IDAKY29uZmlndXJlOjkwMDE6IHJlc3Vs dDogeWVzCmNvbmZpZ3VyZTo5MDI1OiBjaGVja2luZyBpZiBjYyBzdGF0aWMgZmxhZyAtQnN0YXRp YyB3b3Jrcwpjb25maWd1cmU6OTA1MzogcmVzdWx0OiBubwpjb25maWd1cmU6OTA2ODogY2hlY2tp bmcgaWYgY2Mgc3VwcG9ydHMgLWMgLW8gZmlsZS5vCmNvbmZpZ3VyZTo5MDg5OiBjYyAtYyAtZyAg LW8gb3V0L2NvbmZ0ZXN0Mi5vIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo5MDkzOiAkPyA9IDAK Y29uZmlndXJlOjkxMTU6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo5MTIzOiBjaGVja2luZyBpZiBj YyBzdXBwb3J0cyAtYyAtbyBmaWxlLm8KY29uZmlndXJlOjkxNzA6IHJlc3VsdDogeWVzCmNvbmZp Z3VyZTo5MjAzOiBjaGVja2luZyB3aGV0aGVyIHRoZSBjYyBsaW5rZXIgKC91c3IvdWNiL2xkKSBz dXBwb3J0cyBzaGFyZWQgbGlicmFyaWVzCmNvbmZpZ3VyZToxMDE5NDogcmVzdWx0OiB5ZXMKY29u ZmlndXJlOjEwNDMzOiBjaGVja2luZyBkeW5hbWljIGxpbmtlciBjaGFyYWN0ZXJpc3RpY3MKY29u ZmlndXJlOjExMDk2OiByZXN1bHQ6IHNvbGFyaXMyLjEwIGxkLnNvCmNvbmZpZ3VyZToxMTE5ODog Y2hlY2tpbmcgaG93IHRvIGhhcmRjb2RlIGxpYnJhcnkgcGF0aHMgaW50byBwcm9ncmFtcwpjb25m aWd1cmU6MTEyMjM6IHJlc3VsdDogaW1tZWRpYXRlCmNvbmZpZ3VyZToxMTc0MzogY2hlY2tpbmcg d2hldGhlciBzdHJpcHBpbmcgbGlicmFyaWVzIGlzIHBvc3NpYmxlCmNvbmZpZ3VyZToxMTc2NTog cmVzdWx0OiBubwpjb25maWd1cmU6MTE3ODM6IGNoZWNraW5nIGlmIGxpYnRvb2wgc3VwcG9ydHMg c2hhcmVkIGxpYnJhcmllcwpjb25maWd1cmU6MTE3ODU6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTox MTc4ODogY2hlY2tpbmcgd2hldGhlciB0byBidWlsZCBzaGFyZWQgbGlicmFyaWVzCmNvbmZpZ3Vy ZToxMTgwOTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjExODEyOiBjaGVja2luZyB3aGV0aGVyIHRv IGJ1aWxkIHN0YXRpYyBsaWJyYXJpZXMKY29uZmlndXJlOjExODE2OiByZXN1bHQ6IHllcwpjb25m aWd1cmU6MTE4NTE6IGNoZWNraW5nIHdoZXRoZXIgYnl0ZSBvcmRlcmluZyBpcyBiaWdlbmRpYW4K Y29uZmlndXJlOjExODY2OiBjYyAtYyAtZyAgY29uZnRlc3QuYyA+JjUKImNvbmZ0ZXN0LmMiLCBs aW5lIDI5OiB3YXJuaW5nOiBvbGQtc3R5bGUgZGVjbGFyYXRpb24gb3IgaW5jb3JyZWN0IHR5cGUg Zm9yOiBub3QKImNvbmZ0ZXN0LmMiLCBsaW5lIDI5OiBzeW50YXggZXJyb3IgYmVmb3JlIG9yIGF0 OiBhCiJjb25mdGVzdC5jIiwgbGluZSAyOTogd2FybmluZzogb2xkLXN0eWxlIGRlY2xhcmF0aW9u IG9yIGluY29ycmVjdCB0eXBlIGZvcjogYQoiY29uZnRlc3QuYyIsIGxpbmUgMjk6IHdhcm5pbmc6 IG9sZC1zdHlsZSBkZWNsYXJhdGlvbiBvciBpbmNvcnJlY3QgdHlwZSBmb3I6IHVuaXZlcnNhbAoi Y29uZnRlc3QuYyIsIGxpbmUgMjk6IHdhcm5pbmc6IG9sZC1zdHlsZSBkZWNsYXJhdGlvbiBvciBp bmNvcnJlY3QgdHlwZSBmb3I6IGNhcGFibGUKImNvbmZ0ZXN0LmMiLCBsaW5lIDMxOiB3YXJuaW5n OiBvbGQtc3R5bGUgZGVjbGFyYXRpb24gb3IgaW5jb3JyZWN0IHR5cGUgZm9yOiBjb21waWxlcgpj YzogYWNvbXAgZmFpbGVkIGZvciBjb25mdGVzdC5jCmNvbmZpZ3VyZToxMTg2NjogJD8gPSAyCmNv bmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5l IFBBQ0tBR0VfTkFNRSAibGlic3NoMiIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAibGlic3No MiIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiLSIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5H ICJsaWJzc2gyIC0iCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAibGlic3NoMi1kZXZlbEBj b29sLmhheHguc2UiCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAi bGlic3NoMiIKfCAjZGVmaW5lIFZFUlNJT04gIjEuMi42Igp8ICNkZWZpbmUgU1REQ19IRUFERVJT IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9I IDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwg I2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVm aW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5l IEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9MT05HTE9ORyAxCnwgI2RlZmluZSBORUVE X1JFRU5UUkFOVCAxCnwgI2lmbmRlZiBfUkVFTlRSQU5UCnwgIyAgZGVmaW5lIF9SRUVOVFJBTlQK fCAjZW5kaWYKfCAjZGVmaW5lIEhBVkVfRExGQ05fSCAxCnwgI2RlZmluZSBMVF9PQkpESVIgIi5s aWJzLyIKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2lmbmRlZiBfX0FQUExFX0NDX18KfCAJ ICAgICAgIG5vdCBhIHVuaXZlcnNhbCBjYXBhYmxlIGNvbXBpbGVyCnwgCSAgICAgI2VuZGlmCnwg CSAgICAgdHlwZWRlZiBpbnQgZHVtbXk7CnwgCmNvbmZpZ3VyZToxMTkxMTogY2MgLWMgLWcgIGNv bmZ0ZXN0LmMgPiY1CiJjb25mdGVzdC5jIiwgbGluZSAzNTogdW5kZWZpbmVkIHN5bWJvbDogYm9n dXMKImNvbmZ0ZXN0LmMiLCBsaW5lIDM1OiBzeW50YXggZXJyb3IgYmVmb3JlIG9yIGF0OiBlbmRp YW4KY2M6IGFjb21wIGZhaWxlZCBmb3IgY29uZnRlc3QuYwpjb25maWd1cmU6MTE5MTE6ICQ/ID0g Mgpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2Rl ZmluZSBQQUNLQUdFX05BTUUgImxpYnNzaDIiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImxp YnNzaDIiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIi0iCnwgI2RlZmluZSBQQUNLQUdFX1NU UklORyAibGlic3NoMiAtIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImxpYnNzaDItZGV2 ZWxAY29vbC5oYXh4LnNlIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tB R0UgImxpYnNzaDIiCnwgI2RlZmluZSBWRVJTSU9OICIxLjIuNiIKfCAjZGVmaW5lIFNURENfSEVB REVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NU QVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0gg MQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwg I2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2Rl ZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfTE9OR0xPTkcgMQp8ICNkZWZpbmUg TkVFRF9SRUVOVFJBTlQgMQp8ICNpZm5kZWYgX1JFRU5UUkFOVAp8ICMgIGRlZmluZSBfUkVFTlRS QU5UCnwgI2VuZGlmCnwgI2RlZmluZSBIQVZFX0RMRkNOX0ggMQp8ICNkZWZpbmUgTFRfT0JKRElS ICIubGlicy8iCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzeXMvdHlwZXMu aD4KfCAJICAgICAjaW5jbHVkZSA8c3lzL3BhcmFtLmg+CnwgCnwgaW50CnwgbWFpbiAoKQp8IHsK fCAjaWYgISAoZGVmaW5lZCBCWVRFX09SREVSICYmIGRlZmluZWQgQklHX0VORElBTiAJCSAgICAg JiYgZGVmaW5lZCBMSVRUTEVfRU5ESUFOICYmIEJZVEVfT1JERVIgJiYgQklHX0VORElBTiAJCSAg ICAgJiYgTElUVExFX0VORElBTikKfCAJICAgICAgYm9ndXMgZW5kaWFuIG1hY3Jvcwp8IAkgICAg ICNlbmRpZgp8IAp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MTE5NTU6IGNjIC1j IC1nICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MTE5NTU6ICQ/ID0gMApjb25maWd1cmU6MTE5 NzI6IGNjIC1jIC1nICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MTE5NzI6ICQ/ID0gMApjb25m aWd1cmU6MTIwNTc6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMjA4MzogY2hlY2tpbmcgZm9yIHNw ZWNpYWwgQyBjb21waWxlciBvcHRpb25zIG5lZWRlZCBmb3IgbGFyZ2UgZmlsZXMKY29uZmlndXJl OjEyMTEzOiBjYyAtYyAtZyAgY29uZnRlc3QuYyA+JjUKImNvbmZ0ZXN0LmMiLCBsaW5lIDM2OiB3 YXJuaW5nOiBzaGlmdCBjb3VudCBuZWdhdGl2ZSBvciB0b28gYmlnOiA8PCA2MgoiY29uZnRlc3Qu YyIsIGxpbmUgMzY6IHdhcm5pbmc6IGludGVnZXIgb3ZlcmZsb3cgZGV0ZWN0ZWQ6IG9wICI8PCIK ImNvbmZ0ZXN0LmMiLCBsaW5lIDM2OiB3YXJuaW5nOiBzaGlmdCBjb3VudCBuZWdhdGl2ZSBvciB0 b28gYmlnOiA8PCA2MgoiY29uZnRlc3QuYyIsIGxpbmUgMzY6IHdhcm5pbmc6IGludGVnZXIgb3Zl cmZsb3cgZGV0ZWN0ZWQ6IG9wICI8PCIKImNvbmZ0ZXN0LmMiLCBsaW5lIDM3OiB6ZXJvIG9yIG5l Z2F0aXZlIHN1YnNjcmlwdApjYzogYWNvbXAgZmFpbGVkIGZvciBjb25mdGVzdC5jCmNvbmZpZ3Vy ZToxMjExMzogJD8gPSAyCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZk ZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAibGlic3NoMiIKfCAjZGVmaW5lIFBBQ0tB R0VfVEFSTkFNRSAibGlic3NoMiIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiLSIKfCAjZGVm aW5lIFBBQ0tBR0VfU1RSSU5HICJsaWJzc2gyIC0iCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9S VCAibGlic3NoMi1kZXZlbEBjb29sLmhheHguc2UiCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8 ICNkZWZpbmUgUEFDS0FHRSAibGlic3NoMiIKfCAjZGVmaW5lIFZFUlNJT04gIjEuMi42Igp8ICNk ZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUg SEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVf U1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NU RElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9MT05HTE9O RyAxCnwgI2RlZmluZSBORUVEX1JFRU5UUkFOVCAxCnwgI2lmbmRlZiBfUkVFTlRSQU5UCnwgIyAg ZGVmaW5lIF9SRUVOVFJBTlQKfCAjZW5kaWYKfCAjZGVmaW5lIEhBVkVfRExGQ05fSCAxCnwgI2Rl ZmluZSBMVF9PQkpESVIgIi5saWJzLyIKfCAjZGVmaW5lIFdPUkRTX0JJR0VORElBTiAxCnwgLyog ZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAgLyogQ2hlY2sg dGhhdCBvZmZfdCBjYW4gcmVwcmVzZW50IDIqKjYzIC0gMSBjb3JyZWN0bHkuCnwgICAgIFdlIGNh bid0IHNpbXBseSBkZWZpbmUgTEFSR0VfT0ZGX1QgdG8gYmUgOTIyMzM3MjAzNjg1NDc3NTgwNywK fCAgICAgc2luY2Ugc29tZSBDKysgY29tcGlsZXJzIG1hc3F1ZXJhZGluZyBhcyBDIGNvbXBpbGVy cwp8ICAgICBpbmNvcnJlY3RseSByZWplY3QgOTIyMzM3MjAzNjg1NDc3NTgwNy4gICovCnwgI2Rl ZmluZSBMQVJHRV9PRkZfVCAoKChvZmZfdCkgMSA8PCA2MikgLSAxICsgKChvZmZfdCkgMSA8PCA2 MikpCnwgICBpbnQgb2ZmX3RfaXNfbGFyZ2VbKExBUkdFX09GRl9UICUgMjE0NzQ4MzYyOSA9PSA3 MjEKfCAJCSAgICAgICAmJiBMQVJHRV9PRkZfVCAlIDIxNDc0ODM2NDcgPT0gMSkKfCAJCSAgICAg ID8gMSA6IC0xXTsKfCBpbnQKfCBtYWluICgpCnwgewp8IAp8ICAgOwp8ICAgcmV0dXJuIDA7Cnwg fQpjb25maWd1cmU6MTIxMTg6IGNjIC1uMzIgLWMgLWcgIGNvbmZ0ZXN0LmMgPiY1CmNjOiBXYXJu aW5nOiBpbGxlZ2FsIG9wdGlvbiAtbjMyCiJjb25mdGVzdC5jIiwgbGluZSAzNjogd2FybmluZzog c2hpZnQgY291bnQgbmVnYXRpdmUgb3IgdG9vIGJpZzogPDwgNjIKImNvbmZ0ZXN0LmMiLCBsaW5l IDM2OiB3YXJuaW5nOiBpbnRlZ2VyIG92ZXJmbG93IGRldGVjdGVkOiBvcCAiPDwiCiJjb25mdGVz dC5jIiwgbGluZSAzNjogd2FybmluZzogc2hpZnQgY291bnQgbmVnYXRpdmUgb3IgdG9vIGJpZzog PDwgNjIKImNvbmZ0ZXN0LmMiLCBsaW5lIDM2OiB3YXJuaW5nOiBpbnRlZ2VyIG92ZXJmbG93IGRl dGVjdGVkOiBvcCAiPDwiCiJjb25mdGVzdC5jIiwgbGluZSAzNzogemVybyBvciBuZWdhdGl2ZSBz dWJzY3JpcHQKY2M6IGFjb21wIGZhaWxlZCBmb3IgY29uZnRlc3QuYwpjb25maWd1cmU6MTIxMTg6 ICQ/ID0gMgpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICov CnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImxpYnNzaDIiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5B TUUgImxpYnNzaDIiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIi0iCnwgI2RlZmluZSBQQUNL QUdFX1NUUklORyAibGlic3NoMiAtIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImxpYnNz aDItZGV2ZWxAY29vbC5oYXh4LnNlIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5l IFBBQ0tBR0UgImxpYnNzaDIiCnwgI2RlZmluZSBWRVJTSU9OICIxLjIuNiIKfCAjZGVmaW5lIFNU RENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RS SU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1Nf SCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAx CnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfTE9OR0xPTkcgMQp8ICNk ZWZpbmUgTkVFRF9SRUVOVFJBTlQgMQp8ICNpZm5kZWYgX1JFRU5UUkFOVAp8ICMgIGRlZmluZSBf UkVFTlRSQU5UCnwgI2VuZGlmCnwgI2RlZmluZSBIQVZFX0RMRkNOX0ggMQp8ICNkZWZpbmUgTFRf T0JKRElSICIubGlicy8iCnwgI2RlZmluZSBXT1JEU19CSUdFTkRJQU4gMQp8IC8qIGVuZCBjb25m ZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgIC8qIENoZWNrIHRoYXQgb2Zm X3QgY2FuIHJlcHJlc2VudCAyKio2MyAtIDEgY29ycmVjdGx5Lgp8ICAgICBXZSBjYW4ndCBzaW1w bHkgZGVmaW5lIExBUkdFX09GRl9UIHRvIGJlIDkyMjMzNzIwMzY4NTQ3NzU4MDcsCnwgICAgIHNp bmNlIHNvbWUgQysrIGNvbXBpbGVycyBtYXNxdWVyYWRpbmcgYXMgQyBjb21waWxlcnMKfCAgICAg aW5jb3JyZWN0bHkgcmVqZWN0IDkyMjMzNzIwMzY4NTQ3NzU4MDcuICAqLwp8ICNkZWZpbmUgTEFS R0VfT0ZGX1QgKCgob2ZmX3QpIDEgPDwgNjIpIC0gMSArICgob2ZmX3QpIDEgPDwgNjIpKQp8ICAg aW50IG9mZl90X2lzX2xhcmdlWyhMQVJHRV9PRkZfVCAlIDIxNDc0ODM2MjkgPT0gNzIxCnwgCQkg ICAgICAgJiYgTEFSR0VfT0ZGX1QgJSAyMTQ3NDgzNjQ3ID09IDEpCnwgCQkgICAgICA/IDEgOiAt MV07CnwgaW50CnwgbWFpbiAoKQp8IHsKfCAKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmln dXJlOjEyMTI4OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxMjEzNDogY2hlY2tpbmcgZm9yIF9GSUxF X09GRlNFVF9CSVRTIHZhbHVlIG5lZWRlZCBmb3IgbGFyZ2UgZmlsZXMKY29uZmlndXJlOjEyMTU5 OiBjYyAtYyAtZyAgY29uZnRlc3QuYyA+JjUKImNvbmZ0ZXN0LmMiLCBsaW5lIDM2OiB3YXJuaW5n OiBzaGlmdCBjb3VudCBuZWdhdGl2ZSBvciB0b28gYmlnOiA8PCA2MgoiY29uZnRlc3QuYyIsIGxp bmUgMzY6IHdhcm5pbmc6IGludGVnZXIgb3ZlcmZsb3cgZGV0ZWN0ZWQ6IG9wICI8PCIKImNvbmZ0 ZXN0LmMiLCBsaW5lIDM2OiB3YXJuaW5nOiBzaGlmdCBjb3VudCBuZWdhdGl2ZSBvciB0b28gYmln OiA8PCA2MgoiY29uZnRlc3QuYyIsIGxpbmUgMzY6IHdhcm5pbmc6IGludGVnZXIgb3ZlcmZsb3cg ZGV0ZWN0ZWQ6IG9wICI8PCIKImNvbmZ0ZXN0LmMiLCBsaW5lIDM3OiB6ZXJvIG9yIG5lZ2F0aXZl IHN1YnNjcmlwdApjYzogYWNvbXAgZmFpbGVkIGZvciBjb25mdGVzdC5jCmNvbmZpZ3VyZToxMjE1 OTogJD8gPSAyCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmgg Ki8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAibGlic3NoMiIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFS TkFNRSAibGlic3NoMiIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiLSIKfCAjZGVmaW5lIFBB Q0tBR0VfU1RSSU5HICJsaWJzc2gyIC0iCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAibGli c3NoMi1kZXZlbEBjb29sLmhheHguc2UiCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZp bmUgUEFDS0FHRSAibGlic3NoMiIKfCAjZGVmaW5lIFZFUlNJT04gIjEuMi42Igp8ICNkZWZpbmUg U1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9T VFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5H U19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9I IDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9MT05HTE9ORyAxCnwg I2RlZmluZSBORUVEX1JFRU5UUkFOVCAxCnwgI2lmbmRlZiBfUkVFTlRSQU5UCnwgIyAgZGVmaW5l IF9SRUVOVFJBTlQKfCAjZW5kaWYKfCAjZGVmaW5lIEhBVkVfRExGQ05fSCAxCnwgI2RlZmluZSBM VF9PQkpESVIgIi5saWJzLyIKfCAjZGVmaW5lIFdPUkRTX0JJR0VORElBTiAxCnwgLyogZW5kIGNv bmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAgLyogQ2hlY2sgdGhhdCBv ZmZfdCBjYW4gcmVwcmVzZW50IDIqKjYzIC0gMSBjb3JyZWN0bHkuCnwgICAgIFdlIGNhbid0IHNp bXBseSBkZWZpbmUgTEFSR0VfT0ZGX1QgdG8gYmUgOTIyMzM3MjAzNjg1NDc3NTgwNywKfCAgICAg c2luY2Ugc29tZSBDKysgY29tcGlsZXJzIG1hc3F1ZXJhZGluZyBhcyBDIGNvbXBpbGVycwp8ICAg ICBpbmNvcnJlY3RseSByZWplY3QgOTIyMzM3MjAzNjg1NDc3NTgwNy4gICovCnwgI2RlZmluZSBM QVJHRV9PRkZfVCAoKChvZmZfdCkgMSA8PCA2MikgLSAxICsgKChvZmZfdCkgMSA8PCA2MikpCnwg ICBpbnQgb2ZmX3RfaXNfbGFyZ2VbKExBUkdFX09GRl9UICUgMjE0NzQ4MzYyOSA9PSA3MjEKfCAJ CSAgICAgICAmJiBMQVJHRV9PRkZfVCAlIDIxNDc0ODM2NDcgPT0gMSkKfCAJCSAgICAgID8gMSA6 IC0xXTsKfCBpbnQKfCBtYWluICgpCnwgewp8IAp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25m aWd1cmU6MTIxODM6IGNjIC1jIC1nICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MTIxODM6ICQ/ ID0gMApjb25maWd1cmU6MTIxOTE6IHJlc3VsdDogNjQKY29uZmlndXJlOjEyMzc2OiBjaGVja2lu ZyBmb3Igbm9uLUdOVSBsZApjb25maWd1cmU6MTI0MDc6IHJlc3VsdDogL3Vzci91Y2IvbGQKY29u ZmlndXJlOjEyNDE0OiBjaGVja2luZyBpZiB0aGUgbGlua2VyICgvdXNyL3VjYi9sZCkgaXMgR05V IGxkCmNvbmZpZ3VyZToxMjQyNzogcmVzdWx0OiBubwpjb25maWd1cmU6MTI0MzQ6IGNoZWNraW5n IGZvciBzaGFyZWQgbGlicmFyeSBydW4gcGF0aCBvcmlnaW4KY29uZmlndXJlOjEyNDQ3OiByZXN1 bHQ6IGRvbmUKY29uZmlndXJlOjEyOTUyOiBjaGVja2luZyBmb3IgbGlic3NsCmNvbmZpZ3VyZTox Mjk3MTogY2MgLW8gY29uZnRlc3QgLWcgICBjb25mdGVzdC5jIC1sbnNsIC1sc29ja2V0ICAtbHNz bCAtbGNyeXB0byA+JjUKY29uZmlndXJlOjEyOTcxOiAkPyA9IDAKY29uZmlndXJlOjEyOTgxOiBy ZXN1bHQ6IHllcwpjb25maWd1cmU6MTI5ODg6IGNoZWNraW5nIGhvdyB0byBsaW5rIHdpdGggbGli c3NsCmNvbmZpZ3VyZToxMjk5MDogcmVzdWx0OiAtbHNzbCAtbGNyeXB0bwpjb25maWd1cmU6MTM1 NjA6IGNoZWNraW5nIGZvciBFVlBfYWVzXzEyOF9jdHIKY29uZmlndXJlOjEzNTYwOiBjYyAtbyBj b25mdGVzdCAtZyAgIC1sc3NsIC1sY3J5cHRvIGNvbmZ0ZXN0LmMgLWxuc2wgLWxzb2NrZXQgID4m NQoiY29uZnRlc3QuYyIsIGxpbmUgNjc6IHdhcm5pbmc6IHN0YXRlbWVudCBub3QgcmVhY2hlZApV bmRlZmluZWQJCQlmaXJzdCByZWZlcmVuY2VkCiBzeW1ib2wgIAkJCSAgICBpbiBmaWxlCkVWUF9h ZXNfMTI4X2N0ciAgICAgICAgICAgICAgICAgICAgIGNvbmZ0ZXN0Lm8KbGQ6IGZhdGFsOiBTeW1i b2wgcmVmZXJlbmNpbmcgZXJyb3JzLiBObyBvdXRwdXQgd3JpdHRlbiB0byBjb25mdGVzdApjb25m aWd1cmU6MTM1NjA6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBj b25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImxpYnNzaDIiCnwgI2RlZmluZSBQ QUNLQUdFX1RBUk5BTUUgImxpYnNzaDIiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIi0iCnwg I2RlZmluZSBQQUNLQUdFX1NUUklORyAibGlic3NoMiAtIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdS RVBPUlQgImxpYnNzaDItZGV2ZWxAY29vbC5oYXh4LnNlIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwg IiIKfCAjZGVmaW5lIFBBQ0tBR0UgImxpYnNzaDIiCnwgI2RlZmluZSBWRVJTSU9OICIxLjIuNiIK fCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVm aW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBI QVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFW RV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfTE9O R0xPTkcgMQp8ICNkZWZpbmUgTkVFRF9SRUVOVFJBTlQgMQp8ICNpZm5kZWYgX1JFRU5UUkFOVAp8 ICMgIGRlZmluZSBfUkVFTlRSQU5UCnwgI2VuZGlmCnwgI2RlZmluZSBIQVZFX0RMRkNOX0ggMQp8 ICNkZWZpbmUgTFRfT0JKRElSICIubGlicy8iCnwgI2RlZmluZSBXT1JEU19CSUdFTkRJQU4gMQp8 ICNkZWZpbmUgX0ZJTEVfT0ZGU0VUX0JJVFMgNjQKfCAjZGVmaW5lIEhBVkVfTElCU1NMIDEKfCAv KiBlbmQgY29uZmRlZnMuaC4gICovCnwgLyogRGVmaW5lIEVWUF9hZXNfMTI4X2N0ciB0byBhbiBp bm5vY3VvdXMgdmFyaWFudCwgaW4gY2FzZSA8bGltaXRzLmg+IGRlY2xhcmVzIEVWUF9hZXNfMTI4 X2N0ci4KfCAgICBGb3IgZXhhbXBsZSwgSFAtVVggMTFpIDxsaW1pdHMuaD4gZGVjbGFyZXMgZ2V0 dGltZW9mZGF5LiAgKi8KfCAjZGVmaW5lIEVWUF9hZXNfMTI4X2N0ciBpbm5vY3VvdXNfRVZQX2Fl c18xMjhfY3RyCnwgCnwgLyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBh bmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLAp8ICAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0 aCBjaGFyIEVWUF9hZXNfMTI4X2N0ciAoKTsgYmVsb3cuCnwgICAgIFByZWZlciA8bGltaXRzLmg+ IHRvIDxhc3NlcnQuaD4gaWYgX19TVERDX18gaXMgZGVmaW5lZCwgc2luY2UKfCAgICAgPGxpbWl0 cy5oPiBleGlzdHMgZXZlbiBvbiBmcmVlc3RhbmRpbmcgY29tcGlsZXJzLiAgKi8KfCAKfCAjaWZk ZWYgX19TVERDX18KfCAjIGluY2x1ZGUgPGxpbWl0cy5oPgp8ICNlbHNlCnwgIyBpbmNsdWRlIDxh c3NlcnQuaD4KfCAjZW5kaWYKfCAKfCAjdW5kZWYgRVZQX2Flc18xMjhfY3RyCnwgCnwgLyogT3Zl cnJpZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCnwgICAg VXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0ND CnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxs IGFwcGx5LiAgKi8KfCAjaWZkZWYgX19jcGx1c3BsdXMKfCBleHRlcm4gIkMiCnwgI2VuZGlmCnwg Y2hhciBFVlBfYWVzXzEyOF9jdHIgKCk7CnwgLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0 aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cwp8ICAgICB0byBhbHdheXMgZmFp bCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZAp8ICAgICBz b21ldGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFz LiAgKi8KfCAjaWYgZGVmaW5lZCBfX3N0dWJfRVZQX2Flc18xMjhfY3RyIHx8IGRlZmluZWQgX19z dHViX19fRVZQX2Flc18xMjhfY3RyCnwgY2hva2UgbWUKfCAjZW5kaWYKfCAKfCBpbnQKfCBtYWlu ICgpCnwgewp8IHJldHVybiBFVlBfYWVzXzEyOF9jdHIgKCk7CnwgICA7CnwgICByZXR1cm4gMDsK fCB9CmNvbmZpZ3VyZToxMzU2MDogcmVzdWx0OiBubwpjb25maWd1cmU6MTQwNDE6IGNoZWNraW5n IGZvciBsaWJ6CmNvbmZpZ3VyZToxNDA2MDogY2MgLW8gY29uZnRlc3QgLWcgICBjb25mdGVzdC5j IC1sbnNsIC1sc29ja2V0ICAtbHogPiY1CmNvbmZpZ3VyZToxNDA2MDogJD8gPSAwCmNvbmZpZ3Vy ZToxNDA3MDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE0MDc3OiBjaGVja2luZyBob3cgdG8gbGlu ayB3aXRoIGxpYnoKY29uZmlndXJlOjE0MDc5OiByZXN1bHQ6IC1segpjb25maWd1cmU6MTQxMzc6 IGNoZWNraW5nIHdoZXRoZXIgdG8gZW5hYmxlIHBlZGFudGljIGFuZCBkZWJ1ZyBjb21waWxlciBv cHRpb25zCmNvbmZpZ3VyZToxNDE0NjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE0MTU2OiBjaGVj a2luZyBmb3IgaWNjIGluIHVzZQpjb25maWd1cmU6MTQxNzg6IHJlc3VsdDogbm8KY29uZmlndXJl OjE0MjQ4OiBBZGRlZCBubyBleHRyYSBjb21waWxlciBvcHRpb25zCmNvbmZpZ3VyZToxNDI3Njog Y2hlY2tpbmcgd2hldGhlciB0byBlbmFibGUgaGlkZGVuIHN5bWJvbHMgaW4gdGhlIGxpYnJhcnkK Y29uZmlndXJlOjE0MzE3OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxNDMyODogY2hlY2tpbmcgZXJy bm8uaCB1c2FiaWxpdHkKY29uZmlndXJlOjE0MzI4OiBjYyAtYyAgLWcgLWcgIC1ETElCU1NIMkRF QlVHIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToxNDMyODogJD8gPSAwCmNvbmZpZ3VyZToxNDMy ODogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE0MzI4OiBjaGVja2luZyBlcnJuby5oIHByZXNlbmNl CmNvbmZpZ3VyZToxNDMyODogY2MgLUUgIC1ETElCU1NIMkRFQlVHIGNvbmZ0ZXN0LmMKY29uZmln dXJlOjE0MzI4OiAkPyA9IDAKY29uZmlndXJlOjE0MzI4OiByZXN1bHQ6IHllcwpjb25maWd1cmU6 MTQzMjg6IGNoZWNraW5nIGZvciBlcnJuby5oCmNvbmZpZ3VyZToxNDMyODogcmVzdWx0OiB5ZXMK Y29uZmlndXJlOjE0MzI4OiBjaGVja2luZyBmY250bC5oIHVzYWJpbGl0eQpjb25maWd1cmU6MTQz Mjg6IGNjIC1jICAtZyAtZyAgLURMSUJTU0gyREVCVUcgY29uZnRlc3QuYyA+JjUKY29uZmlndXJl OjE0MzI4OiAkPyA9IDAKY29uZmlndXJlOjE0MzI4OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTQz Mjg6IGNoZWNraW5nIGZjbnRsLmggcHJlc2VuY2UKY29uZmlndXJlOjE0MzI4OiBjYyAtRSAgLURM SUJTU0gyREVCVUcgY29uZnRlc3QuYwpjb25maWd1cmU6MTQzMjg6ICQ/ID0gMApjb25maWd1cmU6 MTQzMjg6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNDMyODogY2hlY2tpbmcgZm9yIGZjbnRsLmgK Y29uZmlndXJlOjE0MzI4OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTQzMjg6IGNoZWNraW5nIHN0 ZGlvLmggdXNhYmlsaXR5CmNvbmZpZ3VyZToxNDMyODogY2MgLWMgIC1nIC1nICAtRExJQlNTSDJE RUJVRyBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MTQzMjg6ICQ/ID0gMApjb25maWd1cmU6MTQz Mjg6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNDMyODogY2hlY2tpbmcgc3RkaW8uaCBwcmVzZW5j ZQpjb25maWd1cmU6MTQzMjg6IGNjIC1FICAtRExJQlNTSDJERUJVRyBjb25mdGVzdC5jCmNvbmZp Z3VyZToxNDMyODogJD8gPSAwCmNvbmZpZ3VyZToxNDMyODogcmVzdWx0OiB5ZXMKY29uZmlndXJl OjE0MzI4OiBjaGVja2luZyBmb3Igc3RkaW8uaApjb25maWd1cmU6MTQzMjg6IHJlc3VsdDogeWVz CmNvbmZpZ3VyZToxNDMyODogY2hlY2tpbmcgZm9yIHN0ZGxpYi5oCmNvbmZpZ3VyZToxNDMyODog cmVzdWx0OiB5ZXMKY29uZmlndXJlOjE0MzI4OiBjaGVja2luZyBmb3IgdW5pc3RkLmgKY29uZmln dXJlOjE0MzI4OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTQzMjg6IGNoZWNraW5nIHN5cy91aW8u aCB1c2FiaWxpdHkKY29uZmlndXJlOjE0MzI4OiBjYyAtYyAgLWcgLWcgIC1ETElCU1NIMkRFQlVH IGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToxNDMyODogJD8gPSAwCmNvbmZpZ3VyZToxNDMyODog cmVzdWx0OiB5ZXMKY29uZmlndXJlOjE0MzI4OiBjaGVja2luZyBzeXMvdWlvLmggcHJlc2VuY2UK Y29uZmlndXJlOjE0MzI4OiBjYyAtRSAgLURMSUJTU0gyREVCVUcgY29uZnRlc3QuYwpjb25maWd1 cmU6MTQzMjg6ICQ/ID0gMApjb25maWd1cmU6MTQzMjg6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTox NDMyODogY2hlY2tpbmcgZm9yIHN5cy91aW8uaApjb25maWd1cmU6MTQzMjg6IHJlc3VsdDogeWVz CmNvbmZpZ3VyZToxNDM0MjogY2hlY2tpbmcgc3lzL3NlbGVjdC5oIHVzYWJpbGl0eQpjb25maWd1 cmU6MTQzNDI6IGNjIC1jICAtZyAtZyAgLURMSUJTU0gyREVCVUcgY29uZnRlc3QuYyA+JjUKY29u ZmlndXJlOjE0MzQyOiAkPyA9IDAKY29uZmlndXJlOjE0MzQyOiByZXN1bHQ6IHllcwpjb25maWd1 cmU6MTQzNDI6IGNoZWNraW5nIHN5cy9zZWxlY3QuaCBwcmVzZW5jZQpjb25maWd1cmU6MTQzNDI6 IGNjIC1FICAtRExJQlNTSDJERUJVRyBjb25mdGVzdC5jCmNvbmZpZ3VyZToxNDM0MjogJD8gPSAw CmNvbmZpZ3VyZToxNDM0MjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE0MzQyOiBjaGVja2luZyBm b3Igc3lzL3NlbGVjdC5oCmNvbmZpZ3VyZToxNDM0MjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE0 MzQyOiBjaGVja2luZyBzeXMvc29ja2V0LmggdXNhYmlsaXR5CmNvbmZpZ3VyZToxNDM0MjogY2Mg LWMgIC1nIC1nICAtRExJQlNTSDJERUJVRyBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MTQzNDI6 ICQ/ID0gMApjb25maWd1cmU6MTQzNDI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNDM0MjogY2hl Y2tpbmcgc3lzL3NvY2tldC5oIHByZXNlbmNlCmNvbmZpZ3VyZToxNDM0MjogY2MgLUUgIC1ETElC U1NIMkRFQlVHIGNvbmZ0ZXN0LmMKY29uZmlndXJlOjE0MzQyOiAkPyA9IDAKY29uZmlndXJlOjE0 MzQyOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTQzNDI6IGNoZWNraW5nIGZvciBzeXMvc29ja2V0 LmgKY29uZmlndXJlOjE0MzQyOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTQzNDI6IGNoZWNraW5n IHN5cy9pb2N0bC5oIHVzYWJpbGl0eQpjb25maWd1cmU6MTQzNDI6IGNjIC1jICAtZyAtZyAgLURM SUJTU0gyREVCVUcgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjE0MzQyOiAkPyA9IDAKY29uZmln dXJlOjE0MzQyOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTQzNDI6IGNoZWNraW5nIHN5cy9pb2N0 bC5oIHByZXNlbmNlCmNvbmZpZ3VyZToxNDM0MjogY2MgLUUgIC1ETElCU1NIMkRFQlVHIGNvbmZ0 ZXN0LmMKY29uZmlndXJlOjE0MzQyOiAkPyA9IDAKY29uZmlndXJlOjE0MzQyOiByZXN1bHQ6IHll cwpjb25maWd1cmU6MTQzNDI6IGNoZWNraW5nIGZvciBzeXMvaW9jdGwuaApjb25maWd1cmU6MTQz NDI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNDM0MjogY2hlY2tpbmcgc3lzL3RpbWUuaCB1c2Fi aWxpdHkKY29uZmlndXJlOjE0MzQyOiBjYyAtYyAgLWcgLWcgIC1ETElCU1NIMkRFQlVHIGNvbmZ0 ZXN0LmMgPiY1CmNvbmZpZ3VyZToxNDM0MjogJD8gPSAwCmNvbmZpZ3VyZToxNDM0MjogcmVzdWx0 OiB5ZXMKY29uZmlndXJlOjE0MzQyOiBjaGVja2luZyBzeXMvdGltZS5oIHByZXNlbmNlCmNvbmZp Z3VyZToxNDM0MjogY2MgLUUgIC1ETElCU1NIMkRFQlVHIGNvbmZ0ZXN0LmMKY29uZmlndXJlOjE0 MzQyOiAkPyA9IDAKY29uZmlndXJlOjE0MzQyOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTQzNDI6 IGNoZWNraW5nIGZvciBzeXMvdGltZS5oCmNvbmZpZ3VyZToxNDM0MjogcmVzdWx0OiB5ZXMKY29u ZmlndXJlOjE0MzU2OiBjaGVja2luZyBhcnBhL2luZXQuaCB1c2FiaWxpdHkKY29uZmlndXJlOjE0 MzU2OiBjYyAtYyAgLWcgLWcgIC1ETElCU1NIMkRFQlVHIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3Vy ZToxNDM1NjogJD8gPSAwCmNvbmZpZ3VyZToxNDM1NjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE0 MzU2OiBjaGVja2luZyBhcnBhL2luZXQuaCBwcmVzZW5jZQpjb25maWd1cmU6MTQzNTY6IGNjIC1F ICAtRExJQlNTSDJERUJVRyBjb25mdGVzdC5jCmNvbmZpZ3VyZToxNDM1NjogJD8gPSAwCmNvbmZp Z3VyZToxNDM1NjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE0MzU2OiBjaGVja2luZyBmb3IgYXJw YS9pbmV0LmgKY29uZmlndXJlOjE0MzU2OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTQzNTY6IGNo ZWNraW5nIG5ldGluZXQvaW4uaCB1c2FiaWxpdHkKY29uZmlndXJlOjE0MzU2OiBjYyAtYyAgLWcg LWcgIC1ETElCU1NIMkRFQlVHIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToxNDM1NjogJD8gPSAw CmNvbmZpZ3VyZToxNDM1NjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE0MzU2OiBjaGVja2luZyBu ZXRpbmV0L2luLmggcHJlc2VuY2UKY29uZmlndXJlOjE0MzU2OiBjYyAtRSAgLURMSUJTU0gyREVC VUcgY29uZnRlc3QuYwpjb25maWd1cmU6MTQzNTY6ICQ/ID0gMApjb25maWd1cmU6MTQzNTY6IHJl c3VsdDogeWVzCmNvbmZpZ3VyZToxNDM1NjogY2hlY2tpbmcgZm9yIG5ldGluZXQvaW4uaApjb25m aWd1cmU6MTQzNTY6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNDM2OTogY2hlY2tpbmcgc3lzL3Vu LmggdXNhYmlsaXR5CmNvbmZpZ3VyZToxNDM2OTogY2MgLWMgIC1nIC1nICAtRExJQlNTSDJERUJV RyBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MTQzNjk6ICQ/ID0gMApjb25maWd1cmU6MTQzNjk6 IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNDM2OTogY2hlY2tpbmcgc3lzL3VuLmggcHJlc2VuY2UK Y29uZmlndXJlOjE0MzY5OiBjYyAtRSAgLURMSUJTU0gyREVCVUcgY29uZnRlc3QuYwpjb25maWd1 cmU6MTQzNjk6ICQ/ID0gMApjb25maWd1cmU6MTQzNjk6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTox NDM2OTogY2hlY2tpbmcgZm9yIHN5cy91bi5oCmNvbmZpZ3VyZToxNDM2OTogcmVzdWx0OiB5ZXMK Y29uZmlndXJlOjE0Mzg4OiBjaGVja2luZyB3aW5kb3dzLmggdXNhYmlsaXR5CmNvbmZpZ3VyZTox NDM4ODogY2MgLWMgIC1nIC1nICAtRExJQlNTSDJERUJVRyBjb25mdGVzdC5jID4mNQoiY29uZnRl c3QuYyIsIGxpbmUgODA6IGNhbm5vdCBmaW5kIGluY2x1ZGUgZmlsZTogPHdpbmRvd3MuaD4KY2M6 IGFjb21wIGZhaWxlZCBmb3IgY29uZnRlc3QuYwpjb25maWd1cmU6MTQzODg6ICQ/ID0gMgpjb25m aWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQ QUNLQUdFX05BTUUgImxpYnNzaDIiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImxpYnNzaDIi CnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIi0iCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAi bGlic3NoMiAtIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImxpYnNzaDItZGV2ZWxAY29v bC5oYXh4LnNlIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImxp YnNzaDIiCnwgI2RlZmluZSBWRVJTSU9OICIxLjIuNiIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAx CnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAx CnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNk ZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmlu ZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBI QVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfTE9OR0xPTkcgMQp8ICNkZWZpbmUgTkVFRF9S RUVOVFJBTlQgMQp8ICNpZm5kZWYgX1JFRU5UUkFOVAp8ICMgIGRlZmluZSBfUkVFTlRSQU5UCnwg I2VuZGlmCnwgI2RlZmluZSBIQVZFX0RMRkNOX0ggMQp8ICNkZWZpbmUgTFRfT0JKRElSICIubGli cy8iCnwgI2RlZmluZSBXT1JEU19CSUdFTkRJQU4gMQp8ICNkZWZpbmUgX0ZJTEVfT0ZGU0VUX0JJ VFMgNjQKfCAjZGVmaW5lIEhBVkVfTElCU1NMIDEKfCAjZGVmaW5lIEhBVkVfTElCWiAxCnwgI2Rl ZmluZSBMSUJTU0gyX0hBVkVfWkxJQiAxCnwgI2RlZmluZSBMSUJTU0gyX0RIX0dFWF9ORVcgMQp8 ICNkZWZpbmUgSEFWRV9FUlJOT19IIDEKfCAjZGVmaW5lIEhBVkVfRkNOVExfSCAxCnwgI2RlZmlu ZSBIQVZFX1NURElPX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZF X1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VJT19IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX0lPQ1RMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVf QVJQQV9JTkVUX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRJTkVUX0lOX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfVU5fSCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzdGRpby5o Pgp8ICNpZmRlZiBIQVZFX1NZU19UWVBFU19ICnwgIyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAj ZW5kaWYKfCAjaWZkZWYgSEFWRV9TWVNfU1RBVF9ICnwgIyBpbmNsdWRlIDxzeXMvc3RhdC5oPgp8 ICNlbmRpZgp8ICNpZmRlZiBTVERDX0hFQURFUlMKfCAjIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMg aW5jbHVkZSA8c3RkZGVmLmg+CnwgI2Vsc2UKfCAjIGlmZGVmIEhBVkVfU1RETElCX0gKfCAjICBp bmNsdWRlIDxzdGRsaWIuaD4KfCAjIGVuZGlmCnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5H X0gKfCAjIGlmICFkZWZpbmVkIFNURENfSEVBREVSUyAmJiBkZWZpbmVkIEhBVkVfTUVNT1JZX0gK fCAjICBpbmNsdWRlIDxtZW1vcnkuaD4KfCAjIGVuZGlmCnwgIyBpbmNsdWRlIDxzdHJpbmcuaD4K fCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdTX0gKfCAjIGluY2x1ZGUgPHN0cmluZ3MuaD4K fCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9JTlRUWVBFU19ICnwgIyBpbmNsdWRlIDxpbnR0eXBlcy5o Pgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NURElOVF9ICnwgIyBpbmNsdWRlIDxzdGRpbnQuaD4K fCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9VTklTVERfSAp8ICMgaW5jbHVkZSA8dW5pc3RkLmg+Cnwg I2VuZGlmCnwgI2luY2x1ZGUgPHdpbmRvd3MuaD4KY29uZmlndXJlOjE0Mzg4OiByZXN1bHQ6IG5v CmNvbmZpZ3VyZToxNDM4ODogY2hlY2tpbmcgd2luZG93cy5oIHByZXNlbmNlCmNvbmZpZ3VyZTox NDM4ODogY2MgLUUgIC1ETElCU1NIMkRFQlVHIGNvbmZ0ZXN0LmMKImNvbmZ0ZXN0LmMiLCBsaW5l IDQ3OiBjYW5ub3QgZmluZCBpbmNsdWRlIGZpbGU6IDx3aW5kb3dzLmg+CmNjOiBhY29tcCBmYWls ZWQgZm9yIGNvbmZ0ZXN0LmMKY29uZmlndXJlOjE0Mzg4OiAkPyA9IDIKY29uZmlndXJlOiBmYWls ZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1F ICJsaWJzc2gyIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJsaWJzc2gyIgp8ICNkZWZpbmUg UEFDS0FHRV9WRVJTSU9OICItIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImxpYnNzaDIgLSIK fCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJsaWJzc2gyLWRldmVsQGNvb2wuaGF4eC5zZSIK fCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJsaWJzc2gyIgp8ICNk ZWZpbmUgVkVSU0lPTiAiMS4yLjYiCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUg SEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUg SEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVf TUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRU WVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERf SCAxCnwgI2RlZmluZSBIQVZFX0xPTkdMT05HIDEKfCAjZGVmaW5lIE5FRURfUkVFTlRSQU5UIDEK fCAjaWZuZGVmIF9SRUVOVFJBTlQKfCAjICBkZWZpbmUgX1JFRU5UUkFOVAp8ICNlbmRpZgp8ICNk ZWZpbmUgSEFWRV9ETEZDTl9IIDEKfCAjZGVmaW5lIExUX09CSkRJUiAiLmxpYnMvIgp8ICNkZWZp bmUgV09SRFNfQklHRU5ESUFOIDEKfCAjZGVmaW5lIF9GSUxFX09GRlNFVF9CSVRTIDY0CnwgI2Rl ZmluZSBIQVZFX0xJQlNTTCAxCnwgI2RlZmluZSBIQVZFX0xJQlogMQp8ICNkZWZpbmUgTElCU1NI Ml9IQVZFX1pMSUIgMQp8ICNkZWZpbmUgTElCU1NIMl9ESF9HRVhfTkVXIDEKfCAjZGVmaW5lIEhB VkVfRVJSTk9fSCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJ T19IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19VSU9fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19JT0NUTF9I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX0FSUEFfSU5FVF9I IDEKfCAjZGVmaW5lIEhBVkVfTkVUSU5FVF9JTl9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0gg MQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8d2luZG93cy5oPgpjb25maWd1 cmU6MTQzODg6IHJlc3VsdDogbm8KY29uZmlndXJlOjE0Mzg4OiBjaGVja2luZyBmb3Igd2luZG93 cy5oCmNvbmZpZ3VyZToxNDM4ODogcmVzdWx0OiBubwpjb25maWd1cmU6MTQzODg6IGNoZWNraW5n IHdpbnNvY2syLmggdXNhYmlsaXR5CmNvbmZpZ3VyZToxNDM4ODogY2MgLWMgIC1nIC1nICAtRExJ QlNTSDJERUJVRyBjb25mdGVzdC5jID4mNQoiY29uZnRlc3QuYyIsIGxpbmUgODA6IGNhbm5vdCBm aW5kIGluY2x1ZGUgZmlsZTogPHdpbnNvY2syLmg+CmNjOiBhY29tcCBmYWlsZWQgZm9yIGNvbmZ0 ZXN0LmMKY29uZmlndXJlOjE0Mzg4OiAkPyA9IDIKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3 YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJsaWJzc2gyIgp8 ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJsaWJzc2gyIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJT SU9OICItIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImxpYnNzaDIgLSIKfCAjZGVmaW5lIFBB Q0tBR0VfQlVHUkVQT1JUICJsaWJzc2gyLWRldmVsQGNvb2wuaGF4eC5zZSIKfCAjZGVmaW5lIFBB Q0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJsaWJzc2gyIgp8ICNkZWZpbmUgVkVSU0lP TiAiMS4yLjYiCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQ RVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJf SCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAj ZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmlu ZSBIQVZFX0xPTkdMT05HIDEKfCAjZGVmaW5lIE5FRURfUkVFTlRSQU5UIDEKfCAjaWZuZGVmIF9S RUVOVFJBTlQKfCAjICBkZWZpbmUgX1JFRU5UUkFOVAp8ICNlbmRpZgp8ICNkZWZpbmUgSEFWRV9E TEZDTl9IIDEKfCAjZGVmaW5lIExUX09CSkRJUiAiLmxpYnMvIgp8ICNkZWZpbmUgV09SRFNfQklH RU5ESUFOIDEKfCAjZGVmaW5lIF9GSUxFX09GRlNFVF9CSVRTIDY0CnwgI2RlZmluZSBIQVZFX0xJ QlNTTCAxCnwgI2RlZmluZSBIQVZFX0xJQlogMQp8ICNkZWZpbmUgTElCU1NIMl9IQVZFX1pMSUIg MQp8ICNkZWZpbmUgTElCU1NIMl9ESF9HRVhfTkVXIDEKfCAjZGVmaW5lIEhBVkVfRVJSTk9fSCAx CnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJT19IIDEKfCAjZGVm aW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19VSU9fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19JT0NUTF9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX0FSUEFfSU5FVF9IIDEKfCAjZGVmaW5l IEhBVkVfTkVUSU5FVF9JTl9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8IC8qIGVuZCBj b25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAjaWZkZWYgSEFWRV9TWVNfVFlQ RVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1lT X1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgU1REQ19I RUFERVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8ICNl bHNlCnwgIyBpZmRlZiBIQVZFX1NURExJQl9ICnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBl bmRpZgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR19ICnwgIyBpZiAhZGVmaW5lZCBTVERD X0hFQURFUlMgJiYgZGVmaW5lZCBIQVZFX01FTU9SWV9ICnwgIyAgaW5jbHVkZSA8bWVtb3J5Lmg+ CnwgIyBlbmRpZgp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVf U1RSSU5HU19ICnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVf SU5UVFlQRVNfSAp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFW RV9TVERJTlRfSAp8ICMgaW5jbHVkZSA8c3RkaW50Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVf VU5JU1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8ICNpbmNsdWRlIDx3aW5z b2NrMi5oPgpjb25maWd1cmU6MTQzODg6IHJlc3VsdDogbm8KY29uZmlndXJlOjE0Mzg4OiBjaGVj a2luZyB3aW5zb2NrMi5oIHByZXNlbmNlCmNvbmZpZ3VyZToxNDM4ODogY2MgLUUgIC1ETElCU1NI MkRFQlVHIGNvbmZ0ZXN0LmMKImNvbmZ0ZXN0LmMiLCBsaW5lIDQ3OiBjYW5ub3QgZmluZCBpbmNs dWRlIGZpbGU6IDx3aW5zb2NrMi5oPgpjYzogYWNvbXAgZmFpbGVkIGZvciBjb25mdGVzdC5jCmNv bmZpZ3VyZToxNDM4ODogJD8gPSAyCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8q IGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAibGlic3NoMiIKfCAjZGVmaW5l IFBBQ0tBR0VfVEFSTkFNRSAibGlic3NoMiIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiLSIK fCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJsaWJzc2gyIC0iCnwgI2RlZmluZSBQQUNLQUdFX0JV R1JFUE9SVCAibGlic3NoMi1kZXZlbEBjb29sLmhheHguc2UiCnwgI2RlZmluZSBQQUNLQUdFX1VS TCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAibGlic3NoMiIKfCAjZGVmaW5lIFZFUlNJT04gIjEuMi42 Igp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5l IEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBI QVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9M T05HTE9ORyAxCnwgI2RlZmluZSBORUVEX1JFRU5UUkFOVCAxCnwgI2lmbmRlZiBfUkVFTlRSQU5U CnwgIyAgZGVmaW5lIF9SRUVOVFJBTlQKfCAjZW5kaWYKfCAjZGVmaW5lIEhBVkVfRExGQ05fSCAx CnwgI2RlZmluZSBMVF9PQkpESVIgIi5saWJzLyIKfCAjZGVmaW5lIFdPUkRTX0JJR0VORElBTiAx CnwgI2RlZmluZSBfRklMRV9PRkZTRVRfQklUUyA2NAp8ICNkZWZpbmUgSEFWRV9MSUJTU0wgMQp8 ICNkZWZpbmUgSEFWRV9MSUJaIDEKfCAjZGVmaW5lIExJQlNTSDJfSEFWRV9aTElCIDEKfCAjZGVm aW5lIExJQlNTSDJfREhfR0VYX05FVyAxCnwgI2RlZmluZSBIQVZFX0VSUk5PX0ggMQp8ICNkZWZp bmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU9fSCAxCnwgI2RlZmluZSBIQVZF X1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf VUlPX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf U09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfSU9DVExfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9BUlBBX0lORVRfSCAxCnwgI2RlZmluZSBIQVZFX05F VElORVRfSU5fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAvKiBlbmQgY29uZmRlZnMu aC4gICovCnwgI2luY2x1ZGUgPHdpbnNvY2syLmg+CmNvbmZpZ3VyZToxNDM4ODogcmVzdWx0OiBu bwpjb25maWd1cmU6MTQzODg6IGNoZWNraW5nIGZvciB3aW5zb2NrMi5oCmNvbmZpZ3VyZToxNDM4 ODogcmVzdWx0OiBubwpjb25maWd1cmU6MTQzODg6IGNoZWNraW5nIHdzMnRjcGlwLmggdXNhYmls aXR5CmNvbmZpZ3VyZToxNDM4ODogY2MgLWMgIC1nIC1nICAtRExJQlNTSDJERUJVRyBjb25mdGVz dC5jID4mNQoiY29uZnRlc3QuYyIsIGxpbmUgODA6IGNhbm5vdCBmaW5kIGluY2x1ZGUgZmlsZTog PHdzMnRjcGlwLmg+CmNjOiBhY29tcCBmYWlsZWQgZm9yIGNvbmZ0ZXN0LmMKY29uZmlndXJlOjE0 Mzg4OiAkPyA9IDIKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMu aCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJsaWJzc2gyIgp8ICNkZWZpbmUgUEFDS0FHRV9U QVJOQU1FICJsaWJzc2gyIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICItIgp8ICNkZWZpbmUg UEFDS0FHRV9TVFJJTkcgImxpYnNzaDIgLSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJs aWJzc2gyLWRldmVsQGNvb2wuaGF4eC5zZSIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2Rl ZmluZSBQQUNLQUdFICJsaWJzc2gyIgp8ICNkZWZpbmUgVkVSU0lPTiAiMS4yLjYiCnwgI2RlZmlu ZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZF X1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJ TkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5U X0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX0xPTkdMT05HIDEK fCAjZGVmaW5lIE5FRURfUkVFTlRSQU5UIDEKfCAjaWZuZGVmIF9SRUVOVFJBTlQKfCAjICBkZWZp bmUgX1JFRU5UUkFOVAp8ICNlbmRpZgp8ICNkZWZpbmUgSEFWRV9ETEZDTl9IIDEKfCAjZGVmaW5l IExUX09CSkRJUiAiLmxpYnMvIgp8ICNkZWZpbmUgV09SRFNfQklHRU5ESUFOIDEKfCAjZGVmaW5l IF9GSUxFX09GRlNFVF9CSVRTIDY0CnwgI2RlZmluZSBIQVZFX0xJQlNTTCAxCnwgI2RlZmluZSBI QVZFX0xJQlogMQp8ICNkZWZpbmUgTElCU1NIMl9IQVZFX1pMSUIgMQp8ICNkZWZpbmUgTElCU1NI Ml9ESF9HRVhfTkVXIDEKfCAjZGVmaW5lIEhBVkVfRVJSTk9fSCAxCnwgI2RlZmluZSBIQVZFX0ZD TlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJT19IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0gg MQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VSU9fSCAxCnwg I2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19JT0NUTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAx CnwgI2RlZmluZSBIQVZFX0FSUEFfSU5FVF9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUSU5FVF9JTl9I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAj aW5jbHVkZSA8c3RkaW8uaD4KfCAjaWZkZWYgSEFWRV9TWVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8 c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVk ZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgU1REQ19IRUFERVJTCnwgIyBpbmNsdWRl IDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8ICNlbHNlCnwgIyBpZmRlZiBIQVZF X1NURExJQl9ICnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNp ZmRlZiBIQVZFX1NUUklOR19ICnwgIyBpZiAhZGVmaW5lZCBTVERDX0hFQURFUlMgJiYgZGVmaW5l ZCBIQVZFX01FTU9SWV9ICnwgIyAgaW5jbHVkZSA8bWVtb3J5Lmg+CnwgIyBlbmRpZgp8ICMgaW5j bHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HU19ICnwgIyBpbmNs dWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfSU5UVFlQRVNfSAp8ICMgaW5j bHVkZSA8aW50dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVERJTlRfSAp8ICMgaW5j bHVkZSA8c3RkaW50Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfVU5JU1REX0gKfCAjIGluY2x1 ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8ICNpbmNsdWRlIDx3czJ0Y3BpcC5oPgpjb25maWd1cmU6 MTQzODg6IHJlc3VsdDogbm8KY29uZmlndXJlOjE0Mzg4OiBjaGVja2luZyB3czJ0Y3BpcC5oIHBy ZXNlbmNlCmNvbmZpZ3VyZToxNDM4ODogY2MgLUUgIC1ETElCU1NIMkRFQlVHIGNvbmZ0ZXN0LmMK ImNvbmZ0ZXN0LmMiLCBsaW5lIDQ3OiBjYW5ub3QgZmluZCBpbmNsdWRlIGZpbGU6IDx3czJ0Y3Bp cC5oPgpjYzogYWNvbXAgZmFpbGVkIGZvciBjb25mdGVzdC5jCmNvbmZpZ3VyZToxNDM4ODogJD8g PSAyCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAj ZGVmaW5lIFBBQ0tBR0VfTkFNRSAibGlic3NoMiIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAi bGlic3NoMiIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiLSIKfCAjZGVmaW5lIFBBQ0tBR0Vf U1RSSU5HICJsaWJzc2gyIC0iCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAibGlic3NoMi1k ZXZlbEBjb29sLmhheHguc2UiCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFD S0FHRSAibGlic3NoMiIKfCAjZGVmaW5lIFZFUlNJT04gIjEuMi42Igp8ICNkZWZpbmUgU1REQ19I RUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf U1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdf SCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEK fCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAj ZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9MT05HTE9ORyAxCnwgI2RlZmlu ZSBORUVEX1JFRU5UUkFOVCAxCnwgI2lmbmRlZiBfUkVFTlRSQU5UCnwgIyAgZGVmaW5lIF9SRUVO VFJBTlQKfCAjZW5kaWYKfCAjZGVmaW5lIEhBVkVfRExGQ05fSCAxCnwgI2RlZmluZSBMVF9PQkpE SVIgIi5saWJzLyIKfCAjZGVmaW5lIFdPUkRTX0JJR0VORElBTiAxCnwgI2RlZmluZSBfRklMRV9P RkZTRVRfQklUUyA2NAp8ICNkZWZpbmUgSEFWRV9MSUJTU0wgMQp8ICNkZWZpbmUgSEFWRV9MSUJa IDEKfCAjZGVmaW5lIExJQlNTSDJfSEFWRV9aTElCIDEKfCAjZGVmaW5lIExJQlNTSDJfREhfR0VY X05FVyAxCnwgI2RlZmluZSBIQVZFX0VSUk5PX0ggMQp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEK fCAjZGVmaW5lIEhBVkVfU1RESU9fSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVm aW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVUlPX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfSU9DVExfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZp bmUgSEFWRV9BUlBBX0lORVRfSCAxCnwgI2RlZmluZSBIQVZFX05FVElORVRfSU5fSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19VTl9IIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUg PHdzMnRjcGlwLmg+CmNvbmZpZ3VyZToxNDM4ODogcmVzdWx0OiBubwpjb25maWd1cmU6MTQzODg6 IGNoZWNraW5nIGZvciB3czJ0Y3BpcC5oCmNvbmZpZ3VyZToxNDM4ODogcmVzdWx0OiBubwpjb25m aWd1cmU6MTQ0MTA6IGNoZWNraW5nIGZvciBwb2xsCmNvbmZpZ3VyZToxNDQxMDogY2MgLW8gY29u ZnRlc3QgIC1nIC1nICAtRExJQlNTSDJERUJVRyAgY29uZnRlc3QuYyAtbG5zbCAtbHNvY2tldCAg PiY1CiJjb25mdGVzdC5jIiwgbGluZSA4Mzogd2FybmluZzogc3RhdGVtZW50IG5vdCByZWFjaGVk CmNvbmZpZ3VyZToxNDQxMDogJD8gPSAwCmNvbmZpZ3VyZToxNDQxMDogcmVzdWx0OiB5ZXMKY29u ZmlndXJlOjE0NDI1OiBjaGVja2luZyBmb3IgZ2V0dGltZW9mZGF5CmNvbmZpZ3VyZToxNDQyNTog Y2MgLW8gY29uZnRlc3QgIC1nIC1nICAtRExJQlNTSDJERUJVRyAgY29uZnRlc3QuYyAtbG5zbCAt bHNvY2tldCAgPiY1CiJjb25mdGVzdC5jIiwgbGluZSA4NDogd2FybmluZzogc3RhdGVtZW50IG5v dCByZWFjaGVkCmNvbmZpZ3VyZToxNDQyNTogJD8gPSAwCmNvbmZpZ3VyZToxNDQyNTogcmVzdWx0 OiB5ZXMKY29uZmlndXJlOjE0NDI1OiBjaGVja2luZyBmb3Igc2VsZWN0CmNvbmZpZ3VyZToxNDQy NTogY2MgLW8gY29uZnRlc3QgIC1nIC1nICAtRExJQlNTSDJERUJVRyAgY29uZnRlc3QuYyAtbG5z bCAtbHNvY2tldCAgPiY1CiJjb25mdGVzdC5jIiwgbGluZSA4NTogd2FybmluZzogc3RhdGVtZW50 IG5vdCByZWFjaGVkCmNvbmZpZ3VyZToxNDQyNTogJD8gPSAwCmNvbmZpZ3VyZToxNDQyNTogcmVz dWx0OiB5ZXMKY29uZmlndXJlOjE0NDI1OiBjaGVja2luZyBmb3Igc3RydG9sbApjb25maWd1cmU6 MTQ0MjU6IGNjIC1vIGNvbmZ0ZXN0ICAtZyAtZyAgLURMSUJTU0gyREVCVUcgIGNvbmZ0ZXN0LmMg LWxuc2wgLWxzb2NrZXQgID4mNQoiY29uZnRlc3QuYyIsIGxpbmUgODY6IHdhcm5pbmc6IHN0YXRl bWVudCBub3QgcmVhY2hlZApjb25maWd1cmU6MTQ0MjU6ICQ/ID0gMApjb25maWd1cmU6MTQ0MjU6 IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNDQ4MjogY2hlY2tpbmcgZm9yIHdvcmtpbmcgYWxsb2Nh LmgKY29uZmlndXJlOjE0NDk5OiBjYyAtbyBjb25mdGVzdCAgLWcgLWcgIC1ETElCU1NIMkRFQlVH ICBjb25mdGVzdC5jIC1sbnNsIC1sc29ja2V0ICA+JjUKY29uZmlndXJlOjE0NDk5OiAkPyA9IDAK Y29uZmlndXJlOjE0NTA3OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTQ1MTU6IGNoZWNraW5nIGZv ciBhbGxvY2EKY29uZmlndXJlOjE0NTUyOiBjYyAtbyBjb25mdGVzdCAgLWcgLWcgIC1ETElCU1NI MkRFQlVHICBjb25mdGVzdC5jIC1sbnNsIC1sc29ja2V0ICA+JjUKY29uZmlndXJlOjE0NTUyOiAk PyA9IDAKY29uZmlndXJlOjE0NTYwOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTQ2NzI6IGNoZWNr aW5nIGZvciBhbiBBTlNJIEMtY29uZm9ybWluZyBjb25zdApjb25maWd1cmU6MTQ3Mzc6IGNjIC1j ICAtZyAtZyAgLURMSUJTU0gyREVCVUcgY29uZnRlc3QuYyA+JjUKImNvbmZ0ZXN0LmMiLCBsaW5l IDEwODogd2FybmluZzogc3RhdGVtZW50IG5vdCByZWFjaGVkCmNvbmZpZ3VyZToxNDczNzogJD8g PSAwCmNvbmZpZ3VyZToxNDc0NDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE0NzUyOiBjaGVja2lu ZyBmb3IgaW5saW5lCmNvbmZpZ3VyZToxNDc2ODogY2MgLWMgIC1nIC1nICAtRExJQlNTSDJERUJV RyBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MTQ3Njg6ICQ/ID0gMApjb25maWd1cmU6MTQ3NzY6 IHJlc3VsdDogaW5saW5lCmNvbmZpZ3VyZToxNDc5NjogY2hlY2tpbmcgbm9uLWJsb2NraW5nIHNv Y2tldHMgc3R5bGUKY29uZmlndXJlOjE0ODM0OiBjYyAtYyAgLWcgLWcgIC1ETElCU1NIMkRFQlVH IGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToxNDgzNDogJD8gPSAwCmNvbmZpZ3VyZToxNDk5NTog cmVzdWx0OiBPX05PTkJMT0NLCmNvbmZpZ3VyZToxNTEzMzogY3JlYXRpbmcgLi9jb25maWcuc3Rh dHVzCgojIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMjCiMjIFJ1bm5pbmcgY29uZmlnLnN0YXR1 cy4gIyMKIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjIwoKVGhpcyBmaWxlIHdhcyBleHRlbmRl ZCBieSBsaWJzc2gyIGNvbmZpZy5zdGF0dXMgLSwgd2hpY2ggd2FzCmdlbmVyYXRlZCBieSBHTlUg QXV0b2NvbmYgMi42NS4gIEludm9jYXRpb24gY29tbWFuZCBsaW5lIHdhcwoKICBDT05GSUdfRklM RVMgICAgPSAKICBDT05GSUdfSEVBREVSUyAgPSAKICBDT05GSUdfTElOS1MgICAgPSAKICBDT05G SUdfQ09NTUFORFMgPSAKICAkIC4vY29uZmlnLnN0YXR1cyAKCm9uIGV0cjY1MTFsMXN1bjEwMQoK Y29uZmlnLnN0YXR1czoxMTE1OiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVzOjExMTU6 IGNyZWF0aW5nIHNyYy9NYWtlZmlsZQpjb25maWcuc3RhdHVzOjExMTU6IGNyZWF0aW5nIHRlc3Rz L01ha2VmaWxlCmNvbmZpZy5zdGF0dXM6MTExNTogY3JlYXRpbmcgZXhhbXBsZS9NYWtlZmlsZQpj b25maWcuc3RhdHVzOjExMTU6IGNyZWF0aW5nIGRvY3MvTWFrZWZpbGUKY29uZmlnLnN0YXR1czox MTE1OiBjcmVhdGluZyBsaWJzc2gyLnBjCmNvbmZpZy5zdGF0dXM6MTExNTogY3JlYXRpbmcgc3Jj L2xpYnNzaDJfY29uZmlnLmgKY29uZmlnLnN0YXR1czoxMjgxOiBzcmMvbGlic3NoMl9jb25maWcu aCBpcyB1bmNoYW5nZWQKY29uZmlnLnN0YXR1czoxMTE1OiBjcmVhdGluZyBleGFtcGxlL2xpYnNz aDJfY29uZmlnLmgKY29uZmlnLnN0YXR1czoxMjgxOiBleGFtcGxlL2xpYnNzaDJfY29uZmlnLmgg aXMgdW5jaGFuZ2VkCmNvbmZpZy5zdGF0dXM6MTMyODogZXhlY3V0aW5nIGRlcGZpbGVzIGNvbW1h bmRzCmNvbmZpZy5zdGF0dXM6MTMyODogZXhlY3V0aW5nIGxpYnRvb2wgY29tbWFuZHMKY29uZmln dXJlOjE3MzQyOiBzdW1tYXJ5IG9mIGJ1aWxkIG9wdGlvbnM6CgogIHZlcnNpb246ICAgICAgICAg IDEuMi42CiAgSG9zdCB0eXBlOiAgICAgICAgc3BhcmMtc3VuLXNvbGFyaXMyLjEwCiAgSW5zdGFs bCBwcmVmaXg6ICAgL29wdC9zc2gyLTEuMi42LWRlYnVnCiAgQ29tcGlsZXI6ICAgICAgICAgY2MK ICBDb21waWxlciBmbGFnczogICAgLWcgLWcKICBMaWJyYXJ5IHR5cGVzOiAgICBTaGFyZWQ9eWVz LCBTdGF0aWM9eWVzCiAgQ3J5cHRvIGxpYnJhcnk6ICAgb3BlbnNzbDogeWVzIChBRVMtQ1RSOiBu bykgbGliZ2NyeXB0OiBubwogIERlYnVnIGJ1aWxkOiAgICAgIHllcwogIFBhdGggdG8gc3NoZDog ICAgICAob25seSBmb3Igc2VsZi10ZXN0cykKICBsaWJ6IGNvbXByZXNzaW9uOiB5ZXMKCgojIyAt LS0tLS0tLS0tLS0tLS0tICMjCiMjIENhY2hlIHZhcmlhYmxlcy4gIyMKIyMgLS0tLS0tLS0tLS0t LS0tLSAjIwoKYWNfY3ZfYnVpbGQ9c3BhcmMtc3VuLXNvbGFyaXMyLjEwCmFjX2N2X2NfYmlnZW5k aWFuPXllcwphY19jdl9jX2NvbXBpbGVyX2dudT1ubwphY19jdl9jX2NvbnN0PXllcwphY19jdl9j X2lubGluZT1pbmxpbmUKYWNfY3ZfZW52X0NDX3NldD0KYWNfY3ZfZW52X0NDX3ZhbHVlPQphY19j dl9lbnZfQ0ZMQUdTX3NldD0KYWNfY3ZfZW52X0NGTEFHU192YWx1ZT0KYWNfY3ZfZW52X0NQUEZM QUdTX3NldD0KYWNfY3ZfZW52X0NQUEZMQUdTX3ZhbHVlPQphY19jdl9lbnZfQ1BQX3NldD0KYWNf Y3ZfZW52X0NQUF92YWx1ZT0KYWNfY3ZfZW52X0xERkxBR1Nfc2V0PQphY19jdl9lbnZfTERGTEFH U192YWx1ZT0KYWNfY3ZfZW52X0xJQlNfc2V0PQphY19jdl9lbnZfTElCU192YWx1ZT0KYWNfY3Zf ZW52X2J1aWxkX2FsaWFzX3NldD0KYWNfY3ZfZW52X2J1aWxkX2FsaWFzX3ZhbHVlPQphY19jdl9l bnZfaG9zdF9hbGlhc19zZXQ9CmFjX2N2X2Vudl9ob3N0X2FsaWFzX3ZhbHVlPQphY19jdl9lbnZf dGFyZ2V0X2FsaWFzX3NldD0KYWNfY3ZfZW52X3RhcmdldF9hbGlhc192YWx1ZT0KYWNfY3ZfZnVu Y19FVlBfYWVzXzEyOF9jdHI9bm8KYWNfY3ZfZnVuY19hbGxvY2Ffd29ya3M9eWVzCmFjX2N2X2Z1 bmNfZ2V0dGltZW9mZGF5PXllcwphY19jdl9mdW5jX3BvbGw9eWVzCmFjX2N2X2Z1bmNfc2VsZWN0 PXllcwphY19jdl9mdW5jX3N0cnRvbGw9eWVzCmFjX2N2X2hlYWRlcl9hcnBhX2luZXRfaD15ZXMK YWNfY3ZfaGVhZGVyX2RsZmNuX2g9eWVzCmFjX2N2X2hlYWRlcl9lcnJub19oPXllcwphY19jdl9o ZWFkZXJfZmNudGxfaD15ZXMKYWNfY3ZfaGVhZGVyX2ludHR5cGVzX2g9eWVzCmFjX2N2X2hlYWRl cl9tZW1vcnlfaD15ZXMKYWNfY3ZfaGVhZGVyX25ldGluZXRfaW5faD15ZXMKYWNfY3ZfaGVhZGVy X3N0ZGM9eWVzCmFjX2N2X2hlYWRlcl9zdGRpbnRfaD15ZXMKYWNfY3ZfaGVhZGVyX3N0ZGlvX2g9 eWVzCmFjX2N2X2hlYWRlcl9zdGRsaWJfaD15ZXMKYWNfY3ZfaGVhZGVyX3N0cmluZ19oPXllcwph Y19jdl9oZWFkZXJfc3RyaW5nc19oPXllcwphY19jdl9oZWFkZXJfc3lzX2lvY3RsX2g9eWVzCmFj X2N2X2hlYWRlcl9zeXNfc2VsZWN0X2g9eWVzCmFjX2N2X2hlYWRlcl9zeXNfc29ja2V0X2g9eWVz CmFjX2N2X2hlYWRlcl9zeXNfc3RhdF9oPXllcwphY19jdl9oZWFkZXJfc3lzX3RpbWVfaD15ZXMK YWNfY3ZfaGVhZGVyX3N5c190eXBlc19oPXllcwphY19jdl9oZWFkZXJfc3lzX3Vpb19oPXllcwph Y19jdl9oZWFkZXJfc3lzX3VuX2g9eWVzCmFjX2N2X2hlYWRlcl91bmlzdGRfaD15ZXMKYWNfY3Zf aGVhZGVyX3dpbmRvd3NfaD1ubwphY19jdl9oZWFkZXJfd2luc29jazJfaD1ubwphY19jdl9oZWFk ZXJfd3MydGNwaXBfaD1ubwphY19jdl9ob3N0PXNwYXJjLXN1bi1zb2xhcmlzMi4xMAphY19jdl9s aWJzc2w9eWVzCmFjX2N2X2xpYno9eWVzCmFjX2N2X29iamV4dD1vCmFjX2N2X3BhdGhfRUdSRVA9 Jy91c3Ivc2Z3L2Jpbi9nZ3JlcCAtRScKYWNfY3ZfcGF0aF9GR1JFUD0nL3Vzci9zZncvYmluL2dn cmVwIC1GJwphY19jdl9wYXRoX0dSRVA9L3Vzci9zZncvYmluL2dncmVwCmFjX2N2X3BhdGhfU0VE PS91c3IvdWNiL3NlZAphY19jdl9wcm9nX0FXSz1uYXdrCmFjX2N2X3Byb2dfQ0M9Y2MKYWNfY3Zf cHJvZ19DUFA9J2NjIC1FJwphY19jdl9wcm9nX2FjX2N0X0FSPWFyCmFjX2N2X3Byb2dfYWNfY3Rf T0JKRFVNUD1vYmpkdW1wCmFjX2N2X3Byb2dfYWNfY3RfUkFOTElCPXJhbmxpYgphY19jdl9wcm9n X2FjX2N0X1NUUklQPXN0cmlwCmFjX2N2X3Byb2dfY2NfYzg5PQphY19jdl9wcm9nX2NjX2c9eWVz CmFjX2N2X3Byb2dfbWFrZV9tYWtlX3NldD15ZXMKYWNfY3Zfc2VhcmNoX2luZXRfYWRkcj0tbG5z bAphY19jdl9zZWFyY2hfc29ja2V0PS1sc29ja2V0CmFjX2N2X3N5c19maWxlX29mZnNldF9iaXRz PTY0CmFjX2N2X3N5c19sYXJnZWZpbGVfQ0M9bm8KYWNfY3ZfdHlwZV9sb25nX2xvbmc9eWVzCmFj X2N2X3dvcmtpbmdfYWxsb2NhX2g9eWVzCmFjbF9jdl9oYXJkY29kZV9kaXJlY3Q9bm8KYWNsX2N2 X2hhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWM9Jy1SJGxpYmRpcicKYWNsX2N2X2hhcmRjb2RlX2xp YmRpcl9zZXBhcmF0b3I9CmFjbF9jdl9oYXJkY29kZV9taW51c19MPW5vCmFjbF9jdl9saWJleHQ9 YQphY2xfY3ZfbGlibmFtZV9zcGVjPSdsaWIkbmFtZScKYWNsX2N2X2xpYnJhcnlfbmFtZXNfc3Bl Yz0nJGxpYm5hbWUkc2hyZXh0JwphY2xfY3ZfcGF0aF9MRD0vdXNyL3VjYi9sZAphY2xfY3ZfcHJv Z19nbnVfbGQ9bm8KYWNsX2N2X3JwYXRoPWRvbmUKYWNsX2N2X3NobGliZXh0PXNvCmFjbF9jdl93 bD0tV2wsCmFtX2N2X0NDX2RlcGVuZGVuY2llc19jb21waWxlcl90eXBlPW5vbmUKbHRfY3ZfZGVw bGlic19jaGVja19tZXRob2Q9cGFzc19hbGwKbHRfY3ZfZmlsZV9tYWdpY19jbWQ9JyRNQUdJQ19D TUQnCmx0X2N2X2ZpbGVfbWFnaWNfdGVzdF9maWxlPQpsdF9jdl9sZF9yZWxvYWRfZmxhZz0tcgps dF9jdl9ubV9pbnRlcmZhY2U9J0JTRCBubScKbHRfY3Zfb2JqZGlyPS5saWJzCmx0X2N2X3BhdGhf TEQ9L3Vzci91Y2IvbGQKbHRfY3ZfcGF0aF9OTT0nL3Vzci9jY3MvYmluL25tIC1wJwpsdF9jdl9w cm9nX2NvbXBpbGVyX2Nfbz15ZXMKbHRfY3ZfcHJvZ19jb21waWxlcl9waWNfd29ya3M9eWVzCmx0 X2N2X3Byb2dfY29tcGlsZXJfc3RhdGljX3dvcmtzPW5vCmx0X2N2X3Byb2dfZ251X2xkPW5vCmx0 X2N2X3N5c19nbG9iYWxfc3ltYm9sX3BpcGU9J3NlZCAtbiAtZSAnXCcncy9eLipbCSBdXChbQkRS VF1bQkRSVF0qXClbCSBdWwkgXSpcKFtfQS1aYS16XVtfQS1aYS16MC05XSpcKSQvXDEgXDIgXDIv cCdcJycnCmx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzPSdzZWQgLW4g LWUgJ1wnJ3MvXjogXChbXiBdKlwpICQvICB7XCJcMVwiLCAodm9pZCAqKSAwfSwvcCdcJycgLWUg J1wnJ3MvXltCRFJUXSogXChbXiBdKlwpIFwoW14gXSpcKSQvICB7IlwyIiwgKHZvaWQgKikgXCZc Mn0sL3AnXCcnJwpsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzc19saWJf cHJlZml4PSdzZWQgLW4gLWUgJ1wnJ3MvXjogXChbXiBdKlwpICQvICB7XCJcMVwiLCAodm9pZCAq KSAwfSwvcCdcJycgLWUgJ1wnJ3MvXltCRFJUXSogXChbXiBdKlwpIFwobGliW14gXSpcKSQvICB7 IlwyIiwgKHZvaWQgKikgXCZcMn0sL3AnXCcnIC1lICdcJydzL15bQkRSVF0qIFwoW14gXSpcKSBc KFteIF0qXCkkLyAgeyJsaWJcMiIsICh2b2lkICopIFwmXDJ9LC9wJ1wnJycKbHRfY3Zfc3lzX2ds b2JhbF9zeW1ib2xfdG9fY2RlY2w9J3NlZCAtbiAtZSAnXCcncy9eVCAuKiBcKC4qXCkkL2V4dGVy biBpbnQgXDEoKTsvcCdcJycgLWUgJ1wnJ3MvXltCRFJUXSogLiogXCguKlwpJC9leHRlcm4gY2hh ciBcMTsvcCdcJycnCmx0X2N2X3N5c19tYXhfY21kX2xlbj03ODYyNDAKCiMjIC0tLS0tLS0tLS0t LS0tLS0tICMjCiMjIE91dHB1dCB2YXJpYWJsZXMuICMjCiMjIC0tLS0tLS0tLS0tLS0tLS0tICMj CgpBQ0xPQ0FMPScke1NIRUxMfSAvb3B0L3NzaF90ZXN0L2lzaHdhci9zc2hfc291cmNlL2xpYnNz aDItMS4yLjYvbWlzc2luZyAtLXJ1biBhY2xvY2FsLTEuOScKQUxMT0NBPScnCkFNREVQQkFDS1NM QVNIPSdcJwpBTURFUF9GQUxTRT0nIycKQU1ERVBfVFJVRT0nJwpBTVRBUj0nJHtTSEVMTH0gL29w dC9zc2hfdGVzdC9pc2h3YXIvc3NoX3NvdXJjZS9saWJzc2gyLTEuMi42L21pc3NpbmcgLS1ydW4g dGFyJwpBUj0nYXInCkFTPSdhcycKQVVUT0NPTkY9JyR7U0hFTEx9IC9vcHQvc3NoX3Rlc3QvaXNo d2FyL3NzaF9zb3VyY2UvbGlic3NoMi0xLjIuNi9taXNzaW5nIC0tcnVuIGF1dG9jb25mJwpBVVRP SEVBREVSPScke1NIRUxMfSAvb3B0L3NzaF90ZXN0L2lzaHdhci9zc2hfc291cmNlL2xpYnNzaDIt MS4yLjYvbWlzc2luZyAtLXJ1biBhdXRvaGVhZGVyJwpBVVRPTUFLRT0nJHtTSEVMTH0gL29wdC9z c2hfdGVzdC9pc2h3YXIvc3NoX3NvdXJjZS9saWJzc2gyLTEuMi42L21pc3NpbmcgLS1ydW4gYXV0 b21ha2UtMS45JwpBV0s9J25hd2snCkNDPSdjYycKQ0NERVBNT0RFPSdkZXBtb2RlPW5vbmUnCkNG TEFHUz0nIC1nIC1nJwpDUFA9J2NjIC1FJwpDUFBGTEFHUz0nIC1ETElCU1NIMkRFQlVHJwpDWUdQ QVRIX1c9J2VjaG8nCkRFRlM9Jy1ESEFWRV9DT05GSUdfSCcKREVQRElSPScuZGVwcycKRExMVE9P TD0nZGxsdG9vbCcKRFNZTVVUSUw9JycKRFVNUEJJTj0nJwpFQ0hPX0M9JycKRUNIT19OPSctbicK RUNIT19UPScnCkVHUkVQPScvdXNyL3Nmdy9iaW4vZ2dyZXAgLUUnCkVYRUVYVD0nJwpGR1JFUD0n L3Vzci9zZncvYmluL2dncmVwIC1GJwpHUkVQPScvdXNyL3Nmdy9iaW4vZ2dyZXAnCkhBVkVfTElC R0NSWVBUPScnCkhBVkVfTElCU1NMPSd5ZXMnCkhBVkVfTElCWj0neWVzJwpJTlNUQUxMX0RBVEE9 JyR7SU5TVEFMTH0gLW0gNjQ0JwpJTlNUQUxMX1BST0dSQU09JyR7SU5TVEFMTH0nCklOU1RBTExf U0NSSVBUPScke0lOU1RBTEx9JwpJTlNUQUxMX1NUUklQX1BST0dSQU09JyR7U0hFTEx9ICQoaW5z dGFsbF9zaCkgLWMgLXMnCkxEPScvdXNyL3VjYi9sZCcKTERGTEFHUz0nJwpMSUJHQ1JZUFQ9JycK TElCR0NSWVBUX0ZBTFNFPScnCkxJQkdDUllQVF9QUkVGSVg9JycKTElCR0NSWVBUX1RSVUU9JyMn CkxJQk9CSlM9JycKTElCUz0nLWxuc2wgLWxzb2NrZXQgJwpMSUJTU0w9Jy1sc3NsIC1sY3J5cHRv JwpMSUJTU0xfUFJFRklYPScnCkxJQlRPT0w9JyQoU0hFTEwpICQodG9wX2J1aWxkZGlyKS9saWJ0 b29sJwpMSUJaPSctbHonCkxJQlpfUFJFRklYPScnCkxJUE89JycKTE5fUz0nbG4gLXMnCkxUTElC R0NSWVBUPScnCkxUTElCT0JKUz0nJwpMVExJQlNTTD0nLWxzc2wgLWxjcnlwdG8nCkxUTElCWj0n LWx6JwpNQUlOVD0nIycKTUFJTlRBSU5FUl9NT0RFX0ZBTFNFPScnCk1BSU5UQUlORVJfTU9ERV9U UlVFPScjJwpNQUtFSU5GTz0nJHtTSEVMTH0gL29wdC9zc2hfdGVzdC9pc2h3YXIvc3NoX3NvdXJj ZS9saWJzc2gyLTEuMi42L21pc3NpbmcgLS1ydW4gbWFrZWluZm8nCk5NPScvdXNyL2Njcy9iaW4v bm0gLXAnCk5NRURJVD0nJwpPQkpEVU1QPSdvYmpkdW1wJwpPQkpFWFQ9J28nCk9UT09MNjQ9JycK T1RPT0w9JycKUEFDS0FHRT0nbGlic3NoMicKUEFDS0FHRV9CVUdSRVBPUlQ9J2xpYnNzaDItZGV2 ZWxAY29vbC5oYXh4LnNlJwpQQUNLQUdFX05BTUU9J2xpYnNzaDInClBBQ0tBR0VfU1RSSU5HPSds aWJzc2gyIC0nClBBQ0tBR0VfVEFSTkFNRT0nbGlic3NoMicKUEFDS0FHRV9VUkw9JycKUEFDS0FH RV9WRVJTSU9OPSctJwpQQVRIX1NFUEFSQVRPUj0nOicKUkFOTElCPSdyYW5saWInClNFRD0nL3Vz ci91Y2Ivc2VkJwpTRVRfTUFLRT0nJwpTSEVMTD0nL2Jpbi9iYXNoJwpTU0hEPScnClNTSERfRkFM U0U9JycKU1NIRF9UUlVFPScjJwpTVFJJUD0nc3RyaXAnClZFUlNJT049JzEuMi42JwphY19jdF9D Qz0nJwphY19jdF9EVU1QQklOPScnCmFtX19mYXN0ZGVwQ0NfRkFMU0U9JycKYW1fX2Zhc3RkZXBD Q19UUlVFPScjJwphbV9faW5jbHVkZT0naW5jbHVkZScKYW1fX2xlYWRpbmdfZG90PScuJwphbV9f cXVvdGU9JycKYW1fX3Rhcj0nJHtBTVRBUn0gY2hvZiAtICIkJHRhcmRpciInCmFtX191bnRhcj0n JHtBTVRBUn0geGYgLScKYmluZGlyPScke2V4ZWNfcHJlZml4fS9iaW4nCmJ1aWxkPSdzcGFyYy1z dW4tc29sYXJpczIuMTAnCmJ1aWxkX2FsaWFzPScnCmJ1aWxkX2NwdT0nc3BhcmMnCmJ1aWxkX29z PSdzb2xhcmlzMi4xMCcKYnVpbGRfdmVuZG9yPSdzdW4nCmRhdGFkaXI9JyR7ZGF0YXJvb3RkaXJ9 JwpkYXRhcm9vdGRpcj0nJHtwcmVmaXh9L3NoYXJlJwpkb2NkaXI9JyR7ZGF0YXJvb3RkaXJ9L2Rv Yy8ke1BBQ0tBR0VfVEFSTkFNRX0nCmR2aWRpcj0nJHtkb2NkaXJ9JwpleGVjX3ByZWZpeD0nJHtw cmVmaXh9Jwpob3N0PSdzcGFyYy1zdW4tc29sYXJpczIuMTAnCmhvc3RfYWxpYXM9JycKaG9zdF9j cHU9J3NwYXJjJwpob3N0X29zPSdzb2xhcmlzMi4xMCcKaG9zdF92ZW5kb3I9J3N1bicKaHRtbGRp cj0nJHtkb2NkaXJ9JwppbmNsdWRlZGlyPScke3ByZWZpeH0vaW5jbHVkZScKaW5mb2Rpcj0nJHtk YXRhcm9vdGRpcn0vaW5mbycKaW5zdGFsbF9zaD0nL29wdC9zc2hfdGVzdC9pc2h3YXIvc3NoX3Nv dXJjZS9saWJzc2gyLTEuMi42L2luc3RhbGwtc2gnCmxpYmRpcj0nJHtleGVjX3ByZWZpeH0vbGli JwpsaWJleGVjZGlyPScke2V4ZWNfcHJlZml4fS9saWJleGVjJwpsb2NhbGVkaXI9JyR7ZGF0YXJv b3RkaXJ9L2xvY2FsZScKbG9jYWxzdGF0ZWRpcj0nJHtwcmVmaXh9L3ZhcicKbHRfRUNITz0nZWNo bycKbWFuZGlyPScke2RhdGFyb290ZGlyfS9tYW4nCm1rZGlyX3A9JyQoaW5zdGFsbF9zaCkgLWQn Cm9sZGluY2x1ZGVkaXI9Jy91c3IvaW5jbHVkZScKcGRmZGlyPScke2RvY2Rpcn0nCnByZWZpeD0n L29wdC9zc2gyLTEuMi42LWRlYnVnJwpwcm9ncmFtX3RyYW5zZm9ybV9uYW1lPSdzLHgseCwnCnBz ZGlyPScke2RvY2Rpcn0nCnNiaW5kaXI9JyR7ZXhlY19wcmVmaXh9L3NiaW4nCnNoYXJlZHN0YXRl ZGlyPScke3ByZWZpeH0vY29tJwpzeXNjb25mZGlyPScke3ByZWZpeH0vZXRjJwp0YXJnZXRfYWxp YXM9JycKCiMjIC0tLS0tLS0tLS0tICMjCiMjIGNvbmZkZWZzLmguICMjCiMjIC0tLS0tLS0tLS0t ICMjCgovKiBjb25mZGVmcy5oICovCiNkZWZpbmUgUEFDS0FHRV9OQU1FICJsaWJzc2gyIgojZGVm aW5lIFBBQ0tBR0VfVEFSTkFNRSAibGlic3NoMiIKI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIi0i CiNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImxpYnNzaDIgLSIKI2RlZmluZSBQQUNLQUdFX0JVR1JF UE9SVCAibGlic3NoMi1kZXZlbEBjb29sLmhheHguc2UiCiNkZWZpbmUgUEFDS0FHRV9VUkwgIiIK I2RlZmluZSBQQUNLQUdFICJsaWJzc2gyIgojZGVmaW5lIFZFUlNJT04gIjEuMi42IgojZGVmaW5l IFNURENfSEVBREVSUyAxCiNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCiNkZWZpbmUgSEFWRV9T WVNfU1RBVF9IIDEKI2RlZmluZSBIQVZFX1NURExJQl9IIDEKI2RlZmluZSBIQVZFX1NUUklOR19I IDEKI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCiNkZWZp bmUgSEFWRV9JTlRUWVBFU19IIDEKI2RlZmluZSBIQVZFX1NURElOVF9IIDEKI2RlZmluZSBIQVZF X1VOSVNURF9IIDEKI2RlZmluZSBIQVZFX0xPTkdMT05HIDEKI2RlZmluZSBORUVEX1JFRU5UUkFO VCAxCiNpZm5kZWYgX1JFRU5UUkFOVAojICBkZWZpbmUgX1JFRU5UUkFOVAojZW5kaWYKI2RlZmlu ZSBIQVZFX0RMRkNOX0ggMQojZGVmaW5lIExUX09CSkRJUiAiLmxpYnMvIgojZGVmaW5lIFdPUkRT X0JJR0VORElBTiAxCiNkZWZpbmUgX0ZJTEVfT0ZGU0VUX0JJVFMgNjQKI2RlZmluZSBIQVZFX0xJ QlNTTCAxCiNkZWZpbmUgSEFWRV9MSUJaIDEKI2RlZmluZSBMSUJTU0gyX0hBVkVfWkxJQiAxCiNk ZWZpbmUgTElCU1NIMl9ESF9HRVhfTkVXIDEKI2RlZmluZSBIQVZFX0VSUk5PX0ggMQojZGVmaW5l IEhBVkVfRkNOVExfSCAxCiNkZWZpbmUgSEFWRV9TVERJT19IIDEKI2RlZmluZSBIQVZFX1NURExJ Ql9IIDEKI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKI2RlZmluZSBIQVZFX1NZU19VSU9fSCAxCiNk ZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQojZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKI2Rl ZmluZSBIQVZFX1NZU19JT0NUTF9IIDEKI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQojZGVmaW5l IEhBVkVfQVJQQV9JTkVUX0ggMQojZGVmaW5lIEhBVkVfTkVUSU5FVF9JTl9IIDEKI2RlZmluZSBI QVZFX1NZU19VTl9IIDEKI2RlZmluZSBIQVZFX1BPTEwgMQojZGVmaW5lIEhBVkVfR0VUVElNRU9G REFZIDEKI2RlZmluZSBIQVZFX1NFTEVDVCAxCiNkZWZpbmUgSEFWRV9TVFJUT0xMIDEKI2RlZmlu ZSBIQVZFX0FMTE9DQV9IIDEKI2RlZmluZSBIQVZFX0FMTE9DQSAxCiNkZWZpbmUgSEFWRV9PX05P TkJMT0NLIDEKCmNvbmZpZ3VyZTogZXhpdCAwCg== --0015175cb83c0af5c3048a655842 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 --0015175cb83c0af5c3048a655842-- From libssh2-devel-bounces@cool.haxx.se Fri Jul 2 17:10:24 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o62FA7T3015654; Fri, 2 Jul 2010 17:10:19 +0200 Received: from shell.lmi.net (shell.lmi.net [66.117.140.246]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o62FA2Wg015196 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT) for ; Fri, 2 Jul 2010 17:10:04 +0200 Received: from rcom-software.com (75-101-82-95.dsl2st.lmi.net [75.101.82.95]) by shell.lmi.net (8.14.1/8.14.1) with ESMTP id o62F9tTc059223 for ; Fri, 2 Jul 2010 08:09:55 -0700 (PDT) Message-ID: <4C2E017A.346EE4B1@rcom-software.com> Date: Fri, 02 Jul 2010 08:10:50 -0700 From: Paul Romero Organization: RCOM Communications Software X-Mailer: Mozilla 4.77 [en] (Win95; U) X-Accept-Language: en,es,de-DE,fr-FR MIME-Version: 1.0 To: libssh2 development Subject: Re: libssh2: Ported to UC Linux ? References: <4C2CE7A7.DE5EEF53@rcom-software.com> <20100701193136.7348.qmail@stuge.se> <4C2D1E34.D4BEAC69@rcom-software.com> <20100702073540.17280.qmail@stuge.se> X-Scanned-By: MIMEDefang 2.37 X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Fri, 02 Jul 2010 17:10:24 +0200 (CEST) X-Greylist: Default is to whitelist mail, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Fri, 02 Jul 2010 17:10:05 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se Hi Peter: What you wrote seems clear to me. However, let me describe the host and target environment again to insure we understand each other. The GNL ELF tool chain is used to cross-compile the target executable, which includes the entire UC Linux OS, and the applications in the host environment. The executable is then converted into an S19 format file and downloaded to the target environment. The host is just an i686 Debian Linux system. The target is an M5249 Coldfire processor. The important target settings are as follows: ARCH=m68knommu CROSS_COMPILE=m68k-elf- Does this make sense to you ? Best Regards, Paul R. Peter Stuge wrote: > Hi Paul, > > Paul Romero wrote: > > First, thank you for the quick and detailed reply and be assured > > the difference between SSH and SASL is clear to me. > > Great! > > > Also, I must emphasize that my interest is in the SSH-2 component > > subset required to support SFTP rather than SSH. > > Ah, sorry for being a bit sloppy with terminology. These days SSH > version 1 is not in wide use anymore, so I tend to put SSH = SSH > version 2 always. libssh2 only supports SSH version 2. > > > I think the SASL version of libgcrypt meets the minimum libssh2 > > requirements, and that AES and RIJNDAEL are the same. > > That's correct. > > > Also, I assume that libssh2 can use DES and 3DES interchangeably. > > They are distinct algorithms, and SSH requires 3DES. Several > algorithms are OPTIONAL in the standard, including AES/RIJNDAEL, > although it is listed as RECOMMENDED and aes128-ctr, aes192-ctr and > aes256-ctr is likely to become REQUIRED in the future so I always > strongly recommend that they be included. > > > It appears most SFTP implementations also use the following: > > Diffie Hellman-SHA1, Blowfish, Twofish, HMAC-SHA1 and HMAC-MD5. > > Do you think that is correct ? > > DH-SHA1 and HMAC-SHA1 are also REQUIRED, the others are optional. SSH > handles negotiation at connect time to the prefered algorithms > supported by both client and server. > > > The reason I mentioned SASL is the version GSASL I am using came with > > a version of libgcrypt. However, I am not sure if libgcrypt is part > > of the GSASL package or it came from elsewhere. > > libgcrypt is always it's own package. Good news. > > > In any case, assuming a version of libgcrypt that supplies what > > libssh2 needs is found, libssh2 and libgcrypt can easily be linked > > together. Is that correct ? > > Yes, you select if you want to use libgcrypt or OpenSSL when you run > configure for libssh2. > > > You seem to suggest that compiling libssh2 requires modern automake > > capabilities. > > I don't think it does actually, and even if it did, I wanted to point > out that it's not a problem, since autotools are not a part of the > toolchain and could thus be updated to the very latest version > without problems, should that be required. > > > Using a newer version of the GNU ELF Toolchain may solve that > > problem for me--cross compilers etc. But, migrating to a newer > > UC Linux version is not an option. Would this be a barrier to using > > libssh2 ? > > No. As long as you have a working GNU toolchain for your target and > a sane /bin/sh then you will be fine. > > > (i.e. I am sure the GNU toolchain I am using does not have modern > > automake capabilities.) > > Again, please don't connect those two. autotools (slang for > autoconf+automake) is independent, only ever required natively on the > host machine, and actually you don't need it unless you want to try > to build libssh2 with your own source code modifications. > > > Note that the UC Linux Makefile scheme, and where and how > > libraries are linked is quite different than in standard Linux. > > The binaries and libraries, which is what matters for libssh2, are > quite likely built using totally standard cross-compiler techniques, > since you have a GNU toolchain. That's really the only point that > matters. > > > In addition there are differences in how forking and exits work > > despite the fact the kernel API is the same. > > True! However libssh2 never forks, so no issue. > > > Most of the "porting" I mentioned consists of creating Makefiles > > that fit within the UC Linux scheme which is not a huge effort but > > certainly not trivial. > > I don't know what these special Makefiles are that you mention, and I > believe that you can simply cross-compile libssh2 using your > toolchain for this target, in the standard way. > > Make sure the toolchain programs are included in your PATH, and use > the --host=tuple parameter when configuring libssh2. Substitute tuple > with the prefix for your toolchain, so if your toolchain provides > m68k-elf-gcc, then run configure --host=m68k-elf and include the > library paths needed. > > I recently described how I successfuly cross-compiled libssh2 for > Windows and you can use the same procedure if you substitute my > i686-mingw32 for m68k-elf or the appropriate prefix, and of course > the paths to where your libraries and headers are. > > http://www.libssh2.org/mail/libssh2-devel-archive-2010-06/0155.shtml > > //Peter > _______________________________________________ > libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel -- Paul Romero RCOM Communications Software Phone/Fax: (510)339-2628 E-Mail: paulr@rcom-software.com _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel From libssh2-devel-bounces@cool.haxx.se Fri Jul 2 19:01:21 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o62H15uM029167; Fri, 2 Jul 2010 19:01:19 +0200 Received: from giant.haxx.se (dast@giant.haxx.se [80.67.6.50]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o62H13J3029142 for ; Fri, 2 Jul 2010 19:01:03 +0200 Date: Fri, 2 Jul 2010 19:01:03 +0200 (CEST) From: Daniel Stenberg X-X-Sender: dast@giant.haxx.se To: libssh2 development Subject: Re: libssh2: Ported to UC Linux ? + DETAIL +MORE In-Reply-To: <4C2D8AF5.22DA6214@rcom-software.com> Message-ID: References: <4C2CE7A7.DE5EEF53@rcom-software.com> <20100701193136.7348.qmail@stuge.se> <4C2D8AF5.22DA6214@rcom-software.com> User-Agent: Alpine 2.00 (DEB 1167 2008-08-23) X-fromdanielhimself: yes MIME-Version: 1.0 X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Fri, 02 Jul 2010 19:01:21 +0200 (CEST) X-Greylist: Default is to whitelist mail, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Fri, 02 Jul 2010 19:01:03 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="us-ascii"; Format="flowed" Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se On Thu, 1 Jul 2010, Paul Romero wrote: > Perhaps, it would be useful to you if I clarify the host and target > environments. Peter has repeatedly said that it works, and I would agree with that. uclinux or "regular" Linux makes no difference to libssh2. Now I think you can stop asking and proceed to make it happen instead and try it out yourself! If you want libssh2 integrated into the uclinux build system, you must of course fiddle somewhat on your own but you could easily find inspiration for other existing bundled libraries on how to do that. -- / daniel.haxx.se _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel From libssh2-devel-bounces@cool.haxx.se Fri Jul 2 22:54:02 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o62KrdEA013137; Fri, 2 Jul 2010 22:53:57 +0200 Received: from shell.lmi.net (shell.lmi.net [66.117.140.246]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o62KrZhO013134 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT) for ; Fri, 2 Jul 2010 22:53:37 +0200 Received: from rcom-software.com (75-101-82-95.dsl2st.lmi.net [75.101.82.95]) by shell.lmi.net (8.14.1/8.14.1) with ESMTP id o62KrTox069914 for ; Fri, 2 Jul 2010 13:53:30 -0700 (PDT) Message-ID: <4C2E5201.897B335F@rcom-software.com> Date: Fri, 02 Jul 2010 13:54:25 -0700 From: Paul Romero Organization: RCOM Communications Software X-Mailer: Mozilla 4.77 [en] (Win95; U) X-Accept-Language: en,es,de-DE,fr-FR MIME-Version: 1.0 To: libssh2 development Subject: Re: libssh2: Ported to UC Linux ? + DETAIL +MORE References: <4C2CE7A7.DE5EEF53@rcom-software.com> <20100701193136.7348.qmail@stuge.se> <4C2D8AF5.22DA6214@rcom-software.com> X-Scanned-By: MIMEDefang 2.37 X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Fri, 02 Jul 2010 22:54:02 +0200 (CEST) X-Greylist: Default is to whitelist mail, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Fri, 02 Jul 2010 22:53:38 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se Hi Daniel: I believe what Peter has written is true and that libssh2 can be compiled in my cross-compiling environment. The questions and additional information I sent him were just intended to verify that he understands my environment rather than to question the accuracy of his statements. I intend to try compiling the code in my environment but would like to avoid wasting time trying things that are known not to work. Best Regards, Paul R. Daniel Stenberg wrote: > On Thu, 1 Jul 2010, Paul Romero wrote: > > > Perhaps, it would be useful to you if I clarify the host and target > > environments. > > Peter has repeatedly said that it works, and I would agree with that. uclinux > or "regular" Linux makes no difference to libssh2. > > Now I think you can stop asking and proceed to make it happen instead and try > it out yourself! > > If you want libssh2 integrated into the uclinux build system, you must of > course fiddle somewhat on your own but you could easily find inspiration for > other existing bundled libraries on how to do that. > > -- > > / daniel.haxx.se > _______________________________________________ > libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel -- Paul Romero RCOM Communications Software Phone/Fax: (510)339-2628 E-Mail: paulr@rcom-software.com _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel From libssh2-devel-bounces@cool.haxx.se Fri Jul 2 23:57:17 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o62Lv8uZ011648; Fri, 2 Jul 2010 23:57:16 +0200 Received: from foo.birdnet.se (qmailr@foo.birdnet.se [213.88.146.6]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with SMTP id o62Lv7Oq011640 for ; Fri, 2 Jul 2010 23:57:07 +0200 Received: (qmail 5381 invoked by uid 501); 2 Jul 2010 21:57:02 -0000 Message-ID: <20100702215702.5380.qmail@stuge.se> Date: Fri, 2 Jul 2010 23:57:02 +0200 From: Peter Stuge To: libssh2-devel@cool.haxx.se Subject: Re: libssh2: Ported to UC Linux ? Mail-Followup-To: libssh2-devel@cool.haxx.se References: <4C2CE7A7.DE5EEF53@rcom-software.com> <20100701193136.7348.qmail@stuge.se> <4C2D1E34.D4BEAC69@rcom-software.com> <20100702073540.17280.qmail@stuge.se> <4C2E017A.346EE4B1@rcom-software.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <4C2E017A.346EE4B1@rcom-software.com> X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Fri, 02 Jul 2010 23:57:17 +0200 (CEST) X-Greylist: Default is to whitelist mail, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Fri, 02 Jul 2010 23:57:07 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se Hi, Paul Romero wrote: > What you wrote seems clear to me. However, let me describe > the host and target environment again to insure we understand > each other. I don't know if we need to. :) I described a general recipe for how to cross-compile libssh2 so that you could do it regardless of your platform. I guessed at the particular tuple, and it even turned out to be what you are using. > The important target settings are as follows: > > ARCH=m68knommu > CROSS_COMPILE=m68k-elf- > > Does this make sense to you ? See the email I wrote before: > > Make sure the toolchain programs are included in your PATH, and use > > the --host=tuple parameter when configuring libssh2. Substitute tuple > > with the prefix for your toolchain, so if your toolchain provides > > m68k-elf-gcc, then run configure --host=m68k-elf and include the > > library paths needed. You should use exactly the host tuple I wrote in the last mail, make sure to not include the trailing - that you included in the CROSS_COMPILE variable above. Good luck! Please report your progress. //Peter _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel From libssh2-devel-bounces@cool.haxx.se Sat Jul 3 01:54:47 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o62NsTcP004094; Sat, 3 Jul 2010 01:54:44 +0200 Received: from mail-bw0-f54.google.com (mail-bw0-f54.google.com [209.85.214.54]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o62NsRff004037 for ; Sat, 3 Jul 2010 01:54:27 +0200 Received: by bwz12 with SMTP id 12so2485520bwz.41 for ; Fri, 02 Jul 2010 16:54:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:in-reply-to :references:date:message-id:subject:from:to:content-type; bh=r3hvZpZuuOCOVKZ2pIbSxQmVN06jlBkQeXRaNmRVFEc=; b=ushcKuGtGIh+jJ7yBEPqDXSTIIm48sJllLGAvYRXNFsluCI1fdwkvHx/UnZ2rUiyc1 8misHOESQaOdhmPAG/xRGu/Uj9ypHpu5CKranYplLvJ7yz/my8JSnyGMouqxZ2k1ZFGF tjTwG+75njRNQR8L4QfJulj6BOslqgLMvAIHM= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; b=bFCyDC5RkiMVBeRIL5WSYKbtvjClnI6fXPnIScMP9Em8+qZYIFOQMquzomlPO7VL8A bWYgVDvcMX1j75SDOzCvmD3yQg02CI3Ox35dVnaqzmCNeBUmq28sNpLWhFwIrlcxK9or ESwsCpodOG4+X0Hf9iQyqUlKHTPZEkzNY3QA4= MIME-Version: 1.0 Received: by 10.204.1.139 with SMTP id 11mr1177497bkf.174.1278114862770; Fri, 02 Jul 2010 16:54:22 -0700 (PDT) Received: by 10.204.117.65 with HTTP; Fri, 2 Jul 2010 16:54:22 -0700 (PDT) In-Reply-To: References: Date: Sat, 3 Jul 2010 02:54:22 +0300 Message-ID: Subject: Re: help in understanding _direct_tcpip_ex() From: Dor Zaidenberg To: libssh2-devel@cool.haxx.se X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Sat, 03 Jul 2010 01:54:47 +0200 (CEST) X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Sat, 03 Jul 2010 01:54:27 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: multipart/mixed; boundary="===============1066199874==" Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se --===============1066199874== Content-Type: multipart/alternative; boundary=00151750e9be60a8e7048a704e73 --00151750e9be60a8e7048a704e73 Content-Type: text/plain; charset=ISO-8859-1 Peter thank you for your swift reply, sorry it took me such a long time to answer I joined on digest mode and I did not find a way to reply to your message I am no more registered on digest so things should work much better from now on... >"No, since then you would require a tunnel in the other direction, a >so-called "forwarded-tcpip" tunnel, going from the remote server to >your local machine. >That is a different type of channel from "direct-tcpip" and it is >currently not implemented in libssh2. " Ok.... , assuming I have complete control on the remote server I wish to connect to, is there any action I can perform on that remote server, on the system level, that will make this tunnel working? >"Part of the reason may be that this type of tunnel (forwarded-tcpip) >requires libssh2 to dynamically create channels, based on nothing but >packets from the remote host. This does not fit so well with how >libssh2 was designed. > >That said, I think it would be great if libssh2 also supported >forwarded-tcpip channels, so please look into adding it! :)" I am considering this, but honestly I cant afford to invest a long period of work on this matter Can you give provide me with a focus on the pieces of code need to be changed and an exlanation of what I need to do or a link to a good place that will explain? If the scope of work for adding this capability is 2-3 days I will do it. I would much appriciate if you could provide me with a focus and some guidlines of what I need to do. 10x in advance Dor On Thu, Jul 1, 2010 at 2:55 PM, Dor Zaidenberg wrote: > Dear all. > > I am trying to use libssh2_channel_direct_tcpip_ex in order to establish a > tunnel between the localmachine and a server. To this end I am working with > the direct_tcpip exmaple (both local machine and remote server use linux) > > I figured this is going to be very simple. > What I tried is : > ./direct_tcpip 127.0.0.1 80 localhost 20000 > I hoped this will tunnel the my local machine's port 80 to the remote host > at port 20000. > Then at the remote server I will type : > curl http://localhost:20000/test.php and it will be as if I connected to > the local machine. > > Unfortionatly I got an error message (which is related to the 127.0.0.1 80) > saying "bind : address already in use" > > I take it that this is because the apache server on my local machine > listens to port 80, but isn't that the point of tunneling? > > I am sure that I am missing something very basic (and stupid) in this, can > someone show me the light ? > > my end goal is not to tunnel port 80, but to tunnel port 554 which is used > for rtsp protocol but its easy to test with port 80 > > -- > Live Long And Prosper > Dor Zaidenberg > -- Live Long And Prosper Dor Zaidenberg --00151750e9be60a8e7048a704e73 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable
Peter
=A0
thank you for your swift reply, sorry it took me such a long time to a= nswer
I joined on digest mode and I did not find a way to reply to your mess= age
I am no more registered on digest so things should work much better fr= om now on...
=A0
>"No, since then you would require a tunnel in the other direc= tion, a
>so-called "forwarded-tcpip" tunnel, going from th= e remote server to
>your local machine.
>That is a different = type of channel from "direct-tcpip" and it is
>currently not implemented in libssh2. "
Ok.... , assuming I have complete control on the remote server I wish = to connect to, is there any action I can perform on that remote server, on = the system level, that will make this tunnel working?
=A0
>"Part of the reason may be that this type of tunnel (forwarde= d-tcpip)
>requires libssh2 to dynamically create channels, based on = nothing but
>packets from the remote host. This does not fit so well= with how
>libssh2 was designed.
>
>That said, I think it would be great if libssh2 also supported >forwarded-tcpip channels, so please look into adding it! :)"
=
I am considering this, but honestly I cant afford to invest a long per= iod of work on this matter
Can you give provide me with a focus on the pieces of code need to be = changed and an exlanation of what I need to do
or a link to a good place that will explain?
If the scope of work for adding this capability is 2-3 days I will do = it.
I would much appriciate if you could provide me with a focus and some = guidlines of what I need to do.
=A0
10x in advance Dor
On Thu, Jul 1, 2010 at 2:55 PM, Dor Zaidenberg <= span dir=3D"ltr"><hannibal218@g= mail.com> wrote:
Dear all.=20

I am trying to use libssh2_channel_direct_tcpip_ex in order to establi= sh a tunnel between the localmachine and a server. To this end I am working= with the direct_tcpip exmaple (both local machine and remote server use li= nux)

I figured this is going to be very simple.
What I tried is :=A0
./direct_tcpip <server_ip> <user> <pwd> 127.0.0.1 80= localhost 20000
I hoped this will tunnel the my local machine's port 80 to the rem= ote host at port 20000.
Then at the remote server I will type :
curl htt= p://localhost:20000/test.php and it will be as if I connected to the lo= cal machine.

Unfortionatly I got an error message (which is related to the 127.0.0.= 1 80) saying "bind : address already in use"

I take it that this is because the apache server on my local machine l= istens to port 80, but isn't that the point of tunneling?

I am sure that I am missing something very basic (and stupid) in this,= can someone show me the light ?

my end goal is not to tunnel port 80, but to tunnel port 554 which is = used for rtsp protocol but its easy to test with port 80

--
Live Long And Prosper
Dor Zaidenberg



--
Live Long And Prosper
Dor Za= idenberg
--00151750e9be60a8e7048a704e73-- --===============1066199874== 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 --===============1066199874==-- From libssh2-devel-bounces@cool.haxx.se Sat Jul 3 19:17:37 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o63HHIH6006006; Sat, 3 Jul 2010 19:17:33 +0200 Received: from shell.lmi.net (shell.lmi.net [66.117.140.246]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o63HHERx006001 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT) for ; Sat, 3 Jul 2010 19:17:17 +0200 Received: from rcom-software.com (75-101-82-95.dsl2st.lmi.net [75.101.82.95]) by shell.lmi.net (8.14.1/8.14.1) with ESMTP id o63HH6wd003834 for ; Sat, 3 Jul 2010 10:17:10 -0700 (PDT) Message-ID: <4C2F70CA.C9E4A2C@rcom-software.com> Date: Sat, 03 Jul 2010 10:18:02 -0700 From: Paul Romero Organization: RCOM Communications Software X-Mailer: Mozilla 4.77 [en] (Win95; U) X-Accept-Language: en,es,de-DE,fr-FR MIME-Version: 1.0 To: libssh2 development Subject: Re: libssh2: Ported to UC Linux ? References: <4C2CE7A7.DE5EEF53@rcom-software.com> <20100701193136.7348.qmail@stuge.se> <4C2D1E34.D4BEAC69@rcom-software.com> <20100702073540.17280.qmail@stuge.se> <4C2E017A.346EE4B1@rcom-software.com> <20100702215702.5380.qmail@stuge.se> X-Scanned-By: MIMEDefang 2.37 X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Sat, 03 Jul 2010 19:17:37 +0200 (CEST) X-Greylist: Default is to whitelist mail, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Sat, 03 Jul 2010 19:17:17 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se Hi Peter: Thank you for the clarification. I am now confident I understand what you wrote in your previous E-Mail messages. Incidentally, the libssh2 package compiles without problems in the Debian Linux environment. Best Regards, Paul R. Peter Stuge wrote: > Hi, > > Paul Romero wrote: > > What you wrote seems clear to me. However, let me describe > > the host and target environment again to insure we understand > > each other. > > I don't know if we need to. :) I described a general recipe for how > to cross-compile libssh2 so that you could do it regardless of your > platform. I guessed at the particular tuple, and it even turned out > to be what you are using. > > > The important target settings are as follows: > > > > ARCH=m68knommu > > CROSS_COMPILE=m68k-elf- > > > > Does this make sense to you ? > > See the email I wrote before: > > > > Make sure the toolchain programs are included in your PATH, and use > > > the --host=tuple parameter when configuring libssh2. Substitute tuple > > > with the prefix for your toolchain, so if your toolchain provides > > > m68k-elf-gcc, then run configure --host=m68k-elf and include the > > > library paths needed. > > You should use exactly the host tuple I wrote in the last mail, make > sure to not include the trailing - that you included in the > CROSS_COMPILE variable above. > > Good luck! Please report your progress. > > //Peter > _______________________________________________ > libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel -- Paul Romero RCOM Communications Software Phone/Fax: (510)339-2628 E-Mail: paulr@rcom-software.com _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel From libssh2-devel-bounces@cool.haxx.se Sun Jul 4 11:55:31 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o649tBWP004345; Sun, 4 Jul 2010 11:55:27 +0200 Received: from foo.birdnet.se (qmailr@foo.birdnet.se [213.88.146.6]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with SMTP id o649t9MZ004342 for ; Sun, 4 Jul 2010 11:55:09 +0200 Received: (qmail 14703 invoked by uid 501); 4 Jul 2010 09:55:07 -0000 Message-ID: <20100704095507.14702.qmail@stuge.se> Date: Sun, 4 Jul 2010 11:55:06 +0200 From: Peter Stuge To: libssh2-devel@cool.haxx.se Subject: Re: help in understanding _direct_tcpip_ex() Mail-Followup-To: libssh2-devel@cool.haxx.se References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Sun, 04 Jul 2010 11:55:31 +0200 (CEST) X-Greylist: Default is to whitelist mail, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Sun, 04 Jul 2010 11:55:09 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se Hi Dor, Dor Zaidenberg wrote: > I am no more registered on digest so things should work much better > from now on... Okey. No problem, I don't always have a chance to reply immediately either. > >"No, since then you would require a tunnel in the other direction, a > >so-called "forwarded-tcpip" tunnel, going from the remote server to > >your local machine. > >That is a different type of channel from "direct-tcpip" and it is > >currently not implemented in libssh2. " > > Ok.... , assuming I have complete control on the remote server I wish > to connect to, is there any action I can perform on that remote > server, on the system level, that will make this tunnel working? No, the lack of support would only be in libssh2. All servers already support forwarded-tcpip, but I thought libssh2 didn't.. > >"Part of the reason may be that this type of tunnel (forwarded-tcpip) > >requires libssh2 to dynamically create channels, based on nothing but > >packets from the remote host. This does not fit so well with how > >libssh2 was designed. > > > >That said, I think it would be great if libssh2 also supported > >forwarded-tcpip channels, so please look into adding it! :)" > > I am considering this, but honestly I cant afford to invest a long > period of work on this matter > Can you give provide me with a focus on the pieces of code need to be > changed and an exlanation of what I need to do or a link to a good > place that will explain? ..ehh - I just discovered that I'm completely wrong! libssh2 *does* support also forwarded-tcpip tunnels, through the libssh2_channel_forward_* API. I'm very sorry for the confusion! Please check out the man pages for how to use it. It's similar to regular sockets. First call _listen(), then _accept(). Wow, I'm sorry about this confusion. If you want to write an example that would be great. If not, I might take a stab at it, but please don't wait for me to do it, it may take a while. //Peter _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel From libssh2-devel-bounces@cool.haxx.se Sun Jul 4 14:32:01 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o64CV86s024401; Sun, 4 Jul 2010 14:31:19 +0200 Received: from yxa-v.extundo.com (yxa-v.extundo.com [83.241.177.39]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o64CV4LI024384 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT) for ; Sun, 4 Jul 2010 14:31:05 +0200 Received: from mocca (c80-216-27-64.bredband.comhem.se [80.216.27.64]) (authenticated bits=0) by yxa-v.extundo.com (8.14.3/8.14.3/Debian-5+lenny1) with ESMTP id o64CUlI5010070 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NOT) for ; Sun, 4 Jul 2010 14:30:54 +0200 From: Simon Josefsson To: libssh2 development Subject: Re: libssh2: Ported to UC Linux ? References: <4C2CE7A7.DE5EEF53@rcom-software.com> OpenPGP: id=B565716F; url=http://josefsson.org/key.txt X-Hashcash: 1:22:100704:libssh2-devel@cool.haxx.se::UufsPDdExbo7vRJR:63I3 Date: Sun, 04 Jul 2010 14:30:46 +0200 In-Reply-To: <4C2CE7A7.DE5EEF53@rcom-software.com> (Paul Romero's message of "Thu, 01 Jul 2010 12:08:23 -0700") Message-ID: <87pqz3e8eh.fsf@mocca.josefsson.org> User-Agent: Gnus/5.110011 (No Gnus v0.11) Emacs/23.1 (gnu/linux) MIME-Version: 1.0 X-Spam-Status: No, score=-0.8 required=5.0 tests=AWL,BAYES_00, DATE_IN_FUTURE_96_XX,RDNS_DYNAMIC,SPF_FAIL autolearn=no version=3.2.5 X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on yxa-v.extundo.com X-Virus-Scanned: clamav-milter 0.96.1 at yxa-v X-Virus-Status: Clean X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Sun, 04 Jul 2010 14:32:01 +0200 (CEST) X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Sun, 04 Jul 2010 14:31:06 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se Paul, what Peter and Daniel has said so far should have answered all your questions, but let me add some more things for clarity. Libssh2 has not been ported to uClinux in the sense that libssh2 provides the integration glue to make it part of a normal uClinux build environment (i.e., make menuconfig + dep + all). Doing so should be relatively easy, and as you know I have posted recipes on this available from http://josefsson.org/uclinux/ for a bunch of projects already, and it should be very easy to adapt for example the gnutls or gsasl recipes (which depends on libgpg-error + libgcrypt, like libssh2 does) for libssh2 as well. Fortunately, libssh2 does not require anything more than what GNU SASL or GnuTLS requires from Libgcrypt: SSH2 uses standard crypto algorithms like MD5, SHA1, HMAC, AES, RSA and DSA. /Simon _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel From libssh2-devel-bounces@cool.haxx.se Sun Jul 4 16:39:01 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o64Echle000466; Sun, 4 Jul 2010 16:38:58 +0200 Received: from shell.lmi.net (shell.lmi.net [66.117.140.246]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o64EcdWV000395 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT) for ; Sun, 4 Jul 2010 16:38:41 +0200 Received: from rcom-software.com (75-101-82-95.dsl2st.lmi.net [75.101.82.95]) by shell.lmi.net (8.14.1/8.14.1) with ESMTP id o64EcZfa035242 for ; Sun, 4 Jul 2010 07:38:35 -0700 (PDT) Message-ID: <4C309D23.2561ED9B@rcom-software.com> Date: Sun, 04 Jul 2010 07:39:31 -0700 From: Paul Romero Organization: RCOM Communications Software X-Mailer: Mozilla 4.77 [en] (Win95; U) X-Accept-Language: en,es,de-DE,fr-FR MIME-Version: 1.0 To: libssh2 development Subject: Re: libssh2: Ported to UC Linux ? References: <4C2CE7A7.DE5EEF53@rcom-software.com> <87pqz3e8eh.fsf@mocca.josefsson.org> X-Scanned-By: MIMEDefang 2.37 X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Sun, 04 Jul 2010 16:39:01 +0200 (CEST) X-Greylist: Default is to whitelist mail, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Sun, 04 Jul 2010 16:38:42 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se Hi Simon: Thank you for answering my questions so thoroughly, and I complement you on the clarity of the UC Linux porting menus on your website. What versions of libgcrypt and the the standard GSASL libraries do you consider most stable ? I am particularly curious about libgnutls and those parts related to TLS. Best Regards, Paul R. Simon Josefsson wrote: > Paul, what Peter and Daniel has said so far should have answered all > your questions, but let me add some more things for clarity. > > Libssh2 has not been ported to uClinux in the sense that libssh2 > provides the integration glue to make it part of a normal uClinux build > environment (i.e., make menuconfig + dep + all). Doing so should be > relatively easy, and as you know I have posted recipes on this available > from http://josefsson.org/uclinux/ for a bunch of projects already, and > it should be very easy to adapt for example the gnutls or gsasl recipes > (which depends on libgpg-error + libgcrypt, like libssh2 does) for > libssh2 as well. > > Fortunately, libssh2 does not require anything more than what GNU SASL > or GnuTLS requires from Libgcrypt: SSH2 uses standard crypto algorithms > like MD5, SHA1, HMAC, AES, RSA and DSA. > > /Simon > _______________________________________________ > libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel -- Paul Romero RCOM Communications Software Phone/Fax: (510)339-2628 E-Mail: paulr@rcom-software.com _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel From libssh2-devel-bounces@cool.haxx.se Sun Jul 4 16:49:25 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o64EnJma008373; Sun, 4 Jul 2010 16:49:24 +0200 Received: from yxa-v.extundo.com (yxa-v.extundo.com [83.241.177.39]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o64EnHcS008363 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT) for ; Sun, 4 Jul 2010 16:49:18 +0200 Received: from mocca (c80-216-27-64.bredband.comhem.se [80.216.27.64]) (authenticated bits=0) by yxa-v.extundo.com (8.14.3/8.14.3/Debian-5+lenny1) with ESMTP id o64En8aa017857 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NOT) for ; Sun, 4 Jul 2010 16:49:11 +0200 From: Simon Josefsson To: libssh2 development Subject: Re: libssh2: Ported to UC Linux ? References: <4C2CE7A7.DE5EEF53@rcom-software.com> <87pqz3e8eh.fsf@mocca.josefsson.org> <4C309D23.2561ED9B@rcom-software.com> OpenPGP: id=B565716F; url=http://josefsson.org/key.txt X-Hashcash: 1:22:100704:libssh2-devel@cool.haxx.se::QzH1UQYSgGQ1Mv91:SL/ Date: Sun, 04 Jul 2010 16:49:06 +0200 In-Reply-To: <4C309D23.2561ED9B@rcom-software.com> (Paul Romero's message of "Sun, 04 Jul 2010 07:39:31 -0700") Message-ID: <87wrtbb8v1.fsf@mocca.josefsson.org> User-Agent: Gnus/5.110011 (No Gnus v0.11) Emacs/23.1 (gnu/linux) MIME-Version: 1.0 X-Spam-Status: No, score=-0.8 required=5.0 tests=AWL,BAYES_00, DATE_IN_FUTURE_96_XX,RDNS_DYNAMIC,SPF_FAIL autolearn=no version=3.2.5 X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on yxa-v.extundo.com X-Virus-Scanned: clamav-milter 0.96.1 at yxa-v X-Virus-Status: Clean X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Sun, 04 Jul 2010 16:49:25 +0200 (CEST) X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Sun, 04 Jul 2010 16:49:18 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se Paul Romero writes: > Hi Simon: > > Thank you for answering my questions so thoroughly, and I complement > you on the clarity of the UC Linux porting menus on your website. > What versions of libgcrypt and the the standard GSASL libraries > do you consider most stable ? I am particularly curious about > libgnutls and those parts related to TLS. The safest bet (both for libssh2 and generally) is to use libgpg-error 1.8 (you may need to provide --enable-static since they disabled it by default) and libgcrypt 1.4.5. GnuTLS 2.8.6 is stable, as is GNU SASL 1.4.4. If you need recent TLS renego stuff, you may want to try just released GnuTLS 2.10.0 but I wouldn't label it stable at this point. /Simon > Best Regards, > > Paul R. > > > Simon Josefsson wrote: > >> Paul, what Peter and Daniel has said so far should have answered all >> your questions, but let me add some more things for clarity. >> >> Libssh2 has not been ported to uClinux in the sense that libssh2 >> provides the integration glue to make it part of a normal uClinux build >> environment (i.e., make menuconfig + dep + all). Doing so should be >> relatively easy, and as you know I have posted recipes on this available >> from http://josefsson.org/uclinux/ for a bunch of projects already, and >> it should be very easy to adapt for example the gnutls or gsasl recipes >> (which depends on libgpg-error + libgcrypt, like libssh2 does) for >> libssh2 as well. >> >> Fortunately, libssh2 does not require anything more than what GNU SASL >> or GnuTLS requires from Libgcrypt: SSH2 uses standard crypto algorithms >> like MD5, SHA1, HMAC, AES, RSA and DSA. >> >> /Simon >> _______________________________________________ >> libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel > > -- > Paul Romero > > RCOM Communications Software > > Phone/Fax: (510)339-2628 > E-Mail: paulr@rcom-software.com > > > _______________________________________________ > libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel From libssh2-devel-bounces@cool.haxx.se Tue Jul 6 10:45:21 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o668ivBx017106; Tue, 6 Jul 2010 10:45:16 +0200 Received: from mail-iw0-f182.google.com (mail-iw0-f182.google.com [209.85.214.182]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o668itfJ017058 for ; Tue, 6 Jul 2010 10:44:56 +0200 Received: by iwn35 with SMTP id 35so5784215iwn.41 for ; Tue, 06 Jul 2010 01:44:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:mime-version:received:from:date :message-id:subject:to:content-type; bh=OqE1GASoW5NGy3AtgCdbuP5P2YX1BvGZeGA7AOr1keM=; b=Q1lqMzDY95VItR894XP/ASKf6kwFaNvybbVjAfPGHUQrnvb7xV8gL0EXSddFGEn7bq qw9EKFk32CjYZVwdvi5EqnZpiNkvxkk95q29EZw3+Fhd1cgrToQuOwa8xigeZ1m7D42r N7ytI1D6Mlg/x4crKFYXgOyzk/KbXNhvqye2A= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:from:date:message-id:subject:to:content-type; b=MPwq1ytPNIeJ7ppeixf8FYBg25nFYh3yAoVup1bAAsglinjF1PLXqSbd/vV5IKGHBg tERPsX8cDRHShPAKmDemDy4KxyUVVfWvkn5GoDJEihfiONK+ddkVqpvf4eMPzcX9hfZF kP2q6LCxu8KZFcfxw82sjgrkZ/JCPhl5+qWNY= Received: by 10.231.30.130 with SMTP id u2mr3500110ibc.111.1278405892412; Tue, 06 Jul 2010 01:44:52 -0700 (PDT) MIME-Version: 1.0 Received: by 10.231.158.18 with HTTP; Tue, 6 Jul 2010 01:44:32 -0700 (PDT) From: Dmitry Teslenko Date: Tue, 6 Jul 2010 12:44:32 +0400 Message-ID: Subject: MS Visual Studio 2005 Compile problem To: libssh2-devel@cool.haxx.se X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Tue, 06 Jul 2010 10:45:21 +0200 (CEST) X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Tue, 06 Jul 2010 10:44:56 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se Hello! I've managed to compile libssh2 itself but stumbled upon compiling examples. Here's error log of msvc compiler for sftp.c example: ..\include\libssh2.h(620) : error C2061: syntax error : identifier 'libssh2_channel_read_ex' ..\include\libssh2.h(620) : error C2059: syntax error : ';' ..\include\libssh2.h(620) : error C2059: syntax error : 'type' ..\include\libssh2.h(650) : error C2061: syntax error : identifier 'libssh2_channel_write_ex' ..\include\libssh2.h(650) : error C2059: syntax error : ';' ..\include\libssh2.h(650) : error C2059: syntax error : 'type' ..\include\libssh2_sftp.h(236) : error C2061: syntax error : identifier 'libssh2_sftp_read' ..\include\libssh2_sftp.h(236) : error C2059: syntax error : ';' ..\include\libssh2_sftp.h(236) : error C2059: syntax error : 'type' ..\include\libssh2_sftp.h(248) : error C2061: syntax error : identifier 'libssh2_sftp_write' ..\include\libssh2_sftp.h(248) : error C2059: syntax error : ';' ..\include\libssh2_sftp.h(248) : error C2059: syntax error : 'type' .\sftp.c(257) : warning C4013: 'libssh2_sftp_read' undefined; assuming extern returning int .\sftp.c(259) : warning C4013: 'write' undefined; assuming extern returning int Am I missing some include/define? -- A: Because it messes up the order in which people normally read text. Q: Why is top-posting such a bad thing? A: Top-posting. Q: What is the most annoying thing in e-mail? _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel From libssh2-devel-bounces@cool.haxx.se Tue Jul 6 14:50:36 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o66CoGwB023239; Tue, 6 Jul 2010 14:50:32 +0200 Received: from giant.haxx.se (dast@giant.haxx.se [80.67.6.50]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o66CoFfN023220 for ; Tue, 6 Jul 2010 14:50:15 +0200 Date: Tue, 6 Jul 2010 14:50:15 +0200 (CEST) From: Daniel Stenberg X-X-Sender: dast@giant.haxx.se To: libssh2 development Subject: Re: MS Visual Studio 2005 Compile problem In-Reply-To: Message-ID: References: User-Agent: Alpine 2.00 (DEB 1167 2008-08-23) X-fromdanielhimself: yes MIME-Version: 1.0 X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Tue, 06 Jul 2010 14:50:36 +0200 (CEST) X-Greylist: Default is to whitelist mail, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Tue, 06 Jul 2010 14:50:15 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="us-ascii"; Format="flowed" Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se On Tue, 6 Jul 2010, Dmitry Teslenko wrote: > I've managed to compile libssh2 itself but stumbled upon compiling > examples. Here's error log of msvc compiler for sftp.c example: ... > Am I missing some include/define? Line 620 uses ssize_t which looks to be typedef'ed on line 82, but only if you have LIBSSH2_WIN32 defined... So yes, define that on the command line. Can anyone see a reason why we need LIBSSH2_WIN32 _and_ _MSC_VER and not just the latter? -- / daniel.haxx.se _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel From libssh2-devel-bounces@cool.haxx.se Tue Jul 6 14:55:54 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o66Cto2M025019; Tue, 6 Jul 2010 14:55:53 +0200 Received: from foo.birdnet.se (qmailr@foo.birdnet.se [213.88.146.6]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with SMTP id o66CtnQP025014 for ; Tue, 6 Jul 2010 14:55:49 +0200 Received: (qmail 14263 invoked by uid 501); 6 Jul 2010 12:55:47 -0000 Message-ID: <20100706125547.14262.qmail@stuge.se> Date: Tue, 6 Jul 2010 14:55:47 +0200 From: Peter Stuge To: libssh2-devel@cool.haxx.se Subject: Re: MS Visual Studio 2005 Compile problem Mail-Followup-To: libssh2-devel@cool.haxx.se References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Tue, 06 Jul 2010 14:55:54 +0200 (CEST) X-Greylist: Default is to whitelist mail, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Tue, 06 Jul 2010 14:55:49 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se Daniel Stenberg wrote: > Line 620 uses ssize_t which looks to be typedef'ed on line 82, but only if > you have LIBSSH2_WIN32 defined... So yes, define that on the command line. > > Can anyone see a reason why we need LIBSSH2_WIN32 _and_ _MSC_VER and not > just the latter? _MSC_VER should be enough. //Peter _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel From libssh2-devel-bounces@cool.haxx.se Tue Jul 6 15:04:30 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o66D4ONW003498; Tue, 6 Jul 2010 15:04:29 +0200 Received: from cardinal.doc.ic.ac.uk (cardinal.doc.ic.ac.uk [146.169.1.194]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o66D4M6B003479 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=NOT) for ; Tue, 6 Jul 2010 15:04:22 +0200 Received: from mail-yx0-f182.google.com ([209.85.213.182]) by cardinal.doc.ic.ac.uk with esmtpsa (TLS-1.0:RSA_ARCFOUR_MD5:16) (Exim 4.69) (envelope-from ) id 1OW7or-00037C-Gv for libssh2-devel@cool.haxx.se; Tue, 06 Jul 2010 14:04:14 +0100 Received: by yxn22 with SMTP id 22so124020yxn.41 for ; Tue, 06 Jul 2010 06:04:07 -0700 (PDT) MIME-Version: 1.0 Received: by 10.103.173.17 with SMTP id a17mr689072mup.84.1278421441861; Tue, 06 Jul 2010 06:04:01 -0700 (PDT) Received: by 10.103.138.6 with HTTP; Tue, 6 Jul 2010 06:04:01 -0700 (PDT) In-Reply-To: <20100706125547.14262.qmail@stuge.se> References: <20100706125547.14262.qmail@stuge.se> Date: Tue, 6 Jul 2010 14:04:01 +0100 Message-ID: Subject: Re: MS Visual Studio 2005 Compile problem From: Alexander Lamaison To: libssh2 development X-ICDoC-Trusted: YES X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Tue, 06 Jul 2010 15:04:30 +0200 (CEST) X-Greylist: Default is to whitelist mail, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Tue, 06 Jul 2010 15:04:22 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se On Tuesday, July 6, 2010, Peter Stuge wrote: > Daniel Stenberg wrote: >> Line 620 uses ssize_t which looks to be typedef'ed on line 82, but only if >> you have LIBSSH2_WIN32 defined... So yes, define that on the command line. >> >> Can anyone see a reason why we need LIBSSH2_WIN32 _and_ _MSC_VER and not >> just the latter? > > _MSC_VER should be enough. It's possible, of course, to compile a win32 version with a different compiler. How will Borland, for instance, react in this case? Alex -- Swish - Easy SFTP for Windows http://www.swish-sftp.org _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel From libssh2-devel-bounces@cool.haxx.se Tue Jul 6 15:52:44 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o66DqUrE028107; Tue, 6 Jul 2010 15:52:42 +0200 Received: from foo.birdnet.se (qmailr@foo.birdnet.se [213.88.146.6]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with SMTP id o66DqSlw028103 for ; Tue, 6 Jul 2010 15:52:28 +0200 Received: (qmail 23308 invoked by uid 501); 6 Jul 2010 13:52:24 -0000 Message-ID: <20100706135224.23307.qmail@stuge.se> Date: Tue, 6 Jul 2010 15:52:24 +0200 From: Peter Stuge To: libssh2-devel@cool.haxx.se Subject: Re: MS Visual Studio 2005 Compile problem Mail-Followup-To: libssh2-devel@cool.haxx.se References: <20100706125547.14262.qmail@stuge.se> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Tue, 06 Jul 2010 15:52:44 +0200 (CEST) X-Greylist: Default is to whitelist mail, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Tue, 06 Jul 2010 15:52:28 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se Alexander Lamaison wrote: > >> Line 620 uses ssize_t which looks to be typedef'ed on line 82, > >> but only if you have LIBSSH2_WIN32 defined... > >> > >> Can anyone see a reason why we need LIBSSH2_WIN32 _and_ _MSC_VER > >> and not just the latter? > > > > _MSC_VER should be enough. > > It's possible, of course, to compile a win32 version with a > different compiler. How will Borland, for instance, react in this case? Please test it and report. :) //Peter _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel From libssh2-devel-bounces@cool.haxx.se Tue Jul 6 15:59:31 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o66DxRB3030466; Tue, 6 Jul 2010 15:59:29 +0200 Received: from baza.doc.ic.ac.uk (baza.doc.ic.ac.uk [146.169.1.193]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o66DxPIg030435 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=NOT) for ; Tue, 6 Jul 2010 15:59:25 +0200 Received: from mail-gx0-f182.google.com ([209.85.161.182]) by baza.doc.ic.ac.uk with esmtpsa (TLS-1.0:RSA_ARCFOUR_MD5:16) (Exim 4.69) (envelope-from ) id 1OW8g9-0004OL-L3 for libssh2-devel@cool.haxx.se; Tue, 06 Jul 2010 14:59:17 +0100 Received: by gxk24 with SMTP id 24so1143296gxk.41 for ; Tue, 06 Jul 2010 06:59:13 -0700 (PDT) MIME-Version: 1.0 Received: by 10.103.39.20 with SMTP id r20mr754080muj.134.1278424753525; Tue, 06 Jul 2010 06:59:13 -0700 (PDT) Received: by 10.103.138.6 with HTTP; Tue, 6 Jul 2010 06:59:13 -0700 (PDT) In-Reply-To: <20100706135224.23307.qmail@stuge.se> References: <20100706125547.14262.qmail@stuge.se> <20100706135224.23307.qmail@stuge.se> Date: Tue, 6 Jul 2010 14:59:13 +0100 Message-ID: Subject: Re: MS Visual Studio 2005 Compile problem From: Alexander Lamaison To: libssh2 development X-ICDoC-Trusted: YES X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Tue, 06 Jul 2010 15:59:31 +0200 (CEST) X-Greylist: Default is to whitelist mail, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Tue, 06 Jul 2010 15:59:25 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se On Tuesday, July 6, 2010, Peter Stuge wrote: > Alexander Lamaison wrote: >> >> Line 620 uses ssize_t which looks to be typedef'ed on line 82, >> >> but only if you have LIBSSH2_WIN32 defined... >> >> >> >> Can anyone see a reason why we need LIBSSH2_WIN32 _and_ _MSC_VER >> >> and not just the latter? >> > >> > _MSC_VER should be enough. >> >> It's possible, of course, to compile a win32 version with a >> different compiler. How will Borland, for instance, react in this case? > > Please test it and report. :) I don't actually have any of these other compilers. I'm just imagining that relying on _MSC_VER might cause problems for those who do. Alex -- Swish - Easy SFTP for Windows http://www.swish-sftp.org _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel From libssh2-devel-bounces@cool.haxx.se Tue Jul 6 16:14:26 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o66EEJQb008491; Tue, 6 Jul 2010 16:14:25 +0200 Received: from foo.birdnet.se (qmailr@foo.birdnet.se [213.88.146.6]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with SMTP id o66EEHBi008487 for ; Tue, 6 Jul 2010 16:14:17 +0200 Received: (qmail 26823 invoked by uid 501); 6 Jul 2010 14:14:15 -0000 Message-ID: <20100706141415.26822.qmail@stuge.se> Date: Tue, 6 Jul 2010 16:14:15 +0200 From: Peter Stuge To: libssh2-devel@cool.haxx.se Subject: Re: MS Visual Studio 2005 Compile problem Mail-Followup-To: libssh2-devel@cool.haxx.se References: <20100706125547.14262.qmail@stuge.se> <20100706135224.23307.qmail@stuge.se> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Tue, 06 Jul 2010 16:14:26 +0200 (CEST) X-Greylist: Default is to whitelist mail, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Tue, 06 Jul 2010 16:14:17 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se Alexander Lamaison wrote: > >> How will Borland, for instance, react in this case? > > > > Please test it and report. :) > > I don't actually have any of these other compilers. I'm just > imagining that relying on _MSC_VER might cause problems for those > who do. Right. I think it's fine if MSC is the only non-gcc Windows compiler that works. If we do have data for other compilers and can make them work without much effort then we should of course do it. Until then, I don't care. :) Binaries usually> source on Windows. //Peter _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel From libssh2-devel-bounces@cool.haxx.se Tue Jul 6 16:21:58 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o66ELsTg013861; Tue, 6 Jul 2010 16:21:57 +0200 Received: from earth.stuge.se (earth.stuge.se [213.88.146.15]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o66ELrHc013825 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT) for ; Tue, 6 Jul 2010 16:21:53 +0200 Received: (qmail 29157 invoked from network); 6 Jul 2010 14:21:51 -0000 Received: from unknown (HELO earth.stuge.se) (127.0.0.1) by localhost with SMTP; 6 Jul 2010 14:21:51 -0000 MIME-Version: 1.0 From: "libssh2 Trac" X-Trac-Version: 0.12b1 Precedence: bulk Cc: libssh2-devel@cool.haxx.se Auto-Submitted: auto-generated X-Mailer: Trac 0.12b1, by Edgewall Software X-Trac-Project: libssh2 Date: Tue, 06 Jul 2010 14:21:51 -0000 X-URL: http://trac.libssh2.org/ Subject: Re: [libssh2] #182: Various memory leaks X-Trac-Ticket-URL: http://trac.libssh2.org/ticket/182#comment:16 Message-ID: <067.c81f4f7d279f515b811e891493e786a8@libssh2.stuge.se> References: <052.82d75923d2eeae36ea3bf5c7c6e7729d@libssh2.stuge.se> X-Trac-Ticket-ID: 182 In-Reply-To: <052.82d75923d2eeae36ea3bf5c7c6e7729d@libssh2.stuge.se> X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Tue, 06 Jul 2010 16:21:58 +0200 (CEST) X-Greylist: Default is to whitelist mail, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Tue, 06 Jul 2010 16:21:54 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Reply-To: trac@libssh2.stuge.se, libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se IzE4MjogVmFyaW91cyBtZW1vcnkgbGVha3MKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KICBSZXBvcnRl cjogIGpvaG5A4oCmICAgICAgICAgICAgfCAgICAgICBPd25lcjogIGJhZ2Rlcg0KICAgICAgVHlw ZTogIGRlZmVjdCAgICAgICAgICAgIHwgICAgICBTdGF0dXM6ICBjbG9zZWQNCiAgUHJpb3JpdHk6 ICBub3JtYWwgICAgICAgICAgICB8ICAgTWlsZXN0b25lOiAgMS4yLjcgDQogQ29tcG9uZW50OiAg QVBJICAgICAgICAgICAgICAgfCAgICAgVmVyc2lvbjogIDEuMi42IA0KUmVzb2x1dGlvbjogIGZp eGVkICAgICAgICAgICAgIHwgICAgS2V5d29yZHM6ICAgICAgICANCiAgICBCbG9ja3M6ICAgICAg ICAgICAgICAgICAgICB8ICAgQmxvY2tlZCBCeTogICAgICAgIA0KLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQpDaGFuZ2VzIChieSBiYWdkZXIpOgoKICAqIHN0YXR1czogIGFzc2lnbmVkID0+IGNsb3NlZA0K ICAqIHJlc29sdXRpb246ICA9PiBmaXhlZA0KICAqIG1pbGVzdG9uZTogIDEuMi42ID0+IDEuMi43 DQoKCi0tIApUaWNrZXQgVVJMOiA8aHR0cDovL3RyYWMubGlic3NoMi5vcmcvdGlja2V0LzE4MiNj b21tZW50OjE2PgpsaWJzc2gyIDxodHRwOi8vdHJhYy5saWJzc2gyLm9yZy8+CkMgbGlicmFyeSBm b3Igd3JpdGluZyBwb3J0YWJsZSBTU0gyIGNsaWVudHMKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KbGlic3NoMi1kZXZlbCBodHRwOi8vY29vbC5oYXh4LnNl L2NnaS1iaW4vbWFpbG1hbi9saXN0aW5mby9saWJzc2gyLWRldmVsCg== From libssh2-devel-bounces@cool.haxx.se Fri Jul 9 09:35:20 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o697Yv45020018; Fri, 9 Jul 2010 09:35:16 +0200 Received: from shell.lmi.net (shell.lmi.net [66.117.140.246]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o697YrhP019961 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT) for ; Fri, 9 Jul 2010 09:34:55 +0200 Received: from rcom-software.com (75-101-82-95.dsl2st.lmi.net [75.101.82.95]) by shell.lmi.net (8.14.1/8.14.1) with ESMTP id o697YoJ1016912 for ; Fri, 9 Jul 2010 00:34:50 -0700 (PDT) Message-ID: <4C36D153.B9B1E672@rcom-software.com> Date: Fri, 09 Jul 2010 00:35:47 -0700 From: Paul Romero Organization: RCOM Communications Software X-Mailer: Mozilla 4.77 [en] (Win95; U) X-Accept-Language: en,es,de-DE,fr-FR MIME-Version: 1.0 To: libssh2-devel@cool.haxx.se Subject: SSH & SFTP: Passphrase Problem X-Scanned-By: MIMEDefang 2.37 X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Fri, 09 Jul 2010 09:35:20 +0200 (CEST) X-Greylist: Default is to whitelist mail, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Fri, 09 Jul 2010 09:34:55 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se Dear Group: I previously posted this problem to the libcurl group and after considering it, think it might actually be a libssh problem. The general problem is that if my private key is encrypted--with a passphrase, I can't complete authentication with the SSH server using libssh. The situation is similar to the normal Linux scenario where ssh-add is used to automatically supply the passphrase for non-interactive applications. Some details are as follows: I am using the libcurl curl_easy_set_opt() routine with CURLOPT_KEYPASSWD to pass the passphrase with no special syntax. I receive error code 67 and the diagnostic: "SSH public key authentication failed: Unable to initialize private key from file" Do you have any insight about this problem ? Best Regards, Paul R. -- Paul Romero RCOM Communications Software Phone/Fax: (510)339-2628 E-Mail: paulr@rcom-software.com _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel From libssh2-devel-bounces@cool.haxx.se Fri Jul 9 09:43:01 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o697gv34027703; Fri, 9 Jul 2010 09:43:00 +0200 Received: from shell.lmi.net (shell.lmi.net [66.117.140.246]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o697grsk027630 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT) for ; Fri, 9 Jul 2010 09:42:55 +0200 Received: from rcom-software.com (75-101-82-95.dsl2st.lmi.net [75.101.82.95]) by shell.lmi.net (8.14.1/8.14.1) with ESMTP id o697gndP017096 for ; Fri, 9 Jul 2010 00:42:50 -0700 (PDT) Message-ID: <4C36D333.2277C6FF@rcom-software.com> Date: Fri, 09 Jul 2010 00:43:47 -0700 From: Paul Romero Organization: RCOM Communications Software X-Mailer: Mozilla 4.77 [en] (Win95; U) X-Accept-Language: en,es,de-DE,fr-FR MIME-Version: 1.0 To: libssh2-devel@cool.haxx.se Subject: SFTP and libssh X-Scanned-By: MIMEDefang 2.37 X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Fri, 09 Jul 2010 09:43:01 +0200 (CEST) X-Greylist: Default is to whitelist mail, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Fri, 09 Jul 2010 09:42:55 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se Dear Group: I would like your opinion about using libssh2 for non-blocking SFTP file transfers. I need to send files to another system with SFTP but do not need to send multiple files concurrently or anything like that. However, it is important for me not to be blocked during a long file transmission. I am able to do this fairly well with libcurl but I suspect it uses more memory and resources than libssh2 because it is designed for more sophisticated tasks. Do you think using libssh2 would work without too much difficulty ? Best Regards, Paul R. -- Paul Romero RCOM Communications Software Phone/Fax: (510)339-2628 E-Mail: paulr@rcom-software.com _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel From libssh2-devel-bounces@cool.haxx.se Fri Jul 9 10:13:17 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o698D8nA013284; Fri, 9 Jul 2010 10:13:14 +0200 Received: from mx2.belnet.be (mx2.belnet.be [193.190.198.13]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o698D6sw013276 for ; Fri, 9 Jul 2010 10:13:07 +0200 X-IronPort-AV: E=Sophos;i="4.53,562,1272837600"; d="scan'208";a="686108" Received: from firewall.belnet.be (HELO office.belnet.be) ([193.190.198.37]) by mx2-out.belnet.be with ESMTP; 09 Jul 2010 10:13:05 +0200 Received: from localhost (judas.fw.belnet.be [127.0.0.1]) by office.belnet.be (Postfix) with ESMTP id 258AF30293 for ; Fri, 9 Jul 2010 10:13:05 +0200 (CEST) Received: from [172.24.185.254] (aris.fw.belnet.be [172.24.185.254]) by office.belnet.be (Postfix) with ESMTP id 19B8B3028B for ; Fri, 9 Jul 2010 10:13:05 +0200 (CEST) Message-ID: <4C36DA10.5040808@0xbadc0de.be> Date: Fri, 09 Jul 2010 10:13:04 +0200 From: Aris Adamantiadis User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.10) Gecko/20100528 Thunderbird/3.0.5 MIME-Version: 1.0 To: libssh2-devel@cool.haxx.se Subject: Re: SSH & SFTP: Passphrase Problem References: <4C36D153.B9B1E672@rcom-software.com> In-Reply-To: <4C36D153.B9B1E672@rcom-software.com> X-Virus-Scanned: Belnet virus scanner X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Fri, 09 Jul 2010 10:13:17 +0200 (CEST) X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Fri, 09 Jul 2010 10:13:07 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se Le 09/07/10 09:35, Paul Romero a =E9crit : > Dear Group: > = > I previously posted this problem to the libcurl group and after > considering it, think it might actually be a libssh problem. > = Hi Paul, please do not mix up libssh (http://www.libssh.org) and libssh2 (http://www.libssh2.org) which are two distinct SSH implementations. That way people will have a better idea of what you're using. Kr, Aris _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel From libssh2-devel-bounces@cool.haxx.se Fri Jul 9 16:31:55 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o69EVWGd022599; Fri, 9 Jul 2010 16:31:49 +0200 Received: from shell.lmi.net (shell.lmi.net [66.117.140.246]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o69EVTvU022577 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT) for ; Fri, 9 Jul 2010 16:31:31 +0200 Received: from rcom-software.com (75-101-82-95.dsl2st.lmi.net [75.101.82.95]) by shell.lmi.net (8.14.1/8.14.1) with ESMTP id o69EVO5j026030 for ; Fri, 9 Jul 2010 07:31:24 -0700 (PDT) Message-ID: <4C3732F3.49869A9@rcom-software.com> Date: Fri, 09 Jul 2010 07:32:20 -0700 From: Paul Romero Organization: RCOM Communications Software X-Mailer: Mozilla 4.77 [en] (Win95; U) X-Accept-Language: en,es,de-DE,fr-FR MIME-Version: 1.0 To: libssh2 development Subject: Re: SSH & SFTP: Passphrase Problem References: <4C36D153.B9B1E672@rcom-software.com> <4C36DA10.5040808@0xbadc0de.be> X-Scanned-By: MIMEDefang 2.37 X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Fri, 09 Jul 2010 16:31:55 +0200 (CEST) X-Greylist: Default is to whitelist mail, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Fri, 09 Jul 2010 16:31:31 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se Hi Aris: I apologize for the vague language, and am using libssh2. Best Regards, Paul R. Aris Adamantiadis wrote: > Le 09/07/10 09:35, Paul Romero a =E9crit : > > Dear Group: > > > > I previously posted this problem to the libcurl group and after > > considering it, think it might actually be a libssh problem. > > > Hi Paul, > > please do not mix up libssh (http://www.libssh.org) and libssh2 > (http://www.libssh2.org) which are two distinct SSH implementations. > That way people will have a better idea of what you're using. > > Kr, > > Aris > _______________________________________________ > libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel -- Paul Romero RCOM Communications Software Phone/Fax: (510)339-2628 E-Mail: paulr@rcom-software.com _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel From libssh2-devel-bounces@cool.haxx.se Fri Jul 9 16:53:27 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o69ErKOA002731; Fri, 9 Jul 2010 16:53:26 +0200 Received: from shell.lmi.net (shell.lmi.net [66.117.140.246]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o69ErHK9002699 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT) for ; Fri, 9 Jul 2010 16:53:19 +0200 Received: from rcom-software.com (75-101-82-95.dsl2st.lmi.net [75.101.82.95]) by shell.lmi.net (8.14.1/8.14.1) with ESMTP id o69ErDVg026799 for ; Fri, 9 Jul 2010 07:53:13 -0700 (PDT) Message-ID: <4C373810.F2962409@rcom-software.com> Date: Fri, 09 Jul 2010 07:54:08 -0700 From: Paul Romero Organization: RCOM Communications Software X-Mailer: Mozilla 4.77 [en] (Win95; U) X-Accept-Language: en,es,de-DE,fr-FR MIME-Version: 1.0 To: libssh2-devel@cool.haxx.se Subject: SSH & SFTP: Passphrase Problem + Libssh2 Correction X-Scanned-By: MIMEDefang 2.37 X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Fri, 09 Jul 2010 16:53:27 +0200 (CEST) X-Greylist: Default is to whitelist mail, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Fri, 09 Jul 2010 16:53:19 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se Dear Group: I previously posted this problem to the libcurl group and after considering it, think it might actually be a libssh2 problem. The general problem is that if my private key is encrypted--with a passphrase, I can't complete authentication with the SSH server using libssh. The situation is similar to the normal Linux scenario where ssh-add is used to automatically supply the passphrase for non-interactive applications. Some details are as follows: I am using the libcurl curl_easy_set_opt() routine with CURLOPT_KEYPASSWD to pass the passphrase with no special syntax. I receive error code 67 and the diagnostic: "SSH public key authentication failed: Unable to initialize private key from file" Do you have any insight about this problem ? Best Regards, Paul R. -- Paul Romero RCOM Communications Software Phone/Fax: (510)339-2628 E-Mail: paulr@rcom-software.com _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel From libssh2-devel-bounces@cool.haxx.se Fri Jul 9 20:32:02 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o69IVnOh006669; Fri, 9 Jul 2010 20:32:00 +0200 Received: from giant.haxx.se (dast@giant.haxx.se [80.67.6.50]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o69IVmhB006661 for ; Fri, 9 Jul 2010 20:31:48 +0200 Date: Fri, 9 Jul 2010 20:31:48 +0200 (CEST) From: Daniel Stenberg X-X-Sender: dast@giant.haxx.se To: libssh2 development Subject: Re: SSH & SFTP: Passphrase Problem In-Reply-To: <4C36D153.B9B1E672@rcom-software.com> Message-ID: References: <4C36D153.B9B1E672@rcom-software.com> User-Agent: Alpine 2.00 (DEB 1167 2008-08-23) X-fromdanielhimself: yes MIME-Version: 1.0 X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Fri, 09 Jul 2010 20:32:02 +0200 (CEST) X-Greylist: Default is to whitelist mail, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Fri, 09 Jul 2010 20:31:48 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="us-ascii"; Format="flowed" Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se On Fri, 9 Jul 2010, Paul Romero wrote: > The general problem is that if my private key is encrypted--with a > passphrase, I can't complete authentication with the SSH server using > libssh. The situation is similar to the normal Linux scenario where ssh-add > is used to automatically supply the passphrase for non-interactive > applications. > > Some details are as follows: I am using the libcurl curl_easy_set_opt() > routine with CURLOPT_KEYPASSWD to pass the passphrase with no special > syntax. I receive error code 67 and the diagnostic: "SSH public key > authentication failed: Unable to initialize private key from file" > > Do you have any insight about this problem ? As this is the libssh2 group and mailing list, can you please provide a libssh2-using code/example that repeats the problem without using libcurl? Perhaps you can build one based on one of the many examples we provide in the tarball. -- / daniel.haxx.se _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel From libssh2-devel-bounces@cool.haxx.se Fri Jul 9 22:07:18 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o69K75G1027971; Fri, 9 Jul 2010 22:07:16 +0200 Received: from yxa-v.extundo.com (yxa-v.extundo.com [83.241.177.39]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o69K73lJ027946 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT) for ; Fri, 9 Jul 2010 22:07:03 +0200 Received: from mocca (m83-188-188-148.cust.tele2.se [83.188.188.148]) (authenticated bits=0) by yxa-v.extundo.com (8.14.3/8.14.3/Debian-5+lenny1) with ESMTP id o69K6mRA005147 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NOT) for ; Fri, 9 Jul 2010 22:06:55 +0200 From: Simon Josefsson To: libssh2 development Subject: Re: SSH & SFTP: Passphrase Problem + Libssh2 Correction References: <4C373810.F2962409@rcom-software.com> OpenPGP: id=B565716F; url=http://josefsson.org/key.txt X-Hashcash: 1:22:100709:libssh2-devel@cool.haxx.se::MAVjKnCukrl8PM6N:Tv3W Date: Fri, 09 Jul 2010 22:06:47 +0200 In-Reply-To: <4C373810.F2962409@rcom-software.com> (Paul Romero's message of "Fri, 09 Jul 2010 07:54:08 -0700") Message-ID: <87d3uwl8rs.fsf@mocca.josefsson.org> User-Agent: Gnus/5.110011 (No Gnus v0.11) Emacs/23.1 (gnu/linux) MIME-Version: 1.0 X-Spam-Status: No, score=-0.6 required=5.0 tests=AWL,BAYES_00, DATE_IN_FUTURE_96_XX,RDNS_DYNAMIC,SPF_FAIL autolearn=no version=3.2.5 X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on yxa-v.extundo.com X-Virus-Scanned: clamav-milter 0.96.1 at yxa-v X-Virus-Status: Clean X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Fri, 09 Jul 2010 22:07:18 +0200 (CEST) X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Fri, 09 Jul 2010 22:07:03 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se Paul Romero writes: > Dear Group: > > I previously posted this problem to the libcurl group and after > considering it, think it might actually be a libssh2 problem. > > The general problem is that if my private key is encrypted--with > a passphrase, I can't complete authentication with the SSH > server using libssh. Are you using libgcrypt or OpenSSL as the backend? The libgcrypt backend can only read unencrypted private keys. Encrypted or not, having the private key in the same process as libssh2 code is likely a bad idea for security -- so I suggest that you use the agent interface to move public/private key handling to a separate process. Then you can support any kind of private key (GnuTLS has code to decrypt encrypted private keys). /Simon _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel From libssh2-devel-bounces@cool.haxx.se Fri Jul 9 22:23:05 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o69KMuDv005005; Fri, 9 Jul 2010 22:23:03 +0200 Received: from shell.lmi.net (shell.lmi.net [66.117.140.246]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o69KMsrd004951 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT) for ; Fri, 9 Jul 2010 22:22:55 +0200 Received: from rcom-software.com (75-101-82-95.dsl2st.lmi.net [75.101.82.95]) by shell.lmi.net (8.14.1/8.14.1) with ESMTP id o69KMnUf036312 for ; Fri, 9 Jul 2010 13:22:49 -0700 (PDT) Message-ID: <4C378551.B958E118@rcom-software.com> Date: Fri, 09 Jul 2010 13:23:45 -0700 From: Paul Romero Organization: RCOM Communications Software X-Mailer: Mozilla 4.77 [en] (Win95; U) X-Accept-Language: en,es,de-DE,fr-FR MIME-Version: 1.0 To: libssh2 development Subject: Re: SSH & SFTP: Passphrase Problem + Libssh2 Correction References: <4C373810.F2962409@rcom-software.com> <87d3uwl8rs.fsf@mocca.josefsson.org> X-Scanned-By: MIMEDefang 2.37 X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Fri, 09 Jul 2010 22:23:05 +0200 (CEST) X-Greylist: Default is to whitelist mail, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Fri, 09 Jul 2010 22:22:56 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se Hi Simon: I am glad you brought up this issue because I am NOT using OpenSSL. Further, investigation is needed to determine if my environment can support ssh-agent. However, the security issue you mentioned is very valid and difficult. How do you recommend protecting private keys in an automated environment ? Best Regards, Paul R. Simon Josefsson wrote: > Paul Romero writes: > > > Dear Group: > > > > I previously posted this problem to the libcurl group and after > > considering it, think it might actually be a libssh2 problem. > > > > The general problem is that if my private key is encrypted--with > > a passphrase, I can't complete authentication with the SSH > > server using libssh. > > Are you using libgcrypt or OpenSSL as the backend? The libgcrypt > backend can only read unencrypted private keys. > > Encrypted or not, having the private key in the same process as libssh2 > code is likely a bad idea for security -- so I suggest that you use the > agent interface to move public/private key handling to a separate > process. Then you can support any kind of private key (GnuTLS has code > to decrypt encrypted private keys). > > /Simon > _______________________________________________ > libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel -- Paul Romero RCOM Communications Software Phone/Fax: (510)339-2628 E-Mail: paulr@rcom-software.com _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel From libssh2-devel-bounces@cool.haxx.se Fri Jul 9 22:35:37 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o69KZTav012424; Fri, 9 Jul 2010 22:35:35 +0200 Received: from foo.birdnet.se (qmailr@foo.birdnet.se [213.88.146.6]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with SMTP id o69KZSdM012416 for ; Fri, 9 Jul 2010 22:35:28 +0200 Received: (qmail 4901 invoked by uid 501); 9 Jul 2010 20:35:24 -0000 Message-ID: <20100709203524.4900.qmail@stuge.se> Date: Fri, 9 Jul 2010 22:35:24 +0200 From: Peter Stuge To: libssh2-devel@cool.haxx.se Subject: Re: SSH & SFTP: Passphrase Problem + Libssh2 Correction Mail-Followup-To: libssh2-devel@cool.haxx.se References: <4C373810.F2962409@rcom-software.com> <87d3uwl8rs.fsf@mocca.josefsson.org> <4C378551.B958E118@rcom-software.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <4C378551.B958E118@rcom-software.com> X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Fri, 09 Jul 2010 22:35:37 +0200 (CEST) X-Greylist: Default is to whitelist mail, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Fri, 09 Jul 2010 22:35:28 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se Paul Romero wrote: > How do you recommend protecting private keys in an automated > environment ? It's very straightforward. Move them as far away from the application as possible. The first step is to use an agent process. Protected mode, MMUs and the operating system offers some protection from errors in the libssh2 application. Next step is to make sure that the agent runs as a distinct user in the OS, which gets you more protection at the kernel level. A further step might be to move the key into dedicated hardware such as a smart card or crypto token. //Peter _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel From libssh2-devel-bounces@cool.haxx.se Fri Jul 9 23:13:03 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o69LCo8L003554; Fri, 9 Jul 2010 23:13:01 +0200 Received: from yxa-v.extundo.com (yxa-v.extundo.com [83.241.177.39]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o69LCnes003546 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT) for ; Fri, 9 Jul 2010 23:12:49 +0200 Received: from mocca (m83-188-188-148.cust.tele2.se [83.188.188.148]) (authenticated bits=0) by yxa-v.extundo.com (8.14.3/8.14.3/Debian-5+lenny1) with ESMTP id o69LCZiR009002 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NOT) for ; Fri, 9 Jul 2010 23:12:41 +0200 From: Simon Josefsson To: libssh2-devel@cool.haxx.se Subject: Re: SSH & SFTP: Passphrase Problem + Libssh2 Correction References: <4C373810.F2962409@rcom-software.com> <87d3uwl8rs.fsf@mocca.josefsson.org> <4C378551.B958E118@rcom-software.com> <20100709203524.4900.qmail@stuge.se> OpenPGP: id=B565716F; url=http://josefsson.org/key.txt X-Hashcash: 1:22:100709:libssh2-devel@cool.haxx.se::NpanXlU7jpTFCPQJ:cnQE Date: Fri, 09 Jul 2010 23:12:33 +0200 In-Reply-To: <20100709203524.4900.qmail@stuge.se> (Peter Stuge's message of "Fri, 9 Jul 2010 22:35:24 +0200") Message-ID: <87zky0icla.fsf@mocca.josefsson.org> User-Agent: Gnus/5.110011 (No Gnus v0.11) Emacs/23.1 (gnu/linux) MIME-Version: 1.0 X-Spam-Status: No, score=-0.8 required=5.0 tests=AWL,BAYES_00, DATE_IN_FUTURE_96_XX,RDNS_DYNAMIC,SPF_FAIL autolearn=no version=3.2.5 X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on yxa-v.extundo.com X-Virus-Scanned: clamav-milter 0.96.1 at yxa-v X-Virus-Status: Clean X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Fri, 09 Jul 2010 23:13:03 +0200 (CEST) X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Fri, 09 Jul 2010 23:12:49 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se Peter Stuge writes: > Paul Romero wrote: >> How do you recommend protecting private keys in an automated >> environment ? > > It's very straightforward. Move them as far away from the application > as possible. > > The first step is to use an agent process. Protected mode, MMUs and > the operating system offers some protection from errors in the > libssh2 application. > > Next step is to make sure that the agent runs as a distinct user in > the OS, which gets you more protection at the kernel level. Peter's suggestions are good, however between what is written above and what is written below, I would suggest that the private keys are encrypted on local storage, and that they are decrypted by the agent process when needed. Hopefully your environment can read the decryption password from somewhere else than where the private keys are stored in encrypted form. > A further step might be to move the key into dedicated hardware such > as a smart card or crypto token. Let me note that libssh2 works fine with OpenPGP smartcards, any supported GnuPG smartcard reader, and GnuPG2's gpg-agent with --enable-ssh-support. It may not be ideal for high performance server applications though. /Simon _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel From libssh2-devel-bounces@cool.haxx.se Sat Jul 10 15:24:58 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6ADOaSu024134; Sat, 10 Jul 2010 15:24:53 +0200 Received: from foo.birdnet.se (qmailr@foo.birdnet.se [213.88.146.6]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with SMTP id o6ADOZoo024127 for ; Sat, 10 Jul 2010 15:24:35 +0200 Received: (qmail 10842 invoked by uid 501); 10 Jul 2010 13:24:32 -0000 Message-ID: <20100710132432.10841.qmail@stuge.se> Date: Sat, 10 Jul 2010 15:24:32 +0200 From: Peter Stuge To: libssh2-devel@cool.haxx.se Subject: Re: SFTP and libssh Mail-Followup-To: libssh2-devel@cool.haxx.se References: <4C36D333.2277C6FF@rcom-software.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <4C36D333.2277C6FF@rcom-software.com> X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Sat, 10 Jul 2010 15:24:58 +0200 (CEST) X-Greylist: Default is to whitelist mail, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Sat, 10 Jul 2010 15:24:35 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se Paul Romero wrote: > I would like your opinion about using libssh2 for non-blocking > SFTP file transfers. It will work just fine. > I am able to do this fairly well with libcurl but I suspect it > uses more memory and resources than libssh2 because it is > designed for more sophisticated tasks. Do you think using libssh2 > would work without too much difficulty ? Did you already have a look at some of the many SFTP examples included with libssh2? //Peter _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel From libssh2-devel-bounces@cool.haxx.se Sat Jul 10 20:36:54 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6AIaXLH021880; Sat, 10 Jul 2010 20:36:49 +0200 Received: from shell.lmi.net (shell.lmi.net [66.117.140.246]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6AIaTve021855 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT) for ; Sat, 10 Jul 2010 20:36:31 +0200 Received: from rcom-software.com (75-101-82-95.dsl2st.lmi.net [75.101.82.95]) by shell.lmi.net (8.14.1/8.14.1) with ESMTP id o6AIaNgn069409 for ; Sat, 10 Jul 2010 11:36:23 -0700 (PDT) Message-ID: <4C38BDDF.6D260DE1@rcom-software.com> Date: Sat, 10 Jul 2010 11:37:19 -0700 From: Paul Romero Organization: RCOM Communications Software X-Mailer: Mozilla 4.77 [en] (Win95; U) X-Accept-Language: en,es,de-DE,fr-FR MIME-Version: 1.0 To: libssh2 development Subject: Re: SFTP and libssh References: <4C36D333.2277C6FF@rcom-software.com> <20100710132432.10841.qmail@stuge.se> X-Scanned-By: MIMEDefang 2.37 X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Sat, 10 Jul 2010 20:36:54 +0200 (CEST) X-Greylist: Default is to whitelist mail, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Sat, 10 Jul 2010 20:36:32 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se Hi Peter: I looked at the examples and they are quite good. Also, I performed some experiments and concluded libssh2 is well suited to my application. I suppose the size of the library can be reduced by disabling libz compression. I noticed PIC in the configuration options. What is it and is it important ? Finally, any hints about how to minimize the library size would be appreciated. Best Regards, Paul R. Peter Stuge wrote: > Paul Romero wrote: > > I would like your opinion about using libssh2 for non-blocking > > SFTP file transfers. > > It will work just fine. > > > I am able to do this fairly well with libcurl but I suspect it > > uses more memory and resources than libssh2 because it is > > designed for more sophisticated tasks. Do you think using libssh2 > > would work without too much difficulty ? > > Did you already have a look at some of the many SFTP examples > included with libssh2? > > > //Peter > _______________________________________________ > libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel -- Paul Romero RCOM Communications Software Phone/Fax: (510)339-2628 E-Mail: paulr@rcom-software.com _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel From libssh2-devel-bounces@cool.haxx.se Sat Jul 10 22:44:14 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6AKhwwd025928; Sat, 10 Jul 2010 22:44:12 +0200 Received: from foo.birdnet.se (qmailr@foo.birdnet.se [213.88.146.6]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with SMTP id o6AKhvPq025924 for ; Sat, 10 Jul 2010 22:43:57 +0200 Received: (qmail 8665 invoked by uid 501); 10 Jul 2010 20:43:50 -0000 Message-ID: <20100710204350.8664.qmail@stuge.se> Date: Sat, 10 Jul 2010 22:43:50 +0200 From: Peter Stuge To: libssh2-devel@cool.haxx.se Subject: Re: SFTP and libssh Mail-Followup-To: libssh2-devel@cool.haxx.se References: <4C36D333.2277C6FF@rcom-software.com> <20100710132432.10841.qmail@stuge.se> <4C38BDDF.6D260DE1@rcom-software.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <4C38BDDF.6D260DE1@rcom-software.com> X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Sat, 10 Jul 2010 22:44:14 +0200 (CEST) X-Greylist: Default is to whitelist mail, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Sat, 10 Jul 2010 22:43:57 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se Paul Romero wrote: > I looked at the examples and they are quite good. Also, > I performed some experiments and concluded libssh2 > is well suited to my application. Great! > I suppose the size of the library can be reduced by > disabling libz compression. I actually doubt that, since zlib is an external dependency. The code in libssh2 that would call into zlib is very small, so the space saving in libssh2 would be minimal. But if no other package in your target system depends on zlib then you can obviously save the space needed for that, by disabling compression. > I noticed PIC in the configuration options. What is it and is it > important ? Short for Position Independent Code, and yes, all shared libraries must be compiled PIC or the machine code will make assumptions on which address in memory they will be running at, which can usually not be predicted at build time. > Finally, any hints about how to minimize the library size would be > appreciated. I'm sure you can get size down by removing everything from the library that is not absolutely neccessary. If you do a good job at that and come up with a clean patch against the current master codebase which introduces some configure options for the minimal behavior I would welcome that contribution into the official code. Another option is of course for you to locally maintain a more brutal modification of the code where you simply rip out things that you know you will never use. Then you'll have to do more work to re-do those changes if at some point you wish to use a newer version of libssh2. I just ran strip on the plain Linux objects built here: /tmp/.libs $ ls -l total 456 -rw-r--r-- 1 stuge stuge 3460 Jul 10 22:36 agent.o -rw-r--r-- 1 stuge stuge 16512 Jul 10 22:36 channel.o -rw-r--r-- 1 stuge stuge 2820 Jul 10 22:36 comp.o -rw-r--r-- 1 stuge stuge 2396 Jul 10 22:36 crypt.o -rw-r--r-- 1 stuge stuge 812 Jul 10 22:36 global.o -rw-r--r-- 1 stuge stuge 2988 Jul 10 22:36 hostkey.o -rw-r--r-- 1 stuge stuge 1084 Jul 10 22:36 keepalive.o -rw-r--r-- 1 stuge stuge 15216 Jul 10 22:36 kex.o -rw-r--r-- 1 stuge stuge 7988 Jul 10 22:36 knownhost.o -rw-r--r-- 1 stuge stuge 432 Jul 10 22:36 libgcrypt.o -rw-r--r-- 1 stuge stuge 123148 Jul 10 22:36 libssh2.a -rw-r--r-- 1 stuge stuge 2817 May 3 15:26 libssh2.exp lrwxrwxrwx 1 stuge stuge 13 Jul 10 22:33 libssh2.la -> ../libssh2.la -rw-r--r-- 1 stuge stuge 938 May 3 15:26 libssh2.lai lrwxrwxrwx 1 stuge stuge 16 Jul 10 22:33 libssh2.so -> libssh2.so.1.0.1 lrwxrwxrwx 1 stuge stuge 16 Jul 10 22:33 libssh2.so.1 -> libssh2.so.1.0.1 -rwxr-xr-x 1 stuge stuge 134128 Jul 10 22:36 libssh2.so.1.0.1 -rw-r--r-- 1 stuge stuge 2953 May 3 15:26 libssh2.ver -rw-r--r-- 1 stuge stuge 2080 Jul 10 22:36 mac.o -rw-r--r-- 1 stuge stuge 3056 Jul 10 22:36 misc.o -rw-r--r-- 1 stuge stuge 3572 Jul 10 22:36 openssl.o -rw-r--r-- 1 stuge stuge 7696 Jul 10 22:36 packet.o -rw-r--r-- 1 stuge stuge 432 Jul 10 22:36 pem.o -rw-r--r-- 1 stuge stuge 8352 Jul 10 22:36 publickey.o -rw-r--r-- 1 stuge stuge 7996 Jul 10 22:36 scp.o -rw-r--r-- 1 stuge stuge 8032 Jul 10 22:36 session.o -rw-r--r-- 1 stuge stuge 18408 Jul 10 22:36 sftp.o -rw-r--r-- 1 stuge stuge 4272 Jul 10 22:36 transport.o -rw-r--r-- 1 stuge stuge 13284 Jul 10 22:36 userauth.o -rw-r--r-- 1 stuge stuge 664 Jul 10 22:36 version.o The largest offenders are SFTP, channel and userauth, all of which you need. I guess you can strip userauth down selectively. Maybe you can remove stuff like knownhost.o and scp.o and save a few kb.. But I have to say that if the system is so size constrained that you need to hunt kilobytes then you will face severe problems quite soon anyway, so in that case I'd work on increasing storage as soon as possible instead. //Peter _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel From libssh2-devel-bounces@cool.haxx.se Sat Jul 10 23:22:12 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6ALM1D1011964; Sat, 10 Jul 2010 23:22:09 +0200 Received: from shell.lmi.net (shell.lmi.net [66.117.140.246]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6ALLvpv011913 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT) for ; Sat, 10 Jul 2010 23:21:59 +0200 Received: from rcom-software.com (75-101-82-95.dsl2st.lmi.net [75.101.82.95]) by shell.lmi.net (8.14.1/8.14.1) with ESMTP id o6ALLoX2073953 for ; Sat, 10 Jul 2010 14:21:51 -0700 (PDT) Message-ID: <4C38E4A7.249126B1@rcom-software.com> Date: Sat, 10 Jul 2010 14:22:47 -0700 From: Paul Romero Organization: RCOM Communications Software X-Mailer: Mozilla 4.77 [en] (Win95; U) X-Accept-Language: en,es,de-DE,fr-FR MIME-Version: 1.0 To: libssh2 development Subject: Re: SFTP and libssh References: <4C36D333.2277C6FF@rcom-software.com> <20100710132432.10841.qmail@stuge.se> <4C38BDDF.6D260DE1@rcom-software.com> <20100710204350.8664.qmail@stuge.se> X-Scanned-By: MIMEDefang 2.37 X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Sat, 10 Jul 2010 23:22:12 +0200 (CEST) X-Greylist: Default is to whitelist mail, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Sat, 10 Jul 2010 23:22:00 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se Peter Stuge wrote: > Paul Romero wrote: > > I looked at the examples and they are quite good. Also, > > I performed some experiments and concluded libssh2 > > is well suited to my application. > > Great! > > > I suppose the size of the library can be reduced by > > disabling libz compression. > > I actually doubt that, since zlib is an external dependency. The code > in libssh2 that would call into zlib is very small, so the space > saving in libssh2 would be minimal. But if no other package in your > target system depends on zlib then you can obviously save the space > needed for that, by disabling compression. > > > I noticed PIC in the configuration options. What is it and is it > > important ? > > Short for Position Independent Code, and yes, all shared libraries > must be compiled PIC or the machine code will make assumptions on > which address in memory they will be running at, which can usually > not be predicted at build time. > > > Finally, any hints about how to minimize the library size would be > > appreciated. > > I'm sure you can get size down by removing everything from the > library that is not absolutely neccessary. If you do a good job at > that and come up with a clean patch against the current master > codebase which introduces some configure options for the minimal > behavior I would welcome that contribution into the official code. > > Another option is of course for you to locally maintain a more brutal > modification of the code where you simply rip out things that you > know you will never use. Then you'll have to do more work to re-do > those changes if at some point you wish to use a newer version of > libssh2. > > I just ran strip on the plain Linux objects built here: > > /tmp/.libs $ ls -l > total 456 > -rw-r--r-- 1 stuge stuge 3460 Jul 10 22:36 agent.o > -rw-r--r-- 1 stuge stuge 16512 Jul 10 22:36 channel.o > -rw-r--r-- 1 stuge stuge 2820 Jul 10 22:36 comp.o > -rw-r--r-- 1 stuge stuge 2396 Jul 10 22:36 crypt.o > -rw-r--r-- 1 stuge stuge 812 Jul 10 22:36 global.o > -rw-r--r-- 1 stuge stuge 2988 Jul 10 22:36 hostkey.o > -rw-r--r-- 1 stuge stuge 1084 Jul 10 22:36 keepalive.o > -rw-r--r-- 1 stuge stuge 15216 Jul 10 22:36 kex.o > -rw-r--r-- 1 stuge stuge 7988 Jul 10 22:36 knownhost.o > -rw-r--r-- 1 stuge stuge 432 Jul 10 22:36 libgcrypt.o > -rw-r--r-- 1 stuge stuge 123148 Jul 10 22:36 libssh2.a > -rw-r--r-- 1 stuge stuge 2817 May 3 15:26 libssh2.exp > lrwxrwxrwx 1 stuge stuge 13 Jul 10 22:33 libssh2.la -> ../libssh2.la > -rw-r--r-- 1 stuge stuge 938 May 3 15:26 libssh2.lai > lrwxrwxrwx 1 stuge stuge 16 Jul 10 22:33 libssh2.so -> libssh2.so.1.0.1 > lrwxrwxrwx 1 stuge stuge 16 Jul 10 22:33 libssh2.so.1 -> libssh2.so.1.0.1 > -rwxr-xr-x 1 stuge stuge 134128 Jul 10 22:36 libssh2.so.1.0.1 > -rw-r--r-- 1 stuge stuge 2953 May 3 15:26 libssh2.ver > -rw-r--r-- 1 stuge stuge 2080 Jul 10 22:36 mac.o > -rw-r--r-- 1 stuge stuge 3056 Jul 10 22:36 misc.o > -rw-r--r-- 1 stuge stuge 3572 Jul 10 22:36 openssl.o > -rw-r--r-- 1 stuge stuge 7696 Jul 10 22:36 packet.o > -rw-r--r-- 1 stuge stuge 432 Jul 10 22:36 pem.o > -rw-r--r-- 1 stuge stuge 8352 Jul 10 22:36 publickey.o > -rw-r--r-- 1 stuge stuge 7996 Jul 10 22:36 scp.o > -rw-r--r-- 1 stuge stuge 8032 Jul 10 22:36 session.o > -rw-r--r-- 1 stuge stuge 18408 Jul 10 22:36 sftp.o > -rw-r--r-- 1 stuge stuge 4272 Jul 10 22:36 transport.o > -rw-r--r-- 1 stuge stuge 13284 Jul 10 22:36 userauth.o > -rw-r--r-- 1 stuge stuge 664 Jul 10 22:36 version.o > > The largest offenders are SFTP, channel and userauth, all of which > you need. I guess you can strip userauth down selectively. Maybe you > can remove stuff like knownhost.o and scp.o and save a few kb.. I suppose the same applies to the agent code if your system is not or can not run an agent. Basically, I think you can comment everything out it the following files: ssh2_agent.c and agent.c. > > > But I have to say that if the system is so size constrained that you > need to hunt kilobytes then you will face severe problems quite soon > anyway, so in that case I'd work on increasing storage as soon as > possible instead. > > //Peter > _______________________________________________ > libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel -- Paul Romero RCOM Communications Software Phone/Fax: (510)339-2628 E-Mail: paulr@rcom-software.com _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel From libssh2-devel-bounces@cool.haxx.se Sat Jul 10 23:34:53 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6ALYlJG017547; Sat, 10 Jul 2010 23:34:52 +0200 Received: from foo.birdnet.se (qmailr@foo.birdnet.se [213.88.146.6]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with SMTP id o6ALYkGH017542 for ; Sat, 10 Jul 2010 23:34:46 +0200 Received: (qmail 15530 invoked by uid 501); 10 Jul 2010 21:34:42 -0000 Message-ID: <20100710213442.15529.qmail@stuge.se> Date: Sat, 10 Jul 2010 23:34:42 +0200 From: Peter Stuge To: libssh2-devel@cool.haxx.se Subject: Re: SFTP and libssh Mail-Followup-To: libssh2-devel@cool.haxx.se References: <4C36D333.2277C6FF@rcom-software.com> <20100710132432.10841.qmail@stuge.se> <4C38BDDF.6D260DE1@rcom-software.com> <20100710204350.8664.qmail@stuge.se> <4C38E4A7.249126B1@rcom-software.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <4C38E4A7.249126B1@rcom-software.com> X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Sat, 10 Jul 2010 23:34:53 +0200 (CEST) X-Greylist: Default is to whitelist mail, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Sat, 10 Jul 2010 23:34:46 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se Paul Romero wrote: > > Maybe you can remove stuff like knownhost.o and scp.o and save a > > few kb.. > > I suppose the same applies to the agent code if your system is not or > can not run an agent. Basically, I think you can comment everything > out it the following files: ssh2_agent.c and agent.c. ssh2_agent.c is an example program which has absolutely nothing to do with the library. The library source code is exclusively in the src/ subdirectory. I did not suggest touching agent.o since you indicated that you were interested in increasing security in the application, and several people explained to you just yesterday that the agent interface is what you would use to do that. If you don't care for the security then you can save ~3kb. Making that tradeoff is a bad idea in my opinion, but of course it isn't my product. :) //Peter _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel From libssh2-devel-bounces@cool.haxx.se Sun Jul 11 00:14:06 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6AMDoO7001824; Sun, 11 Jul 2010 00:14:03 +0200 Received: from shell.lmi.net (shell.lmi.net [66.117.140.246]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6AMDk7L001800 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT) for ; Sun, 11 Jul 2010 00:13:47 +0200 Received: from rcom-software.com (75-101-82-95.dsl2st.lmi.net [75.101.82.95]) by shell.lmi.net (8.14.1/8.14.1) with ESMTP id o6AMDeo9075173 for ; Sat, 10 Jul 2010 15:13:40 -0700 (PDT) Message-ID: <4C38F0CC.225FC95C@rcom-software.com> Date: Sat, 10 Jul 2010 15:14:36 -0700 From: Paul Romero Organization: RCOM Communications Software X-Mailer: Mozilla 4.77 [en] (Win95; U) X-Accept-Language: en,es,de-DE,fr-FR MIME-Version: 1.0 To: libssh2 development Subject: Re: SFTP and libssh References: <4C36D333.2277C6FF@rcom-software.com> <20100710132432.10841.qmail@stuge.se> <4C38BDDF.6D260DE1@rcom-software.com> <20100710204350.8664.qmail@stuge.se> <4C38E4A7.249126B1@rcom-software.com> <20100710213442.15529.qmail@stuge.se> X-Scanned-By: MIMEDefang 2.37 X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Sun, 11 Jul 2010 00:14:06 +0200 (CEST) X-Greylist: Default is to whitelist mail, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Sun, 11 Jul 2010 00:13:48 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se Hi Peter: I understand the security issues and do care but ssh_agent won't work in my environment. Best Regards, Paul R. Peter Stuge wrote: > Paul Romero wrote: > > > Maybe you can remove stuff like knownhost.o and scp.o and save a > > > few kb.. > > > > I suppose the same applies to the agent code if your system is not or > > can not run an agent. Basically, I think you can comment everything > > out it the following files: ssh2_agent.c and agent.c. > > ssh2_agent.c is an example program which has absolutely nothing to do > with the library. The library source code is exclusively in the src/ > subdirectory. > > I did not suggest touching agent.o since you indicated that you were > interested in increasing security in the application, and several > people explained to you just yesterday that the agent interface is > what you would use to do that. > > If you don't care for the security then you can save ~3kb. Making > that tradeoff is a bad idea in my opinion, but of course it isn't > my product. :) > > //Peter > _______________________________________________ > libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel -- Paul Romero RCOM Communications Software Phone/Fax: (510)339-2628 E-Mail: paulr@rcom-software.com _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel From libssh2-devel-bounces@cool.haxx.se Sun Jul 11 00:41:44 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6AMfaPq016233; Sun, 11 Jul 2010 00:41:43 +0200 Received: from foo.birdnet.se (qmailr@foo.birdnet.se [213.88.146.6]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with SMTP id o6AMfZji016230 for ; Sun, 11 Jul 2010 00:41:35 +0200 Received: (qmail 23831 invoked by uid 501); 10 Jul 2010 22:41:31 -0000 Message-ID: <20100710224131.23830.qmail@stuge.se> Date: Sun, 11 Jul 2010 00:41:30 +0200 From: Peter Stuge To: libssh2-devel@cool.haxx.se Subject: Re: SFTP and libssh Mail-Followup-To: libssh2-devel@cool.haxx.se References: <4C36D333.2277C6FF@rcom-software.com> <20100710132432.10841.qmail@stuge.se> <4C38BDDF.6D260DE1@rcom-software.com> <20100710204350.8664.qmail@stuge.se> <4C38E4A7.249126B1@rcom-software.com> <20100710213442.15529.qmail@stuge.se> <4C38F0CC.225FC95C@rcom-software.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <4C38F0CC.225FC95C@rcom-software.com> X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Sun, 11 Jul 2010 00:41:44 +0200 (CEST) X-Greylist: Default is to whitelist mail, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Sun, 11 Jul 2010 00:41:35 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se Hi Paul, Paul Romero wrote: > I understand the security issues and do care but ssh_agent > won't work in my environment. ssh_agent is the one from OpenSSH, and if that doesn't work then maybe there is another one that will work. Simon mentioned that GnuPG has an agent and it might even make sense to write your very own agent for this product. The agent protocol is very straightforward. The best documentation is probably in the OpenSSH codebase and you can of course also look at what agent.c in libssh2 does, as well as ask questions about the protocol both on the OpenSSH list and here. //Peter _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel From libssh2-devel-bounces@cool.haxx.se Mon Jul 12 02:54:13 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6C0rmNQ027401; Mon, 12 Jul 2010 02:54:07 +0200 Received: from cardinal.doc.ic.ac.uk (cardinal.doc.ic.ac.uk [146.169.1.194]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6C0rkwX027393 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=NOT) for ; Mon, 12 Jul 2010 02:53:47 +0200 Received: from mail-ww0-f54.google.com ([74.125.82.54]) by cardinal.doc.ic.ac.uk with esmtpsa (TLS-1.0:RSA_ARCFOUR_MD5:16) (Exim 4.69) (envelope-from ) id 1OY7H7-0002rx-4i for libssh2-devel@cool.haxx.se; Mon, 12 Jul 2010 01:53:37 +0100 Received: by wwb22 with SMTP id 22so662456wwb.11 for ; Sun, 11 Jul 2010 17:53:36 -0700 (PDT) MIME-Version: 1.0 Received: by 10.227.138.9 with SMTP id y9mr2553198wbt.229.1278896016715; Sun, 11 Jul 2010 17:53:36 -0700 (PDT) Received: by 10.216.7.129 with HTTP; Sun, 11 Jul 2010 17:53:36 -0700 (PDT) Date: Mon, 12 Jul 2010 01:53:36 +0100 Message-ID: Subject: Detecting broken connection From: Alexander Lamaison To: libssh2 development X-ICDoC-Trusted: YES X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Mon, 12 Jul 2010 02:54:13 +0200 (CEST) X-Greylist: Default is to whitelist mail, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Mon, 12 Jul 2010 02:53:47 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se I keep a pool of connections open long-term. Recently I've been using them on wifi and realised that i don't handle broken sockets. What's the best way to do this so that I can resurrect stale sessions as needed? I want to test the connection somehow before issuing other 'commands' e.g. libssh2_sftp_open_ex. Currently these return some arbitrary failure (such as "Unable to send FXP_OPEN*" which I can't distinguish from other general errors making ti hard to know when to resurrect the session and when to report a failure. Any advice is very welcome :) Alex -- Swish - Easy SFTP for Windows: http://www.swish-sftp.org _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel From libssh2-devel-bounces@cool.haxx.se Mon Jul 12 04:10:56 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6C26nga027907; Mon, 12 Jul 2010 04:07:02 +0200 Received: from hrndva-omtalb.mail.rr.com (hrndva-omtalb.mail.rr.com [71.74.56.124]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6C26lev027883 for ; Mon, 12 Jul 2010 04:06:48 +0200 X-Authority-Analysis: v=1.1 cv=iR3a2x+wy8z+UqYHl7KFtKHYySPA0Tf/DXXAzrkvAHo= c=1 sm=0 a=mI6YO6ZdSLUA:10 a=O-pu0537hIgA:10 a=kj9zAlcOel0A:10 a=9At4Jy2cJ7Ox3H4DxHCJAg==:17 a=FvPGjopzIVG54O7g_ZUA:9 a=tdTducNnb1ITxAygVLvDAQuJpF8A:4 a=CjuIK1q_8ugA:10 a=9At4Jy2cJ7Ox3H4DxHCJAg==:117 X-Cloudmark-Score: 0 X-Originating-IP: 70.116.71.237 Received: from [70.116.71.237] ([70.116.71.237:49176] helo=dc7100.roadrunn.com) by hrndva-oedge02.mail.rr.com (envelope-from ) (ecelerity 2.2.2.39 r()) with ESMTP id 83/B5-17399-2B87A3C4; Mon, 12 Jul 2010 02:06:42 +0000 Received: by dc7100.roadrunn.com (Postfix, from userid 501) id BE4EA8309B2; Sun, 11 Jul 2010 21:01:36 -0500 (CDT) X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on dc7100.roadrunn.com X-Spam-Level: X-Spam-Status: No, score=-4.2 required=5.0 tests=ALL_TRUSTED,AWL,BAYES_00 autolearn=ham version=3.2.5 Received: from ngierman3 (dc7100 [192.168.1.6]) by dc7100.roadrunn.com (Postfix) with ESMTP id F094A8309B2 for ; Sun, 11 Jul 2010 21:01:35 -0500 (CDT) From: "Neil Gierman" To: "'libssh2 development'" References: In-Reply-To: Subject: RE: Detecting broken connection Date: Sun, 11 Jul 2010 21:06:34 -0500 Message-ID: <000601cb2166$da9527a0$8fbf76e0$@com> MIME-Version: 1.0 X-Mailer: Microsoft Office Outlook 12.0 Thread-Index: AcshXZqfe6HI1U5VRgmp28rlO341mgACJLDA Content-Language: en-us X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Mon, 12 Jul 2010 04:07:04 +0200 (CEST) X-Greylist: Default is to whitelist mail, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Mon, 12 Jul 2010 04:06:48 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se > I keep a pool of connections open long-term. Recently I've been using > them on wifi and realised that i don't handle broken sockets. What's > the best way to do this so that I can resurrect stale sessions as > needed? I want to test the connection somehow before issuing other > 'commands' e.g. libssh2_sftp_open_ex. Currently these return some > arbitrary failure (such as "Unable to send FXP_OPEN*" which I can't > distinguish from other general errors making ti hard to know when to > resurrect the session and when to report a failure. > > Any advice is very welcome :) > I had this same problem and the only way I was able to address it was to move to non-blocking sockets and run select to see of the socket is happy. Most of what I did was from the non blocking examples in the source code. _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel From libssh2-devel-bounces@cool.haxx.se Mon Jul 12 16:53:41 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6CErKJT023161; Mon, 12 Jul 2010 16:53:37 +0200 Received: from mail-ww0-f54.google.com (mail-ww0-f54.google.com [74.125.82.54]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6CErJiQ023152 for ; Mon, 12 Jul 2010 16:53:20 +0200 Received: by wwi18 with SMTP id 18so97387wwi.11 for ; Mon, 12 Jul 2010 07:53:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=gamma; h=domainkey-signature:mime-version:received:sender:received :in-reply-to:references:date:x-google-sender-auth:message-id:subject :from:to:content-type:content-transfer-encoding; bh=rwIIPH6XkzZGKRQ+Wmq8gWY/vlybzZzlz/Ljxchui3c=; b=Omg1lYSWlQPdsdrHEKjZqoxVJor3KHo5QBL/5akMYdjHF0zT/FiC7aUyIJCICcS7BW FVE8h3/jR16I75wj0Q95zViUiLSX13lfHYtoE8rwGiAyMqjIqZHoM5js2nNxAP+UM4Nc Bkl4HjwDLwG76fRHsyyzfd5TUlxLmsD7w86PM= DomainKey-Signature: a=rsa-sha1; c=nofws; d=googlemail.com; s=gamma; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:content-type :content-transfer-encoding; b=aKmt+2N5PaYwbVU/jRDvHmEe+6Yyx6oK+8eqJf4MxNLYg4jATHu/vBry1XjHM8VW6w TMUYeIuChfgUl39UWXv6KxIQc9koFwWdzGgSH/spVG3kAtiHt3LM1iPI29igddDHlP59 hN7HKIesc4rS5Ee5J4Dqdv0TPPE/CaVY6rHCc= MIME-Version: 1.0 Received: by 10.227.28.156 with SMTP id m28mr993437wbc.114.1278946390713; Mon, 12 Jul 2010 07:53:10 -0700 (PDT) Received: by 10.216.7.129 with HTTP; Mon, 12 Jul 2010 07:53:10 -0700 (PDT) In-Reply-To: <000601cb2166$da9527a0$8fbf76e0$@com> References: <000601cb2166$da9527a0$8fbf76e0$@com> Date: Mon, 12 Jul 2010 15:53:10 +0100 X-Google-Sender-Auth: 1qaIh73tb6BtBz5uw-XskIcemkc Message-ID: Subject: Re: Detecting broken connection From: Alexander Lamaison To: libssh2 development X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Mon, 12 Jul 2010 16:53:41 +0200 (CEST) X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Mon, 12 Jul 2010 16:53:20 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se On 12 July 2010 03:06, Neil Gierman wrote: >> I keep a pool of connections open long-term. =A0Recently I've been using >> them on wifi and realised that i don't handle broken sockets. =A0What's >> the best way to do this so that I can resurrect stale sessions as >> needed? =A0I want to test the connection somehow before issuing other >> 'commands' e.g. libssh2_sftp_open_ex. =A0Currently these return some >> arbitrary failure (such as "Unable to send FXP_OPEN*" which I can't >> distinguish from other general errors making ti hard to know when to >> resurrect the session and when to report a failure. >> >> Any advice is very welcome :) >> > > I had this same problem and the only way I was able to address it was to > move to non-blocking sockets and run select to see of the socket is happy. > Most of what I did was from the non blocking examples in the source code. How would non-blocking help here? As I understand it, if I use non-blocking all I do is filter for EAGAIN in a loop. It doesn't distinguish other errors from broken connection errors. I'm not very familiar with select. What would the consequences be of using it on a socket if libssh2 is in blocking mode? Thanks. Alex -- Swish - Easy SFTP for Windows: http://www.swish-sftp.org _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel From libssh2-devel-bounces@cool.haxx.se Mon Jul 12 18:03:09 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6CG2qCU031217; Mon, 12 Jul 2010 18:03:08 +0200 Received: from hrndva-omtalb.mail.rr.com (hrndva-omtalb.mail.rr.com [71.74.56.122]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6CG2otX031104 for ; Mon, 12 Jul 2010 18:02:51 +0200 X-Authority-Analysis: v=1.1 cv=FmZLatDjtfD3C7oE6GdrxaCbsxiNBR9ZXBX9JZchN1o= c=1 sm=0 a=mI6YO6ZdSLUA:10 a=O-pu0537hIgA:10 a=kj9zAlcOel0A:10 a=9At4Jy2cJ7Ox3H4DxHCJAg==:17 a=TfxkriyRPoTBT1httJ0A:9 a=vXMss1oxZGB7rbk4frX0kxYwxvAA:4 a=CjuIK1q_8ugA:10 a=9At4Jy2cJ7Ox3H4DxHCJAg==:117 X-Cloudmark-Score: 0 X-Originating-IP: 70.116.71.237 Received: from [70.116.71.237] ([70.116.71.237:52800] helo=dc7100.roadrunn.com) by hrndva-oedge03.mail.rr.com (envelope-from ) (ecelerity 2.2.2.39 r()) with ESMTP id 2F/4C-08568-2AC3B3C4; Mon, 12 Jul 2010 16:02:43 +0000 Received: by dc7100.roadrunn.com (Postfix, from userid 501) id E067A8309B2; Mon, 12 Jul 2010 10:57:33 -0500 (CDT) X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on dc7100.roadrunn.com X-Spam-Level: X-Spam-Status: No, score=-4.2 required=5.0 tests=ALL_TRUSTED,AWL,BAYES_00 autolearn=ham version=3.2.5 Received: from ngierman3 (dc7100 [192.168.1.6]) by dc7100.roadrunn.com (Postfix) with ESMTP id D2D608309B2 for ; Mon, 12 Jul 2010 10:57:32 -0500 (CDT) From: "Neil Gierman" To: "'libssh2 development'" References: <000601cb2166$da9527a0$8fbf76e0$@com> In-Reply-To: Subject: RE: Detecting broken connection Date: Mon, 12 Jul 2010 11:02:49 -0500 Message-ID: <000301cb21db$ad0791e0$0716b5a0$@com> MIME-Version: 1.0 X-Mailer: Microsoft Office Outlook 12.0 Thread-Index: Acsh0vLEH9vSqxzDTZudI0HaFxUObwAA8TbA Content-Language: en-us X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Mon, 12 Jul 2010 18:03:09 +0200 (CEST) X-Greylist: Default is to whitelist mail, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Mon, 12 Jul 2010 18:02:51 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se > How would non-blocking help here? As I understand it, if I use > non-blocking all I do is filter for EAGAIN in a loop. It doesn't > distinguish other errors from broken connection errors. In that EAGAIN Loop you should also be able to run select to check the status of the socket itself. > > I'm not very familiar with select. What would the consequences be of > using it on a socket if libssh2 is in blocking mode? > > Thanks. > In blocking mode, you don't have the ability to check the socket once you make the call. If you want to check the status of the socket before you make the blocking call that would work as well. _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel From libssh2-devel-bounces@cool.haxx.se Mon Jul 12 18:31:30 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6CGVNdi017476; Mon, 12 Jul 2010 18:31:29 +0200 Received: from giant.haxx.se (dast@giant.haxx.se [80.67.6.50]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6CGVMcr017469 for ; Mon, 12 Jul 2010 18:31:22 +0200 Date: Mon, 12 Jul 2010 18:31:22 +0200 (CEST) From: Daniel Stenberg X-X-Sender: dast@giant.haxx.se To: libssh2 development Subject: RE: Detecting broken connection In-Reply-To: <000601cb2166$da9527a0$8fbf76e0$@com> Message-ID: References: <000601cb2166$da9527a0$8fbf76e0$@com> User-Agent: Alpine 2.00 (DEB 1167 2008-08-23) X-fromdanielhimself: yes MIME-Version: 1.0 X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Mon, 12 Jul 2010 18:31:30 +0200 (CEST) X-Greylist: Default is to whitelist mail, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Mon, 12 Jul 2010 18:31:22 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="us-ascii"; Format="flowed" Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se On Sun, 11 Jul 2010, Neil Gierman wrote: > I had this same problem and the only way I was able to address it was to > move to non-blocking sockets and run select to see of the socket is happy. > Most of what I did was from the non blocking examples in the source code. There's no need for non-blocking for that. If you _know_ the sockets should be silent (ie there's no TCP traffic on them) you can select() to see if they've become readable, and if they are in spite of you knowing they shouldn't be, reading 0 bytes from them indicates they're disconnected. Of course, TCP connections can just go "stalled" as well without being possible to detect this easily. -- / daniel.haxx.se _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel From libssh2-devel-bounces@cool.haxx.se Mon Jul 12 20:12:25 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6CIC6tR015669; Mon, 12 Jul 2010 20:12:22 +0200 Received: from smtp.kineticode.com (host-201.commandprompt.net [207.173.203.201]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6CIC5od015644 for ; Mon, 12 Jul 2010 20:12:05 +0200 Received: from [10.0.1.15] (c-24-21-193-250.hsd1.or.comcast.net [24.21.193.250]) by smtp.kineticode.com (Postfix) with ESMTPSA id 7625C50805C; Mon, 12 Jul 2010 11:12:00 -0700 (PDT) From: "David E. Wheeler" Subject: Error Handling with Net::SSH2 Date: Mon, 12 Jul 2010 11:11:59 -0700 Message-Id: To: libssh2 development Mime-Version: 1.0 (Apple Message framework v1081) X-Mailer: Apple Mail (2.1081) X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Mon, 12 Jul 2010 20:12:25 +0200 (CEST) X-Greylist: Default is to whitelist mail, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Mon, 12 Jul 2010 20:12:06 +0200 (CEST) Cc: Bret Dawson X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se Howdy, I've updated the code in Bricolage that uses Net::SSH2 (the Perl interface to libssh2) to distribute files to servers. The update now properly checks error conditions. As a result, there are now more errors to deal with. So I'm trying to figure out the cause of them. The complete code is here: http://github.com/bricoleurs/bricolage/blob/master/lib/Bric/Util/Trans/SFTP.pm The first error is from this excerpt from line 290: my $ret = $ssh2->auth( ($server->get_login ? ( username => $server->get_login, password => $server->get_password, ) : ()), (SFTP_PUBLIC_KEY_FILE ? ( publickey => SFTP_PUBLIC_KEY_FILE, privatekey => SFTP_PRIVATE_KEY_FILE, ) : ()), ); throw_gen( error => "Error authenticating to '$hn' via SSH2", payload => join ' ', $ssh2->error, ) unless $ret && $ssh2->auth_ok; The error, thrown in that last statement, is: -37 LIBSSH2_ERROR_EAGAIN Would block requesting userauth list I think that there might be both a login and a SFTP_PUBLIC_KEY_FILE value. Is there really any harm in passing both the username/password and publickey/privatekey params? Is that in fact the source of the error? Should this error simply be ignored? The second error comes from this statement at line 177: $sftp->rename($temp_dest, $dest_file) or throw_gen( error => "Error renaming '$temp_dest' to '$dest_file' on '$hn'", payload => join ' ', $sftp->error ); The error is: 4 SSH_FX_FAILURE Which seems to be because the server to which we've connected has generated some sort of error. But beyond that, I'm mystified. The call to scp_put() appears to have worked at line 172, so I'm not sure why it would complain about a rename(). Is there any way to get more information about the underlying error? Thanks, David _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel From libssh2-devel-bounces@cool.haxx.se Mon Jul 12 20:34:37 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6CIYW2h028739; Mon, 12 Jul 2010 20:34:36 +0200 Received: from giant.haxx.se (dast@giant.haxx.se [80.67.6.50]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6CIYURt028724; Mon, 12 Jul 2010 20:34:30 +0200 Date: Mon, 12 Jul 2010 20:34:30 +0200 (CEST) From: Daniel Stenberg X-X-Sender: dast@giant.haxx.se To: libssh2 development Subject: Re: Error Handling with Net::SSH2 In-Reply-To: Message-ID: References: User-Agent: Alpine 2.00 (DEB 1167 2008-08-23) X-fromdanielhimself: yes MIME-Version: 1.0 X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Mon, 12 Jul 2010 20:34:37 +0200 (CEST) X-Greylist: Default is to whitelist mail, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Mon, 12 Jul 2010 20:34:30 +0200 (CEST) Cc: Bret Dawson X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="us-ascii"; Format="flowed" Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se On Mon, 12 Jul 2010, David E. Wheeler wrote: > The error, thrown in that last statement, is: > > -37 LIBSSH2_ERROR_EAGAIN Would block requesting userauth list This might be a wrong error code as I think we fixed a bug related to such a case a while ago. What libssh2 version are you using? > The second error comes from this statement at line 177: > > $sftp->rename($temp_dest, $dest_file) or throw_gen( > error => "Error renaming '$temp_dest' to '$dest_file' on '$hn'", > payload => join ' ', $sftp->error > ); > > The error is: > > 4 SSH_FX_FAILURE > > Which seems to be because the server to which we've connected has generated > some sort of error. But beyond that, I'm mystified. The call to scp_put() > appears to have worked at line 172, so I'm not sure why it would complain > about a rename(). Is there any way to get more information about the > underlying error? I would recommend enabling debug tracing with libssh2 and that you then submit that log here. But a related test is also to see if for example openssh's sftp client can do the rename without problem. -- / daniel.haxx.se _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel From libssh2-devel-bounces@cool.haxx.se Mon Jul 12 21:08:53 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6CJ8i2A019097; Mon, 12 Jul 2010 21:08:52 +0200 Received: from smtp.kineticode.com (host-201.commandprompt.net [207.173.203.201]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6CJ8g2B019091 for ; Mon, 12 Jul 2010 21:08:43 +0200 Received: from [10.0.1.15] (c-24-21-193-250.hsd1.or.comcast.net [24.21.193.250]) by smtp.kineticode.com (Postfix) with ESMTPSA id 5AAF850805C; Mon, 12 Jul 2010 12:08:39 -0700 (PDT) Subject: Re: Error Handling with Net::SSH2 Mime-Version: 1.0 (Apple Message framework v1081) From: "David E. Wheeler" In-Reply-To: Date: Mon, 12 Jul 2010 12:08:38 -0700 Message-Id: <23AC8413-E7FF-4BF3-99E9-07F3E2B1FD61@kineticode.com> References: To: libssh2 development X-Mailer: Apple Mail (2.1081) X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Mon, 12 Jul 2010 21:08:53 +0200 (CEST) X-Greylist: Default is to whitelist mail, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Mon, 12 Jul 2010 21:08:43 +0200 (CEST) Cc: Bret Dawson X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se On Jul 12, 2010, at 11:34 AM, Daniel Stenberg wrote: > On Mon, 12 Jul 2010, David E. Wheeler wrote: > >> The error, thrown in that last statement, is: >> >> -37 LIBSSH2_ERROR_EAGAIN Would block requesting userauth list > > This might be a wrong error code as I think we fixed a bug related to such a case a while ago. What libssh2 version are you using? The report for these issues came from Bret Dawson, whom I've Cc'd. Bret, can you check that with perl -MNet::SSH2 -le 'print Net::SSH2->version' ? > I would recommend enabling debug tracing with libssh2 and that you then submit that log here. But a related test is also to see if for example openssh's sftp client can do the rename without problem. Bret, I need to rely on you for this, too. In Bric::Util::Trans::SFTP, just add, near the top: Net::SSH2->debug(1); Then tail your log (debugging will be sent to STDERR). Thanks for the pointers, Daniel. Best, David _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel From libssh2-devel-bounces@cool.haxx.se Mon Jul 12 22:31:43 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6CKVUlN030051; Mon, 12 Jul 2010 22:31:42 +0200 Received: from smtp.kineticode.com (host-201.commandprompt.net [207.173.203.201]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6CKVR3G030037 for ; Mon, 12 Jul 2010 22:31:28 +0200 Received: from [10.0.1.15] (c-24-21-193-250.hsd1.or.comcast.net [24.21.193.250]) by smtp.kineticode.com (Postfix) with ESMTPSA id 7E9D250805C; Mon, 12 Jul 2010 13:31:23 -0700 (PDT) Subject: Re: Error Handling with Net::SSH2 Mime-Version: 1.0 (Apple Message framework v1081) From: "David E. Wheeler" In-Reply-To: <1278965497.2016.20.camel@bret-redbook> Date: Mon, 12 Jul 2010 13:31:22 -0700 Message-Id: References: <23AC8413-E7FF-4BF3-99E9-07F3E2B1FD61@kineticode.com> <1278965497.2016.20.camel@bret-redbook> To: Bret Dawson X-Mailer: Apple Mail (2.1081) X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Mon, 12 Jul 2010 22:31:43 +0200 (CEST) X-Greylist: Default is to whitelist mail, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Mon, 12 Jul 2010 22:31:28 +0200 (CEST) Cc: libssh2 development X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se On Jul 12, 2010, at 1:11 PM, Bret Dawson wrote: > Hi David > > Here are those details. Crossing my fingers! > >> Bret, can you check that with >> >> perl -MNet::SSH2 -le 'print Net::SSH2->version' > > 1.165792SSH-2.0-libssh2_1.1 Thanks. >> Bret, I need to rely on you for this, too. In Bric::Util::Trans::SFTP, just add, near the top: >> >> Net::SSH2->debug(1); >> >> Then tail your log (debugging will be sent to STDERR). > > These are the relevant lines from the Bricolage error log, which don't > reveal too much more than the original stack. Is that the log you meant? > > .0.4 Perl/v5.10.0 configured -- resuming normal operations > Net::SSH2: created new object 0x23561e88 > [Mon Jul 12 20:08:13 2010] [error] [client 68.49.236.34] Error > authenticating to 'arse.ca' via SSH2: -37 LIBSSH2_ERROR_EAGAIN Would > block requesting userauth list, referer: > https://hostname.hostname.host/workflow/profile/preview/control/story/1025?checkout=1 > [/usr/local/bricolage/lib/Bric/Util/Trans/SFTP.pm:300] No, that's just a Perl stack track. We need debugging output from libssh2. I'm hoping that if you turn on Net::SSH2->debug(1) and restart and try the distribution again, it will send a lot more info to the log as to what it's doing. But can you do a rename using scp on the command-line? Thanks, David _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel From libssh2-devel-bounces@cool.haxx.se Mon Jul 12 22:39:44 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6CKddRQ000350; Mon, 12 Jul 2010 22:39:43 +0200 Received: from giant.haxx.se (dast@giant.haxx.se [80.67.6.50]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6CKdcYp000344; Mon, 12 Jul 2010 22:39:38 +0200 Date: Mon, 12 Jul 2010 22:39:38 +0200 (CEST) From: Daniel Stenberg X-X-Sender: dast@giant.haxx.se To: libssh2 development Subject: Re: Error Handling with Net::SSH2 In-Reply-To: Message-ID: References: <23AC8413-E7FF-4BF3-99E9-07F3E2B1FD61@kineticode.com> <1278965497.2016.20.camel@bret-redbook> User-Agent: Alpine 2.00 (DEB 1167 2008-08-23) X-fromdanielhimself: yes MIME-Version: 1.0 X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Mon, 12 Jul 2010 22:39:44 +0200 (CEST) X-Greylist: Default is to whitelist mail, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Mon, 12 Jul 2010 22:39:38 +0200 (CEST) Cc: Bret Dawson X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="us-ascii"; Format="flowed" Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se On Mon, 12 Jul 2010, David E. Wheeler wrote: >> 1.165792SSH-2.0-libssh2_1.1 libssh2 1.1 is actually quite old by now, we've done 7 releases since then and fixed numerous bugs. It would be a good idea to start out by trying to update libssh2 to a recent release! > But can you do a rename using scp on the command-line? scp can't rename. scp is just a thin layer on top of SSH, while SFTP is a complete subsystem and uses a different code path in the server end than what plain SSH/SCP does, so a test with another tool would have to use SFTP for the test to be valid. -- / daniel.haxx.se _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel From libssh2-devel-bounces@cool.haxx.se Mon Jul 12 23:47:18 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6CLkxlE003061; Mon, 12 Jul 2010 23:47:14 +0200 Received: from smtp.kineticode.com (host-201.commandprompt.net [207.173.203.201]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6CLkvGc003054 for ; Mon, 12 Jul 2010 23:46:57 +0200 Received: from [10.0.1.15] (c-24-21-193-250.hsd1.or.comcast.net [24.21.193.250]) by smtp.kineticode.com (Postfix) with ESMTPSA id 53D0550805F; Mon, 12 Jul 2010 14:46:52 -0700 (PDT) Subject: Re: Error Handling with Net::SSH2 Mime-Version: 1.0 (Apple Message framework v1081) From: "David E. Wheeler" In-Reply-To: Date: Mon, 12 Jul 2010 14:46:51 -0700 Message-Id: <98730370-6A2D-4129-A853-2A5551907EC7@kineticode.com> References: <23AC8413-E7FF-4BF3-99E9-07F3E2B1FD61@kineticode.com> <1278965497.2016.20.camel@bret-redbook> To: libssh2 development X-Mailer: Apple Mail (2.1081) X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Mon, 12 Jul 2010 23:47:18 +0200 (CEST) X-Greylist: Default is to whitelist mail, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Mon, 12 Jul 2010 23:46:57 +0200 (CEST) Cc: Bret Dawson X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se On Jul 12, 2010, at 1:39 PM, Daniel Stenberg wrote: > On Mon, 12 Jul 2010, David E. Wheeler wrote: > >>> 1.165792SSH-2.0-libssh2_1.1 > > libssh2 1.1 is actually quite old by now, we've done 7 releases since then and fixed numerous bugs. It would be a good idea to start out by trying to update libssh2 to a recent release! > >> But can you do a rename using scp on the command-line? > > scp can't rename. scp is just a thin layer on top of SSH, while SFTP is a complete subsystem and uses a different code path in the server end than what plain SSH/SCP does, so a test with another tool would have to use SFTP for the test to be valid. Right, sorry, I mean sftp. Thanks, David _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel From libssh2-devel-bounces@cool.haxx.se Tue Jul 13 05:25:36 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6D3PDtV003885; Tue, 13 Jul 2010 05:25:31 +0200 Received: from smtp.kineticode.com (host-201.commandprompt.net [207.173.203.201]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6D3PBB4003880 for ; Tue, 13 Jul 2010 05:25:12 +0200 Received: from [10.0.1.15] (c-24-21-193-250.hsd1.or.comcast.net [24.21.193.250]) by smtp.kineticode.com (Postfix) with ESMTPSA id 5E5AF50805F; Mon, 12 Jul 2010 20:25:09 -0700 (PDT) Subject: Re: Error Handling with Net::SSH2 Mime-Version: 1.0 (Apple Message framework v1081) From: "David E. Wheeler" In-Reply-To: <1278979518.3604.57.camel@bret-redbook> Date: Mon, 12 Jul 2010 20:25:08 -0700 Message-Id: <930492C4-FF24-41CD-BA80-694A3051F9F2@kineticode.com> References: <23AC8413-E7FF-4BF3-99E9-07F3E2B1FD61@kineticode.com> <1278965497.2016.20.camel@bret-redbook> <1278979518.3604.57.camel@bret-redbook> To: Bret Dawson X-Mailer: Apple Mail (2.1081) X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Tue, 13 Jul 2010 05:25:36 +0200 (CEST) X-Greylist: Default is to whitelist mail, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Tue, 13 Jul 2010 05:25:12 +0200 (CEST) Cc: libssh2 development X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se On Jul 12, 2010, at 5:05 PM, Bret Dawson wrote: > Those are the steps I followed: > > 1. turn on Net::SSH2->debug(1), then > 2. restart Bricolage, then > 3. re-try distribution) > > The difference was just that one extra line in the error log: > "Net::SSH2: created new object 0x23561e88" Bah! Okay, there is no way to turn on ssh2 tracing via the Net::SSH2 API. You'll have to uncomment this line in SSH2.xs and rebuild: /*libssh2_trace(RETVAL->session, -1);*/ /* enable tracing if debug build */ >> But can you do a rename using scp on the command-line? > > Using sftp, yes, I can. It was the first time I'd used sftp at the > commandline, and I got a first-time warning ("authenticity can't be > established, are you sure, permanently adding to known hpsts, etc.") > just like the one you see the first time you login by ssh. But this is a > machine I login to all the time, from a source machine I use all the > time. Does sftp keep its own list of known hosts? Seems likely. > Update: The SFTP distribution now seems to work with username/password. > Key-only still fails, with the same error as before. Hopefully the trace will help. But also upgrade to the latest libssh2, as Daniel says that your version is pretty old. Best, David _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel From libssh2-devel-bounces@cool.haxx.se Tue Jul 13 20:45:41 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6DIjNv7020817; Tue, 13 Jul 2010 20:45:37 +0200 Received: from smtp.kineticode.com (host-201.commandprompt.net [207.173.203.201]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6DIjK96020770 for ; Tue, 13 Jul 2010 20:45:20 +0200 Received: from [10.0.1.15] (c-24-21-193-250.hsd1.or.comcast.net [24.21.193.250]) by smtp.kineticode.com (Postfix) with ESMTPSA id 0A4C0508057; Tue, 13 Jul 2010 11:45:13 -0700 (PDT) Subject: Re: Error Handling with Net::SSH2 Mime-Version: 1.0 (Apple Message framework v1081) From: "David E. Wheeler" In-Reply-To: <930492C4-FF24-41CD-BA80-694A3051F9F2@kineticode.com> Date: Tue, 13 Jul 2010 11:45:11 -0700 Message-Id: References: <23AC8413-E7FF-4BF3-99E9-07F3E2B1FD61@kineticode.com> <1278965497.2016.20.camel@bret-redbook> <1278979518.3604.57.camel@bret-redbook> <930492C4-FF24-41CD-BA80-694A3051F9F2@kineticode.com> To: libssh2 development X-Mailer: Apple Mail (2.1081) X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Tue, 13 Jul 2010 20:45:41 +0200 (CEST) X-Greylist: Default is to whitelist mail, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Tue, 13 Jul 2010 20:45:20 +0200 (CEST) Cc: Bret Dawson , Michael Herring X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se On Jul 12, 2010, at 8:25 PM, David E. Wheeler wrote: >> The difference was just that one extra line in the error log: >> "Net::SSH2: created new object 0x23561e88" > > Bah! Okay, there is no way to turn on ssh2 tracing via the Net::SSH2 API. You'll have to uncomment this line in SSH2.xs and rebuild: > > /*libssh2_trace(RETVAL->session, -1);*/ /* enable tracing if debug build */ Okay, now I'm getting the error: Error putting file '/usr/local/htdocs/foo.ppt' on 'prod.example.com': -37 LIBSSH2_ERROR_EAGAIN Unable to send channel data The file was only partly distributed (it's 30MB but only 1.8M made it over). I rebuilt with debugging enabled, but then the transfer worked! So I built again with debugging disabled and it went back to partial transfers. Frustrating. I ran into this same issue a few weeks ago, but at that time we noticed that the symlink, /usr/local/lib/libssh2.so, was pointed at an older install. We updated it to a newer version and all was well. But now it's back, all the old files are gone, and this failure has returned. I can produce the (huge!) log of the trace output of the successful scp if you think it will help. Thanks, David _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel From libssh2-devel-bounces@cool.haxx.se Wed Jul 14 03:13:44 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6E1DKF1004134; Wed, 14 Jul 2010 03:13:39 +0200 Received: from mail-ww0-f54.google.com (mail-ww0-f54.google.com [74.125.82.54]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6E1DJkc004119 for ; Wed, 14 Jul 2010 03:13:19 +0200 Received: by wwi18 with SMTP id 18so1727304wwi.11 for ; Tue, 13 Jul 2010 18:13:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=gamma; h=domainkey-signature:mime-version:received:sender:received :in-reply-to:references:date:x-google-sender-auth:message-id:subject :from:to:content-type; bh=PBk5I7wAdYDzhsIqczlZSL2lJ9cawsko2HvBX9luYwg=; b=SqS6s5DW13bMO4rG/0di0W3XMqV/RhCwGNnq0A6fhUYGeaL9gelc4Z38QNveyTAkbT B1IH6ecHUUqoloOSnAdc1eeZSWEIi9wgWIp+SDhJ0QLxVydPyVXtYkWY1KEALnrxE+om lJwhfEfikPS+lX+ajDvzY6obMHalkHiq8vij0= DomainKey-Signature: a=rsa-sha1; c=nofws; d=googlemail.com; s=gamma; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:content-type; b=EcdAoUSzARTwNd73xzTRWS1c4mGSp3kF8R0lm+OgHJRT2QEGwAW6BX4Tyj20cxxdht aISNcTyzKpjMtI8RgR1RuacytXoXMqJdcTL/JO3ezD0fZc7cACckCpwVu8fs5YBHXtte I9Pq+rufc1safUWrttRGPuEN8dJtH+f7sQj/I= MIME-Version: 1.0 Received: by 10.227.136.136 with SMTP id r8mr14596672wbt.156.1279069990034; Tue, 13 Jul 2010 18:13:10 -0700 (PDT) Received: by 10.216.15.214 with HTTP; Tue, 13 Jul 2010 18:13:09 -0700 (PDT) In-Reply-To: References: <000601cb2166$da9527a0$8fbf76e0$@com> Date: Wed, 14 Jul 2010 02:13:09 +0100 X-Google-Sender-Auth: DPZn912VFu8m6Q_NOcIPF0_kZm4 Message-ID: Subject: Re: Detecting broken connection From: Alexander Lamaison To: libssh2 development X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Wed, 14 Jul 2010 03:13:44 +0200 (CEST) X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Wed, 14 Jul 2010 03:13:20 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se On 12 July 2010 17:31, Daniel Stenberg wrote: > > If you _know_ the sockets should be silent (ie there's no TCP traffic on > them) you can select() to see if they've become readable, and if they are in > spite of you knowing they shouldn't be, reading 0 bytes from them indicates > they're disconnected. Do I need to actually do the read? What would a >0 return value indicate? Presumably that I'd gotten my logic wrong and the socket wasn't meant to be silent (impossible, I think, as long as I use blocking libssh2 calls?). There doesn't seem to be a recoverable scenario regardless the result of the read so I'm better off not doing it at all and trashing the session anyway. Many thanks. Alex -- Swish - Easy SFTP for Windows. http://www.swish-sftp.org _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel From libssh2-devel-bounces@cool.haxx.se Wed Jul 14 12:58:52 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6EAwYhn000783; Wed, 14 Jul 2010 12:58:49 +0200 Received: from oproxy3-pub.bluehost.com (oproxy3-pub.bluehost.com [69.89.21.8]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with SMTP id o6EAwVK9000773 for ; Wed, 14 Jul 2010 12:58:33 +0200 Received: (qmail 23226 invoked by uid 0); 14 Jul 2010 10:58:28 -0000 Received: from unknown (HELO box439.bluehost.com) (69.89.31.239) by oproxy3.bluehost.com with SMTP; 14 Jul 2010 10:58:28 -0000 DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=default; d=moontechnolabs.com; h=Received:Content-Type:Mime-Version:Subject:From:In-Reply-To:Date:Content-Transfer-Encoding:Message-Id:References:To:X-Mailer:X-Identified-User; b=lw5XdGU+w1LEmzUmKt5ePDKQcT+KejuzMwt7Qpvqn4ZuEtPQ6vH5qo8NCNTaemJfwRioWjQ8Qt+i1peg2n95SDMiYjDuXF5PBLz5sxG9x6iMmq39u9M4i4ir1yxKxdcd; Received: from [122.170.34.12] (helo=[192.168.1.111]) by box439.bluehost.com with esmtpsa (TLSv1:AES128-SHA:128) (Exim 4.69) (envelope-from ) id 1OYzfW-0001BL-Tr for libssh2-devel@cool.haxx.se; Wed, 14 Jul 2010 04:58:28 -0600 Mime-Version: 1.0 (Apple Message framework v1078) Subject: Re: Remote Terminal with iPhone SDK From: Paresh Thakor In-Reply-To: Date: Wed, 14 Jul 2010 16:28:20 +0530 Message-Id: <7EDBF258-D548-4F0A-A8E2-39CDCE9F76BA@moontechnolabs.com> References: <95E9486B-38E2-4106-9F37-1A3B1AD67D64@moontechnolabs.com> <20100628102527.8883.qmail@stuge.se> <6302E319-3D99-4923-9444-BF0AB752DE10@moontechnolabs.com> <20100628105654.14324.qmail@stuge.se> To: libssh2 development X-Mailer: Apple Mail (2.1078) X-Identified-User: {1089:box439.bluehost.com:moonsoft:moontechnolabs.com} {sentby:smtp auth 122.170.34.12 authed with paresh.thakor@moontechnolabs.com} X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Wed, 14 Jul 2010 12:58:52 +0200 (CEST) X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Wed, 14 Jul 2010 12:58:33 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se Hey Peter, Back here again, I had long pause after our few days chat long ago. I was working on the mobile terminal code you suggested and few other applications. So, got somewhat free to have close look on the application you suggested. After close inspection and debugging methods, we've come to know that the application doesn't use libssh. It uses built-in terminal (TTY) through files. Like, dumping all commands and o/p in a file. And the code is written with fully integration with other classes, so, generally very time consuming to get it work for our application. I tried to use libssh2 for the application with a try. But not able to parse the output because output in mobile terminal comes from dumped file which is not the case for libssh2. i've tried to decode o/p from libssh2 command execution but not very easy to make it done. Few other ooptions also i've tried..! Right now, i'm implementing libssh2 command execution as it's because it's working in my application. Just trying to reuse the decoding functionality for the app, so, i can make the o/p to be displayed on the screen (UIView). Could you please suggest me something so i can reuse for my application? I am somewhat stuck with the application, due to VI and nano editior commands and top command as well..! Regards, Paresh Thakor. On Jun 28, 2010, at 4:33 PM, Paresh Thakor wrote: > > Hi, Thanks Peter for your response and i'm now making some research on what you suggested..! Thanks. > > > On Jun 28, 2010, at 4:26 PM, Peter Stuge wrote: > >> Paresh Thakor wrote: >>> Thanks for your kind reply... but you say that i am using libssh2 >>> in proper way that i don't think right. >> >> Yes. The problem you are facing has nothing to do with libssh2. The >> part of your program that *is* related to libssh2 is already working >> correctly for you. >> >> >>> Because i need to create a proper and complete terminal emulator >>> and i resulted in simple UITextView based command/output system. >> >> http://developer.apple.com/iphone/library/documentation/uikit/reference/UITextView_Class/Reference/UITextView.html >> >> "The UITextView class implements the behavior for a scrollable, >> multiline text region." >> >> UITextView is completely useless as a terminal emulator. >> >> >>> And i can't get what it PuTTY, i made some search on that but >>> there's no proper answer for the suggestion. >> >> The first hit on google.com is: >> >> http://www.chiark.greenend.org.uk/~sgtatham/putty/ >> PuTTY: A Free Telnet/SSH Client >> >> Surely you saw that? Study the source code. Learn about terminal >> emulators. Also search for information about terminal emulators of >> course, and study the material that you find. >> >> Again, the first hit on google.com is: >> >> http://en.wikipedia.org/wiki/Terminal_emulator >> >> If you have problems even finding this quite basic information then >> I would caution against continuing this project now. Terminal >> emulators will cause you much more trouble. >> >> >>> IF you know iPhone programming then suggest me something. >> >> I don't. >> >> >>> rc = libssh2_channel_request_pty( channel, "xterm"); This is my PTY >>> function. I don't know what to use to display terminal so it looks >>> like real termina. >> >> In the function call you tell the server that you are xterm. >> (xterm is one specific terminal program.) >> >> Now the server will use the escape sequences that xterm understands. >> In order to display the screen correctly you must interpret them in >> your program. This is what a terminal emulator does. You can look at >> the xterm source code, but xterm is very full featured and the code >> is rather large, so it is not the best reference for a minimal >> terminal emulator. >> >> It seems that someone is already working on what you need. The very >> first hit on google.com when searching for iphone terminal emulator >> is: >> >> http://code.google.com/p/mobileterminal/ >> mobileterminal >> A GUI Terminal application for the iPhone >> >> Integrate this with libssh2 correctly and you might be finished >> already. >> >> >> //Peter >> _______________________________________________ >> libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel > > _______________________________________________ > libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel From libssh2-devel-bounces@cool.haxx.se Wed Jul 14 17:33:21 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6EFX5cB019235; Wed, 14 Jul 2010 17:33:18 +0200 Received: from giant.haxx.se (dast@giant.haxx.se [80.67.6.50]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6EFWsbd019144 for ; Wed, 14 Jul 2010 17:32:54 +0200 Date: Wed, 14 Jul 2010 17:32:54 +0200 (CEST) From: Daniel Stenberg X-X-Sender: dast@giant.haxx.se To: libssh2 development Subject: Re: Detecting broken connection In-Reply-To: Message-ID: References: <000601cb2166$da9527a0$8fbf76e0$@com> User-Agent: Alpine 2.00 (DEB 1167 2008-08-23) X-fromdanielhimself: yes MIME-Version: 1.0 X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Wed, 14 Jul 2010 17:33:21 +0200 (CEST) X-Greylist: Default is to whitelist mail, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Wed, 14 Jul 2010 17:32:54 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="us-ascii"; Format="flowed" Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se On Wed, 14 Jul 2010, Alexander Lamaison wrote: >> If you _know_ the sockets should be silent (ie there's no TCP traffic on >> them) you can select() to see if they've become readable, and if they are >> in spite of you knowing they shouldn't be, reading 0 bytes from them >> indicates they're disconnected. > > Do I need to actually do the read? Not necessarily no. If you are sure they should be idle, you can skip the reading. > What would a >0 return value indicate? That data came over the connection anyway! > Presumably that I'd gotten my logic wrong and the socket wasn't meant to be > silent Exactly! -- / daniel.haxx.se _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel From libssh2-devel-bounces@cool.haxx.se Wed Jul 14 20:17:18 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6EIH1n0002452; Wed, 14 Jul 2010 20:17:15 +0200 Received: from mail-ww0-f54.google.com (mail-ww0-f54.google.com [74.125.82.54]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6EIGwBs002428 for ; Wed, 14 Jul 2010 20:17:00 +0200 Received: by wwi18 with SMTP id 18so2520212wwi.11 for ; Wed, 14 Jul 2010 11:16:47 -0700 (PDT) MIME-Version: 1.0 Received: by 10.227.29.68 with SMTP id p4mr5874874wbc.0.1279131406704; Wed, 14 Jul 2010 11:16:46 -0700 (PDT) Received: by 10.216.236.30 with HTTP; Wed, 14 Jul 2010 11:16:46 -0700 (PDT) In-Reply-To: References: <000601cb2166$da9527a0$8fbf76e0$@com> Date: Wed, 14 Jul 2010 20:16:46 +0200 Message-ID: Subject: Re: Detecting broken connection From: Jose Baars To: libssh2 development X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Wed, 14 Jul 2010 20:17:18 +0200 (CEST) X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Wed, 14 Jul 2010 20:17:00 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: multipart/mixed; boundary="===============1105035901==" Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se --===============1105035901== Content-Type: multipart/alternative; boundary=0022159752261e2a8d048b5cfd33 --0022159752261e2a8d048b5cfd33 Content-Type: text/plain; charset=ISO-8859-1 What also helps or might even be necessary, depending on your operating system etc., is turning on SO_KEEPALIVE with set socketopt on your socket. If you set this, you get an error from your socket, especially when doing a select(), if the connection is broken, if you don't set it, you may not. If you're lucky, your system admin turned this on as a system-wide default, if you're not lucky, or on Linux (where you can't turn this on as a system wide default the last time I looked), you might not be able to detect a broken connection. The SSH keepalive options might mitigate this, but I did not try, so no idea. --0022159752261e2a8d048b5cfd33 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable What also helps or might even be necessary, depending on your operating sys= tem etc.,
is turning on SO_KEEPALIVE with set socketopt on your socket. =
If you set this, you get an error from your socket, especially when doi= ng a select(),
if the connection is broken, if you don't set it, you may not.

= If you're lucky, your system admin turned this on as a system-wide defa= ult,
if you're not lucky, or on Linux (where you can't turn this= on as a system wide default
the last time I looked), you might not be able to detect a broken connectio= n.

The SSH keepalive options might m= itigate this, but I did not try, so no idea.

--0022159752261e2a8d048b5cfd33-- --===============1105035901== 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 --===============1105035901==-- From libssh2-devel-bounces@cool.haxx.se Wed Jul 14 21:19:40 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6EJJNAW004442; Wed, 14 Jul 2010 21:19:35 +0200 Received: from foo.birdnet.se (qmailr@foo.birdnet.se [213.88.146.6]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with SMTP id o6EJJN3F004435 for ; Wed, 14 Jul 2010 21:19:23 +0200 Received: (qmail 29769 invoked by uid 501); 14 Jul 2010 19:19:19 -0000 Message-ID: <20100714191919.29768.qmail@stuge.se> Date: Wed, 14 Jul 2010 21:19:19 +0200 From: Peter Stuge To: libssh2-devel@cool.haxx.se Subject: Re: Detecting broken connection Mail-Followup-To: libssh2-devel@cool.haxx.se References: <000601cb2166$da9527a0$8fbf76e0$@com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Wed, 14 Jul 2010 21:19:39 +0200 (CEST) X-Greylist: Default is to whitelist mail, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Wed, 14 Jul 2010 21:19:23 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se Jose Baars wrote: > What also helps or might even be necessary .. > is turning on SO_KEEPALIVE Beware. Enabling TCP keepalive is not neccessarily a feature. For example on a laptop which may have intermittent VPN connectivity, I consider the keepalive default in Linux to be really superior. It's great that the ssh connections just magically continue to work the next time the VPN comes up. > if you're not lucky, or on Linux (where you can't turn this on as a > system wide default the last time I looked), you might not be able > to detect a broken connection. http://www.ibiblio.org/pub/Linux/docs/HOWTO/TCP-Keepalive-HOWTO > The SSH keepalive options might mitigate this, but I did not try, > so no idea. Yeah, they'll do the trick too. //Peter _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel From libssh2-devel-bounces@cool.haxx.se Wed Jul 14 22:47:25 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6EKl7Dr031334; Wed, 14 Jul 2010 22:47:22 +0200 Received: from foo.birdnet.se (qmailr@foo.birdnet.se [213.88.146.6]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with SMTP id o6EKl5sF031323 for ; Wed, 14 Jul 2010 22:47:05 +0200 Received: (qmail 10324 invoked by uid 501); 14 Jul 2010 20:47:00 -0000 Message-ID: <20100714204700.10323.qmail@stuge.se> Date: Wed, 14 Jul 2010 22:47:00 +0200 From: Peter Stuge To: libssh2-devel@cool.haxx.se Subject: Re: Remote Terminal with iPhone SDK Mail-Followup-To: libssh2-devel@cool.haxx.se References: <95E9486B-38E2-4106-9F37-1A3B1AD67D64@moontechnolabs.com> <20100628102527.8883.qmail@stuge.se> <6302E319-3D99-4923-9444-BF0AB752DE10@moontechnolabs.com> <20100628105654.14324.qmail@stuge.se> <7EDBF258-D548-4F0A-A8E2-39CDCE9F76BA@moontechnolabs.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <7EDBF258-D548-4F0A-A8E2-39CDCE9F76BA@moontechnolabs.com> X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Wed, 14 Jul 2010 22:47:25 +0200 (CEST) X-Greylist: Default is to whitelist mail, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Wed, 14 Jul 2010 22:47:05 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se Hi again, Paresh Thakor wrote: > After close inspection and debugging methods, we've come to know that > the application doesn't use libssh. It uses built-in terminal (TTY) > through files. Like, dumping all commands and o/p in a file. The terminal emulator is a very significant piece of code and it is the only thing that solves your problem. Use mobileterminal or another terminal emulator that fits your environment. > And the code is written with fully integration with other classes, > so, generally very time consuming to get it work for our application. Re-purposing the terminal emulator in mobileterminal is *surely* *much* less time consuming than implementing your own terminal emulator. > I tried to use libssh2 for the application with a try. But not able > to parse the output because output in mobile terminal comes from > dumped file which is not the case for libssh2. So what? You have the source code, write some glue that connects the two together. Forget about the files. The terminal emulator part of mobileterminal is the kind of code that you need to solve your problem. > i've tried to decode o/p from libssh2 command execution but not > very easy to make it done. Of course the output does not come from libssh2 - SSH is a clean transport that never influences the data being sent. It is difficult for you to decode output from commands which expect to be connected to a terminal, because you are not a terminal, and because you are not using a terminal emulator. Use a terminal emulator, whose purpose is to understand the output from commands that expect to be connected to a terminal. > libssh2 command execution as it's because it's working in my > application. Just trying to reuse the decoding functionality for the app, so, i can make the o/p to be displayed on the screen (UIView). UIView is most likely completely useless as a terminal widget. My guess is that you would get the best result from using mobileterminal or another complete terminal emulator which is already implemented on your platform. > Could you please suggest me something so i can reuse for my > application? No I can not! Why should I? I have no iPhone and I don't develop iPhone apps. This is the libssh2 mailing list, not a mailing list about terminal emulators for the iPhone. I did one search on google.com looking for a terminal emulator for iphone and I found the mobileterminal project *immediately*. It looks to me like mobileterminal solves the bulk of your problem. What remains is for you to produce some glue code between the terminal emulator and libssh2. Obviously you did not bother to do the same search.. I'm sure you can understand that this makes me very unmotivated to help you any further. > I am somewhat stuck with the application, due to VI and nano > editior commands and top command as well..! Too bad. You need a terminal emulator, mobileterminal looked like a good fit, but if you are unable to use it then you should of course search for an alternative. This mailing list is not a good place to search, since this mailing list is about the libssh2 project, which really is quite independent from terminal emulators. Good luck. //Peter _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel From libssh2-devel-bounces@cool.haxx.se Thu Jul 15 00:11:08 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6EMAr6D007593; Thu, 15 Jul 2010 00:11:06 +0200 Received: from mail-ew0-f54.google.com (mail-ew0-f54.google.com [209.85.215.54]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6EMAoHs007547 for ; Thu, 15 Jul 2010 00:10:50 +0200 Received: by ewy26 with SMTP id 26so89534ewy.41 for ; Wed, 14 Jul 2010 15:10:45 -0700 (PDT) Received: by 10.213.7.12 with SMTP id b12mr1106743ebb.76.1279145445315; Wed, 14 Jul 2010 15:10:45 -0700 (PDT) Received: from [192.168.0.35] (96-160.ftth.onsbrabantnet.nl [88.159.160.96]) by mx.google.com with ESMTPS id x54sm1871673eeh.23.2010.07.14.15.10.44 (version=SSLv3 cipher=RC4-MD5); Wed, 14 Jul 2010 15:10:44 -0700 (PDT) Message-ID: <4C3E35DE.1030401@peut.org> Date: Thu, 15 Jul 2010 00:10:38 +0200 From: Jose Baars User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; nl; rv:1.9.1.10) Gecko/20100512 Thunderbird/3.0.5 MIME-Version: 1.0 To: libssh2 development Subject: Re: Detecting broken connection References: <000601cb2166$da9527a0$8fbf76e0$@com> <20100714191919.29768.qmail@stuge.se> In-Reply-To: <20100714191919.29768.qmail@stuge.se> X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Thu, 15 Jul 2010 00:11:08 +0200 (CEST) X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Thu, 15 Jul 2010 00:10:50 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: multipart/mixed; boundary="===============0289332797==" Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se This is a cryptographically signed message in MIME format. --===============0289332797== Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha1; boundary="------------ms010109050003090804080806" This is a cryptographically signed message in MIME format. --------------ms010109050003090804080806 Content-Type: multipart/alternative; boundary="------------070907080203000007000107" This is a multi-part message in MIME format. --------------070907080203000007000107 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: quoted-printable Op 7/14/2010 9:19 PM, Peter Stuge schreef: > Beware. Enabling TCP keepalive is not neccessarily a feature. For > example on a laptop which may have intermittent VPN connectivity, I > consider the keepalive default in Linux to be really superior.=20 Agree, you have to take a conscious decision, keepalive is not all=20 moonshine and roses. But, on servers on a fixed network with time critical connections where=20 connections should fail over to another node or bomb out with fireworks as soon as a = connection is broken, not having keepalive is killing. The same applies to an=20 application that uses dozens of connections, you might run in to a situation where you are tend= ing a socket graveyard. Point is that the default on Linux ( sockets have no keep alive enabled=20 ) can not be changed. It can be changed on *BSD and a lot of BSD derived TCP/IP stacks. The application MUST call setsockopt to turn it on. And it's still fine if you can afford to check and maybe change some=20 application you use (that is the cost and advantage of open source), but a pain if you happen to be=20 forced to use an application that doesn't set keepalive. I ran into it with rexec,=20 which could not easily be changed due to all kinds of non-technical issues. I was a bit shocked to = find out that Linux doesn't support setting the system default so that every socket=20 created would have KEEPALIVE enabled. I can't see the advantage of not supporting that= =2E The SSH keepalive options might mitigate this, but I did not try, > so no idea. Yeah, they'll do the trick too. --------------070907080203000007000107 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Op 7/14/2010 9:19 PM, Peter Stuge schreef:
Beware. Enabling TCP keepalive is not neccessarily a feature. For
example on a laptop which may have intermittent VPN connectivity, I
consider the keepalive default in Linux to be really superior. Agree, you have to take a conscious decision, keepalive is not all moonshine and roses.

But, on servers on a fixed network with time critical connections where connections
should fail over to another node or bomb out with fireworks as soon as a connection
is broken, not having keepalive is killing. The same applies to an application that uses
dozens of connections, you might run in to a situation where you are tending
a socket graveyard.

Point is that the default on Linux ( sockets have no keep alive enabled ) can not be changed.
It can be changed on *BSD and a lot of BSD derived TCP/IP stacks.
The application MUST call setsockopt to turn it on.

And it's still fine if you can afford to check and maybe change some application you use (that is
the cost and advantage of open source), but a pain if you happen to be forced to use
an application that doesn't set keepalive. I ran into it with rexec, which could not easily be
changed due to all kinds of non-technical issues. I was a bit shocked to find out that
Linux doesn't support setting the system default so that every socket created would
have  KEEPALIVE enabled. I can't see the advantage of not supporting= that.
The SSH keepalive options might mitigate this, but I did n=
ot try,
> so no idea.
Yeah, they'll do the trick too.










--------------070907080203000007000107-- --------------ms010109050003090804080806 Content-Type: application/pkcs7-signature; name="smime.p7s" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="smime.p7s" Content-Description: S/MIME Cryptographic Signature MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIPWjCC BMwwggQ1oAMCAQICEByunWua9OYvIoqj2nRhbB4wDQYJKoZIhvcNAQEFBQAwXzELMAkGA1UE BhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAxIFB1Ymxp YyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA1MTAyODAwMDAwMFoXDTE1 MTAyNzIzNTk1OVowgd0xCzAJBgNVBAYTAlVTMRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjEf MB0GA1UECxMWVmVyaVNpZ24gVHJ1c3QgTmV0d29yazE7MDkGA1UECxMyVGVybXMgb2YgdXNl IGF0IGh0dHBzOi8vd3d3LnZlcmlzaWduLmNvbS9ycGEgKGMpMDUxHjAcBgNVBAsTFVBlcnNv bmEgTm90IFZhbGlkYXRlZDE3MDUGA1UEAxMuVmVyaVNpZ24gQ2xhc3MgMSBJbmRpdmlkdWFs IFN1YnNjcmliZXIgQ0EgLSBHMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMnf rOfq+PgDFMQAktXBfjbCPO98chXLwKuMPRyVzm8eECw/AO2XJua2x+atQx0/pIdHR0w+VPhs +Mf8sZ69MHC8l7EDBeqV8a1AxUR6SwWi8mD81zplYu//EHuiVrvFTnAt1qIfPO2wQuhejVch rKaZ2RHp0hoHwHRHQgv8xTTq/ea6JNEdCBU3otdzzwFBL2OyOj++pRpu9MlKWz2VphW7NQIZ +dTvvI8OcXZZu0u2Ptb8Whb01g6J8kn+bAztFenZiHWcec5gJ925rXXOL3OVekA6hXVJsLjf aLyrzROChRFQo+A8C67AClPN1zBvhTJGG+RJEMJs4q8fef/btLUCAwEAAaOCAYQwggGAMBIG A1UdEwEB/wQIMAYBAf8CAQAwRAYDVR0gBD0wOzA5BgtghkgBhvhFAQcXATAqMCgGCCsGAQUF BwIBFhxodHRwczovL3d3dy52ZXJpc2lnbi5jb20vcnBhMAsGA1UdDwQEAwIBBjARBglghkgB hvhCAQEEBAMCAQYwLgYDVR0RBCcwJaQjMCExHzAdBgNVBAMTFlByaXZhdGVMYWJlbDMtMjA0 OC0xNTUwHQYDVR0OBBYEFBF9Xhl9PATfamzWoooaPzHYO5RSMDEGA1UdHwQqMCgwJqAkoCKG IGh0dHA6Ly9jcmwudmVyaXNpZ24uY29tL3BjYTEuY3JsMIGBBgNVHSMEejB4oWOkYTBfMQsw CQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xNzA1BgNVBAsTLkNsYXNzIDEg UHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHmCEQDNun9W8N/kvFT+Iqyz cqpVMA0GCSqGSIb3DQEBBQUAA4GBALEv2ZbhkqLugWDlyCog++FnLNYAmFOjAhvpkEv4GESf D0b3+qD+0x0Yo9K/HOzWGZ9KTUP4yru+E4BJBd0hczNXwkJavvoAk7LmBDGRTl088HMFN2Pr v4NZmP1m3umGMpqSKTw6rlTaphJRsY/IytNHeObbpR6HBuPRFMDCIfa6MIIFQTCCBCmgAwIB AgIQQkuBnab/mKbwbYynoi4GkzANBgkqhkiG9w0BAQUFADCB3TELMAkGA1UEBhMCVVMxFzAV BgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBOZXR3b3Jr MTswOQYDVQQLEzJUZXJtcyBvZiB1c2UgYXQgaHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL3Jw YSAoYykwNTEeMBwGA1UECxMVUGVyc29uYSBOb3QgVmFsaWRhdGVkMTcwNQYDVQQDEy5WZXJp U2lnbiBDbGFzcyAxIEluZGl2aWR1YWwgU3Vic2NyaWJlciBDQSAtIEcyMB4XDTA5MTExMjAw MDAwMFoXDTEwMTExMjIzNTk1OVowggEKMRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjEfMB0G A1UECxMWVmVyaVNpZ24gVHJ1c3QgTmV0d29yazFGMEQGA1UECxM9d3d3LnZlcmlzaWduLmNv bS9yZXBvc2l0b3J5L1JQQSBJbmNvcnAuIGJ5IFJlZi4sTElBQi5MVEQoYyk5ODEeMBwGA1UE CxMVUGVyc29uYSBOb3QgVmFsaWRhdGVkMTMwMQYDVQQLEypEaWdpdGFsIElEIENsYXNzIDEg LSBOZXRzY2FwZSBGdWxsIFNlcnZpY2UxEzARBgNVBAMUCkpvc2UgQmFhcnMxHDAaBgkqhkiG 9w0BCQEWDXBldXRAcGV1dC5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCi x8yI3kFLmfYElzZSqsup782ajeuv3TASyn8mUfGrnr2aW1M7jN4vlM8/7/sVL883rH+kWPzV Q4ITYrfW5QFxH+CBqtX0F1xsS1A7AR8xZIs8o7/sMxV2xOSXYEJXlKP4XVWY8oU+TKH5dWYZ 9BJ9pkJ840ayiqqI/P3MHqmu7vS2nPDu8YZFa+46EtWkGbJTjzFdnrU5Jmdudp37fd1btNss RIkqztDOeQOTaZ6pS9RqjhmNuWVtgZucKho6c9Qf2htGz8AL95MqttF2OZYL9AlXZhjJcIMO aZBVjuwLowX/kYL2lo1vyUGt3eZxSkZR/ICfkQwj1BKpFZGFtM5XAgMBAAGjgcwwgckwCQYD VR0TBAIwADBEBgNVHSAEPTA7MDkGC2CGSAGG+EUBBxcBMCowKAYIKwYBBQUHAgEWHGh0dHBz Oi8vd3d3LnZlcmlzaWduLmNvbS9ycGEwCwYDVR0PBAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUF BwMEBggrBgEFBQcDAjBKBgNVHR8EQzBBMD+gPaA7hjlodHRwOi8vSW5kQzFEaWdpdGFsSUQt Y3JsLnZlcmlzaWduLmNvbS9JbmRDMURpZ2l0YWxJRC5jcmwwDQYJKoZIhvcNAQEFBQADggEB ABcuOD4QwMrXJgD8zvCWBRjBqsQLXn0ybqrLZHlcic7+lstAl06fi7fGD3+1Nrcp4VImkyUv JQEvFSvkB+/Mt8kOVSdt+eiYIInKt/lBkSzy0sardsh0u7Ifcgt+nmLZYW+azviXnD4VNMqe Q9QIZPHSUhWDe3IA5NSYE4hfqwXX5c13HllqpUcXRmWIGA9MPr9SQxZ0jg7MFUsZVgG9f5Ts A3yIEmvUgutyX6GRzZQL+wlWymRzh/XA7j2QnYk+IPlNQHJ62MHHlAI48y3ssSXwR8hfbH4e 0sw+8ezuh785OuFMBI3qhxlQX4wT8+v8rKHtiLcddoIohWM0ID+IdOEwggVBMIIEKaADAgEC AhBCS4Gdpv+YpvBtjKeiLgaTMA0GCSqGSIb3DQEBBQUAMIHdMQswCQYDVQQGEwJVUzEXMBUG A1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdvcmsx OzA5BgNVBAsTMlRlcm1zIG9mIHVzZSBhdCBodHRwczovL3d3dy52ZXJpc2lnbi5jb20vcnBh IChjKTA1MR4wHAYDVQQLExVQZXJzb25hIE5vdCBWYWxpZGF0ZWQxNzA1BgNVBAMTLlZlcmlT aWduIENsYXNzIDEgSW5kaXZpZHVhbCBTdWJzY3JpYmVyIENBIC0gRzIwHhcNMDkxMTEyMDAw MDAwWhcNMTAxMTEyMjM1OTU5WjCCAQoxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYD VQQLExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMUYwRAYDVQQLEz13d3cudmVyaXNpZ24uY29t L3JlcG9zaXRvcnkvUlBBIEluY29ycC4gYnkgUmVmLixMSUFCLkxURChjKTk4MR4wHAYDVQQL ExVQZXJzb25hIE5vdCBWYWxpZGF0ZWQxMzAxBgNVBAsTKkRpZ2l0YWwgSUQgQ2xhc3MgMSAt IE5ldHNjYXBlIEZ1bGwgU2VydmljZTETMBEGA1UEAxQKSm9zZSBCYWFyczEcMBoGCSqGSIb3 DQEJARYNcGV1dEBwZXV0Lm9yZzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKLH zIjeQUuZ9gSXNlKqy6nvzZqN66/dMBLKfyZR8auevZpbUzuM3i+Uzz/v+xUvzzesf6RY/NVD ghNit9blAXEf4IGq1fQXXGxLUDsBHzFkizyjv+wzFXbE5JdgQleUo/hdVZjyhT5Mofl1Zhn0 En2mQnzjRrKKqoj8/cweqa7u9Lac8O7xhkVr7joS1aQZslOPMV2etTkmZ252nft93Vu02yxE iSrO0M55A5NpnqlL1GqOGY25ZW2Bm5wqGjpz1B/aG0bPwAv3kyq20XY5lgv0CVdmGMlwgw5p kFWO7AujBf+RgvaWjW/JQa3d5nFKRlH8gJ+RDCPUEqkVkYW0zlcCAwEAAaOBzDCByTAJBgNV HRMEAjAAMEQGA1UdIAQ9MDswOQYLYIZIAYb4RQEHFwEwKjAoBggrBgEFBQcCARYcaHR0cHM6 Ly93d3cudmVyaXNpZ24uY29tL3JwYTALBgNVHQ8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUH AwQGCCsGAQUFBwMCMEoGA1UdHwRDMEEwP6A9oDuGOWh0dHA6Ly9JbmRDMURpZ2l0YWxJRC1j cmwudmVyaXNpZ24uY29tL0luZEMxRGlnaXRhbElELmNybDANBgkqhkiG9w0BAQUFAAOCAQEA Fy44PhDAytcmAPzO8JYFGMGqxAtefTJuqstkeVyJzv6Wy0CXTp+Lt8YPf7U2tynhUiaTJS8l AS8VK+QH78y3yQ5VJ2356Jggicq3+UGRLPLSxqt2yHS7sh9yC36eYtlhb5rO+JecPhU0yp5D 1Ahk8dJSFYN7cgDk1JgTiF+rBdflzXceWWqlRxdGZYgYD0w+v1JDFnSODswVSxlWAb1/lOwD fIgSa9SC63JfoZHNlAv7CVbKZHOH9cDuPZCdiT4g+U1AcnrYwceUAjjzLeyxJfBHyF9sfh7S zD7x7O6Hvzk64UwEjeqHGVBfjBPz6/ysoe2Itx12giiFYzQgP4h04TGCBOwwggToAgEBMIHy MIHdMQswCQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZl cmlTaWduIFRydXN0IE5ldHdvcmsxOzA5BgNVBAsTMlRlcm1zIG9mIHVzZSBhdCBodHRwczov L3d3dy52ZXJpc2lnbi5jb20vcnBhIChjKTA1MR4wHAYDVQQLExVQZXJzb25hIE5vdCBWYWxp ZGF0ZWQxNzA1BgNVBAMTLlZlcmlTaWduIENsYXNzIDEgSW5kaXZpZHVhbCBTdWJzY3JpYmVy IENBIC0gRzICEEJLgZ2m/5im8G2Mp6IuBpMwCQYFKw4DAhoFAKCCAs4wGAYJKoZIhvcNAQkD MQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMTAwNzE0MjIxMDM4WjAjBgkqhkiG9w0B CQQxFgQUxgiAioPcp5QV4mZXN0QmONkuorswXwYJKoZIhvcNAQkPMVIwUDALBglghkgBZQME AQIwCgYIKoZIhvcNAwcwDgYIKoZIhvcNAwICAgCAMA0GCCqGSIb3DQMCAgFAMAcGBSsOAwIH MA0GCCqGSIb3DQMCAgEoMIIBAwYJKwYBBAGCNxAEMYH1MIHyMIHdMQswCQYDVQQGEwJVUzEX MBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdv cmsxOzA5BgNVBAsTMlRlcm1zIG9mIHVzZSBhdCBodHRwczovL3d3dy52ZXJpc2lnbi5jb20v cnBhIChjKTA1MR4wHAYDVQQLExVQZXJzb25hIE5vdCBWYWxpZGF0ZWQxNzA1BgNVBAMTLlZl cmlTaWduIENsYXNzIDEgSW5kaXZpZHVhbCBTdWJzY3JpYmVyIENBIC0gRzICEEJLgZ2m/5im 8G2Mp6IuBpMwggEFBgsqhkiG9w0BCRACCzGB9aCB8jCB3TELMAkGA1UEBhMCVVMxFzAVBgNV BAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTsw OQYDVQQLEzJUZXJtcyBvZiB1c2UgYXQgaHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL3JwYSAo YykwNTEeMBwGA1UECxMVUGVyc29uYSBOb3QgVmFsaWRhdGVkMTcwNQYDVQQDEy5WZXJpU2ln biBDbGFzcyAxIEluZGl2aWR1YWwgU3Vic2NyaWJlciBDQSAtIEcyAhBCS4Gdpv+YpvBtjKei LgaTMA0GCSqGSIb3DQEBAQUABIIBAKAw+tJ7t/tXkZmsz+tG84M2OnWNtOdmxdiyu21u0ksx UiPZUEwLid9UcNNeDqxlszECqbJFOhh4wibvCqS3dxLugu7hlDRfdk8HyUjtceGMC1KBxFrV mXPDGRn9rYjvyM1Jb6Cx/r7Ik3eDYqXiy3DR2XhwaOPkquTbuRremqlM+OaDvJmj6a50KisX h0YkvpJ2E2cRIQmaBdvb/otL6EXMGatlppKNdU+dc6Ej5G8PU+8CtIfJuPmP5fbZRkh8Wehq /xZXXPNok/N66msoJ9sVT4iVDJULKgWD+rCzM1pszhSEeSqbyaCc2qNs9PbuMtDgD+8uCH+I ZXjxDGb43XgAAAAAAAA= --------------ms010109050003090804080806-- --===============0289332797== 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 --===============0289332797==-- From libssh2-devel-bounces@cool.haxx.se Thu Jul 15 08:59:38 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6F6xLFv028256; Thu, 15 Jul 2010 08:59:35 +0200 Received: from oproxy1-pub.bluehost.com (oproxy1-pub.bluehost.com [66.147.249.253]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with SMTP id o6F6xHiX028251 for ; Thu, 15 Jul 2010 08:59:19 +0200 Received: (qmail 14771 invoked by uid 0); 15 Jul 2010 06:59:14 -0000 Received: from unknown (HELO box439.bluehost.com) (69.89.31.239) by oproxy1.bluehost.com.bluehost.com with SMTP; 15 Jul 2010 06:59:14 -0000 DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=default; d=moontechnolabs.com; h=Received:Content-Type:Mime-Version:Subject:From:In-Reply-To:Date:Content-Transfer-Encoding:Message-Id:References:To:X-Mailer:X-Identified-User; b=s4FkBmLId275/U2W7snPSAiGULPuWFFqvDyDGIMcuMK2Nh9HXP0rFSRfBYonm4KH0W+raN0mJxjLqqcy/Tw1bljNqGfhUQX2sVkmhC6cvkI7PAJUahLWCk8ZbdGuX1aI; Received: from [122.170.41.247] (helo=[192.168.1.111]) by box439.bluehost.com with esmtpsa (TLSv1:AES128-SHA:128) (Exim 4.69) (envelope-from ) id 1OZIPZ-00029q-6L for libssh2-devel@cool.haxx.se; Thu, 15 Jul 2010 00:59:14 -0600 Mime-Version: 1.0 (Apple Message framework v1078) Subject: Re: Remote Terminal with iPhone SDK From: Paresh Thakor In-Reply-To: <20100714204700.10323.qmail@stuge.se> Date: Thu, 15 Jul 2010 12:29:06 +0530 Message-Id: <8DDB495D-2F41-4E7F-B760-731A05322B70@moontechnolabs.com> References: <95E9486B-38E2-4106-9F37-1A3B1AD67D64@moontechnolabs.com> <20100628102527.8883.qmail@stuge.se> <6302E319-3D99-4923-9444-BF0AB752DE10@moontechnolabs.com> <20100628105654.14324.qmail@stuge.se> <7EDBF258-D548-4F0A-A8E2-39CDCE9F76BA@moontechnolabs.com> <20100714204700.10323.qmail@stuge.se> To: libssh2 development X-Mailer: Apple Mail (2.1078) X-Identified-User: {1089:box439.bluehost.com:moonsoft:moontechnolabs.com} {sentby:smtp auth 122.170.41.247 authed with paresh.thakor@moontechnolabs.com} X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Thu, 15 Jul 2010 08:59:38 +0200 (CEST) X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Thu, 15 Jul 2010 08:59:20 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se Thanks man, we have implemented and dug into the code for mobile terminal..! It's not complete suite so we can easily all pieces together. Here, mobileterminal is using file based command execution, and libssh2 does input command and gives o/p normally..! okay, i'll check out that. Thanks for your help..! On Jul 15, 2010, at 2:17 AM, Peter Stuge wrote: > Hi again, > > Paresh Thakor wrote: >> After close inspection and debugging methods, we've come to know that >> the application doesn't use libssh. It uses built-in terminal (TTY) >> through files. Like, dumping all commands and o/p in a file. > > The terminal emulator is a very significant piece of code and it is > the only thing that solves your problem. Use mobileterminal or > another terminal emulator that fits your environment. > > >> And the code is written with fully integration with other classes, >> so, generally very time consuming to get it work for our application. > > Re-purposing the terminal emulator in mobileterminal is *surely* > *much* less time consuming than implementing your own terminal > emulator. > > >> I tried to use libssh2 for the application with a try. But not able >> to parse the output because output in mobile terminal comes from >> dumped file which is not the case for libssh2. > > So what? You have the source code, write some glue that connects the > two together. Forget about the files. The terminal emulator part of > mobileterminal is the kind of code that you need to solve your > problem. > > >> i've tried to decode o/p from libssh2 command execution but not >> very easy to make it done. > > Of course the output does not come from libssh2 - SSH is a clean > transport that never influences the data being sent. > > It is difficult for you to decode output from commands which expect > to be connected to a terminal, because you are not a terminal, and > because you are not using a terminal emulator. > > Use a terminal emulator, whose purpose is to understand the output > from commands that expect to be connected to a terminal. > > >> libssh2 command execution as it's because it's working in my >> application. > Just trying to reuse the decoding functionality for the app, so, i > can make the o/p to be displayed on the screen (UIView). > > UIView is most likely completely useless as a terminal widget. My > guess is that you would get the best result from using mobileterminal > or another complete terminal emulator which is already implemented on > your platform. > > >> Could you please suggest me something so i can reuse for my >> application? > > No I can not! Why should I? I have no iPhone and I don't develop > iPhone apps. This is the libssh2 mailing list, not a mailing list > about terminal emulators for the iPhone. > > I did one search on google.com looking for a terminal emulator for > iphone and I found the mobileterminal project *immediately*. It looks > to me like mobileterminal solves the bulk of your problem. What > remains is for you to produce some glue code between the terminal > emulator and libssh2. > > Obviously you did not bother to do the same search.. I'm sure you can > understand that this makes me very unmotivated to help you any > further. > > >> I am somewhat stuck with the application, due to VI and nano >> editior commands and top command as well..! > > Too bad. You need a terminal emulator, mobileterminal looked like a > good fit, but if you are unable to use it then you should of course > search for an alternative. This mailing list is not a good place to > search, since this mailing list is about the libssh2 project, which > really is quite independent from terminal emulators. > > > Good luck. > > //Peter > _______________________________________________ > libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel From libssh2-devel-bounces@cool.haxx.se Thu Jul 15 11:22:20 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6F9M7Cm016001; Thu, 15 Jul 2010 11:22:19 +0200 Received: from oproxy1-pub.bluehost.com (oproxy1-pub.bluehost.com [66.147.249.253]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with SMTP id o6F9M51b015937 for ; Thu, 15 Jul 2010 11:22:05 +0200 Received: (qmail 6621 invoked by uid 0); 15 Jul 2010 09:22:03 -0000 Received: from unknown (HELO box439.bluehost.com) (69.89.31.239) by oproxy1.bluehost.com.bluehost.com with SMTP; 15 Jul 2010 09:22:03 -0000 DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=default; d=moontechnolabs.com; h=Received:Content-Type:Mime-Version:Subject:From:In-Reply-To:Date:Content-Transfer-Encoding:Message-Id:References:To:X-Mailer:X-Identified-User; b=Q9Vurs2W0P11x/zYvA1v4gwy4EcSxg+Do2w1/TGFwoJCKeuN7A8AmiFZUlirfO0zmEzz7lhlX0RA+yOl3uXoaMKLv/7/lAPeuwsexf09rLKW1h9xkpLvAcE2YTWoRjJB; Received: from [122.169.84.103] (helo=[192.168.1.111]) by box439.bluehost.com with esmtpsa (TLSv1:AES128-SHA:128) (Exim 4.69) (envelope-from ) id 1OZKdl-00015m-VZ for libssh2-devel@cool.haxx.se; Thu, 15 Jul 2010 03:22:02 -0600 Mime-Version: 1.0 (Apple Message framework v1078) Subject: Re: Remote Terminal with iPhone SDK From: Paresh Thakor In-Reply-To: <20100714204700.10323.qmail@stuge.se> Date: Thu, 15 Jul 2010 14:51:55 +0530 Message-Id: References: <95E9486B-38E2-4106-9F37-1A3B1AD67D64@moontechnolabs.com> <20100628102527.8883.qmail@stuge.se> <6302E319-3D99-4923-9444-BF0AB752DE10@moontechnolabs.com> <20100628105654.14324.qmail@stuge.se> <7EDBF258-D548-4F0A-A8E2-39CDCE9F76BA@moontechnolabs.com> <20100714204700.10323.qmail@stuge.se> To: libssh2 development X-Mailer: Apple Mail (2.1078) X-Identified-User: {1089:box439.bluehost.com:moonsoft:moontechnolabs.com} {sentby:smtp auth 122.169.84.103 authed with paresh.thakor@moontechnolabs.com} X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Thu, 15 Jul 2010 11:22:20 +0200 (CEST) X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Thu, 15 Jul 2010 11:22:06 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se And if i unveil a bit more than mobile terminal is file-based, constantly updating terminal file and o/p data from it. And libssh is not file based not constantly updating any selected file, so, can we make this file-based, so, o/p from libssh can be buffered in selected file? So, we can get the o/p from that selected file? Is this possible? On Jul 15, 2010, at 2:17 AM, Peter Stuge wrote: > Hi again, > > Paresh Thakor wrote: >> After close inspection and debugging methods, we've come to know that >> the application doesn't use libssh. It uses built-in terminal (TTY) >> through files. Like, dumping all commands and o/p in a file. > > The terminal emulator is a very significant piece of code and it is > the only thing that solves your problem. Use mobileterminal or > another terminal emulator that fits your environment. > > >> And the code is written with fully integration with other classes, >> so, generally very time consuming to get it work for our application. > > Re-purposing the terminal emulator in mobileterminal is *surely* > *much* less time consuming than implementing your own terminal > emulator. > > >> I tried to use libssh2 for the application with a try. But not able >> to parse the output because output in mobile terminal comes from >> dumped file which is not the case for libssh2. > > So what? You have the source code, write some glue that connects the > two together. Forget about the files. The terminal emulator part of > mobileterminal is the kind of code that you need to solve your > problem. > > >> i've tried to decode o/p from libssh2 command execution but not >> very easy to make it done. > > Of course the output does not come from libssh2 - SSH is a clean > transport that never influences the data being sent. > > It is difficult for you to decode output from commands which expect > to be connected to a terminal, because you are not a terminal, and > because you are not using a terminal emulator. > > Use a terminal emulator, whose purpose is to understand the output > from commands that expect to be connected to a terminal. > > >> libssh2 command execution as it's because it's working in my >> application. > Just trying to reuse the decoding functionality for the app, so, i > can make the o/p to be displayed on the screen (UIView). > > UIView is most likely completely useless as a terminal widget. My > guess is that you would get the best result from using mobileterminal > or another complete terminal emulator which is already implemented on > your platform. > > >> Could you please suggest me something so i can reuse for my >> application? > > No I can not! Why should I? I have no iPhone and I don't develop > iPhone apps. This is the libssh2 mailing list, not a mailing list > about terminal emulators for the iPhone. > > I did one search on google.com looking for a terminal emulator for > iphone and I found the mobileterminal project *immediately*. It looks > to me like mobileterminal solves the bulk of your problem. What > remains is for you to produce some glue code between the terminal > emulator and libssh2. > > Obviously you did not bother to do the same search.. I'm sure you can > understand that this makes me very unmotivated to help you any > further. > > >> I am somewhat stuck with the application, due to VI and nano >> editior commands and top command as well..! > > Too bad. You need a terminal emulator, mobileterminal looked like a > good fit, but if you are unable to use it then you should of course > search for an alternative. This mailing list is not a good place to > search, since this mailing list is about the libssh2 project, which > really is quite independent from terminal emulators. > > > Good luck. > > //Peter > _______________________________________________ > libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel From libssh2-devel-bounces@cool.haxx.se Thu Jul 15 11:23:08 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6F9N768017561; Thu, 15 Jul 2010 11:23:08 +0200 Received: from oproxy2-pub.bluehost.com (oproxy2-pub.bluehost.com [67.222.39.60]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with SMTP id o6F9N5XY017491 for ; Thu, 15 Jul 2010 11:23:06 +0200 Received: (qmail 20370 invoked by uid 0); 15 Jul 2010 09:23:02 -0000 Received: from unknown (HELO box439.bluehost.com) (69.89.31.239) by oproxy2.bluehost.com with SMTP; 15 Jul 2010 09:23:02 -0000 DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=default; d=moontechnolabs.com; h=Received:Content-Type:Mime-Version:Subject:From:In-Reply-To:Date:Content-Transfer-Encoding:Message-Id:References:To:X-Mailer:X-Identified-User; b=EChAV8QId0lFuCjY9sYXH0CGz43aD6XyO7c5z9EzFEJtnFNwyo0NnEdZnl8SMaeV7aULhtj9Fw6hPuY4/HvC+HuKVvIqXVN0NGPGGCTNRC9adIPQzHrOjCAr9muEXVx0; Received: from [122.169.84.103] (helo=[192.168.1.111]) by box439.bluehost.com with esmtpsa (TLSv1:AES128-SHA:128) (Exim 4.69) (envelope-from ) id 1OZKei-00015m-OY for libssh2-devel@cool.haxx.se; Thu, 15 Jul 2010 03:23:02 -0600 Mime-Version: 1.0 (Apple Message framework v1078) Subject: Re: Remote Terminal with iPhone SDK From: Paresh Thakor In-Reply-To: <20100714204700.10323.qmail@stuge.se> Date: Thu, 15 Jul 2010 14:52:59 +0530 Message-Id: References: <95E9486B-38E2-4106-9F37-1A3B1AD67D64@moontechnolabs.com> <20100628102527.8883.qmail@stuge.se> <6302E319-3D99-4923-9444-BF0AB752DE10@moontechnolabs.com> <20100628105654.14324.qmail@stuge.se> <7EDBF258-D548-4F0A-A8E2-39CDCE9F76BA@moontechnolabs.com> <20100714204700.10323.qmail@stuge.se> To: libssh2 development X-Mailer: Apple Mail (2.1078) X-Identified-User: {1089:box439.bluehost.com:moonsoft:moontechnolabs.com} {sentby:smtp auth 122.169.84.103 authed with paresh.thakor@moontechnolabs.com} X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Thu, 15 Jul 2010 11:23:08 +0200 (CEST) X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Thu, 15 Jul 2010 11:23:06 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se And if i unveil a bit more than mobile terminal is file-based, constantly updating terminal file and o/p data from it. And libssh is not file based not constantly updating any selected file, so, can we make this file-based, so, o/p from libssh can be buffered in selected file? So, we can get the o/p from that selected file? Is this possible? Our libssh2 is not working as expected or we might not know something so we can make this working.! Regards. On Jul 15, 2010, at 2:17 AM, Peter Stuge wrote: > Hi again, > > Paresh Thakor wrote: >> After close inspection and debugging methods, we've come to know that >> the application doesn't use libssh. It uses built-in terminal (TTY) >> through files. Like, dumping all commands and o/p in a file. > > The terminal emulator is a very significant piece of code and it is > the only thing that solves your problem. Use mobileterminal or > another terminal emulator that fits your environment. > > >> And the code is written with fully integration with other classes, >> so, generally very time consuming to get it work for our application. > > Re-purposing the terminal emulator in mobileterminal is *surely* > *much* less time consuming than implementing your own terminal > emulator. > > >> I tried to use libssh2 for the application with a try. But not able >> to parse the output because output in mobile terminal comes from >> dumped file which is not the case for libssh2. > > So what? You have the source code, write some glue that connects the > two together. Forget about the files. The terminal emulator part of > mobileterminal is the kind of code that you need to solve your > problem. > > >> i've tried to decode o/p from libssh2 command execution but not >> very easy to make it done. > > Of course the output does not come from libssh2 - SSH is a clean > transport that never influences the data being sent. > > It is difficult for you to decode output from commands which expect > to be connected to a terminal, because you are not a terminal, and > because you are not using a terminal emulator. > > Use a terminal emulator, whose purpose is to understand the output > from commands that expect to be connected to a terminal. > > >> libssh2 command execution as it's because it's working in my >> application. > Just trying to reuse the decoding functionality for the app, so, i > can make the o/p to be displayed on the screen (UIView). > > UIView is most likely completely useless as a terminal widget. My > guess is that you would get the best result from using mobileterminal > or another complete terminal emulator which is already implemented on > your platform. > > >> Could you please suggest me something so i can reuse for my >> application? > > No I can not! Why should I? I have no iPhone and I don't develop > iPhone apps. This is the libssh2 mailing list, not a mailing list > about terminal emulators for the iPhone. > > I did one search on google.com looking for a terminal emulator for > iphone and I found the mobileterminal project *immediately*. It looks > to me like mobileterminal solves the bulk of your problem. What > remains is for you to produce some glue code between the terminal > emulator and libssh2. > > Obviously you did not bother to do the same search.. I'm sure you can > understand that this makes me very unmotivated to help you any > further. > > >> I am somewhat stuck with the application, due to VI and nano >> editior commands and top command as well..! > > Too bad. You need a terminal emulator, mobileterminal looked like a > good fit, but if you are unable to use it then you should of course > search for an alternative. This mailing list is not a good place to > search, since this mailing list is about the libssh2 project, which > really is quite independent from terminal emulators. > > > Good luck. > > //Peter > _______________________________________________ > libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel From libssh2-devel-bounces@cool.haxx.se Thu Jul 15 12:53:34 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6FArEJD004881; Thu, 15 Jul 2010 12:53:31 +0200 Received: from oproxy3-pub.bluehost.com (oproxy3-pub.bluehost.com [69.89.21.8]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with SMTP id o6FArBs3004875 for ; Thu, 15 Jul 2010 12:53:12 +0200 Received: (qmail 30374 invoked by uid 0); 15 Jul 2010 10:53:07 -0000 Received: from unknown (HELO box439.bluehost.com) (69.89.31.239) by oproxy3.bluehost.com with SMTP; 15 Jul 2010 10:53:07 -0000 DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=default; d=moontechnolabs.com; h=Received:Content-Type:Mime-Version:Subject:From:In-Reply-To:Date:Content-Transfer-Encoding:Message-Id:References:To:X-Mailer:X-Identified-User; b=NjDX5AZN1IxbZnuQQeIGXr/Hgtve4cwLbFcFHHq3NNwiNSYud7MBgrZpT5i804Nv7xW4n6S4xfSuZBqXbrIgDKmoTDDSPAzYWCv+VM2a3Hf+/RPdusi+/SPxc8IL/Rzd; Received: from [122.169.84.103] (helo=[192.168.1.111]) by box439.bluehost.com with esmtpsa (TLSv1:AES128-SHA:128) (Exim 4.69) (envelope-from ) id 1OZM3o-0000CI-Uv for libssh2-devel@cool.haxx.se; Thu, 15 Jul 2010 04:53:03 -0600 Mime-Version: 1.0 (Apple Message framework v1078) Subject: Re: Remote Terminal with iPhone SDK From: Paresh Thakor In-Reply-To: Date: Thu, 15 Jul 2010 16:22:03 +0530 Message-Id: References: <95E9486B-38E2-4106-9F37-1A3B1AD67D64@moontechnolabs.com> <20100628102527.8883.qmail@stuge.se> <6302E319-3D99-4923-9444-BF0AB752DE10@moontechnolabs.com> <20100628105654.14324.qmail@stuge.se> <7EDBF258-D548-4F0A-A8E2-39CDCE9F76BA@moontechnolabs.com> <20100714204700.10323.qmail@stuge.se> To: libssh2 development X-Mailer: Apple Mail (2.1078) X-Identified-User: {1089:box439.bluehost.com:moonsoft:moontechnolabs.com} {sentby:smtp auth 122.169.84.103 authed with paresh.thakor@moontechnolabs.com} X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Thu, 15 Jul 2010 12:53:34 +0200 (CEST) X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Thu, 15 Jul 2010 12:53:12 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se Does anyone know how to open pseudo - tty for libssh2? On Jul 15, 2010, at 2:52 PM, Paresh Thakor wrote: > And if i unveil a bit more than mobile terminal is file-based, constantly updating terminal file and o/p data from it. And libssh is not file based not constantly updating any selected file, so, can we make this file-based, so, o/p from libssh can be buffered in selected file? So, we can get the o/p from that selected file? > > Is this possible? > Our libssh2 is not working as expected or we might not know something so we can make this working.! > > Regards. > On Jul 15, 2010, at 2:17 AM, Peter Stuge wrote: > >> Hi again, >> >> Paresh Thakor wrote: >>> After close inspection and debugging methods, we've come to know that >>> the application doesn't use libssh. It uses built-in terminal (TTY) >>> through files. Like, dumping all commands and o/p in a file. >> >> The terminal emulator is a very significant piece of code and it is >> the only thing that solves your problem. Use mobileterminal or >> another terminal emulator that fits your environment. >> >> >>> And the code is written with fully integration with other classes, >>> so, generally very time consuming to get it work for our application. >> >> Re-purposing the terminal emulator in mobileterminal is *surely* >> *much* less time consuming than implementing your own terminal >> emulator. >> >> >>> I tried to use libssh2 for the application with a try. But not able >>> to parse the output because output in mobile terminal comes from >>> dumped file which is not the case for libssh2. >> >> So what? You have the source code, write some glue that connects the >> two together. Forget about the files. The terminal emulator part of >> mobileterminal is the kind of code that you need to solve your >> problem. >> >> >>> i've tried to decode o/p from libssh2 command execution but not >>> very easy to make it done. >> >> Of course the output does not come from libssh2 - SSH is a clean >> transport that never influences the data being sent. >> >> It is difficult for you to decode output from commands which expect >> to be connected to a terminal, because you are not a terminal, and >> because you are not using a terminal emulator. >> >> Use a terminal emulator, whose purpose is to understand the output >> from commands that expect to be connected to a terminal. >> >> >>> libssh2 command execution as it's because it's working in my >>> application. >> Just trying to reuse the decoding functionality for the app, so, i >> can make the o/p to be displayed on the screen (UIView). >> >> UIView is most likely completely useless as a terminal widget. My >> guess is that you would get the best result from using mobileterminal >> or another complete terminal emulator which is already implemented on >> your platform. >> >> >>> Could you please suggest me something so i can reuse for my >>> application? >> >> No I can not! Why should I? I have no iPhone and I don't develop >> iPhone apps. This is the libssh2 mailing list, not a mailing list >> about terminal emulators for the iPhone. >> >> I did one search on google.com looking for a terminal emulator for >> iphone and I found the mobileterminal project *immediately*. It looks >> to me like mobileterminal solves the bulk of your problem. What >> remains is for you to produce some glue code between the terminal >> emulator and libssh2. >> >> Obviously you did not bother to do the same search.. I'm sure you can >> understand that this makes me very unmotivated to help you any >> further. >> >> >>> I am somewhat stuck with the application, due to VI and nano >>> editior commands and top command as well..! >> >> Too bad. You need a terminal emulator, mobileterminal looked like a >> good fit, but if you are unable to use it then you should of course >> search for an alternative. This mailing list is not a good place to >> search, since this mailing list is about the libssh2 project, which >> really is quite independent from terminal emulators. >> >> >> Good luck. >> >> //Peter >> _______________________________________________ >> libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel > > _______________________________________________ > libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel From libssh2-devel-bounces@cool.haxx.se Thu Jul 15 12:53:34 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6FArYW2004936; Thu, 15 Jul 2010 12:53:34 +0200 Received: from oproxy3-pub.bluehost.com (oproxy3-pub.bluehost.com [69.89.21.8]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with SMTP id o6FArEdm004889 for ; Thu, 15 Jul 2010 12:53:15 +0200 Received: (qmail 30569 invoked by uid 0); 15 Jul 2010 10:53:12 -0000 Received: from unknown (HELO box439.bluehost.com) (69.89.31.239) by oproxy3.bluehost.com with SMTP; 15 Jul 2010 10:53:11 -0000 DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=default; d=moontechnolabs.com; h=Received:From:Content-Type:Content-Transfer-Encoding:Subject:Date:Message-Id:To:Mime-Version:X-Mailer:X-Identified-User; b=EI3XIOGmiqTjfsA8HmzNMHJGT5kuVgMegwj6AAq2rkO4JAWz8/uipdYTw5fAMhCP9j8YnmRv9eHE2SfMr6VGdgmUUAXfJ47r3gjMhc5NeVOsPLWvOXFJyUsQYcl7QLso; Received: from [122.169.84.103] (helo=[192.168.1.111]) by box439.bluehost.com with esmtpsa (TLSv1:AES128-SHA:128) (Exim 4.69) (envelope-from ) id 1OZM3v-0000CI-OA for libssh2-devel@cool.haxx.se; Thu, 15 Jul 2010 04:53:08 -0600 From: Paresh Thakor Subject: Pseudo TTY for libssh2 and iPhone sdk Date: Thu, 15 Jul 2010 16:22:28 +0530 Message-Id: <1B9DFB90-054C-493A-B6EE-9CEC22D30505@moontechnolabs.com> To: libssh2 development Mime-Version: 1.0 (Apple Message framework v1078) X-Mailer: Apple Mail (2.1078) X-Identified-User: {1089:box439.bluehost.com:moonsoft:moontechnolabs.com} {sentby:smtp auth 122.169.84.103 authed with paresh.thakor@moontechnolabs.com} X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Thu, 15 Jul 2010 12:53:34 +0200 (CEST) X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Thu, 15 Jul 2010 12:53:16 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se Does anyone know how to open pseudo - tty for libssh2? _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel From libssh2-devel-bounces@cool.haxx.se Thu Jul 15 18:24:57 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6FGOac2002734; Thu, 15 Jul 2010 18:24:53 +0200 Received: from foo.birdnet.se (qmailr@foo.birdnet.se [213.88.146.6]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with SMTP id o6FGOYYQ002729 for ; Thu, 15 Jul 2010 18:24:34 +0200 Received: (qmail 30159 invoked by uid 501); 15 Jul 2010 16:24:31 -0000 Message-ID: <20100715162431.30158.qmail@stuge.se> Date: Thu, 15 Jul 2010 18:24:31 +0200 From: Peter Stuge To: libssh2-devel@cool.haxx.se Subject: Re: Detecting broken connection Mail-Followup-To: libssh2-devel@cool.haxx.se References: <000601cb2166$da9527a0$8fbf76e0$@com> <20100714191919.29768.qmail@stuge.se> <4C3E35DE.1030401@peut.org> MIME-Version: 1.0 In-Reply-To: <4C3E35DE.1030401@peut.org> X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Thu, 15 Jul 2010 18:24:57 +0200 (CEST) X-Greylist: Default is to whitelist mail, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Thu, 15 Jul 2010 18:24:35 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: multipart/mixed; boundary="===============1510433167==" Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se --===============1510433167== Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="MGYHOYXEY6WxJCY8" Content-Disposition: inline --MGYHOYXEY6WxJCY8 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Jose Baars wrote: > Point is that the default on Linux ( sockets have no keep alive > enabled ) can not be changed. Did you look at the TCP-Keepalive HOWTO that I linked to? It seems to suggest that keepalive is always enabled also on Linux, but the default timeout is long enough at 7500 seconds that it might seem like the feature is disabled completely. //Peter --MGYHOYXEY6WxJCY8 Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.7 (GNU/Linux) iD8DBQFMPzY/hR3Q0dhIfEgRAtsFAJ9fOcry4vuH6Iox31ZxI/ometCi9QCfcCZa hyshISgnSTUB5KJwgqd9CXE= =GBKX -----END PGP SIGNATURE----- --MGYHOYXEY6WxJCY8-- --===============1510433167== 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 --===============1510433167==-- From libssh2-devel-bounces@cool.haxx.se Thu Jul 15 19:07:03 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6FH6rLV032521; Thu, 15 Jul 2010 19:07:01 +0200 Received: from giant.haxx.se (dast@giant.haxx.se [80.67.6.50]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6FH6qJB032472 for ; Thu, 15 Jul 2010 19:06:52 +0200 Date: Thu, 15 Jul 2010 19:06:52 +0200 (CEST) From: Daniel Stenberg X-X-Sender: dast@giant.haxx.se To: libssh2 development Subject: Re: Detecting broken connection In-Reply-To: <20100715162431.30158.qmail@stuge.se> Message-ID: References: <000601cb2166$da9527a0$8fbf76e0$@com> <20100714191919.29768.qmail@stuge.se> <4C3E35DE.1030401@peut.org> <20100715162431.30158.qmail@stuge.se> User-Agent: Alpine 2.00 (DEB 1167 2008-08-23) X-fromdanielhimself: yes MIME-Version: 1.0 X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Thu, 15 Jul 2010 19:07:03 +0200 (CEST) X-Greylist: Default is to whitelist mail, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Thu, 15 Jul 2010 19:06:52 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="us-ascii"; Format="flowed" Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se On Thu, 15 Jul 2010, Peter Stuge wrote: > It seems to suggest that keepalive is always enabled also on Linux, No, the document you linked to actually says exactly this: Remember that keepalive support, even if configured in the kernel, is not the default behavior in Linux. 7200 seconds is just a (very common) default value for when you enable keepalive. -- / daniel.haxx.se _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel From libssh2-devel-bounces@cool.haxx.se Thu Jul 15 23:21:15 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6FLKvsE029435; Thu, 15 Jul 2010 23:21:10 +0200 Received: from giant.haxx.se (dast@giant.haxx.se [80.67.6.50]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6FLKvE4029427 for ; Thu, 15 Jul 2010 23:20:57 +0200 Date: Thu, 15 Jul 2010 23:20:57 +0200 (CEST) From: Daniel Stenberg X-X-Sender: dast@giant.haxx.se To: libssh2 development Subject: Re: Error Handling with Net::SSH2 In-Reply-To: Message-ID: References: <23AC8413-E7FF-4BF3-99E9-07F3E2B1FD61@kineticode.com> <1278965497.2016.20.camel@bret-redbook> <1278979518.3604.57.camel@bret-redbook> <930492C4-FF24-41CD-BA80-694A3051F9F2@kineticode.com> User-Agent: Alpine 2.00 (DEB 1167 2008-08-23) X-fromdanielhimself: yes MIME-Version: 1.0 X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Thu, 15 Jul 2010 23:21:15 +0200 (CEST) X-Greylist: Default is to whitelist mail, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Thu, 15 Jul 2010 23:20:57 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="us-ascii"; Format="flowed" Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se On Tue, 13 Jul 2010, David E. Wheeler wrote: > Error putting file '/usr/local/htdocs/foo.ppt' on 'prod.example.com': -37 > LIBSSH2_ERROR_EAGAIN Unable to send channel data A follow-up for everyone reading this thread: Me, David and Peter worked on this on IRC and we found the problem to be (entirely) within the libssh2 perl binding code. -- / daniel.haxx.se _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel From libssh2-devel-bounces@cool.haxx.se Fri Jul 16 00:38:57 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6FMcfsx032364; Fri, 16 Jul 2010 00:38:55 +0200 Received: from foo.birdnet.se (qmailr@foo.birdnet.se [213.88.146.6]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with SMTP id o6FMcdXS032361 for ; Fri, 16 Jul 2010 00:38:39 +0200 Received: (qmail 26097 invoked by uid 501); 15 Jul 2010 22:38:33 -0000 Message-ID: <20100715223833.26096.qmail@stuge.se> Date: Fri, 16 Jul 2010 00:38:33 +0200 From: Peter Stuge To: libssh2-devel@cool.haxx.se Subject: Re: Remote Terminal with iPhone SDK Mail-Followup-To: libssh2-devel@cool.haxx.se References: <95E9486B-38E2-4106-9F37-1A3B1AD67D64@moontechnolabs.com> <20100628102527.8883.qmail@stuge.se> <6302E319-3D99-4923-9444-BF0AB752DE10@moontechnolabs.com> <20100628105654.14324.qmail@stuge.se> <7EDBF258-D548-4F0A-A8E2-39CDCE9F76BA@moontechnolabs.com> <20100714204700.10323.qmail@stuge.se> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Fri, 16 Jul 2010 00:38:57 +0200 (CEST) X-Greylist: Default is to whitelist mail, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Fri, 16 Jul 2010 00:38:39 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se Paresh Thakor wrote: > And if i unveil a bit more than mobile terminal is file-based, > constantly updating terminal file and o/p data from it. > And libssh is not file based not constantly updating any selected > file, so, can we make this file-based, so, o/p from libssh can be > buffered in selected file? So, we can get the o/p from that > selected file? I already wrote that you should forget about the files. The part of mobileterminal that deals with files obviously does not fit your project and you need to remove it and write some other code that glues mobileterminal together with libssh2. But frankly, this project seems to be very difficult, so I would probably suggest working on another project instead. > Is this possible? Yes of course it is possible. > Our libssh2 is not working as expected or we might not know > something so we can make this working.! If libssh2 is not working as expected then the problem is either your expectation, or a bug in libssh2. I think bugs are very important so please describe your problem in detail, which obviously includes you describing your expectations, so that we can determine if there is a bug and what it is. Please read http://www.chiark.greenend.org.uk/~sgtatham/bugs.html and follow the advice there to get the best help. //Peter _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel From libssh2-devel-bounces@cool.haxx.se Fri Jul 16 00:43:36 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6FMhXM9001976; Fri, 16 Jul 2010 00:43:36 +0200 Received: from foo.birdnet.se (qmailr@foo.birdnet.se [213.88.146.6]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with SMTP id o6FMhWTn001972 for ; Fri, 16 Jul 2010 00:43:32 +0200 Received: (qmail 26827 invoked by uid 501); 15 Jul 2010 22:43:28 -0000 Message-ID: <20100715224328.26826.qmail@stuge.se> Date: Fri, 16 Jul 2010 00:43:28 +0200 From: Peter Stuge To: libssh2-devel@cool.haxx.se Subject: Re: Pseudo TTY for libssh2 and iPhone sdk Mail-Followup-To: libssh2-devel@cool.haxx.se References: <1B9DFB90-054C-493A-B6EE-9CEC22D30505@moontechnolabs.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <1B9DFB90-054C-493A-B6EE-9CEC22D30505@moontechnolabs.com> X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Fri, 16 Jul 2010 00:43:36 +0200 (CEST) X-Greylist: Default is to whitelist mail, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Fri, 16 Jul 2010 00:43:32 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se Paresh Thakor wrote: > Does anyone know how to open pseudo - tty for libssh2? This question is not very clear. Opening a pty is strictly neccessary only on the server, and libssh2 is so far only a client library. An SSH client which also handles terminal emulation (see how this is again about terminal emulators, and that you probably could benefit very much from studying terminals and terminal emulators..) has no need for a pty since the terminal emulation is contained completely within the SSH client itself. This would be the case on systems where the kernel does not support terminals. I don't know if this is the case for iPhone OS. If you need to ask questions about terminals and terminal emulation on iPhone OS then you must find a better place than the libssh2 mailing list. //Peter _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel From libssh2-devel-bounces@cool.haxx.se Fri Jul 16 06:59:45 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6G4xRsF025353; Fri, 16 Jul 2010 06:59:42 +0200 Received: from smtp.kineticode.com (host-201.commandprompt.net [207.173.203.201]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6G4xO0r025349 for ; Fri, 16 Jul 2010 06:59:26 +0200 Received: from [10.0.1.15] (c-24-21-193-250.hsd1.or.comcast.net [24.21.193.250]) by smtp.kineticode.com (Postfix) with ESMTPSA id 9297F508057 for ; Thu, 15 Jul 2010 21:59:22 -0700 (PDT) Mime-Version: 1.0 (Apple Message framework v1081) Subject: Re: Error Handling with Net::SSH2 From: "David E. Wheeler" In-Reply-To: Date: Thu, 15 Jul 2010 21:59:21 -0700 Message-Id: <70AFE255-03C4-43EE-A903-D2F6A573BF28@kineticode.com> References: <23AC8413-E7FF-4BF3-99E9-07F3E2B1FD61@kineticode.com> <1278965497.2016.20.camel@bret-redbook> <1278979518.3604.57.camel@bret-redbook> <930492C4-FF24-41CD-BA80-694A3051F9F2@kineticode.com> To: libssh2 development X-Mailer: Apple Mail (2.1081) X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Fri, 16 Jul 2010 06:59:45 +0200 (CEST) X-Greylist: Default is to whitelist mail, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Fri, 16 Jul 2010 06:59:26 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se On Jul 15, 2010, at 2:20 PM, Daniel Stenberg wrote: >> Error putting file '/usr/local/htdocs/foo.ppt' on 'prod.example.com': -37 LIBSSH2_ERROR_EAGAIN Unable to send channel data > > A follow-up for everyone reading this thread: > > Me, David and Peter worked on this on IRC and we found the problem to be (entirely) within the libssh2 perl binding code. Yes, and thanks a million to you guys. Huge help, and left me feeling really positive about the quality of libssh2 and the folks who run it. Net::SSH2, OTOH, could use some love. :-) Best, David _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel From libssh2-devel-bounces@cool.haxx.se Fri Jul 16 08:06:17 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6G662OF002749; Fri, 16 Jul 2010 08:06:15 +0200 Received: from oproxy2-pub.bluehost.com (oproxy2-pub.bluehost.com [67.222.39.60]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with SMTP id o6G65wDL002667 for ; Fri, 16 Jul 2010 08:06:00 +0200 Received: (qmail 20242 invoked by uid 0); 16 Jul 2010 06:05:58 -0000 Received: from unknown (HELO box439.bluehost.com) (69.89.31.239) by oproxy2.bluehost.com with SMTP; 16 Jul 2010 06:05:57 -0000 DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=default; d=moontechnolabs.com; h=Received:Content-Type:Mime-Version:Subject:From:In-Reply-To:Date:Content-Transfer-Encoding:Message-Id:References:To:X-Mailer:X-Identified-User; b=S0+erHOFm/BbHjWOS70GgBdevgzUpbel0fcxhGBYPqaEOEbEA2BGAAojLKvVNPJv/Afg5r0nCB+dvf5nApEBzhDZ12kDWZiBBAIPYqyGetIHM+9x6cmAcpaGplK2sfTj; Received: from [122.170.56.184] (helo=[192.168.1.111]) by box439.bluehost.com with esmtpsa (TLSv1:AES128-SHA:128) (Exim 4.69) (envelope-from ) id 1OZe3Y-0003it-DN for libssh2-devel@cool.haxx.se; Fri, 16 Jul 2010 00:05:57 -0600 Mime-Version: 1.0 (Apple Message framework v1078) Subject: Re: Remote Terminal with iPhone SDK From: Paresh Thakor In-Reply-To: <20100715223833.26096.qmail@stuge.se> Date: Fri, 16 Jul 2010 11:35:19 +0530 Message-Id: <3B22B5B6-53A4-45C1-9FBB-0C3A915C36EE@moontechnolabs.com> References: <95E9486B-38E2-4106-9F37-1A3B1AD67D64@moontechnolabs.com> <20100628102527.8883.qmail@stuge.se> <6302E319-3D99-4923-9444-BF0AB752DE10@moontechnolabs.com> <20100628105654.14324.qmail@stuge.se> <7EDBF258-D548-4F0A-A8E2-39CDCE9F76BA@moontechnolabs.com> <20100714204700.10323.qmail@stuge.se> <20100715223833.26096.qmail@stuge.se> To: libssh2 development X-Mailer: Apple Mail (2.1078) X-Identified-User: {1089:box439.bluehost.com:moonsoft:moontechnolabs.com} {sentby:smtp auth 122.170.56.184 authed with paresh.thakor@moontechnolabs.com} X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Fri, 16 Jul 2010 08:06:17 +0200 (CEST) X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Fri, 16 Jul 2010 08:06:01 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se I don't think libssh2 is having any bug, for my situation. But i just need to know about how we can put callback functions which can automatically be called when any data is written on the libssh2_channel? Thanks. On Jul 16, 2010, at 4:08 AM, Peter Stuge wrote: > Paresh Thakor wrote: >> And if i unveil a bit more than mobile terminal is file-based, >> constantly updating terminal file and o/p data from it. >> And libssh is not file based not constantly updating any selected >> file, so, can we make this file-based, so, o/p from libssh can be >> buffered in selected file? So, we can get the o/p from that >> selected file? > > I already wrote that you should forget about the files. The part of > mobileterminal that deals with files obviously does not fit your > project and you need to remove it and write some other code that > glues mobileterminal together with libssh2. > > But frankly, this project seems to be very difficult, so I would > probably suggest working on another project instead. > > >> Is this possible? > > Yes of course it is possible. > > >> Our libssh2 is not working as expected or we might not know >> something so we can make this working.! > > If libssh2 is not working as expected then the problem is either your > expectation, or a bug in libssh2. I think bugs are very important so > please describe your problem in detail, which obviously includes you > describing your expectations, so that we can determine if there is a > bug and what it is. > > Please read http://www.chiark.greenend.org.uk/~sgtatham/bugs.html and > follow the advice there to get the best help. > > > //Peter > _______________________________________________ > libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel From libssh2-devel-bounces@cool.haxx.se Fri Jul 16 14:34:59 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6GCYdwQ002170; Fri, 16 Jul 2010 14:34:55 +0200 Received: from oproxy2-pub.bluehost.com (oproxy2-pub.bluehost.com [67.222.39.60]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with SMTP id o6GCYbt4002163 for ; Fri, 16 Jul 2010 14:34:38 +0200 Received: (qmail 23125 invoked by uid 0); 16 Jul 2010 12:34:34 -0000 Received: from unknown (HELO box439.bluehost.com) (69.89.31.239) by oproxy2.bluehost.com with SMTP; 16 Jul 2010 12:34:34 -0000 DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=default; d=moontechnolabs.com; h=Received:Content-Type:Mime-Version:Subject:From:In-Reply-To:Date:Content-Transfer-Encoding:Message-Id:References:To:X-Mailer:X-Identified-User; b=AoZ50DINd76coAkDtHuYyzHp7hL3o45ki/QSJphvXJgYZNH2dPITdL52E5kklfZoQTq+OR5VBwGulgRYhh3UkMaXGDT+AW0tnOoQ9rxEqZSX3gwrJOvBAvsQYxwggVEj; Received: from [122.170.20.114] (helo=[192.168.1.111]) by box439.bluehost.com with esmtpsa (TLSv1:AES128-SHA:128) (Exim 4.69) (envelope-from ) id 1OZk7d-0007nE-S7 for libssh2-devel@cool.haxx.se; Fri, 16 Jul 2010 06:34:34 -0600 Mime-Version: 1.0 (Apple Message framework v1078) Subject: Re: Remote Terminal with iPhone SDK From: Paresh Thakor In-Reply-To: <3B22B5B6-53A4-45C1-9FBB-0C3A915C36EE@moontechnolabs.com> Date: Fri, 16 Jul 2010 18:04:28 +0530 Message-Id: <40522A16-56B5-4ACE-AC00-1B9559C14F45@moontechnolabs.com> References: <95E9486B-38E2-4106-9F37-1A3B1AD67D64@moontechnolabs.com> <20100628102527.8883.qmail@stuge.se> <6302E319-3D99-4923-9444-BF0AB752DE10@moontechnolabs.com> <20100628105654.14324.qmail@stuge.se> <7EDBF258-D548-4F0A-A8E2-39CDCE9F76BA@moontechnolabs.com> <20100714204700.10323.qmail@stuge.se> <20100715223833.26096.qmail@stuge.se> <3B22B5B6-53A4-45C1-9FBB-0C3A915C36EE@moontechnolabs.com> To: libssh2 development X-Mailer: Apple Mail (2.1078) X-Identified-User: {1089:box439.bluehost.com:moonsoft:moontechnolabs.com} {sentby:smtp auth 122.170.20.114 authed with paresh.thakor@moontechnolabs.com} X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Fri, 16 Jul 2010 14:34:59 +0200 (CEST) X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Fri, 16 Jul 2010 14:34:38 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se Good to have your assistance... finally i glued mobile terminal and libssh2. Now I can proceed with the application. Regards, Paresh Thakor. On Jul 16, 2010, at 11:35 AM, Paresh Thakor wrote: > I don't think libssh2 is having any bug, for my situation. But i just need to know about how we can put callback functions which can automatically be called when any data is written on the libssh2_channel? > > Thanks. > > > On Jul 16, 2010, at 4:08 AM, Peter Stuge wrote: > >> Paresh Thakor wrote: >>> And if i unveil a bit more than mobile terminal is file-based, >>> constantly updating terminal file and o/p data from it. >>> And libssh is not file based not constantly updating any selected >>> file, so, can we make this file-based, so, o/p from libssh can be >>> buffered in selected file? So, we can get the o/p from that >>> selected file? >> >> I already wrote that you should forget about the files. The part of >> mobileterminal that deals with files obviously does not fit your >> project and you need to remove it and write some other code that >> glues mobileterminal together with libssh2. >> >> But frankly, this project seems to be very difficult, so I would >> probably suggest working on another project instead. >> >> >>> Is this possible? >> >> Yes of course it is possible. >> >> >>> Our libssh2 is not working as expected or we might not know >>> something so we can make this working.! >> >> If libssh2 is not working as expected then the problem is either your >> expectation, or a bug in libssh2. I think bugs are very important so >> please describe your problem in detail, which obviously includes you >> describing your expectations, so that we can determine if there is a >> bug and what it is. >> >> Please read http://www.chiark.greenend.org.uk/~sgtatham/bugs.html and >> follow the advice there to get the best help. >> >> >> //Peter >> _______________________________________________ >> libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel > > _______________________________________________ > libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel From libssh2-devel-bounces@cool.haxx.se Fri Jul 16 21:35:18 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6GJXwcj004143; Fri, 16 Jul 2010 21:35:12 +0200 Received: from fluffy.macrabbit.com (fluffy.macrabbit.com [70.84.77.114]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6GJXtXk004127 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT) for ; Fri, 16 Jul 2010 21:33:57 +0200 Received: (qmail 27539 invoked from network); 16 Jul 2010 21:33:53 +0200 Received: from 78-20-241-137.access.telenet.be (HELO ?10.0.1.4?) (78.20.241.137) by fluffy.macrabbit.com with (AES128-SHA encrypted) SMTP; 16 Jul 2010 21:33:53 +0200 From: Jan Van Boghout Subject: Keep-alive problems in 1.2.6 + poll() mistake Date: Fri, 16 Jul 2010 21:33:43 +0200 Message-Id: <3D7E6223-A1DA-45BC-BBF6-6611419D4893@macrabbit.com> To: libssh2 development Mime-Version: 1.0 (Apple Message framework v1081) X-Mailer: Apple Mail (2.1081) X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Fri, 16 Jul 2010 21:35:18 +0200 (CEST) X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Fri, 16 Jul 2010 21:33:57 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se Hello List, I just got around to trying 1.2.6 and discovered that libssh2_keepalive_config() was added a while back. Yay, this could get rid of custom patches... Unfortunately, when I enable it libssh2 won't even establish a proper channel to the server. These are the debug traces of both scenarios, in the hope that someone with more insight into the inner workings can make sense of them: http://macrabbit.com/misc/libssh2/libssh2-log-with-keepalive.txt http://macrabbit.com/misc/libssh2/libssh2-log-without-keepalive.txt There's also a mistake in session.c when poll() is available (line 567 in 1.2.6). Poll() takes its timeout in milliseconds, so the / 1000 should be * 1000. Relevant snippet: rc = poll(sockets, 1, seconds_to_next ? seconds_to_next / 1000 : -1); Cheers, Jan _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel From libssh2-devel-bounces@cool.haxx.se Sat Jul 17 01:47:52 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6GNkYG2032046; Sat, 17 Jul 2010 01:47:47 +0200 Received: from fluffy.macrabbit.com (fluffy.macrabbit.com [70.84.77.114]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6GNkWDr032040 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT) for ; Sat, 17 Jul 2010 01:46:33 +0200 Received: (qmail 31013 invoked from network); 17 Jul 2010 01:46:27 +0200 Received: from 78-20-241-137.access.telenet.be (HELO ?10.0.1.4?) (78.20.241.137) by fluffy.macrabbit.com with (AES128-SHA encrypted) SMTP; 17 Jul 2010 01:46:27 +0200 From: Jan Van Boghout Subject: Blocking mode and LIBSSH2_ERROR_EAGAIN Date: Sat, 17 Jul 2010 01:46:24 +0200 Message-Id: To: libssh2 development Mime-Version: 1.0 (Apple Message framework v1081) X-Mailer: Apple Mail (2.1081) X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Sat, 17 Jul 2010 01:47:52 +0200 (CEST) X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Sat, 17 Jul 2010 01:46:33 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se Hello List, Could someone enlighten me about the exact meaning of a LIBSSH2_ERROR_EAGAIN return value when libssh2 is in blocking mode? I was under the impression that this shouldn't occur, but that's apparently not the case. Cheers, Jan _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel From libssh2-devel-bounces@cool.haxx.se Sat Jul 17 18:57:34 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6HGvGQ7029438; Sat, 17 Jul 2010 18:57:31 +0200 Received: from foo.birdnet.se (qmailr@foo.birdnet.se [213.88.146.6]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with SMTP id o6HGvFU7029435 for ; Sat, 17 Jul 2010 18:57:15 +0200 Received: (qmail 11911 invoked by uid 501); 17 Jul 2010 16:57:12 -0000 Message-ID: <20100717165712.11910.qmail@stuge.se> Date: Sat, 17 Jul 2010 18:57:12 +0200 From: Peter Stuge To: libssh2-devel@cool.haxx.se Subject: Re: Keep-alive problems in 1.2.6 + poll() mistake Mail-Followup-To: libssh2-devel@cool.haxx.se References: <3D7E6223-A1DA-45BC-BBF6-6611419D4893@macrabbit.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <3D7E6223-A1DA-45BC-BBF6-6611419D4893@macrabbit.com> X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Sat, 17 Jul 2010 18:57:34 +0200 (CEST) X-Greylist: Default is to whitelist mail, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Sat, 17 Jul 2010 18:57:16 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se Jan Van Boghout wrote: > There's also a mistake in session.c when poll() is available (line 567 in 1.2.6). Poll() takes its timeout in milliseconds, so the / 1000 should be * 1000. Relevant snippet: I fixed that bug already some time ago, but Daniel manually applied only one of several things I changed in that patch, so the fix was lost in a sea of email. I'll try to get back to that patch soon. //Peter _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel From libssh2-devel-bounces@cool.haxx.se Sat Jul 17 18:59:45 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6HGxhvs031278; Sat, 17 Jul 2010 18:59:44 +0200 Received: from foo.birdnet.se (qmailr@foo.birdnet.se [213.88.146.6]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with SMTP id o6HGxfUB031271 for ; Sat, 17 Jul 2010 18:59:41 +0200 Received: (qmail 12267 invoked by uid 501); 17 Jul 2010 16:59:38 -0000 Message-ID: <20100717165938.12266.qmail@stuge.se> Date: Sat, 17 Jul 2010 18:59:38 +0200 From: Peter Stuge To: libssh2-devel@cool.haxx.se Subject: Re: Blocking mode and LIBSSH2_ERROR_EAGAIN Mail-Followup-To: libssh2-devel@cool.haxx.se References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Sat, 17 Jul 2010 18:59:45 +0200 (CEST) X-Greylist: Default is to whitelist mail, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Sat, 17 Jul 2010 18:59:41 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se Jan Van Boghout wrote: > Could someone enlighten me about the exact meaning of a > LIBSSH2_ERROR_EAGAIN return value when libssh2 is in blocking mode? > I was under the impression that this shouldn't occur, but that's > apparently not the case. I also don't think it should occur. Are you seeing it? The error code is used internally to create the simulated blocking API, so if one checks for an error code when there was in fact no error then you're pretty sure to get EAGAIN as the error code, since that was the last error libssh2 generated, just that the blocking simulation handled it, and later when the error code is being checked without there being an error, it is still set to EAGAIN. //Peter _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel From libssh2-devel-bounces@cool.haxx.se Sat Jul 17 19:20:16 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6HHKAFK013422; Sat, 17 Jul 2010 19:20:15 +0200 Received: from giant.haxx.se (dast@giant.haxx.se [80.67.6.50]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6HHK8te013411 for ; Sat, 17 Jul 2010 19:20:08 +0200 Date: Sat, 17 Jul 2010 19:20:08 +0200 (CEST) From: Daniel Stenberg X-X-Sender: dast@giant.haxx.se To: libssh2 development Subject: Re: Keep-alive problems in 1.2.6 + poll() mistake In-Reply-To: <20100717165712.11910.qmail@stuge.se> Message-ID: References: <3D7E6223-A1DA-45BC-BBF6-6611419D4893@macrabbit.com> <20100717165712.11910.qmail@stuge.se> User-Agent: Alpine 2.00 (DEB 1167 2008-08-23) X-fromdanielhimself: yes MIME-Version: 1.0 X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Sat, 17 Jul 2010 19:20:16 +0200 (CEST) X-Greylist: Default is to whitelist mail, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Sat, 17 Jul 2010 19:20:08 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="us-ascii"; Format="flowed" Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se On Sat, 17 Jul 2010, Peter Stuge wrote: > I fixed that bug already some time ago, but Daniel manually applied only one > of several things I changed in that patch, so the fix was lost in a sea of > email. I'll try to get back to that patch soon. That's not at all what's behind this bug. This happened because I unified some code but failed to keep the details correct. The patch I "applied only one of several things" from that you refer to, was done earlier and your description of that doesn't match my view of what I did... -- / daniel.haxx.se _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel From libssh2-devel-bounces@cool.haxx.se Sat Jul 17 19:25:07 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6HHP4F4015229; Sat, 17 Jul 2010 19:25:06 +0200 Received: from giant.haxx.se (dast@giant.haxx.se [80.67.6.50]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6HHP38e015120 for ; Sat, 17 Jul 2010 19:25:03 +0200 Date: Sat, 17 Jul 2010 19:25:03 +0200 (CEST) From: Daniel Stenberg X-X-Sender: dast@giant.haxx.se To: libssh2 development Subject: Re: Keep-alive problems in 1.2.6 + poll() mistake In-Reply-To: <3D7E6223-A1DA-45BC-BBF6-6611419D4893@macrabbit.com> Message-ID: References: <3D7E6223-A1DA-45BC-BBF6-6611419D4893@macrabbit.com> User-Agent: Alpine 2.00 (DEB 1167 2008-08-23) X-fromdanielhimself: yes MIME-Version: 1.0 X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Sat, 17 Jul 2010 19:25:07 +0200 (CEST) X-Greylist: Default is to whitelist mail, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Sat, 17 Jul 2010 19:25:03 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="us-ascii"; Format="flowed" Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se On Fri, 16 Jul 2010, Jan Van Boghout wrote: > I just got around to trying 1.2.6 and discovered that > libssh2_keepalive_config() was added a while back. Yay, this could get rid > of custom patches... Unfortunately, when I enable it libssh2 won't even > establish a proper channel to the server. A question: at what point in the function flow do you enable the keepalive? Can you provide a smallish example repeating the problem? -- / daniel.haxx.se _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel From libssh2-devel-bounces@cool.haxx.se Sun Jul 18 15:19:03 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6IDIeEN029141; Sun, 18 Jul 2010 15:18:59 +0200 Received: from fluffy.macrabbit.com (fluffy.macrabbit.com [70.84.77.114]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6IDIajG029134 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT) for ; Sun, 18 Jul 2010 15:18:37 +0200 Received: (qmail 6127 invoked from network); 18 Jul 2010 15:18:35 +0200 Received: from 78-20-241-137.access.telenet.be (HELO ?10.0.1.4?) (78.20.241.137) by fluffy.macrabbit.com with (AES128-SHA encrypted) SMTP; 18 Jul 2010 15:18:35 +0200 Mime-Version: 1.0 (Apple Message framework v1081) Subject: Re: Blocking mode and LIBSSH2_ERROR_EAGAIN From: Jan Van Boghout In-Reply-To: <20100717165938.12266.qmail@stuge.se> Date: Sun, 18 Jul 2010 15:18:30 +0200 Message-Id: References: <20100717165938.12266.qmail@stuge.se> To: libssh2 development X-Mailer: Apple Mail (2.1081) X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Sun, 18 Jul 2010 15:19:03 +0200 (CEST) X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Sun, 18 Jul 2010 15:18:38 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se Peter Stuge wrote: > Jan Van Boghout wrote: >> Could someone enlighten me about the exact meaning of a >> LIBSSH2_ERROR_EAGAIN return value when libssh2 is in blocking mode? >> I was under the impression that this shouldn't occur, but that's >> apparently not the case. > > I also don't think it should occur. Are you seeing it? The error code > is used internally to create the simulated blocking API, so if one > checks for an error code when there was in fact no error then you're > pretty sure to get EAGAIN as the error code, since that was the last > error libssh2 generated, just that the blocking simulation handled > it, and later when the error code is being checked without there > being an error, it is still set to EAGAIN. Oops, this was indeed a case of code blindness on my part. Everything is working as it should! Cheers, Jan _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel From libssh2-devel-bounces@cool.haxx.se Sun Jul 18 15:22:43 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6IDMgR9030873; Sun, 18 Jul 2010 15:22:43 +0200 Received: from fluffy.macrabbit.com (fluffy.macrabbit.com [70.84.77.114]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6IDMdIR030864 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT) for ; Sun, 18 Jul 2010 15:22:40 +0200 Received: (qmail 6968 invoked from network); 18 Jul 2010 15:22:36 +0200 Received: from 78-20-241-137.access.telenet.be (HELO ?10.0.1.4?) (78.20.241.137) by fluffy.macrabbit.com with (AES128-SHA encrypted) SMTP; 18 Jul 2010 15:22:36 +0200 Mime-Version: 1.0 (Apple Message framework v1081) Subject: Re: Keep-alive problems in 1.2.6 + poll() mistake From: Jan Van Boghout In-Reply-To: Date: Sun, 18 Jul 2010 15:22:32 +0200 Message-Id: <306B96FD-DA61-4C00-A2A3-0820BBDFDB3C@macrabbit.com> References: <3D7E6223-A1DA-45BC-BBF6-6611419D4893@macrabbit.com> To: libssh2 development X-Mailer: Apple Mail (2.1081) X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Sun, 18 Jul 2010 15:22:43 +0200 (CEST) X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Sun, 18 Jul 2010 15:22:40 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se On 17 Jul 2010, at 19:25, Daniel Stenberg wrote: > On Fri, 16 Jul 2010, Jan Van Boghout wrote: > >> I just got around to trying 1.2.6 and discovered that libssh2_keepalive_config() was added a while back. Yay, this could get rid of custom patches... Unfortunately, when I enable it libssh2 won't even establish a proper channel to the server. > > A question: at what point in the function flow do you enable the keepalive? > > Can you provide a smallish example repeating the problem? I was configuring it before libssh2_session_startup, which turned out to be the culprit. After relocating libssh2_keepalive_config to after libssh2_session_startup, all smooth sailing. Thanks for the hint! Cheers, Jan _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel From libssh2-devel-bounces@cool.haxx.se Sun Jul 18 19:50:41 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6IHoL4Z028119; Sun, 18 Jul 2010 19:50:37 +0200 Received: from giant.haxx.se (dast@giant.haxx.se [80.67.6.50]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6IHoKS2028104 for ; Sun, 18 Jul 2010 19:50:20 +0200 Date: Sun, 18 Jul 2010 19:50:20 +0200 (CEST) From: Daniel Stenberg X-X-Sender: dast@giant.haxx.se To: libssh2 development Subject: Re: Keep-alive problems in 1.2.6 + poll() mistake In-Reply-To: <306B96FD-DA61-4C00-A2A3-0820BBDFDB3C@macrabbit.com> Message-ID: References: <3D7E6223-A1DA-45BC-BBF6-6611419D4893@macrabbit.com> <306B96FD-DA61-4C00-A2A3-0820BBDFDB3C@macrabbit.com> User-Agent: Alpine 2.00 (DEB 1167 2008-08-23) X-fromdanielhimself: yes MIME-Version: 1.0 X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Sun, 18 Jul 2010 19:50:41 +0200 (CEST) X-Greylist: Default is to whitelist mail, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Sun, 18 Jul 2010 19:50:20 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="us-ascii"; Format="flowed" Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se On Sun, 18 Jul 2010, Jan Van Boghout wrote: >> A question: at what point in the function flow do you enable the keepalive? >> >> Can you provide a smallish example repeating the problem? > > I was configuring it before libssh2_session_startup, which turned out to be > the culprit. After relocating libssh2_keepalive_config to after > libssh2_session_startup, all smooth sailing. Thanks for the hint! Great. We need to make some notes about this in the documentation, as I know of at least one other case that also fell into this trap. -- / daniel.haxx.se _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel From libssh2-devel-bounces@cool.haxx.se Sun Jul 18 20:06:41 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6II6XdJ007635; Sun, 18 Jul 2010 20:06:39 +0200 Received: from giant.haxx.se (dast@giant.haxx.se [80.67.6.50]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6II6VAh007621 for ; Sun, 18 Jul 2010 20:06:31 +0200 Date: Sun, 18 Jul 2010 20:06:31 +0200 (CEST) From: Daniel Stenberg X-X-Sender: dast@giant.haxx.se To: libssh2 development Subject: Re: Blocking mode and LIBSSH2_ERROR_EAGAIN In-Reply-To: Message-ID: References: <20100717165938.12266.qmail@stuge.se> User-Agent: Alpine 2.00 (DEB 1167 2008-08-23) X-fromdanielhimself: yes MIME-Version: 1.0 X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Sun, 18 Jul 2010 20:06:41 +0200 (CEST) X-Greylist: Default is to whitelist mail, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Sun, 18 Jul 2010 20:06:31 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="us-ascii"; Format="flowed" Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se On Sun, 18 Jul 2010, Jan Van Boghout wrote: >> I also don't think it should occur. Are you seeing it? The error code >> is used internally to create the simulated blocking API, so if one >> checks for an error code when there was in fact no error then you're >> pretty sure to get EAGAIN as the error code, since that was the last >> error libssh2 generated, > Oops, this was indeed a case of code blindness on my part. Everything is > working as it should! I've just pushed a change now that should make this situation less frequent, in that the internal _libssh2_wait_socket() function will now clear the error code. That should be the primary function that gets used after EAGAIN is set and used internally during blocking mode. -- / daniel.haxx.se _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel From libssh2-devel-bounces@cool.haxx.se Mon Jul 19 23:41:49 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6JLfTUi030809; Mon, 19 Jul 2010 23:41:43 +0200 Received: from VA3EHSOBE003.bigfish.com (va3ehsobe003.messaging.microsoft.com [216.32.180.13]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6JLfQwQ030775 (version=TLSv1/SSLv3 cipher=RC4-MD5 bits=128 verify=NOT) for ; Mon, 19 Jul 2010 23:41:27 +0200 Received: from mail62-va3-R.bigfish.com (10.7.14.237) by VA3EHSOBE003.bigfish.com (10.7.40.23) with Microsoft SMTP Server id 8.1.340.0; Mon, 19 Jul 2010 21:41:17 +0000 Received: from mail62-va3 (localhost.localdomain [127.0.0.1]) by mail62-va3-R.bigfish.com (Postfix) with ESMTP id B943F7F01E8 for ; Mon, 19 Jul 2010 21:41:16 +0000 (UTC) X-SpamScore: -5 X-BigFish: VS-5(zz936eMzz1202hzzz2dh27ah43h61h) X-Spam-TCS-SCL: 0:0 Received: from mail62-va3 (localhost.localdomain [127.0.0.1]) by mail62-va3 (MessageSwitch) id 1279575676334513_25216; Mon, 19 Jul 2010 21:41:16 +0000 (UTC) Received: from VA3EHSMHS005.bigfish.com (unknown [10.7.14.246]) by mail62-va3.bigfish.com (Postfix) with ESMTP id 4D55E1D0046 for ; Mon, 19 Jul 2010 21:41:16 +0000 (UTC) Received: from efjdfwfs07.EFJDFW.local (12.5.72.193) by VA3EHSMHS005.bigfish.com (10.7.99.15) with Microsoft SMTP Server id 14.0.482.44; Mon, 19 Jul 2010 21:41:13 +0000 Received: from transmx01.transcrypt.local ([10.1.0.8]) by efjdfwfs07.EFJDFW.local with Microsoft SMTPSVC(6.0.3790.4675); Mon, 19 Jul 2010 16:41:10 -0500 Content-Class: urn:content-classes:message MIME-Version: 1.0 X-MimeOLE: Produced By Microsoft Exchange V6.5 Subject: libssh2_sftp_close Date: Mon, 19 Jul 2010 16:41:09 -0500 Message-ID: X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: libssh2_sftp_close Thread-Index: AcsnixnM+Fyu3+w5Q4+QGIWUL7rWSw== From: Michael Heese To: X-OriginalArrivalTime: 19 Jul 2010 21:41:10.0665 (UTC) FILETIME=[1A605790:01CB278B] X-Bypass-Agent: EF-1; X-Reverse-DNS: unknown X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Mon, 19 Jul 2010 23:41:49 +0200 (CEST) X-Greylist: Default is to whitelist mail, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Mon, 19 Jul 2010 23:41:27 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: multipart/mixed; boundary="===============1406058126==" Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se --===============1406058126== Content-Class: urn:content-classes:message Content-Type: multipart/alternative; boundary="----_=_NextPart_001_01CB278B.1A2F61CA" ------_=_NextPart_001_01CB278B.1A2F61CA Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable We seem to be experiencing a problem with the libssh2_sftp_close() function. The first time I call this function it works fine. However, any calls to it after that cause it to block and hang forever. =20 The problem seems to be in the _libssh2_wait_socket() function in session.c. The select() function at the bottom is being passed NULL, which causes this function to block infinitely. If I hardcode a value, say 10 seconds, this seems to fix the problem but I would rather not hardcode a timeout value as this causes other calls to delay as well. =20 I see other people have complained about this problem but don't have any fixes/patches available?? We are using version 1.2.6 that I downloaded on 7/12/10. =20 Any help is much appreciated. =20 Thank, Mike H =20 =20 ------_=_NextPart_001_01CB278B.1A2F61CA Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable

We seem to be experiencing a problem with the = libssh2_sftp_close() function.  The first time I call this function it works fine.  However, any calls to it after that cause it to block and hang = forever.

 

The problem seems to be in the = _libssh2_wait_socket() function in session.c.  The select() function at the bottom is = being passed NULL, which causes this function to block infinitely.  If I hardcode a value, say 10 seconds, this seems to fix the problem but I = would rather not hardcode a timeout value as this causes other calls to delay = as well.

 

I see other people have complained about this = problem but don’t have any fixes/patches available??  We are using = version 1.2.6 that I downloaded on 7/12/10.

 

Any help is much = appreciated.

 

Thank,

Mike H

 

 

------_=_NextPart_001_01CB278B.1A2F61CA-- --===============1406058126== 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 --===============1406058126==-- From libssh2-devel-bounces@cool.haxx.se Tue Jul 20 22:38:44 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6KKcRY7011575; Tue, 20 Jul 2010 22:38:41 +0200 Received: from giant.haxx.se (dast@giant.haxx.se [80.67.6.50]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6KKcQFg011558 for ; Tue, 20 Jul 2010 22:38:26 +0200 Date: Tue, 20 Jul 2010 22:38:26 +0200 (CEST) From: Daniel Stenberg X-X-Sender: dast@giant.haxx.se To: libssh2 development Subject: Re: libssh2_sftp_close In-Reply-To: Message-ID: References: User-Agent: Alpine 2.00 (DEB 1167 2008-08-23) X-fromdanielhimself: yes MIME-Version: 1.0 X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Tue, 20 Jul 2010 22:38:44 +0200 (CEST) X-Greylist: Default is to whitelist mail, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Tue, 20 Jul 2010 22:38:26 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="us-ascii"; Format="flowed" Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se On Mon, 19 Jul 2010, Michael Heese wrote: > We seem to be experiencing a problem with the libssh2_sftp_close() function. > The first time I call this function it works fine. However, any calls to it > after that cause it to block and hang forever. I assume you close a second sftp handle then? Can you please provide a small example repeating the problem? Do you use OpenSSL or gcrypt? Does it always happen and does it depend on a particular sftp server flavour? What target operating system are you running this on? > The problem seems to be in the _libssh2_wait_socket() function in session.c. > The select() function at the bottom is being passed NULL, which causes this > function to block infinitely. If I hardcode a value, say 10 seconds, this > seems to fix the problem but I would rather not hardcode a timeout value as > this causes other calls to delay as well. That would be the sympthom of the problem, not the source for it... -- / daniel.haxx.se _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel From libssh2-devel-bounces@cool.haxx.se Wed Jul 21 21:32:05 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6LJVkul003701; Wed, 21 Jul 2010 21:32:00 +0200 Received: from shell.lmi.net (shell.lmi.net [66.117.140.246]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6LJVgF3003689 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT) for ; Wed, 21 Jul 2010 21:31:44 +0200 Received: from rcom-software.com (75-101-82-95.dsl2st.lmi.net [75.101.82.95]) by shell.lmi.net (8.14.1/8.14.1) with ESMTP id o6LJVXdd005166 for ; Wed, 21 Jul 2010 12:31:33 -0700 (PDT) Message-ID: <4C474B4E.6F79CB01@rcom-software.com> Date: Wed, 21 Jul 2010 12:32:30 -0700 From: Paul Romero Organization: RCOM Communications Software X-Mailer: Mozilla 4.77 [en] (Win95; U) X-Accept-Language: en,es,de-DE,fr-FR MIME-Version: 1.0 To: libssh2-devel@cool.haxx.se Subject: SSH Private Key X-Scanned-By: MIMEDefang 2.37 X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Wed, 21 Jul 2010 21:32:05 +0200 (CEST) X-Greylist: Default is to whitelist mail, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Wed, 21 Jul 2010 21:31:45 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se Dear Group: I have an elementary question about the SSH private key . It is used only in authentication, or at other times during an SFTP transaction ? If it is used at other times, can you briefly describe when it is used ? Best Regards, Paul R. -- Paul Romero RCOM Communications Software Phone/Fax: (510)339-2628 E-Mail: paulr@rcom-software.com _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel From libssh2-devel-bounces@cool.haxx.se Wed Jul 21 22:13:09 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6LKCwOt002379; Wed, 21 Jul 2010 22:13:07 +0200 Received: from foo.birdnet.se (qmailr@foo.birdnet.se [213.88.146.6]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with SMTP id o6LKCv8e002373 for ; Wed, 21 Jul 2010 22:12:57 +0200 Received: (qmail 13811 invoked by uid 501); 21 Jul 2010 20:12:54 -0000 Message-ID: <20100721201254.13810.qmail@stuge.se> Date: Wed, 21 Jul 2010 22:12:54 +0200 From: Peter Stuge To: libssh2-devel@cool.haxx.se Subject: Re: SSH Private Key Mail-Followup-To: libssh2-devel@cool.haxx.se References: <4C474B4E.6F79CB01@rcom-software.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <4C474B4E.6F79CB01@rcom-software.com> X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Wed, 21 Jul 2010 22:13:09 +0200 (CEST) X-Greylist: Default is to whitelist mail, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Wed, 21 Jul 2010 22:12:57 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se Paul Romero wrote: > I have an elementary question about the SSH > private key . It is used only in authentication, Yes, only for authentication. > or at other times during an SFTP transaction ? No, other keys and algorithms are negotiated as part of setting up the connection. (Even before authentication.) Enable debugging in libssh2, or run OpenSSH ssh -vvv when logging in, to get a lot of information about the messages back and forth, as part of setting up a session. And of course there's always the RFCs. :) //Peter _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel From libssh2-devel-bounces@cool.haxx.se Fri Jul 23 07:10:04 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6N599Jt012434; Fri, 23 Jul 2010 07:10:00 +0200 Received: from toccata.fugue.com (toccata.fugue.com [204.152.186.142]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6N596ns012411 for ; Fri, 23 Jul 2010 07:09:07 +0200 Received: from [10.1.10.13] (173-162-214-218-NewEngland.hfc.comcastbusiness.net [173.162.214.218]) by toccata.fugue.com (Postfix) with ESMTPSA id 1302B34E420E for ; Fri, 23 Jul 2010 01:09:17 -0400 (EDT) From: Ted Lemon Subject: Incomplete read of channel 0 data from remote host. Date: Fri, 23 Jul 2010 01:08:59 -0400 Message-Id: To: libssh2-devel@cool.haxx.se Mime-Version: 1.0 (Apple Message framework v1081) X-Mailer: Apple Mail (2.1081) X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Fri, 23 Jul 2010 07:10:04 +0200 (CEST) X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Fri, 23 Jul 2010 07:09:07 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se I'm having a weird problem that I suspect is a failure to understand how the library works, and I'm wondering if somebody can clue me in. My code is running in non-blocking mode. My app successfully connects to the remote host and authenticates, creates a channel, and starts a shell. Then when I try to read the initial output of the shell, I get nothing--libssh2_channel_read_ex returns EAGAIN. So I added some code to send "ls\n". Okay, now I get the initial login banner, and part of the ls output, but again it stops before I get a prompt. It looks like the code is returning EAGAIN when it already has some data, because it wants to fill up my input buffer (256 bytes) before returning any data at all. Does that make sense? Is there a call I'm supposed to do to figure out how much data is available to be read? I couldn't make sense of all the calls for getting and setting windows--is that what I'm missing? Anyway, thanks in advance for any advice you can give me! _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel From libssh2-devel-bounces@cool.haxx.se Fri Jul 23 15:58:23 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6NDw7rJ024827; Fri, 23 Jul 2010 15:58:19 +0200 Received: from foo.birdnet.se (qmailr@foo.birdnet.se [213.88.146.6]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with SMTP id o6NDw5f5024823 for ; Fri, 23 Jul 2010 15:58:05 +0200 Received: (qmail 17663 invoked by uid 501); 23 Jul 2010 13:58:01 -0000 Message-ID: <20100723135801.17662.qmail@stuge.se> Date: Fri, 23 Jul 2010 15:58:01 +0200 From: Peter Stuge To: libssh2-devel@cool.haxx.se Subject: Re: Incomplete read of channel 0 data from remote host. Mail-Followup-To: libssh2-devel@cool.haxx.se References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Fri, 23 Jul 2010 15:58:23 +0200 (CEST) X-Greylist: Default is to whitelist mail, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Fri, 23 Jul 2010 15:58:06 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se Ted Lemon wrote: > I'm having a weird problem that I suspect is a failure to > understand how the library works, and I'm wondering if somebody can > clue me in. I think maybe SSH rathern than the library. Let's see if we can find the problem. > My code is running in non-blocking mode. My app successfully > connects to the remote host and authenticates, creates a channel, > and starts a shell. You do not request a PTY? > Then when I try to read the initial output of the shell, I get > nothing--libssh2_channel_read_ex returns EAGAIN. > > So I added some code to send "ls\n". Okay, now I get the initial > login banner, and part of the ls output, but again it stops before > I get a prompt. This suggests that something along the way is being line buffered. TTYs (including PTYs) are character based, so would not be, but if you're running the shell without a PTY then maybe it's connected to sshd on the server through a line buffered pipe. > It looks like the code is returning EAGAIN when it already has some > data, because it wants to fill up my input buffer (256 bytes) > before returning any data at all. Does that make sense? No. libssh2 never keeps anything from you. It's much simpler than that. > Is there a call I'm supposed to do to figure out how much data is > available to be read? Nope. Though this is not such a bad idea, we've been discussing ways to improve the API and something like this has come up. > I couldn't make sense of all the calls for getting and setting > windows--is that what I'm missing? No, windows is a fairly low-level part of the SSH protocol, so nothing that applications should deal with. > Anyway, thanks in advance for any advice you can give me! Check that your connection to the shell is not line buffered anywhere. Also, note that you will need terminal emulation if you want to use any more fancy formatting over the connection. Of course you can always use the "dumb" terminal, but it isn't so sexy. //Peter _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel From libssh2-devel-bounces@cool.haxx.se Fri Jul 23 16:13:18 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6NEDC4T004066; Fri, 23 Jul 2010 16:13:18 +0200 Received: from toccata.fugue.com (toccata.fugue.com [204.152.186.142]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6NEDAbC004046 for ; Fri, 23 Jul 2010 16:13:11 +0200 Received: from [10.1.10.13] (173-162-214-218-NewEngland.hfc.comcastbusiness.net [173.162.214.218]) by toccata.fugue.com (Postfix) with ESMTPSA id EB9E834E468E; Fri, 23 Jul 2010 10:13:20 -0400 (EDT) Mime-Version: 1.0 (Apple Message framework v1081) Subject: Re: Incomplete read of channel 0 data from remote host. From: Ted Lemon In-Reply-To: <20100723135801.17662.qmail@stuge.se> Date: Fri, 23 Jul 2010 10:13:01 -0400 Message-Id: References: <20100723135801.17662.qmail@stuge.se> To: libssh2 development , Peter Stuge X-Mailer: Apple Mail (2.1081) X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Fri, 23 Jul 2010 16:13:18 +0200 (CEST) X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Fri, 23 Jul 2010 16:13:11 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se On Jul 23, 2010, at 9:58 AM, Peter Stuge wrote: > You do not request a PTY? Sorry, I left that part out. Unfortunately, I do request a pty, so that's not it. > This suggests that something along the way is being line buffered. > TTYs (including PTYs) are character based, so would not be, but if > you're running the shell without a PTY then maybe it's connected to > sshd on the server through a line buffered pipe. There's nothing to suggest that it's line buffered. Is it possible that some output might be getting discarded for some reason? _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel From libssh2-devel-bounces@cool.haxx.se Fri Jul 23 16:34:12 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6NEY1Jh017969; Fri, 23 Jul 2010 16:34:10 +0200 Received: from foo.birdnet.se (qmailr@foo.birdnet.se [213.88.146.6]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with SMTP id o6NEXx1X017951 for ; Fri, 23 Jul 2010 16:34:00 +0200 Received: (qmail 23784 invoked by uid 501); 23 Jul 2010 14:33:57 -0000 Message-ID: <20100723143357.23783.qmail@stuge.se> Date: Fri, 23 Jul 2010 16:33:57 +0200 From: Peter Stuge To: libssh2-devel@cool.haxx.se Subject: Re: Incomplete read of channel 0 data from remote host. Mail-Followup-To: libssh2-devel@cool.haxx.se References: <20100723135801.17662.qmail@stuge.se> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Fri, 23 Jul 2010 16:34:12 +0200 (CEST) X-Greylist: Default is to whitelist mail, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Fri, 23 Jul 2010 16:34:00 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se Ted Lemon wrote: > Unfortunately, I do request a pty, so that's not it. Ok. > There's nothing to suggest that it's line buffered. Is it > possible that some output might be getting discarded for some > reason? No, not really. Now would be a good time to enable debug output in your libssh2, and call libssh2_trace(session,~0); in your app. Then inspect/send the debug log. //Peter _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel From libssh2-devel-bounces@cool.haxx.se Fri Jul 23 16:51:40 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6NEpVYE030395; Fri, 23 Jul 2010 16:51:38 +0200 Received: from toccata.fugue.com (toccata.fugue.com [204.152.186.142]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6NEpSNb030374 for ; Fri, 23 Jul 2010 16:51:28 +0200 Received: from [10.1.10.13] (173-162-214-218-NewEngland.hfc.comcastbusiness.net [173.162.214.218]) by toccata.fugue.com (Postfix) with ESMTPSA id F3F9534E4670 for ; Fri, 23 Jul 2010 10:51:38 -0400 (EDT) Mime-Version: 1.0 (Apple Message framework v1081) Subject: Re: Incomplete read of channel 0 data from remote host. From: Ted Lemon In-Reply-To: <20100723143357.23783.qmail@stuge.se> Date: Fri, 23 Jul 2010 10:51:19 -0400 Message-Id: References: <20100723135801.17662.qmail@stuge.se> <20100723143357.23783.qmail@stuge.se> To: libssh2 development X-Mailer: Apple Mail (2.1081) X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Fri, 23 Jul 2010 16:51:40 +0200 (CEST) X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Fri, 23 Jul 2010 16:51:29 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se On Jul 23, 2010, at 10:33 AM, Peter Stuge wrote: > No, not really. Now would be a good time to enable debug output in > your libssh2, and call libssh2_trace(session,~0); in your app. Then > inspect/send the debug log. Oh, interesting. I've included the tail end of the log below, with the hex dump excluded. It looks like all the data arrived, but not all of it came in when I did the read. My buffer for the read was 256 bytes; it looks like it discarded everything after that. When I made the buffer 25600 bytes instead of 256, I got all the output. This doesn't explain why I didn't get all the output from the initial read, but it's certainly interesting. => libssh2_transport_read() plain (10626 bytes) [libssh2] 4.154395 Transport: Packet type 94 received, length=10626 [libssh2] 4.154418 Conn: 10617 bytes packet_add() for 0/0/0 [libssh2] 4.154457 Socket: Error recving 16384 bytes to 0x762120+0: 35 [libssh2] 4.154481 Conn: channel_read() got 154 of data from 0/0/0 [ul] [libssh2] 4.154509 Conn: channel_read() got 22 of data from 0/0/0 [ul] [libssh2] 4.154530 Conn: channel_read() got 9 of data from 0/0/0 [ul] [libssh2] 4.154550 Conn: channel_read() got 1 of data from 0/0/0 [ul] [libssh2] 4.154568 Conn: channel_read() got 1 of data from 0/0/0 [ul] [libssh2] 4.154588 Conn: channel_read() got 1 of data from 0/0/0 [ul] [libssh2] 4.154702 Conn: channel_read() got 1 of data from 0/0/0 [ul] [libssh2] 4.154729 Conn: channel_read() got 1 of data from 0/0/0 [ul] [libssh2] 4.154749 Conn: channel_read() got 2 of data from 0/0/0 [ul] [libssh2] 4.154769 Conn: channel_read() got 16 of data from 0/0/0 [ul] [libssh2] 4.154790 Conn: channel_read() got 48 of data from 0/0/0 len: 256 string: onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0 isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke e]0;mellon@toccata: ~atoccata% ls -l total 12037508 drwxr-xr-x 2 mellon staff 4096 2002 current string: [libssh2] 4.154956 Socket: Error recving 16384 bytes to 0x762120+0: 35 [libssh2] 4.155043 Conn: channel_read() wants 256 bytes from channel 0/0 stream #2 [libssh2] 4.155071 Socket: Error recving 16384 bytes to 0x762120+0: 35 sshStateConnected need input... At this point with the 256-byte buffer, it just hangs, even though we've received all the (voluminous) output from the ls. _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel From libssh2-devel-bounces@cool.haxx.se Fri Jul 23 17:33:05 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6NFWnWV022493; Fri, 23 Jul 2010 17:33:02 +0200 Received: from opentext.com (smtpout.opentext.com [204.138.115.203]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6NFWls2022458 (version=TLSv1/SSLv3 cipher=EDH-RSA-DES-CBC3-SHA bits=168 verify=NOT) for ; Fri, 23 Jul 2010 17:32:48 +0200 Received: from otwlpm01.smtp.dmz.opentext.com (otwlpm01.smtp.dmz.opentext.com [192.168.15.230]) by opentext.com (8.12.8/8.12.8) with ESMTP id o6NFWdS9029427 (version=TLSv1/SSLv3 cipher=EDH-RSA-DES-CBC3-SHA bits=168 verify=FAIL) for ; Fri, 23 Jul 2010 11:32:39 -0400 Received: from vectorsvc.wl.opentext.com (ava.wl.opentext.com [172.21.5.96]) by otwlpm01.smtp.dmz.opentext.com (8.14.4/8.14.4) with ESMTP id o6NFWdMI019115 (version=TLSv1/SSLv3 cipher=EDH-RSA-DES-CBC3-SHA bits=168 verify=NO) for ; Fri, 23 Jul 2010 11:32:39 -0400 (envelope-from arossen@opentext.com) Received: from OTWLMX06.opentext.net (otwlxg04.wl.opentext.com [10.2.102.26]) by vectorsvc.wl.opentext.com (8.12.8/8.12.8) with ESMTP id o6NFWdqt029422 for ; Fri, 23 Jul 2010 11:32:39 -0400 X-MimeOLE: Produced By Microsoft Exchange V6.5 Content-class: urn:content-classes:message MIME-Version: 1.0 Subject: linking static lib fails on Solaris9 Date: Fri, 23 Jul 2010 11:29:28 -0400 Message-ID: X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: linking static lib fails on Solaris9 Thread-Index: AcsqfEfpXWkA7NZmR8iZsral8pX6rg== From: "Alona Rossen" To: X-Archived: msg.1OJgBxb:2010-07-23:otwlpm01.smtp.dmz.opentext.com X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Fri, 23 Jul 2010 17:33:05 +0200 (CEST) X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Fri, 23 Jul 2010 17:32:49 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: multipart/mixed; boundary="===============1696084673==" Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se This is a multi-part message in MIME format. --===============1696084673== Content-class: urn:content-classes:message Content-Type: multipart/alternative; boundary="----_=_NextPart_001_01CB2A7C.47FA3324" This is a multi-part message in MIME format. ------_=_NextPart_001_01CB2A7C.47FA3324 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Hello,=20 =20 I receive the following error when I try to build static lib on Solaris9 with Sun C++ 5.5 2003/03/12: =20 libtool: link: false cru .libs/libssh2.a...... =20 $ ./configure LD=3Dcc LDFLAGS=3D-ldl --with-openssl --with-libssl-prefix=3D/usr/local/ssl --prefix=3D/export/home/sambuild/CURL_SSH2/ssh2 =20 =20 Please advise. =20 Thank you,=20 Alona ------_=_NextPart_001_01CB2A7C.47FA3324 Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable

Hello,

 

I receive the following error when I try to build = static lib on Solaris9 with Sun C++ 5.5 2003/03/12:

 

libtool: link: false cru = .libs/libssh2.a……

 

$ ./configure LD=3Dcc LDFLAGS=3D-ldl --with-openssl --with-libssl-prefix=3D/usr/local/ssl --prefix=3D/export/home/sambuild/CURL_SSH2/ssh2

 

 

Please advise.

 

Thank you,

Alona

------_=_NextPart_001_01CB2A7C.47FA3324-- --===============1696084673== 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 --===============1696084673==-- From libssh2-devel-bounces@cool.haxx.se Fri Jul 23 18:53:50 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6NGrXtj009799; Fri, 23 Jul 2010 18:53:48 +0200 Received: from foo.birdnet.se (qmailr@foo.birdnet.se [213.88.146.6]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with SMTP id o6NGrVrg009792 for ; Fri, 23 Jul 2010 18:53:31 +0200 Received: (qmail 15460 invoked by uid 501); 23 Jul 2010 16:53:28 -0000 Message-ID: <20100723165328.15459.qmail@stuge.se> Date: Fri, 23 Jul 2010 18:53:28 +0200 From: Peter Stuge To: libssh2-devel@cool.haxx.se Subject: Re: linking static lib fails on Solaris9 Mail-Followup-To: libssh2-devel@cool.haxx.se References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Fri, 23 Jul 2010 18:53:50 +0200 (CEST) X-Greylist: Default is to whitelist mail, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Fri, 23 Jul 2010 18:53:31 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se Hi Alona, Alona Rossen wrote: > I receive the following error when I try to build static lib on > Solaris9 with Sun C++ 5.5 2003/03/12: > > libtool: link: false cru .libs/libssh2.a...... > > $ ./configure LD=cc LDFLAGS=-ldl --with-openssl > --with-libssl-prefix=/usr/local/ssl > --prefix=/export/home/sambuild/CURL_SSH2/ssh2 Please provide more information. Send the full output starting with the configure command through to the prompt after the failed make. //Peter _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel From libssh2-devel-bounces@cool.haxx.se Fri Jul 23 19:09:55 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6NH9kf4021711; Fri, 23 Jul 2010 19:09:53 +0200 Received: from foo.birdnet.se (qmailr@foo.birdnet.se [213.88.146.6]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with SMTP id o6NH9ikt021695 for ; Fri, 23 Jul 2010 19:09:44 +0200 Received: (qmail 18476 invoked by uid 501); 23 Jul 2010 17:09:41 -0000 Message-ID: <20100723170941.18475.qmail@stuge.se> Date: Fri, 23 Jul 2010 19:09:41 +0200 From: Peter Stuge To: libssh2-devel@cool.haxx.se Subject: Re: Incomplete read of channel 0 data from remote host. Mail-Followup-To: libssh2-devel@cool.haxx.se References: <20100723135801.17662.qmail@stuge.se> <20100723143357.23783.qmail@stuge.se> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Fri, 23 Jul 2010 19:09:55 +0200 (CEST) X-Greylist: Default is to whitelist mail, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Fri, 23 Jul 2010 19:09:44 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se Ted Lemon wrote: > My buffer for the read was 256 bytes; it looks like it discarded > everything after that. When I made the buffer 25600 bytes instead > of 256, I got all the output. Ok, then please use a larger buffer for now. 1024 should be safe since it used to be the maximum allowed size for a long time. > This doesn't explain why I didn't get all the output from the > initial read, but it's certainly interesting. Clearly there's some bug in libssh2 when it comes to small buffers, just like there is with really large buffers. (Never go above ~32500 byte buffers when you send.) Basically data handling within libssh2 has known problems, and you bumped into yet another one. If you want to improve libssh2 then your help with fixing this is very welcome, if not then please stick with a slightly larger buffer to avoid the problem. :) //Peter _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel From libssh2-devel-bounces@cool.haxx.se Fri Jul 23 19:43:13 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6NHh5oq008120; Fri, 23 Jul 2010 19:43:12 +0200 Received: from toccata.fugue.com (toccata.fugue.com [204.152.186.142]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6NHh37B008042 for ; Fri, 23 Jul 2010 19:43:03 +0200 Received: from [10.1.10.13] (173-162-214-218-NewEngland.hfc.comcastbusiness.net [173.162.214.218]) by toccata.fugue.com (Postfix) with ESMTPSA id 2CD3634E466E for ; Fri, 23 Jul 2010 13:43:13 -0400 (EDT) Mime-Version: 1.0 (Apple Message framework v1081) Subject: Re: Incomplete read of channel 0 data from remote host. From: Ted Lemon In-Reply-To: <20100723170941.18475.qmail@stuge.se> Date: Fri, 23 Jul 2010 13:42:54 -0400 Message-Id: <5EAD92EA-6170-4EB8-B6DD-CF2F90977FD5@fugue.com> References: <20100723135801.17662.qmail@stuge.se> <20100723143357.23783.qmail@stuge.se> <20100723170941.18475.qmail@stuge.se> To: libssh2 development X-Mailer: Apple Mail (2.1081) X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Fri, 23 Jul 2010 19:43:13 +0200 (CEST) X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Fri, 23 Jul 2010 19:43:03 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se On Jul 23, 2010, at 1:09 PM, Peter Stuge wrote: > Basically data handling within libssh2 has known problems, and you > bumped into yet another one. If you want to improve libssh2 then your > help with fixing this is very welcome, if not then please stick with > a slightly larger buffer to avoid the problem. :) I will take a look at it when I get a chance--I definitely have some ideas for how to improve libssh2, some of which you might like--but for now I will use the larger buffer size to get over this obstacle. Thanks for helping me to figure this out! _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel From libssh2-devel-bounces@cool.haxx.se Fri Jul 23 20:00:22 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6NI06vZ017665; Fri, 23 Jul 2010 20:00:19 +0200 Received: from ponderosa.fch.wimsey.bc.ca (zz20920564179.cipherkey.net [209.205.64.179]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6NI03lP017306 for ; Fri, 23 Jul 2010 20:00:04 +0200 Received: by coneharvesters.com via sendmail with stdio id for libssh2-devel@cool.haxx.se; Fri, 23 Jul 2010 10:59:54 -0700 (PDT) Date: Fri, 23 Jul 2010 10:59:53 -0700 From: Dan Fandrich To: libssh2-devel@cool.haxx.se Subject: Re: linking static lib fails on Solaris9 Message-ID: <20100723175952.GA23719@coneharvesters.com> Mail-Followup-To: libssh2-devel@cool.haxx.se References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.19 (2009-01-05) X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Fri, 23 Jul 2010 20:00:22 +0200 (CEST) X-Greylist: Default is to whitelist mail, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Fri, 23 Jul 2010 20:00:04 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se On Fri, Jul 23, 2010 at 11:29:28AM -0400, Alona Rossen wrote: > I receive the following error when I try to build static lib on Solaris9 with > Sun C++ 5.5 2003/03/12: > > libtool: link: false cru .libs/libssh2.a?? It looks like configure or libtool is using the program 'false' to create static archives instead of 'ar'. Clearly, there is an issue with its static library support. Do you have 'ar' installed? >>> Dan _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel From libssh2-devel-bounces@cool.haxx.se Fri Jul 23 20:07:28 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6NI7N17025571; Fri, 23 Jul 2010 20:07:27 +0200 Received: from opentext.com (smtpout.opentext.com [204.138.115.203]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6NI7JtY025432 (version=TLSv1/SSLv3 cipher=EDH-RSA-DES-CBC3-SHA bits=168 verify=NOT) for ; Fri, 23 Jul 2010 20:07:21 +0200 Received: from otwlpm02.smtp.dmz.opentext.com (otwlpm02.smtp.dmz.opentext.com [192.168.15.231]) by opentext.com (8.12.8/8.12.8) with ESMTP id o6NI7BS9026928 (version=TLSv1/SSLv3 cipher=EDH-RSA-DES-CBC3-SHA bits=168 verify=FAIL) for ; Fri, 23 Jul 2010 14:07:11 -0400 Received: from vectorsvc.wl.opentext.com (ava.wl.opentext.com [172.21.5.96]) by otwlpm02.smtp.dmz.opentext.com (8.14.4/8.14.4) with ESMTP id o6NI7ATT004326 (version=TLSv1/SSLv3 cipher=EDH-RSA-DES-CBC3-SHA bits=168 verify=NO) for ; Fri, 23 Jul 2010 14:07:11 -0400 (envelope-from arossen@opentext.com) Received: from OTWLMX06.opentext.net (otwlxg04.wl.opentext.com [10.2.102.26]) by vectorsvc.wl.opentext.com (8.12.8/8.12.8) with ESMTP id o6NI7Aqt026923 for ; Fri, 23 Jul 2010 14:07:10 -0400 X-MimeOLE: Produced By Microsoft Exchange V6.5 Content-class: urn:content-classes:message MIME-Version: 1.0 Subject: RE: linking static lib fails on Solaris9 Date: Fri, 23 Jul 2010 14:07:10 -0400 Message-ID: In-Reply-To: <20100723175952.GA23719@coneharvesters.com> X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: linking static lib fails on Solaris9 Thread-Index: AcsqkScwlzwoy0tSSdaRbuYtf4VYVAAAKfEA References: <20100723175952.GA23719@coneharvesters.com> From: "Alona Rossen" To: "libssh2 development" X-Archived: msg.2gD29Mg:2010-07-23:otwlpm02.smtp.dmz.opentext.com X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Fri, 23 Jul 2010 20:07:28 +0200 (CEST) X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Fri, 23 Jul 2010 20:07:21 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se Yes, we do. In fact, configure was supposed to fail in case we did not. -----Original Message----- From: libssh2-devel-bounces@cool.haxx.se [mailto:libssh2-devel-bounces@cool.haxx.se] On Behalf Of Dan Fandrich Sent: Friday, July 23, 2010 2:00 PM To: libssh2-devel@cool.haxx.se Subject: Re: linking static lib fails on Solaris9 On Fri, Jul 23, 2010 at 11:29:28AM -0400, Alona Rossen wrote: > I receive the following error when I try to build static lib on Solaris9 with > Sun C++ 5.5 2003/03/12: > > libtool: link: false cru .libs/libssh2.a?? It looks like configure or libtool is using the program 'false' to create static archives instead of 'ar'. Clearly, there is an issue with its static library support. Do you have 'ar' installed? >>> Dan _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel From libssh2-devel-bounces@cool.haxx.se Fri Jul 23 20:16:03 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6NIFYXJ029529; Fri, 23 Jul 2010 20:16:02 +0200 Received: from opentext.com (smtpout.opentext.com [204.138.115.203]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6NIFUw6029466 (version=TLSv1/SSLv3 cipher=EDH-RSA-DES-CBC3-SHA bits=168 verify=NOT) for ; Fri, 23 Jul 2010 20:15:31 +0200 Received: from otwlpm02.smtp.dmz.opentext.com (otwlpm02.smtp.dmz.opentext.com [192.168.15.231]) by opentext.com (8.12.8/8.12.8) with ESMTP id o6NIFMS9030302 (version=TLSv1/SSLv3 cipher=EDH-RSA-DES-CBC3-SHA bits=168 verify=FAIL) for ; Fri, 23 Jul 2010 14:15:22 -0400 Received: from vectorsvc.wl.opentext.com (ava.wl.opentext.com [172.21.5.96]) by otwlpm02.smtp.dmz.opentext.com (8.14.4/8.14.4) with ESMTP id o6NIFMkm014788 (version=TLSv1/SSLv3 cipher=EDH-RSA-DES-CBC3-SHA bits=168 verify=NO) for ; Fri, 23 Jul 2010 14:15:22 -0400 (envelope-from arossen@opentext.com) Received: from OTWLMX06.opentext.net (otwlxg04.wl.opentext.com [10.2.102.26]) by vectorsvc.wl.opentext.com (8.12.8/8.12.8) with ESMTP id o6NIFMqt030295 for ; Fri, 23 Jul 2010 14:15:22 -0400 X-MimeOLE: Produced By Microsoft Exchange V6.5 Content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----_=_NextPart_001_01CB2A93.035D7744" Subject: RE: linking static lib fails on Solaris9 Date: Fri, 23 Jul 2010 14:13:58 -0400 Message-ID: In-Reply-To: <20100723165328.15459.qmail@stuge.se> X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: linking static lib fails on Solaris9 Thread-Index: Acsqh/qYzXyHMQZiR1GTx3zqXNAXWwACsQzw References: <20100723165328.15459.qmail@stuge.se> From: "Alona Rossen" To: "libssh2 development" X-Archived: msg.2rCjbxU:2010-07-23:otwlpm02.smtp.dmz.opentext.com X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Fri, 23 Jul 2010 20:16:03 +0200 (CEST) X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Fri, 23 Jul 2010 20:15:33 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se This is a multi-part message in MIME format. ------_=_NextPart_001_01CB2A93.035D7744 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable -----Original Message----- From: libssh2-devel-bounces@cool.haxx.se [mailto:libssh2-devel-bounces@cool.haxx.se] On Behalf Of Peter Stuge Sent: July 23, 2010 12:53 PM To: libssh2-devel@cool.haxx.se Subject: Re: linking static lib fails on Solaris9 Hi Alona, Alona Rossen wrote: > I receive the following error when I try to build static lib on > Solaris9 with Sun C++ 5.5 2003/03/12: >=20 > libtool: link: false cru .libs/libssh2.a...... >=20 > $ ./configure LD=3Dcc LDFLAGS=3D-ldl --with-openssl > --with-libssl-prefix=3D/usr/local/ssl > --prefix=3D/export/home/sambuild/CURL_SSH2/ssh2 Please provide more information. Send the full output starting with the configure command through to the prompt after the failed make. //Peter _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel ------_=_NextPart_001_01CB2A93.035D7744 Content-Type: application/octet-stream; name="config.log" Content-Transfer-Encoding: base64 Content-Description: config.log Content-Disposition: attachment; filename="config.log" VGhpcyBmaWxlIGNvbnRhaW5zIGFueSBtZXNzYWdlcyBwcm9kdWNlZCBieSBjb21waWxlcnMgd2hp bGUKcnVubmluZyBjb25maWd1cmUsIHRvIGFpZCBkZWJ1Z2dpbmcgaWYgY29uZmlndXJlIG1ha2Vz IGEgbWlzdGFrZS4KCkl0IHdhcyBjcmVhdGVkIGJ5IGxpYnNzaDIgY29uZmlndXJlIC0sIHdoaWNo IHdhcwpnZW5lcmF0ZWQgYnkgR05VIEF1dG9jb25mIDIuNjUuICBJbnZvY2F0aW9uIGNvbW1hbmQg bGluZSB3YXMKCiAgJCAuL2NvbmZpZ3VyZSBDQz1DQyBMREZMQUdTPS1sZGwgLS13aXRoLW9wZW5z c2wgLS13aXRoLWxpYnNzbC1wcmVmaXg9L2V4cG9ydC9ob21lL3VzZXJzL3NhbWJ1aWxkL3NzbCAt LXByZWZpeD0vZXhwb3J0L2hvbWUvc2FtYnVpbGQvQ1VSTF9TU0gyL3NzaDIKCiMjIC0tLS0tLS0t LSAjIwojIyBQbGF0Zm9ybS4gIyMKIyMgLS0tLS0tLS0tICMjCgpob3N0bmFtZSA9IHFhZ2VuaW9z b2w5CnVuYW1lIC1tID0gc3VuNHUKdW5hbWUgLXIgPSA1LjkKdW5hbWUgLXMgPSBTdW5PUwp1bmFt ZSAtdiA9IEdlbmVyaWNfMTIyMzAwLTMyCgovdXNyL2Jpbi91bmFtZSAtcCA9IHNwYXJjCi9iaW4v dW5hbWUgLVggICAgID0gU3lzdGVtID0gU3VuT1MKTm9kZSA9IHFhZ2VuaW9zb2w5ClJlbGVhc2Ug PSA1LjkKS2VybmVsSUQgPSBHZW5lcmljXzEyMjMwMC0zMgpNYWNoaW5lID0gc3VuNHUKQnVzVHlw ZSA9IDx1bmtub3duPgpTZXJpYWwgPSA8dW5rbm93bj4KVXNlcnMgPSA8dW5rbm93bj4KT0VNIyA9 IDAKT3JpZ2luIyA9IDEKTnVtQ1BVID0gMQoKL2Jpbi9hcmNoICAgICAgICAgICAgICA9IHN1bjQK L3Vzci9iaW4vYXJjaCAtayAgICAgICA9IHN1bjR1Ci91c3IvY29udmV4L2dldHN5c2luZm8gPSB1 bmtub3duCi91c3IvYmluL2hvc3RpbmZvICAgICAgPSB1bmtub3duCi9iaW4vbWFjaGluZSAgICAg ICAgICAgPSB1bmtub3duCi91c3IvYmluL29zbGV2ZWwgICAgICAgPSB1bmtub3duCi9iaW4vdW5p dmVyc2UgICAgICAgICAgPSB1bmtub3duCgpQQVRIOiAvdXNyL2xvY2FsL2JpbgpQQVRIOiAvdXNy L2JpbgpQQVRIOiAvdXNyL3VjYgpQQVRIOiAvZXRjClBBVEg6IC4KUEFUSDogL3Vzci9vcGVud2lu L2JpbgpQQVRIOiAvZXhwb3J0L2hvbWUvU1MxMS9TVU5Xc3Byby9iaW4KCgojIyAtLS0tLS0tLS0t LSAjIwojIyBDb3JlIHRlc3RzLiAjIwojIyAtLS0tLS0tLS0tLSAjIwoKY29uZmlndXJlOjI0MTc6 IGNoZWNraW5nIHdoZXRoZXIgdG8gZW5hYmxlIG1haW50YWluZXItc3BlY2lmaWMgcG9ydGlvbnMg b2YgTWFrZWZpbGVzCmNvbmZpZ3VyZToyNDI2OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToyNDQ0OiBj aGVja2luZyBmb3Igc2VkCmNvbmZpZ3VyZToyNDYzOiBmb3VuZCAvdXNyL2Jpbi9zZWQKY29uZmln dXJlOjI0NzY6IHJlc3VsdDogL3Vzci9iaW4vc2VkCmNvbmZpZ3VyZToyNTMwOiBjaGVja2luZyBm b3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsCmNvbmZpZ3VyZToyNTk4OiByZXN1bHQ6IC4vaW5z dGFsbC1zaCAtYwpjb25maWd1cmU6MjYwOTogY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9u bWVudCBpcyBzYW5lCmNvbmZpZ3VyZToyNjQ2OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjcwODog Y2hlY2tpbmcgZm9yIGdhd2sKY29uZmlndXJlOjI3Mzg6IHJlc3VsdDogbm8KY29uZmlndXJlOjI3 MDg6IGNoZWNraW5nIGZvciBtYXdrCmNvbmZpZ3VyZToyNzM4OiByZXN1bHQ6IG5vCmNvbmZpZ3Vy ZToyNzA4OiBjaGVja2luZyBmb3IgbmF3awpjb25maWd1cmU6MjcyNDogZm91bmQgL3Vzci9iaW4v bmF3awpjb25maWd1cmU6MjczNTogcmVzdWx0OiBuYXdrCmNvbmZpZ3VyZToyNzQ2OiBjaGVja2lu ZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpCmNvbmZpZ3VyZToyNzY4OiByZXN1bHQ6IHllcwpj b25maWd1cmU6Mjk0NjogY2hlY2tpbmcgbGlic3NoMiB2ZXJzaW9uCmNvbmZpZ3VyZToyOTQ4OiBy ZXN1bHQ6IDEuMi42CmNvbmZpZ3VyZToyOTU3OiBjaGVja2luZyBidWlsZCBzeXN0ZW0gdHlwZQpj b25maWd1cmU6Mjk3MTogcmVzdWx0OiBzcGFyYy1zdW4tc29sYXJpczIuOQpjb25maWd1cmU6Mjk5 MTogY2hlY2tpbmcgaG9zdCBzeXN0ZW0gdHlwZQpjb25maWd1cmU6MzAwNDogcmVzdWx0OiBzcGFy Yy1zdW4tc29sYXJpczIuOQpjb25maWd1cmU6MzAzMTogYXV0b2J1aWxkIHByb2plY3QuLi4gbGli c3NoMgpjb25maWd1cmU6MzAzNzogYXV0b2J1aWxkIHJldmlzaW9uLi4uIDEuMi42CmNvbmZpZ3Vy ZTozMDQyOiBhdXRvYnVpbGQgaG9zdG5hbWUuLi4gcWFnZW5pb3NvbDkKY29uZmlndXJlOjMwNTM6 IGF1dG9idWlsZCB0aW1lc3RhbXAuLi4gMjAxMDA3MjMtMTIwOTU5CmNvbmZpZ3VyZTozMDk0OiBj aGVja2luZyBmb3Igc3R5bGUgb2YgaW5jbHVkZSB1c2VkIGJ5IG1ha2UKY29uZmlndXJlOjMxMjI6 IHJlc3VsdDogR05VCmNvbmZpZ3VyZTozMTk1OiBjaGVja2luZyBmb3IgZ2NjCmNvbmZpZ3VyZToz MjIyOiByZXN1bHQ6IENDCmNvbmZpZ3VyZTozNDUxOiBjaGVja2luZyBmb3IgQyBjb21waWxlciB2 ZXJzaW9uCmNvbmZpZ3VyZTozNDYwOiBDQyAtLXZlcnNpb24gPiY1CkNDOiBXYXJuaW5nOiBPcHRp b24gLS12ZXJzaW9uIHBhc3NlZCB0byBsZCwgaWYgbGQgaXMgaW52b2tlZCwgaWdub3JlZCBvdGhl cndpc2UKL3Vzci9jY3MvYmluL2xkOiBpbGxlZ2FsIG9wdGlvbiAtLSAtCi91c3IvY2NzL2Jpbi9s ZDogaWxsZWdhbCBvcHRpb24gLS0gdgp1c2FnZTogbGQgWy02OmFiYzpkOmU6ZjpoOmlsOm1vOnA6 cnN0dTp6OkI6Q0Q6RjpHSTpMOk06TjpQOlE6UjpTOlZZOj9dIGZpbGUocykKCVstNjRdCQllbmZv cmNlIGEgNjQtYml0IGxpbmstZWRpdAoJWy1hXQkJY3JlYXRlIGFuIGFic29sdXRlIGZpbGUKCVst Yl0JCWRvIG5vdCBkbyBzcGVjaWFsIFBJQyByZWxvY2F0aW9ucyBpbiBhLm91dAoJWy1CIGRpcmVj dCB8IG5vZGlyZWN0XQoJCQllc3RhYmxpc2ggZGlyZWN0IGJpbmRpbmdzLCBvciBpbmhpYml0IGRp cmVjdCBiaW5kaW5nCgkJCXRvLCB0aGUgb2JqZWN0IGJlaW5nIGNyZWF0ZWQKLi4uIHJlc3Qgb2Yg c3RkZXJyIG91dHB1dCBkZWxldGVkIC4uLgpjb25maWd1cmU6MzQ3MTogJD8gPSAxCmNvbmZpZ3Vy ZTozNDYwOiBDQyAtdiA+JjUKIyMjICAgICBjb21tYW5kIGxpbmUgZmlsZXMgYW5kIG9wdGlvbnMg KGV4cGFuZGVkKToKIyMjIC12IAojIyMgQ0M6IE5vdGU6IE5MU1BBVEggPSAvb3B0L3RlcmFkYXRh L2NsaWVudC8xMy4xMC9vZGJjXzMyL21zZy8lTjo6L2V4cG9ydC9ob21lL1NTMTEvU1VOV3Nwcm8v cHJvZC9iaW4vLi4vbGliL2xvY2FsZS8lTC9MQ19NRVNTQUdFUy8lTi5jYXQ6L2V4cG9ydC9ob21l L1NTMTEvU1VOV3Nwcm8vcHJvZC9iaW4vLi4vLi4vbGliL2xvY2FsZS8lTC9MQ19NRVNTQUdFUy8l Ti5jYXQKY29uZmlndXJlOjM0NzE6ICQ/ID0gMApjb25maWd1cmU6MzQ2MDogQ0MgLVYgPiY1CkND OiBTdW4gQysrIDUuOCAyMDA1LzEwLzEzCmNvbmZpZ3VyZTozNDcxOiAkPyA9IDAKY29uZmlndXJl OjM0NjA6IENDIC1xdmVyc2lvbiA+JjUKQ0M6IFdhcm5pbmc6IE9wdGlvbiAtcXZlcnNpb24gcGFz c2VkIHRvIGxkLCBpZiBsZCBpcyBpbnZva2VkLCBpZ25vcmVkIG90aGVyd2lzZQovdXNyL2Njcy9i aW4vbGQ6IGlsbGVnYWwgb3B0aW9uIC0tIHEKL3Vzci9jY3MvYmluL2xkOiBpbGxlZ2FsIG9wdGlv biAtLSB2CnVzYWdlOiBsZCBbLTY6YWJjOmQ6ZTpmOmg6aWw6bW86cDpyc3R1Ono6QjpDRDpGOkdJ Okw6TTpOOlA6UTpSOlM6Vlk6P10gZmlsZShzKQoJWy02NF0JCWVuZm9yY2UgYSA2NC1iaXQgbGlu ay1lZGl0CglbLWFdCQljcmVhdGUgYW4gYWJzb2x1dGUgZmlsZQoJWy1iXQkJZG8gbm90IGRvIHNw ZWNpYWwgUElDIHJlbG9jYXRpb25zIGluIGEub3V0CglbLUIgZGlyZWN0IHwgbm9kaXJlY3RdCgkJ CWVzdGFibGlzaCBkaXJlY3QgYmluZGluZ3MsIG9yIGluaGliaXQgZGlyZWN0IGJpbmRpbmcKCQkJ dG8sIHRoZSBvYmplY3QgYmVpbmcgY3JlYXRlZAouLi4gcmVzdCBvZiBzdGRlcnIgb3V0cHV0IGRl bGV0ZWQgLi4uCmNvbmZpZ3VyZTozNDcxOiAkPyA9IDEKY29uZmlndXJlOjM0OTE6IGNoZWNraW5n IHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgd29ya3MKY29uZmlndXJlOjM1MTM6IENDICAgLWxkbCBj b25mdGVzdC5jICA+JjUKY29uZmlndXJlOjM1MTc6ICQ/ID0gMApjb25maWd1cmU6MzU2NjogcmVz dWx0OiB5ZXMKY29uZmlndXJlOjM1Njk6IGNoZWNraW5nIGZvciBDIGNvbXBpbGVyIGRlZmF1bHQg b3V0cHV0IGZpbGUgbmFtZQpjb25maWd1cmU6MzU3MTogcmVzdWx0OiBhLm91dApjb25maWd1cmU6 MzU3NzogY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcwpjb25maWd1cmU6MzU4NDog Q0MgLW8gY29uZnRlc3QgICAtbGRsIGNvbmZ0ZXN0LmMgID4mNQpjb25maWd1cmU6MzU4ODogJD8g PSAwCmNvbmZpZ3VyZTozNjEwOiByZXN1bHQ6IApjb25maWd1cmU6MzYzMjogY2hlY2tpbmcgd2hl dGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nCmNvbmZpZ3VyZTozNjQwOiBDQyAtbyBjb25mdGVz dCAgIC1sZGwgY29uZnRlc3QuYyAgPiY1CmNvbmZpZ3VyZTozNjQ0OiAkPyA9IDAKY29uZmlndXJl OjM2NTE6IC4vY29uZnRlc3QKY29uZmlndXJlOjM2NTU6ICQ/ID0gMApjb25maWd1cmU6MzY3MDog cmVzdWx0OiBubwpjb25maWd1cmU6MzY3NTogY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBvYmplY3Qg ZmlsZXMKY29uZmlndXJlOjM2OTc6IENDIC1jICAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjM3 MDE6ICQ/ID0gMApjb25maWd1cmU6MzcyMjogcmVzdWx0OiBvCmNvbmZpZ3VyZTozNzI2OiBjaGVj a2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyB0aGUgR05VIEMgY29tcGlsZXIKY29uZmlndXJlOjM3 NDU6IENDIC1jICAgY29uZnRlc3QuYyA+JjUKImNvbmZ0ZXN0LmMiLCBsaW5lIDE2OiBFcnJvcjog Y2hva2UgaXMgbm90IGRlZmluZWQuCjEgRXJyb3IocykgZGV0ZWN0ZWQuCmNvbmZpZ3VyZTozNzQ1 OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAq Lwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJsaWJzc2gyIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJO QU1FICJsaWJzc2gyIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICItIgp8ICNkZWZpbmUgUEFD S0FHRV9TVFJJTkcgImxpYnNzaDIgLSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJsaWJz c2gyLWRldmVsQGNvb2wuaGF4eC5zZSIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmlu ZSBQQUNLQUdFICJsaWJzc2gyIgp8ICNkZWZpbmUgVkVSU0lPTiAiMS4yLjYiCnwgLyogZW5kIGNv bmZkZWZzLmguICAqLwp8IAp8IGludAp8IG1haW4gKCkKfCB7CnwgI2lmbmRlZiBfX0dOVUNfXwp8 ICAgICAgICBjaG9rZSBtZQp8ICNlbmRpZgp8IAp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25m aWd1cmU6Mzc1NDogcmVzdWx0OiBubwpjb25maWd1cmU6Mzc2MzogY2hlY2tpbmcgd2hldGhlciBD QyBhY2NlcHRzIC1nCmNvbmZpZ3VyZTozNzgzOiBDQyAtYyAtZyAgY29uZnRlc3QuYyA+JjUKY29u ZmlndXJlOjM3ODM6ICQ/ID0gMApjb25maWd1cmU6MzgyNDogcmVzdWx0OiB5ZXMKY29uZmlndXJl OjM4NDE6IGNoZWNraW5nIGZvciBDQyBvcHRpb24gdG8gYWNjZXB0IElTTyBDODkKY29uZmlndXJl OjM5MDU6IENDICAtYyAtZyAgY29uZnRlc3QuYyA+JjUKImNvbmZ0ZXN0LmMiLCBsaW5lIDE4OiBF cnJvcjogcCBpcyBub3QgZGVmaW5lZC4KImNvbmZ0ZXN0LmMiLCBsaW5lIDIyOiBXYXJuaW5nOiBU aGUgdmFyaWFibGUgcCBoYXMgbm90IHlldCBiZWVuIGFzc2lnbmVkIGEgdmFsdWUuCiJjb25mdGVz dC5jIiwgbGluZSAyMjogV2FybmluZzogVGhlIHZhcmlhYmxlIGkgaGFzIG5vdCB5ZXQgYmVlbiBh c3NpZ25lZCBhIHZhbHVlLgoiY29uZnRlc3QuYyIsIGxpbmUgMjU6IEVycm9yOiBVc2UgIjsiIHRv IHRlcm1pbmF0ZSBkZWNsYXJhdGlvbnMuCiJjb25mdGVzdC5jIiwgbGluZSAyODogRXJyb3I6IF9f YnVpbHRpbl92YV9hbGlzdCBpcyBub3QgZGVmaW5lZC4KImNvbmZ0ZXN0LmMiLCBsaW5lIDI5OiBF cnJvcjogVGhlIGZ1bmN0aW9uICJnIiBtdXN0IGhhdmUgYSBwcm90b3R5cGUuCiJjb25mdGVzdC5j IiwgbGluZSA1NjogRXJyb3I6IFVzZSAiOyIgdG8gdGVybWluYXRlIGRlY2xhcmF0aW9ucy4KImNv bmZ0ZXN0LmMiLCBsaW5lIDU3OiBFcnJvcjogRm9ybWFsIGFyZ3VtZW50IGcgb2YgdHlwZSBjaGFy KigqKShjaGFyKiosaW50KSBpbiBjYWxsIHRvIGYoY2hhciooKikoY2hhcioqLGludCksIGNoYXIq KiwgLi4uKSBpcyBiZWluZyBwYXNzZWQgY2hhciooKikoKS4KImNvbmZ0ZXN0LmMiLCBsaW5lIDU3 OiBFcnJvcjogRm9ybWFsIGFyZ3VtZW50IGcgb2YgdHlwZSBjaGFyKigqKShjaGFyKiosaW50KSBp biBjYWxsIHRvIGYoY2hhciooKikoY2hhcioqLGludCksIGNoYXIqKiwgLi4uKSBpcyBiZWluZyBw YXNzZWQgY2hhciooKikoKS4KImNvbmZ0ZXN0LmMiLCBsaW5lIDYwOiBFcnJvcjogIn0iIGV4cGVj dGVkIGluc3RlYWQgb2YgRU9GLgo4IEVycm9yKHMpIGFuZCAyIFdhcm5pbmcocykgZGV0ZWN0ZWQu CmNvbmZpZ3VyZTozOTA1OiAkPyA9IDgKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6Cnwg LyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJsaWJzc2gyIgp8ICNkZWZp bmUgUEFDS0FHRV9UQVJOQU1FICJsaWJzc2gyIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIt Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImxpYnNzaDIgLSIKfCAjZGVmaW5lIFBBQ0tBR0Vf QlVHUkVQT1JUICJsaWJzc2gyLWRldmVsQGNvb2wuaGF4eC5zZSIKfCAjZGVmaW5lIFBBQ0tBR0Vf VVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJsaWJzc2gyIgp8ICNkZWZpbmUgVkVSU0lPTiAiMS4y LjYiCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzdGRhcmcuaD4KfCAjaW5j bHVkZSA8c3RkaW8uaD4KfCAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2luY2x1ZGUgPHN5cy9z dGF0Lmg+CnwgLyogTW9zdCBvZiB0aGUgZm9sbG93aW5nIHRlc3RzIGFyZSBzdG9sZW4gZnJvbSBS Q1MgNS43J3Mgc3JjL2NvbmYuc2guICAqLwp8IHN0cnVjdCBidWYgeyBpbnQgeDsgfTsKfCBGSUxF ICogKCpyY3NvcGVuKSAoc3RydWN0IGJ1ZiAqLCBzdHJ1Y3Qgc3RhdCAqLCBpbnQpOwp8IHN0YXRp YyBjaGFyICplIChwLCBpKQp8ICAgICAgY2hhciAqKnA7CnwgICAgICBpbnQgaTsKfCB7CnwgICBy ZXR1cm4gcFtpXTsKfCB9Cnwgc3RhdGljIGNoYXIgKmYgKGNoYXIgKiAoKmcpIChjaGFyICoqLCBp bnQpLCBjaGFyICoqcCwgLi4uKQp8IHsKfCAgIGNoYXIgKnM7CnwgICB2YV9saXN0IHY7CnwgICB2 YV9zdGFydCAodixwKTsKfCAgIHMgPSBnIChwLCB2YV9hcmcgKHYsaW50KSk7CnwgICB2YV9lbmQg KHYpOwp8ICAgcmV0dXJuIHM7CnwgfQp8IAp8IC8qIE9TRiA0LjAgQ29tcGFxIGNjIGlzIHNvbWUg c29ydCBvZiBhbG1vc3QtQU5TSSBieSBkZWZhdWx0LiAgSXQgaGFzCnwgICAgZnVuY3Rpb24gcHJv dG90eXBlcyBhbmQgc3R1ZmYsIGJ1dCBub3QgJ1x4SEgnIGhleCBjaGFyYWN0ZXIgY29uc3RhbnRz Lgp8ICAgIFRoZXNlIGRvbid0IHByb3Zva2UgYW4gZXJyb3IgdW5mb3J0dW5hdGVseSwgaW5zdGVh ZCBhcmUgc2lsZW50bHkgdHJlYXRlZAp8ICAgIGFzICd4Jy4gIFRoZSBmb2xsb3dpbmcgaW5kdWNl cyBhbiBlcnJvciwgdW50aWwgLXN0ZCBpcyBhZGRlZCB0byBnZXQKfCAgICBwcm9wZXIgQU5TSSBt b2RlLiAgQ3VyaW91c2x5ICdceDAwJyE9J3gnIGFsd2F5cyBjb21lcyBvdXQgdHJ1ZSwgZm9yIGFu CnwgICAgYXJyYXkgc2l6ZSBhdCBsZWFzdC4gIEl0J3MgbmVjZXNzYXJ5IHRvIHdyaXRlICdceDAw Jz09MCB0byBnZXQgc29tZXRoaW5nCnwgICAgdGhhdCdzIHRydWUgb25seSB3aXRoIC1zdGQuICAq Lwp8IGludCBvc2Y0X2NjX2FycmF5IFsnXHgwMCcgPT0gMCA/IDEgOiAtMV07CnwgCnwgLyogSUJN IEMgNiBmb3IgQUlYIGlzIGFsbW9zdC1BTlNJIGJ5IGRlZmF1bHQsIGJ1dCBpdCByZXBsYWNlcyBt YWNybyBwYXJhbWV0ZXJzCnwgICAgaW5zaWRlIHN0cmluZ3MgYW5kIGNoYXJhY3RlciBjb25zdGFu dHMuICAqLwp8ICNkZWZpbmUgRk9PKHgpICd4Jwp8IGludCB4bGM2X2NjX2FycmF5W0ZPTyhhKSA9 PSAneCcgPyAxIDogLTFdOwp8IAp8IGludCB0ZXN0IChpbnQgaSwgZG91YmxlIHgpOwp8IHN0cnVj dCBzMSB7aW50ICgqZikgKGludCBhKTt9Owp8IHN0cnVjdCBzMiB7aW50ICgqZikgKGRvdWJsZSBh KTt9Owp8IGludCBwYWlybmFtZXMgKGludCwgY2hhciAqKiwgRklMRSAqKCopKHN0cnVjdCBidWYg Kiwgc3RydWN0IHN0YXQgKiwgaW50KSwgaW50LCBpbnQpOwp8IGludCBhcmdjOwp8IGNoYXIgKiph cmd2Owp8IGludAp8IG1haW4gKCkKfCB7CnwgcmV0dXJuIGYgKGUsIGFyZ3YsIDApICE9IGFyZ3Zb MF0gIHx8ICBmIChlLCBhcmd2LCAxKSAhPSBhcmd2WzFdOwp8ICAgOwp8ICAgcmV0dXJuIDA7Cnwg fQpjb25maWd1cmU6MzkwNTogQ0MgLXFsYW5nbHZsPWV4dGM4OSAtYyAtZyAgY29uZnRlc3QuYyA+ JjUKQ0M6IFdhcm5pbmc6IE9wdGlvbiAtcWxhbmdsdmw9ZXh0Yzg5IHBhc3NlZCB0byBsZCwgaWYg bGQgaXMgaW52b2tlZCwgaWdub3JlZCBvdGhlcndpc2UKImNvbmZ0ZXN0LmMiLCBsaW5lIDE4OiBF cnJvcjogcCBpcyBub3QgZGVmaW5lZC4KImNvbmZ0ZXN0LmMiLCBsaW5lIDIyOiBXYXJuaW5nOiBU aGUgdmFyaWFibGUgcCBoYXMgbm90IHlldCBiZWVuIGFzc2lnbmVkIGEgdmFsdWUuCiJjb25mdGVz dC5jIiwgbGluZSAyMjogV2FybmluZzogVGhlIHZhcmlhYmxlIGkgaGFzIG5vdCB5ZXQgYmVlbiBh c3NpZ25lZCBhIHZhbHVlLgoiY29uZnRlc3QuYyIsIGxpbmUgMjU6IEVycm9yOiBVc2UgIjsiIHRv IHRlcm1pbmF0ZSBkZWNsYXJhdGlvbnMuCiJjb25mdGVzdC5jIiwgbGluZSAyODogRXJyb3I6IF9f YnVpbHRpbl92YV9hbGlzdCBpcyBub3QgZGVmaW5lZC4KImNvbmZ0ZXN0LmMiLCBsaW5lIDI5OiBF cnJvcjogVGhlIGZ1bmN0aW9uICJnIiBtdXN0IGhhdmUgYSBwcm90b3R5cGUuCiJjb25mdGVzdC5j IiwgbGluZSA1NjogRXJyb3I6IFVzZSAiOyIgdG8gdGVybWluYXRlIGRlY2xhcmF0aW9ucy4KImNv bmZ0ZXN0LmMiLCBsaW5lIDU3OiBFcnJvcjogRm9ybWFsIGFyZ3VtZW50IGcgb2YgdHlwZSBjaGFy KigqKShjaGFyKiosaW50KSBpbiBjYWxsIHRvIGYoY2hhciooKikoY2hhcioqLGludCksIGNoYXIq KiwgLi4uKSBpcyBiZWluZyBwYXNzZWQgY2hhciooKikoKS4KImNvbmZ0ZXN0LmMiLCBsaW5lIDU3 OiBFcnJvcjogRm9ybWFsIGFyZ3VtZW50IGcgb2YgdHlwZSBjaGFyKigqKShjaGFyKiosaW50KSBp biBjYWxsIHRvIGYoY2hhciooKikoY2hhcioqLGludCksIGNoYXIqKiwgLi4uKSBpcyBiZWluZyBw YXNzZWQgY2hhciooKikoKS4KImNvbmZ0ZXN0LmMiLCBsaW5lIDYwOiBFcnJvcjogIn0iIGV4cGVj dGVkIGluc3RlYWQgb2YgRU9GLgo4IEVycm9yKHMpIGFuZCAyIFdhcm5pbmcocykgZGV0ZWN0ZWQu CmNvbmZpZ3VyZTozOTA1OiAkPyA9IDgKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6Cnwg LyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJsaWJzc2gyIgp8ICNkZWZp bmUgUEFDS0FHRV9UQVJOQU1FICJsaWJzc2gyIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIt Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImxpYnNzaDIgLSIKfCAjZGVmaW5lIFBBQ0tBR0Vf QlVHUkVQT1JUICJsaWJzc2gyLWRldmVsQGNvb2wuaGF4eC5zZSIKfCAjZGVmaW5lIFBBQ0tBR0Vf VVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJsaWJzc2gyIgp8ICNkZWZpbmUgVkVSU0lPTiAiMS4y LjYiCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzdGRhcmcuaD4KfCAjaW5j bHVkZSA8c3RkaW8uaD4KfCAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2luY2x1ZGUgPHN5cy9z dGF0Lmg+CnwgLyogTW9zdCBvZiB0aGUgZm9sbG93aW5nIHRlc3RzIGFyZSBzdG9sZW4gZnJvbSBS Q1MgNS43J3Mgc3JjL2NvbmYuc2guICAqLwp8IHN0cnVjdCBidWYgeyBpbnQgeDsgfTsKfCBGSUxF ICogKCpyY3NvcGVuKSAoc3RydWN0IGJ1ZiAqLCBzdHJ1Y3Qgc3RhdCAqLCBpbnQpOwp8IHN0YXRp YyBjaGFyICplIChwLCBpKQp8ICAgICAgY2hhciAqKnA7CnwgICAgICBpbnQgaTsKfCB7CnwgICBy ZXR1cm4gcFtpXTsKfCB9Cnwgc3RhdGljIGNoYXIgKmYgKGNoYXIgKiAoKmcpIChjaGFyICoqLCBp bnQpLCBjaGFyICoqcCwgLi4uKQp8IHsKfCAgIGNoYXIgKnM7CnwgICB2YV9saXN0IHY7CnwgICB2 YV9zdGFydCAodixwKTsKfCAgIHMgPSBnIChwLCB2YV9hcmcgKHYsaW50KSk7CnwgICB2YV9lbmQg KHYpOwp8ICAgcmV0dXJuIHM7CnwgfQp8IAp8IC8qIE9TRiA0LjAgQ29tcGFxIGNjIGlzIHNvbWUg c29ydCBvZiBhbG1vc3QtQU5TSSBieSBkZWZhdWx0LiAgSXQgaGFzCnwgICAgZnVuY3Rpb24gcHJv dG90eXBlcyBhbmQgc3R1ZmYsIGJ1dCBub3QgJ1x4SEgnIGhleCBjaGFyYWN0ZXIgY29uc3RhbnRz Lgp8ICAgIFRoZXNlIGRvbid0IHByb3Zva2UgYW4gZXJyb3IgdW5mb3J0dW5hdGVseSwgaW5zdGVh ZCBhcmUgc2lsZW50bHkgdHJlYXRlZAp8ICAgIGFzICd4Jy4gIFRoZSBmb2xsb3dpbmcgaW5kdWNl cyBhbiBlcnJvciwgdW50aWwgLXN0ZCBpcyBhZGRlZCB0byBnZXQKfCAgICBwcm9wZXIgQU5TSSBt b2RlLiAgQ3VyaW91c2x5ICdceDAwJyE9J3gnIGFsd2F5cyBjb21lcyBvdXQgdHJ1ZSwgZm9yIGFu CnwgICAgYXJyYXkgc2l6ZSBhdCBsZWFzdC4gIEl0J3MgbmVjZXNzYXJ5IHRvIHdyaXRlICdceDAw Jz09MCB0byBnZXQgc29tZXRoaW5nCnwgICAgdGhhdCdzIHRydWUgb25seSB3aXRoIC1zdGQuICAq Lwp8IGludCBvc2Y0X2NjX2FycmF5IFsnXHgwMCcgPT0gMCA/IDEgOiAtMV07CnwgCnwgLyogSUJN IEMgNiBmb3IgQUlYIGlzIGFsbW9zdC1BTlNJIGJ5IGRlZmF1bHQsIGJ1dCBpdCByZXBsYWNlcyBt YWNybyBwYXJhbWV0ZXJzCnwgICAgaW5zaWRlIHN0cmluZ3MgYW5kIGNoYXJhY3RlciBjb25zdGFu dHMuICAqLwp8ICNkZWZpbmUgRk9PKHgpICd4Jwp8IGludCB4bGM2X2NjX2FycmF5W0ZPTyhhKSA9 PSAneCcgPyAxIDogLTFdOwp8IAp8IGludCB0ZXN0IChpbnQgaSwgZG91YmxlIHgpOwp8IHN0cnVj dCBzMSB7aW50ICgqZikgKGludCBhKTt9Owp8IHN0cnVjdCBzMiB7aW50ICgqZikgKGRvdWJsZSBh KTt9Owp8IGludCBwYWlybmFtZXMgKGludCwgY2hhciAqKiwgRklMRSAqKCopKHN0cnVjdCBidWYg Kiwgc3RydWN0IHN0YXQgKiwgaW50KSwgaW50LCBpbnQpOwp8IGludCBhcmdjOwp8IGNoYXIgKiph cmd2Owp8IGludAp8IG1haW4gKCkKfCB7CnwgcmV0dXJuIGYgKGUsIGFyZ3YsIDApICE9IGFyZ3Zb MF0gIHx8ICBmIChlLCBhcmd2LCAxKSAhPSBhcmd2WzFdOwp8ICAgOwp8ICAgcmV0dXJuIDA7Cnwg fQpjb25maWd1cmU6MzkwNTogQ0MgLXFsYW5nbHZsPWFuc2kgLWMgLWcgIGNvbmZ0ZXN0LmMgPiY1 CkNDOiBXYXJuaW5nOiBPcHRpb24gLXFsYW5nbHZsPWFuc2kgcGFzc2VkIHRvIGxkLCBpZiBsZCBp cyBpbnZva2VkLCBpZ25vcmVkIG90aGVyd2lzZQoiY29uZnRlc3QuYyIsIGxpbmUgMTg6IEVycm9y OiBwIGlzIG5vdCBkZWZpbmVkLgoiY29uZnRlc3QuYyIsIGxpbmUgMjI6IFdhcm5pbmc6IFRoZSB2 YXJpYWJsZSBwIGhhcyBub3QgeWV0IGJlZW4gYXNzaWduZWQgYSB2YWx1ZS4KImNvbmZ0ZXN0LmMi LCBsaW5lIDIyOiBXYXJuaW5nOiBUaGUgdmFyaWFibGUgaSBoYXMgbm90IHlldCBiZWVuIGFzc2ln bmVkIGEgdmFsdWUuCiJjb25mdGVzdC5jIiwgbGluZSAyNTogRXJyb3I6IFVzZSAiOyIgdG8gdGVy bWluYXRlIGRlY2xhcmF0aW9ucy4KImNvbmZ0ZXN0LmMiLCBsaW5lIDI4OiBFcnJvcjogX19idWls dGluX3ZhX2FsaXN0IGlzIG5vdCBkZWZpbmVkLgoiY29uZnRlc3QuYyIsIGxpbmUgMjk6IEVycm9y OiBUaGUgZnVuY3Rpb24gImciIG11c3QgaGF2ZSBhIHByb3RvdHlwZS4KImNvbmZ0ZXN0LmMiLCBs aW5lIDU2OiBFcnJvcjogVXNlICI7IiB0byB0ZXJtaW5hdGUgZGVjbGFyYXRpb25zLgoiY29uZnRl c3QuYyIsIGxpbmUgNTc6IEVycm9yOiBGb3JtYWwgYXJndW1lbnQgZyBvZiB0eXBlIGNoYXIqKCop KGNoYXIqKixpbnQpIGluIGNhbGwgdG8gZihjaGFyKigqKShjaGFyKiosaW50KSwgY2hhcioqLCAu Li4pIGlzIGJlaW5nIHBhc3NlZCBjaGFyKigqKSgpLgoiY29uZnRlc3QuYyIsIGxpbmUgNTc6IEVy cm9yOiBGb3JtYWwgYXJndW1lbnQgZyBvZiB0eXBlIGNoYXIqKCopKGNoYXIqKixpbnQpIGluIGNh bGwgdG8gZihjaGFyKigqKShjaGFyKiosaW50KSwgY2hhcioqLCAuLi4pIGlzIGJlaW5nIHBhc3Nl ZCBjaGFyKigqKSgpLgoiY29uZnRlc3QuYyIsIGxpbmUgNjA6IEVycm9yOiAifSIgZXhwZWN0ZWQg aW5zdGVhZCBvZiBFT0YuCjggRXJyb3IocykgYW5kIDIgV2FybmluZyhzKSBkZXRlY3RlZC4KY29u ZmlndXJlOjM5MDU6ICQ/ID0gOApjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBj b25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImxpYnNzaDIiCnwgI2RlZmluZSBQ QUNLQUdFX1RBUk5BTUUgImxpYnNzaDIiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIi0iCnwg I2RlZmluZSBQQUNLQUdFX1NUUklORyAibGlic3NoMiAtIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdS RVBPUlQgImxpYnNzaDItZGV2ZWxAY29vbC5oYXh4LnNlIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwg IiIKfCAjZGVmaW5lIFBBQ0tBR0UgImxpYnNzaDIiCnwgI2RlZmluZSBWRVJTSU9OICIxLjIuNiIK fCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN0ZGFyZy5oPgp8ICNpbmNsdWRl IDxzdGRpby5oPgp8ICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjaW5jbHVkZSA8c3lzL3N0YXQu aD4KfCAvKiBNb3N0IG9mIHRoZSBmb2xsb3dpbmcgdGVzdHMgYXJlIHN0b2xlbiBmcm9tIFJDUyA1 LjcncyBzcmMvY29uZi5zaC4gICovCnwgc3RydWN0IGJ1ZiB7IGludCB4OyB9Owp8IEZJTEUgKiAo KnJjc29wZW4pIChzdHJ1Y3QgYnVmICosIHN0cnVjdCBzdGF0ICosIGludCk7Cnwgc3RhdGljIGNo YXIgKmUgKHAsIGkpCnwgICAgICBjaGFyICoqcDsKfCAgICAgIGludCBpOwp8IHsKfCAgIHJldHVy biBwW2ldOwp8IH0KfCBzdGF0aWMgY2hhciAqZiAoY2hhciAqICgqZykgKGNoYXIgKiosIGludCks IGNoYXIgKipwLCAuLi4pCnwgewp8ICAgY2hhciAqczsKfCAgIHZhX2xpc3QgdjsKfCAgIHZhX3N0 YXJ0ICh2LHApOwp8ICAgcyA9IGcgKHAsIHZhX2FyZyAodixpbnQpKTsKfCAgIHZhX2VuZCAodik7 CnwgICByZXR1cm4gczsKfCB9CnwgCnwgLyogT1NGIDQuMCBDb21wYXEgY2MgaXMgc29tZSBzb3J0 IG9mIGFsbW9zdC1BTlNJIGJ5IGRlZmF1bHQuICBJdCBoYXMKfCAgICBmdW5jdGlvbiBwcm90b3R5 cGVzIGFuZCBzdHVmZiwgYnV0IG5vdCAnXHhISCcgaGV4IGNoYXJhY3RlciBjb25zdGFudHMuCnwg ICAgVGhlc2UgZG9uJ3QgcHJvdm9rZSBhbiBlcnJvciB1bmZvcnR1bmF0ZWx5LCBpbnN0ZWFkIGFy ZSBzaWxlbnRseSB0cmVhdGVkCnwgICAgYXMgJ3gnLiAgVGhlIGZvbGxvd2luZyBpbmR1Y2VzIGFu IGVycm9yLCB1bnRpbCAtc3RkIGlzIGFkZGVkIHRvIGdldAp8ICAgIHByb3BlciBBTlNJIG1vZGUu ICBDdXJpb3VzbHkgJ1x4MDAnIT0neCcgYWx3YXlzIGNvbWVzIG91dCB0cnVlLCBmb3IgYW4KfCAg ICBhcnJheSBzaXplIGF0IGxlYXN0LiAgSXQncyBuZWNlc3NhcnkgdG8gd3JpdGUgJ1x4MDAnPT0w IHRvIGdldCBzb21ldGhpbmcKfCAgICB0aGF0J3MgdHJ1ZSBvbmx5IHdpdGggLXN0ZC4gICovCnwg aW50IG9zZjRfY2NfYXJyYXkgWydceDAwJyA9PSAwID8gMSA6IC0xXTsKfCAKfCAvKiBJQk0gQyA2 IGZvciBBSVggaXMgYWxtb3N0LUFOU0kgYnkgZGVmYXVsdCwgYnV0IGl0IHJlcGxhY2VzIG1hY3Jv IHBhcmFtZXRlcnMKfCAgICBpbnNpZGUgc3RyaW5ncyBhbmQgY2hhcmFjdGVyIGNvbnN0YW50cy4g ICovCnwgI2RlZmluZSBGT08oeCkgJ3gnCnwgaW50IHhsYzZfY2NfYXJyYXlbRk9PKGEpID09ICd4 JyA/IDEgOiAtMV07CnwgCnwgaW50IHRlc3QgKGludCBpLCBkb3VibGUgeCk7Cnwgc3RydWN0IHMx IHtpbnQgKCpmKSAoaW50IGEpO307Cnwgc3RydWN0IHMyIHtpbnQgKCpmKSAoZG91YmxlIGEpO307 CnwgaW50IHBhaXJuYW1lcyAoaW50LCBjaGFyICoqLCBGSUxFICooKikoc3RydWN0IGJ1ZiAqLCBz dHJ1Y3Qgc3RhdCAqLCBpbnQpLCBpbnQsIGludCk7CnwgaW50IGFyZ2M7CnwgY2hhciAqKmFyZ3Y7 CnwgaW50CnwgbWFpbiAoKQp8IHsKfCByZXR1cm4gZiAoZSwgYXJndiwgMCkgIT0gYXJndlswXSAg fHwgIGYgKGUsIGFyZ3YsIDEpICE9IGFyZ3ZbMV07CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNv bmZpZ3VyZTozOTA1OiBDQyAtc3RkIC1jIC1nICBjb25mdGVzdC5jID4mNQpDQzogV2FybmluZzog T3B0aW9uIC1zdGQgcGFzc2VkIHRvIGxkLCBpZiBsZCBpcyBpbnZva2VkLCBpZ25vcmVkIG90aGVy d2lzZQoiY29uZnRlc3QuYyIsIGxpbmUgMTg6IEVycm9yOiBwIGlzIG5vdCBkZWZpbmVkLgoiY29u ZnRlc3QuYyIsIGxpbmUgMjI6IFdhcm5pbmc6IFRoZSB2YXJpYWJsZSBwIGhhcyBub3QgeWV0IGJl ZW4gYXNzaWduZWQgYSB2YWx1ZS4KImNvbmZ0ZXN0LmMiLCBsaW5lIDIyOiBXYXJuaW5nOiBUaGUg dmFyaWFibGUgaSBoYXMgbm90IHlldCBiZWVuIGFzc2lnbmVkIGEgdmFsdWUuCiJjb25mdGVzdC5j IiwgbGluZSAyNTogRXJyb3I6IFVzZSAiOyIgdG8gdGVybWluYXRlIGRlY2xhcmF0aW9ucy4KImNv bmZ0ZXN0LmMiLCBsaW5lIDI4OiBFcnJvcjogX19idWlsdGluX3ZhX2FsaXN0IGlzIG5vdCBkZWZp bmVkLgoiY29uZnRlc3QuYyIsIGxpbmUgMjk6IEVycm9yOiBUaGUgZnVuY3Rpb24gImciIG11c3Qg aGF2ZSBhIHByb3RvdHlwZS4KImNvbmZ0ZXN0LmMiLCBsaW5lIDU2OiBFcnJvcjogVXNlICI7IiB0 byB0ZXJtaW5hdGUgZGVjbGFyYXRpb25zLgoiY29uZnRlc3QuYyIsIGxpbmUgNTc6IEVycm9yOiBG b3JtYWwgYXJndW1lbnQgZyBvZiB0eXBlIGNoYXIqKCopKGNoYXIqKixpbnQpIGluIGNhbGwgdG8g ZihjaGFyKigqKShjaGFyKiosaW50KSwgY2hhcioqLCAuLi4pIGlzIGJlaW5nIHBhc3NlZCBjaGFy KigqKSgpLgoiY29uZnRlc3QuYyIsIGxpbmUgNTc6IEVycm9yOiBGb3JtYWwgYXJndW1lbnQgZyBv ZiB0eXBlIGNoYXIqKCopKGNoYXIqKixpbnQpIGluIGNhbGwgdG8gZihjaGFyKigqKShjaGFyKios aW50KSwgY2hhcioqLCAuLi4pIGlzIGJlaW5nIHBhc3NlZCBjaGFyKigqKSgpLgoiY29uZnRlc3Qu YyIsIGxpbmUgNjA6IEVycm9yOiAifSIgZXhwZWN0ZWQgaW5zdGVhZCBvZiBFT0YuCjggRXJyb3Io cykgYW5kIDIgV2FybmluZyhzKSBkZXRlY3RlZC4KY29uZmlndXJlOjM5MDU6ICQ/ID0gOApjb25m aWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQ QUNLQUdFX05BTUUgImxpYnNzaDIiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImxpYnNzaDIi CnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIi0iCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAi bGlic3NoMiAtIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImxpYnNzaDItZGV2ZWxAY29v bC5oYXh4LnNlIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImxp YnNzaDIiCnwgI2RlZmluZSBWRVJTSU9OICIxLjIuNiIKfCAvKiBlbmQgY29uZmRlZnMuaC4gICov CnwgI2luY2x1ZGUgPHN0ZGFyZy5oPgp8ICNpbmNsdWRlIDxzdGRpby5oPgp8ICNpbmNsdWRlIDxz eXMvdHlwZXMuaD4KfCAjaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAvKiBNb3N0IG9mIHRoZSBmb2xs b3dpbmcgdGVzdHMgYXJlIHN0b2xlbiBmcm9tIFJDUyA1LjcncyBzcmMvY29uZi5zaC4gICovCnwg c3RydWN0IGJ1ZiB7IGludCB4OyB9Owp8IEZJTEUgKiAoKnJjc29wZW4pIChzdHJ1Y3QgYnVmICos IHN0cnVjdCBzdGF0ICosIGludCk7Cnwgc3RhdGljIGNoYXIgKmUgKHAsIGkpCnwgICAgICBjaGFy ICoqcDsKfCAgICAgIGludCBpOwp8IHsKfCAgIHJldHVybiBwW2ldOwp8IH0KfCBzdGF0aWMgY2hh ciAqZiAoY2hhciAqICgqZykgKGNoYXIgKiosIGludCksIGNoYXIgKipwLCAuLi4pCnwgewp8ICAg Y2hhciAqczsKfCAgIHZhX2xpc3QgdjsKfCAgIHZhX3N0YXJ0ICh2LHApOwp8ICAgcyA9IGcgKHAs IHZhX2FyZyAodixpbnQpKTsKfCAgIHZhX2VuZCAodik7CnwgICByZXR1cm4gczsKfCB9CnwgCnwg LyogT1NGIDQuMCBDb21wYXEgY2MgaXMgc29tZSBzb3J0IG9mIGFsbW9zdC1BTlNJIGJ5IGRlZmF1 bHQuICBJdCBoYXMKfCAgICBmdW5jdGlvbiBwcm90b3R5cGVzIGFuZCBzdHVmZiwgYnV0IG5vdCAn XHhISCcgaGV4IGNoYXJhY3RlciBjb25zdGFudHMuCnwgICAgVGhlc2UgZG9uJ3QgcHJvdm9rZSBh biBlcnJvciB1bmZvcnR1bmF0ZWx5LCBpbnN0ZWFkIGFyZSBzaWxlbnRseSB0cmVhdGVkCnwgICAg YXMgJ3gnLiAgVGhlIGZvbGxvd2luZyBpbmR1Y2VzIGFuIGVycm9yLCB1bnRpbCAtc3RkIGlzIGFk ZGVkIHRvIGdldAp8ICAgIHByb3BlciBBTlNJIG1vZGUuICBDdXJpb3VzbHkgJ1x4MDAnIT0neCcg YWx3YXlzIGNvbWVzIG91dCB0cnVlLCBmb3IgYW4KfCAgICBhcnJheSBzaXplIGF0IGxlYXN0LiAg SXQncyBuZWNlc3NhcnkgdG8gd3JpdGUgJ1x4MDAnPT0wIHRvIGdldCBzb21ldGhpbmcKfCAgICB0 aGF0J3MgdHJ1ZSBvbmx5IHdpdGggLXN0ZC4gICovCnwgaW50IG9zZjRfY2NfYXJyYXkgWydceDAw JyA9PSAwID8gMSA6IC0xXTsKfCAKfCAvKiBJQk0gQyA2IGZvciBBSVggaXMgYWxtb3N0LUFOU0kg YnkgZGVmYXVsdCwgYnV0IGl0IHJlcGxhY2VzIG1hY3JvIHBhcmFtZXRlcnMKfCAgICBpbnNpZGUg c3RyaW5ncyBhbmQgY2hhcmFjdGVyIGNvbnN0YW50cy4gICovCnwgI2RlZmluZSBGT08oeCkgJ3gn CnwgaW50IHhsYzZfY2NfYXJyYXlbRk9PKGEpID09ICd4JyA/IDEgOiAtMV07CnwgCnwgaW50IHRl c3QgKGludCBpLCBkb3VibGUgeCk7Cnwgc3RydWN0IHMxIHtpbnQgKCpmKSAoaW50IGEpO307Cnwg c3RydWN0IHMyIHtpbnQgKCpmKSAoZG91YmxlIGEpO307CnwgaW50IHBhaXJuYW1lcyAoaW50LCBj aGFyICoqLCBGSUxFICooKikoc3RydWN0IGJ1ZiAqLCBzdHJ1Y3Qgc3RhdCAqLCBpbnQpLCBpbnQs IGludCk7CnwgaW50IGFyZ2M7CnwgY2hhciAqKmFyZ3Y7CnwgaW50CnwgbWFpbiAoKQp8IHsKfCBy ZXR1cm4gZiAoZSwgYXJndiwgMCkgIT0gYXJndlswXSAgfHwgIGYgKGUsIGFyZ3YsIDEpICE9IGFy Z3ZbMV07CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZTozOTA1OiBDQyAtQWUgLWMg LWcgIGNvbmZ0ZXN0LmMgPiY1CkNDOiBXYXJuaW5nOiBPcHRpb24gLUFlIHBhc3NlZCB0byBsZCwg aWYgbGQgaXMgaW52b2tlZCwgaWdub3JlZCBvdGhlcndpc2UKImNvbmZ0ZXN0LmMiLCBsaW5lIDE4 OiBFcnJvcjogcCBpcyBub3QgZGVmaW5lZC4KImNvbmZ0ZXN0LmMiLCBsaW5lIDIyOiBXYXJuaW5n OiBUaGUgdmFyaWFibGUgcCBoYXMgbm90IHlldCBiZWVuIGFzc2lnbmVkIGEgdmFsdWUuCiJjb25m dGVzdC5jIiwgbGluZSAyMjogV2FybmluZzogVGhlIHZhcmlhYmxlIGkgaGFzIG5vdCB5ZXQgYmVl biBhc3NpZ25lZCBhIHZhbHVlLgoiY29uZnRlc3QuYyIsIGxpbmUgMjU6IEVycm9yOiBVc2UgIjsi IHRvIHRlcm1pbmF0ZSBkZWNsYXJhdGlvbnMuCiJjb25mdGVzdC5jIiwgbGluZSAyODogRXJyb3I6 IF9fYnVpbHRpbl92YV9hbGlzdCBpcyBub3QgZGVmaW5lZC4KImNvbmZ0ZXN0LmMiLCBsaW5lIDI5 OiBFcnJvcjogVGhlIGZ1bmN0aW9uICJnIiBtdXN0IGhhdmUgYSBwcm90b3R5cGUuCiJjb25mdGVz dC5jIiwgbGluZSA1NjogRXJyb3I6IFVzZSAiOyIgdG8gdGVybWluYXRlIGRlY2xhcmF0aW9ucy4K ImNvbmZ0ZXN0LmMiLCBsaW5lIDU3OiBFcnJvcjogRm9ybWFsIGFyZ3VtZW50IGcgb2YgdHlwZSBj aGFyKigqKShjaGFyKiosaW50KSBpbiBjYWxsIHRvIGYoY2hhciooKikoY2hhcioqLGludCksIGNo YXIqKiwgLi4uKSBpcyBiZWluZyBwYXNzZWQgY2hhciooKikoKS4KImNvbmZ0ZXN0LmMiLCBsaW5l IDU3OiBFcnJvcjogRm9ybWFsIGFyZ3VtZW50IGcgb2YgdHlwZSBjaGFyKigqKShjaGFyKiosaW50 KSBpbiBjYWxsIHRvIGYoY2hhciooKikoY2hhcioqLGludCksIGNoYXIqKiwgLi4uKSBpcyBiZWlu ZyBwYXNzZWQgY2hhciooKikoKS4KImNvbmZ0ZXN0LmMiLCBsaW5lIDYwOiBFcnJvcjogIn0iIGV4 cGVjdGVkIGluc3RlYWQgb2YgRU9GLgo4IEVycm9yKHMpIGFuZCAyIFdhcm5pbmcocykgZGV0ZWN0 ZWQuCmNvbmZpZ3VyZTozOTA1OiAkPyA9IDgKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6 CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJsaWJzc2gyIgp8ICNk ZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJsaWJzc2gyIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9O ICItIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImxpYnNzaDIgLSIKfCAjZGVmaW5lIFBBQ0tB R0VfQlVHUkVQT1JUICJsaWJzc2gyLWRldmVsQGNvb2wuaGF4eC5zZSIKfCAjZGVmaW5lIFBBQ0tB R0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJsaWJzc2gyIgp8ICNkZWZpbmUgVkVSU0lPTiAi MS4yLjYiCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzdGRhcmcuaD4KfCAj aW5jbHVkZSA8c3RkaW8uaD4KfCAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2luY2x1ZGUgPHN5 cy9zdGF0Lmg+CnwgLyogTW9zdCBvZiB0aGUgZm9sbG93aW5nIHRlc3RzIGFyZSBzdG9sZW4gZnJv bSBSQ1MgNS43J3Mgc3JjL2NvbmYuc2guICAqLwp8IHN0cnVjdCBidWYgeyBpbnQgeDsgfTsKfCBG SUxFICogKCpyY3NvcGVuKSAoc3RydWN0IGJ1ZiAqLCBzdHJ1Y3Qgc3RhdCAqLCBpbnQpOwp8IHN0 YXRpYyBjaGFyICplIChwLCBpKQp8ICAgICAgY2hhciAqKnA7CnwgICAgICBpbnQgaTsKfCB7Cnwg ICByZXR1cm4gcFtpXTsKfCB9Cnwgc3RhdGljIGNoYXIgKmYgKGNoYXIgKiAoKmcpIChjaGFyICoq LCBpbnQpLCBjaGFyICoqcCwgLi4uKQp8IHsKfCAgIGNoYXIgKnM7CnwgICB2YV9saXN0IHY7Cnwg ICB2YV9zdGFydCAodixwKTsKfCAgIHMgPSBnIChwLCB2YV9hcmcgKHYsaW50KSk7CnwgICB2YV9l bmQgKHYpOwp8ICAgcmV0dXJuIHM7CnwgfQp8IAp8IC8qIE9TRiA0LjAgQ29tcGFxIGNjIGlzIHNv bWUgc29ydCBvZiBhbG1vc3QtQU5TSSBieSBkZWZhdWx0LiAgSXQgaGFzCnwgICAgZnVuY3Rpb24g cHJvdG90eXBlcyBhbmQgc3R1ZmYsIGJ1dCBub3QgJ1x4SEgnIGhleCBjaGFyYWN0ZXIgY29uc3Rh bnRzLgp8ICAgIFRoZXNlIGRvbid0IHByb3Zva2UgYW4gZXJyb3IgdW5mb3J0dW5hdGVseSwgaW5z dGVhZCBhcmUgc2lsZW50bHkgdHJlYXRlZAp8ICAgIGFzICd4Jy4gIFRoZSBmb2xsb3dpbmcgaW5k dWNlcyBhbiBlcnJvciwgdW50aWwgLXN0ZCBpcyBhZGRlZCB0byBnZXQKfCAgICBwcm9wZXIgQU5T SSBtb2RlLiAgQ3VyaW91c2x5ICdceDAwJyE9J3gnIGFsd2F5cyBjb21lcyBvdXQgdHJ1ZSwgZm9y IGFuCnwgICAgYXJyYXkgc2l6ZSBhdCBsZWFzdC4gIEl0J3MgbmVjZXNzYXJ5IHRvIHdyaXRlICdc eDAwJz09MCB0byBnZXQgc29tZXRoaW5nCnwgICAgdGhhdCdzIHRydWUgb25seSB3aXRoIC1zdGQu ICAqLwp8IGludCBvc2Y0X2NjX2FycmF5IFsnXHgwMCcgPT0gMCA/IDEgOiAtMV07CnwgCnwgLyog SUJNIEMgNiBmb3IgQUlYIGlzIGFsbW9zdC1BTlNJIGJ5IGRlZmF1bHQsIGJ1dCBpdCByZXBsYWNl cyBtYWNybyBwYXJhbWV0ZXJzCnwgICAgaW5zaWRlIHN0cmluZ3MgYW5kIGNoYXJhY3RlciBjb25z dGFudHMuICAqLwp8ICNkZWZpbmUgRk9PKHgpICd4Jwp8IGludCB4bGM2X2NjX2FycmF5W0ZPTyhh KSA9PSAneCcgPyAxIDogLTFdOwp8IAp8IGludCB0ZXN0IChpbnQgaSwgZG91YmxlIHgpOwp8IHN0 cnVjdCBzMSB7aW50ICgqZikgKGludCBhKTt9Owp8IHN0cnVjdCBzMiB7aW50ICgqZikgKGRvdWJs ZSBhKTt9Owp8IGludCBwYWlybmFtZXMgKGludCwgY2hhciAqKiwgRklMRSAqKCopKHN0cnVjdCBi dWYgKiwgc3RydWN0IHN0YXQgKiwgaW50KSwgaW50LCBpbnQpOwp8IGludCBhcmdjOwp8IGNoYXIg Kiphcmd2Owp8IGludAp8IG1haW4gKCkKfCB7CnwgcmV0dXJuIGYgKGUsIGFyZ3YsIDApICE9IGFy Z3ZbMF0gIHx8ICBmIChlLCBhcmd2LCAxKSAhPSBhcmd2WzFdOwp8ICAgOwp8ICAgcmV0dXJuIDA7 CnwgfQpjb25maWd1cmU6MzkwNTogQ0MgLUFhIC1EX0hQVVhfU09VUkNFIC1jIC1nICBjb25mdGVz dC5jID4mNQpDQzogV2FybmluZzogT3B0aW9uIC1BYSBwYXNzZWQgdG8gbGQsIGlmIGxkIGlzIGlu dm9rZWQsIGlnbm9yZWQgb3RoZXJ3aXNlCiJjb25mdGVzdC5jIiwgbGluZSAxODogRXJyb3I6IHAg aXMgbm90IGRlZmluZWQuCiJjb25mdGVzdC5jIiwgbGluZSAyMjogV2FybmluZzogVGhlIHZhcmlh YmxlIHAgaGFzIG5vdCB5ZXQgYmVlbiBhc3NpZ25lZCBhIHZhbHVlLgoiY29uZnRlc3QuYyIsIGxp bmUgMjI6IFdhcm5pbmc6IFRoZSB2YXJpYWJsZSBpIGhhcyBub3QgeWV0IGJlZW4gYXNzaWduZWQg YSB2YWx1ZS4KImNvbmZ0ZXN0LmMiLCBsaW5lIDI1OiBFcnJvcjogVXNlICI7IiB0byB0ZXJtaW5h dGUgZGVjbGFyYXRpb25zLgoiY29uZnRlc3QuYyIsIGxpbmUgMjg6IEVycm9yOiBfX2J1aWx0aW5f dmFfYWxpc3QgaXMgbm90IGRlZmluZWQuCiJjb25mdGVzdC5jIiwgbGluZSAyOTogRXJyb3I6IFRo ZSBmdW5jdGlvbiAiZyIgbXVzdCBoYXZlIGEgcHJvdG90eXBlLgoiY29uZnRlc3QuYyIsIGxpbmUg NTY6IEVycm9yOiBVc2UgIjsiIHRvIHRlcm1pbmF0ZSBkZWNsYXJhdGlvbnMuCiJjb25mdGVzdC5j IiwgbGluZSA1NzogRXJyb3I6IEZvcm1hbCBhcmd1bWVudCBnIG9mIHR5cGUgY2hhciooKikoY2hh cioqLGludCkgaW4gY2FsbCB0byBmKGNoYXIqKCopKGNoYXIqKixpbnQpLCBjaGFyKiosIC4uLikg aXMgYmVpbmcgcGFzc2VkIGNoYXIqKCopKCkuCiJjb25mdGVzdC5jIiwgbGluZSA1NzogRXJyb3I6 IEZvcm1hbCBhcmd1bWVudCBnIG9mIHR5cGUgY2hhciooKikoY2hhcioqLGludCkgaW4gY2FsbCB0 byBmKGNoYXIqKCopKGNoYXIqKixpbnQpLCBjaGFyKiosIC4uLikgaXMgYmVpbmcgcGFzc2VkIGNo YXIqKCopKCkuCiJjb25mdGVzdC5jIiwgbGluZSA2MDogRXJyb3I6ICJ9IiBleHBlY3RlZCBpbnN0 ZWFkIG9mIEVPRi4KOCBFcnJvcihzKSBhbmQgMiBXYXJuaW5nKHMpIGRldGVjdGVkLgpjb25maWd1 cmU6MzkwNTogJD8gPSA4CmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZk ZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAibGlic3NoMiIKfCAjZGVmaW5lIFBBQ0tB R0VfVEFSTkFNRSAibGlic3NoMiIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiLSIKfCAjZGVm aW5lIFBBQ0tBR0VfU1RSSU5HICJsaWJzc2gyIC0iCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9S VCAibGlic3NoMi1kZXZlbEBjb29sLmhheHguc2UiCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8 ICNkZWZpbmUgUEFDS0FHRSAibGlic3NoMiIKfCAjZGVmaW5lIFZFUlNJT04gIjEuMi42Igp8IC8q IGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkYXJnLmg+CnwgI2luY2x1ZGUgPHN0 ZGlvLmg+CnwgI2luY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNpbmNsdWRlIDxzeXMvc3RhdC5oPgp8 IC8qIE1vc3Qgb2YgdGhlIGZvbGxvd2luZyB0ZXN0cyBhcmUgc3RvbGVuIGZyb20gUkNTIDUuNydz IHNyYy9jb25mLnNoLiAgKi8KfCBzdHJ1Y3QgYnVmIHsgaW50IHg7IH07CnwgRklMRSAqICgqcmNz b3BlbikgKHN0cnVjdCBidWYgKiwgc3RydWN0IHN0YXQgKiwgaW50KTsKfCBzdGF0aWMgY2hhciAq ZSAocCwgaSkKfCAgICAgIGNoYXIgKipwOwp8ICAgICAgaW50IGk7Cnwgewp8ICAgcmV0dXJuIHBb aV07CnwgfQp8IHN0YXRpYyBjaGFyICpmIChjaGFyICogKCpnKSAoY2hhciAqKiwgaW50KSwgY2hh ciAqKnAsIC4uLikKfCB7CnwgICBjaGFyICpzOwp8ICAgdmFfbGlzdCB2Owp8ICAgdmFfc3RhcnQg KHYscCk7CnwgICBzID0gZyAocCwgdmFfYXJnICh2LGludCkpOwp8ICAgdmFfZW5kICh2KTsKfCAg IHJldHVybiBzOwp8IH0KfCAKfCAvKiBPU0YgNC4wIENvbXBhcSBjYyBpcyBzb21lIHNvcnQgb2Yg YWxtb3N0LUFOU0kgYnkgZGVmYXVsdC4gIEl0IGhhcwp8ICAgIGZ1bmN0aW9uIHByb3RvdHlwZXMg YW5kIHN0dWZmLCBidXQgbm90ICdceEhIJyBoZXggY2hhcmFjdGVyIGNvbnN0YW50cy4KfCAgICBU aGVzZSBkb24ndCBwcm92b2tlIGFuIGVycm9yIHVuZm9ydHVuYXRlbHksIGluc3RlYWQgYXJlIHNp bGVudGx5IHRyZWF0ZWQKfCAgICBhcyAneCcuICBUaGUgZm9sbG93aW5nIGluZHVjZXMgYW4gZXJy b3IsIHVudGlsIC1zdGQgaXMgYWRkZWQgdG8gZ2V0CnwgICAgcHJvcGVyIEFOU0kgbW9kZS4gIEN1 cmlvdXNseSAnXHgwMCchPSd4JyBhbHdheXMgY29tZXMgb3V0IHRydWUsIGZvciBhbgp8ICAgIGFy cmF5IHNpemUgYXQgbGVhc3QuICBJdCdzIG5lY2Vzc2FyeSB0byB3cml0ZSAnXHgwMCc9PTAgdG8g Z2V0IHNvbWV0aGluZwp8ICAgIHRoYXQncyB0cnVlIG9ubHkgd2l0aCAtc3RkLiAgKi8KfCBpbnQg b3NmNF9jY19hcnJheSBbJ1x4MDAnID09IDAgPyAxIDogLTFdOwp8IAp8IC8qIElCTSBDIDYgZm9y IEFJWCBpcyBhbG1vc3QtQU5TSSBieSBkZWZhdWx0LCBidXQgaXQgcmVwbGFjZXMgbWFjcm8gcGFy YW1ldGVycwp8ICAgIGluc2lkZSBzdHJpbmdzIGFuZCBjaGFyYWN0ZXIgY29uc3RhbnRzLiAgKi8K fCAjZGVmaW5lIEZPTyh4KSAneCcKfCBpbnQgeGxjNl9jY19hcnJheVtGT08oYSkgPT0gJ3gnID8g MSA6IC0xXTsKfCAKfCBpbnQgdGVzdCAoaW50IGksIGRvdWJsZSB4KTsKfCBzdHJ1Y3QgczEge2lu dCAoKmYpIChpbnQgYSk7fTsKfCBzdHJ1Y3QgczIge2ludCAoKmYpIChkb3VibGUgYSk7fTsKfCBp bnQgcGFpcm5hbWVzIChpbnQsIGNoYXIgKiosIEZJTEUgKigqKShzdHJ1Y3QgYnVmICosIHN0cnVj dCBzdGF0ICosIGludCksIGludCwgaW50KTsKfCBpbnQgYXJnYzsKfCBjaGFyICoqYXJndjsKfCBp bnQKfCBtYWluICgpCnwgewp8IHJldHVybiBmIChlLCBhcmd2LCAwKSAhPSBhcmd2WzBdICB8fCAg ZiAoZSwgYXJndiwgMSkgIT0gYXJndlsxXTsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmln dXJlOjM5MDU6IENDIC1YYyAtRF9fRVhURU5TSU9OU19fIC1jIC1nICBjb25mdGVzdC5jID4mNQpD QzogV2FybmluZzogT3B0aW9uIC1YYyBwYXNzZWQgdG8gbGQsIGlmIGxkIGlzIGludm9rZWQsIGln bm9yZWQgb3RoZXJ3aXNlCiJjb25mdGVzdC5jIiwgbGluZSAxODogRXJyb3I6IHAgaXMgbm90IGRl ZmluZWQuCiJjb25mdGVzdC5jIiwgbGluZSAyMjogV2FybmluZzogVGhlIHZhcmlhYmxlIHAgaGFz IG5vdCB5ZXQgYmVlbiBhc3NpZ25lZCBhIHZhbHVlLgoiY29uZnRlc3QuYyIsIGxpbmUgMjI6IFdh cm5pbmc6IFRoZSB2YXJpYWJsZSBpIGhhcyBub3QgeWV0IGJlZW4gYXNzaWduZWQgYSB2YWx1ZS4K ImNvbmZ0ZXN0LmMiLCBsaW5lIDI1OiBFcnJvcjogVXNlICI7IiB0byB0ZXJtaW5hdGUgZGVjbGFy YXRpb25zLgoiY29uZnRlc3QuYyIsIGxpbmUgMjg6IEVycm9yOiBfX2J1aWx0aW5fdmFfYWxpc3Qg aXMgbm90IGRlZmluZWQuCiJjb25mdGVzdC5jIiwgbGluZSAyOTogRXJyb3I6IFRoZSBmdW5jdGlv biAiZyIgbXVzdCBoYXZlIGEgcHJvdG90eXBlLgoiY29uZnRlc3QuYyIsIGxpbmUgNTY6IEVycm9y OiBVc2UgIjsiIHRvIHRlcm1pbmF0ZSBkZWNsYXJhdGlvbnMuCiJjb25mdGVzdC5jIiwgbGluZSA1 NzogRXJyb3I6IEZvcm1hbCBhcmd1bWVudCBnIG9mIHR5cGUgY2hhciooKikoY2hhcioqLGludCkg aW4gY2FsbCB0byBmKGNoYXIqKCopKGNoYXIqKixpbnQpLCBjaGFyKiosIC4uLikgaXMgYmVpbmcg cGFzc2VkIGNoYXIqKCopKCkuCiJjb25mdGVzdC5jIiwgbGluZSA1NzogRXJyb3I6IEZvcm1hbCBh cmd1bWVudCBnIG9mIHR5cGUgY2hhciooKikoY2hhcioqLGludCkgaW4gY2FsbCB0byBmKGNoYXIq KCopKGNoYXIqKixpbnQpLCBjaGFyKiosIC4uLikgaXMgYmVpbmcgcGFzc2VkIGNoYXIqKCopKCku CiJjb25mdGVzdC5jIiwgbGluZSA2MDogRXJyb3I6ICJ9IiBleHBlY3RlZCBpbnN0ZWFkIG9mIEVP Ri4KOCBFcnJvcihzKSBhbmQgMiBXYXJuaW5nKHMpIGRldGVjdGVkLgpjb25maWd1cmU6MzkwNTog JD8gPSA4CmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8K fCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAibGlic3NoMiIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFN RSAibGlic3NoMiIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiLSIKfCAjZGVmaW5lIFBBQ0tB R0VfU1RSSU5HICJsaWJzc2gyIC0iCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAibGlic3No Mi1kZXZlbEBjb29sLmhheHguc2UiCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUg UEFDS0FHRSAibGlic3NoMiIKfCAjZGVmaW5lIFZFUlNJT04gIjEuMi42Igp8IC8qIGVuZCBjb25m ZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkYXJnLmg+CnwgI2luY2x1ZGUgPHN0ZGlvLmg+Cnwg I2luY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNpbmNsdWRlIDxzeXMvc3RhdC5oPgp8IC8qIE1vc3Qg b2YgdGhlIGZvbGxvd2luZyB0ZXN0cyBhcmUgc3RvbGVuIGZyb20gUkNTIDUuNydzIHNyYy9jb25m LnNoLiAgKi8KfCBzdHJ1Y3QgYnVmIHsgaW50IHg7IH07CnwgRklMRSAqICgqcmNzb3BlbikgKHN0 cnVjdCBidWYgKiwgc3RydWN0IHN0YXQgKiwgaW50KTsKfCBzdGF0aWMgY2hhciAqZSAocCwgaSkK fCAgICAgIGNoYXIgKipwOwp8ICAgICAgaW50IGk7Cnwgewp8ICAgcmV0dXJuIHBbaV07CnwgfQp8 IHN0YXRpYyBjaGFyICpmIChjaGFyICogKCpnKSAoY2hhciAqKiwgaW50KSwgY2hhciAqKnAsIC4u LikKfCB7CnwgICBjaGFyICpzOwp8ICAgdmFfbGlzdCB2Owp8ICAgdmFfc3RhcnQgKHYscCk7Cnwg ICBzID0gZyAocCwgdmFfYXJnICh2LGludCkpOwp8ICAgdmFfZW5kICh2KTsKfCAgIHJldHVybiBz Owp8IH0KfCAKfCAvKiBPU0YgNC4wIENvbXBhcSBjYyBpcyBzb21lIHNvcnQgb2YgYWxtb3N0LUFO U0kgYnkgZGVmYXVsdC4gIEl0IGhhcwp8ICAgIGZ1bmN0aW9uIHByb3RvdHlwZXMgYW5kIHN0dWZm LCBidXQgbm90ICdceEhIJyBoZXggY2hhcmFjdGVyIGNvbnN0YW50cy4KfCAgICBUaGVzZSBkb24n dCBwcm92b2tlIGFuIGVycm9yIHVuZm9ydHVuYXRlbHksIGluc3RlYWQgYXJlIHNpbGVudGx5IHRy ZWF0ZWQKfCAgICBhcyAneCcuICBUaGUgZm9sbG93aW5nIGluZHVjZXMgYW4gZXJyb3IsIHVudGls IC1zdGQgaXMgYWRkZWQgdG8gZ2V0CnwgICAgcHJvcGVyIEFOU0kgbW9kZS4gIEN1cmlvdXNseSAn XHgwMCchPSd4JyBhbHdheXMgY29tZXMgb3V0IHRydWUsIGZvciBhbgp8ICAgIGFycmF5IHNpemUg YXQgbGVhc3QuICBJdCdzIG5lY2Vzc2FyeSB0byB3cml0ZSAnXHgwMCc9PTAgdG8gZ2V0IHNvbWV0 aGluZwp8ICAgIHRoYXQncyB0cnVlIG9ubHkgd2l0aCAtc3RkLiAgKi8KfCBpbnQgb3NmNF9jY19h cnJheSBbJ1x4MDAnID09IDAgPyAxIDogLTFdOwp8IAp8IC8qIElCTSBDIDYgZm9yIEFJWCBpcyBh bG1vc3QtQU5TSSBieSBkZWZhdWx0LCBidXQgaXQgcmVwbGFjZXMgbWFjcm8gcGFyYW1ldGVycwp8 ICAgIGluc2lkZSBzdHJpbmdzIGFuZCBjaGFyYWN0ZXIgY29uc3RhbnRzLiAgKi8KfCAjZGVmaW5l IEZPTyh4KSAneCcKfCBpbnQgeGxjNl9jY19hcnJheVtGT08oYSkgPT0gJ3gnID8gMSA6IC0xXTsK fCAKfCBpbnQgdGVzdCAoaW50IGksIGRvdWJsZSB4KTsKfCBzdHJ1Y3QgczEge2ludCAoKmYpIChp bnQgYSk7fTsKfCBzdHJ1Y3QgczIge2ludCAoKmYpIChkb3VibGUgYSk7fTsKfCBpbnQgcGFpcm5h bWVzIChpbnQsIGNoYXIgKiosIEZJTEUgKigqKShzdHJ1Y3QgYnVmICosIHN0cnVjdCBzdGF0ICos IGludCksIGludCwgaW50KTsKfCBpbnQgYXJnYzsKfCBjaGFyICoqYXJndjsKfCBpbnQKfCBtYWlu ICgpCnwgewp8IHJldHVybiBmIChlLCBhcmd2LCAwKSAhPSBhcmd2WzBdICB8fCAgZiAoZSwgYXJn diwgMSkgIT0gYXJndlsxXTsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjM5MjE6 IHJlc3VsdDogdW5zdXBwb3J0ZWQKY29uZmlndXJlOjM5NDA6IGNoZWNraW5nIGRlcGVuZGVuY3kg c3R5bGUgb2YgQ0MKY29uZmlndXJlOjQwMzA6IHJlc3VsdDogbm9uZQpjb25maWd1cmU6NDA1Mzog Y2hlY2tpbmcgaG93IHRvIHJ1biB0aGUgQyBwcmVwcm9jZXNzb3IKY29uZmlndXJlOjQwODQ6IEND IC1FICBjb25mdGVzdC5jCmNvbmZpZ3VyZTo0MDg0OiAkPyA9IDAKY29uZmlndXJlOjQwOTg6IEND IC1FICBjb25mdGVzdC5jCiJjb25mdGVzdC5jIiwgbGluZSAxMTogRXJyb3I6IENvdWxkIG5vdCBv cGVuIGluY2x1ZGUgZmlsZTxhY19ub25leGlzdGVudC5oPi4KMSBFcnJvcihzKSBkZXRlY3RlZC4K Y29uZmlndXJlOjQwOTg6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAv KiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImxpYnNzaDIiCnwgI2RlZmlu ZSBQQUNLQUdFX1RBUk5BTUUgImxpYnNzaDIiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIi0i CnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAibGlic3NoMiAtIgp8ICNkZWZpbmUgUEFDS0FHRV9C VUdSRVBPUlQgImxpYnNzaDItZGV2ZWxAY29vbC5oYXh4LnNlIgp8ICNkZWZpbmUgUEFDS0FHRV9V UkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImxpYnNzaDIiCnwgI2RlZmluZSBWRVJTSU9OICIxLjIu NiIKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPGFjX25vbmV4aXN0ZW50Lmg+ CmNvbmZpZ3VyZTo0MTIzOiByZXN1bHQ6IENDIC1FCmNvbmZpZ3VyZTo0MTQzOiBDQyAtRSAgY29u ZnRlc3QuYwpjb25maWd1cmU6NDE0MzogJD8gPSAwCmNvbmZpZ3VyZTo0MTU3OiBDQyAtRSAgY29u ZnRlc3QuYwoiY29uZnRlc3QuYyIsIGxpbmUgMTE6IEVycm9yOiBDb3VsZCBub3Qgb3BlbiBpbmNs dWRlIGZpbGU8YWNfbm9uZXhpc3RlbnQuaD4uCjEgRXJyb3IocykgZGV0ZWN0ZWQuCmNvbmZpZ3Vy ZTo0MTU3OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRl ZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJsaWJzc2gyIgp8ICNkZWZpbmUgUEFDS0FH RV9UQVJOQU1FICJsaWJzc2gyIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICItIgp8ICNkZWZp bmUgUEFDS0FHRV9TVFJJTkcgImxpYnNzaDIgLSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JU ICJsaWJzc2gyLWRldmVsQGNvb2wuaGF4eC5zZSIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwg I2RlZmluZSBQQUNLQUdFICJsaWJzc2gyIgp8ICNkZWZpbmUgVkVSU0lPTiAiMS4yLjYiCnwgLyog ZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxhY19ub25leGlzdGVudC5oPgpjb25maWd1 cmU6NDE4NjogY2hlY2tpbmcgZm9yIGdyZXAgdGhhdCBoYW5kbGVzIGxvbmcgbGluZXMgYW5kIC1l CmNvbmZpZ3VyZTo0MjQ0OiByZXN1bHQ6IC91c3IveHBnNC9iaW4vZ3JlcApjb25maWd1cmU6NDI0 OTogY2hlY2tpbmcgZm9yIGVncmVwCmNvbmZpZ3VyZTo0MzExOiByZXN1bHQ6IC91c3IveHBnNC9i aW4vZ3JlcCAtRQpjb25maWd1cmU6NDMxNjogY2hlY2tpbmcgZm9yIEFOU0kgQyBoZWFkZXIgZmls ZXMKY29uZmlndXJlOjQzMzY6IENDIC1jIC1nICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6NDMz NjogJD8gPSAwCmNvbmZpZ3VyZTo0NDA2OiBDQyAtbyBjb25mdGVzdCAtZyAgLWxkbCBjb25mdGVz dC5jICA+JjUKY29uZmlndXJlOjQ0MDY6ICQ/ID0gMApjb25maWd1cmU6NDQwNjogLi9jb25mdGVz dApjb25maWd1cmU6NDQwNjogJD8gPSAwCmNvbmZpZ3VyZTo0NDE3OiByZXN1bHQ6IHllcwpjb25m aWd1cmU6NDQzMDogY2hlY2tpbmcgZm9yIHN5cy90eXBlcy5oCmNvbmZpZ3VyZTo0NDMwOiBDQyAt YyAtZyAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjQ0MzA6ICQ/ID0gMApjb25maWd1cmU6NDQz MDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQ0MzA6IGNoZWNraW5nIGZvciBzeXMvc3RhdC5oCmNv bmZpZ3VyZTo0NDMwOiBDQyAtYyAtZyAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjQ0MzA6ICQ/ ID0gMApjb25maWd1cmU6NDQzMDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQ0MzA6IGNoZWNraW5n IGZvciBzdGRsaWIuaApjb25maWd1cmU6NDQzMDogQ0MgLWMgLWcgIGNvbmZ0ZXN0LmMgPiY1CmNv bmZpZ3VyZTo0NDMwOiAkPyA9IDAKY29uZmlndXJlOjQ0MzA6IHJlc3VsdDogeWVzCmNvbmZpZ3Vy ZTo0NDMwOiBjaGVja2luZyBmb3Igc3RyaW5nLmgKY29uZmlndXJlOjQ0MzA6IENDIC1jIC1nICBj b25mdGVzdC5jID4mNQpjb25maWd1cmU6NDQzMDogJD8gPSAwCmNvbmZpZ3VyZTo0NDMwOiByZXN1 bHQ6IHllcwpjb25maWd1cmU6NDQzMDogY2hlY2tpbmcgZm9yIG1lbW9yeS5oCmNvbmZpZ3VyZTo0 NDMwOiBDQyAtYyAtZyAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjQ0MzA6ICQ/ID0gMApjb25m aWd1cmU6NDQzMDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQ0MzA6IGNoZWNraW5nIGZvciBzdHJp bmdzLmgKY29uZmlndXJlOjQ0MzA6IENDIC1jIC1nICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6 NDQzMDogJD8gPSAwCmNvbmZpZ3VyZTo0NDMwOiByZXN1bHQ6IHllcwpjb25maWd1cmU6NDQzMDog Y2hlY2tpbmcgZm9yIGludHR5cGVzLmgKY29uZmlndXJlOjQ0MzA6IENDIC1jIC1nICBjb25mdGVz dC5jID4mNQpjb25maWd1cmU6NDQzMDogJD8gPSAwCmNvbmZpZ3VyZTo0NDMwOiByZXN1bHQ6IHll cwpjb25maWd1cmU6NDQzMDogY2hlY2tpbmcgZm9yIHN0ZGludC5oCmNvbmZpZ3VyZTo0NDMwOiBD QyAtYyAtZyAgY29uZnRlc3QuYyA+JjUKImNvbmZ0ZXN0LmMiLCBsaW5lIDUzOiBFcnJvcjogQ291 bGQgbm90IG9wZW4gaW5jbHVkZSBmaWxlPHN0ZGludC5oPi4KMSBFcnJvcihzKSBkZXRlY3RlZC4K Y29uZmlndXJlOjQ0MzA6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAv KiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImxpYnNzaDIiCnwgI2RlZmlu ZSBQQUNLQUdFX1RBUk5BTUUgImxpYnNzaDIiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIi0i CnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAibGlic3NoMiAtIgp8ICNkZWZpbmUgUEFDS0FHRV9C VUdSRVBPUlQgImxpYnNzaDItZGV2ZWxAY29vbC5oYXh4LnNlIgp8ICNkZWZpbmUgUEFDS0FHRV9V UkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImxpYnNzaDIiCnwgI2RlZmluZSBWRVJTSU9OICIxLjIu NiIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAj ZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmlu ZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8IC8qIGVuZCBj b25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAjaWZkZWYgSEFWRV9TWVNfVFlQ RVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1lT X1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgU1REQ19I RUFERVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8ICNl bHNlCnwgIyBpZmRlZiBIQVZFX1NURExJQl9ICnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBl bmRpZgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR19ICnwgIyBpZiAhZGVmaW5lZCBTVERD X0hFQURFUlMgJiYgZGVmaW5lZCBIQVZFX01FTU9SWV9ICnwgIyAgaW5jbHVkZSA8bWVtb3J5Lmg+ CnwgIyBlbmRpZgp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVf U1RSSU5HU19ICnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVf SU5UVFlQRVNfSAp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFW RV9TVERJTlRfSAp8ICMgaW5jbHVkZSA8c3RkaW50Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVf VU5JU1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8IAp8ICNpbmNsdWRlIDxz dGRpbnQuaD4KY29uZmlndXJlOjQ0MzA6IHJlc3VsdDogbm8KY29uZmlndXJlOjQ0MzA6IGNoZWNr aW5nIGZvciB1bmlzdGQuaApjb25maWd1cmU6NDQzMDogQ0MgLWMgLWcgIGNvbmZ0ZXN0LmMgPiY1 CmNvbmZpZ3VyZTo0NDMwOiAkPyA9IDAKY29uZmlndXJlOjQ0MzA6IHJlc3VsdDogeWVzCmNvbmZp Z3VyZTo0NDQzOiBjaGVja2luZyBmb3IgbG9uZyBsb25nCmNvbmZpZ3VyZTo0NDQzOiBDQyAtYyAt ZyAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjQ0NDM6ICQ/ID0gMApjb25maWd1cmU6NDQ0Mzog Q0MgLWMgLWcgIGNvbmZ0ZXN0LmMgPiY1CiJjb25mdGVzdC5jIiwgbGluZSA1NjogRXJyb3I6IEJh ZGx5IGZvcm1lZCBleHByZXNzaW9uLgoxIEVycm9yKHMpIGRldGVjdGVkLgpjb25maWd1cmU6NDQ0 MzogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmgg Ki8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAibGlic3NoMiIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFS TkFNRSAibGlic3NoMiIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiLSIKfCAjZGVmaW5lIFBB Q0tBR0VfU1RSSU5HICJsaWJzc2gyIC0iCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAibGli c3NoMi1kZXZlbEBjb29sLmhheHguc2UiCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZp bmUgUEFDS0FHRSAibGlic3NoMiIKfCAjZGVmaW5lIFZFUlNJT04gIjEuMi42Igp8ICNkZWZpbmUg U1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9T VFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5H U19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9I IDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN0ZGlvLmg+CnwgI2lmZGVm IEhBVkVfU1lTX1RZUEVTX0gKfCAjIGluY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNlbmRpZgp8ICNp ZmRlZiBIQVZFX1NZU19TVEFUX0gKfCAjIGluY2x1ZGUgPHN5cy9zdGF0Lmg+CnwgI2VuZGlmCnwg I2lmZGVmIFNURENfSEVBREVSUwp8ICMgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBpbmNsdWRlIDxz dGRkZWYuaD4KfCAjZWxzZQp8ICMgaWZkZWYgSEFWRV9TVERMSUJfSAp8ICMgIGluY2x1ZGUgPHN0 ZGxpYi5oPgp8ICMgZW5kaWYKfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdfSAp8ICMgaWYg IWRlZmluZWQgU1REQ19IRUFERVJTICYmIGRlZmluZWQgSEFWRV9NRU1PUllfSAp8ICMgIGluY2x1 ZGUgPG1lbW9yeS5oPgp8ICMgZW5kaWYKfCAjIGluY2x1ZGUgPHN0cmluZy5oPgp8ICNlbmRpZgp8 ICNpZmRlZiBIQVZFX1NUUklOR1NfSAp8ICMgaW5jbHVkZSA8c3RyaW5ncy5oPgp8ICNlbmRpZgp8 ICNpZmRlZiBIQVZFX0lOVFRZUEVTX0gKfCAjIGluY2x1ZGUgPGludHR5cGVzLmg+CnwgI2VuZGlm CnwgI2lmZGVmIEhBVkVfU1RESU5UX0gKfCAjIGluY2x1ZGUgPHN0ZGludC5oPgp8ICNlbmRpZgp8 ICNpZmRlZiBIQVZFX1VOSVNURF9ICnwgIyBpbmNsdWRlIDx1bmlzdGQuaD4KfCAjZW5kaWYKfCBp bnQKfCBtYWluICgpCnwgewp8IGlmIChzaXplb2YgKChsb25nIGxvbmcpKSkKfCAJICAgIHJldHVy biAwOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6NDQ0MzogcmVzdWx0OiB5ZXMK Y29uZmlndXJlOjQ0NTU6IGNoZWNraW5nIGlmIF9SRUVOVFJBTlQgaXMgYWxyZWFkeSBkZWZpbmVk CmNvbmZpZ3VyZTo0NDc3OiBDQyAtYyAtZyAgY29uZnRlc3QuYyA+JjUKImNvbmZ0ZXN0LmMiLCBs aW5lIDMxOiBFcnJvcjogZm9yY2UgaXMgbm90IGRlZmluZWQuCiJjb25mdGVzdC5jIiwgbGluZSAz MTogRXJyb3I6ICIsIiBleHBlY3RlZCBpbnN0ZWFkIG9mICJlcnJvciIuCjIgRXJyb3IocykgZGV0 ZWN0ZWQuCmNvbmZpZ3VyZTo0NDc3OiAkPyA9IDIKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3 YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJsaWJzc2gyIgp8 ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJsaWJzc2gyIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJT SU9OICItIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImxpYnNzaDIgLSIKfCAjZGVmaW5lIFBB Q0tBR0VfQlVHUkVQT1JUICJsaWJzc2gyLWRldmVsQGNvb2wuaGF4eC5zZSIKfCAjZGVmaW5lIFBB Q0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJsaWJzc2gyIgp8ICNkZWZpbmUgVkVSU0lP TiAiMS4yLjYiCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQ RVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJf SCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAj ZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9MT05HTE9ORyAxCnwgLyogZW5k IGNvbmZkZWZzLmguICAqLwp8IAp8IAp8IAp8IGludAp8IG1haW4gKCkKfCB7CnwgCnwgI2lmZGVm IF9SRUVOVFJBTlQKfCAgICAgICBpbnQgZHVtbXk9MTsKfCAjZWxzZQp8ICAgICAgIGZvcmNlIGNv bXBpbGF0aW9uIGVycm9yCnwgI2VuZGlmCnwgCnwgICA7CnwgICByZXR1cm4gMDsKfCB9CnwgCmNv bmZpZ3VyZTo0NDg1OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo0NDkzOiBjaGVja2luZyBpZiBfUkVF TlRSQU5UIGlzIGFjdHVhbGx5IG5lZWRlZApjb25maWd1cmU6NDUwNzogcmVzdWx0OiB5ZXMKY29u ZmlndXJlOjQ1MTU6IGNoZWNraW5nIGlmIF9SRUVOVFJBTlQgaXMgb253YXJkcyBkZWZpbmVkCmNv bmZpZ3VyZTo0NTI5OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NDUzOTogY2hlY2tpbmcgZm9yIGxp YnJhcnkgY29udGFpbmluZyBzb2NrZXQKY29uZmlndXJlOjQ1NzA6IENDIC1vIGNvbmZ0ZXN0IC1n ICAtbGRsIGNvbmZ0ZXN0LmMgID4mNQpVbmRlZmluZWQJCQlmaXJzdCByZWZlcmVuY2VkCiBzeW1i b2wgIAkJCSAgICBpbiBmaWxlCnNvY2tldCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv bmZ0ZXN0Lm8KbGQ6IGZhdGFsOiBTeW1ib2wgcmVmZXJlbmNpbmcgZXJyb3JzLiBObyBvdXRwdXQg d3JpdHRlbiB0byBjb25mdGVzdApjb25maWd1cmU6NDU3MDogJD8gPSAxCmNvbmZpZ3VyZTogZmFp bGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFN RSAibGlic3NoMiIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAibGlic3NoMiIKfCAjZGVmaW5l IFBBQ0tBR0VfVkVSU0lPTiAiLSIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJsaWJzc2gyIC0i CnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAibGlic3NoMi1kZXZlbEBjb29sLmhheHguc2Ui CnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAibGlic3NoMiIKfCAj ZGVmaW5lIFZFUlNJT04gIjEuMi42Igp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5l IEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZF X01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5U VFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfTE9OR0xP TkcgMQp8ICNkZWZpbmUgTkVFRF9SRUVOVFJBTlQgMQp8ICNpZm5kZWYgX1JFRU5UUkFOVAp8ICMg IGRlZmluZSBfUkVFTlRSQU5UCnwgI2VuZGlmCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8IAp8 IC8qIE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9y Lgp8ICAgIFVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBv ZiBhIEdDQwp8ICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3Vs ZCBzdGlsbCBhcHBseS4gICovCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0ZXJuICJDIgp8ICNl bmRpZgp8IGNoYXIgc29ja2V0ICgpOwp8IGludAp8IG1haW4gKCkKfCB7CnwgcmV0dXJuIHNvY2tl dCAoKTsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjQ1NzA6IENDIC1vIGNvbmZ0 ZXN0IC1nICAtbGRsIGNvbmZ0ZXN0LmMgLWxzb2NrZXQgICA+JjUKY29uZmlndXJlOjQ1NzA6ICQ/ ID0gMApjb25maWd1cmU6NDU4NzogcmVzdWx0OiAtbHNvY2tldApjb25maWd1cmU6NDU5NzogY2hl Y2tpbmcgZm9yIGxpYnJhcnkgY29udGFpbmluZyBpbmV0X2FkZHIKY29uZmlndXJlOjQ2Mjg6IEND IC1vIGNvbmZ0ZXN0IC1nICAtbGRsIGNvbmZ0ZXN0LmMgLWxzb2NrZXQgID4mNQpVbmRlZmluZWQJ CQlmaXJzdCByZWZlcmVuY2VkCiBzeW1ib2wgIAkJCSAgICBpbiBmaWxlCmluZXRfYWRkciAgICAg ICAgICAgICAgICAgICAgICAgICAgIGNvbmZ0ZXN0Lm8gIChzeW1ib2wgYmVsb25ncyB0byBpbXBs aWNpdCBkZXBlbmRlbmN5IC91c3IvbGliL2xpYm5zbC5zby4xKQpsZDogZmF0YWw6IFN5bWJvbCBy ZWZlcmVuY2luZyBlcnJvcnMuIE5vIG91dHB1dCB3cml0dGVuIHRvIGNvbmZ0ZXN0CmNvbmZpZ3Vy ZTo0NjI4OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRl ZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJsaWJzc2gyIgp8ICNkZWZpbmUgUEFDS0FH RV9UQVJOQU1FICJsaWJzc2gyIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICItIgp8ICNkZWZp bmUgUEFDS0FHRV9TVFJJTkcgImxpYnNzaDIgLSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JU ICJsaWJzc2gyLWRldmVsQGNvb2wuaGF4eC5zZSIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwg I2RlZmluZSBQQUNLQUdFICJsaWJzc2gyIgp8ICNkZWZpbmUgVkVSU0lPTiAiMS4yLjYiCnwgI2Rl ZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBI QVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9T VFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfVU5J U1REX0ggMQp8ICNkZWZpbmUgSEFWRV9MT05HTE9ORyAxCnwgI2RlZmluZSBORUVEX1JFRU5UUkFO VCAxCnwgI2lmbmRlZiBfUkVFTlRSQU5UCnwgIyAgZGVmaW5lIF9SRUVOVFJBTlQKfCAjZW5kaWYK fCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgCnwgLyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5h bCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCnwgICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQg bWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCnwgICAgYnVpbHRpbiBhbmQgdGhl biBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KfCAjaWZkZWYg X19jcGx1c3BsdXMKfCBleHRlcm4gIkMiCnwgI2VuZGlmCnwgY2hhciBpbmV0X2FkZHIgKCk7Cnwg aW50CnwgbWFpbiAoKQp8IHsKfCByZXR1cm4gaW5ldF9hZGRyICgpOwp8ICAgOwp8ICAgcmV0dXJu IDA7CnwgfQpjb25maWd1cmU6NDYyODogQ0MgLW8gY29uZnRlc3QgLWcgIC1sZGwgY29uZnRlc3Qu YyAtbG5zbCAgLWxzb2NrZXQgID4mNQpjb25maWd1cmU6NDYyODogJD8gPSAwCmNvbmZpZ3VyZTo0 NjQ1OiByZXN1bHQ6IC1sbnNsCmNvbmZpZ3VyZTo0NzA0OiBjaGVja2luZyBmb3IgZ2NjCmNvbmZp Z3VyZTo0NzMxOiByZXN1bHQ6IENDCmNvbmZpZ3VyZTo0OTYwOiBjaGVja2luZyBmb3IgQyBjb21w aWxlciB2ZXJzaW9uCmNvbmZpZ3VyZTo0OTY5OiBDQyAtLXZlcnNpb24gPiY1CkNDOiBXYXJuaW5n OiBPcHRpb24gLS12ZXJzaW9uIHBhc3NlZCB0byBsZCwgaWYgbGQgaXMgaW52b2tlZCwgaWdub3Jl ZCBvdGhlcndpc2UKL3Vzci9jY3MvYmluL2xkOiBpbGxlZ2FsIG9wdGlvbiAtLSAtCi91c3IvY2Nz L2Jpbi9sZDogaWxsZWdhbCBvcHRpb24gLS0gdgp1c2FnZTogbGQgWy02OmFiYzpkOmU6ZjpoOmls Om1vOnA6cnN0dTp6OkI6Q0Q6RjpHSTpMOk06TjpQOlE6UjpTOlZZOj9dIGZpbGUocykKCVstNjRd CQllbmZvcmNlIGEgNjQtYml0IGxpbmstZWRpdAoJWy1hXQkJY3JlYXRlIGFuIGFic29sdXRlIGZp bGUKCVstYl0JCWRvIG5vdCBkbyBzcGVjaWFsIFBJQyByZWxvY2F0aW9ucyBpbiBhLm91dAoJWy1C IGRpcmVjdCB8IG5vZGlyZWN0XQoJCQllc3RhYmxpc2ggZGlyZWN0IGJpbmRpbmdzLCBvciBpbmhp Yml0IGRpcmVjdCBiaW5kaW5nCgkJCXRvLCB0aGUgb2JqZWN0IGJlaW5nIGNyZWF0ZWQKLi4uIHJl c3Qgb2Ygc3RkZXJyIG91dHB1dCBkZWxldGVkIC4uLgpjb25maWd1cmU6NDk4MDogJD8gPSAxCmNv bmZpZ3VyZTo0OTY5OiBDQyAtdiA+JjUKIyMjICAgICBjb21tYW5kIGxpbmUgZmlsZXMgYW5kIG9w dGlvbnMgKGV4cGFuZGVkKToKIyMjIC12IAojIyMgQ0M6IE5vdGU6IE5MU1BBVEggPSAvb3B0L3Rl cmFkYXRhL2NsaWVudC8xMy4xMC9vZGJjXzMyL21zZy8lTjo6L2V4cG9ydC9ob21lL1NTMTEvU1VO V3Nwcm8vcHJvZC9iaW4vLi4vbGliL2xvY2FsZS8lTC9MQ19NRVNTQUdFUy8lTi5jYXQ6L2V4cG9y dC9ob21lL1NTMTEvU1VOV3Nwcm8vcHJvZC9iaW4vLi4vLi4vbGliL2xvY2FsZS8lTC9MQ19NRVNT QUdFUy8lTi5jYXQKY29uZmlndXJlOjQ5ODA6ICQ/ID0gMApjb25maWd1cmU6NDk2OTogQ0MgLVYg PiY1CkNDOiBTdW4gQysrIDUuOCAyMDA1LzEwLzEzCmNvbmZpZ3VyZTo0OTgwOiAkPyA9IDAKY29u ZmlndXJlOjQ5Njk6IENDIC1xdmVyc2lvbiA+JjUKQ0M6IFdhcm5pbmc6IE9wdGlvbiAtcXZlcnNp b24gcGFzc2VkIHRvIGxkLCBpZiBsZCBpcyBpbnZva2VkLCBpZ25vcmVkIG90aGVyd2lzZQovdXNy L2Njcy9iaW4vbGQ6IGlsbGVnYWwgb3B0aW9uIC0tIHEKL3Vzci9jY3MvYmluL2xkOiBpbGxlZ2Fs IG9wdGlvbiAtLSB2CnVzYWdlOiBsZCBbLTY6YWJjOmQ6ZTpmOmg6aWw6bW86cDpyc3R1Ono6QjpD RDpGOkdJOkw6TTpOOlA6UTpSOlM6Vlk6P10gZmlsZShzKQoJWy02NF0JCWVuZm9yY2UgYSA2NC1i aXQgbGluay1lZGl0CglbLWFdCQljcmVhdGUgYW4gYWJzb2x1dGUgZmlsZQoJWy1iXQkJZG8gbm90 IGRvIHNwZWNpYWwgUElDIHJlbG9jYXRpb25zIGluIGEub3V0CglbLUIgZGlyZWN0IHwgbm9kaXJl Y3RdCgkJCWVzdGFibGlzaCBkaXJlY3QgYmluZGluZ3MsIG9yIGluaGliaXQgZGlyZWN0IGJpbmRp bmcKCQkJdG8sIHRoZSBvYmplY3QgYmVpbmcgY3JlYXRlZAouLi4gcmVzdCBvZiBzdGRlcnIgb3V0 cHV0IGRlbGV0ZWQgLi4uCmNvbmZpZ3VyZTo0OTgwOiAkPyA9IDEKY29uZmlndXJlOjQ5ODQ6IGNo ZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5nIHRoZSBHTlUgQyBjb21waWxlcgpjb25maWd1cmU6 NTAxMjogcmVzdWx0OiBubwpjb25maWd1cmU6NTAyMTogY2hlY2tpbmcgd2hldGhlciBDQyBhY2Nl cHRzIC1nCmNvbmZpZ3VyZTo1MDgyOiByZXN1bHQ6IHllcwpjb25maWd1cmU6NTA5OTogY2hlY2tp bmcgZm9yIENDIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OQpjb25maWd1cmU6NTE3OTogcmVzdWx0 OiB1bnN1cHBvcnRlZApjb25maWd1cmU6NTE5ODogY2hlY2tpbmcgZGVwZW5kZW5jeSBzdHlsZSBv ZiBDQwpjb25maWd1cmU6NTI4ODogcmVzdWx0OiBub25lCmNvbmZpZ3VyZTo1MzA2OiBjaGVja2lu ZyB3aGV0aGVyIGxuIC1zIHdvcmtzCmNvbmZpZ3VyZTo1MzEwOiByZXN1bHQ6IHllcwpjb25maWd1 cmU6NTMxNzogY2hlY2tpbmcgd2hldGhlciBtYWtlIHNldHMgJChNQUtFKQpjb25maWd1cmU6NTMz OTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjUzNTI6IGNoZWNraW5nIGZvciBzc2hkCmNvbmZpZ3Vy ZTo1Mzg1OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo1NzMxOiBjaGVja2luZyBmb3IgYSBzZWQgdGhh dCBkb2VzIG5vdCB0cnVuY2F0ZSBvdXRwdXQKY29uZmlndXJlOjU3OTU6IHJlc3VsdDogL3Vzci9i aW4vc2VkCmNvbmZpZ3VyZTo1ODEzOiBjaGVja2luZyBmb3IgZmdyZXAKY29uZmlndXJlOjU4NzU6 IHJlc3VsdDogL3Vzci94cGc0L2Jpbi9ncmVwIC1GCmNvbmZpZ3VyZTo1OTQzOiBjaGVja2luZyBm b3Igbm9uLUdOVSBsZApjb25maWd1cmU6NTk3NzogcmVzdWx0OiAvdXNyL3VjYi9sZApjb25maWd1 cmU6NTk4NDogY2hlY2tpbmcgaWYgdGhlIGxpbmtlciAoL3Vzci91Y2IvbGQpIGlzIEdOVSBsZApj b25maWd1cmU6NTk5OTogcmVzdWx0OiBubwpjb25maWd1cmU6NjAxMTogY2hlY2tpbmcgZm9yIEJT RC0gb3IgTVMtY29tcGF0aWJsZSBuYW1lIGxpc3RlciAobm0pCmNvbmZpZ3VyZTo2MDYwOiByZXN1 bHQ6IC91c3IvY2NzL2Jpbi9ubSAtcApjb25maWd1cmU6NjE3ODogY2hlY2tpbmcgdGhlIG5hbWUg bGlzdGVyICgvdXNyL2Njcy9iaW4vbm0gLXApIGludGVyZmFjZQpjb25maWd1cmU6NjE4ODogQ0Mg LWMgLWcgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo2MTkxOiAvdXNyL2Njcy9iaW4vbm0gLXAg ImNvbmZ0ZXN0Lm8iCmNvbmZpZ3VyZTo2MTk0OiBvdXRwdXQKCgpjb25mdGVzdC5vOgowMDAwMDAw MDAwIGIgQmJzcy5ic3MKMDAwMDAwMDAwMCBuIERkYXRhLmRhdGEKMDAwMDAwMDAwMCBuIERyb2Rh dGEucm9kYXRhCjAwMDAwMDAwMDAgZiBjb25mdGVzdC5jCjAwMDAwMDAwMDAgRCBzb21lX3Zhcmlh YmxlCmNvbmZpZ3VyZTo2MTk4OiByZXN1bHQ6IEJTRCBubQpjb25maWd1cmU6NjIwMjogY2hlY2tp bmcgdGhlIG1heGltdW0gbGVuZ3RoIG9mIGNvbW1hbmQgbGluZSBhcmd1bWVudHMKY29uZmlndXJl OjYzMjI6IHJlc3VsdDogNzg2MjQwCmNvbmZpZ3VyZTo2MzM5OiBjaGVja2luZyB3aGV0aGVyIHRo ZSBzaGVsbCB1bmRlcnN0YW5kcyBzb21lIFhTSSBjb25zdHJ1Y3RzCmNvbmZpZ3VyZTo2MzQ5OiBy ZXN1bHQ6IHllcwpjb25maWd1cmU6NjM1MzogY2hlY2tpbmcgd2hldGhlciB0aGUgc2hlbGwgdW5k ZXJzdGFuZHMgIis9Igpjb25maWd1cmU6NjM1OTogcmVzdWx0OiBubwpjb25maWd1cmU6NjM5NDog Y2hlY2tpbmcgZm9yIC91c3IvdWNiL2xkIG9wdGlvbiB0byByZWxvYWQgb2JqZWN0IGZpbGVzCmNv bmZpZ3VyZTo2NDAxOiByZXN1bHQ6IC1yCmNvbmZpZ3VyZTo2NDcwOiBjaGVja2luZyBmb3Igb2Jq ZHVtcApjb25maWd1cmU6NjQ5NzogcmVzdWx0OiBvYmpkdW1wCmNvbmZpZ3VyZTo2NTI2OiBjaGVj a2luZyBob3cgdG8gcmVjb2duaXplIGRlcGVuZGVudCBsaWJyYXJpZXMKY29uZmlndXJlOjY3MjI6 IHJlc3VsdDogcGFzc19hbGwKY29uZmlndXJlOjY3ODI6IGNoZWNraW5nIGZvciBhcgpjb25maWd1 cmU6NjgxMjogcmVzdWx0OiBubwpjb25maWd1cmU6Njg4NzogY2hlY2tpbmcgZm9yIHN0cmlwCmNv bmZpZ3VyZTo2OTE3OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo2OTg2OiBjaGVja2luZyBmb3IgcmFu bGliCmNvbmZpZ3VyZTo3MDE2OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo3MTAzOiBjaGVja2luZyBj b21tYW5kIHRvIHBhcnNlIC91c3IvY2NzL2Jpbi9ubSAtcCBvdXRwdXQgZnJvbSBDQyBvYmplY3QK Y29uZmlndXJlOjcyMjE6IENDIC1jIC1nICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6NzIyNDog JD8gPSAwCmNvbmZpZ3VyZTo3MjI4OiAvdXNyL2Njcy9iaW4vbm0gLXAgY29uZnRlc3QubyBcfCBz ZWQgLW4gLWUgJ3MvXi4qWwkgXVwoW0JEUlRdW0JEUlRdKlwpWwkgXVsJIF0qXChbX0EtWmEtel1b X0EtWmEtejAtOV0qXCkkL1wxIFwyIFwyL3AnIFw+IGNvbmZ0ZXN0Lm5tCmNvbmZpZ3VyZTo3MjMx OiAkPyA9IDAKY29uZmlndXJlOjcyODU6IENDIC1vIGNvbmZ0ZXN0IC1nICAtbGRsIGNvbmZ0ZXN0 LmMgY29uZnRzdG0ubyA+JjUKY29uZmlndXJlOjcyODg6ICQ/ID0gMApjb25maWd1cmU6NzMyNjog cmVzdWx0OiBvawpjb25maWd1cmU6NzUyMDogQ0MgLWMgLWcgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZp Z3VyZTo3NTIzOiAkPyA9IDAKY29uZmlndXJlOjgxMzE6IGNoZWNraW5nIGZvciBkbGZjbi5oCmNv bmZpZ3VyZTo4MTMxOiBDQyAtYyAtZyAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjgxMzE6ICQ/ ID0gMApjb25maWd1cmU6ODEzMTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjgzMTM6IGNoZWNraW5n IGZvciBvYmpkaXIKY29uZmlndXJlOjgzMjg6IHJlc3VsdDogLmxpYnMKY29uZmlndXJlOjg2Nzk6 IGNoZWNraW5nIGZvciBDQyBvcHRpb24gdG8gcHJvZHVjZSBQSUMKY29uZmlndXJlOjg5NTE6IHJl c3VsdDogLUtQSUMgLURQSUMKY29uZmlndXJlOjg5NjM6IGNoZWNraW5nIGlmIENDIFBJQyBmbGFn IC1LUElDIC1EUElDIHdvcmtzCmNvbmZpZ3VyZTo4OTg0OiBDQyAtYyAtZyAgLUtQSUMgLURQSUMg LURQSUMgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjg5ODg6ICQ/ID0gMApjb25maWd1cmU6ODk5 ODogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjkwMjI6IGNoZWNraW5nIGlmIENDIHN0YXRpYyBmbGFn IC1Cc3RhdGljIHdvcmtzCmNvbmZpZ3VyZTo5MDUwOiByZXN1bHQ6IHllcwpjb25maWd1cmU6OTA2 NTogY2hlY2tpbmcgaWYgQ0Mgc3VwcG9ydHMgLWMgLW8gZmlsZS5vCmNvbmZpZ3VyZTo5MDg5OiBD QyAtYyAtZyAgLW8gb3V0L2NvbmZ0ZXN0Mi5vIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo5MDkz OiAkPyA9IDAKY29uZmlndXJlOjkxMTI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo5MTIwOiBjaGVj a2luZyBpZiBDQyBzdXBwb3J0cyAtYyAtbyBmaWxlLm8KY29uZmlndXJlOjkxNjc6IHJlc3VsdDog eWVzCmNvbmZpZ3VyZTo5MjAwOiBjaGVja2luZyB3aGV0aGVyIHRoZSBDQyBsaW5rZXIgKC91c3Iv dWNiL2xkKSBzdXBwb3J0cyBzaGFyZWQgbGlicmFyaWVzCmNvbmZpZ3VyZToxMDE5MTogcmVzdWx0 OiB5ZXMKY29uZmlndXJlOjEwNDMwOiBjaGVja2luZyBkeW5hbWljIGxpbmtlciBjaGFyYWN0ZXJp c3RpY3MKY29uZmlndXJlOjExMDkzOiByZXN1bHQ6IHNvbGFyaXMyLjkgbGQuc28KY29uZmlndXJl OjExMTk1OiBjaGVja2luZyBob3cgdG8gaGFyZGNvZGUgbGlicmFyeSBwYXRocyBpbnRvIHByb2dy YW1zCmNvbmZpZ3VyZToxMTIyMDogcmVzdWx0OiBpbW1lZGlhdGUKY29uZmlndXJlOjExNzQwOiBj aGVja2luZyB3aGV0aGVyIHN0cmlwcGluZyBsaWJyYXJpZXMgaXMgcG9zc2libGUKY29uZmlndXJl OjExNzYyOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxMTc4MDogY2hlY2tpbmcgaWYgbGlidG9vbCBz dXBwb3J0cyBzaGFyZWQgbGlicmFyaWVzCmNvbmZpZ3VyZToxMTc4MjogcmVzdWx0OiB5ZXMKY29u ZmlndXJlOjExNzg1OiBjaGVja2luZyB3aGV0aGVyIHRvIGJ1aWxkIHNoYXJlZCBsaWJyYXJpZXMK Y29uZmlndXJlOjExODA2OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTE4MDk6IGNoZWNraW5nIHdo ZXRoZXIgdG8gYnVpbGQgc3RhdGljIGxpYnJhcmllcwpjb25maWd1cmU6MTE4MTM6IHJlc3VsdDog eWVzCmNvbmZpZ3VyZToxMTg0ODogY2hlY2tpbmcgd2hldGhlciBieXRlIG9yZGVyaW5nIGlzIGJp Z2VuZGlhbgpjb25maWd1cmU6MTE4NjM6IENDIC1jIC1nICBjb25mdGVzdC5jID4mNQoiY29uZnRl c3QuYyIsIGxpbmUgMjg6IEVycm9yOiBBIGRlY2xhcmF0aW9uIHdhcyBleHBlY3RlZCBpbnN0ZWFk IG9mICJub3QiLgoiY29uZnRlc3QuYyIsIGxpbmUgMjg6IEVycm9yOiBhIGlzIG5vdCBkZWZpbmVk LgoiY29uZnRlc3QuYyIsIGxpbmUgMjg6IEVycm9yOiAiLCIgZXhwZWN0ZWQgaW5zdGVhZCBvZiAi Y2FwYWJsZSIuCjMgRXJyb3IocykgZGV0ZWN0ZWQuCmNvbmZpZ3VyZToxMTg2MzogJD8gPSAzCmNv bmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5l IFBBQ0tBR0VfTkFNRSAibGlic3NoMiIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAibGlic3No MiIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiLSIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5H ICJsaWJzc2gyIC0iCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAibGlic3NoMi1kZXZlbEBj b29sLmhheHguc2UiCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAi bGlic3NoMiIKfCAjZGVmaW5lIFZFUlNJT04gIjEuMi42Igp8ICNkZWZpbmUgU1REQ19IRUFERVJT IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9I IDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwg I2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVm aW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5l IEhBVkVfTE9OR0xPTkcgMQp8ICNkZWZpbmUgTkVFRF9SRUVOVFJBTlQgMQp8ICNpZm5kZWYgX1JF RU5UUkFOVAp8ICMgIGRlZmluZSBfUkVFTlRSQU5UCnwgI2VuZGlmCnwgI2RlZmluZSBIQVZFX0RM RkNOX0ggMQp8ICNkZWZpbmUgTFRfT0JKRElSICIubGlicy8iCnwgLyogZW5kIGNvbmZkZWZzLmgu ICAqLwp8ICNpZm5kZWYgX19BUFBMRV9DQ19fCnwgCSAgICAgICBub3QgYSB1bml2ZXJzYWwgY2Fw YWJsZSBjb21waWxlcgp8IAkgICAgICNlbmRpZgp8IAkgICAgIHR5cGVkZWYgaW50IGR1bW15Owp8 IApjb25maWd1cmU6MTE5MDY6IENDIC1jIC1nICBjb25mdGVzdC5jID4mNQoiY29uZnRlc3QuYyIs IGxpbmUgMzQ6IEVycm9yOiBib2d1cyBpcyBub3QgZGVmaW5lZC4KImNvbmZ0ZXN0LmMiLCBsaW5l IDM0OiBFcnJvcjogIiwiIGV4cGVjdGVkIGluc3RlYWQgb2YgIm1hY3JvcyIuCjIgRXJyb3Iocykg ZGV0ZWN0ZWQuCmNvbmZpZ3VyZToxMTkwNjogJD8gPSAyCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dy YW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAibGlic3No MiIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAibGlic3NoMiIKfCAjZGVmaW5lIFBBQ0tBR0Vf VkVSU0lPTiAiLSIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJsaWJzc2gyIC0iCnwgI2RlZmlu ZSBQQUNLQUdFX0JVR1JFUE9SVCAibGlic3NoMi1kZXZlbEBjb29sLmhheHguc2UiCnwgI2RlZmlu ZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAibGlic3NoMiIKfCAjZGVmaW5lIFZF UlNJT04gIjEuMi42Igp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RE TElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9I IDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAx CnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfTE9OR0xPTkcgMQp8ICNk ZWZpbmUgTkVFRF9SRUVOVFJBTlQgMQp8ICNpZm5kZWYgX1JFRU5UUkFOVAp8ICMgIGRlZmluZSBf UkVFTlRSQU5UCnwgI2VuZGlmCnwgI2RlZmluZSBIQVZFX0RMRkNOX0ggMQp8ICNkZWZpbmUgTFRf T0JKRElSICIubGlicy8iCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzeXMv dHlwZXMuaD4KfCAJICAgICAjaW5jbHVkZSA8c3lzL3BhcmFtLmg+CnwgCnwgaW50CnwgbWFpbiAo KQp8IHsKfCAjaWYgISAoZGVmaW5lZCBCWVRFX09SREVSICYmIGRlZmluZWQgQklHX0VORElBTiAJ CSAgICAgJiYgZGVmaW5lZCBMSVRUTEVfRU5ESUFOICYmIEJZVEVfT1JERVIgJiYgQklHX0VORElB TiAJCSAgICAgJiYgTElUVExFX0VORElBTikKfCAJICAgICAgYm9ndXMgZW5kaWFuIG1hY3Jvcwp8 IAkgICAgICNlbmRpZgp8IAp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MTE5NTA6 IENDIC1jIC1nICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MTE5NTA6ICQ/ID0gMApjb25maWd1 cmU6MTE5Njc6IENDIC1jIC1nICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MTE5Njc6ICQ/ID0g MApjb25maWd1cmU6MTIwNTI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMjA3ODogY2hlY2tpbmcg Zm9yIHNwZWNpYWwgQyBjb21waWxlciBvcHRpb25zIG5lZWRlZCBmb3IgbGFyZ2UgZmlsZXMKY29u ZmlndXJlOjEyMTA4OiBDQyAtYyAtZyAgY29uZnRlc3QuYyA+JjUKImNvbmZ0ZXN0LmMiLCBsaW5l IDM0OiBXYXJuaW5nOiBTaGlmdCBjb3VudCBpcyB0b28gbGFyZ2UuCiJjb25mdGVzdC5jIiwgbGlu ZSAzNDogV2FybmluZzogU2hpZnQgY291bnQgaXMgdG9vIGxhcmdlLgoiY29uZnRlc3QuYyIsIGxp bmUgMzU6IFdhcm5pbmc6IFNoaWZ0IGNvdW50IGlzIHRvbyBsYXJnZS4KImNvbmZ0ZXN0LmMiLCBs aW5lIDM1OiBXYXJuaW5nOiBTaGlmdCBjb3VudCBpcyB0b28gbGFyZ2UuCiJjb25mdGVzdC5jIiwg bGluZSAzNjogRXJyb3I6IEFuIGFycmF5IG11c3QgaGF2ZSBhdCBsZWFzdCBvbmUgZWxlbWVudC4K MSBFcnJvcihzKSBhbmQgNCBXYXJuaW5nKHMpIGRldGVjdGVkLgpjb25maWd1cmU6MTIxMDg6ICQ/ ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwg I2RlZmluZSBQQUNLQUdFX05BTUUgImxpYnNzaDIiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUg ImxpYnNzaDIiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIi0iCnwgI2RlZmluZSBQQUNLQUdF X1NUUklORyAibGlic3NoMiAtIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImxpYnNzaDIt ZGV2ZWxAY29vbC5oYXh4LnNlIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBB Q0tBR0UgImxpYnNzaDIiCnwgI2RlZmluZSBWRVJTSU9OICIxLjIuNiIKfCAjZGVmaW5lIFNURENf SEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5H X0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAx CnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwg I2RlZmluZSBIQVZFX0xPTkdMT05HIDEKfCAjZGVmaW5lIE5FRURfUkVFTlRSQU5UIDEKfCAjaWZu ZGVmIF9SRUVOVFJBTlQKfCAjICBkZWZpbmUgX1JFRU5UUkFOVAp8ICNlbmRpZgp8ICNkZWZpbmUg SEFWRV9ETEZDTl9IIDEKfCAjZGVmaW5lIExUX09CSkRJUiAiLmxpYnMvIgp8ICNkZWZpbmUgV09S RFNfQklHRU5ESUFOIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN5cy90 eXBlcy5oPgp8ICAvKiBDaGVjayB0aGF0IG9mZl90IGNhbiByZXByZXNlbnQgMioqNjMgLSAxIGNv cnJlY3RseS4KfCAgICAgV2UgY2FuJ3Qgc2ltcGx5IGRlZmluZSBMQVJHRV9PRkZfVCB0byBiZSA5 MjIzMzcyMDM2ODU0Nzc1ODA3LAp8ICAgICBzaW5jZSBzb21lIEMrKyBjb21waWxlcnMgbWFzcXVl cmFkaW5nIGFzIEMgY29tcGlsZXJzCnwgICAgIGluY29ycmVjdGx5IHJlamVjdCA5MjIzMzcyMDM2 ODU0Nzc1ODA3LiAgKi8KfCAjZGVmaW5lIExBUkdFX09GRl9UICgoKG9mZl90KSAxIDw8IDYyKSAt IDEgKyAoKG9mZl90KSAxIDw8IDYyKSkKfCAgIGludCBvZmZfdF9pc19sYXJnZVsoTEFSR0VfT0ZG X1QgJSAyMTQ3NDgzNjI5ID09IDcyMQp8IAkJICAgICAgICYmIExBUkdFX09GRl9UICUgMjE0NzQ4 MzY0NyA9PSAxKQp8IAkJICAgICAgPyAxIDogLTFdOwp8IGludAp8IG1haW4gKCkKfCB7CnwgCnwg ICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToxMjExMzogQ0MgLW4zMiAtYyAtZyAgY29u ZnRlc3QuYyA+JjUKQ0M6IFdhcm5pbmc6IE9wdGlvbiAtbjMyIHBhc3NlZCB0byBsZCwgaWYgbGQg aXMgaW52b2tlZCwgaWdub3JlZCBvdGhlcndpc2UKImNvbmZ0ZXN0LmMiLCBsaW5lIDM0OiBXYXJu aW5nOiBTaGlmdCBjb3VudCBpcyB0b28gbGFyZ2UuCiJjb25mdGVzdC5jIiwgbGluZSAzNDogV2Fy bmluZzogU2hpZnQgY291bnQgaXMgdG9vIGxhcmdlLgoiY29uZnRlc3QuYyIsIGxpbmUgMzU6IFdh cm5pbmc6IFNoaWZ0IGNvdW50IGlzIHRvbyBsYXJnZS4KImNvbmZ0ZXN0LmMiLCBsaW5lIDM1OiBX YXJuaW5nOiBTaGlmdCBjb3VudCBpcyB0b28gbGFyZ2UuCiJjb25mdGVzdC5jIiwgbGluZSAzNjog RXJyb3I6IEFuIGFycmF5IG11c3QgaGF2ZSBhdCBsZWFzdCBvbmUgZWxlbWVudC4KMSBFcnJvcihz KSBhbmQgNCBXYXJuaW5nKHMpIGRldGVjdGVkLgpjb25maWd1cmU6MTIxMTM6ICQ/ID0gMQpjb25m aWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQ QUNLQUdFX05BTUUgImxpYnNzaDIiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImxpYnNzaDIi CnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIi0iCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAi bGlic3NoMiAtIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImxpYnNzaDItZGV2ZWxAY29v bC5oYXh4LnNlIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImxp YnNzaDIiCnwgI2RlZmluZSBWRVJTSU9OICIxLjIuNiIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAx CnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAx CnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNk ZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmlu ZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBI QVZFX0xPTkdMT05HIDEKfCAjZGVmaW5lIE5FRURfUkVFTlRSQU5UIDEKfCAjaWZuZGVmIF9SRUVO VFJBTlQKfCAjICBkZWZpbmUgX1JFRU5UUkFOVAp8ICNlbmRpZgp8ICNkZWZpbmUgSEFWRV9ETEZD Tl9IIDEKfCAjZGVmaW5lIExUX09CSkRJUiAiLmxpYnMvIgp8ICNkZWZpbmUgV09SRFNfQklHRU5E SUFOIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN5cy90eXBlcy5oPgp8 ICAvKiBDaGVjayB0aGF0IG9mZl90IGNhbiByZXByZXNlbnQgMioqNjMgLSAxIGNvcnJlY3RseS4K fCAgICAgV2UgY2FuJ3Qgc2ltcGx5IGRlZmluZSBMQVJHRV9PRkZfVCB0byBiZSA5MjIzMzcyMDM2 ODU0Nzc1ODA3LAp8ICAgICBzaW5jZSBzb21lIEMrKyBjb21waWxlcnMgbWFzcXVlcmFkaW5nIGFz IEMgY29tcGlsZXJzCnwgICAgIGluY29ycmVjdGx5IHJlamVjdCA5MjIzMzcyMDM2ODU0Nzc1ODA3 LiAgKi8KfCAjZGVmaW5lIExBUkdFX09GRl9UICgoKG9mZl90KSAxIDw8IDYyKSAtIDEgKyAoKG9m Zl90KSAxIDw8IDYyKSkKfCAgIGludCBvZmZfdF9pc19sYXJnZVsoTEFSR0VfT0ZGX1QgJSAyMTQ3 NDgzNjI5ID09IDcyMQp8IAkJICAgICAgICYmIExBUkdFX09GRl9UICUgMjE0NzQ4MzY0NyA9PSAx KQp8IAkJICAgICAgPyAxIDogLTFdOwp8IGludAp8IG1haW4gKCkKfCB7CnwgCnwgICA7CnwgICBy ZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToxMjEyMzogcmVzdWx0OiBubwpjb25maWd1cmU6MTIxMjk6 IGNoZWNraW5nIGZvciBfRklMRV9PRkZTRVRfQklUUyB2YWx1ZSBuZWVkZWQgZm9yIGxhcmdlIGZp bGVzCmNvbmZpZ3VyZToxMjE1NDogQ0MgLWMgLWcgIGNvbmZ0ZXN0LmMgPiY1CiJjb25mdGVzdC5j IiwgbGluZSAzNDogV2FybmluZzogU2hpZnQgY291bnQgaXMgdG9vIGxhcmdlLgoiY29uZnRlc3Qu YyIsIGxpbmUgMzQ6IFdhcm5pbmc6IFNoaWZ0IGNvdW50IGlzIHRvbyBsYXJnZS4KImNvbmZ0ZXN0 LmMiLCBsaW5lIDM1OiBXYXJuaW5nOiBTaGlmdCBjb3VudCBpcyB0b28gbGFyZ2UuCiJjb25mdGVz dC5jIiwgbGluZSAzNTogV2FybmluZzogU2hpZnQgY291bnQgaXMgdG9vIGxhcmdlLgoiY29uZnRl c3QuYyIsIGxpbmUgMzY6IEVycm9yOiBBbiBhcnJheSBtdXN0IGhhdmUgYXQgbGVhc3Qgb25lIGVs ZW1lbnQuCjEgRXJyb3IocykgYW5kIDQgV2FybmluZyhzKSBkZXRlY3RlZC4KY29uZmlndXJlOjEy MTU0OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMu aCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJsaWJzc2gyIgp8ICNkZWZpbmUgUEFDS0FHRV9U QVJOQU1FICJsaWJzc2gyIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICItIgp8ICNkZWZpbmUg UEFDS0FHRV9TVFJJTkcgImxpYnNzaDIgLSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJs aWJzc2gyLWRldmVsQGNvb2wuaGF4eC5zZSIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2Rl ZmluZSBQQUNLQUdFICJsaWJzc2gyIgp8ICNkZWZpbmUgVkVSU0lPTiAiMS4yLjYiCnwgI2RlZmlu ZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZF X1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJ TkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1RE X0ggMQp8ICNkZWZpbmUgSEFWRV9MT05HTE9ORyAxCnwgI2RlZmluZSBORUVEX1JFRU5UUkFOVCAx CnwgI2lmbmRlZiBfUkVFTlRSQU5UCnwgIyAgZGVmaW5lIF9SRUVOVFJBTlQKfCAjZW5kaWYKfCAj ZGVmaW5lIEhBVkVfRExGQ05fSCAxCnwgI2RlZmluZSBMVF9PQkpESVIgIi5saWJzLyIKfCAjZGVm aW5lIFdPUkRTX0JJR0VORElBTiAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRl IDxzeXMvdHlwZXMuaD4KfCAgLyogQ2hlY2sgdGhhdCBvZmZfdCBjYW4gcmVwcmVzZW50IDIqKjYz IC0gMSBjb3JyZWN0bHkuCnwgICAgIFdlIGNhbid0IHNpbXBseSBkZWZpbmUgTEFSR0VfT0ZGX1Qg dG8gYmUgOTIyMzM3MjAzNjg1NDc3NTgwNywKfCAgICAgc2luY2Ugc29tZSBDKysgY29tcGlsZXJz IG1hc3F1ZXJhZGluZyBhcyBDIGNvbXBpbGVycwp8ICAgICBpbmNvcnJlY3RseSByZWplY3QgOTIy MzM3MjAzNjg1NDc3NTgwNy4gICovCnwgI2RlZmluZSBMQVJHRV9PRkZfVCAoKChvZmZfdCkgMSA8 PCA2MikgLSAxICsgKChvZmZfdCkgMSA8PCA2MikpCnwgICBpbnQgb2ZmX3RfaXNfbGFyZ2VbKExB UkdFX09GRl9UICUgMjE0NzQ4MzYyOSA9PSA3MjEKfCAJCSAgICAgICAmJiBMQVJHRV9PRkZfVCAl IDIxNDc0ODM2NDcgPT0gMSkKfCAJCSAgICAgID8gMSA6IC0xXTsKfCBpbnQKfCBtYWluICgpCnwg ewp8IAp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MTIxNzg6IENDIC1jIC1nICBj b25mdGVzdC5jID4mNQpjb25maWd1cmU6MTIxNzg6ICQ/ID0gMApjb25maWd1cmU6MTIxODY6IHJl c3VsdDogNjQKY29uZmlndXJlOjEyMzcxOiBjaGVja2luZyBmb3Igbm9uLUdOVSBsZApjb25maWd1 cmU6MTI0MDI6IHJlc3VsdDogL3Vzci91Y2IvbGQKY29uZmlndXJlOjEyNDA5OiBjaGVja2luZyBp ZiB0aGUgbGlua2VyICgvdXNyL3VjYi9sZCkgaXMgR05VIGxkCmNvbmZpZ3VyZToxMjQyMjogcmVz dWx0OiBubwpjb25maWd1cmU6MTI0Mjk6IGNoZWNraW5nIGZvciBzaGFyZWQgbGlicmFyeSBydW4g cGF0aCBvcmlnaW4KY29uZmlndXJlOjEyNDQyOiByZXN1bHQ6IGRvbmUKY29uZmlndXJlOjEyOTQ3 OiBjaGVja2luZyBmb3IgbGlic3NsCmNvbmZpZ3VyZToxMjk2NjogQ0MgLW8gY29uZnRlc3QgLWcg LUkvZXhwb3J0L2hvbWUvdXNlcnMvc2FtYnVpbGQvc3NsL2luY2x1ZGUgLWxkbCBjb25mdGVzdC5j IC1sbnNsIC1sc29ja2V0ICAvZXhwb3J0L2hvbWUvdXNlcnMvc2FtYnVpbGQvc3NsL2xpYi9saWJz c2wuYSAvZXhwb3J0L2hvbWUvdXNlcnMvc2FtYnVpbGQvc3NsL2xpYi9saWJjcnlwdG8uYSA+JjUK Y29uZmlndXJlOjEyOTY2OiAkPyA9IDAKY29uZmlndXJlOjEyOTc2OiByZXN1bHQ6IHllcwpjb25m aWd1cmU6MTI5ODM6IGNoZWNraW5nIGhvdyB0byBsaW5rIHdpdGggbGlic3NsCmNvbmZpZ3VyZTox Mjk4NTogcmVzdWx0OiAvZXhwb3J0L2hvbWUvdXNlcnMvc2FtYnVpbGQvc3NsL2xpYi9saWJzc2wu YSAvZXhwb3J0L2hvbWUvdXNlcnMvc2FtYnVpbGQvc3NsL2xpYi9saWJjcnlwdG8uYQpjb25maWd1 cmU6MTM1NTU6IGNoZWNraW5nIGZvciBFVlBfYWVzXzEyOF9jdHIKY29uZmlndXJlOjEzNTU1OiBD QyAtbyBjb25mdGVzdCAtZyAtSS9leHBvcnQvaG9tZS91c2Vycy9zYW1idWlsZC9zc2wvaW5jbHVk ZSAtbGRsIC9leHBvcnQvaG9tZS91c2Vycy9zYW1idWlsZC9zc2wvbGliL2xpYnNzbC5hIC9leHBv cnQvaG9tZS91c2Vycy9zYW1idWlsZC9zc2wvbGliL2xpYmNyeXB0by5hIGNvbmZ0ZXN0LmMgLWxu c2wgLWxzb2NrZXQgID4mNQpVbmRlZmluZWQJCQlmaXJzdCByZWZlcmVuY2VkCiBzeW1ib2wgIAkJ CSAgICBpbiBmaWxlCkVWUF9hZXNfMTI4X2N0ciAgICAgICAgICAgICAgICAgICAgIGNvbmZ0ZXN0 Lm8KbGQ6IGZhdGFsOiBTeW1ib2wgcmVmZXJlbmNpbmcgZXJyb3JzLiBObyBvdXRwdXQgd3JpdHRl biB0byBjb25mdGVzdApjb25maWd1cmU6MTM1NTU6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBw cm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImxp YnNzaDIiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImxpYnNzaDIiCnwgI2RlZmluZSBQQUNL QUdFX1ZFUlNJT04gIi0iCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAibGlic3NoMiAtIgp8ICNk ZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImxpYnNzaDItZGV2ZWxAY29vbC5oYXh4LnNlIgp8ICNk ZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImxpYnNzaDIiCnwgI2RlZmlu ZSBWRVJTSU9OICIxLjIuNiIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZF X1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZF X1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1P UllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVT X0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX0xPTkdMT05HIDEK fCAjZGVmaW5lIE5FRURfUkVFTlRSQU5UIDEKfCAjaWZuZGVmIF9SRUVOVFJBTlQKfCAjICBkZWZp bmUgX1JFRU5UUkFOVAp8ICNlbmRpZgp8ICNkZWZpbmUgSEFWRV9ETEZDTl9IIDEKfCAjZGVmaW5l IExUX09CSkRJUiAiLmxpYnMvIgp8ICNkZWZpbmUgV09SRFNfQklHRU5ESUFOIDEKfCAjZGVmaW5l IF9GSUxFX09GRlNFVF9CSVRTIDY0CnwgI2RlZmluZSBIQVZFX0xJQlNTTCAxCnwgLyogZW5kIGNv bmZkZWZzLmguICAqLwp8IC8qIERlZmluZSBFVlBfYWVzXzEyOF9jdHIgdG8gYW4gaW5ub2N1b3Vz IHZhcmlhbnQsIGluIGNhc2UgPGxpbWl0cy5oPiBkZWNsYXJlcyBFVlBfYWVzXzEyOF9jdHIuCnwg ICAgRm9yIGV4YW1wbGUsIEhQLVVYIDExaSA8bGltaXRzLmg+IGRlY2xhcmVzIGdldHRpbWVvZmRh eS4gICovCnwgI2RlZmluZSBFVlBfYWVzXzEyOF9jdHIgaW5ub2N1b3VzX0VWUF9hZXNfMTI4X2N0 cgp8IAp8IC8qIFN5c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVm dWxseSBmZXcgcHJvdG90eXBlcywKfCAgICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciBF VlBfYWVzXzEyOF9jdHIgKCk7IGJlbG93Lgp8ICAgICBQcmVmZXIgPGxpbWl0cy5oPiB0byA8YXNz ZXJ0Lmg+IGlmIF9fU1REQ19fIGlzIGRlZmluZWQsIHNpbmNlCnwgICAgIDxsaW1pdHMuaD4gZXhp c3RzIGV2ZW4gb24gZnJlZXN0YW5kaW5nIGNvbXBpbGVycy4gICovCnwgCnwgI2lmZGVmIF9fU1RE Q19fCnwgIyBpbmNsdWRlIDxsaW1pdHMuaD4KfCAjZWxzZQp8ICMgaW5jbHVkZSA8YXNzZXJ0Lmg+ CnwgI2VuZGlmCnwgCnwgI3VuZGVmIEVWUF9hZXNfMTI4X2N0cgp8IAp8IC8qIE92ZXJyaWRlIGFu eSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLgp8ICAgIFVzZSBjaGFy IGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIEdDQwp8ICAgIGJ1 aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4g ICovCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0ZXJuICJDIgp8ICNlbmRpZgp8IGNoYXIgRVZQ X2Flc18xMjhfY3RyICgpOwp8IC8qIFRoZSBHTlUgQyBsaWJyYXJ5IGRlZmluZXMgdGhpcyBmb3Ig ZnVuY3Rpb25zIHdoaWNoIGl0IGltcGxlbWVudHMKfCAgICAgdG8gYWx3YXlzIGZhaWwgd2l0aCBF Tk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFtZWQKfCAgICAgc29tZXRoaW5n IHN0YXJ0aW5nIHdpdGggX18gYW5kIHRoZSBub3JtYWwgbmFtZSBpcyBhbiBhbGlhcy4gICovCnwg I2lmIGRlZmluZWQgX19zdHViX0VWUF9hZXNfMTI4X2N0ciB8fCBkZWZpbmVkIF9fc3R1Yl9fX0VW UF9hZXNfMTI4X2N0cgp8IGNob2tlIG1lCnwgI2VuZGlmCnwgCnwgaW50CnwgbWFpbiAoKQp8IHsK fCByZXR1cm4gRVZQX2Flc18xMjhfY3RyICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25m aWd1cmU6MTM1NTU6IHJlc3VsdDogbm8KY29uZmlndXJlOjE0MDM2OiBjaGVja2luZyBmb3IgbGli egpjb25maWd1cmU6MTQwNTU6IENDIC1vIGNvbmZ0ZXN0IC1nIC1JL2V4cG9ydC9ob21lL3VzZXJz L3NhbWJ1aWxkL3NzbC9pbmNsdWRlIC1sZGwgY29uZnRlc3QuYyAtbG5zbCAtbHNvY2tldCAgLWx6 ID4mNQpjb25maWd1cmU6MTQwNTU6ICQ/ID0gMApjb25maWd1cmU6MTQwNjU6IHJlc3VsdDogeWVz CmNvbmZpZ3VyZToxNDA3MjogY2hlY2tpbmcgaG93IHRvIGxpbmsgd2l0aCBsaWJ6CmNvbmZpZ3Vy ZToxNDA3NDogcmVzdWx0OiAtbHoKY29uZmlndXJlOjE0MTMyOiBjaGVja2luZyB3aGV0aGVyIHRv IGVuYWJsZSBwZWRhbnRpYyBhbmQgZGVidWcgY29tcGlsZXIgb3B0aW9ucwpjb25maWd1cmU6MTQy NjU6IHJlc3VsdDogbm8KY29uZmlndXJlOjE0MjcxOiBjaGVja2luZyB3aGV0aGVyIHRvIGVuYWJs ZSBoaWRkZW4gc3ltYm9scyBpbiB0aGUgbGlicmFyeQpjb25maWd1cmU6MTQzMTI6IHJlc3VsdDog bm8KY29uZmlndXJlOjE0MzIzOiBjaGVja2luZyBlcnJuby5oIHVzYWJpbGl0eQpjb25maWd1cmU6 MTQzMjM6IENDIC1jIC1nIC1JL2V4cG9ydC9ob21lL3VzZXJzL3NhbWJ1aWxkL3NzbC9pbmNsdWRl IGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToxNDMyMzogJD8gPSAwCmNvbmZpZ3VyZToxNDMyMzog cmVzdWx0OiB5ZXMKY29uZmlndXJlOjE0MzIzOiBjaGVja2luZyBlcnJuby5oIHByZXNlbmNlCmNv bmZpZ3VyZToxNDMyMzogQ0MgLUUgLUkvZXhwb3J0L2hvbWUvdXNlcnMvc2FtYnVpbGQvc3NsL2lu Y2x1ZGUgY29uZnRlc3QuYwpjb25maWd1cmU6MTQzMjM6ICQ/ID0gMApjb25maWd1cmU6MTQzMjM6 IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNDMyMzogY2hlY2tpbmcgZm9yIGVycm5vLmgKY29uZmln dXJlOjE0MzIzOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTQzMjM6IGNoZWNraW5nIGZjbnRsLmgg dXNhYmlsaXR5CmNvbmZpZ3VyZToxNDMyMzogQ0MgLWMgLWcgLUkvZXhwb3J0L2hvbWUvdXNlcnMv c2FtYnVpbGQvc3NsL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjE0MzIzOiAkPyA9 IDAKY29uZmlndXJlOjE0MzIzOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTQzMjM6IGNoZWNraW5n IGZjbnRsLmggcHJlc2VuY2UKY29uZmlndXJlOjE0MzIzOiBDQyAtRSAtSS9leHBvcnQvaG9tZS91 c2Vycy9zYW1idWlsZC9zc2wvaW5jbHVkZSBjb25mdGVzdC5jCmNvbmZpZ3VyZToxNDMyMzogJD8g PSAwCmNvbmZpZ3VyZToxNDMyMzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE0MzIzOiBjaGVja2lu ZyBmb3IgZmNudGwuaApjb25maWd1cmU6MTQzMjM6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNDMy MzogY2hlY2tpbmcgc3RkaW8uaCB1c2FiaWxpdHkKY29uZmlndXJlOjE0MzIzOiBDQyAtYyAtZyAt SS9leHBvcnQvaG9tZS91c2Vycy9zYW1idWlsZC9zc2wvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpj b25maWd1cmU6MTQzMjM6ICQ/ID0gMApjb25maWd1cmU6MTQzMjM6IHJlc3VsdDogeWVzCmNvbmZp Z3VyZToxNDMyMzogY2hlY2tpbmcgc3RkaW8uaCBwcmVzZW5jZQpjb25maWd1cmU6MTQzMjM6IEND IC1FIC1JL2V4cG9ydC9ob21lL3VzZXJzL3NhbWJ1aWxkL3NzbC9pbmNsdWRlIGNvbmZ0ZXN0LmMK Y29uZmlndXJlOjE0MzIzOiAkPyA9IDAKY29uZmlndXJlOjE0MzIzOiByZXN1bHQ6IHllcwpjb25m aWd1cmU6MTQzMjM6IGNoZWNraW5nIGZvciBzdGRpby5oCmNvbmZpZ3VyZToxNDMyMzogcmVzdWx0 OiB5ZXMKY29uZmlndXJlOjE0MzIzOiBjaGVja2luZyBmb3Igc3RkbGliLmgKY29uZmlndXJlOjE0 MzIzOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTQzMjM6IGNoZWNraW5nIGZvciB1bmlzdGQuaApj b25maWd1cmU6MTQzMjM6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNDMyMzogY2hlY2tpbmcgc3lz L3Vpby5oIHVzYWJpbGl0eQpjb25maWd1cmU6MTQzMjM6IENDIC1jIC1nIC1JL2V4cG9ydC9ob21l L3VzZXJzL3NhbWJ1aWxkL3NzbC9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToxNDMy MzogJD8gPSAwCmNvbmZpZ3VyZToxNDMyMzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE0MzIzOiBj aGVja2luZyBzeXMvdWlvLmggcHJlc2VuY2UKY29uZmlndXJlOjE0MzIzOiBDQyAtRSAtSS9leHBv cnQvaG9tZS91c2Vycy9zYW1idWlsZC9zc2wvaW5jbHVkZSBjb25mdGVzdC5jCmNvbmZpZ3VyZTox NDMyMzogJD8gPSAwCmNvbmZpZ3VyZToxNDMyMzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE0MzIz OiBjaGVja2luZyBmb3Igc3lzL3Vpby5oCmNvbmZpZ3VyZToxNDMyMzogcmVzdWx0OiB5ZXMKY29u ZmlndXJlOjE0MzM3OiBjaGVja2luZyBzeXMvc2VsZWN0LmggdXNhYmlsaXR5CmNvbmZpZ3VyZTox NDMzNzogQ0MgLWMgLWcgLUkvZXhwb3J0L2hvbWUvdXNlcnMvc2FtYnVpbGQvc3NsL2luY2x1ZGUg Y29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjE0MzM3OiAkPyA9IDAKY29uZmlndXJlOjE0MzM3OiBy ZXN1bHQ6IHllcwpjb25maWd1cmU6MTQzMzc6IGNoZWNraW5nIHN5cy9zZWxlY3QuaCBwcmVzZW5j ZQpjb25maWd1cmU6MTQzMzc6IENDIC1FIC1JL2V4cG9ydC9ob21lL3VzZXJzL3NhbWJ1aWxkL3Nz bC9pbmNsdWRlIGNvbmZ0ZXN0LmMKY29uZmlndXJlOjE0MzM3OiAkPyA9IDAKY29uZmlndXJlOjE0 MzM3OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTQzMzc6IGNoZWNraW5nIGZvciBzeXMvc2VsZWN0 LmgKY29uZmlndXJlOjE0MzM3OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTQzMzc6IGNoZWNraW5n IHN5cy9zb2NrZXQuaCB1c2FiaWxpdHkKY29uZmlndXJlOjE0MzM3OiBDQyAtYyAtZyAtSS9leHBv cnQvaG9tZS91c2Vycy9zYW1idWlsZC9zc2wvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25maWd1 cmU6MTQzMzc6ICQ/ID0gMApjb25maWd1cmU6MTQzMzc6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTox NDMzNzogY2hlY2tpbmcgc3lzL3NvY2tldC5oIHByZXNlbmNlCmNvbmZpZ3VyZToxNDMzNzogQ0Mg LUUgLUkvZXhwb3J0L2hvbWUvdXNlcnMvc2FtYnVpbGQvc3NsL2luY2x1ZGUgY29uZnRlc3QuYwpj b25maWd1cmU6MTQzMzc6ICQ/ID0gMApjb25maWd1cmU6MTQzMzc6IHJlc3VsdDogeWVzCmNvbmZp Z3VyZToxNDMzNzogY2hlY2tpbmcgZm9yIHN5cy9zb2NrZXQuaApjb25maWd1cmU6MTQzMzc6IHJl c3VsdDogeWVzCmNvbmZpZ3VyZToxNDMzNzogY2hlY2tpbmcgc3lzL2lvY3RsLmggdXNhYmlsaXR5 CmNvbmZpZ3VyZToxNDMzNzogQ0MgLWMgLWcgLUkvZXhwb3J0L2hvbWUvdXNlcnMvc2FtYnVpbGQv c3NsL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjE0MzM3OiAkPyA9IDAKY29uZmln dXJlOjE0MzM3OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTQzMzc6IGNoZWNraW5nIHN5cy9pb2N0 bC5oIHByZXNlbmNlCmNvbmZpZ3VyZToxNDMzNzogQ0MgLUUgLUkvZXhwb3J0L2hvbWUvdXNlcnMv c2FtYnVpbGQvc3NsL2luY2x1ZGUgY29uZnRlc3QuYwpjb25maWd1cmU6MTQzMzc6ICQ/ID0gMApj b25maWd1cmU6MTQzMzc6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNDMzNzogY2hlY2tpbmcgZm9y IHN5cy9pb2N0bC5oCmNvbmZpZ3VyZToxNDMzNzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE0MzM3 OiBjaGVja2luZyBzeXMvdGltZS5oIHVzYWJpbGl0eQpjb25maWd1cmU6MTQzMzc6IENDIC1jIC1n IC1JL2V4cG9ydC9ob21lL3VzZXJzL3NhbWJ1aWxkL3NzbC9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1 CmNvbmZpZ3VyZToxNDMzNzogJD8gPSAwCmNvbmZpZ3VyZToxNDMzNzogcmVzdWx0OiB5ZXMKY29u ZmlndXJlOjE0MzM3OiBjaGVja2luZyBzeXMvdGltZS5oIHByZXNlbmNlCmNvbmZpZ3VyZToxNDMz NzogQ0MgLUUgLUkvZXhwb3J0L2hvbWUvdXNlcnMvc2FtYnVpbGQvc3NsL2luY2x1ZGUgY29uZnRl c3QuYwpjb25maWd1cmU6MTQzMzc6ICQ/ID0gMApjb25maWd1cmU6MTQzMzc6IHJlc3VsdDogeWVz CmNvbmZpZ3VyZToxNDMzNzogY2hlY2tpbmcgZm9yIHN5cy90aW1lLmgKY29uZmlndXJlOjE0MzM3 OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTQzNTE6IGNoZWNraW5nIGFycGEvaW5ldC5oIHVzYWJp bGl0eQpjb25maWd1cmU6MTQzNTE6IENDIC1jIC1nIC1JL2V4cG9ydC9ob21lL3VzZXJzL3NhbWJ1 aWxkL3NzbC9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToxNDM1MTogJD8gPSAwCmNv bmZpZ3VyZToxNDM1MTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE0MzUxOiBjaGVja2luZyBhcnBh L2luZXQuaCBwcmVzZW5jZQpjb25maWd1cmU6MTQzNTE6IENDIC1FIC1JL2V4cG9ydC9ob21lL3Vz ZXJzL3NhbWJ1aWxkL3NzbC9pbmNsdWRlIGNvbmZ0ZXN0LmMKY29uZmlndXJlOjE0MzUxOiAkPyA9 IDAKY29uZmlndXJlOjE0MzUxOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTQzNTE6IGNoZWNraW5n IGZvciBhcnBhL2luZXQuaApjb25maWd1cmU6MTQzNTE6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTox NDM1MTogY2hlY2tpbmcgbmV0aW5ldC9pbi5oIHVzYWJpbGl0eQpjb25maWd1cmU6MTQzNTE6IEND IC1jIC1nIC1JL2V4cG9ydC9ob21lL3VzZXJzL3NhbWJ1aWxkL3NzbC9pbmNsdWRlIGNvbmZ0ZXN0 LmMgPiY1CmNvbmZpZ3VyZToxNDM1MTogJD8gPSAwCmNvbmZpZ3VyZToxNDM1MTogcmVzdWx0OiB5 ZXMKY29uZmlndXJlOjE0MzUxOiBjaGVja2luZyBuZXRpbmV0L2luLmggcHJlc2VuY2UKY29uZmln dXJlOjE0MzUxOiBDQyAtRSAtSS9leHBvcnQvaG9tZS91c2Vycy9zYW1idWlsZC9zc2wvaW5jbHVk ZSBjb25mdGVzdC5jCmNvbmZpZ3VyZToxNDM1MTogJD8gPSAwCmNvbmZpZ3VyZToxNDM1MTogcmVz dWx0OiB5ZXMKY29uZmlndXJlOjE0MzUxOiBjaGVja2luZyBmb3IgbmV0aW5ldC9pbi5oCmNvbmZp Z3VyZToxNDM1MTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE0MzY0OiBjaGVja2luZyBzeXMvdW4u aCB1c2FiaWxpdHkKY29uZmlndXJlOjE0MzY0OiBDQyAtYyAtZyAtSS9leHBvcnQvaG9tZS91c2Vy cy9zYW1idWlsZC9zc2wvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MTQzNjQ6ICQ/ ID0gMApjb25maWd1cmU6MTQzNjQ6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNDM2NDogY2hlY2tp bmcgc3lzL3VuLmggcHJlc2VuY2UKY29uZmlndXJlOjE0MzY0OiBDQyAtRSAtSS9leHBvcnQvaG9t ZS91c2Vycy9zYW1idWlsZC9zc2wvaW5jbHVkZSBjb25mdGVzdC5jCmNvbmZpZ3VyZToxNDM2NDog JD8gPSAwCmNvbmZpZ3VyZToxNDM2NDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE0MzY0OiBjaGVj a2luZyBmb3Igc3lzL3VuLmgKY29uZmlndXJlOjE0MzY0OiByZXN1bHQ6IHllcwpjb25maWd1cmU6 MTQzODM6IGNoZWNraW5nIHdpbmRvd3MuaCB1c2FiaWxpdHkKY29uZmlndXJlOjE0MzgzOiBDQyAt YyAtZyAtSS9leHBvcnQvaG9tZS91c2Vycy9zYW1idWlsZC9zc2wvaW5jbHVkZSBjb25mdGVzdC5j ID4mNQoiY29uZnRlc3QuYyIsIGxpbmUgNzk6IEVycm9yOiBDb3VsZCBub3Qgb3BlbiBpbmNsdWRl IGZpbGU8d2luZG93cy5oPi4KMSBFcnJvcihzKSBkZXRlY3RlZC4KY29uZmlndXJlOjE0MzgzOiAk PyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8 ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJsaWJzc2gyIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1F ICJsaWJzc2gyIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICItIgp8ICNkZWZpbmUgUEFDS0FH RV9TVFJJTkcgImxpYnNzaDIgLSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJsaWJzc2gy LWRldmVsQGNvb2wuaGF4eC5zZSIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQ QUNLQUdFICJsaWJzc2gyIgp8ICNkZWZpbmUgVkVSU0lPTiAiMS4yLjYiCnwgI2RlZmluZSBTVERD X0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklO R19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0gg MQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8 ICNkZWZpbmUgSEFWRV9MT05HTE9ORyAxCnwgI2RlZmluZSBORUVEX1JFRU5UUkFOVCAxCnwgI2lm bmRlZiBfUkVFTlRSQU5UCnwgIyAgZGVmaW5lIF9SRUVOVFJBTlQKfCAjZW5kaWYKfCAjZGVmaW5l IEhBVkVfRExGQ05fSCAxCnwgI2RlZmluZSBMVF9PQkpESVIgIi5saWJzLyIKfCAjZGVmaW5lIFdP UkRTX0JJR0VORElBTiAxCnwgI2RlZmluZSBfRklMRV9PRkZTRVRfQklUUyA2NAp8ICNkZWZpbmUg SEFWRV9MSUJTU0wgMQp8ICNkZWZpbmUgSEFWRV9MSUJaIDEKfCAjZGVmaW5lIExJQlNTSDJfSEFW RV9aTElCIDEKfCAjZGVmaW5lIExJQlNTSDJfREhfR0VYX05FVyAxCnwgI2RlZmluZSBIQVZFX0VS Uk5PX0ggMQp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU9fSCAx CnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfVUlPX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfSU9DVExfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9BUlBBX0lORVRfSCAxCnwg I2RlZmluZSBIQVZFX05FVElORVRfSU5fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAv KiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN0ZGlvLmg+CnwgI2lmZGVmIEhBVkVf U1lTX1RZUEVTX0gKfCAjIGluY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBI QVZFX1NZU19TVEFUX0gKfCAjIGluY2x1ZGUgPHN5cy9zdGF0Lmg+CnwgI2VuZGlmCnwgI2lmZGVm IFNURENfSEVBREVSUwp8ICMgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBpbmNsdWRlIDxzdGRkZWYu aD4KfCAjZWxzZQp8ICMgaWZkZWYgSEFWRV9TVERMSUJfSAp8ICMgIGluY2x1ZGUgPHN0ZGxpYi5o Pgp8ICMgZW5kaWYKfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdfSAp8ICMgaWYgIWRlZmlu ZWQgU1REQ19IRUFERVJTICYmIGRlZmluZWQgSEFWRV9NRU1PUllfSAp8ICMgIGluY2x1ZGUgPG1l bW9yeS5oPgp8ICMgZW5kaWYKfCAjIGluY2x1ZGUgPHN0cmluZy5oPgp8ICNlbmRpZgp8ICNpZmRl ZiBIQVZFX1NUUklOR1NfSAp8ICMgaW5jbHVkZSA8c3RyaW5ncy5oPgp8ICNlbmRpZgp8ICNpZmRl ZiBIQVZFX0lOVFRZUEVTX0gKfCAjIGluY2x1ZGUgPGludHR5cGVzLmg+CnwgI2VuZGlmCnwgI2lm ZGVmIEhBVkVfU1RESU5UX0gKfCAjIGluY2x1ZGUgPHN0ZGludC5oPgp8ICNlbmRpZgp8ICNpZmRl ZiBIQVZFX1VOSVNURF9ICnwgIyBpbmNsdWRlIDx1bmlzdGQuaD4KfCAjZW5kaWYKfCAjaW5jbHVk ZSA8d2luZG93cy5oPgpjb25maWd1cmU6MTQzODM6IHJlc3VsdDogbm8KY29uZmlndXJlOjE0Mzgz OiBjaGVja2luZyB3aW5kb3dzLmggcHJlc2VuY2UKY29uZmlndXJlOjE0MzgzOiBDQyAtRSAtSS9l eHBvcnQvaG9tZS91c2Vycy9zYW1idWlsZC9zc2wvaW5jbHVkZSBjb25mdGVzdC5jCiJjb25mdGVz dC5jIiwgbGluZSA0NjogRXJyb3I6IENvdWxkIG5vdCBvcGVuIGluY2x1ZGUgZmlsZTx3aW5kb3dz Lmg+LgoxIEVycm9yKHMpIGRldGVjdGVkLgpjb25maWd1cmU6MTQzODM6ICQ/ID0gMQpjb25maWd1 cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNL QUdFX05BTUUgImxpYnNzaDIiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImxpYnNzaDIiCnwg I2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIi0iCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAibGli c3NoMiAtIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImxpYnNzaDItZGV2ZWxAY29vbC5o YXh4LnNlIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImxpYnNz aDIiCnwgI2RlZmluZSBWRVJTSU9OICIxLjIuNiIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwg I2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwg I2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZp bmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBI QVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZF X0xPTkdMT05HIDEKfCAjZGVmaW5lIE5FRURfUkVFTlRSQU5UIDEKfCAjaWZuZGVmIF9SRUVOVFJB TlQKfCAjICBkZWZpbmUgX1JFRU5UUkFOVAp8ICNlbmRpZgp8ICNkZWZpbmUgSEFWRV9ETEZDTl9I IDEKfCAjZGVmaW5lIExUX09CSkRJUiAiLmxpYnMvIgp8ICNkZWZpbmUgV09SRFNfQklHRU5ESUFO IDEKfCAjZGVmaW5lIF9GSUxFX09GRlNFVF9CSVRTIDY0CnwgI2RlZmluZSBIQVZFX0xJQlNTTCAx CnwgI2RlZmluZSBIQVZFX0xJQlogMQp8ICNkZWZpbmUgTElCU1NIMl9IQVZFX1pMSUIgMQp8ICNk ZWZpbmUgTElCU1NIMl9ESF9HRVhfTkVXIDEKfCAjZGVmaW5lIEhBVkVfRVJSTk9fSCAxCnwgI2Rl ZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJT19IIDEKfCAjZGVmaW5lIEhB VkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19VSU9fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19JT0NUTF9IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX0FSUEFfSU5FVF9IIDEKfCAjZGVmaW5lIEhBVkVf TkVUSU5FVF9JTl9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8IC8qIGVuZCBjb25mZGVm cy5oLiAgKi8KfCAjaW5jbHVkZSA8d2luZG93cy5oPgpjb25maWd1cmU6MTQzODM6IHJlc3VsdDog bm8KY29uZmlndXJlOjE0MzgzOiBjaGVja2luZyBmb3Igd2luZG93cy5oCmNvbmZpZ3VyZToxNDM4 MzogcmVzdWx0OiBubwpjb25maWd1cmU6MTQzODM6IGNoZWNraW5nIHdpbnNvY2syLmggdXNhYmls aXR5CmNvbmZpZ3VyZToxNDM4MzogQ0MgLWMgLWcgLUkvZXhwb3J0L2hvbWUvdXNlcnMvc2FtYnVp bGQvc3NsL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKImNvbmZ0ZXN0LmMiLCBsaW5lIDc5OiBFcnJv cjogQ291bGQgbm90IG9wZW4gaW5jbHVkZSBmaWxlPHdpbnNvY2syLmg+LgoxIEVycm9yKHMpIGRl dGVjdGVkLgpjb25maWd1cmU6MTQzODM6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFt IHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImxpYnNzaDIi CnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImxpYnNzaDIiCnwgI2RlZmluZSBQQUNLQUdFX1ZF UlNJT04gIi0iCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAibGlic3NoMiAtIgp8ICNkZWZpbmUg UEFDS0FHRV9CVUdSRVBPUlQgImxpYnNzaDItZGV2ZWxAY29vbC5oYXh4LnNlIgp8ICNkZWZpbmUg UEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImxpYnNzaDIiCnwgI2RlZmluZSBWRVJT SU9OICIxLjIuNiIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19U WVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJ Ql9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAx CnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8 ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX0xPTkdMT05HIDEKfCAjZGVm aW5lIE5FRURfUkVFTlRSQU5UIDEKfCAjaWZuZGVmIF9SRUVOVFJBTlQKfCAjICBkZWZpbmUgX1JF RU5UUkFOVAp8ICNlbmRpZgp8ICNkZWZpbmUgSEFWRV9ETEZDTl9IIDEKfCAjZGVmaW5lIExUX09C SkRJUiAiLmxpYnMvIgp8ICNkZWZpbmUgV09SRFNfQklHRU5ESUFOIDEKfCAjZGVmaW5lIF9GSUxF X09GRlNFVF9CSVRTIDY0CnwgI2RlZmluZSBIQVZFX0xJQlNTTCAxCnwgI2RlZmluZSBIQVZFX0xJ QlogMQp8ICNkZWZpbmUgTElCU1NIMl9IQVZFX1pMSUIgMQp8ICNkZWZpbmUgTElCU1NIMl9ESF9H RVhfTkVXIDEKfCAjZGVmaW5lIEhBVkVfRVJSTk9fSCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0gg MQp8ICNkZWZpbmUgSEFWRV9TVERJT19IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNk ZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VSU9fSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19JT0NUTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2Rl ZmluZSBIQVZFX0FSUEFfSU5FVF9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUSU5FVF9JTl9IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVk ZSA8c3RkaW8uaD4KfCAjaWZkZWYgSEFWRV9TWVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5 cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lz L3N0YXQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgU1REQ19IRUFERVJTCnwgIyBpbmNsdWRlIDxzdGRs aWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8ICNlbHNlCnwgIyBpZmRlZiBIQVZFX1NURExJ Ql9ICnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNpZmRlZiBI QVZFX1NUUklOR19ICnwgIyBpZiAhZGVmaW5lZCBTVERDX0hFQURFUlMgJiYgZGVmaW5lZCBIQVZF X01FTU9SWV9ICnwgIyAgaW5jbHVkZSA8bWVtb3J5Lmg+CnwgIyBlbmRpZgp8ICMgaW5jbHVkZSA8 c3RyaW5nLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HU19ICnwgIyBpbmNsdWRlIDxz dHJpbmdzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfSU5UVFlQRVNfSAp8ICMgaW5jbHVkZSA8 aW50dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVERJTlRfSAp8ICMgaW5jbHVkZSA8 c3RkaW50Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfVU5JU1REX0gKfCAjIGluY2x1ZGUgPHVu aXN0ZC5oPgp8ICNlbmRpZgp8ICNpbmNsdWRlIDx3aW5zb2NrMi5oPgpjb25maWd1cmU6MTQzODM6 IHJlc3VsdDogbm8KY29uZmlndXJlOjE0MzgzOiBjaGVja2luZyB3aW5zb2NrMi5oIHByZXNlbmNl CmNvbmZpZ3VyZToxNDM4MzogQ0MgLUUgLUkvZXhwb3J0L2hvbWUvdXNlcnMvc2FtYnVpbGQvc3Ns L2luY2x1ZGUgY29uZnRlc3QuYwoiY29uZnRlc3QuYyIsIGxpbmUgNDY6IEVycm9yOiBDb3VsZCBu b3Qgb3BlbiBpbmNsdWRlIGZpbGU8d2luc29jazIuaD4uCjEgRXJyb3IocykgZGV0ZWN0ZWQuCmNv bmZpZ3VyZToxNDM4MzogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8q IGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAibGlic3NoMiIKfCAjZGVmaW5l IFBBQ0tBR0VfVEFSTkFNRSAibGlic3NoMiIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiLSIK fCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJsaWJzc2gyIC0iCnwgI2RlZmluZSBQQUNLQUdFX0JV R1JFUE9SVCAibGlic3NoMi1kZXZlbEBjb29sLmhheHguc2UiCnwgI2RlZmluZSBQQUNLQUdFX1VS TCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAibGlic3NoMiIKfCAjZGVmaW5lIFZFUlNJT04gIjEuMi42 Igp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5l IEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBI QVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfTE9OR0xPTkcgMQp8ICNkZWZpbmUgTkVFRF9S RUVOVFJBTlQgMQp8ICNpZm5kZWYgX1JFRU5UUkFOVAp8ICMgIGRlZmluZSBfUkVFTlRSQU5UCnwg I2VuZGlmCnwgI2RlZmluZSBIQVZFX0RMRkNOX0ggMQp8ICNkZWZpbmUgTFRfT0JKRElSICIubGli cy8iCnwgI2RlZmluZSBXT1JEU19CSUdFTkRJQU4gMQp8ICNkZWZpbmUgX0ZJTEVfT0ZGU0VUX0JJ VFMgNjQKfCAjZGVmaW5lIEhBVkVfTElCU1NMIDEKfCAjZGVmaW5lIEhBVkVfTElCWiAxCnwgI2Rl ZmluZSBMSUJTU0gyX0hBVkVfWkxJQiAxCnwgI2RlZmluZSBMSUJTU0gyX0RIX0dFWF9ORVcgMQp8 ICNkZWZpbmUgSEFWRV9FUlJOT19IIDEKfCAjZGVmaW5lIEhBVkVfRkNOVExfSCAxCnwgI2RlZmlu ZSBIQVZFX1NURElPX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZF X1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VJT19IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX0lPQ1RMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVf QVJQQV9JTkVUX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRJTkVUX0lOX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfVU5fSCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDx3aW5zb2Nr Mi5oPgpjb25maWd1cmU6MTQzODM6IHJlc3VsdDogbm8KY29uZmlndXJlOjE0MzgzOiBjaGVja2lu ZyBmb3Igd2luc29jazIuaApjb25maWd1cmU6MTQzODM6IHJlc3VsdDogbm8KY29uZmlndXJlOjE0 MzgzOiBjaGVja2luZyB3czJ0Y3BpcC5oIHVzYWJpbGl0eQpjb25maWd1cmU6MTQzODM6IENDIC1j IC1nIC1JL2V4cG9ydC9ob21lL3VzZXJzL3NhbWJ1aWxkL3NzbC9pbmNsdWRlIGNvbmZ0ZXN0LmMg PiY1CiJjb25mdGVzdC5jIiwgbGluZSA3OTogRXJyb3I6IENvdWxkIG5vdCBvcGVuIGluY2x1ZGUg ZmlsZTx3czJ0Y3BpcC5oPi4KMSBFcnJvcihzKSBkZXRlY3RlZC4KY29uZmlndXJlOjE0MzgzOiAk PyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8 ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJsaWJzc2gyIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1F ICJsaWJzc2gyIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICItIgp8ICNkZWZpbmUgUEFDS0FH RV9TVFJJTkcgImxpYnNzaDIgLSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJsaWJzc2gy LWRldmVsQGNvb2wuaGF4eC5zZSIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQ QUNLQUdFICJsaWJzc2gyIgp8ICNkZWZpbmUgVkVSU0lPTiAiMS4yLjYiCnwgI2RlZmluZSBTVERD X0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklO R19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0gg MQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8 ICNkZWZpbmUgSEFWRV9MT05HTE9ORyAxCnwgI2RlZmluZSBORUVEX1JFRU5UUkFOVCAxCnwgI2lm bmRlZiBfUkVFTlRSQU5UCnwgIyAgZGVmaW5lIF9SRUVOVFJBTlQKfCAjZW5kaWYKfCAjZGVmaW5l IEhBVkVfRExGQ05fSCAxCnwgI2RlZmluZSBMVF9PQkpESVIgIi5saWJzLyIKfCAjZGVmaW5lIFdP UkRTX0JJR0VORElBTiAxCnwgI2RlZmluZSBfRklMRV9PRkZTRVRfQklUUyA2NAp8ICNkZWZpbmUg SEFWRV9MSUJTU0wgMQp8ICNkZWZpbmUgSEFWRV9MSUJaIDEKfCAjZGVmaW5lIExJQlNTSDJfSEFW RV9aTElCIDEKfCAjZGVmaW5lIExJQlNTSDJfREhfR0VYX05FVyAxCnwgI2RlZmluZSBIQVZFX0VS Uk5PX0ggMQp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU9fSCAx CnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfVUlPX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfSU9DVExfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9BUlBBX0lORVRfSCAxCnwg I2RlZmluZSBIQVZFX05FVElORVRfSU5fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAv KiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN0ZGlvLmg+CnwgI2lmZGVmIEhBVkVf U1lTX1RZUEVTX0gKfCAjIGluY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBI QVZFX1NZU19TVEFUX0gKfCAjIGluY2x1ZGUgPHN5cy9zdGF0Lmg+CnwgI2VuZGlmCnwgI2lmZGVm IFNURENfSEVBREVSUwp8ICMgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBpbmNsdWRlIDxzdGRkZWYu aD4KfCAjZWxzZQp8ICMgaWZkZWYgSEFWRV9TVERMSUJfSAp8ICMgIGluY2x1ZGUgPHN0ZGxpYi5o Pgp8ICMgZW5kaWYKfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdfSAp8ICMgaWYgIWRlZmlu ZWQgU1REQ19IRUFERVJTICYmIGRlZmluZWQgSEFWRV9NRU1PUllfSAp8ICMgIGluY2x1ZGUgPG1l bW9yeS5oPgp8ICMgZW5kaWYKfCAjIGluY2x1ZGUgPHN0cmluZy5oPgp8ICNlbmRpZgp8ICNpZmRl ZiBIQVZFX1NUUklOR1NfSAp8ICMgaW5jbHVkZSA8c3RyaW5ncy5oPgp8ICNlbmRpZgp8ICNpZmRl ZiBIQVZFX0lOVFRZUEVTX0gKfCAjIGluY2x1ZGUgPGludHR5cGVzLmg+CnwgI2VuZGlmCnwgI2lm ZGVmIEhBVkVfU1RESU5UX0gKfCAjIGluY2x1ZGUgPHN0ZGludC5oPgp8ICNlbmRpZgp8ICNpZmRl ZiBIQVZFX1VOSVNURF9ICnwgIyBpbmNsdWRlIDx1bmlzdGQuaD4KfCAjZW5kaWYKfCAjaW5jbHVk ZSA8d3MydGNwaXAuaD4KY29uZmlndXJlOjE0MzgzOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxNDM4 MzogY2hlY2tpbmcgd3MydGNwaXAuaCBwcmVzZW5jZQpjb25maWd1cmU6MTQzODM6IENDIC1FIC1J L2V4cG9ydC9ob21lL3VzZXJzL3NhbWJ1aWxkL3NzbC9pbmNsdWRlIGNvbmZ0ZXN0LmMKImNvbmZ0 ZXN0LmMiLCBsaW5lIDQ2OiBFcnJvcjogQ291bGQgbm90IG9wZW4gaW5jbHVkZSBmaWxlPHdzMnRj cGlwLmg+LgoxIEVycm9yKHMpIGRldGVjdGVkLgpjb25maWd1cmU6MTQzODM6ICQ/ID0gMQpjb25m aWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQ QUNLQUdFX05BTUUgImxpYnNzaDIiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImxpYnNzaDIi CnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIi0iCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAi bGlic3NoMiAtIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImxpYnNzaDItZGV2ZWxAY29v bC5oYXh4LnNlIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImxp YnNzaDIiCnwgI2RlZmluZSBWRVJTSU9OICIxLjIuNiIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAx CnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAx CnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNk ZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmlu ZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBI QVZFX0xPTkdMT05HIDEKfCAjZGVmaW5lIE5FRURfUkVFTlRSQU5UIDEKfCAjaWZuZGVmIF9SRUVO VFJBTlQKfCAjICBkZWZpbmUgX1JFRU5UUkFOVAp8ICNlbmRpZgp8ICNkZWZpbmUgSEFWRV9ETEZD Tl9IIDEKfCAjZGVmaW5lIExUX09CSkRJUiAiLmxpYnMvIgp8ICNkZWZpbmUgV09SRFNfQklHRU5E SUFOIDEKfCAjZGVmaW5lIF9GSUxFX09GRlNFVF9CSVRTIDY0CnwgI2RlZmluZSBIQVZFX0xJQlNT TCAxCnwgI2RlZmluZSBIQVZFX0xJQlogMQp8ICNkZWZpbmUgTElCU1NIMl9IQVZFX1pMSUIgMQp8 ICNkZWZpbmUgTElCU1NIMl9ESF9HRVhfTkVXIDEKfCAjZGVmaW5lIEhBVkVfRVJSTk9fSCAxCnwg I2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJT19IIDEKfCAjZGVmaW5l IEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19VSU9fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19JT0NUTF9IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX0FSUEFfSU5FVF9IIDEKfCAjZGVmaW5lIEhB VkVfTkVUSU5FVF9JTl9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8IC8qIGVuZCBjb25m ZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8d3MydGNwaXAuaD4KY29uZmlndXJlOjE0MzgzOiByZXN1 bHQ6IG5vCmNvbmZpZ3VyZToxNDM4MzogY2hlY2tpbmcgZm9yIHdzMnRjcGlwLmgKY29uZmlndXJl OjE0MzgzOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxNDQwNTogY2hlY2tpbmcgZm9yIHBvbGwKY29u ZmlndXJlOjE0NDA1OiBDQyAtbyBjb25mdGVzdCAtZyAtSS9leHBvcnQvaG9tZS91c2Vycy9zYW1i dWlsZC9zc2wvaW5jbHVkZSAtbGRsIGNvbmZ0ZXN0LmMgLWxuc2wgLWxzb2NrZXQgID4mNQpjb25m aWd1cmU6MTQ0MDU6ICQ/ID0gMApjb25maWd1cmU6MTQ0MDU6IHJlc3VsdDogeWVzCmNvbmZpZ3Vy ZToxNDQyMDogY2hlY2tpbmcgZm9yIGdldHRpbWVvZmRheQpjb25maWd1cmU6MTQ0MjA6IENDIC1v IGNvbmZ0ZXN0IC1nIC1JL2V4cG9ydC9ob21lL3VzZXJzL3NhbWJ1aWxkL3NzbC9pbmNsdWRlIC1s ZGwgY29uZnRlc3QuYyAtbG5zbCAtbHNvY2tldCAgPiY1CmNvbmZpZ3VyZToxNDQyMDogJD8gPSAw CmNvbmZpZ3VyZToxNDQyMDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE0NDIwOiBjaGVja2luZyBm b3Igc2VsZWN0CmNvbmZpZ3VyZToxNDQyMDogQ0MgLW8gY29uZnRlc3QgLWcgLUkvZXhwb3J0L2hv bWUvdXNlcnMvc2FtYnVpbGQvc3NsL2luY2x1ZGUgLWxkbCBjb25mdGVzdC5jIC1sbnNsIC1sc29j a2V0ICA+JjUKY29uZmlndXJlOjE0NDIwOiAkPyA9IDAKY29uZmlndXJlOjE0NDIwOiByZXN1bHQ6 IHllcwpjb25maWd1cmU6MTQ0MjA6IGNoZWNraW5nIGZvciBzdHJ0b2xsCmNvbmZpZ3VyZToxNDQy MDogQ0MgLW8gY29uZnRlc3QgLWcgLUkvZXhwb3J0L2hvbWUvdXNlcnMvc2FtYnVpbGQvc3NsL2lu Y2x1ZGUgLWxkbCBjb25mdGVzdC5jIC1sbnNsIC1sc29ja2V0ICA+JjUKY29uZmlndXJlOjE0NDIw OiAkPyA9IDAKY29uZmlndXJlOjE0NDIwOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTQ0Nzc6IGNo ZWNraW5nIGZvciB3b3JraW5nIGFsbG9jYS5oCmNvbmZpZ3VyZToxNDQ5NDogQ0MgLW8gY29uZnRl c3QgLWcgLUkvZXhwb3J0L2hvbWUvdXNlcnMvc2FtYnVpbGQvc3NsL2luY2x1ZGUgLWxkbCBjb25m dGVzdC5jIC1sbnNsIC1sc29ja2V0ICA+JjUKY29uZmlndXJlOjE0NDk0OiAkPyA9IDAKY29uZmln dXJlOjE0NTAyOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTQ1MTA6IGNoZWNraW5nIGZvciBhbGxv Y2EKY29uZmlndXJlOjE0NTQ3OiBDQyAtbyBjb25mdGVzdCAtZyAtSS9leHBvcnQvaG9tZS91c2Vy cy9zYW1idWlsZC9zc2wvaW5jbHVkZSAtbGRsIGNvbmZ0ZXN0LmMgLWxuc2wgLWxzb2NrZXQgID4m NQpjb25maWd1cmU6MTQ1NDc6ICQ/ID0gMApjb25maWd1cmU6MTQ1NTU6IHJlc3VsdDogeWVzCmNv bmZpZ3VyZToxNDY2NzogY2hlY2tpbmcgZm9yIGFuIEFOU0kgQy1jb25mb3JtaW5nIGNvbnN0CmNv bmZpZ3VyZToxNDczMjogQ0MgLWMgLWcgLUkvZXhwb3J0L2hvbWUvdXNlcnMvc2FtYnVpbGQvc3Ns L2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjE0NzMyOiAkPyA9IDAKY29uZmlndXJl OjE0NzM5OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTQ3NDc6IGNoZWNraW5nIGZvciBpbmxpbmUK Y29uZmlndXJlOjE0NzYzOiBDQyAtYyAtZyAtSS9leHBvcnQvaG9tZS91c2Vycy9zYW1idWlsZC9z c2wvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MTQ3NjM6ICQ/ID0gMApjb25maWd1 cmU6MTQ3NzE6IHJlc3VsdDogaW5saW5lCmNvbmZpZ3VyZToxNDc5MTogY2hlY2tpbmcgbm9uLWJs b2NraW5nIHNvY2tldHMgc3R5bGUKY29uZmlndXJlOjE0ODI5OiBDQyAtYyAtZyAtSS9leHBvcnQv aG9tZS91c2Vycy9zYW1idWlsZC9zc2wvaW5jbHVkZSBjb25mdGVzdC5jID4mNQoiY29uZnRlc3Qu YyIsIGxpbmUgNzk6IFdhcm5pbmc6IFRoZSB2YXJpYWJsZSBzb2NrZXQgaGFzIG5vdCB5ZXQgYmVl biBhc3NpZ25lZCBhIHZhbHVlLgoxIFdhcm5pbmcocykgZGV0ZWN0ZWQuCmNvbmZpZ3VyZToxNDgy OTogJD8gPSAwCmNvbmZpZ3VyZToxNDk5MDogcmVzdWx0OiBPX05PTkJMT0NLCmNvbmZpZ3VyZTox NTEyODogY3JlYXRpbmcgLi9jb25maWcuc3RhdHVzCgojIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t ICMjCiMjIFJ1bm5pbmcgY29uZmlnLnN0YXR1cy4gIyMKIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0t LSAjIwoKVGhpcyBmaWxlIHdhcyBleHRlbmRlZCBieSBsaWJzc2gyIGNvbmZpZy5zdGF0dXMgLSwg d2hpY2ggd2FzCmdlbmVyYXRlZCBieSBHTlUgQXV0b2NvbmYgMi42NS4gIEludm9jYXRpb24gY29t bWFuZCBsaW5lIHdhcwoKICBDT05GSUdfRklMRVMgICAgPSAKICBDT05GSUdfSEVBREVSUyAgPSAK ICBDT05GSUdfTElOS1MgICAgPSAKICBDT05GSUdfQ09NTUFORFMgPSAKICAkIC4vY29uZmlnLnN0 YXR1cyAKCm9uIHFhZ2VuaW9zb2w5Cgpjb25maWcuc3RhdHVzOjExMTQ6IGNyZWF0aW5nIE1ha2Vm aWxlCmNvbmZpZy5zdGF0dXM6MTExNDogY3JlYXRpbmcgc3JjL01ha2VmaWxlCmNvbmZpZy5zdGF0 dXM6MTExNDogY3JlYXRpbmcgdGVzdHMvTWFrZWZpbGUKY29uZmlnLnN0YXR1czoxMTE0OiBjcmVh dGluZyBleGFtcGxlL01ha2VmaWxlCmNvbmZpZy5zdGF0dXM6MTExNDogY3JlYXRpbmcgZG9jcy9N YWtlZmlsZQpjb25maWcuc3RhdHVzOjExMTQ6IGNyZWF0aW5nIGxpYnNzaDIucGMKY29uZmlnLnN0 YXR1czoxMTE0OiBjcmVhdGluZyBzcmMvbGlic3NoMl9jb25maWcuaApjb25maWcuc3RhdHVzOjEx MTQ6IGNyZWF0aW5nIGV4YW1wbGUvbGlic3NoMl9jb25maWcuaApjb25maWcuc3RhdHVzOjEzMjc6 IGV4ZWN1dGluZyBkZXBmaWxlcyBjb21tYW5kcwpjb25maWcuc3RhdHVzOjEzMjc6IGV4ZWN1dGlu ZyBsaWJ0b29sIGNvbW1hbmRzCmNvbmZpZ3VyZToxNzI2NDogc3VtbWFyeSBvZiBidWlsZCBvcHRp b25zOgoKICB2ZXJzaW9uOiAgICAgICAgICAxLjIuNgogIEhvc3QgdHlwZTogICAgICAgIHNwYXJj LXN1bi1zb2xhcmlzMi45CiAgSW5zdGFsbCBwcmVmaXg6ICAgL2V4cG9ydC9ob21lL3NhbWJ1aWxk L0NVUkxfU1NIMi9zc2gyCiAgQ29tcGlsZXI6ICAgICAgICAgQ0MKICBDb21waWxlciBmbGFnczog ICAtZwogIExpYnJhcnkgdHlwZXM6ICAgIFNoYXJlZD15ZXMsIFN0YXRpYz15ZXMKICBDcnlwdG8g bGlicmFyeTogICBvcGVuc3NsOiB5ZXMgKEFFUy1DVFI6IG5vKSBsaWJnY3J5cHQ6IG5vCiAgRGVi dWcgYnVpbGQ6ICAgICAgbm8KICBQYXRoIHRvIHNzaGQ6ICAgICAgKG9ubHkgZm9yIHNlbGYtdGVz dHMpCiAgbGlieiBjb21wcmVzc2lvbjogeWVzCgoKIyMgLS0tLS0tLS0tLS0tLS0tLSAjIwojIyBD YWNoZSB2YXJpYWJsZXMuICMjCiMjIC0tLS0tLS0tLS0tLS0tLS0gIyMKCmFjX2N2X2J1aWxkPXNw YXJjLXN1bi1zb2xhcmlzMi45CmFjX2N2X2NfYmlnZW5kaWFuPXllcwphY19jdl9jX2NvbXBpbGVy X2dudT1ubwphY19jdl9jX2NvbnN0PXllcwphY19jdl9jX2lubGluZT1pbmxpbmUKYWNfY3ZfZW52 X0NDX3NldD1zZXQKYWNfY3ZfZW52X0NDX3ZhbHVlPUNDCmFjX2N2X2Vudl9DRkxBR1Nfc2V0PQph Y19jdl9lbnZfQ0ZMQUdTX3ZhbHVlPQphY19jdl9lbnZfQ1BQRkxBR1Nfc2V0PQphY19jdl9lbnZf Q1BQRkxBR1NfdmFsdWU9CmFjX2N2X2Vudl9DUFBfc2V0PQphY19jdl9lbnZfQ1BQX3ZhbHVlPQph Y19jdl9lbnZfTERGTEFHU19zZXQ9c2V0CmFjX2N2X2Vudl9MREZMQUdTX3ZhbHVlPS1sZGwKYWNf Y3ZfZW52X0xJQlNfc2V0PQphY19jdl9lbnZfTElCU192YWx1ZT0KYWNfY3ZfZW52X2J1aWxkX2Fs aWFzX3NldD0KYWNfY3ZfZW52X2J1aWxkX2FsaWFzX3ZhbHVlPQphY19jdl9lbnZfaG9zdF9hbGlh c19zZXQ9CmFjX2N2X2Vudl9ob3N0X2FsaWFzX3ZhbHVlPQphY19jdl9lbnZfdGFyZ2V0X2FsaWFz X3NldD0KYWNfY3ZfZW52X3RhcmdldF9hbGlhc192YWx1ZT0KYWNfY3ZfZnVuY19FVlBfYWVzXzEy OF9jdHI9bm8KYWNfY3ZfZnVuY19hbGxvY2Ffd29ya3M9eWVzCmFjX2N2X2Z1bmNfZ2V0dGltZW9m ZGF5PXllcwphY19jdl9mdW5jX3BvbGw9eWVzCmFjX2N2X2Z1bmNfc2VsZWN0PXllcwphY19jdl9m dW5jX3N0cnRvbGw9eWVzCmFjX2N2X2hlYWRlcl9hcnBhX2luZXRfaD15ZXMKYWNfY3ZfaGVhZGVy X2RsZmNuX2g9eWVzCmFjX2N2X2hlYWRlcl9lcnJub19oPXllcwphY19jdl9oZWFkZXJfZmNudGxf aD15ZXMKYWNfY3ZfaGVhZGVyX2ludHR5cGVzX2g9eWVzCmFjX2N2X2hlYWRlcl9tZW1vcnlfaD15 ZXMKYWNfY3ZfaGVhZGVyX25ldGluZXRfaW5faD15ZXMKYWNfY3ZfaGVhZGVyX3N0ZGM9eWVzCmFj X2N2X2hlYWRlcl9zdGRpbnRfaD1ubwphY19jdl9oZWFkZXJfc3RkaW9faD15ZXMKYWNfY3ZfaGVh ZGVyX3N0ZGxpYl9oPXllcwphY19jdl9oZWFkZXJfc3RyaW5nX2g9eWVzCmFjX2N2X2hlYWRlcl9z dHJpbmdzX2g9eWVzCmFjX2N2X2hlYWRlcl9zeXNfaW9jdGxfaD15ZXMKYWNfY3ZfaGVhZGVyX3N5 c19zZWxlY3RfaD15ZXMKYWNfY3ZfaGVhZGVyX3N5c19zb2NrZXRfaD15ZXMKYWNfY3ZfaGVhZGVy X3N5c19zdGF0X2g9eWVzCmFjX2N2X2hlYWRlcl9zeXNfdGltZV9oPXllcwphY19jdl9oZWFkZXJf c3lzX3R5cGVzX2g9eWVzCmFjX2N2X2hlYWRlcl9zeXNfdWlvX2g9eWVzCmFjX2N2X2hlYWRlcl9z eXNfdW5faD15ZXMKYWNfY3ZfaGVhZGVyX3VuaXN0ZF9oPXllcwphY19jdl9oZWFkZXJfd2luZG93 c19oPW5vCmFjX2N2X2hlYWRlcl93aW5zb2NrMl9oPW5vCmFjX2N2X2hlYWRlcl93czJ0Y3BpcF9o PW5vCmFjX2N2X2hvc3Q9c3BhcmMtc3VuLXNvbGFyaXMyLjkKYWNfY3ZfbGlic3NsPXllcwphY19j dl9saWJ6PXllcwphY19jdl9vYmpleHQ9bwphY19jdl9wYXRoX0VHUkVQPSQnL3Vzci94cGc0L2Jp bi9ncmVwIC1FJwphY19jdl9wYXRoX0ZHUkVQPSQnL3Vzci94cGc0L2Jpbi9ncmVwIC1GJwphY19j dl9wYXRoX0dSRVA9L3Vzci94cGc0L2Jpbi9ncmVwCmFjX2N2X3BhdGhfU0VEPS91c3IvYmluL3Nl ZAphY19jdl9wcm9nX0FXSz1uYXdrCmFjX2N2X3Byb2dfQ1BQPSQnQ0MgLUUnCmFjX2N2X3Byb2df YWNfY3RfQ0M9Q0MKYWNfY3ZfcHJvZ19hY19jdF9PQkpEVU1QPW9iamR1bXAKYWNfY3ZfcHJvZ19j Y19jODk9bm8KYWNfY3ZfcHJvZ19jY19nPXllcwphY19jdl9wcm9nX21ha2VfbWFrZV9zZXQ9eWVz CmFjX2N2X3NlYXJjaF9pbmV0X2FkZHI9LWxuc2wKYWNfY3Zfc2VhcmNoX3NvY2tldD0tbHNvY2tl dAphY19jdl9zeXNfZmlsZV9vZmZzZXRfYml0cz02NAphY19jdl9zeXNfbGFyZ2VmaWxlX0NDPW5v CmFjX2N2X3R5cGVfbG9uZ19sb25nPXllcwphY19jdl93b3JraW5nX2FsbG9jYV9oPXllcwphY2xf Y3ZfaGFyZGNvZGVfZGlyZWN0PW5vCmFjbF9jdl9oYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjPSQn LVIkbGliZGlyJwphY2xfY3ZfaGFyZGNvZGVfbGliZGlyX3NlcGFyYXRvcj0KYWNsX2N2X2hhcmRj b2RlX21pbnVzX0w9bm8KYWNsX2N2X2xpYmV4dD1hCmFjbF9jdl9saWJuYW1lX3NwZWM9JCdsaWIk bmFtZScKYWNsX2N2X2xpYnJhcnlfbmFtZXNfc3BlYz0kJyRsaWJuYW1lJHNocmV4dCcKYWNsX2N2 X3BhdGhfTEQ9L3Vzci91Y2IvbGQKYWNsX2N2X3Byb2dfZ251X2xkPW5vCmFjbF9jdl9ycGF0aD1k b25lCmFjbF9jdl9zaGxpYmV4dD1zbwphY2xfY3Zfd2w9LVdsLAphbV9jdl9DQ19kZXBlbmRlbmNp ZXNfY29tcGlsZXJfdHlwZT1ub25lCmx0X2N2X2RlcGxpYnNfY2hlY2tfbWV0aG9kPXBhc3NfYWxs Cmx0X2N2X2ZpbGVfbWFnaWNfY21kPSQnJE1BR0lDX0NNRCcKbHRfY3ZfZmlsZV9tYWdpY190ZXN0 X2ZpbGU9Cmx0X2N2X2xkX3JlbG9hZF9mbGFnPS1yCmx0X2N2X25tX2ludGVyZmFjZT0kJ0JTRCBu bScKbHRfY3Zfb2JqZGlyPS5saWJzCmx0X2N2X3BhdGhfTEQ9L3Vzci91Y2IvbGQKbHRfY3ZfcGF0 aF9OTT0kJy91c3IvY2NzL2Jpbi9ubSAtcCcKbHRfY3ZfcHJvZ19jb21waWxlcl9jX289eWVzCmx0 X2N2X3Byb2dfY29tcGlsZXJfcGljX3dvcmtzPXllcwpsdF9jdl9wcm9nX2NvbXBpbGVyX3N0YXRp Y193b3Jrcz15ZXMKbHRfY3ZfcHJvZ19nbnVfbGQ9bm8KbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xf cGlwZT0kJ3NlZCAtbiAtZSBcJ3MvXi4qW1x0IF1cXChbQkRSVF1bQkRSVF0qXFwpW1x0IF1bXHQg XSpcXChbX0EtWmEtel1bX0EtWmEtejAtOV0qXFwpJC9cXDEgXFwyIFxcMi9wXCcnCmx0X2N2X3N5 c19nbG9iYWxfc3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzPSQnc2VkIC1uIC1lIFwncy9eOiBcXChb XiBdKlxcKSAkLyAge1xcIlxcMVxcIiwgKHZvaWQgKikgMH0sL3BcJyAtZSBcJ3MvXltCRFJUXSog XFwoW14gXSpcXCkgXFwoW14gXSpcXCkkLyAgeyJcXDIiLCAodm9pZCAqKSBcXCZcXDJ9LC9wXCcn Cmx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzX2xpYl9wcmVmaXg9JCdz ZWQgLW4gLWUgXCdzL146IFxcKFteIF0qXFwpICQvICB7XFwiXFwxXFwiLCAodm9pZCAqKSAwfSwv cFwnIC1lIFwncy9eW0JEUlRdKiBcXChbXiBdKlxcKSBcXChsaWJbXiBdKlxcKSQvICB7IlxcMiIs ICh2b2lkICopIFxcJlxcMn0sL3BcJyAtZSBcJ3MvXltCRFJUXSogXFwoW14gXSpcXCkgXFwoW14g XSpcXCkkLyAgeyJsaWJcXDIiLCAodm9pZCAqKSBcXCZcXDJ9LC9wXCcnCmx0X2N2X3N5c19nbG9i YWxfc3ltYm9sX3RvX2NkZWNsPSQnc2VkIC1uIC1lIFwncy9eVCAuKiBcXCguKlxcKSQvZXh0ZXJu IGludCBcXDEoKTsvcFwnIC1lIFwncy9eW0JEUlRdKiAuKiBcXCguKlxcKSQvZXh0ZXJuIGNoYXIg XFwxOy9wXCcnCmx0X2N2X3N5c19tYXhfY21kX2xlbj03ODYyNDAKCiMjIC0tLS0tLS0tLS0tLS0t LS0tICMjCiMjIE91dHB1dCB2YXJpYWJsZXMuICMjCiMjIC0tLS0tLS0tLS0tLS0tLS0tICMjCgpB Q0xPQ0FMPScke1NIRUxMfSAvZXhwb3J0L2hvbWUvdXNlcnMvc2FtYnVpbGQvbGlic3NoMi0xLjIu Ni9taXNzaW5nIC0tcnVuIGFjbG9jYWwtMS45JwpBTExPQ0E9JycKQU1ERVBCQUNLU0xBU0g9J1wn CkFNREVQX0ZBTFNFPScjJwpBTURFUF9UUlVFPScnCkFNVEFSPScke1NIRUxMfSAvZXhwb3J0L2hv bWUvdXNlcnMvc2FtYnVpbGQvbGlic3NoMi0xLjIuNi9taXNzaW5nIC0tcnVuIHRhcicKQVI9J2Zh bHNlJwpBUz0nYXMnCkFVVE9DT05GPScke1NIRUxMfSAvZXhwb3J0L2hvbWUvdXNlcnMvc2FtYnVp bGQvbGlic3NoMi0xLjIuNi9taXNzaW5nIC0tcnVuIGF1dG9jb25mJwpBVVRPSEVBREVSPScke1NI RUxMfSAvZXhwb3J0L2hvbWUvdXNlcnMvc2FtYnVpbGQvbGlic3NoMi0xLjIuNi9taXNzaW5nIC0t cnVuIGF1dG9oZWFkZXInCkFVVE9NQUtFPScke1NIRUxMfSAvZXhwb3J0L2hvbWUvdXNlcnMvc2Ft YnVpbGQvbGlic3NoMi0xLjIuNi9taXNzaW5nIC0tcnVuIGF1dG9tYWtlLTEuOScKQVdLPSduYXdr JwpDQz0nQ0MnCkNDREVQTU9ERT0nZGVwbW9kZT1ub25lJwpDRkxBR1M9Jy1nJwpDUFA9J0NDIC1F JwpDUFBGTEFHUz0nLUkvZXhwb3J0L2hvbWUvdXNlcnMvc2FtYnVpbGQvc3NsL2luY2x1ZGUnCkNZ R1BBVEhfVz0nZWNobycKREVGUz0nLURIQVZFX0NPTkZJR19IJwpERVBESVI9Jy5kZXBzJwpETExU T09MPSdkbGx0b29sJwpEU1lNVVRJTD0nJwpEVU1QQklOPScnCkVDSE9fQz0nJwpFQ0hPX049Jy1u JwpFQ0hPX1Q9JycKRUdSRVA9Jy91c3IveHBnNC9iaW4vZ3JlcCAtRScKRVhFRVhUPScnCkZHUkVQ PScvdXNyL3hwZzQvYmluL2dyZXAgLUYnCkdSRVA9Jy91c3IveHBnNC9iaW4vZ3JlcCcKSEFWRV9M SUJHQ1JZUFQ9JycKSEFWRV9MSUJTU0w9J3llcycKSEFWRV9MSUJaPSd5ZXMnCklOU1RBTExfREFU QT0nJHtJTlNUQUxMfSAtbSA2NDQnCklOU1RBTExfUFJPR1JBTT0nJHtJTlNUQUxMfScKSU5TVEFM TF9TQ1JJUFQ9JyR7SU5TVEFMTH0nCklOU1RBTExfU1RSSVBfUFJPR1JBTT0nJHtTSEVMTH0gJChp bnN0YWxsX3NoKSAtYyAtcycKTEQ9Jy91c3IvdWNiL2xkJwpMREZMQUdTPSctbGRsJwpMSUJHQ1JZ UFQ9JycKTElCR0NSWVBUX0ZBTFNFPScnCkxJQkdDUllQVF9QUkVGSVg9JycKTElCR0NSWVBUX1RS VUU9JyMnCkxJQk9CSlM9JycKTElCUz0nLWxuc2wgLWxzb2NrZXQgJwpMSUJTU0w9Jy9leHBvcnQv aG9tZS91c2Vycy9zYW1idWlsZC9zc2wvbGliL2xpYnNzbC5hIC9leHBvcnQvaG9tZS91c2Vycy9z YW1idWlsZC9zc2wvbGliL2xpYmNyeXB0by5hJwpMSUJTU0xfUFJFRklYPScvZXhwb3J0L2hvbWUv dXNlcnMvc2FtYnVpbGQvc3NsJwpMSUJUT09MPSckKFNIRUxMKSAkKHRvcF9idWlsZGRpcikvbGli dG9vbCcKTElCWj0nLWx6JwpMSUJaX1BSRUZJWD0nJwpMSVBPPScnCkxOX1M9J2xuIC1zJwpMVExJ QkdDUllQVD0nJwpMVExJQk9CSlM9JycKTFRMSUJTU0w9Jy1ML2V4cG9ydC9ob21lL3VzZXJzL3Nh bWJ1aWxkL3NzbC9saWIgLWxzc2wgLUwvZXhwb3J0L2hvbWUvdXNlcnMvc2FtYnVpbGQvc3NsL2xp YiAtbGNyeXB0bycKTFRMSUJaPSctbHonCk1BSU5UPScjJwpNQUlOVEFJTkVSX01PREVfRkFMU0U9 JycKTUFJTlRBSU5FUl9NT0RFX1RSVUU9JyMnCk1BS0VJTkZPPScke1NIRUxMfSAvZXhwb3J0L2hv bWUvdXNlcnMvc2FtYnVpbGQvbGlic3NoMi0xLjIuNi9taXNzaW5nIC0tcnVuIG1ha2VpbmZvJwpO TT0nL3Vzci9jY3MvYmluL25tIC1wJwpOTUVESVQ9JycKT0JKRFVNUD0nb2JqZHVtcCcKT0JKRVhU PSdvJwpPVE9PTDY0PScnCk9UT09MPScnClBBQ0tBR0U9J2xpYnNzaDInClBBQ0tBR0VfQlVHUkVQ T1JUPSdsaWJzc2gyLWRldmVsQGNvb2wuaGF4eC5zZScKUEFDS0FHRV9OQU1FPSdsaWJzc2gyJwpQ QUNLQUdFX1NUUklORz0nbGlic3NoMiAtJwpQQUNLQUdFX1RBUk5BTUU9J2xpYnNzaDInClBBQ0tB R0VfVVJMPScnClBBQ0tBR0VfVkVSU0lPTj0nLScKUEFUSF9TRVBBUkFUT1I9JzonClJBTkxJQj0n OicKU0VEPScvdXNyL2Jpbi9zZWQnClNFVF9NQUtFPScnClNIRUxMPScvYmluL2Jhc2gnClNTSEQ9 JycKU1NIRF9GQUxTRT0nJwpTU0hEX1RSVUU9JyMnClNUUklQPSc6JwpWRVJTSU9OPScxLjIuNicK YWNfY3RfQ0M9J0NDJwphY19jdF9EVU1QQklOPScnCmFtX19mYXN0ZGVwQ0NfRkFMU0U9JycKYW1f X2Zhc3RkZXBDQ19UUlVFPScjJwphbV9faW5jbHVkZT0naW5jbHVkZScKYW1fX2xlYWRpbmdfZG90 PScuJwphbV9fcXVvdGU9JycKYW1fX3Rhcj0nJHtBTVRBUn0gY2hvZiAtICIkJHRhcmRpciInCmFt X191bnRhcj0nJHtBTVRBUn0geGYgLScKYmluZGlyPScke2V4ZWNfcHJlZml4fS9iaW4nCmJ1aWxk PSdzcGFyYy1zdW4tc29sYXJpczIuOScKYnVpbGRfYWxpYXM9JycKYnVpbGRfY3B1PSdzcGFyYycK YnVpbGRfb3M9J3NvbGFyaXMyLjknCmJ1aWxkX3ZlbmRvcj0nc3VuJwpkYXRhZGlyPScke2RhdGFy b290ZGlyfScKZGF0YXJvb3RkaXI9JyR7cHJlZml4fS9zaGFyZScKZG9jZGlyPScke2RhdGFyb290 ZGlyfS9kb2MvJHtQQUNLQUdFX1RBUk5BTUV9JwpkdmlkaXI9JyR7ZG9jZGlyfScKZXhlY19wcmVm aXg9JyR7cHJlZml4fScKaG9zdD0nc3BhcmMtc3VuLXNvbGFyaXMyLjknCmhvc3RfYWxpYXM9JycK aG9zdF9jcHU9J3NwYXJjJwpob3N0X29zPSdzb2xhcmlzMi45Jwpob3N0X3ZlbmRvcj0nc3VuJwpo dG1sZGlyPScke2RvY2Rpcn0nCmluY2x1ZGVkaXI9JyR7cHJlZml4fS9pbmNsdWRlJwppbmZvZGly PScke2RhdGFyb290ZGlyfS9pbmZvJwppbnN0YWxsX3NoPScvZXhwb3J0L2hvbWUvdXNlcnMvc2Ft YnVpbGQvbGlic3NoMi0xLjIuNi9pbnN0YWxsLXNoJwpsaWJkaXI9JyR7ZXhlY19wcmVmaXh9L2xp YicKbGliZXhlY2Rpcj0nJHtleGVjX3ByZWZpeH0vbGliZXhlYycKbG9jYWxlZGlyPScke2RhdGFy b290ZGlyfS9sb2NhbGUnCmxvY2Fsc3RhdGVkaXI9JyR7cHJlZml4fS92YXInCmx0X0VDSE89J2Vj aG8nCm1hbmRpcj0nJHtkYXRhcm9vdGRpcn0vbWFuJwpta2Rpcl9wPSckKGluc3RhbGxfc2gpIC1k JwpvbGRpbmNsdWRlZGlyPScvdXNyL2luY2x1ZGUnCnBkZmRpcj0nJHtkb2NkaXJ9JwpwcmVmaXg9 Jy9leHBvcnQvaG9tZS9zYW1idWlsZC9DVVJMX1NTSDIvc3NoMicKcHJvZ3JhbV90cmFuc2Zvcm1f bmFtZT0ncyx4LHgsJwpwc2Rpcj0nJHtkb2NkaXJ9JwpzYmluZGlyPScke2V4ZWNfcHJlZml4fS9z YmluJwpzaGFyZWRzdGF0ZWRpcj0nJHtwcmVmaXh9L2NvbScKc3lzY29uZmRpcj0nJHtwcmVmaXh9 L2V0YycKdGFyZ2V0X2FsaWFzPScnCgojIyAtLS0tLS0tLS0tLSAjIwojIyBjb25mZGVmcy5oLiAj IwojIyAtLS0tLS0tLS0tLSAjIwoKLyogY29uZmRlZnMuaCAqLwojZGVmaW5lIFBBQ0tBR0VfTkFN RSAibGlic3NoMiIKI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImxpYnNzaDIiCiNkZWZpbmUgUEFD S0FHRV9WRVJTSU9OICItIgojZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJsaWJzc2gyIC0iCiNkZWZp bmUgUEFDS0FHRV9CVUdSRVBPUlQgImxpYnNzaDItZGV2ZWxAY29vbC5oYXh4LnNlIgojZGVmaW5l IFBBQ0tBR0VfVVJMICIiCiNkZWZpbmUgUEFDS0FHRSAibGlic3NoMiIKI2RlZmluZSBWRVJTSU9O ICIxLjIuNiIKI2RlZmluZSBTVERDX0hFQURFUlMgMQojZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0gg MQojZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCiNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCiNkZWZp bmUgSEFWRV9TVFJJTkdfSCAxCiNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCiNkZWZpbmUgSEFWRV9T VFJJTkdTX0ggMQojZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCiNkZWZpbmUgSEFWRV9VTklTVERf SCAxCiNkZWZpbmUgSEFWRV9MT05HTE9ORyAxCiNkZWZpbmUgTkVFRF9SRUVOVFJBTlQgMQojaWZu ZGVmIF9SRUVOVFJBTlQKIyAgZGVmaW5lIF9SRUVOVFJBTlQKI2VuZGlmCiNkZWZpbmUgSEFWRV9E TEZDTl9IIDEKI2RlZmluZSBMVF9PQkpESVIgIi5saWJzLyIKI2RlZmluZSBXT1JEU19CSUdFTkRJ QU4gMQojZGVmaW5lIF9GSUxFX09GRlNFVF9CSVRTIDY0CiNkZWZpbmUgSEFWRV9MSUJTU0wgMQoj ZGVmaW5lIEhBVkVfTElCWiAxCiNkZWZpbmUgTElCU1NIMl9IQVZFX1pMSUIgMQojZGVmaW5lIExJ QlNTSDJfREhfR0VYX05FVyAxCiNkZWZpbmUgSEFWRV9FUlJOT19IIDEKI2RlZmluZSBIQVZFX0ZD TlRMX0ggMQojZGVmaW5lIEhBVkVfU1RESU9fSCAxCiNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCiNk ZWZpbmUgSEFWRV9VTklTVERfSCAxCiNkZWZpbmUgSEFWRV9TWVNfVUlPX0ggMQojZGVmaW5lIEhB VkVfU1lTX1NFTEVDVF9IIDEKI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCiNkZWZpbmUgSEFW RV9TWVNfSU9DVExfSCAxCiNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKI2RlZmluZSBIQVZFX0FS UEFfSU5FVF9IIDEKI2RlZmluZSBIQVZFX05FVElORVRfSU5fSCAxCiNkZWZpbmUgSEFWRV9TWVNf VU5fSCAxCiNkZWZpbmUgSEFWRV9QT0xMIDEKI2RlZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAxCiNk ZWZpbmUgSEFWRV9TRUxFQ1QgMQojZGVmaW5lIEhBVkVfU1RSVE9MTCAxCiNkZWZpbmUgSEFWRV9B TExPQ0FfSCAxCiNkZWZpbmUgSEFWRV9BTExPQ0EgMQojZGVmaW5lIEhBVkVfT19OT05CTE9DSyAx Cgpjb25maWd1cmU6IGV4aXQgMAo= ------_=_NextPart_001_01CB2A93.035D7744 Content-Type: application/octet-stream; name="make.out" Content-Transfer-Encoding: base64 Content-Description: make.out Content-Disposition: attachment; filename="make.out" TWFraW5nIGNsZWFuIGluIGRvY3MKbWFrZVsxXTogRW50ZXJpbmcgZGlyZWN0b3J5IGAvZXhwb3J0 L2hvbWUvdXNlcnMvc2FtYnVpbGQvbGlic3NoMi0xLjIuNi9kb2NzJwpybSAtcmYgLmxpYnMgX2xp YnMKcm0gLWYgKi5sbwptYWtlWzFdOiBMZWF2aW5nIGRpcmVjdG9yeSBgL2V4cG9ydC9ob21lL3Vz ZXJzL3NhbWJ1aWxkL2xpYnNzaDItMS4yLjYvZG9jcycKTWFraW5nIGNsZWFuIGluIHRlc3RzCm1h a2VbMV06IEVudGVyaW5nIGRpcmVjdG9yeSBgL2V4cG9ydC9ob21lL3VzZXJzL3NhbWJ1aWxkL2xp YnNzaDItMS4yLjYvdGVzdHMnCiBybSAtZiBzaW1wbGUgc2ltcGxlCnJtIC1yZiAubGlicyBfbGli cwpybSAtZiAqLm8Kcm0gLWYgKi5sbwptYWtlWzFdOiBMZWF2aW5nIGRpcmVjdG9yeSBgL2V4cG9y dC9ob21lL3VzZXJzL3NhbWJ1aWxkL2xpYnNzaDItMS4yLjYvdGVzdHMnCk1ha2luZyBjbGVhbiBp biBleGFtcGxlCm1ha2VbMV06IEVudGVyaW5nIGRpcmVjdG9yeSBgL2V4cG9ydC9ob21lL3VzZXJz L3NhbWJ1aWxkL2xpYnNzaDItMS4yLjYvZXhhbXBsZScKcm0gLXJmIC5saWJzIF9saWJzCiBybSAt ZiBkaXJlY3RfdGNwaXAgZGlyZWN0X3RjcGlwCiBybSAtZiBzc2gyIHNzaDIKIHJtIC1mIHNjcCBz Y3AKIHJtIC1mIHNjcF9ub25ibG9jayBzY3Bfbm9uYmxvY2sKIHJtIC1mIHNjcF93cml0ZSBzY3Bf d3JpdGUKIHJtIC1mIHNjcF93cml0ZV9ub25ibG9jayBzY3Bfd3JpdGVfbm9uYmxvY2sKIHJtIC1m IHNmdHAgc2Z0cAogcm0gLWYgc2Z0cF9ub25ibG9jayBzZnRwX25vbmJsb2NrCiBybSAtZiBzZnRw X3dyaXRlIHNmdHBfd3JpdGUKIHJtIC1mIHNmdHBfd3JpdGVfbm9uYmxvY2sgc2Z0cF93cml0ZV9u b25ibG9jawogcm0gLWYgc2Z0cF9ta2RpciBzZnRwX21rZGlyCiBybSAtZiBzZnRwX21rZGlyX25v bmJsb2NrIHNmdHBfbWtkaXJfbm9uYmxvY2sKIHJtIC1mIHNmdHBfUldfbm9uYmxvY2sgc2Z0cF9S V19ub25ibG9jawogcm0gLWYgc2Z0cGRpciBzZnRwZGlyCiBybSAtZiBzZnRwZGlyX25vbmJsb2Nr IHNmdHBkaXJfbm9uYmxvY2sKIHJtIC1mIHNzaDJfZXhlYyBzc2gyX2V4ZWMKIHJtIC1mIHNzaDJf YWdlbnQgc3NoMl9hZ2VudApybSAtZiAqLm8Kcm0gLWYgKi5sbwptYWtlWzFdOiBMZWF2aW5nIGRp cmVjdG9yeSBgL2V4cG9ydC9ob21lL3VzZXJzL3NhbWJ1aWxkL2xpYnNzaDItMS4yLjYvZXhhbXBs ZScKTWFraW5nIGNsZWFuIGluIHNyYwptYWtlWzFdOiBFbnRlcmluZyBkaXJlY3RvcnkgYC9leHBv cnQvaG9tZS91c2Vycy9zYW1idWlsZC9saWJzc2gyLTEuMi42L3NyYycKdGVzdCAteiAibGlic3No Mi5sYSIgfHwgcm0gLWYgbGlic3NoMi5sYQpybSAtZiAiLi9zb19sb2NhdGlvbnMiCnJtIC1yZiAu bGlicyBfbGlicwpybSAtZiAqLm8Kcm0gLWYgKi5sbwptYWtlWzFdOiBMZWF2aW5nIGRpcmVjdG9y eSBgL2V4cG9ydC9ob21lL3VzZXJzL3NhbWJ1aWxkL2xpYnNzaDItMS4yLjYvc3JjJwpNYWtpbmcg Y2xlYW4gaW4gLgptYWtlWzFdOiBFbnRlcmluZyBkaXJlY3RvcnkgYC9leHBvcnQvaG9tZS91c2Vy cy9zYW1idWlsZC9saWJzc2gyLTEuMi42JwpybSAtcmYgLmxpYnMgX2xpYnMKcm0gLWYgKi5sbwpt YWtlWzFdOiBMZWF2aW5nIGRpcmVjdG9yeSBgL2V4cG9ydC9ob21lL3VzZXJzL3NhbWJ1aWxkL2xp YnNzaDItMS4yLjYnCk1ha2luZyBhbGwgaW4gc3JjCm1ha2VbMV06IEVudGVyaW5nIGRpcmVjdG9y eSBgL2V4cG9ydC9ob21lL3VzZXJzL3NhbWJ1aWxkL2xpYnNzaDItMS4yLjYvc3JjJwptYWtlICBh bGwtYW0KbWFrZVsyXTogRW50ZXJpbmcgZGlyZWN0b3J5IGAvZXhwb3J0L2hvbWUvdXNlcnMvc2Ft YnVpbGQvbGlic3NoMi0xLjIuNi9zcmMnCnNvdXJjZT0nY2hhbm5lbC5jJyBvYmplY3Q9J2NoYW5u ZWwubG8nIGxpYnRvb2w9eWVzIFwKREVQRElSPS5kZXBzIGRlcG1vZGU9bm9uZSAvYmluL2Jhc2gg Li4vZGVwY29tcCBcCi9iaW4vYmFzaCAuLi9saWJ0b29sIC0tdGFnPUNDIC0tbW9kZT1jb21waWxl IENDIC1ESEFWRV9DT05GSUdfSCAgIC1JLi4vaW5jbHVkZSAtSS4uL3NyYyAtSS9leHBvcnQvaG9t ZS91c2Vycy9zYW1idWlsZC9zc2wvaW5jbHVkZSAgLWcgLWMgLW8gY2hhbm5lbC5sbyBjaGFubmVs LmMKbGlidG9vbDogY29tcGlsZTogIENDIC1ESEFWRV9DT05GSUdfSCAtSS4uL2luY2x1ZGUgLUku Li9zcmMgLUkvZXhwb3J0L2hvbWUvdXNlcnMvc2FtYnVpbGQvc3NsL2luY2x1ZGUgLWcgLWMgY2hh bm5lbC5jICAtS1BJQyAtRFBJQyAtbyAubGlicy9jaGFubmVsLm8KbGlidG9vbDogY29tcGlsZTog IENDIC1ESEFWRV9DT05GSUdfSCAtSS4uL2luY2x1ZGUgLUkuLi9zcmMgLUkvZXhwb3J0L2hvbWUv dXNlcnMvc2FtYnVpbGQvc3NsL2luY2x1ZGUgLWcgLWMgY2hhbm5lbC5jIC1vIGNoYW5uZWwubyA+ L2Rldi9udWxsIDI+JjEKc291cmNlPSdjb21wLmMnIG9iamVjdD0nY29tcC5sbycgbGlidG9vbD15 ZXMgXApERVBESVI9LmRlcHMgZGVwbW9kZT1ub25lIC9iaW4vYmFzaCAuLi9kZXBjb21wIFwKL2Jp bi9iYXNoIC4uL2xpYnRvb2wgLS10YWc9Q0MgLS1tb2RlPWNvbXBpbGUgQ0MgLURIQVZFX0NPTkZJ R19IICAgLUkuLi9pbmNsdWRlIC1JLi4vc3JjIC1JL2V4cG9ydC9ob21lL3VzZXJzL3NhbWJ1aWxk L3NzbC9pbmNsdWRlICAtZyAtYyAtbyBjb21wLmxvIGNvbXAuYwpsaWJ0b29sOiBjb21waWxlOiAg Q0MgLURIQVZFX0NPTkZJR19IIC1JLi4vaW5jbHVkZSAtSS4uL3NyYyAtSS9leHBvcnQvaG9tZS91 c2Vycy9zYW1idWlsZC9zc2wvaW5jbHVkZSAtZyAtYyBjb21wLmMgIC1LUElDIC1EUElDIC1vIC5s aWJzL2NvbXAubwpsaWJ0b29sOiBjb21waWxlOiAgQ0MgLURIQVZFX0NPTkZJR19IIC1JLi4vaW5j bHVkZSAtSS4uL3NyYyAtSS9leHBvcnQvaG9tZS91c2Vycy9zYW1idWlsZC9zc2wvaW5jbHVkZSAt ZyAtYyBjb21wLmMgLW8gY29tcC5vID4vZGV2L251bGwgMj4mMQpzb3VyY2U9J2NyeXB0LmMnIG9i amVjdD0nY3J5cHQubG8nIGxpYnRvb2w9eWVzIFwKREVQRElSPS5kZXBzIGRlcG1vZGU9bm9uZSAv YmluL2Jhc2ggLi4vZGVwY29tcCBcCi9iaW4vYmFzaCAuLi9saWJ0b29sIC0tdGFnPUNDIC0tbW9k ZT1jb21waWxlIENDIC1ESEFWRV9DT05GSUdfSCAgIC1JLi4vaW5jbHVkZSAtSS4uL3NyYyAtSS9l eHBvcnQvaG9tZS91c2Vycy9zYW1idWlsZC9zc2wvaW5jbHVkZSAgLWcgLWMgLW8gY3J5cHQubG8g Y3J5cHQuYwpsaWJ0b29sOiBjb21waWxlOiAgQ0MgLURIQVZFX0NPTkZJR19IIC1JLi4vaW5jbHVk ZSAtSS4uL3NyYyAtSS9leHBvcnQvaG9tZS91c2Vycy9zYW1idWlsZC9zc2wvaW5jbHVkZSAtZyAt YyBjcnlwdC5jICAtS1BJQyAtRFBJQyAtbyAubGlicy9jcnlwdC5vCmxpYnRvb2w6IGNvbXBpbGU6 ICBDQyAtREhBVkVfQ09ORklHX0ggLUkuLi9pbmNsdWRlIC1JLi4vc3JjIC1JL2V4cG9ydC9ob21l L3VzZXJzL3NhbWJ1aWxkL3NzbC9pbmNsdWRlIC1nIC1jIGNyeXB0LmMgLW8gY3J5cHQubyA+L2Rl di9udWxsIDI+JjEKc291cmNlPSdob3N0a2V5LmMnIG9iamVjdD0naG9zdGtleS5sbycgbGlidG9v bD15ZXMgXApERVBESVI9LmRlcHMgZGVwbW9kZT1ub25lIC9iaW4vYmFzaCAuLi9kZXBjb21wIFwK L2Jpbi9iYXNoIC4uL2xpYnRvb2wgLS10YWc9Q0MgLS1tb2RlPWNvbXBpbGUgQ0MgLURIQVZFX0NP TkZJR19IICAgLUkuLi9pbmNsdWRlIC1JLi4vc3JjIC1JL2V4cG9ydC9ob21lL3VzZXJzL3NhbWJ1 aWxkL3NzbC9pbmNsdWRlICAtZyAtYyAtbyBob3N0a2V5LmxvIGhvc3RrZXkuYwpsaWJ0b29sOiBj b21waWxlOiAgQ0MgLURIQVZFX0NPTkZJR19IIC1JLi4vaW5jbHVkZSAtSS4uL3NyYyAtSS9leHBv cnQvaG9tZS91c2Vycy9zYW1idWlsZC9zc2wvaW5jbHVkZSAtZyAtYyBob3N0a2V5LmMgIC1LUElD IC1EUElDIC1vIC5saWJzL2hvc3RrZXkubwpsaWJ0b29sOiBjb21waWxlOiAgQ0MgLURIQVZFX0NP TkZJR19IIC1JLi4vaW5jbHVkZSAtSS4uL3NyYyAtSS9leHBvcnQvaG9tZS91c2Vycy9zYW1idWls ZC9zc2wvaW5jbHVkZSAtZyAtYyBob3N0a2V5LmMgLW8gaG9zdGtleS5vID4vZGV2L251bGwgMj4m MQpzb3VyY2U9J2tleC5jJyBvYmplY3Q9J2tleC5sbycgbGlidG9vbD15ZXMgXApERVBESVI9LmRl cHMgZGVwbW9kZT1ub25lIC9iaW4vYmFzaCAuLi9kZXBjb21wIFwKL2Jpbi9iYXNoIC4uL2xpYnRv b2wgLS10YWc9Q0MgLS1tb2RlPWNvbXBpbGUgQ0MgLURIQVZFX0NPTkZJR19IICAgLUkuLi9pbmNs dWRlIC1JLi4vc3JjIC1JL2V4cG9ydC9ob21lL3VzZXJzL3NhbWJ1aWxkL3NzbC9pbmNsdWRlICAt ZyAtYyAtbyBrZXgubG8ga2V4LmMKbGlidG9vbDogY29tcGlsZTogIENDIC1ESEFWRV9DT05GSUdf SCAtSS4uL2luY2x1ZGUgLUkuLi9zcmMgLUkvZXhwb3J0L2hvbWUvdXNlcnMvc2FtYnVpbGQvc3Ns L2luY2x1ZGUgLWcgLWMga2V4LmMgIC1LUElDIC1EUElDIC1vIC5saWJzL2tleC5vCmxpYnRvb2w6 IGNvbXBpbGU6ICBDQyAtREhBVkVfQ09ORklHX0ggLUkuLi9pbmNsdWRlIC1JLi4vc3JjIC1JL2V4 cG9ydC9ob21lL3VzZXJzL3NhbWJ1aWxkL3NzbC9pbmNsdWRlIC1nIC1jIGtleC5jIC1vIGtleC5v ID4vZGV2L251bGwgMj4mMQpzb3VyY2U9J21hYy5jJyBvYmplY3Q9J21hYy5sbycgbGlidG9vbD15 ZXMgXApERVBESVI9LmRlcHMgZGVwbW9kZT1ub25lIC9iaW4vYmFzaCAuLi9kZXBjb21wIFwKL2Jp bi9iYXNoIC4uL2xpYnRvb2wgLS10YWc9Q0MgLS1tb2RlPWNvbXBpbGUgQ0MgLURIQVZFX0NPTkZJ R19IICAgLUkuLi9pbmNsdWRlIC1JLi4vc3JjIC1JL2V4cG9ydC9ob21lL3VzZXJzL3NhbWJ1aWxk L3NzbC9pbmNsdWRlICAtZyAtYyAtbyBtYWMubG8gbWFjLmMKbGlidG9vbDogY29tcGlsZTogIEND IC1ESEFWRV9DT05GSUdfSCAtSS4uL2luY2x1ZGUgLUkuLi9zcmMgLUkvZXhwb3J0L2hvbWUvdXNl cnMvc2FtYnVpbGQvc3NsL2luY2x1ZGUgLWcgLWMgbWFjLmMgIC1LUElDIC1EUElDIC1vIC5saWJz L21hYy5vCmxpYnRvb2w6IGNvbXBpbGU6ICBDQyAtREhBVkVfQ09ORklHX0ggLUkuLi9pbmNsdWRl IC1JLi4vc3JjIC1JL2V4cG9ydC9ob21lL3VzZXJzL3NhbWJ1aWxkL3NzbC9pbmNsdWRlIC1nIC1j IG1hYy5jIC1vIG1hYy5vID4vZGV2L251bGwgMj4mMQpzb3VyY2U9J21pc2MuYycgb2JqZWN0PSdt aXNjLmxvJyBsaWJ0b29sPXllcyBcCkRFUERJUj0uZGVwcyBkZXBtb2RlPW5vbmUgL2Jpbi9iYXNo IC4uL2RlcGNvbXAgXAovYmluL2Jhc2ggLi4vbGlidG9vbCAtLXRhZz1DQyAtLW1vZGU9Y29tcGls ZSBDQyAtREhBVkVfQ09ORklHX0ggICAtSS4uL2luY2x1ZGUgLUkuLi9zcmMgLUkvZXhwb3J0L2hv bWUvdXNlcnMvc2FtYnVpbGQvc3NsL2luY2x1ZGUgIC1nIC1jIC1vIG1pc2MubG8gbWlzYy5jCmxp YnRvb2w6IGNvbXBpbGU6ICBDQyAtREhBVkVfQ09ORklHX0ggLUkuLi9pbmNsdWRlIC1JLi4vc3Jj IC1JL2V4cG9ydC9ob21lL3VzZXJzL3NhbWJ1aWxkL3NzbC9pbmNsdWRlIC1nIC1jIG1pc2MuYyAg LUtQSUMgLURQSUMgLW8gLmxpYnMvbWlzYy5vCmxpYnRvb2w6IGNvbXBpbGU6ICBDQyAtREhBVkVf Q09ORklHX0ggLUkuLi9pbmNsdWRlIC1JLi4vc3JjIC1JL2V4cG9ydC9ob21lL3VzZXJzL3NhbWJ1 aWxkL3NzbC9pbmNsdWRlIC1nIC1jIG1pc2MuYyAtbyBtaXNjLm8gPi9kZXYvbnVsbCAyPiYxCnNv dXJjZT0ncGFja2V0LmMnIG9iamVjdD0ncGFja2V0LmxvJyBsaWJ0b29sPXllcyBcCkRFUERJUj0u ZGVwcyBkZXBtb2RlPW5vbmUgL2Jpbi9iYXNoIC4uL2RlcGNvbXAgXAovYmluL2Jhc2ggLi4vbGli dG9vbCAtLXRhZz1DQyAtLW1vZGU9Y29tcGlsZSBDQyAtREhBVkVfQ09ORklHX0ggICAtSS4uL2lu Y2x1ZGUgLUkuLi9zcmMgLUkvZXhwb3J0L2hvbWUvdXNlcnMvc2FtYnVpbGQvc3NsL2luY2x1ZGUg IC1nIC1jIC1vIHBhY2tldC5sbyBwYWNrZXQuYwpsaWJ0b29sOiBjb21waWxlOiAgQ0MgLURIQVZF X0NPTkZJR19IIC1JLi4vaW5jbHVkZSAtSS4uL3NyYyAtSS9leHBvcnQvaG9tZS91c2Vycy9zYW1i dWlsZC9zc2wvaW5jbHVkZSAtZyAtYyBwYWNrZXQuYyAgLUtQSUMgLURQSUMgLW8gLmxpYnMvcGFj a2V0Lm8KbGlidG9vbDogY29tcGlsZTogIENDIC1ESEFWRV9DT05GSUdfSCAtSS4uL2luY2x1ZGUg LUkuLi9zcmMgLUkvZXhwb3J0L2hvbWUvdXNlcnMvc2FtYnVpbGQvc3NsL2luY2x1ZGUgLWcgLWMg cGFja2V0LmMgLW8gcGFja2V0Lm8gPi9kZXYvbnVsbCAyPiYxCnNvdXJjZT0ncHVibGlja2V5LmMn IG9iamVjdD0ncHVibGlja2V5LmxvJyBsaWJ0b29sPXllcyBcCkRFUERJUj0uZGVwcyBkZXBtb2Rl PW5vbmUgL2Jpbi9iYXNoIC4uL2RlcGNvbXAgXAovYmluL2Jhc2ggLi4vbGlidG9vbCAtLXRhZz1D QyAtLW1vZGU9Y29tcGlsZSBDQyAtREhBVkVfQ09ORklHX0ggICAtSS4uL2luY2x1ZGUgLUkuLi9z cmMgLUkvZXhwb3J0L2hvbWUvdXNlcnMvc2FtYnVpbGQvc3NsL2luY2x1ZGUgIC1nIC1jIC1vIHB1 YmxpY2tleS5sbyBwdWJsaWNrZXkuYwpsaWJ0b29sOiBjb21waWxlOiAgQ0MgLURIQVZFX0NPTkZJ R19IIC1JLi4vaW5jbHVkZSAtSS4uL3NyYyAtSS9leHBvcnQvaG9tZS91c2Vycy9zYW1idWlsZC9z c2wvaW5jbHVkZSAtZyAtYyBwdWJsaWNrZXkuYyAgLUtQSUMgLURQSUMgLW8gLmxpYnMvcHVibGlj a2V5Lm8KbGlidG9vbDogY29tcGlsZTogIENDIC1ESEFWRV9DT05GSUdfSCAtSS4uL2luY2x1ZGUg LUkuLi9zcmMgLUkvZXhwb3J0L2hvbWUvdXNlcnMvc2FtYnVpbGQvc3NsL2luY2x1ZGUgLWcgLWMg cHVibGlja2V5LmMgLW8gcHVibGlja2V5Lm8gPi9kZXYvbnVsbCAyPiYxCnNvdXJjZT0nc2NwLmMn IG9iamVjdD0nc2NwLmxvJyBsaWJ0b29sPXllcyBcCkRFUERJUj0uZGVwcyBkZXBtb2RlPW5vbmUg L2Jpbi9iYXNoIC4uL2RlcGNvbXAgXAovYmluL2Jhc2ggLi4vbGlidG9vbCAtLXRhZz1DQyAtLW1v ZGU9Y29tcGlsZSBDQyAtREhBVkVfQ09ORklHX0ggICAtSS4uL2luY2x1ZGUgLUkuLi9zcmMgLUkv ZXhwb3J0L2hvbWUvdXNlcnMvc2FtYnVpbGQvc3NsL2luY2x1ZGUgIC1nIC1jIC1vIHNjcC5sbyBz Y3AuYwpsaWJ0b29sOiBjb21waWxlOiAgQ0MgLURIQVZFX0NPTkZJR19IIC1JLi4vaW5jbHVkZSAt SS4uL3NyYyAtSS9leHBvcnQvaG9tZS91c2Vycy9zYW1idWlsZC9zc2wvaW5jbHVkZSAtZyAtYyBz Y3AuYyAgLUtQSUMgLURQSUMgLW8gLmxpYnMvc2NwLm8KbGlidG9vbDogY29tcGlsZTogIENDIC1E SEFWRV9DT05GSUdfSCAtSS4uL2luY2x1ZGUgLUkuLi9zcmMgLUkvZXhwb3J0L2hvbWUvdXNlcnMv c2FtYnVpbGQvc3NsL2luY2x1ZGUgLWcgLWMgc2NwLmMgLW8gc2NwLm8gPi9kZXYvbnVsbCAyPiYx CnNvdXJjZT0nc2Vzc2lvbi5jJyBvYmplY3Q9J3Nlc3Npb24ubG8nIGxpYnRvb2w9eWVzIFwKREVQ RElSPS5kZXBzIGRlcG1vZGU9bm9uZSAvYmluL2Jhc2ggLi4vZGVwY29tcCBcCi9iaW4vYmFzaCAu Li9saWJ0b29sIC0tdGFnPUNDIC0tbW9kZT1jb21waWxlIENDIC1ESEFWRV9DT05GSUdfSCAgIC1J Li4vaW5jbHVkZSAtSS4uL3NyYyAtSS9leHBvcnQvaG9tZS91c2Vycy9zYW1idWlsZC9zc2wvaW5j bHVkZSAgLWcgLWMgLW8gc2Vzc2lvbi5sbyBzZXNzaW9uLmMKbGlidG9vbDogY29tcGlsZTogIEND IC1ESEFWRV9DT05GSUdfSCAtSS4uL2luY2x1ZGUgLUkuLi9zcmMgLUkvZXhwb3J0L2hvbWUvdXNl cnMvc2FtYnVpbGQvc3NsL2luY2x1ZGUgLWcgLWMgc2Vzc2lvbi5jICAtS1BJQyAtRFBJQyAtbyAu bGlicy9zZXNzaW9uLm8KbGlidG9vbDogY29tcGlsZTogIENDIC1ESEFWRV9DT05GSUdfSCAtSS4u L2luY2x1ZGUgLUkuLi9zcmMgLUkvZXhwb3J0L2hvbWUvdXNlcnMvc2FtYnVpbGQvc3NsL2luY2x1 ZGUgLWcgLWMgc2Vzc2lvbi5jIC1vIHNlc3Npb24ubyA+L2Rldi9udWxsIDI+JjEKc291cmNlPSdz ZnRwLmMnIG9iamVjdD0nc2Z0cC5sbycgbGlidG9vbD15ZXMgXApERVBESVI9LmRlcHMgZGVwbW9k ZT1ub25lIC9iaW4vYmFzaCAuLi9kZXBjb21wIFwKL2Jpbi9iYXNoIC4uL2xpYnRvb2wgLS10YWc9 Q0MgLS1tb2RlPWNvbXBpbGUgQ0MgLURIQVZFX0NPTkZJR19IICAgLUkuLi9pbmNsdWRlIC1JLi4v c3JjIC1JL2V4cG9ydC9ob21lL3VzZXJzL3NhbWJ1aWxkL3NzbC9pbmNsdWRlICAtZyAtYyAtbyBz ZnRwLmxvIHNmdHAuYwpsaWJ0b29sOiBjb21waWxlOiAgQ0MgLURIQVZFX0NPTkZJR19IIC1JLi4v aW5jbHVkZSAtSS4uL3NyYyAtSS9leHBvcnQvaG9tZS91c2Vycy9zYW1idWlsZC9zc2wvaW5jbHVk ZSAtZyAtYyBzZnRwLmMgIC1LUElDIC1EUElDIC1vIC5saWJzL3NmdHAubwpsaWJ0b29sOiBjb21w aWxlOiAgQ0MgLURIQVZFX0NPTkZJR19IIC1JLi4vaW5jbHVkZSAtSS4uL3NyYyAtSS9leHBvcnQv aG9tZS91c2Vycy9zYW1idWlsZC9zc2wvaW5jbHVkZSAtZyAtYyBzZnRwLmMgLW8gc2Z0cC5vID4v ZGV2L251bGwgMj4mMQpzb3VyY2U9J3VzZXJhdXRoLmMnIG9iamVjdD0ndXNlcmF1dGgubG8nIGxp YnRvb2w9eWVzIFwKREVQRElSPS5kZXBzIGRlcG1vZGU9bm9uZSAvYmluL2Jhc2ggLi4vZGVwY29t cCBcCi9iaW4vYmFzaCAuLi9saWJ0b29sIC0tdGFnPUNDIC0tbW9kZT1jb21waWxlIENDIC1ESEFW RV9DT05GSUdfSCAgIC1JLi4vaW5jbHVkZSAtSS4uL3NyYyAtSS9leHBvcnQvaG9tZS91c2Vycy9z YW1idWlsZC9zc2wvaW5jbHVkZSAgLWcgLWMgLW8gdXNlcmF1dGgubG8gdXNlcmF1dGguYwpsaWJ0 b29sOiBjb21waWxlOiAgQ0MgLURIQVZFX0NPTkZJR19IIC1JLi4vaW5jbHVkZSAtSS4uL3NyYyAt SS9leHBvcnQvaG9tZS91c2Vycy9zYW1idWlsZC9zc2wvaW5jbHVkZSAtZyAtYyB1c2VyYXV0aC5j ICAtS1BJQyAtRFBJQyAtbyAubGlicy91c2VyYXV0aC5vCmxpYnRvb2w6IGNvbXBpbGU6ICBDQyAt REhBVkVfQ09ORklHX0ggLUkuLi9pbmNsdWRlIC1JLi4vc3JjIC1JL2V4cG9ydC9ob21lL3VzZXJz L3NhbWJ1aWxkL3NzbC9pbmNsdWRlIC1nIC1jIHVzZXJhdXRoLmMgLW8gdXNlcmF1dGgubyA+L2Rl di9udWxsIDI+JjEKc291cmNlPSd0cmFuc3BvcnQuYycgb2JqZWN0PSd0cmFuc3BvcnQubG8nIGxp YnRvb2w9eWVzIFwKREVQRElSPS5kZXBzIGRlcG1vZGU9bm9uZSAvYmluL2Jhc2ggLi4vZGVwY29t cCBcCi9iaW4vYmFzaCAuLi9saWJ0b29sIC0tdGFnPUNDIC0tbW9kZT1jb21waWxlIENDIC1ESEFW RV9DT05GSUdfSCAgIC1JLi4vaW5jbHVkZSAtSS4uL3NyYyAtSS9leHBvcnQvaG9tZS91c2Vycy9z YW1idWlsZC9zc2wvaW5jbHVkZSAgLWcgLWMgLW8gdHJhbnNwb3J0LmxvIHRyYW5zcG9ydC5jCmxp YnRvb2w6IGNvbXBpbGU6ICBDQyAtREhBVkVfQ09ORklHX0ggLUkuLi9pbmNsdWRlIC1JLi4vc3Jj IC1JL2V4cG9ydC9ob21lL3VzZXJzL3NhbWJ1aWxkL3NzbC9pbmNsdWRlIC1nIC1jIHRyYW5zcG9y dC5jICAtS1BJQyAtRFBJQyAtbyAubGlicy90cmFuc3BvcnQubwpsaWJ0b29sOiBjb21waWxlOiAg Q0MgLURIQVZFX0NPTkZJR19IIC1JLi4vaW5jbHVkZSAtSS4uL3NyYyAtSS9leHBvcnQvaG9tZS91 c2Vycy9zYW1idWlsZC9zc2wvaW5jbHVkZSAtZyAtYyB0cmFuc3BvcnQuYyAtbyB0cmFuc3BvcnQu byA+L2Rldi9udWxsIDI+JjEKc291cmNlPSd2ZXJzaW9uLmMnIG9iamVjdD0ndmVyc2lvbi5sbycg bGlidG9vbD15ZXMgXApERVBESVI9LmRlcHMgZGVwbW9kZT1ub25lIC9iaW4vYmFzaCAuLi9kZXBj b21wIFwKL2Jpbi9iYXNoIC4uL2xpYnRvb2wgLS10YWc9Q0MgLS1tb2RlPWNvbXBpbGUgQ0MgLURI QVZFX0NPTkZJR19IICAgLUkuLi9pbmNsdWRlIC1JLi4vc3JjIC1JL2V4cG9ydC9ob21lL3VzZXJz L3NhbWJ1aWxkL3NzbC9pbmNsdWRlICAtZyAtYyAtbyB2ZXJzaW9uLmxvIHZlcnNpb24uYwpsaWJ0 b29sOiBjb21waWxlOiAgQ0MgLURIQVZFX0NPTkZJR19IIC1JLi4vaW5jbHVkZSAtSS4uL3NyYyAt SS9leHBvcnQvaG9tZS91c2Vycy9zYW1idWlsZC9zc2wvaW5jbHVkZSAtZyAtYyB2ZXJzaW9uLmMg IC1LUElDIC1EUElDIC1vIC5saWJzL3ZlcnNpb24ubwpsaWJ0b29sOiBjb21waWxlOiAgQ0MgLURI QVZFX0NPTkZJR19IIC1JLi4vaW5jbHVkZSAtSS4uL3NyYyAtSS9leHBvcnQvaG9tZS91c2Vycy9z YW1idWlsZC9zc2wvaW5jbHVkZSAtZyAtYyB2ZXJzaW9uLmMgLW8gdmVyc2lvbi5vID4vZGV2L251 bGwgMj4mMQpzb3VyY2U9J2tub3duaG9zdC5jJyBvYmplY3Q9J2tub3duaG9zdC5sbycgbGlidG9v bD15ZXMgXApERVBESVI9LmRlcHMgZGVwbW9kZT1ub25lIC9iaW4vYmFzaCAuLi9kZXBjb21wIFwK L2Jpbi9iYXNoIC4uL2xpYnRvb2wgLS10YWc9Q0MgLS1tb2RlPWNvbXBpbGUgQ0MgLURIQVZFX0NP TkZJR19IICAgLUkuLi9pbmNsdWRlIC1JLi4vc3JjIC1JL2V4cG9ydC9ob21lL3VzZXJzL3NhbWJ1 aWxkL3NzbC9pbmNsdWRlICAtZyAtYyAtbyBrbm93bmhvc3QubG8ga25vd25ob3N0LmMKbGlidG9v bDogY29tcGlsZTogIENDIC1ESEFWRV9DT05GSUdfSCAtSS4uL2luY2x1ZGUgLUkuLi9zcmMgLUkv ZXhwb3J0L2hvbWUvdXNlcnMvc2FtYnVpbGQvc3NsL2luY2x1ZGUgLWcgLWMga25vd25ob3N0LmMg IC1LUElDIC1EUElDIC1vIC5saWJzL2tub3duaG9zdC5vCmxpYnRvb2w6IGNvbXBpbGU6ICBDQyAt REhBVkVfQ09ORklHX0ggLUkuLi9pbmNsdWRlIC1JLi4vc3JjIC1JL2V4cG9ydC9ob21lL3VzZXJz L3NhbWJ1aWxkL3NzbC9pbmNsdWRlIC1nIC1jIGtub3duaG9zdC5jIC1vIGtub3duaG9zdC5vID4v ZGV2L251bGwgMj4mMQpzb3VyY2U9J2FnZW50LmMnIG9iamVjdD0nYWdlbnQubG8nIGxpYnRvb2w9 eWVzIFwKREVQRElSPS5kZXBzIGRlcG1vZGU9bm9uZSAvYmluL2Jhc2ggLi4vZGVwY29tcCBcCi9i aW4vYmFzaCAuLi9saWJ0b29sIC0tdGFnPUNDIC0tbW9kZT1jb21waWxlIENDIC1ESEFWRV9DT05G SUdfSCAgIC1JLi4vaW5jbHVkZSAtSS4uL3NyYyAtSS9leHBvcnQvaG9tZS91c2Vycy9zYW1idWls ZC9zc2wvaW5jbHVkZSAgLWcgLWMgLW8gYWdlbnQubG8gYWdlbnQuYwpsaWJ0b29sOiBjb21waWxl OiAgQ0MgLURIQVZFX0NPTkZJR19IIC1JLi4vaW5jbHVkZSAtSS4uL3NyYyAtSS9leHBvcnQvaG9t ZS91c2Vycy9zYW1idWlsZC9zc2wvaW5jbHVkZSAtZyAtYyBhZ2VudC5jICAtS1BJQyAtRFBJQyAt byAubGlicy9hZ2VudC5vCmxpYnRvb2w6IGNvbXBpbGU6ICBDQyAtREhBVkVfQ09ORklHX0ggLUku Li9pbmNsdWRlIC1JLi4vc3JjIC1JL2V4cG9ydC9ob21lL3VzZXJzL3NhbWJ1aWxkL3NzbC9pbmNs dWRlIC1nIC1jIGFnZW50LmMgLW8gYWdlbnQubyA+L2Rldi9udWxsIDI+JjEKc291cmNlPSdvcGVu c3NsLmMnIG9iamVjdD0nb3BlbnNzbC5sbycgbGlidG9vbD15ZXMgXApERVBESVI9LmRlcHMgZGVw bW9kZT1ub25lIC9iaW4vYmFzaCAuLi9kZXBjb21wIFwKL2Jpbi9iYXNoIC4uL2xpYnRvb2wgLS10 YWc9Q0MgLS1tb2RlPWNvbXBpbGUgQ0MgLURIQVZFX0NPTkZJR19IICAgLUkuLi9pbmNsdWRlIC1J Li4vc3JjIC1JL2V4cG9ydC9ob21lL3VzZXJzL3NhbWJ1aWxkL3NzbC9pbmNsdWRlICAtZyAtYyAt byBvcGVuc3NsLmxvIG9wZW5zc2wuYwpsaWJ0b29sOiBjb21waWxlOiAgQ0MgLURIQVZFX0NPTkZJ R19IIC1JLi4vaW5jbHVkZSAtSS4uL3NyYyAtSS9leHBvcnQvaG9tZS91c2Vycy9zYW1idWlsZC9z c2wvaW5jbHVkZSAtZyAtYyBvcGVuc3NsLmMgIC1LUElDIC1EUElDIC1vIC5saWJzL29wZW5zc2wu bwpsaWJ0b29sOiBjb21waWxlOiAgQ0MgLURIQVZFX0NPTkZJR19IIC1JLi4vaW5jbHVkZSAtSS4u L3NyYyAtSS9leHBvcnQvaG9tZS91c2Vycy9zYW1idWlsZC9zc2wvaW5jbHVkZSAtZyAtYyBvcGVu c3NsLmMgLW8gb3BlbnNzbC5vID4vZGV2L251bGwgMj4mMQpzb3VyY2U9J2xpYmdjcnlwdC5jJyBv YmplY3Q9J2xpYmdjcnlwdC5sbycgbGlidG9vbD15ZXMgXApERVBESVI9LmRlcHMgZGVwbW9kZT1u b25lIC9iaW4vYmFzaCAuLi9kZXBjb21wIFwKL2Jpbi9iYXNoIC4uL2xpYnRvb2wgLS10YWc9Q0Mg LS1tb2RlPWNvbXBpbGUgQ0MgLURIQVZFX0NPTkZJR19IICAgLUkuLi9pbmNsdWRlIC1JLi4vc3Jj IC1JL2V4cG9ydC9ob21lL3VzZXJzL3NhbWJ1aWxkL3NzbC9pbmNsdWRlICAtZyAtYyAtbyBsaWJn Y3J5cHQubG8gbGliZ2NyeXB0LmMKbGlidG9vbDogY29tcGlsZTogIENDIC1ESEFWRV9DT05GSUdf SCAtSS4uL2luY2x1ZGUgLUkuLi9zcmMgLUkvZXhwb3J0L2hvbWUvdXNlcnMvc2FtYnVpbGQvc3Ns L2luY2x1ZGUgLWcgLWMgbGliZ2NyeXB0LmMgIC1LUElDIC1EUElDIC1vIC5saWJzL2xpYmdjcnlw dC5vCmxpYnRvb2w6IGNvbXBpbGU6ICBDQyAtREhBVkVfQ09ORklHX0ggLUkuLi9pbmNsdWRlIC1J Li4vc3JjIC1JL2V4cG9ydC9ob21lL3VzZXJzL3NhbWJ1aWxkL3NzbC9pbmNsdWRlIC1nIC1jIGxp YmdjcnlwdC5jIC1vIGxpYmdjcnlwdC5vID4vZGV2L251bGwgMj4mMQpzb3VyY2U9J3BlbS5jJyBv YmplY3Q9J3BlbS5sbycgbGlidG9vbD15ZXMgXApERVBESVI9LmRlcHMgZGVwbW9kZT1ub25lIC9i aW4vYmFzaCAuLi9kZXBjb21wIFwKL2Jpbi9iYXNoIC4uL2xpYnRvb2wgLS10YWc9Q0MgLS1tb2Rl PWNvbXBpbGUgQ0MgLURIQVZFX0NPTkZJR19IICAgLUkuLi9pbmNsdWRlIC1JLi4vc3JjIC1JL2V4 cG9ydC9ob21lL3VzZXJzL3NhbWJ1aWxkL3NzbC9pbmNsdWRlICAtZyAtYyAtbyBwZW0ubG8gcGVt LmMKbGlidG9vbDogY29tcGlsZTogIENDIC1ESEFWRV9DT05GSUdfSCAtSS4uL2luY2x1ZGUgLUku Li9zcmMgLUkvZXhwb3J0L2hvbWUvdXNlcnMvc2FtYnVpbGQvc3NsL2luY2x1ZGUgLWcgLWMgcGVt LmMgIC1LUElDIC1EUElDIC1vIC5saWJzL3BlbS5vCmxpYnRvb2w6IGNvbXBpbGU6ICBDQyAtREhB VkVfQ09ORklHX0ggLUkuLi9pbmNsdWRlIC1JLi4vc3JjIC1JL2V4cG9ydC9ob21lL3VzZXJzL3Nh bWJ1aWxkL3NzbC9pbmNsdWRlIC1nIC1jIHBlbS5jIC1vIHBlbS5vID4vZGV2L251bGwgMj4mMQpz b3VyY2U9J2tlZXBhbGl2ZS5jJyBvYmplY3Q9J2tlZXBhbGl2ZS5sbycgbGlidG9vbD15ZXMgXApE RVBESVI9LmRlcHMgZGVwbW9kZT1ub25lIC9iaW4vYmFzaCAuLi9kZXBjb21wIFwKL2Jpbi9iYXNo IC4uL2xpYnRvb2wgLS10YWc9Q0MgLS1tb2RlPWNvbXBpbGUgQ0MgLURIQVZFX0NPTkZJR19IICAg LUkuLi9pbmNsdWRlIC1JLi4vc3JjIC1JL2V4cG9ydC9ob21lL3VzZXJzL3NhbWJ1aWxkL3NzbC9p bmNsdWRlICAtZyAtYyAtbyBrZWVwYWxpdmUubG8ga2VlcGFsaXZlLmMKbGlidG9vbDogY29tcGls ZTogIENDIC1ESEFWRV9DT05GSUdfSCAtSS4uL2luY2x1ZGUgLUkuLi9zcmMgLUkvZXhwb3J0L2hv bWUvdXNlcnMvc2FtYnVpbGQvc3NsL2luY2x1ZGUgLWcgLWMga2VlcGFsaXZlLmMgIC1LUElDIC1E UElDIC1vIC5saWJzL2tlZXBhbGl2ZS5vCmxpYnRvb2w6IGNvbXBpbGU6ICBDQyAtREhBVkVfQ09O RklHX0ggLUkuLi9pbmNsdWRlIC1JLi4vc3JjIC1JL2V4cG9ydC9ob21lL3VzZXJzL3NhbWJ1aWxk L3NzbC9pbmNsdWRlIC1nIC1jIGtlZXBhbGl2ZS5jIC1vIGtlZXBhbGl2ZS5vID4vZGV2L251bGwg Mj4mMQpzb3VyY2U9J2dsb2JhbC5jJyBvYmplY3Q9J2dsb2JhbC5sbycgbGlidG9vbD15ZXMgXApE RVBESVI9LmRlcHMgZGVwbW9kZT1ub25lIC9iaW4vYmFzaCAuLi9kZXBjb21wIFwKL2Jpbi9iYXNo IC4uL2xpYnRvb2wgLS10YWc9Q0MgLS1tb2RlPWNvbXBpbGUgQ0MgLURIQVZFX0NPTkZJR19IICAg LUkuLi9pbmNsdWRlIC1JLi4vc3JjIC1JL2V4cG9ydC9ob21lL3VzZXJzL3NhbWJ1aWxkL3NzbC9p bmNsdWRlICAtZyAtYyAtbyBnbG9iYWwubG8gZ2xvYmFsLmMKbGlidG9vbDogY29tcGlsZTogIEND IC1ESEFWRV9DT05GSUdfSCAtSS4uL2luY2x1ZGUgLUkuLi9zcmMgLUkvZXhwb3J0L2hvbWUvdXNl cnMvc2FtYnVpbGQvc3NsL2luY2x1ZGUgLWcgLWMgZ2xvYmFsLmMgIC1LUElDIC1EUElDIC1vIC5s aWJzL2dsb2JhbC5vCmxpYnRvb2w6IGNvbXBpbGU6ICBDQyAtREhBVkVfQ09ORklHX0ggLUkuLi9p bmNsdWRlIC1JLi4vc3JjIC1JL2V4cG9ydC9ob21lL3VzZXJzL3NhbWJ1aWxkL3NzbC9pbmNsdWRl IC1nIC1jIGdsb2JhbC5jIC1vIGdsb2JhbC5vID4vZGV2L251bGwgMj4mMQovYmluL2Jhc2ggLi4v bGlidG9vbCAtLXRhZz1DQyAtLW1vZGU9bGluayBDQyAgLWcgIC1sZGwgLW8gbGlic3NoMi5sYSAt cnBhdGggL2V4cG9ydC9ob21lL3NhbWJ1aWxkL0NVUkxfU1NIMi9zc2gyL2xpYiAtdmVyc2lvbi1p bmZvIDE6MTowIC1uby11bmRlZmluZWQgLWV4cG9ydC1zeW1ib2xzLXJlZ2V4ICdebGlic3NoMl8u KicgIC1ML2V4cG9ydC9ob21lL3VzZXJzL3NhbWJ1aWxkL3NzbC9saWIgLWxzc2wgLUwvZXhwb3J0 L2hvbWUvdXNlcnMvc2FtYnVpbGQvc3NsL2xpYiAtbGNyeXB0byAtbHogY2hhbm5lbC5sbyBjb21w LmxvIGNyeXB0LmxvIGhvc3RrZXkubG8ga2V4LmxvIG1hYy5sbyBtaXNjLmxvIHBhY2tldC5sbyBw dWJsaWNrZXkubG8gc2NwLmxvIHNlc3Npb24ubG8gc2Z0cC5sbyB1c2VyYXV0aC5sbyB0cmFuc3Bv cnQubG8gdmVyc2lvbi5sbyBrbm93bmhvc3QubG8gYWdlbnQubG8gb3BlbnNzbC5sbyBsaWJnY3J5 cHQubG8gcGVtLmxvIGtlZXBhbGl2ZS5sbyBnbG9iYWwubG8gICAtbG5zbCAtbHNvY2tldCAKbGli dG9vbDogbGluazogL3Vzci9jY3MvYmluL25tIC1wICAubGlicy9jaGFubmVsLm8gLmxpYnMvY29t cC5vIC5saWJzL2NyeXB0Lm8gLmxpYnMvaG9zdGtleS5vIC5saWJzL2tleC5vIC5saWJzL21hYy5v IC5saWJzL21pc2MubyAubGlicy9wYWNrZXQubyAubGlicy9wdWJsaWNrZXkubyAubGlicy9zY3Au byAubGlicy9zZXNzaW9uLm8gLmxpYnMvc2Z0cC5vIC5saWJzL3VzZXJhdXRoLm8gLmxpYnMvdHJh bnNwb3J0Lm8gLmxpYnMvdmVyc2lvbi5vIC5saWJzL2tub3duaG9zdC5vIC5saWJzL2FnZW50Lm8g LmxpYnMvb3BlbnNzbC5vIC5saWJzL2xpYmdjcnlwdC5vIC5saWJzL3BlbS5vIC5saWJzL2tlZXBh bGl2ZS5vIC5saWJzL2dsb2JhbC5vICAgfCBzZWQgLW4gLWUgJ3MvXi4qWwkgXVwoW0JEUlRdW0JE UlRdKlwpWwkgXVsJIF0qXChbX0EtWmEtel1bX0EtWmEtejAtOV0qXCkkL1wxIFwyIFwyL3AnIHwg L3Vzci9iaW4vc2VkICdzLy4qIC8vJyB8IHNvcnQgfCB1bmlxID4gLmxpYnMvbGlic3NoMi5leHAK bGlidG9vbDogbGluazogL3Vzci94cGc0L2Jpbi9ncmVwIC1FIC1lICJebGlic3NoMl8uKiIgIi5s aWJzL2xpYnNzaDIuZXhwIiA+ICIubGlicy9saWJzc2gyLmV4cFQiCmxpYnRvb2w6IGxpbms6IG12 IC1mICIubGlicy9saWJzc2gyLmV4cFQiICIubGlicy9saWJzc2gyLmV4cCIKbGlidG9vbDogbGlu azogZWNobyAieyBnbG9iYWw6IiA+IC5saWJzL2xpYnNzaDIuc28uMS4wLjEuZXhwCmxpYnRvb2w6 IGxpbms6IGNhdCAubGlicy9saWJzc2gyLmV4cCB8IC91c3IvYmluL3NlZCAtZSAicy9cKC4qXCkv XDE7LyIgPj4gLmxpYnMvbGlic3NoMi5zby4xLjAuMS5leHAKbGlidG9vbDogbGluazogZWNobyAi bG9jYWw6ICo7IH07IiA+PiAubGlicy9saWJzc2gyLnNvLjEuMC4xLmV4cApsaWJ0b29sOiBsaW5r OiAgQ0MgLUcgLXogZGVmcyAtTSAubGlicy9saWJzc2gyLnNvLjEuMC4xLmV4cCAtaCBsaWJzc2gy LnNvLjEgLW8gLmxpYnMvbGlic3NoMi5zby4xLjAuMSAgLmxpYnMvY2hhbm5lbC5vIC5saWJzL2Nv bXAubyAubGlicy9jcnlwdC5vIC5saWJzL2hvc3RrZXkubyAubGlicy9rZXgubyAubGlicy9tYWMu byAubGlicy9taXNjLm8gLmxpYnMvcGFja2V0Lm8gLmxpYnMvcHVibGlja2V5Lm8gLmxpYnMvc2Nw Lm8gLmxpYnMvc2Vzc2lvbi5vIC5saWJzL3NmdHAubyAubGlicy91c2VyYXV0aC5vIC5saWJzL3Ry YW5zcG9ydC5vIC5saWJzL3ZlcnNpb24ubyAubGlicy9rbm93bmhvc3QubyAubGlicy9hZ2VudC5v IC5saWJzL29wZW5zc2wubyAubGlicy9saWJnY3J5cHQubyAubGlicy9wZW0ubyAubGlicy9rZWVw YWxpdmUubyAubGlicy9nbG9iYWwubyAgIC1sZGwgLUwvZXhwb3J0L2hvbWUvdXNlcnMvc2FtYnVp bGQvc3NsL2xpYiAtbHNzbCAtbGNyeXB0byAtbHogLWxuc2wgLWxzb2NrZXQgLWxjICAgCmxpYnRv b2w6IGxpbms6IHJtIC1mIC5saWJzL2xpYnNzaDIuc28uMS4wLjEuZXhwCmxpYnRvb2w6IGxpbms6 IChjZCAiLmxpYnMiICYmIHJtIC1mICJsaWJzc2gyLnNvLjEiICYmIGxuIC1zICJsaWJzc2gyLnNv LjEuMC4xIiAibGlic3NoMi5zby4xIikKbGlidG9vbDogbGluazogKGNkICIubGlicyIgJiYgcm0g LWYgImxpYnNzaDIuc28iICYmIGxuIC1zICJsaWJzc2gyLnNvLjEuMC4xIiAibGlic3NoMi5zbyIp CmxpYnRvb2w6IGxpbms6IGZhbHNlIGNydSAubGlicy9saWJzc2gyLmEgIGNoYW5uZWwubyBjb21w Lm8gY3J5cHQubyBob3N0a2V5Lm8ga2V4Lm8gbWFjLm8gbWlzYy5vIHBhY2tldC5vIHB1YmxpY2tl eS5vIHNjcC5vIHNlc3Npb24ubyBzZnRwLm8gdXNlcmF1dGgubyB0cmFuc3BvcnQubyB2ZXJzaW9u Lm8ga25vd25ob3N0Lm8gYWdlbnQubyBvcGVuc3NsLm8gbGliZ2NyeXB0Lm8gcGVtLm8ga2VlcGFs aXZlLm8gZ2xvYmFsLm8KbWFrZVsyXTogTGVhdmluZyBkaXJlY3RvcnkgYC9leHBvcnQvaG9tZS91 c2Vycy9zYW1idWlsZC9saWJzc2gyLTEuMi42L3NyYycKbWFrZVsxXTogTGVhdmluZyBkaXJlY3Rv cnkgYC9leHBvcnQvaG9tZS91c2Vycy9zYW1idWlsZC9saWJzc2gyLTEuMi42L3NyYycK ------_=_NextPart_001_01CB2A93.035D7744 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 ------_=_NextPart_001_01CB2A93.035D7744-- From libssh2-devel-bounces@cool.haxx.se Fri Jul 23 20:56:19 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6NIu9Qi025428; Fri, 23 Jul 2010 20:56:17 +0200 Received: from ponderosa.fch.wimsey.bc.ca (zz20920564179.cipherkey.net [209.205.64.179]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6NIu7qm025407 for ; Fri, 23 Jul 2010 20:56:08 +0200 Received: by coneharvesters.com via sendmail with stdio id for libssh2-devel@cool.haxx.se; Fri, 23 Jul 2010 11:56:01 -0700 (PDT) Date: Fri, 23 Jul 2010 11:56:00 -0700 From: Dan Fandrich To: libssh2-devel@cool.haxx.se Subject: Re: linking static lib fails on Solaris9 Message-ID: <20100723185559.GB24358@coneharvesters.com> Mail-Followup-To: libssh2-devel@cool.haxx.se References: <20100723165328.15459.qmail@stuge.se> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.19 (2009-01-05) X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Fri, 23 Jul 2010 20:56:19 +0200 (CEST) X-Greylist: Default is to whitelist mail, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Fri, 23 Jul 2010 20:56:08 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se On Fri, Jul 23, 2010 at 02:13:58PM -0400, Alona Rossen wrote: > configure:6782: checking for ar > configure:6812: result: no >>> Dan _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel From libssh2-devel-bounces@cool.haxx.se Fri Jul 23 20:57:52 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6NIvp1w025930; Fri, 23 Jul 2010 20:57:52 +0200 Received: from opentext.com (smtpout.opentext.com [204.138.115.203]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6NIvmeE025887 (version=TLSv1/SSLv3 cipher=EDH-RSA-DES-CBC3-SHA bits=168 verify=NOT) for ; Fri, 23 Jul 2010 20:57:49 +0200 Received: from otwlpm02.smtp.dmz.opentext.com (otwlpm02.smtp.dmz.opentext.com [192.168.15.231]) by opentext.com (8.12.8/8.12.8) with ESMTP id o6NIveS9015514 (version=TLSv1/SSLv3 cipher=EDH-RSA-DES-CBC3-SHA bits=168 verify=FAIL) for ; Fri, 23 Jul 2010 14:57:40 -0400 Received: from vectorsvc.wl.opentext.com (ava.wl.opentext.com [172.21.5.96]) by otwlpm02.smtp.dmz.opentext.com (8.14.4/8.14.4) with ESMTP id o6NIvdvI007381 (version=TLSv1/SSLv3 cipher=EDH-RSA-DES-CBC3-SHA bits=168 verify=NO) for ; Fri, 23 Jul 2010 14:57:40 -0400 (envelope-from arossen@opentext.com) Received: from OTWLMX06.opentext.net (otwlxg04.wl.opentext.com [10.2.102.26]) by vectorsvc.wl.opentext.com (8.12.8/8.12.8) with ESMTP id o6NIvdqt015511 for ; Fri, 23 Jul 2010 14:57:39 -0400 X-MimeOLE: Produced By Microsoft Exchange V6.5 Content-class: urn:content-classes:message MIME-Version: 1.0 Subject: RE: linking static lib fails on Solaris9 Date: Fri, 23 Jul 2010 14:56:17 -0400 Message-ID: In-Reply-To: <20100723175952.GA23719@coneharvesters.com> X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: linking static lib fails on Solaris9 Thread-Index: AcsqkScwlzwoy0tSSdaRbuYtf4VYVAAB4pzw References: <20100723175952.GA23719@coneharvesters.com> From: "Alona Rossen" To: "libssh2 development" X-Archived: msg.2MSJZxb:2010-07-23:otwlpm02.smtp.dmz.opentext.com X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Fri, 23 Jul 2010 20:57:52 +0200 (CEST) X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Fri, 23 Jul 2010 20:57:50 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se I have resolved the problem. Thank you for your input. -----Original Message----- From: libssh2-devel-bounces@cool.haxx.se [mailto:libssh2-devel-bounces@cool.haxx.se] On Behalf Of Dan Fandrich Sent: July 23, 2010 2:00 PM To: libssh2-devel@cool.haxx.se Subject: Re: linking static lib fails on Solaris9 On Fri, Jul 23, 2010 at 11:29:28AM -0400, Alona Rossen wrote: > I receive the following error when I try to build static lib on Solaris9 with > Sun C++ 5.5 2003/03/12: > > libtool: link: false cru .libs/libssh2.a?? It looks like configure or libtool is using the program 'false' to create static archives instead of 'ar'. Clearly, there is an issue with its static library support. Do you have 'ar' installed? >>> Dan _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel From libssh2-devel-bounces@cool.haxx.se Fri Jul 23 20:59:07 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6NIx4Nh026453; Fri, 23 Jul 2010 20:59:06 +0200 Received: from opentext.com (smtpout.opentext.com [204.138.115.203]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6NIx2md026335 (version=TLSv1/SSLv3 cipher=EDH-RSA-DES-CBC3-SHA bits=168 verify=NOT) for ; Fri, 23 Jul 2010 20:59:02 +0200 Received: from otwlpm01.smtp.dmz.opentext.com (otwlpm01.smtp.dmz.opentext.com [192.168.15.230]) by opentext.com (8.12.8/8.12.8) with ESMTP id o6NIwrS9016184 (version=TLSv1/SSLv3 cipher=EDH-RSA-DES-CBC3-SHA bits=168 verify=FAIL) for ; Fri, 23 Jul 2010 14:58:53 -0400 Received: from vectorsvc.wl.opentext.com (ava.wl.opentext.com [172.21.5.96]) by otwlpm01.smtp.dmz.opentext.com (8.14.4/8.14.4) with ESMTP id o6NIwr69026575 (version=TLSv1/SSLv3 cipher=EDH-RSA-DES-CBC3-SHA bits=168 verify=NO) for ; Fri, 23 Jul 2010 14:58:53 -0400 (envelope-from arossen@opentext.com) Received: from OTWLMX06.opentext.net (otwlxg04.wl.opentext.com [10.2.102.26]) by vectorsvc.wl.opentext.com (8.12.8/8.12.8) with ESMTP id o6NIwrqt016166 for ; Fri, 23 Jul 2010 14:58:53 -0400 X-MimeOLE: Produced By Microsoft Exchange V6.5 Content-class: urn:content-classes:message MIME-Version: 1.0 Subject: RE: linking static lib fails on Solaris9 Date: Fri, 23 Jul 2010 14:58:52 -0400 Message-ID: In-Reply-To: <20100723185559.GB24358@coneharvesters.com> X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: linking static lib fails on Solaris9 Thread-Index: AcsqmPbZI5NCNr0hS7KDjRpgSvz1QAAAAwsA References: <20100723165328.15459.qmail@stuge.se> <20100723185559.GB24358@coneharvesters.com> From: "Alona Rossen" To: "libssh2 development" X-Archived: msg.161CQj0:2010-07-23:otwlpm01.smtp.dmz.opentext.com X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Fri, 23 Jul 2010 20:59:07 +0200 (CEST) X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Fri, 23 Jul 2010 20:59:03 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se You were right - ar was not in the PATH. However, it was not the only issue. -----Original Message----- From: libssh2-devel-bounces@cool.haxx.se [mailto:libssh2-devel-bounces@cool.haxx.se] On Behalf Of Dan Fandrich Sent: Friday, July 23, 2010 2:56 PM To: libssh2-devel@cool.haxx.se Subject: Re: linking static lib fails on Solaris9 On Fri, Jul 23, 2010 at 02:13:58PM -0400, Alona Rossen wrote: > configure:6782: checking for ar > configure:6812: result: no >>> Dan _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel From libssh2-devel-bounces@cool.haxx.se Fri Jul 23 21:09:51 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6NJ9cpd003638; Fri, 23 Jul 2010 21:09:48 +0200 Received: from foo.birdnet.se (qmailr@foo.birdnet.se [213.88.146.6]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with SMTP id o6NJ9aMk003625 for ; Fri, 23 Jul 2010 21:09:36 +0200 Received: (qmail 6557 invoked by uid 501); 23 Jul 2010 19:09:33 -0000 Message-ID: <20100723190933.6556.qmail@stuge.se> Date: Fri, 23 Jul 2010 21:09:33 +0200 From: Peter Stuge To: libssh2-devel@cool.haxx.se Subject: Re: linking static lib fails on Solaris9 Mail-Followup-To: libssh2-devel@cool.haxx.se References: <20100723185559.GB24358@coneharvesters.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Fri, 23 Jul 2010 21:09:51 +0200 (CEST) X-Greylist: Default is to whitelist mail, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Fri, 23 Jul 2010 21:09:36 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se Alona Rossen wrote: > You were right - ar was not in the PATH. However, it was not the > only issue. Would you mind sharing what other issues there were, so that libssh2 can be improved? > > configure:6782: checking for ar > > configure:6812: result: no I think this should make configure fail, or at least not try to build a static library. It seems like something that autoconf should already deal with - does anyone know why it didn't trigger an error? //Peter _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel From libssh2-devel-bounces@cool.haxx.se Fri Jul 23 21:12:25 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6NJCNGD005429; Fri, 23 Jul 2010 21:12:25 +0200 Received: from opentext.com (smtpout.opentext.com [204.138.115.203]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6NJCKHE005417 (version=TLSv1/SSLv3 cipher=EDH-RSA-DES-CBC3-SHA bits=168 verify=NOT) for ; Fri, 23 Jul 2010 21:12:22 +0200 Received: from otwlpm01.smtp.dmz.opentext.com (otwlpm01.smtp.dmz.opentext.com [192.168.15.230]) by opentext.com (8.12.8/8.12.8) with ESMTP id o6NJCCS9024651 (version=TLSv1/SSLv3 cipher=EDH-RSA-DES-CBC3-SHA bits=168 verify=FAIL) for ; Fri, 23 Jul 2010 15:12:12 -0400 Received: from vectorsvc.wl.opentext.com (ava.wl.opentext.com [172.21.5.96]) by otwlpm01.smtp.dmz.opentext.com (8.14.4/8.14.4) with ESMTP id o6NJCBM3016108 (version=TLSv1/SSLv3 cipher=EDH-RSA-DES-CBC3-SHA bits=168 verify=NO) for ; Fri, 23 Jul 2010 15:12:11 -0400 (envelope-from arossen@opentext.com) Received: from OTWLMX06.opentext.net (otwlxg04.wl.opentext.com [10.2.102.26]) by vectorsvc.wl.opentext.com (8.12.8/8.12.8) with ESMTP id o6NJCBqt024645 for ; Fri, 23 Jul 2010 15:12:11 -0400 X-MimeOLE: Produced By Microsoft Exchange V6.5 Content-class: urn:content-classes:message MIME-Version: 1.0 Subject: RE: linking static lib fails on Solaris9 Date: Fri, 23 Jul 2010 15:12:10 -0400 Message-ID: In-Reply-To: <20100723190933.6556.qmail@stuge.se> X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: linking static lib fails on Solaris9 Thread-Index: Acsqms1+thRUoXyCRyKy15C4I8BBYAAAAogQ References: <20100723185559.GB24358@coneharvesters.com> <20100723190933.6556.qmail@stuge.se> From: "Alona Rossen" To: "libssh2 development" X-Archived: msg.1U533QL:2010-07-23:otwlpm01.smtp.dmz.opentext.com X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Fri, 23 Jul 2010 21:12:25 +0200 (CEST) X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Fri, 23 Jul 2010 21:12:22 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se Similar to missing ar, another issue was our env configuration. In particular, I was trying to build with CC, rather than cc compiler. -----Original Message----- From: libssh2-devel-bounces@cool.haxx.se [mailto:libssh2-devel-bounces@cool.haxx.se] On Behalf Of Peter Stuge Sent: Friday, July 23, 2010 3:10 PM To: libssh2-devel@cool.haxx.se Subject: Re: linking static lib fails on Solaris9 Alona Rossen wrote: > You were right - ar was not in the PATH. However, it was not the > only issue. Would you mind sharing what other issues there were, so that libssh2 can be improved? > > configure:6782: checking for ar > > configure:6812: result: no I think this should make configure fail, or at least not try to build a static library. It seems like something that autoconf should already deal with - does anyone know why it didn't trigger an error? //Peter _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel From libssh2-devel-bounces@cool.haxx.se Fri Jul 23 21:59:26 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6NJxGqI027054; Fri, 23 Jul 2010 21:59:25 +0200 Received: from ponderosa.fch.wimsey.bc.ca (zz20920564179.cipherkey.net [209.205.64.179]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6NJxE4n027044 for ; Fri, 23 Jul 2010 21:59:15 +0200 Received: by coneharvesters.com via sendmail with stdio id for libssh2-devel@cool.haxx.se; Fri, 23 Jul 2010 12:59:07 -0700 (PDT) Date: Fri, 23 Jul 2010 12:59:07 -0700 From: Dan Fandrich To: libssh2-devel@cool.haxx.se Subject: Re: linking static lib fails on Solaris9 Message-ID: <20100723195906.GA24764@coneharvesters.com> Mail-Followup-To: libssh2-devel@cool.haxx.se References: <20100723185559.GB24358@coneharvesters.com> <20100723190933.6556.qmail@stuge.se> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20100723190933.6556.qmail@stuge.se> User-Agent: Mutt/1.5.19 (2009-01-05) X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Fri, 23 Jul 2010 21:59:26 +0200 (CEST) X-Greylist: Default is to whitelist mail, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Fri, 23 Jul 2010 21:59:15 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se On Fri, Jul 23, 2010 at 09:09:33PM +0200, Peter Stuge wrote: > I think this should make configure fail, or at least not try to build > a static library. It seems like something that autoconf should > already deal with - does anyone know why it didn't trigger an error? It did trigger an error, just much later when it tried to create the static library. It's probably not trivial to get it completely right in configure. It's really up to libtool to do the linking, and there are platforms that don't use or don't need ar to make static libraries. >>> Dan _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel From libssh2-devel-bounces@cool.haxx.se Fri Jul 23 22:11:00 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6NKAmIf004630; Fri, 23 Jul 2010 22:10:57 +0200 Received: from toccata.fugue.com (toccata.fugue.com [204.152.186.142]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6NKAlG5004622 for ; Fri, 23 Jul 2010 22:10:47 +0200 Received: from [10.1.10.13] (173-162-214-218-NewEngland.hfc.comcastbusiness.net [173.162.214.218]) by toccata.fugue.com (Postfix) with ESMTPSA id 1502534E44EF for ; Fri, 23 Jul 2010 16:10:55 -0400 (EDT) Mime-Version: 1.0 (Apple Message framework v1081) Subject: Re: Incomplete read of channel 0 data from remote host. From: Ted Lemon In-Reply-To: <5EAD92EA-6170-4EB8-B6DD-CF2F90977FD5@fugue.com> Date: Fri, 23 Jul 2010 16:10:37 -0400 Message-Id: References: <20100723135801.17662.qmail@stuge.se> <20100723143357.23783.qmail@stuge.se> <20100723170941.18475.qmail@stuge.se> <5EAD92EA-6170-4EB8-B6DD-CF2F90977FD5@fugue.com> To: libssh2 development X-Mailer: Apple Mail (2.1081) X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Fri, 23 Jul 2010 22:11:00 +0200 (CEST) X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Fri, 23 Jul 2010 22:10:48 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se On Jul 23, 2010, at 1:42 PM, Ted Lemon wrote: > I will take a look at it when I get a chance--I definitely have some ideas for how to improve libssh2, some of which you might like--but for now I will use the larger buffer size to get over this obstacle. It turns out that my problem was something much lamer than I thought. I would get a single read available event every time new data came from the server. But since I wasn't reading all the data, and since the ssh library had read and cached all the data, I would get *some* data, but not the rest. This became obvious once I got the keyboard working--every time I hit return, I'd get 1024 bytes of output. :) So in fact there is no bug in the library--I'm just not as smart as I thought. _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel From libssh2-devel-bounces@cool.haxx.se Fri Jul 23 23:24:59 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6NLOjOK021455; Fri, 23 Jul 2010 23:24:57 +0200 Received: from toccata.fugue.com (toccata.fugue.com [204.152.186.142]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6NLOh67021435 for ; Fri, 23 Jul 2010 23:24:44 +0200 Received: from [10.1.10.13] (173-162-214-218-NewEngland.hfc.comcastbusiness.net [173.162.214.218]) by toccata.fugue.com (Postfix) with ESMTPSA id 294BA34E46B9 for ; Fri, 23 Jul 2010 17:24:51 -0400 (EDT) From: Ted Lemon Subject: Updating terminal rows and columns after pty is created... Date: Fri, 23 Jul 2010 17:24:31 -0400 Message-Id: <56D476EC-2A20-4F3B-8D1F-6071CA510E14@fugue.com> To: libssh2 development Mime-Version: 1.0 (Apple Message framework v1081) X-Mailer: Apple Mail (2.1081) X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Fri, 23 Jul 2010 23:24:59 +0200 (CEST) X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Fri, 23 Jul 2010 23:24:44 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se I thought that the ssh protocol allowed you to send new width and height values for the terminal if it was resized, but I don't see anything that does that in the API. Is that a protocol feature that doesn't have an API yet, or am I just out to lunch? _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel From libssh2-devel-bounces@cool.haxx.se Sat Jul 24 00:03:24 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6NM3Eeg007703; Sat, 24 Jul 2010 00:03:22 +0200 Received: from foo.birdnet.se (qmailr@foo.birdnet.se [213.88.146.6]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with SMTP id o6NM3Cqo007689 for ; Sat, 24 Jul 2010 00:03:12 +0200 Received: (qmail 5338 invoked by uid 501); 23 Jul 2010 22:03:08 -0000 Message-ID: <20100723220308.5337.qmail@stuge.se> Date: Sat, 24 Jul 2010 00:03:08 +0200 From: Peter Stuge To: libssh2-devel@cool.haxx.se Subject: Re: Updating terminal rows and columns after pty is created... Mail-Followup-To: libssh2-devel@cool.haxx.se References: <56D476EC-2A20-4F3B-8D1F-6071CA510E14@fugue.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <56D476EC-2A20-4F3B-8D1F-6071CA510E14@fugue.com> X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Sat, 24 Jul 2010 00:03:24 +0200 (CEST) X-Greylist: Default is to whitelist mail, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Sat, 24 Jul 2010 00:03:12 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se Ted Lemon wrote: > I thought that the ssh protocol allowed you to send new width and > height values for the terminal if it was resized, Yep, the "window-change" channel request. > but I don't see anything that does that in the API. Is that a > protocol feature that doesn't have an API yet, Yeah. Feel free to suggest a patch! > or am I just out to lunch? Good thing I just had dinner, or you would've made me hungry. :) //Peter _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel From libssh2-devel-bounces@cool.haxx.se Sat Jul 24 00:28:10 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6NMRvYm024323; Sat, 24 Jul 2010 00:28:08 +0200 Received: from toccata.fugue.com (toccata.fugue.com [204.152.186.142]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6NMRs7I023897 for ; Sat, 24 Jul 2010 00:27:55 +0200 Received: from [IPv6:2001:1938:206::226:bbff:fe0c:e5bf] (unknown [IPv6:2001:1938:206:0:226:bbff:fe0c:e5bf]) by toccata.fugue.com (Postfix) with ESMTPSA id 6526834E444C for ; Fri, 23 Jul 2010 18:28:03 -0400 (EDT) Mime-Version: 1.0 (Apple Message framework v1081) Subject: Re: Updating terminal rows and columns after pty is created... From: Ted Lemon In-Reply-To: <20100723220308.5337.qmail@stuge.se> Date: Fri, 23 Jul 2010 18:27:47 -0400 Message-Id: <98F2FB99-70CC-448C-BFC9-A3D337C2CF10@fugue.com> References: <56D476EC-2A20-4F3B-8D1F-6071CA510E14@fugue.com> <20100723220308.5337.qmail@stuge.se> To: libssh2 development X-Mailer: Apple Mail (2.1081) X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Sat, 24 Jul 2010 00:28:10 +0200 (CEST) X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Sat, 24 Jul 2010 00:27:55 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se On Jul 23, 2010, at 6:03 PM, Peter Stuge wrote: > Yep, the "window-change" channel request. Thanks. >> but I don't see anything that does that in the API. Is that a >> protocol feature that doesn't have an API yet, > > Yeah. Feel free to suggest a patch! I will do that today if I have time--it's kind of crucial on the iPad. _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel From libssh2-devel-bounces@cool.haxx.se Sat Jul 24 08:53:21 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6O6qtc0011845; Sat, 24 Jul 2010 08:53:16 +0200 Received: from oproxy1-pub.bluehost.com (oproxy1-pub.bluehost.com [66.147.249.253]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with SMTP id o6O6qpZ1011842 for ; Sat, 24 Jul 2010 08:52:53 +0200 Received: (qmail 32585 invoked by uid 0); 24 Jul 2010 05:53:57 -0000 Received: from unknown (HELO box439.bluehost.com) (69.89.31.239) by oproxy1.bluehost.com.bluehost.com with SMTP; 24 Jul 2010 05:53:57 -0000 DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=default; d=moontechnolabs.com; h=Received:From:Content-Type:Content-Transfer-Encoding:Subject:Date:Message-Id:To:Mime-Version:X-Mailer:X-Identified-User; b=IBkOL9BdtT8usYsmuuXMlmGJ6qoce29o13LQL6ohl9hd97SgpoH9BQXeVYk2Zw8xd0tiDwFP+eFFqQsvKZy/D89PFCG3sA4QODp3QLVUhR7z81dB00rO0NMZVBifgYqg; Received: from [122.169.80.132] (helo=[192.168.1.111]) by box439.bluehost.com with esmtpsa (TLSv1:AES128-SHA:128) (Exim 4.69) (envelope-from ) id 1OcYbJ-0007tw-Bq for libssh2-devel@cool.haxx.se; Sat, 24 Jul 2010 00:52:50 -0600 From: Paresh Thakor Subject: Using keys for private key Date: Sat, 24 Jul 2010 12:22:37 +0530 Message-Id: To: libssh2 development Mime-Version: 1.0 (Apple Message framework v1078) X-Mailer: Apple Mail (2.1078) X-Identified-User: {1089:box439.bluehost.com:moonsoft:moontechnolabs.com} {sentby:smtp auth 122.169.80.132 authed with paresh.thakor@moontechnolabs.com} X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Sat, 24 Jul 2010 08:53:21 +0200 (CEST) X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Sat, 24 Jul 2010 08:52:54 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se Hi, Could you please lemme know how to authenticate a user through private key? I'm not understanding my user requests i think.! Our ssh application allows user to be authenticated and fire commands once session and channel is created. I need to open terminal and allow user to input password there on terminal. So, I think user must open terminal without authentication. My another issue is that user must need to login terminal through private key. So, please lemme know if this it possible because it's critical for us to implement the functionality. Regards, Paresh Thakor. _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel From libssh2-devel-bounces@cool.haxx.se Sat Jul 24 09:00:23 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6O70Ism015920; Sat, 24 Jul 2010 09:00:21 +0200 Received: from toccata.fugue.com (toccata.fugue.com [204.152.186.142]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6O70GN1015879 for ; Sat, 24 Jul 2010 09:00:17 +0200 Received: from [IPv6:2001:1938:206::226:bbff:fe0c:e5bf] (unknown [IPv6:2001:1938:206:0:226:bbff:fe0c:e5bf]) by toccata.fugue.com (Postfix) with ESMTPSA id 4D02634E4231 for ; Sat, 24 Jul 2010 03:00:28 -0400 (EDT) Mime-Version: 1.0 (Apple Message framework v1081) Subject: Re: Using keys for private key From: Ted Lemon In-Reply-To: Date: Sat, 24 Jul 2010 03:00:12 -0400 Message-Id: <0C2CEDA7-F494-49E9-960F-ADB2A9579604@fugue.com> References: To: libssh2 development X-Mailer: Apple Mail (2.1081) X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Sat, 24 Jul 2010 09:00:23 +0200 (CEST) X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Sat, 24 Jul 2010 09:00:17 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se On Jul 24, 2010, at 2:52 AM, Paresh Thakor wrote: > Could you please lemme know how to authenticate a user through private key? Do you mean how does the server validate the user's private key against its copy of the user's public key? Or do you mean how does the user use their private key to authenticate to a host that has their public key? _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel From libssh2-devel-bounces@cool.haxx.se Sat Jul 24 09:08:17 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6O78Alf023249; Sat, 24 Jul 2010 09:08:16 +0200 Received: from oproxy3-pub.bluehost.com (oproxy3-pub.bluehost.com [69.89.21.8]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with SMTP id o6O788vU023245 for ; Sat, 24 Jul 2010 09:08:08 +0200 Received: (qmail 15622 invoked by uid 0); 24 Jul 2010 07:08:05 -0000 Received: from unknown (HELO box439.bluehost.com) (69.89.31.239) by oproxy3.bluehost.com with SMTP; 24 Jul 2010 07:08:05 -0000 DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=default; d=moontechnolabs.com; h=Received:Content-Type:Mime-Version:Subject:From:In-Reply-To:Date:Content-Transfer-Encoding:Message-Id:References:To:X-Mailer:X-Identified-User; b=Bbu4f+ZvjqGMKtwX98FXo/YFMFK0k98DrQ57CuFw3+pl1nNrdu8BCl678B289NFTRQnhpS7bZdO0PgH1quYjvjmkzz4Sbpd60YyAzx7saKUwo3l5S+7jpuVuAyvBwMoZ; Received: from [122.169.80.132] (helo=[192.168.1.111]) by box439.bluehost.com with esmtpsa (TLSv1:AES128-SHA:128) (Exim 4.69) (envelope-from ) id 1OcYq4-00044l-RK for libssh2-devel@cool.haxx.se; Sat, 24 Jul 2010 01:08:05 -0600 Mime-Version: 1.0 (Apple Message framework v1078) Subject: Re: Using keys for private key From: Paresh Thakor In-Reply-To: <0C2CEDA7-F494-49E9-960F-ADB2A9579604@fugue.com> Date: Sat, 24 Jul 2010 12:37:59 +0530 Message-Id: <04A50809-BEA7-40A0-BB21-FBE0B9FC5E0F@moontechnolabs.com> References: <0C2CEDA7-F494-49E9-960F-ADB2A9579604@fugue.com> To: libssh2 development X-Mailer: Apple Mail (2.1078) X-Identified-User: {1089:box439.bluehost.com:moonsoft:moontechnolabs.com} {sentby:smtp auth 122.169.80.132 authed with paresh.thakor@moontechnolabs.com} X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Sat, 24 Jul 2010 09:08:17 +0200 (CEST) X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Sat, 24 Jul 2010 09:08:09 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se I'm implementing libssh2 for iPhone application. And from the application, i'll allow a user to access remote machine and fire commands on terminal. But to use libssh2, i need to authenticate user first and then channel and session can be created, you can take a look at API. But I need is to establish session and channel by authenticating user with private key. So, i need to implement private key in my application. So, is this possible with libssh2? This is critical. On Jul 24, 2010, at 12:30 PM, Ted Lemon wrote: > On Jul 24, 2010, at 2:52 AM, Paresh Thakor wrote: >> Could you please lemme know how to authenticate a user through private key? > > Do you mean how does the server validate the user's private key against its copy of the user's public key? Or do you mean how does the user use their private key to authenticate to a host that has their public key? > > _______________________________________________ > libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel From libssh2-devel-bounces@cool.haxx.se Sat Jul 24 09:13:52 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6O7DnNh025382; Sat, 24 Jul 2010 09:13:51 +0200 Received: from toccata.fugue.com (toccata.fugue.com [204.152.186.142]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6O7Dldf025374 for ; Sat, 24 Jul 2010 09:13:47 +0200 Received: from [IPv6:2001:1938:206::226:bbff:fe0c:e5bf] (unknown [IPv6:2001:1938:206:0:226:bbff:fe0c:e5bf]) by toccata.fugue.com (Postfix) with ESMTPSA id B6CBC34E44DF for ; Sat, 24 Jul 2010 03:13:59 -0400 (EDT) Mime-Version: 1.0 (Apple Message framework v1081) Subject: Re: Using keys for private key From: Ted Lemon In-Reply-To: <04A50809-BEA7-40A0-BB21-FBE0B9FC5E0F@moontechnolabs.com> Date: Sat, 24 Jul 2010 03:13:44 -0400 Message-Id: References: <0C2CEDA7-F494-49E9-960F-ADB2A9579604@fugue.com> <04A50809-BEA7-40A0-BB21-FBE0B9FC5E0F@moontechnolabs.com> To: libssh2 development X-Mailer: Apple Mail (2.1081) X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Sat, 24 Jul 2010 09:13:52 +0200 (CEST) X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Sat, 24 Jul 2010 09:13:48 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se On Jul 24, 2010, at 3:07 AM, Paresh Thakor wrote: > So, i need to implement private key in my application. So, is this possible with libssh2? This is critical. Yes. Instead of using libssh2_userauth_password(), use libssh2_userauth_publickey_fromfile(): rc = libssh2_userauth_publickey_fromfile(session, "username", [pubkey UTF8String], [privkey UTF8String], ""); The pubkey and privkey variables in the example are NSStrings containing the path to the file. There's also an API for doing it from memory, but I haven't tried that. _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel From libssh2-devel-bounces@cool.haxx.se Sat Jul 24 13:13:25 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6OBD4nF020818; Sat, 24 Jul 2010 13:13:21 +0200 Received: from oproxy2-pub.bluehost.com (oproxy2-pub.bluehost.com [67.222.39.60]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with SMTP id o6OBD0T3020740 for ; Sat, 24 Jul 2010 13:13:02 +0200 Received: (qmail 4794 invoked by uid 0); 24 Jul 2010 11:12:57 -0000 Received: from unknown (HELO box439.bluehost.com) (69.89.31.239) by oproxy2.bluehost.com with SMTP; 24 Jul 2010 11:12:57 -0000 DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=default; d=moontechnolabs.com; h=Received:Content-Type:Mime-Version:Subject:From:In-Reply-To:Date:Content-Transfer-Encoding:Message-Id:References:To:X-Mailer:X-Identified-User; b=MtGt28FWs2kTYVpw8tqEVv7BpndfjXvcxPowZcuVcyhBEwO9/UboeWIcyo2xluex/3vhF6CUiHYBgPLo+mQ2lVNOPWY6R9IeXcvOYHD8ook7yk6bTK95scYBGyMliWZ/; Received: from [122.170.26.73] (helo=[192.168.1.111]) by box439.bluehost.com with esmtpsa (TLSv1:AES128-SHA:128) (Exim 4.69) (envelope-from ) id 1Occf2-0001Cf-NS for libssh2-devel@cool.haxx.se; Sat, 24 Jul 2010 05:12:57 -0600 Mime-Version: 1.0 (Apple Message framework v1078) Subject: Re: Using keys for private key From: Paresh Thakor In-Reply-To: Date: Sat, 24 Jul 2010 16:42:51 +0530 Message-Id: <01EB0365-9015-40A3-9150-BD0989665390@moontechnolabs.com> References: <0C2CEDA7-F494-49E9-960F-ADB2A9579604@fugue.com> <04A50809-BEA7-40A0-BB21-FBE0B9FC5E0F@moontechnolabs.com> To: libssh2 development X-Mailer: Apple Mail (2.1078) X-Identified-User: {1089:box439.bluehost.com:moonsoft:moontechnolabs.com} {sentby:smtp auth 122.170.26.73 authed with paresh.thakor@moontechnolabs.com} X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Sat, 24 Jul 2010 13:13:25 +0200 (CEST) X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Sat, 24 Jul 2010 13:13:02 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se On Jul 24, 2010, at 12:43 PM, Ted Lemon wrote: > On Jul 24, 2010, at 3:07 AM, Paresh Thakor wrote: >> So, i need to implement private key in my application. So, is this possible with libssh2? This is critical. > > Yes. Instead of using libssh2_userauth_password(), use libssh2_userauth_publickey_fromfile(): > > rc = libssh2_userauth_publickey_fromfile(session, > "username", [pubkey UTF8String], > [privkey UTF8String], ""); > > The pubkey and privkey variables in the example are NSStrings containing the path to the file. There's also an API for doing it from memory, but I haven't tried that. I'm just wondering that, private key will be on server which is the machine which runs virtual terminal. So, the computer to which i need remote access will be having private key. Public key will be on my iPhone device from which i need to set remote access. What will be passphrase? do i need to specify it? And how libssh2 will access public and private keys from filename or path only? Are they both will be on server, i.e. the machine on which i need to setup remote access? I need to implement functionality that when user inputs no password and specified the private key file, ssh must authenticate the user without password. Please suggest something. I think i'm getting confused between public/private keys and how to set up remote connection between two devices with keypair. Regards, Paresh Thakor. > > _______________________________________________ > libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel From libssh2-devel-bounces@cool.haxx.se Sat Jul 24 14:17:35 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6OCHL9T028577; Sat, 24 Jul 2010 14:17:33 +0200 Received: from oproxy3-pub.bluehost.com (oproxy3-pub.bluehost.com [69.89.21.8]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with SMTP id o6OCHIs0028564 for ; Sat, 24 Jul 2010 14:17:18 +0200 Received: (qmail 28793 invoked by uid 0); 24 Jul 2010 12:17:14 -0000 Received: from unknown (HELO box439.bluehost.com) (69.89.31.239) by oproxy3.bluehost.com with SMTP; 24 Jul 2010 12:17:14 -0000 DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=default; d=moontechnolabs.com; h=Received:Content-Type:Mime-Version:Subject:From:In-Reply-To:Date:Content-Transfer-Encoding:Message-Id:References:To:X-Mailer:X-Identified-User; b=tGs0WvzGJZrRhTQyC+Doex3bn3WIEhtQresf3yir3HuLJTiSWXynUNwi1xzWZtMbn7Z/ZAmWjF201BmycyHteI9HGCylPGhIq5heJimatjBdGm99KJ6XshxKq3Gey+W6; Received: from [122.170.26.73] (helo=[192.168.1.111]) by box439.bluehost.com with esmtpsa (TLSv1:AES128-SHA:128) (Exim 4.69) (envelope-from ) id 1OcdfF-0004sO-DA for libssh2-devel@cool.haxx.se; Sat, 24 Jul 2010 06:17:14 -0600 Mime-Version: 1.0 (Apple Message framework v1078) Subject: Re: Using keys for private key From: Paresh Thakor In-Reply-To: <01EB0365-9015-40A3-9150-BD0989665390@moontechnolabs.com> Date: Sat, 24 Jul 2010 17:47:05 +0530 Message-Id: References: <0C2CEDA7-F494-49E9-960F-ADB2A9579604@fugue.com> <04A50809-BEA7-40A0-BB21-FBE0B9FC5E0F@moontechnolabs.com> <01EB0365-9015-40A3-9150-BD0989665390@moontechnolabs.com> To: libssh2 development X-Mailer: Apple Mail (2.1078) X-Identified-User: {1089:box439.bluehost.com:moonsoft:moontechnolabs.com} {sentby:smtp auth 122.170.26.73 authed with paresh.thakor@moontechnolabs.com} X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Sat, 24 Jul 2010 14:17:35 +0200 (CEST) X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Sat, 24 Jul 2010 14:17:19 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se Can you suggest me on iPhone device, where my public and private keys will be? How can i send passphrase? On Jul 24, 2010, at 4:42 PM, Paresh Thakor wrote: > > On Jul 24, 2010, at 12:43 PM, Ted Lemon wrote: > >> On Jul 24, 2010, at 3:07 AM, Paresh Thakor wrote: >>> So, i need to implement private key in my application. So, is this possible with libssh2? This is critical. >> >> Yes. Instead of using libssh2_userauth_password(), use libssh2_userauth_publickey_fromfile(): >> >> rc = libssh2_userauth_publickey_fromfile(session, >> "username", [pubkey UTF8String], >> [privkey UTF8String], ""); >> >> The pubkey and privkey variables in the example are NSStrings containing the path to the file. There's also an API for doing it from memory, but I haven't tried that. > > I'm just wondering that, private key will be on server which is the machine which runs virtual terminal. So, the computer to which i need remote access will be having private key. Public key will be on my iPhone device from which i need to set remote access. What will be passphrase? do i need to specify it? And how libssh2 will access public and private keys from filename or path only? Are they both will be on server, i.e. the machine on which i need to setup remote access? > > I need to implement functionality that when user inputs no password and specified the private key file, ssh must authenticate the user without password. > > Please suggest something. I think i'm getting confused between public/private keys and how to set up remote connection between two devices with keypair. > > Regards, > Paresh Thakor. > >> >> _______________________________________________ >> libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel > > _______________________________________________ > libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel From libssh2-devel-bounces@cool.haxx.se Sat Jul 24 15:55:50 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6ODtX2n020137; Sat, 24 Jul 2010 15:55:48 +0200 Received: from toccata.fugue.com (toccata.fugue.com [204.152.186.142]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6ODtVH7020134 for ; Sat, 24 Jul 2010 15:55:32 +0200 Received: from [10.22.180.124] (mobile-166-137-139-170.mycingular.net [166.137.139.170]) by toccata.fugue.com (Postfix) with ESMTPSA id B835434E4457 for ; Sat, 24 Jul 2010 09:55:39 -0400 (EDT) Subject: Re: Using keys for private key References: <0C2CEDA7-F494-49E9-960F-ADB2A9579604@fugue.com> <04A50809-BEA7-40A0-BB21-FBE0B9FC5E0F@moontechnolabs.com> <01EB0365-9015-40A3-9150-BD0989665390@moontechnolabs.com> From: Ted Lemon X-Mailer: iPhone Mail (8A293) In-Reply-To: Message-Id: <601418AC-EC70-4DC2-914F-3745EFBC42E2@fugue.com> Date: Sat, 24 Jul 2010 09:55:08 -0400 To: libssh2 development Mime-Version: 1.0 (iPhone Mail 8A293) X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Sat, 24 Jul 2010 15:55:50 +0200 (CEST) X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Sat, 24 Jul 2010 15:55:32 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se On Jul 24, 2010, at 8:17 AM, Paresh Thakor wrote: > Can you suggest me on iPhone device, where my public and private keys will be? How can i send passphrase? The server determines that you have your private key using your public key--it never sees the private key. The iPhone has the private key. If you use a passphrase, the user types it on the iPhone, and it is only used in libssh2_userauth_pubkey_*, never sent to server. If you didn't encrypt the key, you don't need the passphrase--just use an empty string as on the example I sent. The real trick on the iPhone is getting the public/private key pair there in the first place. _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel From libssh2-devel-bounces@cool.haxx.se Fri Jul 30 23:44:11 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6ULhonF023550; Fri, 30 Jul 2010 23:44:08 +0200 Received: from mail.scriptpro.com (mail.scriptpro.com [69.150.239.3]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6ULhmAS023543 for ; Fri, 30 Jul 2010 23:43:49 +0200 Received: from 192.168.190.236 ([192.168.190.236]) by mail.scriptpro.com with XWall v3.45e ; Fri, 30 Jul 2010 16:43:39 -0500 Received: from excsvr002.scriptpro.com ([192.168.190.184]) by mxsvr003.scriptpro.com with XWall v3.44m ; Fri, 30 Jul 2010 16:43:38 -0500 X-MimeOLE: Produced By Microsoft Exchange V6.5 Content-class: urn:content-classes:message MIME-Version: 1.0 Subject: libssh2, winsshd, SFTP, and publickey login Date: Fri, 30 Jul 2010 16:43:38 -0500 Message-ID: <40AAD23D4FC4A6449A444BBCF60892BF015AC945@EXCSVR000.scriptpro.com> X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: libssh2, winsshd, SFTP, and publickey login Thread-Index: AcswMEVCkQW3eiT0QriDI2ZtCGT8pQ== From: To: X-XWALL-BCKS: auto X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Fri, 30 Jul 2010 23:44:11 +0200 (CEST) X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Fri, 30 Jul 2010 23:43:49 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: multipart/mixed; boundary="===============2062280317==" Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se This is a multi-part message in MIME format. --===============2062280317== Content-class: urn:content-classes:message Content-Type: multipart/alternative; boundary="----_=_NextPart_001_01CB3030.453D4B37" This is a multi-part message in MIME format. ------_=_NextPart_001_01CB3030.453D4B37 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable (I apologize if this double posts.) Can anybody tell me if there is a trick to getting the key format right, so I can use cUrl/libssh2 to do an SFTP transfer to/from a winsshd server with a username and publickey? I have a key that works with putty's psftp, and I've tried several ways to convert it with the puttygen tool, but the best I can get out of winsshd (via event log) are things like ... Logon attempt 1 for user name 'test' with logon method 'publickey' (algorithm: '-----BEGIN', public key MD5: 2f:97:f3:92:54:28:b2:25:50:b9:51:8e:4d:8f:a8:e8, test only) failed: The received public key algorithm name is unsupported or doesn't match the algorithm encoded in the public key. We've upgraded to the latest version of winsshd, and I've tried libssh2 v1.0 and v1.2.6. Winsshd support basically just tells us to switch to a better tool. Thanks, Rod Rodney Hamilton | ScriptPro Senior Software Engineer | direct 913.403.5305 | fax 913.384.2180 | rhamilton@scriptpro.com 5828 Reeds Road, Mission KS 66202 | main 913.384.1008 | www.scriptpro.com ------_=_NextPart_001_01CB3030.453D4B37 Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable libssh2, winsshd, SFTP, and publickey login

(I apologize if this double posts.)

Can anybody = tell me if there is a trick to getting the key format right, so I can = use cUrl/libssh2 to do an SFTP transfer to/from a winsshd server with a = username and publickey?  I have a key that works with putty’s = psftp, and I’ve tried several ways to convert it with the puttygen = tool, but the best I can get out of winsshd (via event log) are things = like …

      Logon attempt 1 = for user name 'test' with logon method 'publickey' (algorithm: = '-----BEGIN', public key MD5: = 2f:97:f3:92:54:28:b2:25:50:b9:51:8e:4d:8f:a8:e8, test only) failed: The = received public key algorithm name is unsupported or doesn't match the = algorithm encoded in the public key.

We’ve = upgraded to the latest version of winsshd, and I’ve tried libssh2 = v1.0 and v1.2.6.  Winsshd support basically just tells us to switch = to a better tool.

Thanks,

Rod

Rodney = Hamilton | ScriptPro

Senior = Software Engineer | = direct = 913.403.5305 | fax 913.384.2180 | rhamilton@scriptpro.com

5828 = Reeds Road, Mission KS = 66202 | = main 913.384.1008 | www.scriptpro.com

------_=_NextPart_001_01CB3030.453D4B37-- --===============2062280317== 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 --===============2062280317==-- From libssh2-devel-bounces@cool.haxx.se Fri Jul 30 23:53:39 2010 Return-Path: Received: from giant.haxx.se (list@localhost.localdomain [127.0.0.1]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6ULraiI027359; Fri, 30 Jul 2010 23:53:39 +0200 Received: from giant.haxx.se (dast@giant.haxx.se [80.67.6.50]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id o6ULrY0D027335 for ; Fri, 30 Jul 2010 23:53:34 +0200 Date: Fri, 30 Jul 2010 23:53:34 +0200 (CEST) From: Daniel Stenberg X-X-Sender: dast@giant.haxx.se To: libssh2 development Subject: Re: libssh2, winsshd, SFTP, and publickey login In-Reply-To: <40AAD23D4FC4A6449A444BBCF60892BF015AC945@EXCSVR000.scriptpro.com> Message-ID: References: <40AAD23D4FC4A6449A444BBCF60892BF015AC945@EXCSVR000.scriptpro.com> User-Agent: Alpine 2.00 (DEB 1167 2008-08-23) X-fromdanielhimself: yes MIME-Version: 1.0 X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [127.0.0.1]); Fri, 30 Jul 2010 23:53:39 +0200 (CEST) X-Greylist: Default is to whitelist mail, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Fri, 30 Jul 2010 23:53:34 +0200 (CEST) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.13 Precedence: list Reply-To: libssh2 development List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="us-ascii"; Format="flowed" Sender: libssh2-devel-bounces@cool.haxx.se Errors-To: libssh2-devel-bounces@cool.haxx.se On Fri, 30 Jul 2010, rhamilton@scriptpro.com wrote: > Can anybody tell me if there is a trick to getting the key format right, so > I can use cUrl/libssh2 to do an SFTP transfer to/from a winsshd server with > a username and publickey? I have a key that works with putty's psftp, and > I've tried several ways to convert it with the puttygen tool Note that libssh2's API still requires you to pass on both the private and the public keys, so you must have both in the correct format. But it would help if you'd show us the exact little example source code you're running when you get your problem, and tell us what return code/error the libssh2 function that fails returns etc. Possibly also show us what a trace output log reveals. > Logon attempt 1 for user name 'test' with logon method > 'publickey' (algorithm: '-----BEGIN', That certainly seems like a bad algorithm and an indication of a problem. It indicates the file is bad I'd say. Or perhaps a bug in libssh2. > We've upgraded to the latest version of winsshd, and I've tried libssh2 > v1.0 and v1.2.6. There's no point in using any other libssh2 version than the most recent one. -- / daniel.haxx.se _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel