From libssh2-devel-bounces@cool.haxx.se Wed Sep 2 14:32:55 2020 Return-Path: Received: from www.haxx.se (mail [127.0.0.1]) by giant.haxx.se (8.15.2/8.15.2/Debian-4) with ESMTP id 082CW6Ht016114; Wed, 2 Sep 2020 14:32:43 +0200 Received: from mail-pl1-x62c.google.com (mail-pl1-x62c.google.com [IPv6:2607:f8b0:4864:20:0:0:0:62c]) by giant.haxx.se (8.15.2/8.15.2/Debian-4) with ESMTPS id 082CW2W1016056 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Wed, 2 Sep 2020 14:32:03 +0200 Received: by mail-pl1-x62c.google.com with SMTP id q3so2212479pls.11 for ; Wed, 02 Sep 2020 05:32:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=moontechnolabs.com; s=google; h=from:mime-version:subject:message-id:date:to; bh=f08sy+L46fmAgQH2U3gnBxgbPbJ4ajNb2JpVzHVe3qs=; b=2euDi57fmDR6lhhv4oq8r5fcOIHuPgk8mKpwQpNbTDSA9N3zhjIQivuaIC/dZeXsZ7 +sIBuoUgcVMes+0+Db5fw+0EyiFSDa7WzJ/kOSEDnaRnWROg4SGYw4e3WrYEzWh1fdNI p2m8TlKTOn5vgzvhoF+veeZcGK5v9qWvmV+3w= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:mime-version:subject:message-id:date:to; bh=f08sy+L46fmAgQH2U3gnBxgbPbJ4ajNb2JpVzHVe3qs=; b=KKMWOgCorz+PofAMtyK3xZltkP70jmHGOq6lAPsDMQbqV2R4aAEgNRVbJHiqWfv/rg N1ayEvBBjRtgsHY55ZLQ2gEPXjQe90fOdwRYl3FRUbf2ONsa7nfLPwCmnguBnDmWN6Rl yIRVZsc384GAy9T5ATR2wnkZE3jGew5+pdg/PPF9xQ8Kj2nTuaP+V9BXQZM/Isf0WRD+ dLHkOwfrS5xcsrrNQCKblWNSyvx1UdGUDFuOqQoedhiLjq9NG+nghlpp12Gr6BkTLqph KPD04fmXrTjGA+ww8Ll1eWivhiF17xGRy+xHyV1NMtSmOmObqUVH4TM1dYpvZXvVcLA7 C4Jg== X-Gm-Message-State: AOAM531DAng7soa1ZTQMC/Eyx87ERpQ6Pe7264ofcaz/zKjIfxqt3yUt WqazOfXtycq3BIvWmULbzxiKIiGcOixGuZyO X-Google-Smtp-Source: ABdhPJziwU9w9tRxOhpIH/FOjq1v0+mqPn7DUrEY7nXeW6PRY1nL2Wdq6bhLUbuGrtSls8EutGoEiQ== X-Received: by 2002:a17:90a:ae15:: with SMTP id t21mr2146871pjq.224.1599049916796; Wed, 02 Sep 2020 05:31:56 -0700 (PDT) Received: from [192.168.1.119] ([122.170.1.34]) by smtp.gmail.com with ESMTPSA id e142sm5867036pfh.108.2020.09.02.05.31.54 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 02 Sep 2020 05:31:55 -0700 (PDT) From: Riddhi K Mime-Version: 1.0 (Mac OS X Mail 13.4 \(3608.120.23.2.1\)) Subject: App Crash Message-Id: <2E266EF9-CAB9-4B93-BD46-CDB61BC15531@moontechnolabs.com> Date: Wed, 2 Sep 2020 18:01:50 +0530 To: libssh2 development X-Mailer: Apple Mail (2.3608.120.23.2.1) X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.22 Precedence: list List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: libssh2 development Content-Type: multipart/mixed; boundary="===============1906761248==" Errors-To: libssh2-devel-bounces@cool.haxx.se Sender: "libssh2-devel" --===============1906761248== Content-Type: multipart/alternative; boundary="Apple-Mail=_D7873FEA-3B57-4AB7-AB58-D32C3CEEFB40" --Apple-Mail=_D7873FEA-3B57-4AB7-AB58-D32C3CEEFB40 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii Hello Team, I am using libssh2 library for an iOS/Mac OS application related to SSH = Client. The issue is I am getting app crash sometimes randomly on method = call of libssh2_channel_open. Please find attachment below for crash = logs after calling this method. Thank you, Riddhi.= --Apple-Mail=_D7873FEA-3B57-4AB7-AB58-D32C3CEEFB40 Content-Type: multipart/related; type="text/html"; boundary="Apple-Mail=_82A769C8-46CC-4656-8529-400ABAE835B3" --Apple-Mail=_82A769C8-46CC-4656-8529-400ABAE835B3 Content-Transfer-Encoding: 7bit Content-Type: text/html; charset=us-ascii Hello Team,

I am using libssh2 library for an iOS/Mac OS application related to SSH Client. The issue is I am getting app crash sometimes randomly on method call of libssh2_channel_open. Please find attachment below for crash logs after calling this method.


Thank you,
Riddhi.
--Apple-Mail=_82A769C8-46CC-4656-8529-400ABAE835B3 Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="Screenshot 2020-09-02 at 5.56.07 PM.png" Content-Type: image/png; x-unix-mode=0644; name="Screenshot 2020-09-02 at 5.56.07 PM.png" Content-Id: <0EEFDFA6-4CA3-4172-BC32-57BA26A98742> iVBORw0KGgoAAAANSUhEUgAAAtcAAADLCAYAAAClBb+UAAABRmlDQ1BJQ0MgUHJvZmlsZQAAKJFj YGASSSwoyGFhYGDIzSspCnJ3UoiIjFJgf8LAycDEIMhgxKCWmFxc4BgQ4ANUwgCjUcG3awyMIPqy LsisPs0n6bd+MfNqCxR/fS5gG4OpHgVwpaQWJwPpP0CckVxQVMLAwJgCZCuXlxSA2B1AtkgR0FFA 9hwQOx3C3gBiJ0HYR8BqQoKcgewbQLZAckYi0AzGF0C2ThKSeDoSG2ovCPD5uCt4BgQruIX6+Hi4 EHAwqaAktaIERDvnF1QWZaZnlCg4AkMpVcEzL1lPR8HIwMiAgQEU5hDVn2+Aw5JRjAMhVgj0o5Un AwNTLkIsIYCBYccHkFcRYqo6DAw8xxkYDsQWJBYlwh3A+I2lOM3YCMLm3s7AwDrt///P4QwM7JoM DH+v////e/v//3+XMTAw3wLq/QYAoGNfW5yjFvkAAABiZVhJZk1NACoAAAAIAAIBEgADAAAAAQAB AACHaQAEAAAAAQAAACYAAAAAAAOShgAHAAAAEgAAAFCgAgAEAAAAAQAAAtegAwAEAAAAAQAAAMsA AAAAQVNDSUkAAABTY3JlZW5zaG90PMo16gAAAj1pVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADx4 OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IlhNUCBDb3JlIDUuNC4w Ij4KICAgPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJk Zi1zeW50YXgtbnMjIj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAg ICAgICAgeG1sbnM6ZXhpZj0iaHR0cDovL25zLmFkb2JlLmNvbS9leGlmLzEuMC8iCiAgICAgICAg ICAgIHhtbG5zOnRpZmY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vdGlmZi8xLjAvIj4KICAgICAgICAg PGV4aWY6VXNlckNvbW1lbnQ+U2NyZWVuc2hvdDwvZXhpZjpVc2VyQ29tbWVudD4KICAgICAgICAg PGV4aWY6UGl4ZWxYRGltZW5zaW9uPjcyNzwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAg 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 P39+2nA23XRTeeaZZ9zzk046Ka2bQt+86KKLZN9995Utttii0FFbfIaAIWAIGAKGgCFgCJRpBApK riGQJ5xwgsyePVs6d+4sV1xxhZx66qly3HHHlTpIc+bMkYEDB+YtnvHjx8uwYcPyEt7jjz8ukyZN cmGRxnXWWUdq167trl966SUZM2aMzJ07Ny9x5SOQn376SbbZZpt8BGVhGAKGgCFgCBgChoAhUKEQ KCi5fvTRRx14b731llStWlVGjBghe+65p+y0004F02CX9ttbsmSJjBw5Urp165ZzVHfffXfolkHH PffcIx06dAjv2YkhYAgYAoaAIWAIGAKGQPlAoKA21++++64ceuihjlgDT5cuXeSMM86QWbNmhWjt vffe8tFHH8nxxx8va6+9tjv6h5MnT5ZTTjlFNtpoI9lkk03k2muvlX///dc/lt9//10OOeQQ5w/N KhrhuLz55puy3XbbyQYbbCC33npryuP+/fvLrrvuKuutt54cffTRMm7cuPA52nbSyrM99thDhgwZ Ej6LnhAnYXz77bfR2yU+X7x4sdP0b7jhhi79X3zxRUqY2XCD8N9+++2y5ZZbOlOOG264QQjPy+ef f+7ytO6668oOO+wgvKeoDB48OHx+1llnZTRhifqxc0PAEDAEDAFDwBAwBCojAgUl15DVdu3apeB8 +umnOzLsb06cOFEuv/xy6dWrl7z44oty8cUX+0fufosWLeS7775zBBCCiRsvEL/tt99eMFt45JFH 5P7775cBAwb4x44UkobXX39d7rjjDnn44Yfl+++/d8+xez7//PMF4olpxvrrr+9MVrARR6677jqZ OXOmfPjhh3LXXXfJqFGj3P34v5133lnOPvtsZ08ef1aS688++0x23HFHN/Do2bOnYPcclWy4kV7s 3Pv27et+P/74o/hZBAY2J598slxyySXy888/y1VXXeXsyKdNm+aC/+eff5wpDwOKL7/8UnbZZReZ MmVKNGo7NwQMAUPAEDAEDAFDwBD4D4GCkmu0pdWqVUsE/7zzzpPDDz/cke6uXbuG7h988EG5+uqr 5a+//pK///7bEdg//vgjfM4JttULFy6UNdZYQ/r16+fsl72DunXryplnnilNmjRx5J0Fld4/iwb3 2Wcfp01fsGCBHHPMMc68Y/To0bJ06VJHSi+88EJp2bKlrL766rL77rv7YFOOmHNAruvXr59yv6QX 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 Q8AQMARKC4GCa675GtPgwYPd18k22mijlC9OFTeTEOvK/CWg4uKWzZ83ocnmxp4ZAqWFwOjRo91M FJ8Q95/JLmpcfFKZcsyX5aLCGg0+Q86XAjfccMOULyVizjVo0CD3dbT11lsv7ad7c0kbnyrnq3l8 7trL999/78zE/LU/duvWLW9fmeOT0r/88os0a9ZMaF/z1S7yGeMff/zRJZnPr99www0++SlHTPT4 3DFfI/QyfPhw9xXBPn36+Ft5PZ5++uly8skny7rrrps2XPaCJu18NY532rJly7TuCn1zxIgR7jPv Tz31VKGjLjPxUT+//vpr2WKLLSqkguy3335zdbtt27Yh5kltDLPGcCTakHTllfpE2xIV6nr8C5dT p06VFi1aRJ25c/yPHDnSbViw1lprrfDc30iX9qS0eb98ofKnn34SPuce3RQhW9vr/VaYo2onA31R 7sd5aYp+XjfQb9oHZ5xxRnDggQcG2267bTBlypQSR/nyyy8H+hIxaLZfnjDYZ599Au2QSvxuLABD oKgIPProo0H37t2D448/PlDyG1x66aVFCkJJbHDJJZe4NuGbb75J8avE07VB++23X7DbbrsFO+64 Y9gG0Q7uvPPOrm069thjnX/9zHOK/6S0jRkzJjjssMMC7bSCc845J8XvIYccElCvor+OHTsG2pGm uCvuxdtvvx1oZxycddZZwU477RQQnxLL4gaX4k9Jc/DFF18EN954Y7DnnnumPItegNtzzz0XvRXo QMbhkXIzjxebb7558Nlnn6UNUT/bHWJBv6MEPIi/07QeC3CT9nWNNdYocUx33nlnoIOqEoezMgJQ AhhsuummwaRJk1ZG9KUap5LLQAfXwS233BLGk9TGKCkNDj300GCzzTYLqEv6oaDgww8/DP1zcvDB Bwfrr7++c4M7fnPmzHFudFOHgHbg8MMPd7imeNSLK664wvGuc889N9hqq62C888/P+7EXadLey5p 84GRZ9o22lsv2dpe76YiHZn6Lwi51hFqsMkmmwQQbC8UnptuuslfFvv46quvus7YyHX+Bhd0oJAU E0OgkAhMnjw56Nq1azBkyBAX7dy5cx0xGzhwYE7JePfdd4NevXoFDz74YFpyDfG9/fbbw7BOPfXU 4JprrnHXkBTaJC+qaQ223357fxkkpY2ODYUBHYtqzUN/mU769+8f7LHHHpkeF/k+cb/++uvOHx2h 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 AAAAAElFTkSuQmCC --Apple-Mail=_82A769C8-46CC-4656-8529-400ABAE835B3-- --Apple-Mail=_D7873FEA-3B57-4AB7-AB58-D32C3CEEFB40-- --===============1906761248== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: inline X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGlic3NoMi1k ZXZlbCBodHRwczovL2Nvb2wuaGF4eC5zZS9jZ2ktYmluL21haWxtYW4vbGlzdGluZm8vbGlic3No Mi1kZXZlbAo= --===============1906761248==-- From libssh2-devel-bounces@cool.haxx.se Thu Sep 3 21:01:56 2020 Return-Path: Received: from www.haxx.se (mail [127.0.0.1]) by giant.haxx.se (8.15.2/8.15.2/Debian-4) with ESMTP id 083J0xUe010403; Thu, 3 Sep 2020 21:01:44 +0200 Received: from mgnj17.bloomberg.net (mgnj17.bloomberg.net [69.191.244.239]) by giant.haxx.se (8.15.2/8.15.2/Debian-4) with ESMTPS id 083J0uu5010362 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Thu, 3 Sep 2020 21:00:57 +0200 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bloomberg.net; l=6920; q=dns/txt; s=20181022; t=1599159659; x=1599246059; h=date:from:reply-to:to:mime-version:message-id:subject: content-id; bh=jZY9wQIvpLPEEsrvWjtodXqJ1VQcSnNQq2R48LyHSR4=; b=ZHa7QHTkNk0vrT+jfnNa2vLirn/F6r/FZS7FVTxui8VLuQl3AXhtACUc wItbpdkp8Nk4xjc1c+GKEmGp3tUICwjJvBaXmVH8oXy2X7hCYF5gOIY1T taoWIgsfFQsS2Z1tZFQzK0N87M3dYUPQ52XVup4YbxI3/P0ZGMHcIn0EG KepdVuysH+r0KF79D8ER/rE2xkDnaKBi4jpN9QaZX+FcLj3kVi5GecKBo aRzO8kqgANigJekdm4ywcNHVJfFMQsqmPzQ0YeVeC1b73KvmMeKHU0mBj xRQgjkoXKWNSZ/tlKZTJMsqPkIzDM5U7TX1s06TST5MowqeLCF9HbJycN Q==; X-BB-Reception-Complete: 03 Sep 2020 15:00:52 -0400 X-IP-Listener: Outgoing Mail X-IP-MID: 134508647 Received: from msllnjpmsgsv06.bloomberg.com (HELO msllnjpmsgsv06) ([10.126.134.166]) by mgnj17.bloomberg.net with SMTP; 03 Sep 2020 15:00:52 -0400 X-BLP-INETSVC: version=BLP_APP_S_INETSVC_1.0.1; host=mgnj17:25; conid=410 Date: Thu, 3 Sep 2020 19:00:45 -0000 From: "Tamar Sery (BLOOMBERG/ 120 PARK)" To: libssh2-devel@cool.haxx.se MIME-Version: 1.0 Message-ID: <5F513D5D00C70720003906AC_0_76159@msllnjpmsgsv06> X-BLP-GUID: 5F513D5D00C70720003906AC0000 Subject: =?UTF-8?B?UmU6IFNGVFAgcmVhZCBidWZmZXIgc2l6ZQ==?= Content-ID: X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.22 Precedence: list List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Tamar Sery , libssh2 development Content-Type: multipart/mixed; boundary="===============0435894855==" Errors-To: libssh2-devel-bounces@cool.haxx.se Sender: "libssh2-devel" --===============0435894855== Content-Type: multipart/alternative; boundary="BOUNDARY_5F513D5D00C70720003906AC_0_113929_msllnjpmsgsv06" Content-ID: --BOUNDARY_5F513D5D00C70720003906AC_0_113929_msllnjpmsgsv06 Content-Type: text/plain; charset=UTF-8 Content-Disposition: inline Content-Transfer-Encoding: base64 VGhhbmsgeW91IQpJbmNyZWFzaW5nIHRoZSBidWZmZXIgc2l6ZSB0byAyMDAgLSAzMDBLIGhlbHBl ZCByZWR1Y2UgdGhlIGRvd25sb2FkIHRpbWUuIEkgZGlkbid0IGNvbnNpZGVyIHVzaW5nIHN1Y2gg YSBsYXJnZSBidWZmZXIgYmVmb3JlIHlvdSBzdWdnZXN0ZWQgaXQuIApXaGlsZSB1c2luZyBhIDgw SyBidWZmZXIsIGRvd25sb2FkaW5nIGZpbGVzIDEwTSBhbmQgbGFyZ2VyIHRvb2sgdGhlIHByb2dy YW0gb3ZlciAyMC0zMCBzZWMgYXQgdGltZXMsIGJ1dCB3aXRoIHRoaXMgY2hhbmdlIGl0IHJhcmVs eSB0YWtlcyBvdmVyIDEwIHNlYy4gCgpGcm9tOiBsaWJzc2gyLWRldmVsQGNvb2wuaGF4eC5zZSBB dDogMDgvMjYvMjAgMTg6Mzg6MjJUbzogIFRhbWFyIFNlcnkgKEJMT09NQkVSRy8gMTIwIFBBUksg KSAsICBsaWJzc2gyLWRldmVsQGNvb2wuaGF4eC5zZQpTdWJqZWN0OiBSZTogU0ZUUCByZWFkIGJ1 ZmZlciBzaXplCgpPbiBXZWQsIDI2IEF1ZyAyMDIwLCBUYW1hciBTZXJ5IChCTE9PTUJFUkcvIDEy MCBQQVJLKSB3cm90ZToKCj4gSSdtIHRyeWluZyB0byBpbmNyZWFzZSB0aGUgZG93bmxvYWQgc3Bl ZWQgb2YgZmlsZXMgdXNpbmcgbGlic3NoMl9zZnRwX3JlYWQgLiAKPiBJIHdhcyBhYmxlIHRvIHNl ZSBjb25zaWRlcmFibGUgc3BlZWQgaW5jcmVhc2UgYnkgdXNpbmcgYSBsYXJnZXIgYnVmZmVyLCB1 cCAKPiB0byAzMDAwMC4gSG93ZXZlciwgYW55IHNpemUgb3ZlciAzMDAwMCBzZWVtIHRvIGhhdmUg bm8gYWZmZWN0IG9uIGFjdHVhbCAKPiByZWNlaXZlZCBwYWNrZXQgc2l6ZSwgYWxsIHBhY2tldHMg YXJlIGV4YWN0bHkgMzAwMDAgKGV4Y2VwdCBmb3IgdGhlIGxhc3QgCj4gY2h1bmsgb2YgdGhlIGZp bGUsIGFuZCBhbiBvY2Nhc2lvbmFsIDYwMDAwIHNpemVkIHBhY2tldCkuIElzIHRoZXJlIGEgd2F5 IHRvIAo+IGluY3JlYXNlIHRoZSBkb3dubG9hZCBzcGVlZCwgdXNpbmcgYSBsYXJnZXIgYnVmZmVy IG9yIG90aGVyd2lzZT8KCllvdSBkb24ndCBpbmNyZWFzZSBzcGVlZCBieSBnZXR0aW5nIGxhcmdl ciBwYWNrZXQgc2l6ZXMgaGVyZSwgYXMgU0ZUUCBoYXMgYSAKcmVzdHJpY3Rpb24gb24gdGhlIHBh Y2tldCBzaXplLiBCdXQgaWYgeW91IHByb3ZpZGUgYSBsYXJnZSBidWZmZXIgdG8gdGhlIHJlYWQg CmZ1bmN0aW9uLCBsaWJzc2gyIGNhbiBkbyB0aGUgcmVhZCBpbiBtdWx0aXBsZSBwYWNrZXRzIHNv IHlvdSdsbCBiZSBhYmxlIHRvIGdldCAKbW9yZSBwYWNrZXRzIGJhY2sgaW4gbGVzcyB0aW1lLgoK SW4gbXkgdGVzdGluZywgeWVhcnMgYWdvLCBJIGNvdWxkIGVhc2lseSBnZXQgaW5jcmVhc2VkIHRy YW5zZmVyIHNwZWVkcyBieSAKaW5jcmVhc2luZyB0aGUgYnVmZmVyIHVwIHRvIHdlbGwgb3ZlciAx MDBLLiBUaGlzIGlzIG9mIGNvdXJzZSBleHRyYSBub3RpY2FibGUgCndoZW4gd29ya2luZyB3aXRo IGhpZ2gtUlRUIGhpZ2gtYmFuZHdpZHRoIHNlcnZlcnMuCgotLSAKCiAgLyBkYW5pZWwuaGF4eC5z ZQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaWJzc2gy LWRldmVsIGh0dHBzOi8vY29vbC5oYXh4LnNlL2NnaS1iaW4vbWFpbG1hbi9saXN0aW5mby9saWJz c2gyLWRldmVsCgoK --BOUNDARY_5F513D5D00C70720003906AC_0_113929_msllnjpmsgsv06 Content-Type: text/html; charset=UTF-8 Content-Disposition: inline Content-Transfer-Encoding: base64 PGh0bWw+PGhlYWQ+PHRpdGxlPjwvdGl0bGU+PC9oZWFkPjxib2R5PjwhLS0gcnRlLXZlcnNpb24g MC4yIDk5NDc1NTE2MzcyOTQwMDhiNzdiY2UyNWViNjgzZGFjIC0tPjxkaXYgY2xhc3M9InJ0ZS1z dHlsZS1tYWludGFpbmVyIHJ0ZS1wcmUtd3JhcCIgZGF0YS1jb2xvcj0iZ2xvYmFsLWRlZmF1bHQi IGJiZy1jb2xvcj0iZGVmYXVsdCIgZGF0YS1iYi1mb250LXNpemU9Im1lZGl1bSJiYmctZm9udC1z aXplPSJtZWRpdW0iIHN0eWxlPSJmb250LWZhbWlseTogQXJpYWwsICZxdW90O0JCLlByb3BvcnRp b25hbCZxdW90Ozsgd2hpdGUtc3BhY2U6IHByZS13cmFwOyBmb250LXNpemU6IHNtYWxsOyJzdHls ZT0iZm9udC1mYW1pbHk6IEFyaWFsLCAmcXVvdDtCQi5Qcm9wb3J0aW9uYWwmcXVvdDs7IHdoaXRl LXNwYWNlOiBwcmUtd3JhcDsgZm9udC1zaXplOiBzbWFsbDsgY29sb3I6IHJnYigwLCAwLCAwKTsi PlRoYW5rIHlvdSE8ZGl2PkluY3JlYXNpbmcgdGhlIGJ1ZmZlciBzaXplIHRvIDIwMCAtIDMwMEsg aGVscGVkIHJlZHVjZSB0aGUgZG93bmxvYWQgdGltZS4gSSBkaWRuJ3QgY29uc2lkZXIgdXNpbmcg c3VjaCBhIGxhcmdlIGJ1ZmZlciBiZWZvcmUgeW91IHN1Z2dlc3RlZCBpdC4gPC9kaXY+PGRpdj5X aGlsZSB1c2luZyBhIDgwSyBidWZmZXIsIGRvd25sb2FkaW5nIGZpbGVzIDEwTSBhbmQgbGFyZ2Vy IHRvb2sgdGhlIHByb2dyYW0gb3ZlciAyMC0zMCBzZWMgYXQgdGltZXMsIGJ1dCB3aXRoIHRoaXMg Y2hhbmdlIGl0IHJhcmVseSB0YWtlcyBvdmVyIDEwIHNlYy4gPC9kaXY+PGRpdiBjbGFzcz0icnRl LXN0eWxlLW1haW50YWluZXIiIGRhdGEtYmItZm9udC1zaXplPSJtZWRpdW0iYmJnLWNvbG9yPSJk ZWZhdWx0IiBiYmctZm9udC1zaXplPSJtZWRpdW0iIHN0eWxlPSJmb250LXNpemU6IHNtYWxsOyBm b250LWZhbWlseTogJnF1b3Q7Q291cmllciBOZXcmcXVvdDssIENvdXJpZXIsICZxdW90O0JCLkZp eGVkV2lkdGgmcXVvdDs7InN0eWxlPSJmb250LXNpemU6IHNtYWxsOyBmb250LWZhbWlseTogJnF1 b3Q7Q291cmllciBOZXcmcXVvdDssIENvdXJpZXIsICZxdW90O0JCLkZpeGVkV2lkdGgmcXVvdDs7 IGNvbG9yOiByZ2IoMCwgMCwgMCk7Ij48YnI+PGRpdiBjbGFzcz0iYmJnLXJ0ZS1mb2xkLWNvbnRl bnQiIGRhdGEtaGVhZGVyPSJGcm9tOiBsaWJzc2gyLWRldmVsQGNvb2wuaGF4eC5zZSBBdDogMDgv MjYvMjAgMTg6Mzg6MjIiZGF0YS1kaWdlc3Q9IkZyb206IGxpYnNzaDItZGV2ZWxAY29vbC5oYXh4 LnNlIEF0OiAwOC8yNi8yMCAxODozODoyMiIgc3R5bGU9IiI+PGRpdiBjbGFzcz0iYmJnLXJ0ZS1m b2xkLXN1bW1hcnkiPkZyb206IGxpYnNzaDItZGV2ZWxAY29vbC5oYXh4LnNlIEF0OiAwOC8yNi8y MCAxODozODoyMjwvZGl2PlRvOiA8YSBzcGVsbGNoZWNrPSJmYWxzZSIgYmJnLWRlc3RpbmF0aW9u PSJtYWlsdG86dHNlcnlAYmxvb21iZXJnLm5ldCIgaHJlZj0ibWFpbHRvOnRzZXJ5QGJsb29tYmVy Zy5uZXQiPiBUYW1hciBTZXJ5IChCTE9PTUJFUkcvIDEyMCBQQVJLICkgPC9hPiwgPGEgc3BlbGxj aGVjaz0iZmFsc2UiYmJnLWRlc3RpbmF0aW9uPSJtYWlsdG86bGlic3NoMi1kZXZlbEBjb29sLmhh eHguc2UiIGhyZWY9Im1haWx0bzpsaWJzc2gyLWRldmVsQGNvb2wuaGF4eC5zZSI+IGxpYnNzaDIt ZGV2ZWxAY29vbC5oYXh4LnNlPC9hPjxicj5TdWJqZWN0OiBSZTogU0ZUUCByZWFkIGJ1ZmZlciBz aXplPC9kaXY+PGJyPjxibG9ja3F1b3RlPk9uIFdlZCwgMjYgQXVnIDIwMjAsIFRhbWFyIFNlcnkg KEJMT09NQkVSRy8gMTIwIFBBUkspIHdyb3RlOjxicj48YnI+Jmd0OyBJJ20gdHJ5aW5nIHRvIGlu Y3JlYXNlIHRoZSBkb3dubG9hZCBzcGVlZCBvZiBmaWxlcyB1c2luZyBsaWJzc2gyX3NmdHBfcmVh ZCAuIDxicj4mZ3Q7IEkgd2FzIGFibGUgdG8gc2VlIGNvbnNpZGVyYWJsZSBzcGVlZCBpbmNyZWFz ZSBieSB1c2luZyBhIGxhcmdlciBidWZmZXIsIHVwIDxicj4mZ3Q7IHRvIDMwMDAwLiBIb3dldmVy LCBhbnkgc2l6ZSBvdmVyIDMwMDAwIHNlZW0gdG8gaGF2ZSBubyBhZmZlY3Qgb24gYWN0dWFsIDxi cj4mZ3Q7IHJlY2VpdmVkIHBhY2tldCBzaXplLCBhbGwgcGFja2V0cyBhcmUgZXhhY3RseSAzMDAw MCAoZXhjZXB0IGZvciB0aGUgbGFzdCA8YnI+Jmd0OyBjaHVuayBvZiB0aGUgZmlsZSwgYW5kIGFu IG9jY2FzaW9uYWwgNjAwMDAgc2l6ZWQgcGFja2V0KS4gSXMgdGhlcmUgYSB3YXkgdG8gPGJyPiZn dDsgaW5jcmVhc2UgdGhlIGRvd25sb2FkIHNwZWVkLCB1c2luZyBhIGxhcmdlciBidWZmZXIgb3Ig b3RoZXJ3aXNlPzxicj48YnI+WW91IGRvbid0IGluY3JlYXNlIHNwZWVkIGJ5IGdldHRpbmcgbGFy Z2VyIHBhY2tldCBzaXplcyBoZXJlLCBhcyBTRlRQIGhhcyBhIDxicj5yZXN0cmljdGlvbiBvbiB0 aGUgcGFja2V0IHNpemUuIEJ1dCBpZiB5b3UgcHJvdmlkZSBhIGxhcmdlIGJ1ZmZlciB0byB0aGUg cmVhZCA8YnI+ZnVuY3Rpb24sIGxpYnNzaDIgY2FuIGRvIHRoZSByZWFkIGluIG11bHRpcGxlIHBh Y2tldHMgc28geW91J2xsIGJlIGFibGUgdG8gZ2V0IDxicj5tb3JlIHBhY2tldHMgYmFjayBpbiBs ZXNzIHRpbWUuPGJyPjxicj5JbiBteSB0ZXN0aW5nLCB5ZWFycyBhZ28sIEkgY291bGQgZWFzaWx5 IGdldCBpbmNyZWFzZWQgdHJhbnNmZXIgc3BlZWRzIGJ5IDxicj5pbmNyZWFzaW5nIHRoZSBidWZm ZXIgdXAgdG8gd2VsbCBvdmVyIDEwMEsuIFRoaXMgaXMgb2YgY291cnNlIGV4dHJhIG5vdGljYWJs ZSA8YnI+d2hlbiB3b3JraW5nIHdpdGggaGlnaC1SVFQgaGlnaC1iYW5kd2lkdGggc2VydmVycy48 YnI+PGJyPi0tIDxicj48YnI+ICAvIGRhbmllbC5oYXh4LnNlPGJyPl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fPGJyPmxpYnNzaDItZGV2ZWwgPGEgYmJnLWRl c3RpbmF0aW9uPSJydGU6YmluZCJzcGVsbGNoZWNrPSJmYWxzZSIgZGF0YS1kZXN0aW5hdGlvbj0i cnRlOmJpbmQiIGhyZWY9Imh0dHBzOi8vY29vbC5oYXh4LnNlL2NnaS1iaW4vbWFpbG1hbi9saXN0 aW5mby9saWJzc2gyLWRldmVsIj5odHRwczovL2Nvb2wuaGF4eC5zZS9jZ2ktYmluL21haWxtYW4v bGlzdGluZm8vbGlic3NoMi1kZXZlbDwvYT48YnI+PC9ibG9ja3F1b3RlPjxicj48L2Rpdj48L2Rp dj48L2JvZHk+PC9odG1sPg== --BOUNDARY_5F513D5D00C70720003906AC_0_113929_msllnjpmsgsv06-- --===============0435894855== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: inline X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGlic3NoMi1k ZXZlbCBodHRwczovL2Nvb2wuaGF4eC5zZS9jZ2ktYmluL21haWxtYW4vbGlzdGluZm8vbGlic3No Mi1kZXZlbAo= --===============0435894855==-- From libssh2-devel-bounces@cool.haxx.se Sat Sep 19 09:19:33 2020 Return-Path: Received: from www.haxx.se (mail [127.0.0.1]) by giant.haxx.se (8.15.2/8.15.2/Debian-4) with ESMTP id 08J7IjF2020061; Sat, 19 Sep 2020 09:19:22 +0200 Received: from mail-il1-x12f.google.com (mail-il1-x12f.google.com [IPv6:2607:f8b0:4864:20:0:0:0:12f]) by giant.haxx.se (8.15.2/8.15.2/Debian-4) with ESMTPS id 08J7IgIh020004 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Sat, 19 Sep 2020 09:18:42 +0200 Received: by mail-il1-x12f.google.com with SMTP id q5so2003557ilj.1 for ; Sat, 19 Sep 2020 00:18:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=pNsvPb9DU7euufCJnkOGDfJ0nxhY1q4Yi9mK5UJqmec=; b=bR9l5VjGA7vg3EX9qU8CslRVcGuFIxc121rUOpVWjDt3pmhtyuCIWjvkLN+V1rkYte 8sbwOEz35GGtoMNDN7ASoVyMvTeLOkhwr7qc7krSjNpgtGQ+O9l2I8qrhhM9c6kKys0Q y30I0/4pliJtdyJsDgYAiv22b/Qm2iTz4TI0V3UKQbgglqPzEnHu/1lbDW5QaBzoSJGk zbCLX3nWFPQ09HD9E63pVEDVZbG/euq1wkg5azQWt0GFJMrntt6aSzo70ojloGoTCMYw 42phfK+pW8iM/Q0HsSoUQzb+gp5g95ncKJiMKSbzZChRy6J5QRJbExd9qSRgzqFiUGSZ X0mQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=pNsvPb9DU7euufCJnkOGDfJ0nxhY1q4Yi9mK5UJqmec=; b=UV7+OBvZxcktRzBrUzpRKsjOxUza/E+YBpaLUPhcSIUgNM0/GPVdc+jASNNkSPqu3c Y5rOdoAt3MBXcnZfsYM++5wwvw8uD2mEqYi83FPlhpGBHmF58jEbQweV99CRtIt+nqaM lz6TdWzdw4o68KPRm905006Ag1Q6ZsgD4KV3M5duuooKzTB8SKanQOug6ofZUNntdA7T tmGZFfMJ4On71vIgB+angONJM31fEKtNkhWEO8GzO/E4+Bqvirp5834Ar2hFyi1LSFAq Jy9KYXLr/7qvqbjgWey1fpUoGfka6Qgi9/+YVMAGuJQZMPpYfmGJsvPP8jfpcVPm2N0q YLyg== X-Gm-Message-State: AOAM5322v43vDPl9jDT0L7RNVW01aZpFbGUikREKZcgdrQ2uBuuRpkNJ QB/0MAYoUtqNnKqB2xiJtsboXutAFnQWMhnXZPXlS3CkhHpSnA== X-Google-Smtp-Source: ABdhPJyCrRaODY5yrh1AW2OsCyjZu1IX9Mve+/+h8mnsobwLlOZeoZ31fA4/VzIqjHDVRBmP7TCpvNhVXqtj3lubsvg= X-Received: by 2002:a92:c882:: with SMTP id w2mr10139050ilo.151.1600499916500; Sat, 19 Sep 2020 00:18:36 -0700 (PDT) MIME-Version: 1.0 From: Ani A Date: Sat, 19 Sep 2020 12:48:27 +0530 Message-ID: Subject: Regarding Netconf subsystem example To: libssh2-devel@cool.haxx.se X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.22 Precedence: list List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: libssh2 development Content-Type: text/plain; charset="utf-8" Errors-To: libssh2-devel-bounces@cool.haxx.se Sender: "libssh2-devel" Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from base64 to 8bit by giant.haxx.se id 08J7IjF2020061 Hello, I built the latest sources from libssh2 git repo, and am trying to use/modify the subsystem_netconf example, to work with a Netconf server. As soon as the first [hello] message is exchanged , I see that the other end says "session closed". I tried to debug why this happens, I added the check if (libssh2_channel_eof(channel)) {... } But the channel isn't closed (this if check is not hit) I also enabled the traces, libssh2_trace(session, LIBSSH2_TRACE_SOCKET|LIBSSH2_TRACE_TRANS); but its printing a lot of stuff which I am don't fully understand, but seems like the session is still on : [libssh2] 32.717473 Socket: Recved 80/16384 bytes to 0x55cd21adbf58+0 => libssh2_transport_read() raw (80 bytes) 0000: EE 48 F6 04 26 D0 69 1D 0E 06 76 25 3D C3 4E 04 : .H..&.i...v%=.N. 0010: 18 91 2B FD A8 FD 2D 89 85 80 D4 F7 30 C3 08 DE : ..+...-.....0... 0020: 83 49 46 08 3D A1 1B AB 06 84 FC 49 B4 6E 2A E2 : .IF.=......I.n*. 0030: DB 0C 97 EF 4C 8F EF B1 B8 56 C2 81 88 32 F5 F6 : ....L....V...2.. 0040: 72 FF 6F 5C 33 2C F0 EC B9 85 1B 49 C0 E3 7C F0 : r.o\3,.....I..|. => libssh2_transport_read() plain (27 bytes) 0000: 50 00 00 00 15 6B 65 65 70 61 6C 69 76 65 40 65 : P....keepalive@e 0010: 78 61 6D 70 6C 65 2E 63 6F 6D 01 : xample.com. [libssh2] 32.717525 Transport: Packet type 80 received, length=27 => libssh2_transport_write plain (1 bytes) 0000: 52 : R [libssh2] 32.717561 Socket: Sent 48/48 bytes at 0x55cd21adff98 => libssh2_transport_write send() (48 bytes) 0000: CF A4 2E 33 7F EB 86 FD 9B 7D 4A DF B1 8D D0 D9 : ...3.....}J..... 0010: 89 2D 61 B2 A3 58 64 57 4D 56 66 2E 74 96 05 EE : .-a..XdWMVf.t... 0020: 19 3F AE FF 62 1B 5F 86 15 DF 4B 86 5A 68 F7 7F : .?..b._...K.Zh.. My question is - is this concept of _subsystem_ (or creating a _process_ in general) only meant for a single message exchange ? In case of Netconf, unless I send a the session should not be closed. So, should I bunch this up with my initial message? Thanks. -- Regards, Ani _______________________________________________ libssh2-devel https://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel From libssh2-devel-bounces@cool.haxx.se Sun Sep 20 04:00:09 2020 Return-Path: Received: from www.haxx.se (mail [127.0.0.1]) by giant.haxx.se (8.15.2/8.15.2/Debian-4) with ESMTP id 08K1xavB021734; Sun, 20 Sep 2020 03:59:59 +0200 Received: from foo.stuge.se (foo.stuge.se [212.116.89.98]) by giant.haxx.se (8.15.2/8.15.2/Debian-4) with ESMTPS id 08K1xXRT021714 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Sun, 20 Sep 2020 03:59:34 +0200 Received: (qmail 11882 invoked by uid 1000); 20 Sep 2020 01:59:30 -0000 Message-ID: <20200920015930.11881.qmail@stuge.se> Date: Sun, 20 Sep 2020 01:59:30 +0000 From: Peter Stuge To: libssh2-devel@cool.haxx.se Subject: Re: Regarding Netconf subsystem example References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.22 Precedence: list List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: libssh2 development Content-Type: text/plain; charset="utf-8" Errors-To: libssh2-devel-bounces@cool.haxx.se Sender: "libssh2-devel" Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from base64 to 8bit by giant.haxx.se id 08K1xavB021734 Hi, Ani A wrote: > I also enabled the traces, > libssh2_trace(session, LIBSSH2_TRACE_SOCKET|LIBSSH2_TRACE_TRANS); > but its printing a lot of stuff which I am don't fully understand, but > seems like the session is still on : Please attach the full trace output starting with the channel open message. > My question is - is this concept of _subsystem_ (or creating a > _process_ in general) only meant for a single message exchange ? No. Subsystems are just 8-bit clean channels used for a named protocol, the most common probably being sftp. //Peter _______________________________________________ libssh2-devel https://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel From libssh2-devel-bounces@cool.haxx.se Wed Sep 23 21:15:13 2020 Return-Path: Received: from www.haxx.se (mail [127.0.0.1]) by giant.haxx.se (8.15.2/8.15.2/Debian-4) with ESMTP id 08NJDtX1021767; Wed, 23 Sep 2020 21:15:01 +0200 Received: from forward501o.mail.yandex.net (forward501o.mail.yandex.net [37.140.190.203]) by giant.haxx.se (8.15.2/8.15.2/Debian-4) with ESMTPS id 08NJDr0E021709 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Wed, 23 Sep 2020 21:13:54 +0200 Received: from mxback1q.mail.yandex.net (mxback1q.mail.yandex.net [IPv6:2a02:6b8:c0e:39:0:640:25b3:aea5]) by forward501o.mail.yandex.net (Yandex) with ESMTP id 285761E80150 for ; Wed, 23 Sep 2020 22:13:50 +0300 (MSK) Received: from localhost (localhost [::1]) by mxback1q.mail.yandex.net (mxback/Yandex) with ESMTP id aRckEsYwUT-DnWC1nXl; Wed, 23 Sep 2020 22:13:49 +0300 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex.ru; s=mail; t=1600888429; bh=j26KtwyFM5ZrKmOci+7BoSQKaXyHQLoKZ/YU6TclOJQ=; h=Message-Id:Date:Subject:To:From; b=wvKY2gM4tq/2JxikQop8+X5tXXXAjtGAooPmEgQ0h2u3vW2ijhqBJih0415s+blxC mSwp8bYquCTpWp3P3VhhV71YN/EAUwXUwAtfO1wr4rjaRbDV9SIc6RGxXE1hPwK420 Wkib7JkTVRNG5PUJviDeEg2SnfDdl1hksrp79cjs= Authentication-Results: mxback1q.mail.yandex.net; dkim=pass header.i=@yandex.ru Received: by vla5-c5051da8689e.qloud-c.yandex.net with HTTP; Wed, 23 Sep 2020 22:13:49 +0300 From: =?utf-8?B?0JrQu9C10LLQsNC90LXRhiDQmNCz0L7RgNGM?= To: "libssh2-devel@cool.haxx.se" Subject: Add libssh2_agent_sign() to allow sign any message MIME-Version: 1.0 X-Mailer: Yamail [ http://yandex.ru ] 5.0 Date: Wed, 23 Sep 2020 22:13:49 +0300 Message-Id: <202181600888386@mail.yandex.ru> X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.22 Precedence: list List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: libssh2 development Content-Type: multipart/mixed; boundary="===============1172955040==" Errors-To: libssh2-devel-bounces@cool.haxx.se Sender: "libssh2-devel" --===============1172955040== Content-Transfer-Encoding: base64 Content-Type: text/html; charset=utf-8 PGRpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnJnYiggMjU1ICwgMjU1ICwgMjU1ICk7 Y29sb3I6cmdiKCAwICwgMCAsIDAgKTtmb250LWZhbWlseTonYXJpYWwnICwgc2Fucy1zZXJpZjtm b250LXNpemU6MThweDtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo0MDA7dGV4dC1kZWNv cmF0aW9uLXN0eWxlOmluaXRpYWw7dGV4dC1pbmRlbnQ6MHB4O3RleHQtdHJhbnNmb3JtOm5vbmU7 d2hpdGUtc3BhY2U6bm9ybWFsO3dvcmQtc3BhY2luZzowcHgiPjxkaXYgc3R5bGU9ImJhY2tncm91 bmQtY29sb3I6cmdiKCAyNTUgLCAyNTUgLCAyNTUgKTtjb2xvcjpyZ2IoIDAgLCAwICwgMCApO2Zv bnQtZmFtaWx5OidhcmlhbCcgLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxOHB4O2ZvbnQtc3R5bGU6 bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMDt0ZXh0LWRlY29yYXRpb24tc3R5bGU6aW5pdGlhbDt0ZXh0 LWluZGVudDowcHg7dGV4dC10cmFuc2Zvcm06bm9uZTt3aGl0ZS1zcGFjZTpub3JtYWw7d29yZC1z cGFjaW5nOjBweCI+SGVsbG8sPC9kaXY+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjpyZ2Io IDI1NSAsIDI1NSAsIDI1NSApO2NvbG9yOnJnYiggMCAsIDAgLCAwICk7Zm9udC1mYW1pbHk6J2Fy aWFsJyAsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE4cHg7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13 ZWlnaHQ6NDAwO3RleHQtZGVjb3JhdGlvbi1zdHlsZTppbml0aWFsO3RleHQtaW5kZW50OjBweDt0 ZXh0LXRyYW5zZm9ybTpub25lO3doaXRlLXNwYWNlOm5vcm1hbDt3b3JkLXNwYWNpbmc6MHB4Ij7C oDwvZGl2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6cmdiKCAyNTUgLCAyNTUgLCAyNTUg KTtjb2xvcjpyZ2IoIDAgLCAwICwgMCApO2ZvbnQtZmFtaWx5OidhcmlhbCcgLCBzYW5zLXNlcmlm O2ZvbnQtc2l6ZToxOHB4O2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMDt0ZXh0LWRl Y29yYXRpb24tc3R5bGU6aW5pdGlhbDt0ZXh0LWluZGVudDowcHg7dGV4dC10cmFuc2Zvcm06bm9u ZTt3aGl0ZS1zcGFjZTpub3JtYWw7d29yZC1zcGFjaW5nOjBweCI+PGRpdj5Tb21ldGltZXMgdXNl ciBuZWVkcyB0byBzaWduIHNvbWUgZGF0YSBvbiB0aGUgcmVtb3RlIGhvc3Qgd2l0aCBoaXMgcHJp dmF0ZSBzc2gga2V5IHdoaWNoIGlzIGxvY2F0ZWQgb24gdGhlIGxvY2FsIGhvc3QuPC9kaXY+PGRp dj5UaGUgb25seSB3YXkgdG8gZG8gdGhpcyBpcyB0byB1c2Ugc3NoIGFnZW50IHNvY2tldCB3aXRo IGNvbW1vbiBwcm90b2NvbC48L2Rpdj48ZGl2PsKgPC9kaXY+PGRpdj5MaWJzc2gyIGNvbnRhaW5z IGZ1bmN0aW9uIGZvciBzdWNoIHNjZW5hcmlvIGJ1dCBpdCBjb3VsZCBiZSB1c2VkIG9ubHkgaW5z aWRlIG9mIGxpYnNzaDIuPC9kaXY+PGRpdj5JcyB0aGVyZSBhbnkgYmFycmllciB0byBhZGQgc3Vj aCBmZWF0dXJlIHRvIHB1YmxpYyBpbnRlcmZhY2U/PC9kaXY+PGRpdj7CoDwvZGl2PjxkaXY+VGhp cyBwYXRjaCBhZGRzIHByb3h5IGZ1bmN0aW9uIGZvciBhZ2VudF9zaWduKCkgZnJvbSBhZ2VudC5j PC9kaXY+PGRpdj48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vbGlic3NoMi9saWJzc2gyL3B1 bGwvNTE2IiBzdHlsZT0iY29sb3I6cmdiKCAxNTMgLCAwICwgMTUzICkiPmh0dHBzOi8vZ2l0aHVi LmNvbS9saWJzc2gyL2xpYnNzaDIvcHVsbC81MTY8L2E+PC9kaXY+PGRpdj7CoDwvZGl2PjxkaXY+ Q291bGQgeW91IHBheSBhdHRlbnRpb24gdG8gaXQgcGxlYXNlPzwvZGl2PjxkaXY+wqA8L2Rpdj48 ZGl2PlRoYW5rIHlvdSw8L2Rpdj48ZGl2Pklnb3IgS2xldmFuZXRzPC9kaXY+PC9kaXY+PC9kaXY+ PC9kaXY+PGRpdj7CoDwvZGl2Pg== --===============1172955040== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: inline X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGlic3NoMi1k ZXZlbCBodHRwczovL2Nvb2wuaGF4eC5zZS9jZ2ktYmluL21haWxtYW4vbGlzdGluZm8vbGlic3No Mi1kZXZlbAo= --===============1172955040==-- From libssh2-devel-bounces@cool.haxx.se Wed Sep 23 23:19:31 2020 Return-Path: Received: from www.haxx.se (mail [127.0.0.1]) by giant.haxx.se (8.15.2/8.15.2/Debian-4) with ESMTP id 08NLJ1ur018687; Wed, 23 Sep 2020 23:19:21 +0200 Received: from mail-pg1-x52d.google.com (mail-pg1-x52d.google.com [IPv6:2607:f8b0:4864:20:0:0:0:52d]) by giant.haxx.se (8.15.2/8.15.2/Debian-4) with ESMTPS id 08NLIw9A018649 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Wed, 23 Sep 2020 23:18:59 +0200 Received: by mail-pg1-x52d.google.com with SMTP id y1so495000pgk.8 for ; Wed, 23 Sep 2020 14:19:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to; bh=1NfGXxt8UC3pFeVZxBhce3FiQSZVciA4zuFYwbXdrHQ=; b=iGC8CpIYsG+wsuytdnnegJZf4bXmfC5xxboLHFfUfFVQ7cJ6b5svCAQHXRwyZ6JJe/ Qtf/swMSk1FGOV/UklAlcalVwUOQ+4GDe2cE4ZPuBXWe0glTsusByvZTjPW8BIx+3gvQ Ad29d6zV5vq8inwN6ltKjec/Qi11LpN9SoFO+e0peS6Kk6N/CVgDpc4mlW/O0gXa1OKK 2IGufjb73MLIzg7Fd+WM5gEPuo30+/4cbUEnkfeN1N0RaOcPXOuoVR6CtlnoJcgG2lhY A8YulOxQD6eBwgduRwagTDIgRdU049sMQ3rXx9HRE3/Sunv1lbauwIStSDsKnOmX26Cv qJbA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to; bh=1NfGXxt8UC3pFeVZxBhce3FiQSZVciA4zuFYwbXdrHQ=; b=EPYER5Cfd5IhIXboc7FuJemYHU+eSvQGpR2zMqhlylCNZIkZu+cnyLbo9njxOBy0y7 XV3AfscjDNafuQwxn+N0BmK6NxaHt5mAquxIuaTYXx2xkS93FL0LoOyyZ94PY6avJ53g 60O2Ren8V+0bFnWkbwUxfU2xDNJwprZXnE+Z/j6hX7l0MWIOWiyfmLdGojCskfNEexjt 21iVjD/HkxfxEg8+5jFkcHjZObCHX+rVxFPJBCUOgscYG6cDnNysDKvessicHN9lLiNq gPy7V21pEZzQdeA3vhtgARD/mS7Yj98tfv84Ss34gRbXT5gk3rw0E0n4OuD5ckviF73O HmMA== X-Gm-Message-State: AOAM531RTgScT76Wsz8YZIcHoETCAB7GPpHvjomJWdxivoZWsL2oHmnw KImB+u4Mnpm/xV98t7t6b5eYNLNgZC7q1lUP4Te8PyIpKkLiDBUQ X-Google-Smtp-Source: ABdhPJzLJ30yRU58HiXlAVL68BFOI0fnaZufvIrei/1vVMbI/lNj5u0PGWa2FEcEq3Eu0CzX/ozjlTE+O6S3qM8bzYY= X-Received: by 2002:a65:5a0d:: with SMTP id y13mr1367042pgs.131.1600895934282; Wed, 23 Sep 2020 14:18:54 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Bacchababu Gupta Date: Thu, 24 Sep 2020 02:48:42 +0530 Message-ID: Subject: Re: libssh2-devel Digest, Vol 131, Issue 4 To: libssh2-devel@cool.haxx.se X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.22 Precedence: list List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: libssh2 development Content-Type: multipart/mixed; boundary="===============1840048909==" Errors-To: libssh2-devel-bounces@cool.haxx.se Sender: "libssh2-devel" --===============1840048909== Content-Type: multipart/alternative; boundary="0000000000007c407205b001a1e4" --0000000000007c407205b001a1e4 Content-Type: text/plain; charset="UTF-8" Hi All, Is there any Plan to release a new build with CVE-2019-17498 fix? Regards, B. A. Gupta On Tue, Jul 7, 2020 at 3:31 PM wrote: > Send libssh2-devel mailing list submissions to > libssh2-devel@cool.haxx.se > > To subscribe or unsubscribe via the World Wide Web, visit > https://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel > or, via email, send a message with subject or body 'help' to > libssh2-devel-request@cool.haxx.se > > You can reach the person managing the list at > libssh2-devel-owner@cool.haxx.se > > When replying, please edit your Subject line so it is more specific > than "Re: Contents of libssh2-devel digest..." > > > Today's Topics: > > 1. need new release ! (Micka) > 2. Build libssh2 for Mac Catalyst (Riddhi K) > > > ---------------------------------------------------------------------- > > Message: 1 > Date: Mon, 6 Jul 2020 13:40:29 +0200 > From: Micka > To: libssh2 development > Subject: need new release ! > Message-ID: > < > CAF+MRtm6T7C6KwrN_an08yOg9u6nT6h2Cb+Vf8yDPutrK6PDbQ@mail.gmail.com> > Content-Type: text/plain; charset="utf-8" > > Hi, > > Can someone put a new official release that fix this issue: > > https://nvd.nist.gov/vuln/detail/CVE-2019-17498 > > > I know, that in the branch master, it's fixed, but I need a new official > release ! > > > Michael, > -------------- next part -------------- > An HTML attachment was scrubbed... > URL: < > http://cool.haxx.se/pipermail/libssh2-devel/attachments/20200706/6585d367/attachment-0001.html > > > > ------------------------------ > > Message: 2 > Date: Tue, 7 Jul 2020 13:06:50 +0530 > From: Riddhi K > To: libssh2-devel@cool.haxx.se > Subject: Build libssh2 for Mac Catalyst > Message-ID: > Content-Type: text/plain; charset=us-ascii > > Hello Team, > > I would like to build libssh2 library for Mac OS. Can you provide the > guideline for this? > Looking forward for your reply. > > Thank you. > Riddhi Kheni. > > > > > ------------------------------ > > Subject: Digest Footer > > _______________________________________________ > libssh2-devel mailing list > libssh2-devel@cool.haxx.se > https://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel > > > ------------------------------ > > End of libssh2-devel Digest, Vol 131, Issue 4 > ********************************************* > --0000000000007c407205b001a1e4 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi All,

Is there any Plan to= release a new build with CVE-2019-17498 fix?


=
Regards,
B. A. Gupta

On Tue, Jul 7, 2020 at 3= :31 PM <libssh2-de= vel-request@cool.haxx.se> wrote:
Send libssh2-devel mailing list submissions to
=C2=A0 =C2=A0 =C2=A0 =C2=A0 libssh2-devel@cool.haxx.se

To subscribe or unsubscribe via the World Wide Web, visit
=C2=A0 =C2=A0 =C2=A0 =C2=A0 https://cool.= haxx.se/cgi-bin/mailman/listinfo/libssh2-devel
or, via email, send a message with subject or body 'help' to
=C2=A0 =C2=A0 =C2=A0 =C2=A0 libssh2-devel-request@cool.haxx.se

You can reach the person managing the list at
=C2=A0 =C2=A0 =C2=A0 =C2=A0 libssh2-devel-owner@cool.haxx.se

When replying, please edit your Subject line so it is more specific
than "Re: Contents of libssh2-devel digest..."


Today's Topics:

=C2=A0 =C2=A01. need new release ! (Micka)
=C2=A0 =C2=A02. Build libssh2 for Mac Catalyst (Riddhi K)


----------------------------------------------------------------------

Message: 1
Date: Mon, 6 Jul 2020 13:40:29 +0200
From: Micka <= mickamusset@gmail.com>
To: libssh2 development <libssh2-devel@cool.haxx.se>
Subject: need new release !
Message-ID:
=C2=A0 =C2=A0 =C2=A0 =C2=A0 <CAF+MRtm6T= 7C6KwrN_an08yOg9u6nT6h2Cb+Vf8yDPutrK6PDbQ@mail.gmail.com>
Content-Type: text/plain; charset=3D"utf-8"

Hi,

Can someone put a new official release that fix this issue:

https://nvd.nist.gov/vuln/detail/CVE-2019-17498

I know, that in the branch master, it's fixed, but I need a new officia= l
release !


Michael,
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://cool.haxx.se/pipermail/libssh2-devel/attachments/20200706/6585d36= 7/attachment-0001.html>

------------------------------

Message: 2
Date: Tue, 7 Jul 2020 13:06:50 +0530
From: Riddhi K <riddhi.k@moontechnolabs.com>
To: libssh2= -devel@cool.haxx.se
Subject: Build libssh2 for Mac Catalyst
Message-ID: <EFD18CDC-59DB-41FD-820C-45E8223162C9@moon= technolabs.com>
Content-Type: text/plain;=C2=A0 =C2=A0 =C2=A0 =C2=A0charset=3Dus-ascii

Hello Team,

I would like to build libssh2 library for Mac OS. Can you provide the guide= line for this?
Looking forward for your reply.

Thank you.
Riddhi Kheni.




------------------------------

Subject: Digest Footer

_______________________________________________
libssh2-devel mailing list
libssh2-dev= el@cool.haxx.se
https://cool.haxx.se/cgi-bin/mailman/list= info/libssh2-devel


------------------------------

End of libssh2-devel Digest, Vol 131, Issue 4
*********************************************
--0000000000007c407205b001a1e4-- --===============1840048909== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: inline X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGlic3NoMi1k ZXZlbCBodHRwczovL2Nvb2wuaGF4eC5zZS9jZ2ktYmluL21haWxtYW4vbGlzdGluZm8vbGlic3No Mi1kZXZlbAo= --===============1840048909==-- From libssh2-devel-bounces@cool.haxx.se Thu Sep 24 15:10:42 2020 Return-Path: Received: from www.haxx.se (mail [127.0.0.1]) by giant.haxx.se (8.15.2/8.15.2/Debian-4) with ESMTP id 08ODACYf032436; Thu, 24 Sep 2020 15:10:33 +0200 Received: from mo4-p00-ob.smtp.rzone.de (mo4-p00-ob.smtp.rzone.de [81.169.146.218]) by giant.haxx.se (8.15.2/8.15.2/Debian-4) with ESMTPS id 08ODAArg032421 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Thu, 24 Sep 2020 15:10:10 +0200 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1600953011; s=strato-dkim-0002; d=adtelecom.es; h=Date:Message-ID:Subject:From:To:X-RZG-CLASS-ID:X-RZG-AUTH:From: Subject:Sender; bh=SbhtnJSgEGR69tb78+bGmSINCtCzAXRwBllxvFElL58=; b=EownR1YNI0L/GJvXvj/lxanJSTpUPk/FCnKtvuNxo3h4Cwrem2Kiyt7DZ37PCICslQ fFCyo/20tRzOYGuP7fMViwYLMG0UjyC6trFoXFR5nN/kcMDivfwG0hig02Zed9juRTjx hmd7+ilH19t9u08PWmfykBzjeq9s1/NFNc+Klr97kAQ2a3asAi9CEjnbllgcMV3DwJKr LVisJLxez2c92308cHs+WnzzrG3+iObrWW3aOPoX2tfbu8/JUuiIyEdfbbl0ZuX2WPKm f1MJVZbqCPaOoG6foPhs+TGqbevHmP6H4uKC6+zXDauagQEadkfHAiA/RUtw4ecwUF1r B1GQ== X-RZG-AUTH: ":P2UJek6teuVmkxPOItS8sX320dipfNeAKMB/QC7zITnRV4sKD6Rqzx8hrt/aYYXgE6ycGtZ5tRBi9NM=" X-RZG-CLASS-ID: mo00 Received: from [192.168.43.220] by smtp.strato.com (RZmta 46.10.7 DYNA|AUTH) with ESMTPSA id I0b818w8ODAArl4 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256 bits)) (Client did not present a certificate) for ; Thu, 24 Sep 2020 15:10:10 +0200 (CEST) To: libssh2-devel@cool.haxx.se From: Simone Subject: libssh2 static linking - undefined reference to Message-ID: <9fd8304a-76a0-f675-9ebd-b5daa5779ec9@adtelecom.es> Date: Thu, 24 Sep 2020 15:10:07 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.12.0 MIME-Version: 1.0 Content-Language: en-US X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.22 Precedence: list List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: libssh2 development Content-Type: multipart/mixed; boundary="===============1167316978==" Errors-To: libssh2-devel-bounces@cool.haxx.se Sender: "libssh2-devel" This is a multi-part message in MIME format. --===============1167316978== Content-Type: multipart/alternative; boundary="------------FDFE19988500313D02C135FA" Content-Language: en-US This is a multi-part message in MIME format. --------------FDFE19988500313D02C135FA Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Hello, I have built libssh2 and its dependencies for aarch64, in such a way to link these libs as static into the final executable. So the dependencies compiled as static libraries are *libassuan.a libcrypto.a libgcrypt.a libgpg-error.a libksba.a libnpth.a libntbtls.a libssl.a libz.a* To test the static linkage I use the following minimal code:     // libssh2_test.c     #include     int main(void)     {         LIBSSH2_SESSION *session;         LIBSSH2_CHANNEL *channel;         libssh2_init(0);         session = libssh2_session_init();         libssh2_session_free(session);         libssh2_exit();         return 0;     } But when I try to compile, ld cannot find libssh2 symbols: *aarch64-linux-gnu-gcc -I ../third/include/ ../third/lib/libz.a ../third/lib/libnpth.a ../third/lib/libssl.a ../third/lib/libcrypto.a ../third/lib/libgpg-error.a ../third/lib/libksba.a ../third/lib/libgcrypt.a ../third/lib/libntbtls.a ../third/lib/libassuan.a ../third/lib/libssh2.a libssh2_test.c -o libssh2_test /opt/Xilinx/Vitis/2019.2/gnu/aarch64/lin/aarch64-linux/bin/../lib/gcc/aarch64-linux-gnu/8.2.0/../../../../aarch64-linux-gnu/bin/ld: /tmp/ccSuPNUb.o: in function `main':     libssh2_test.c:(.text+0xc): undefined reference to `libssh2_init' /opt/Xilinx/Vitis/2019.2/gnu/aarch64/lin/aarch64-linux/bin/../lib/gcc/aarch64-linux-gnu/8.2.0/../../../../aarch64-linux-gnu/bin/ld: libssh2_test.c:(.text+0x20): undefined reference to `libssh2_session_init_ex' /opt/Xilinx/Vitis/2019.2/gnu/aarch64/lin/aarch64-linux/bin/../lib/gcc/aarch64-linux-gnu/8.2.0/../../../../aarch64-linux-gnu/bin/ld: libssh2_test.c:(.text+0x2c): undefined reference to `libssh2_session_free' /opt/Xilinx/Vitis/2019.2/gnu/aarch64/lin/aarch64-linux/bin/../lib/gcc/aarch64-linux-gnu/8.2.0/../../../../aarch64-linux-gnu/bin/ld: libssh2_test.c:(.text+0x30): undefined reference to `libssh2_exit'     collect2: error: ld returned 1 exit status* Of course these functions are defined in libssh2.h. libssh2 has been compiled using the following script: *#!/bin/sh host=aarch64 target=aarch64-linux-gnu cc=${target}-gcc cpp=${target}-g++ ar=${target}-ar cross_path=/opt/Xilinx/Vitis/2019.2/gnu/aarch64/lin/aarch64-linux/bin install_prefix=${PWD}/../../../third/ ../configure     --prefix=${install_prefix} \                  --host=${host}  \                  CC=${cross_path}/${cc}  \                  CXX=${cross_path}/${cpp} \                  --with-gnu-ld  \                  --with-libgpg-error-prefix=${install_prefix} \                  --with-crypto=auto \                  --with-libgcrypt-prefix=${install_prefix} \                  --with-libssl-prefix=${install_prefix} \                  --enable-static \                  --enable-shared if [ $? -eq 0 ]; then     make -j 32     make install fi* Could someone suggest what I have done wrong ? Thanks. S. --------------FDFE19988500313D02C135FA Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: 8bit Hello,

I have built libssh2 and its dependencies for aarch64, in such a way to link these libs as static into the final executable.

So the dependencies compiled as static libraries are

libassuan.a
libcrypto.a
libgcrypt.a
libgpg-error.a
libksba.a
libnpth.a
libntbtls.a
libssl.a
libz.a


To test the static linkage I use the following minimal code:
   
    // libssh2_test.c
    #include <libssh2.h>
    
    int main(void)
    {
        LIBSSH2_SESSION *session;
        LIBSSH2_CHANNEL *channel;
    
        libssh2_init(0);
        session = libssh2_session_init();
    
        libssh2_session_free(session);
        libssh2_exit();
        return 0;
    }

But when I try to compile, ld cannot find libssh2 symbols:

    aarch64-linux-gnu-gcc -I ../third/include/ ../third/lib/libz.a ../third/lib/libnpth.a ../third/lib/libssl.a ../third/lib/libcrypto.a ../third/lib/libgpg-error.a ../third/lib/libksba.a ../third/lib/libgcrypt.a ../third/lib/libntbtls.a ../third/lib/libassuan.a ../third/lib/libssh2.a libssh2_test.c -o libssh2_test
    /opt/Xilinx/Vitis/2019.2/gnu/aarch64/lin/aarch64-linux/bin/../lib/gcc/aarch64-linux-gnu/8.2.0/../../../../aarch64-linux-gnu/bin/ld: /tmp/ccSuPNUb.o: in function `main':
    libssh2_test.c:(.text+0xc): undefined reference to `libssh2_init'
    /opt/Xilinx/Vitis/2019.2/gnu/aarch64/lin/aarch64-linux/bin/../lib/gcc/aarch64-linux-gnu/8.2.0/../../../../aarch64-linux-gnu/bin/ld: libssh2_test.c:(.text+0x20): undefined reference to `libssh2_session_init_ex'
    /opt/Xilinx/Vitis/2019.2/gnu/aarch64/lin/aarch64-linux/bin/../lib/gcc/aarch64-linux-gnu/8.2.0/../../../../aarch64-linux-gnu/bin/ld: libssh2_test.c:(.text+0x2c): undefined reference to `libssh2_session_free'
    /opt/Xilinx/Vitis/2019.2/gnu/aarch64/lin/aarch64-linux/bin/../lib/gcc/aarch64-linux-gnu/8.2.0/../../../../aarch64-linux-gnu/bin/ld: libssh2_test.c:(.text+0x30): undefined reference to `libssh2_exit'
    collect2: error: ld returned 1 exit status


Of course these functions are defined in libssh2.h.
libssh2 has been compiled using the following script:

#!/bin/sh

host=aarch64
target=aarch64-linux-gnu
cc=${target}-gcc
cpp=${target}-g++
ar=${target}-ar
cross_path=/opt/Xilinx/Vitis/2019.2/gnu/aarch64/lin/aarch64-linux/bin

install_prefix=${PWD}/../../../third/

../configure     --prefix=${install_prefix} \
                 --host=${host}  \
                 CC=${cross_path}/${cc}  \
                 CXX=${cross_path}/${cpp} \
                 --with-gnu-ld  \
                 --with-libgpg-error-prefix=${install_prefix} \
                 --with-crypto=auto \
                 --with-libgcrypt-prefix=${install_prefix} \
                 --with-libssl-prefix=${install_prefix} \
                 --enable-static \
                 --enable-shared

if [ $? -eq 0 ]; then
    make -j 32
    make install
fi


Could someone suggest what I have done wrong ?
Thanks.
S.

--------------FDFE19988500313D02C135FA-- --===============1167316978== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: inline X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGlic3NoMi1k ZXZlbCBodHRwczovL2Nvb2wuaGF4eC5zZS9jZ2ktYmluL21haWxtYW4vbGlzdGluZm8vbGlic3No Mi1kZXZlbAo= --===============1167316978==-- From libssh2-devel-bounces@cool.haxx.se Thu Sep 24 16:32:38 2020 Return-Path: Received: from www.haxx.se (mail [127.0.0.1]) by giant.haxx.se (8.15.2/8.15.2/Debian-4) with ESMTP id 08OEWBHp004139; Thu, 24 Sep 2020 16:32:28 +0200 Received: from mo4-p00-ob.smtp.rzone.de (mo4-p00-ob.smtp.rzone.de [85.215.255.25]) by giant.haxx.se (8.15.2/8.15.2/Debian-4) with ESMTPS id 08OEWAxB004128 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Thu, 24 Sep 2020 16:32:10 +0200 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1600957930; s=strato-dkim-0002; d=adtelecom.es; h=In-Reply-To:Date:Message-ID:References:Reply-To:To:From:Subject: X-RZG-CLASS-ID:X-RZG-AUTH:From:Subject:Sender; bh=vU8kkx7X8GuWCCVrMMrCSWk9uumWOeFm5+Vlq7YOtfc=; b=G+bgoMzD9nxyMecCP03Ax9daikWViUBLGjsiWlDr5qDoJnirP2zkBb3vfiDNVhvCsh 5CbN/49kVFgmj6+tJxTPTN7SnTjW3NJLagEcy4ZX4N7Wq6m5UwqxcoVtQT7jgUCsY81p USGcXAs1mTorwK/Ho7cNnXZdXNdabFpd6elZRpZ1p7gaZRpFYeln7oLXvcK1hP6VDMrr 5/bqT2vm20sA98QjaJrvQvzmMoURa3tAEASlVanwNrrrgQYazIv3ATwjYpLgOwVE1juZ dsZlask/bEjtRyuf3rCYZS041tJtRxTsIJGktws8FL7a/8MAPecpOb5RYX8z8B3Hgwr2 YsJw== X-RZG-AUTH: ":P2UJek6teuVmkxPOItS8sX320dipfNeAKMB/QC7zITnRV4sKD6Rqzx8hrt/aYYXgE6ycGtZ5tRBi9NM=" X-RZG-CLASS-ID: mo00 Received: from [192.168.43.220] by smtp.strato.com (RZmta 46.10.7 DYNA|AUTH) with ESMTPSA id I0b818w8OEWAs8l (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256 bits)) (Client did not present a certificate) for ; Thu, 24 Sep 2020 16:32:10 +0200 (CEST) Subject: Re: libssh2 static linking - undefined reference to From: Simone To: libssh2-devel@cool.haxx.se References: <9fd8304a-76a0-f675-9ebd-b5daa5779ec9@adtelecom.es> Message-ID: <2bb4ecf0-f2dd-5f11-282a-fc0eea2b5c88@adtelecom.es> Date: Thu, 24 Sep 2020 16:32:08 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.12.0 MIME-Version: 1.0 In-Reply-To: <9fd8304a-76a0-f675-9ebd-b5daa5779ec9@adtelecom.es> Content-Language: en-US X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.22 Precedence: list List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: libssh2 development Content-Type: multipart/mixed; boundary="===============0974117269==" Errors-To: libssh2-devel-bounces@cool.haxx.se Sender: "libssh2-devel" This is a multi-part message in MIME format. --===============0974117269== Content-Type: multipart/alternative; boundary="------------659DB369D2B0B56810646754" Content-Language: en-US This is a multi-part message in MIME format. --------------659DB369D2B0B56810646754 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Hello again, I have the same problem after compiling for x86_64. Here is the output if I try to compile scp_write.c from the examples: * **:~/path/to/libssh2-1.9.0/build_x86_64$ gcc -I install/include/ -I example/ -L install/lib/ -l:libssh2.a ../example/scp_write.c ** **/usr/bin/ld: /tmp/ccdrFU90.o: in function `main':** **scp_write.c:(.text+0xf1): undefined reference to `libssh2_init'** **/usr/bin/ld: scp_write.c:(.text+0x24a): undefined reference to `libssh2_session_init_ex'** **/usr/bin/ld: scp_write.c:(.text+0x270): undefined reference to `libssh2_session_handshake'** **/usr/bin/ld: scp_write.c:(.text+0x2b2): undefined reference to `libssh2_hostkey_hash'** **/usr/bin/ld: scp_write.c:(.text+0x36f): undefined reference to `libssh2_userauth_password_ex'** **/usr/bin/ld: scp_write.c:(.text+0x3d1): undefined reference to `libssh2_userauth_publickey_fromfile_ex'** **/usr/bin/ld: scp_write.c:(.text+0x42d): undefined reference to `libssh2_scp_send_ex'** **/usr/bin/ld: scp_write.c:(.text+0x45d): undefined reference to `libssh2_session_last_error'** **/usr/bin/ld: scp_write.c:(.text+0x502): undefined reference to `libssh2_channel_write_ex'** **/usr/bin/ld: scp_write.c:(.text+0x579): undefined reference to `libssh2_channel_send_eof'** **/usr/bin/ld: scp_write.c:(.text+0x5a8): undefined reference to `libssh2_channel_wait_eof'** **/usr/bin/ld: scp_write.c:(.text+0x5d7): undefined reference to `libssh2_channel_wait_closed'** **/usr/bin/ld: scp_write.c:(.text+0x5e6): undefined reference to `libssh2_channel_free'** **/usr/bin/ld: scp_write.c:(.text+0x617): undefined reference to `libssh2_session_disconnect_ex'** **/usr/bin/ld: scp_write.c:(.text+0x623): undefined reference to `libssh2_session_free'** **/usr/bin/ld: scp_write.c:(.text+0x665): undefined reference to `libssh2_exit'** **collect2: error: ld returned 1 exit status* Thanks, S. On 9/24/20 3:10 PM, Simone wrote: > Hello, > > I have built libssh2 and its dependencies for aarch64, in such a way > to link these libs as static into the final executable. > > So the dependencies compiled as static libraries are > > *libassuan.a > libcrypto.a > libgcrypt.a > libgpg-error.a > libksba.a > libnpth.a > libntbtls.a > libssl.a > libz.a* > > To test the static linkage I use the following minimal code: > >     // libssh2_test.c >     #include > >     int main(void) >     { >         LIBSSH2_SESSION *session; >         LIBSSH2_CHANNEL *channel; > >         libssh2_init(0); >         session = libssh2_session_init(); > >         libssh2_session_free(session); >         libssh2_exit(); >         return 0; >     } > > But when I try to compile, ld cannot find libssh2 symbols: > > *aarch64-linux-gnu-gcc -I ../third/include/ ../third/lib/libz.a > ../third/lib/libnpth.a ../third/lib/libssl.a ../third/lib/libcrypto.a > ../third/lib/libgpg-error.a ../third/lib/libksba.a > ../third/lib/libgcrypt.a ../third/lib/libntbtls.a > ../third/lib/libassuan.a ../third/lib/libssh2.a libssh2_test.c -o > libssh2_test > /opt/Xilinx/Vitis/2019.2/gnu/aarch64/lin/aarch64-linux/bin/../lib/gcc/aarch64-linux-gnu/8.2.0/../../../../aarch64-linux-gnu/bin/ld: > /tmp/ccSuPNUb.o: in function `main': >     libssh2_test.c:(.text+0xc): undefined reference to `libssh2_init' > /opt/Xilinx/Vitis/2019.2/gnu/aarch64/lin/aarch64-linux/bin/../lib/gcc/aarch64-linux-gnu/8.2.0/../../../../aarch64-linux-gnu/bin/ld: > libssh2_test.c:(.text+0x20): undefined reference to > `libssh2_session_init_ex' > /opt/Xilinx/Vitis/2019.2/gnu/aarch64/lin/aarch64-linux/bin/../lib/gcc/aarch64-linux-gnu/8.2.0/../../../../aarch64-linux-gnu/bin/ld: > libssh2_test.c:(.text+0x2c): undefined reference to `libssh2_session_free' > /opt/Xilinx/Vitis/2019.2/gnu/aarch64/lin/aarch64-linux/bin/../lib/gcc/aarch64-linux-gnu/8.2.0/../../../../aarch64-linux-gnu/bin/ld: > libssh2_test.c:(.text+0x30): undefined reference to `libssh2_exit' >     collect2: error: ld returned 1 exit status* > > Of course these functions are defined in libssh2.h. > libssh2 has been compiled using the following script: > > *#!/bin/sh > > host=aarch64 > target=aarch64-linux-gnu > cc=${target}-gcc > cpp=${target}-g++ > ar=${target}-ar > cross_path=/opt/Xilinx/Vitis/2019.2/gnu/aarch64/lin/aarch64-linux/bin > > install_prefix=${PWD}/../../../third/ > > ../configure     --prefix=${install_prefix} \ >                  --host=${host}  \ >                  CC=${cross_path}/${cc}  \ >                  CXX=${cross_path}/${cpp} \ >                  --with-gnu-ld  \ >                  --with-libgpg-error-prefix=${install_prefix} \ >                  --with-crypto=auto \ >                  --with-libgcrypt-prefix=${install_prefix} \ >                  --with-libssl-prefix=${install_prefix} \ >                  --enable-static \ >                  --enable-shared > > if [ $? -eq 0 ]; then >     make -j 32 >     make install > fi* > > Could someone suggest what I have done wrong ? > Thanks. > S. > > > _______________________________________________ > libssh2-devel https://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel --------------659DB369D2B0B56810646754 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: 8bit Hello again,

I have the same problem after compiling for x86_64. Here is the output if I try to compile scp_write.c from the examples:

:~/path/to/libssh2-1.9.0/build_x86_64$ gcc -I install/include/ -I example/ -L install/lib/ -l:libssh2.a ../example/scp_write.c
/usr/bin/ld: /tmp/ccdrFU90.o: in function `main':
scp_write.c:(.text+0xf1): undefined reference to `libssh2_init'
/usr/bin/ld: scp_write.c:(.text+0x24a): undefined reference to `libssh2_session_init_ex'
/usr/bin/ld: scp_write.c:(.text+0x270): undefined reference to `libssh2_session_handshake'
/usr/bin/ld: scp_write.c:(.text+0x2b2): undefined reference to `libssh2_hostkey_hash'
/usr/bin/ld: scp_write.c:(.text+0x36f): undefined reference to `libssh2_userauth_password_ex'
/usr/bin/ld: scp_write.c:(.text+0x3d1): undefined reference to `libssh2_userauth_publickey_fromfile_ex'
/usr/bin/ld: scp_write.c:(.text+0x42d): undefined reference to `libssh2_scp_send_ex'
/usr/bin/ld: scp_write.c:(.text+0x45d): undefined reference to `libssh2_session_last_error'
/usr/bin/ld: scp_write.c:(.text+0x502): undefined reference to `libssh2_channel_write_ex'
/usr/bin/ld: scp_write.c:(.text+0x579): undefined reference to `libssh2_channel_send_eof'
/usr/bin/ld: scp_write.c:(.text+0x5a8): undefined reference to `libssh2_channel_wait_eof'
/usr/bin/ld: scp_write.c:(.text+0x5d7): undefined reference to `libssh2_channel_wait_closed'
/usr/bin/ld: scp_write.c:(.text+0x5e6): undefined reference to `libssh2_channel_free'
/usr/bin/ld: scp_write.c:(.text+0x617): undefined reference to `libssh2_session_disconnect_ex'
/usr/bin/ld: scp_write.c:(.text+0x623): undefined reference to `libssh2_session_free'
/usr/bin/ld: scp_write.c:(.text+0x665): undefined reference to `libssh2_exit'
collect2: error: ld returned 1 exit status


Thanks,
S.

On 9/24/20 3:10 PM, Simone wrote:
Hello,

I have built libssh2 and its dependencies for aarch64, in such a way to link these libs as static into the final executable.

So the dependencies compiled as static libraries are

libassuan.a
libcrypto.a
libgcrypt.a
libgpg-error.a
libksba.a
libnpth.a
libntbtls.a
libssl.a
libz.a


To test the static linkage I use the following minimal code:
   
    // libssh2_test.c
    #include <libssh2.h>
    
    int main(void)
    {
        LIBSSH2_SESSION *session;
        LIBSSH2_CHANNEL *channel;
    
        libssh2_init(0);
        session = libssh2_session_init();
    
        libssh2_session_free(session);
        libssh2_exit();
        return 0;
    }

But when I try to compile, ld cannot find libssh2 symbols:

    aarch64-linux-gnu-gcc -I ../third/include/ ../third/lib/libz.a ../third/lib/libnpth.a ../third/lib/libssl.a ../third/lib/libcrypto.a ../third/lib/libgpg-error.a ../third/lib/libksba.a ../third/lib/libgcrypt.a ../third/lib/libntbtls.a ../third/lib/libassuan.a ../third/lib/libssh2.a libssh2_test.c -o libssh2_test
    /opt/Xilinx/Vitis/2019.2/gnu/aarch64/lin/aarch64-linux/bin/../lib/gcc/aarch64-linux-gnu/8.2.0/../../../../aarch64-linux-gnu/bin/ld: /tmp/ccSuPNUb.o: in function `main':
    libssh2_test.c:(.text+0xc): undefined reference to `libssh2_init'
    /opt/Xilinx/Vitis/2019.2/gnu/aarch64/lin/aarch64-linux/bin/../lib/gcc/aarch64-linux-gnu/8.2.0/../../../../aarch64-linux-gnu/bin/ld: libssh2_test.c:(.text+0x20): undefined reference to `libssh2_session_init_ex'
    /opt/Xilinx/Vitis/2019.2/gnu/aarch64/lin/aarch64-linux/bin/../lib/gcc/aarch64-linux-gnu/8.2.0/../../../../aarch64-linux-gnu/bin/ld: libssh2_test.c:(.text+0x2c): undefined reference to `libssh2_session_free'
    /opt/Xilinx/Vitis/2019.2/gnu/aarch64/lin/aarch64-linux/bin/../lib/gcc/aarch64-linux-gnu/8.2.0/../../../../aarch64-linux-gnu/bin/ld: libssh2_test.c:(.text+0x30): undefined reference to `libssh2_exit'
    collect2: error: ld returned 1 exit status


Of course these functions are defined in libssh2.h.
libssh2 has been compiled using the following script:

#!/bin/sh

host=aarch64
target=aarch64-linux-gnu
cc=${target}-gcc
cpp=${target}-g++
ar=${target}-ar
cross_path=/opt/Xilinx/Vitis/2019.2/gnu/aarch64/lin/aarch64-linux/bin

install_prefix=${PWD}/../../../third/

../configure     --prefix=${install_prefix} \
                 --host=${host}  \
                 CC=${cross_path}/${cc}  \
                 CXX=${cross_path}/${cpp} \
                 --with-gnu-ld  \
                 --with-libgpg-error-prefix=${install_prefix} \
                 --with-crypto=auto \
                 --with-libgcrypt-prefix=${install_prefix} \
                 --with-libssl-prefix=${install_prefix} \
                 --enable-static \
                 --enable-shared

if [ $? -eq 0 ]; then
    make -j 32
    make install
fi


Could someone suggest what I have done wrong ?
Thanks.
S.


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

--------------659DB369D2B0B56810646754-- --===============0974117269== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: inline X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGlic3NoMi1k ZXZlbCBodHRwczovL2Nvb2wuaGF4eC5zZS9jZ2ktYmluL21haWxtYW4vbGlzdGluZm8vbGlic3No Mi1kZXZlbAo= --===============0974117269==-- From libssh2-devel-bounces@cool.haxx.se Fri Sep 25 17:01:01 2020 Return-Path: Received: from www.haxx.se (mail [127.0.0.1]) by giant.haxx.se (8.15.2/8.15.2/Debian-4) with ESMTP id 08PF0N8s031150; Fri, 25 Sep 2020 17:00:50 +0200 Received: from mo4-p00-ob.smtp.rzone.de (mo4-p00-ob.smtp.rzone.de [81.169.146.218]) by giant.haxx.se (8.15.2/8.15.2/Debian-4) with ESMTPS id 08PF0Lf3031108 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Fri, 25 Sep 2020 17:00:21 +0200 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1601046021; s=strato-dkim-0002; d=adtelecom.es; h=In-Reply-To:Date:Message-ID:References:Reply-To:To:From:Subject: X-RZG-CLASS-ID:X-RZG-AUTH:From:Subject:Sender; bh=CzrukEPoSEimX/ZJ6K9CvwyP5NBsXXbWVHU4x4s0E+M=; b=NcyreMHQBUHcN73vBolZv7GwK81OlYp3PaxfoLfB25Vr12mcC+4D4zJ7asaacrpvSM PYE9HN7Drdbx+glI0n4pW3Gf2XvBsmtkub/YOaTAtiAdHQY7QL0knaTFvBdRzrCpG2Yx AYUpj8W1wT8CiHpgazLk5VrfjEtjB/9mWiKU6Kxe51I9zm3UTWTdjge9Or7SJxZOW/Rq R3vNF2ecsvqP/weXF1q149cEURlv0Jh/vRjgqlhrZ2LBRTkrnKG6DyfhSY03L78ZAZWP sr7CNlfvan4peUjc5vEW1V1SJVgkuwc70tFwiETpq9RTSjodkgxfEHmaUE+wnXRNLOAI SydQ== X-RZG-AUTH: ":P2UJek6teuVmkxPOItS8sX320dipfNeAKMB/QC7zITnRV4sKD6Rqzx8hrt/aYYXgE6ycGtZ5tRaZdA==" X-RZG-CLASS-ID: mo00 Received: from [192.168.43.220] by smtp.strato.com (RZmta 46.10.7 SBL|AUTH) with ESMTPSA id I0b818w8PF0KvnW (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256 bits)) (Client did not present a certificate) for ; Fri, 25 Sep 2020 17:00:20 +0200 (CEST) Subject: Re: libssh2 static linking - undefined reference to From: Simone To: libssh2-devel@cool.haxx.se References: <9fd8304a-76a0-f675-9ebd-b5daa5779ec9@adtelecom.es> <2bb4ecf0-f2dd-5f11-282a-fc0eea2b5c88@adtelecom.es> Message-ID: Date: Fri, 25 Sep 2020 17:00:17 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.12.0 MIME-Version: 1.0 In-Reply-To: <2bb4ecf0-f2dd-5f11-282a-fc0eea2b5c88@adtelecom.es> Content-Language: en-US X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.22 Precedence: list List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: libssh2 development Content-Type: multipart/mixed; boundary="===============0731057205==" Errors-To: libssh2-devel-bounces@cool.haxx.se Sender: "libssh2-devel" This is a multi-part message in MIME format. --===============0731057205== Content-Type: multipart/alternative; boundary="------------1A8B0E568460F3500BBAC10C" Content-Language: en-US This is a multi-part message in MIME format. --------------1A8B0E568460F3500BBAC10C Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit I forgot to say that this was a gcc command error, linked libs go after c src. s. On 9/24/20 4:32 PM, Simone wrote: > Hello again, > > I have the same problem after compiling for x86_64. Here is the output > if I try to compile scp_write.c from the examples: > * > **:~/path/to/libssh2-1.9.0/build_x86_64$ gcc -I install/include/ -I > example/ -L install/lib/ -l:libssh2.a ../example/scp_write.c ** > **/usr/bin/ld: /tmp/ccdrFU90.o: in function `main':** > **scp_write.c:(.text+0xf1): undefined reference to `libssh2_init'** > **/usr/bin/ld: scp_write.c:(.text+0x24a): undefined reference to > `libssh2_session_init_ex'** > **/usr/bin/ld: scp_write.c:(.text+0x270): undefined reference to > `libssh2_session_handshake'** > **/usr/bin/ld: scp_write.c:(.text+0x2b2): undefined reference to > `libssh2_hostkey_hash'** > **/usr/bin/ld: scp_write.c:(.text+0x36f): undefined reference to > `libssh2_userauth_password_ex'** > **/usr/bin/ld: scp_write.c:(.text+0x3d1): undefined reference to > `libssh2_userauth_publickey_fromfile_ex'** > **/usr/bin/ld: scp_write.c:(.text+0x42d): undefined reference to > `libssh2_scp_send_ex'** > **/usr/bin/ld: scp_write.c:(.text+0x45d): undefined reference to > `libssh2_session_last_error'** > **/usr/bin/ld: scp_write.c:(.text+0x502): undefined reference to > `libssh2_channel_write_ex'** > **/usr/bin/ld: scp_write.c:(.text+0x579): undefined reference to > `libssh2_channel_send_eof'** > **/usr/bin/ld: scp_write.c:(.text+0x5a8): undefined reference to > `libssh2_channel_wait_eof'** > **/usr/bin/ld: scp_write.c:(.text+0x5d7): undefined reference to > `libssh2_channel_wait_closed'** > **/usr/bin/ld: scp_write.c:(.text+0x5e6): undefined reference to > `libssh2_channel_free'** > **/usr/bin/ld: scp_write.c:(.text+0x617): undefined reference to > `libssh2_session_disconnect_ex'** > **/usr/bin/ld: scp_write.c:(.text+0x623): undefined reference to > `libssh2_session_free'** > **/usr/bin/ld: scp_write.c:(.text+0x665): undefined reference to > `libssh2_exit'** > **collect2: error: ld returned 1 exit status* > > Thanks, > S. > > On 9/24/20 3:10 PM, Simone wrote: >> Hello, >> >> I have built libssh2 and its dependencies for aarch64, in such a way >> to link these libs as static into the final executable. >> >> So the dependencies compiled as static libraries are >> >> *libassuan.a >> libcrypto.a >> libgcrypt.a >> libgpg-error.a >> libksba.a >> libnpth.a >> libntbtls.a >> libssl.a >> libz.a* >> >> To test the static linkage I use the following minimal code: >> >>     // libssh2_test.c >>     #include >> >>     int main(void) >>     { >>         LIBSSH2_SESSION *session; >>         LIBSSH2_CHANNEL *channel; >> >>         libssh2_init(0); >>         session = libssh2_session_init(); >> >>         libssh2_session_free(session); >>         libssh2_exit(); >>         return 0; >>     } >> >> But when I try to compile, ld cannot find libssh2 symbols: >> >> *aarch64-linux-gnu-gcc -I ../third/include/ ../third/lib/libz.a >> ../third/lib/libnpth.a ../third/lib/libssl.a ../third/lib/libcrypto.a >> ../third/lib/libgpg-error.a ../third/lib/libksba.a >> ../third/lib/libgcrypt.a ../third/lib/libntbtls.a >> ../third/lib/libassuan.a ../third/lib/libssh2.a libssh2_test.c -o >> libssh2_test >> /opt/Xilinx/Vitis/2019.2/gnu/aarch64/lin/aarch64-linux/bin/../lib/gcc/aarch64-linux-gnu/8.2.0/../../../../aarch64-linux-gnu/bin/ld: >> /tmp/ccSuPNUb.o: in function `main': >>     libssh2_test.c:(.text+0xc): undefined reference to `libssh2_init' >> /opt/Xilinx/Vitis/2019.2/gnu/aarch64/lin/aarch64-linux/bin/../lib/gcc/aarch64-linux-gnu/8.2.0/../../../../aarch64-linux-gnu/bin/ld: >> libssh2_test.c:(.text+0x20): undefined reference to >> `libssh2_session_init_ex' >> /opt/Xilinx/Vitis/2019.2/gnu/aarch64/lin/aarch64-linux/bin/../lib/gcc/aarch64-linux-gnu/8.2.0/../../../../aarch64-linux-gnu/bin/ld: >> libssh2_test.c:(.text+0x2c): undefined reference to >> `libssh2_session_free' >> /opt/Xilinx/Vitis/2019.2/gnu/aarch64/lin/aarch64-linux/bin/../lib/gcc/aarch64-linux-gnu/8.2.0/../../../../aarch64-linux-gnu/bin/ld: >> libssh2_test.c:(.text+0x30): undefined reference to `libssh2_exit' >>     collect2: error: ld returned 1 exit status* >> >> Of course these functions are defined in libssh2.h. >> libssh2 has been compiled using the following script: >> >> *#!/bin/sh >> >> host=aarch64 >> target=aarch64-linux-gnu >> cc=${target}-gcc >> cpp=${target}-g++ >> ar=${target}-ar >> cross_path=/opt/Xilinx/Vitis/2019.2/gnu/aarch64/lin/aarch64-linux/bin >> >> install_prefix=${PWD}/../../../third/ >> >> ../configure     --prefix=${install_prefix} \ >>                  --host=${host}  \ >>                  CC=${cross_path}/${cc}  \ >>                  CXX=${cross_path}/${cpp} \ >>                  --with-gnu-ld  \ >> --with-libgpg-error-prefix=${install_prefix} \ >>                  --with-crypto=auto \ >>                  --with-libgcrypt-prefix=${install_prefix} \ >>                  --with-libssl-prefix=${install_prefix} \ >>                  --enable-static \ >>                  --enable-shared >> >> if [ $? -eq 0 ]; then >>     make -j 32 >>     make install >> fi* >> >> Could someone suggest what I have done wrong ? >> Thanks. >> S. >> >> >> _______________________________________________ >> libssh2-develhttps://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel > > > _______________________________________________ > libssh2-devel https://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel --------------1A8B0E568460F3500BBAC10C Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: 8bit I forgot to say that this was a gcc command error, linked libs go after c src.
s.

On 9/24/20 4:32 PM, Simone wrote:
Hello again,

I have the same problem after compiling for x86_64. Here is the output if I try to compile scp_write.c from the examples:

:~/path/to/libssh2-1.9.0/build_x86_64$ gcc -I install/include/ -I example/ -L install/lib/ -l:libssh2.a ../example/scp_write.c
/usr/bin/ld: /tmp/ccdrFU90.o: in function `main':
scp_write.c:(.text+0xf1): undefined reference to `libssh2_init'
/usr/bin/ld: scp_write.c:(.text+0x24a): undefined reference to `libssh2_session_init_ex'
/usr/bin/ld: scp_write.c:(.text+0x270): undefined reference to `libssh2_session_handshake'
/usr/bin/ld: scp_write.c:(.text+0x2b2): undefined reference to `libssh2_hostkey_hash'
/usr/bin/ld: scp_write.c:(.text+0x36f): undefined reference to `libssh2_userauth_password_ex'
/usr/bin/ld: scp_write.c:(.text+0x3d1): undefined reference to `libssh2_userauth_publickey_fromfile_ex'
/usr/bin/ld: scp_write.c:(.text+0x42d): undefined reference to `libssh2_scp_send_ex'
/usr/bin/ld: scp_write.c:(.text+0x45d): undefined reference to `libssh2_session_last_error'
/usr/bin/ld: scp_write.c:(.text+0x502): undefined reference to `libssh2_channel_write_ex'
/usr/bin/ld: scp_write.c:(.text+0x579): undefined reference to `libssh2_channel_send_eof'
/usr/bin/ld: scp_write.c:(.text+0x5a8): undefined reference to `libssh2_channel_wait_eof'
/usr/bin/ld: scp_write.c:(.text+0x5d7): undefined reference to `libssh2_channel_wait_closed'
/usr/bin/ld: scp_write.c:(.text+0x5e6): undefined reference to `libssh2_channel_free'
/usr/bin/ld: scp_write.c:(.text+0x617): undefined reference to `libssh2_session_disconnect_ex'
/usr/bin/ld: scp_write.c:(.text+0x623): undefined reference to `libssh2_session_free'
/usr/bin/ld: scp_write.c:(.text+0x665): undefined reference to `libssh2_exit'
collect2: error: ld returned 1 exit status


Thanks,
S.

On 9/24/20 3:10 PM, Simone wrote:
Hello,

I have built libssh2 and its dependencies for aarch64, in such a way to link these libs as static into the final executable.

So the dependencies compiled as static libraries are

libassuan.a
libcrypto.a
libgcrypt.a
libgpg-error.a
libksba.a
libnpth.a
libntbtls.a
libssl.a
libz.a


To test the static linkage I use the following minimal code:
   
    // libssh2_test.c
    #include <libssh2.h>
    
    int main(void)
    {
        LIBSSH2_SESSION *session;
        LIBSSH2_CHANNEL *channel;
    
        libssh2_init(0);
        session = libssh2_session_init();
    
        libssh2_session_free(session);
        libssh2_exit();
        return 0;
    }

But when I try to compile, ld cannot find libssh2 symbols:

    aarch64-linux-gnu-gcc -I ../third/include/ ../third/lib/libz.a ../third/lib/libnpth.a ../third/lib/libssl.a ../third/lib/libcrypto.a ../third/lib/libgpg-error.a ../third/lib/libksba.a ../third/lib/libgcrypt.a ../third/lib/libntbtls.a ../third/lib/libassuan.a ../third/lib/libssh2.a libssh2_test.c -o libssh2_test
    /opt/Xilinx/Vitis/2019.2/gnu/aarch64/lin/aarch64-linux/bin/../lib/gcc/aarch64-linux-gnu/8.2.0/../../../../aarch64-linux-gnu/bin/ld: /tmp/ccSuPNUb.o: in function `main':
    libssh2_test.c:(.text+0xc): undefined reference to `libssh2_init'
    /opt/Xilinx/Vitis/2019.2/gnu/aarch64/lin/aarch64-linux/bin/../lib/gcc/aarch64-linux-gnu/8.2.0/../../../../aarch64-linux-gnu/bin/ld: libssh2_test.c:(.text+0x20): undefined reference to `libssh2_session_init_ex'
    /opt/Xilinx/Vitis/2019.2/gnu/aarch64/lin/aarch64-linux/bin/../lib/gcc/aarch64-linux-gnu/8.2.0/../../../../aarch64-linux-gnu/bin/ld: libssh2_test.c:(.text+0x2c): undefined reference to `libssh2_session_free'
    /opt/Xilinx/Vitis/2019.2/gnu/aarch64/lin/aarch64-linux/bin/../lib/gcc/aarch64-linux-gnu/8.2.0/../../../../aarch64-linux-gnu/bin/ld: libssh2_test.c:(.text+0x30): undefined reference to `libssh2_exit'
    collect2: error: ld returned 1 exit status


Of course these functions are defined in libssh2.h.
libssh2 has been compiled using the following script:

#!/bin/sh

host=aarch64
target=aarch64-linux-gnu
cc=${target}-gcc
cpp=${target}-g++
ar=${target}-ar
cross_path=/opt/Xilinx/Vitis/2019.2/gnu/aarch64/lin/aarch64-linux/bin

install_prefix=${PWD}/../../../third/

../configure     --prefix=${install_prefix} \
                 --host=${host}  \
                 CC=${cross_path}/${cc}  \
                 CXX=${cross_path}/${cpp} \
                 --with-gnu-ld  \
                 --with-libgpg-error-prefix=${install_prefix} \
                 --with-crypto=auto \
                 --with-libgcrypt-prefix=${install_prefix} \
                 --with-libssl-prefix=${install_prefix} \
                 --enable-static \
                 --enable-shared

if [ $? -eq 0 ]; then
    make -j 32
    make install
fi


Could someone suggest what I have done wrong ?
Thanks.
S.


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


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

--------------1A8B0E568460F3500BBAC10C-- --===============0731057205== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: inline X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGlic3NoMi1k ZXZlbCBodHRwczovL2Nvb2wuaGF4eC5zZS9jZ2ktYmluL21haWxtYW4vbGlzdGluZm8vbGlic3No Mi1kZXZlbAo= --===============0731057205==-- From libssh2-devel-bounces@cool.haxx.se Sat Sep 26 15:52:21 2020 Return-Path: Received: from www.haxx.se (mail [127.0.0.1]) by giant.haxx.se (8.15.2/8.15.2/Debian-4) with ESMTP id 08QDpeRL030902; Sat, 26 Sep 2020 15:52:09 +0200 Received: from forward501j.mail.yandex.net (forward501j.mail.yandex.net [IPv6:2a02:6b8:0:801:2:0:0:111]) by giant.haxx.se (8.15.2/8.15.2/Debian-4) with ESMTPS id 08QDpc07030863 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Sat, 26 Sep 2020 15:51:39 +0200 Received: from mxback16j.mail.yandex.net (mxback16j.mail.yandex.net [IPv6:2a02:6b8:0:1619::92]) by forward501j.mail.yandex.net (Yandex) with ESMTP id 8BC1C3380263 for ; Sat, 26 Sep 2020 16:51:33 +0300 (MSK) Received: from localhost (localhost [::1]) by mxback16j.mail.yandex.net (mxback/Yandex) with ESMTP id I7mbSBOdW3-pXe4FWgp; Sat, 26 Sep 2020 16:51:33 +0300 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex.ru; s=mail; t=1601128293; bh=9Wo1SAr99vflEX+mnZXtuZkyhYhOh9twUpScrnxiFZc=; h=References:Date:Message-Id:Subject:In-Reply-To:To:From; b=G94SW+EfA+eposdKowIwUv4Oms4OQ5mokJ60Md9SxXlwdIwNvm/efr726qItiNkG7 PdEs7NLmdmqmx86DmS9/NXkFIREf6SRNE2+AnvqB40vgd3b9oBOEg4HzQ3idwCh+Ls SZYBwlmWzn90Sssnvd1dL1pMRUHLJVqCiMruYrA4= Authentication-Results: mxback16j.mail.yandex.net; dkim=pass header.i=@yandex.ru Received: by myt6-4204cefb5b39.qloud-c.yandex.net with HTTP; Sat, 26 Sep 2020 16:51:33 +0300 From: Igor Klevanets To: libssh2 development In-Reply-To: <202181600888386@mail.yandex.ru> References: <202181600888386@mail.yandex.ru> Subject: Re: Add libssh2_agent_sign() to allow sign any message MIME-Version: 1.0 X-Mailer: Yamail [ http://yandex.ru ] 5.0 Date: Sat, 26 Sep 2020 16:51:33 +0300 Message-Id: <219271601128241@mail.yandex.ru> X-BeenThere: libssh2-devel@cool.haxx.se X-Mailman-Version: 2.1.22 Precedence: list List-Id: libssh2 development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: libssh2 development Content-Type: multipart/mixed; boundary="===============0255202261==" Errors-To: libssh2-devel-bounces@cool.haxx.se Sender: "libssh2-devel" --===============0255202261== Content-Transfer-Encoding: 8bit Content-Type: text/html; charset=utf-8
Hello,
 
Is there any specific procedure for public API extending?
 
Thank you,
Igor Klevanets
 
--===============0255202261== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: inline X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGlic3NoMi1k ZXZlbCBodHRwczovL2Nvb2wuaGF4eC5zZS9jZ2ktYmluL21haWxtYW4vbGlzdGluZm8vbGlic3No Mi1kZXZlbAo= --===============0255202261==--