From 87fc2bd4375952e27622d035ffd1502a22a0266d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pavel=20B=C5=99ezina?= Date: Fri, 2 Feb 2024 16:53:38 +0100 Subject: [PATCH] Add changelog fragments --- docs/changelog-fragments/576.bugfix.rst | 7 +++++++ docs/changelog-fragments/576.doc.rst | 4 ++++ docs/changelog-fragments/576.feature.rst | 7 +++++++ 3 files changed, 18 insertions(+) create mode 100644 docs/changelog-fragments/576.bugfix.rst create mode 100644 docs/changelog-fragments/576.doc.rst create mode 100644 docs/changelog-fragments/576.feature.rst diff --git a/docs/changelog-fragments/576.bugfix.rst b/docs/changelog-fragments/576.bugfix.rst new file mode 100644 index 000000000..0f304ba78 --- /dev/null +++ b/docs/changelog-fragments/576.bugfix.rst @@ -0,0 +1,7 @@ +pylibssh no longer crashes when received EOF or when channel is not explicitly +closed -- by :user:`pbrezina`. + +Previously, pylibssh crashed if ``channel.recv`` was called and ``libssh`` +returned ``SSH_EOF`` error. It also crashed on some special occasions where +channel was not explicitly closed and the session object was garbage-collected +first. diff --git a/docs/changelog-fragments/576.doc.rst b/docs/changelog-fragments/576.doc.rst new file mode 100644 index 000000000..364e9d7e1 --- /dev/null +++ b/docs/changelog-fragments/576.doc.rst @@ -0,0 +1,4 @@ +Fixed the example of invoking remote commands by using +``Channel.exec_command()`` in snippets -- by :user:`pbrezina`. + +Its previously showcased version wasn't functional. diff --git a/docs/changelog-fragments/576.feature.rst b/docs/changelog-fragments/576.feature.rst new file mode 100644 index 000000000..e0747fa0f --- /dev/null +++ b/docs/changelog-fragments/576.feature.rst @@ -0,0 +1,7 @@ +The ``request_exec()`` method was added to the ``Channel`` class. It exposes an +interface for calling the respective low-level C-API of the underlying +``libssh`` library -- by :user:`pbrezina`. + +Additionally, the following calls to ``libssh`` are now available in the same +class: ``request_exec()``, ``send_eof()``, ``request_send_signal()`` and +``is_eof`` which is exposed as a :py:class:`property`.