diff options
author | Andreas Schneider <asn@cynapses.org> | 2010-09-29 12:11:43 +0200 |
---|---|---|
committer | Andreas Schneider <asn@cynapses.org> | 2010-09-29 12:11:43 +0200 |
commit | 1b471256d4371f4789da6fa345ead4015623abbe (patch) | |
tree | 0c30c95f95c0f71073ee65925aa41a2877d43cfd /src/misc.c | |
parent | 30e22fed6e6bdab222977a2e385defed1f2d0d62 (diff) | |
download | libssh-1b471256d4371f4789da6fa345ead4015623abbe.tar.gz libssh-1b471256d4371f4789da6fa345ead4015623abbe.tar.xz libssh-1b471256d4371f4789da6fa345ead4015623abbe.zip |
misc: Differentiate between client and server in ssh_analyze_banner.
Diffstat (limited to 'src/misc.c')
-rw-r--r-- | src/misc.c | 10 |
1 files changed, 8 insertions, 2 deletions
@@ -688,6 +688,7 @@ char *ssh_path_expand_escape(ssh_session session, const char *s) { * server. * * @param session The session to analyze the banner from. + * @param server 0 means we are a client, 1 a server. * @param ssh1 The variable which is set if it is a SSHv1 server. * @param ssh2 The variable which is set if it is a SSHv2 server. * @@ -695,10 +696,15 @@ char *ssh_path_expand_escape(ssh_session session, const char *s) { * * @see ssh_get_banner() */ -int ssh_analyze_banner(ssh_session session, int *ssh1, int *ssh2) { - const char *banner = session->clientbanner; +int ssh_analyze_banner(ssh_session session, int server, int *ssh1, int *ssh2) { + const char *banner; const char *openssh; + if (server) { + banner = session->clientbanner; + } else { + banner = session->serverbanner; + } if (banner == NULL || strlen(banner) <= 4 || |