diff options
author | Aris Adamantiadis <aris@0xbadc0de.be> | 2014-02-01 18:00:01 +0100 |
---|---|---|
committer | Aris Adamantiadis <aris@0xbadc0de.be> | 2014-02-01 18:00:01 +0100 |
commit | 671f1979a6d913938f5ced00779bf99db71f8df5 (patch) | |
tree | 0d123cf1c0f11c81714a1b3c3123dc994a787c2b /src/client.c | |
parent | fdaa42da1a235e8c2c89675f37a9ff012f4ed500 (diff) | |
download | libssh-671f1979a6d913938f5ced00779bf99db71f8df5.tar.gz libssh-671f1979a6d913938f5ced00779bf99db71f8df5.tar.xz libssh-671f1979a6d913938f5ced00779bf99db71f8df5.zip |
server: allow custom server banners (bug #83)
Diffstat (limited to 'src/client.c')
-rw-r--r-- | src/client.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/client.c b/src/client.c index bcb3be21..2c9cc21a 100644 --- a/src/client.c +++ b/src/client.c @@ -152,7 +152,15 @@ int ssh_send_banner(ssh_session session, int server) { banner = session->version == 1 ? CLIENTBANNER1 : CLIENTBANNER2; if (server) { - session->serverbanner = strdup(banner); + if(session->opts.custombanner == NULL){ + session->serverbanner = strdup(banner); + } else { + session->serverbanner = malloc(strlen(session->opts.custombanner) + 9); + if(!session->serverbanner) + goto end; + strcpy(session->serverbanner, "SSH-2.0-"); + strcat(session->serverbanner, session->opts.custombanner); + } if (session->serverbanner == NULL) { goto end; } |