1
0
mirror of https://git.libssh.org/projects/libssh.git synced 2025-12-09 15:41:10 +03:00

server: Reformat callback_receive_banner

Signed-off-by: Jakub Jelen <jjelen@redhat.com>
Reviewed-by: Norbert Pocs <npocs@redhat.com>
Reviewed-by: Andreas Schneider <asn@cryptomilk.org>
This commit is contained in:
Jakub Jelen
2023-03-14 09:43:57 +01:00
committed by Andreas Schneider
parent b0ce6935fc
commit e1be63d78d

View File

@@ -447,16 +447,17 @@ error:
* @param user is a pointer to session * @param user is a pointer to session
* @returns Number of bytes processed, or zero if the banner is not complete. * @returns Number of bytes processed, or zero if the banner is not complete.
*/ */
static size_t callback_receive_banner(const void *data, size_t len, void *user) { static size_t callback_receive_banner(const void *data, size_t len, void *user)
char *buffer = (char *) data; {
ssh_session session = (ssh_session) user; char *buffer = (char *)data;
ssh_session session = (ssh_session)user;
char *str = NULL; char *str = NULL;
size_t i; size_t i;
size_t processed = 0; size_t processed = 0;
for (i = 0; i < len; i++) { for (i = 0; i < len; i++) {
#ifdef WITH_PCAP #ifdef WITH_PCAP
if(session->pcap_ctx && buffer[i] == '\n') { if (session->pcap_ctx && buffer[i] == '\n') {
ssh_pcap_context_write(session->pcap_ctx, ssh_pcap_context_write(session->pcap_ctx,
SSH_PCAP_DIR_IN, SSH_PCAP_DIR_IN,
buffer, buffer,
@@ -465,11 +466,11 @@ static size_t callback_receive_banner(const void *data, size_t len, void *user)
} }
#endif #endif
if (buffer[i] == '\r') { if (buffer[i] == '\r') {
buffer[i]='\0'; buffer[i] = '\0';
} }
if (buffer[i] == '\n') { if (buffer[i] == '\n') {
buffer[i]='\0'; buffer[i] = '\0';
str = strdup(buffer); str = strdup(buffer);
/* number of bytes read */ /* number of bytes read */
@@ -482,10 +483,11 @@ static size_t callback_receive_banner(const void *data, size_t len, void *user)
return processed; return processed;
} }
if(i > 127) { if (i > 127) {
/* Too big banner */ /* Too big banner */
session->session_state = SSH_SESSION_STATE_ERROR; session->session_state = SSH_SESSION_STATE_ERROR;
ssh_set_error(session, SSH_FATAL, "Receiving banner: too large banner"); ssh_set_error(session, SSH_FATAL,
"Receiving banner: too large banner");
return 0; return 0;
} }