aboutsummaryrefslogtreecommitdiff
path: root/src/messages.c
diff options
context:
space:
mode:
authorAndreas Schneider <asn@cryptomilk.org>2018-10-19 11:40:44 +0200
committerAndreas Schneider <asn@cryptomilk.org>2018-10-19 12:31:04 +0200
commit9c200d3ef4f62d724d3bae2563b81c38cc31e215 (patch)
tree59b4670ef9f99a22f6064742de2576a61729016e /src/messages.c
parent4ea46eecce9f4e676150fe27fec34e1570b70ace (diff)
downloadlibssh-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.c8
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;