diff options
author | Andreas Schneider <asn@cryptomilk.org> | 2018-10-19 11:40:44 +0200 |
---|---|---|
committer | Andreas Schneider <asn@cryptomilk.org> | 2018-10-19 12:31:04 +0200 |
commit | 9c200d3ef4f62d724d3bae2563b81c38cc31e215 (patch) | |
tree | 59b4670ef9f99a22f6064742de2576a61729016e /src/messages.c | |
parent | 4ea46eecce9f4e676150fe27fec34e1570b70ace (diff) | |
download | libssh-9c200d3ef4f62d724d3bae2563b81c38cc31e215.tar.gz libssh-9c200d3ef4f62d724d3bae2563b81c38cc31e215.tar.xz libssh-9c200d3ef4f62d724d3bae2563b81c38cc31e215.zip |
messages: Check that the requested service is 'ssh-connection'
Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
Diffstat (limited to 'src/messages.c')
-rw-r--r-- | src/messages.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/messages.c b/src/messages.c index 8733875c..c225a80c 100644 --- a/src/messages.c +++ b/src/messages.c @@ -704,6 +704,7 @@ SSH_PACKET_CALLBACK(ssh_packet_userauth_request){ ssh_message msg = NULL; char *service = NULL; char *method = NULL; + int cmp; int rc; (void)user; @@ -730,6 +731,13 @@ SSH_PACKET_CALLBACK(ssh_packet_userauth_request){ service, method, msg->auth_request.username); + cmp = strcmp(service, "ssh-connection"); + if (cmp != 0) { + SSH_LOG(SSH_LOG_WARNING, + "Invalid service request: %s", + service); + goto end; + } if (strcmp(method, "none") == 0) { msg->auth_request.method = SSH_AUTH_METHOD_NONE; |