{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":15503123,"defaultBranch":"develop","name":"asyncssh","ownerLogin":"ronf","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2013-12-29T03:44:51.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/1901085?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1725294216.0","currentOid":""},"activityList":{"items":[{"before":"dcd1c618690036e19933ca88ed5a241a295a4c81","after":"bc587fc2124decd739624426c9713542b131618d","ref":"refs/heads/develop","pushedAt":"2024-09-19T04:54:03.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"ronf","name":"Ron Frederick","path":"/ronf","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1901085?s=80&v=4"},"commit":{"message":"Improve SCP exception handling when canceling transfers in progress\n\nThis commit improves exception handling triggered when a transfer is\ncancelled while in progress, either by a timeout or as a result of a\nuser triggering a KeyboardInterrupt.\n\nAs part of this, an \"Unknown exception\" should no longer be logged\nfor SCP server tasks which are cancelled. SCP client tasks should\nalso no longer raise exceptions from a timeout or KeyboardInterrupt\nwhich is properly caught out at the application level.","shortMessageHtmlLink":"Improve SCP exception handling when canceling transfers in progress"}},{"before":"b244bb33af6ccb7e8e15b26fa4d23cea1b4489ac","after":"dcd1c618690036e19933ca88ed5a241a295a4c81","ref":"refs/heads/develop","pushedAt":"2024-09-18T01:28:20.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ronf","name":"Ron Frederick","path":"/ronf","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1901085?s=80&v=4"},"commit":{"message":"Allow non-TCP sockets to be passed in via the 'sock' option\n\nThis commit guards against a setsockopt() failure when passing a\nnon-TCP socket (such as a socketpair) to AsyncSSH via the 'sock'\noption. Thanks go to Christian Wendt for reporting this problem\nand proposing a fix.","shortMessageHtmlLink":"Allow non-TCP sockets to be passed in via the 'sock' option"}},{"before":"2ea5a4e7485a6d4433322c02153f0c20b4b7a957","after":"b244bb33af6ccb7e8e15b26fa4d23cea1b4489ac","ref":"refs/heads/develop","pushedAt":"2024-09-17T13:23:05.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ronf","name":"Ron Frederick","path":"/ronf","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1901085?s=80&v=4"},"commit":{"message":"Allow additional flexibility in specifying environment values\n\nThis commit allows the 'env' option to accept sequences of either\n'key=value' strings or (key, value) tuples, in addition to accepting\na dict. The 'name=value' syntax was previously required to be sent\nas a list.\n\nAs part of a previous commit, keys and values can now be either\nUnicode strings or byte strings, where Unicode strings will be\nencoded as UTF-8 in channel requests.","shortMessageHtmlLink":"Allow additional flexibility in specifying environment values"}},{"before":"581d5611b29682b804b26821af7d1997c16ed656","after":"2ea5a4e7485a6d4433322c02153f0c20b4b7a957","ref":"refs/heads/develop","pushedAt":"2024-09-15T15:39:10.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ronf","name":"Ron Frederick","path":"/ronf","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1901085?s=80&v=4"},"commit":{"message":"Fix name of gss-nistp384-sha384 key exchange algorithm","shortMessageHtmlLink":"Fix name of gss-nistp384-sha384 key exchange algorithm"}},{"before":"d6a65a193d7624297bb95a641417a46e3bb52387","after":"581d5611b29682b804b26821af7d1997c16ed656","ref":"refs/heads/develop","pushedAt":"2024-09-15T15:26:59.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ronf","name":"Ron Frederick","path":"/ronf","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1901085?s=80&v=4"},"commit":{"message":"Handle lack of support for os.environb on some OSes (such as Windows)","shortMessageHtmlLink":"Handle lack of support for os.environb on some OSes (such as Windows)"}},{"before":"7923c27ce86f681b652123d1c61872721f59c822","after":"d6a65a193d7624297bb95a641417a46e3bb52387","ref":"refs/heads/develop","pushedAt":"2024-09-15T14:31:38.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"ronf","name":"Ron Frederick","path":"/ronf","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1901085?s=80&v=4"},"commit":{"message":"Add support for getting/setting environment variables using byte strings\n\nThis commit allows applications to pass in byte strings in addition to\nUnicode strings when setting environment variables. As before, Unicode\nstrings will be UTF-8 encoded, but byte strings can support passing\nbinary data, or text encoded with other encodings.\n\nOn the server side, a new get_environment_bytes() method can be used to\nget the environment variables as a dictionary with byte srtings as the\nkeys and values, instead of the Unicode strings returned by\nget_environment(), allowing access to the raw binary data. The existing\nget_environment() remains available, but it will only provide access\nto the environment variables which have valid UTF-8 keys and values.\n\nIt is up to the applicaiton code to know what encoding (if any) should\nbe used when getting or setting environment variables.","shortMessageHtmlLink":"Add support for getting/setting environment variables using byte strings"}},{"before":"cb87de967a053a48abe5051f243acbc7ce67da34","after":"7923c27ce86f681b652123d1c61872721f59c822","ref":"refs/heads/develop","pushedAt":"2024-09-10T13:48:00.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ronf","name":"Ron Frederick","path":"/ronf","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1901085?s=80&v=4"},"commit":{"message":"Fix unit test failure on Windows when calling abort on a transport","shortMessageHtmlLink":"Fix unit test failure on Windows when calling abort on a transport"}},{"before":"358c17595bcc40f3075f8bc40c53e59d971b7bb2","after":"cb87de967a053a48abe5051f243acbc7ce67da34","ref":"refs/heads/develop","pushedAt":"2024-09-10T13:16:08.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ronf","name":"Ron Frederick","path":"/ronf","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1901085?s=80&v=4"},"commit":{"message":"Use an executor to prevent GSSAPI calls from blocking the event loop\n\nSome operations such as GSSAPI calls can sometimes block the event\nloop if not run in an executor. However, doing that requires packet\nhandlers to be asynchronous. This commit adds support for async\npacket handlers for key exchange and auth, and changes the GSSAPI\nhandlers to run the step() call in an executor.","shortMessageHtmlLink":"Use an executor to prevent GSSAPI calls from blocking the event loop"}},{"before":"46141d88aa0ef12cd01867129a9626f853a92317","after":"358c17595bcc40f3075f8bc40c53e59d971b7bb2","ref":"refs/heads/develop","pushedAt":"2024-09-08T15:53:57.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"ronf","name":"Ron Frederick","path":"/ronf","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1901085?s=80&v=4"},"commit":{"message":" Revert commits 220b9d4 and 3698c93\n\n The fix in commit 3698c93 to prevent crashes intorduced by commit\n 220b9d4 ended up triggering a race condition related to collecting the\n exit status or exit signal information on a process. There's stil an\n issue that needs to be addressed when remote systems don't close the\n channel in a timely manner which can cause problems handling something\n like a KeyboardInterrupt, but the attempted fix seemed to be doing more\n harm than good. Until a different approach can be found, the code has\n been reset back to what it was before these two commits.","shortMessageHtmlLink":" Revert commits 220b9d4 and 3698c93"}},{"before":"329c205d4259b722bb29b3ba64d8b860b308d3d6","after":"46141d88aa0ef12cd01867129a9626f853a92317","ref":"refs/heads/develop","pushedAt":"2024-09-08T13:54:34.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ronf","name":"Ron Frederick","path":"/ronf","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1901085?s=80&v=4"},"commit":{"message":"Another attempt to fix unit test failures","shortMessageHtmlLink":"Another attempt to fix unit test failures"}},{"before":"13b5590591ed701b16d3dd1f96cd9e01f05ffe34","after":"329c205d4259b722bb29b3ba64d8b860b308d3d6","ref":"refs/heads/develop","pushedAt":"2024-09-08T13:34:19.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ronf","name":"Ron Frederick","path":"/ronf","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1901085?s=80&v=4"},"commit":{"message":"Another attempt to fix unit test failures","shortMessageHtmlLink":"Another attempt to fix unit test failures"}},{"before":"d58104e49484b25bfe792fb87bca538c4d505821","after":"13b5590591ed701b16d3dd1f96cd9e01f05ffe34","ref":"refs/heads/develop","pushedAt":"2024-09-07T14:35:58.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ronf","name":"Ron Frederick","path":"/ronf","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1901085?s=80&v=4"},"commit":{"message":"Attempt to fix unit test failures when forwarding break/signals/term_size","shortMessageHtmlLink":"Attempt to fix unit test failures when forwarding break/signals/term_…"}},{"before":"9a48b1d85c06509760a15ca9d640ee834f9b96b6","after":"d58104e49484b25bfe792fb87bca538c4d505821","ref":"refs/heads/develop","pushedAt":"2024-09-07T14:11:34.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ronf","name":"Ron Frederick","path":"/ronf","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1901085?s=80&v=4"},"commit":{"message":"Show test names to try and track a unit test hang","shortMessageHtmlLink":"Show test names to try and track a unit test hang"}},{"before":"2b9f1b421492fc3aa11ebf75ff86bd0b9e39f9b6","after":"9a48b1d85c06509760a15ca9d640ee834f9b96b6","ref":"refs/heads/develop","pushedAt":"2024-09-07T12:39:20.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ronf","name":"Ron Frederick","path":"/ronf","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1901085?s=80&v=4"},"commit":{"message":"Fix test failures on Windows when sending signals right before socket close","shortMessageHtmlLink":"Fix test failures on Windows when sending signals right before socket…"}},{"before":"683b332cd3bc41f15afb234036e49fdf52035f09","after":"2b9f1b421492fc3aa11ebf75ff86bd0b9e39f9b6","ref":"refs/heads/develop","pushedAt":"2024-09-06T21:51:19.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ronf","name":"Ron Frederick","path":"/ronf","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1901085?s=80&v=4"},"commit":{"message":"Catch more general ConnectionError on socket reads/writes","shortMessageHtmlLink":"Catch more general ConnectionError on socket reads/writes"}},{"before":"c044221400a1cb68282dcb660c2e0ef50b7e3055","after":"683b332cd3bc41f15afb234036e49fdf52035f09","ref":"refs/heads/develop","pushedAt":"2024-09-06T20:49:43.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"ronf","name":"Ron Frederick","path":"/ronf","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1901085?s=80&v=4"},"commit":{"message":"Use an executor to prevent GSSAPI calls from blocking the event loop\n\nSome operations such as GSSAPI calls can sometimes block the event\nloop if not run in an executor. However, doing that requires packet\nhandlers to be asynchronous. This commit adds support for async\npacket handlers for key exchange and auth, and changes the GSSAPI\nhandlers to run the step() call in an executor.","shortMessageHtmlLink":"Use an executor to prevent GSSAPI calls from blocking the event loop"}},{"before":"76e83117847bdc2c910c86cfc04662d2531b1272","after":"c044221400a1cb68282dcb660c2e0ef50b7e3055","ref":"refs/heads/develop","pushedAt":"2024-09-05T18:03:18.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ronf","name":"Ron Frederick","path":"/ronf","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1901085?s=80&v=4"},"commit":{"message":"Handle reverse DNS failure in host-based authentication\n\nThis commit improves the handling of host lookups in host-based\nauthentication. If reverse DNS fails when trying to resolve the\nhostname, the IP address will be used instead. Known host checking\nwas already matching either the host or the address before this, but\nthe reverse DNS lookup error caused the authentication to fail\nbefore it got that far.\n\nA similar change was made here on host name resolution for host-based\nauth on the server side.\n\nThanks go to GitHub user xBiggs for suggesting this change.","shortMessageHtmlLink":"Handle reverse DNS failure in host-based authentication"}},{"before":"13dc91450e5332183ee442556dd76929db659b91","after":"76e83117847bdc2c910c86cfc04662d2531b1272","ref":"refs/heads/develop","pushedAt":"2024-09-05T00:05:33.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ronf","name":"Ron Frederick","path":"/ronf","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1901085?s=80&v=4"},"commit":{"message":"Another attempt to fix coverage workflow","shortMessageHtmlLink":"Another attempt to fix coverage workflow"}},{"before":"833e1639c995ae80afb482da7bbf9a569a6c9fad","after":"13dc91450e5332183ee442556dd76929db659b91","ref":"refs/heads/develop","pushedAt":"2024-09-04T23:47:01.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ronf","name":"Ron Frederick","path":"/ronf","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1901085?s=80&v=4"},"commit":{"message":"Attempt to fix coverage workflow (coverage was written to hidden files)","shortMessageHtmlLink":"Attempt to fix coverage workflow (coverage was written to hidden files)"}},{"before":"973cde2ab3594952604f1421ee859bda5b52c520","after":"833e1639c995ae80afb482da7bbf9a569a6c9fad","ref":"refs/heads/develop","pushedAt":"2024-09-04T23:22:42.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"ronf","name":"Ron Frederick","path":"/ronf","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1901085?s=80&v=4"},"commit":{"message":"Fix a RuntimeWarning in a test case about a coroutine not being awaited","shortMessageHtmlLink":"Fix a RuntimeWarning in a test case about a coroutine not being awaited"}},{"before":"c2599fdae289dc7f0bf9ece332d81d519c0355d8","after":"973cde2ab3594952604f1421ee859bda5b52c520","ref":"refs/heads/develop","pushedAt":"2024-09-02T16:24:22.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ronf","name":"Ron Frederick","path":"/ronf","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1901085?s=80&v=4"},"commit":{"message":"Bump version number up to 2.17.0 and update change log","shortMessageHtmlLink":"Bump version number up to 2.17.0 and update change log"}},{"before":"efb837c5f0b3e3cd4d690adb55b760be3445344f","after":"973cde2ab3594952604f1421ee859bda5b52c520","ref":"refs/heads/master","pushedAt":"2024-09-02T16:11:29.000Z","pushType":"push","commitsCount":13,"pusher":{"login":"ronf","name":"Ron Frederick","path":"/ronf","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1901085?s=80&v=4"},"commit":{"message":"Bump version number up to 2.17.0 and update change log","shortMessageHtmlLink":"Bump version number up to 2.17.0 and update change log"}},{"before":"22affcecc180f12e74b84797b8d844c7872be91e","after":"c2599fdae289dc7f0bf9ece332d81d519c0355d8","ref":"refs/heads/develop","pushedAt":"2024-08-31T02:56:54.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ronf","name":"Ron Frederick","path":"/ronf","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1901085?s=80&v=4"},"commit":{"message":"Relax padding length check on OpenSSH private keys\n\nThis commit relaxes a check on the length of the padding in OpenSSH\nformat private keys. The padding is only supposed to be large enough to\nget to the next multiple of the cipher block size, or a block size of 8\nfor unencrypted keys. However, PuTTYgen seems to get this wrong and use\na larger padding size on unencrypted keys, preventing AsyncSSH from\nloading some unencrypted keys generated by PuTTYgen. With this change,\nlarger amounts of padding are allowed (up to 255 bytes), which should\nhelp avoid this issue with PuTTYgen.","shortMessageHtmlLink":"Relax padding length check on OpenSSH private keys"}},{"before":"8dd1838fb5b41ac0affbaed3cb12f7ee107f94d5","after":"22affcecc180f12e74b84797b8d844c7872be91e","ref":"refs/heads/develop","pushedAt":"2024-08-25T05:54:33.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ronf","name":"Ron Frederick","path":"/ronf","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1901085?s=80&v=4"},"commit":{"message":"Missing disabling some of the GSS store unit tests on Windows","shortMessageHtmlLink":"Missing disabling some of the GSS store unit tests on Windows"}},{"before":"2ec5371394379132de5b9e1bfb92d5c1686dd101","after":"8dd1838fb5b41ac0affbaed3cb12f7ee107f94d5","ref":"refs/heads/develop","pushedAt":"2024-08-25T05:26:18.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ronf","name":"Ron Frederick","path":"/ronf","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1901085?s=80&v=4"},"commit":{"message":"Fix another GSS store issue in unit tests","shortMessageHtmlLink":"Fix another GSS store issue in unit tests"}},{"before":"4711024fd1c81be96312151a416ba21af88ba02b","after":"2ec5371394379132de5b9e1bfb92d5c1686dd101","ref":"refs/heads/develop","pushedAt":"2024-08-25T05:10:18.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ronf","name":"Ron Frederick","path":"/ronf","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1901085?s=80&v=4"},"commit":{"message":"Add missing import for skipping GSS store test","shortMessageHtmlLink":"Add missing import for skipping GSS store test"}},{"before":"7277a9ffc74169022ce207657085ef9c3134cb2b","after":"4711024fd1c81be96312151a416ba21af88ba02b","ref":"refs/heads/develop","pushedAt":"2024-08-25T05:00:41.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ronf","name":"Ron Frederick","path":"/ronf","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1901085?s=80&v=4"},"commit":{"message":"Disable GSS store test on Windows","shortMessageHtmlLink":"Disable GSS store test on Windows"}},{"before":"5cbde231af81f6158a681e2d35f65e88fc706df9","after":"7277a9ffc74169022ce207657085ef9c3134cb2b","ref":"refs/heads/develop","pushedAt":"2024-08-25T04:40:57.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ronf","name":"Ron Frederick","path":"/ronf","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1901085?s=80&v=4"},"commit":{"message":"Fix mypy issue","shortMessageHtmlLink":"Fix mypy issue"}},{"before":"e41e05c114b8942d8d3e944c2f2b7f16851a13c8","after":"5cbde231af81f6158a681e2d35f65e88fc706df9","ref":"refs/heads/develop","pushedAt":"2024-08-25T04:10:24.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ronf","name":"Ron Frederick","path":"/ronf","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1901085?s=80&v=4"},"commit":{"message":"Add support for setting GSS credential store per connection\n\nThis commit adds support for setting the credential cache to use when\nperforming GSS authentication. While this was previously settable via\nan environment variable, that didn't allow different credential caches\nto be configured on a per-connection basis, since all tasks share the\nsame environment.\n\nThanks go to GitHub user zarganum for suggesting this feature and\nproposing a detailed design.","shortMessageHtmlLink":"Add support for setting GSS credential store per connection"}},{"before":"69ad1aa4f905a473e6cc59b408bcf1d24c2fc870","after":"e41e05c114b8942d8d3e944c2f2b7f16851a13c8","ref":"refs/heads/develop","pushedAt":"2024-08-24T03:17:45.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"ronf","name":"Ron Frederick","path":"/ronf","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1901085?s=80&v=4"},"commit":{"message":"Update examples to python 3.7 and add some other minor improvements","shortMessageHtmlLink":"Update examples to python 3.7 and add some other minor improvements"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0xOVQwNDo1NDowMy4wMDAwMDBazwAAAAS6aroD","startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0xOVQwNDo1NDowMy4wMDAwMDBazwAAAAS6aroD","endCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOC0yNFQwMzoxNzo0NS4wMDAwMDBazwAAAASi3poB"}},"title":"Activity · ronf/asyncssh"}