[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] session: add getters for session cipher names
[Thread Prev] | [Thread Next]
- Subject: Re: [PATCH] session: add getters for session cipher names
- From: Jon Simons <jon@xxxxxxxxxxxxx>
- Reply-to: libssh@xxxxxxxxxx
- Date: Mon, 03 Feb 2014 22:46:33 -0800
- To: Andreas Schneider <asn@xxxxxxxxxxxxxx>
- Cc: libssh@xxxxxxxxxx
On 2/3/14, 7:55 AM, Andreas Schneider wrote:
> I prefer
>
> if (session == NULL &&
> session->current_crypto == NULL &&
> session->current_crypto->in_cipher == NULL) {
>
> It is just more clean when reading that you do NULL pointer checks here :)
Thanks for the review! I've attached an updated patch
which is just the same, this time checking against NULL
explicitly.
Thanks Again,
-Jon
From 3276f92e05e1ea6f47d1def48cdebeee22e3ae96 Mon Sep 17 00:00:00 2001
From: Jon Simons <jon@xxxxxxxxxxxxx>
Date: Mon, 3 Feb 2014 22:37:25 -0800
Subject: [PATCH] session: add getters for session cipher names
---
include/libssh/libssh.h | 2 ++
src/session.c | 32 ++++++++++++++++++++++++++++++++
2 files changed, 34 insertions(+)
diff --git a/include/libssh/libssh.h b/include/libssh/libssh.h
index 31bcc86..1f9670e 100644
--- a/include/libssh/libssh.h
+++ b/include/libssh/libssh.h
@@ -628,6 +628,8 @@ LIBSSH_API int ssh_event_remove_session(ssh_event event, ssh_session session);
LIBSSH_API void ssh_event_free(ssh_event event);
LIBSSH_API const char* ssh_get_clientbanner(ssh_session session);
LIBSSH_API const char* ssh_get_serverbanner(ssh_session session);
+LIBSSH_API const char* ssh_get_cipher_in(ssh_session session);
+LIBSSH_API const char* ssh_get_cipher_out(ssh_session session);
#ifndef LIBSSH_LEGACY_0_4
#include "libssh/legacy.h"
diff --git a/src/session.c b/src/session.c
index 71d4548..97cd441 100644
--- a/src/session.c
+++ b/src/session.c
@@ -310,6 +310,38 @@ const char* ssh_get_serverbanner(ssh_session session) {
}
/**
+ * @brief get the name of the input for the given session.
+ *
+ * @param[in] session The SSH session.
+ *
+ * @return Returns cipher name or NULL.
+ */
+const char* ssh_get_cipher_in(ssh_session session) {
+ if ((session != NULL) &&
+ (session->current_crypto != NULL) &&
+ (session->current_crypto->in_cipher != NULL)) {
+ return session->current_crypto->in_cipher->name;
+ }
+ return NULL;
+}
+
+/**
+ * @brief get the name of the output cipher for the given session.
+ *
+ * @param[in] session The SSH session.
+ *
+ * @return Returns cipher name or NULL.
+ */
+const char* ssh_get_cipher_out(ssh_session session) {
+ if ((session != NULL) &&
+ (session->current_crypto != NULL) &&
+ (session->current_crypto->out_cipher != NULL)) {
+ return session->current_crypto->out_cipher->name;
+ }
+ return NULL;
+}
+
+/**
* @brief Disconnect impolitely from a remote host by closing the socket.
*
* Suitable if you forked and want to destroy this session.
--
1.8.4.21.g992c386
| [PATCH] session: add getters for session cipher names | Jon Simons <jon@xxxxxxxxxxxxx> |
| Re: [PATCH] session: add getters for session cipher names | Andreas Schneider <asn@xxxxxxxxxxxxxx> |