!wc_match("* VShell", imp) &&
static void ssh_detect_bugs(Ssh ssh, char *vstring){    char *imp;			       /* pointer to implementation part */    imp = vstring;    imp += strcspn(imp, "-");    if (*imp) imp++;    imp += strcspn(imp, "-");    if (*imp) imp++;    ssh->remote_bugs = 0;    if (ssh->cfg.sshbug_ignore1 == FORCE_ON ||	(ssh->cfg.sshbug_ignore1 == AUTO &&	 (!strcmp(imp, "1.2.18") || !strcmp(imp, "1.2.19") ||	  !strcmp(imp, "1.2.20") || !strcmp(imp, "1.2.21") ||	  !strcmp(imp, "1.2.22") || !strcmp(imp, "Cisco-1.25")))) {	/*	 * These versions don't support SSH1_MSG_IGNORE, so we have	 * to use a different defence against password length	 * sniffing.	 */	ssh->remote_bugs |= BUG_CHOKES_ON_SSH1_IGNORE;	logevent("We believe remote version has SSH1 ignore bug");    }    if (ssh->cfg.sshbug_plainpw1 == FORCE_ON ||	(ssh->cfg.sshbug_plainpw1 == AUTO &&	 (!strcmp(imp, "Cisco-1.25")))) {	/*	 * These versions need a plain password sent; they can't	 * handle having a null and a random length of data after	 * the password.	 */	ssh->remote_bugs |= BUG_NEEDS_SSH1_PLAIN_PASSWORD;	logevent("We believe remote version needs a plain SSH1 password");    }    if (ssh->cfg.sshbug_rsa1 == FORCE_ON ||	(ssh->cfg.sshbug_rsa1 == AUTO &&	 (!strcmp(imp, "Cisco-1.25")))) {	/*	 * These versions apparently have no clue whatever about	 * RSA authentication and will panic and die if they see	 * an AUTH_RSA message.	 */	ssh->remote_bugs |= BUG_CHOKES_ON_RSA;	logevent("We believe remote version can't handle RSA authentication");    }    if (ssh->cfg.sshbug_hmac2 == FORCE_ON ||	(ssh->cfg.sshbug_hmac2 == AUTO &&	 (wc_match("2.1.0*", imp) || wc_match("2.0.*", imp) ||	  wc_match("2.2.0*", imp) || wc_match("2.3.0*", imp) ||	  wc_match("2.1 *", imp)))) {	/*	 * These versions have the HMAC bug.	 */	ssh->remote_bugs |= BUG_SSH2_HMAC;	logevent("We believe remote version has SSH2 HMAC bug");    }    if (ssh->cfg.sshbug_derivekey2 == FORCE_ON ||	(ssh->cfg.sshbug_derivekey2 == AUTO &&	 (wc_match("2.0.0*", imp) || wc_match("2.0.10*", imp) ))) {	/*	 * These versions have the key-derivation bug (failing to	 * include the literal shared secret in the hashes that	 * generate the keys).	 */	ssh->remote_bugs |= BUG_SSH2_DERIVEKEY;	logevent("We believe remote version has SSH2 key-derivation bug");    }    if (ssh->cfg.sshbug_rsapad2 == FORCE_ON ||	(ssh->cfg.sshbug_rsapad2 == AUTO &&	 (wc_match("OpenSSH_2.[5-9]*", imp) ||	  wc_match("OpenSSH_3.[0-2]*", imp)))) {	/*	 * These versions have the SSH2 RSA padding bug.	 */	ssh->remote_bugs |= BUG_SSH2_RSA_PADDING;	logevent("We believe remote version has SSH2 RSA padding bug");    }    if (ssh->cfg.sshbug_pksessid2 == FORCE_ON ||	(ssh->cfg.sshbug_pksessid2 == AUTO &&	 wc_match("OpenSSH_2.[0-2]*", imp))) {	/*	 * These versions have the SSH2 session-ID bug in	 * public-key authentication.	 */	ssh->remote_bugs |= BUG_SSH2_PK_SESSIONID;	logevent("We believe remote version has SSH2 public-key-session-ID bug");    }    if (ssh->cfg.sshbug_dhgex2 == FORCE_ON) {	/*	 * User specified the SSH2 DH GEX bug.	 */	ssh->remote_bugs |= BUG_SSH2_DH_GEX;	logevent("We believe remote version has SSH2 DH group exchange bug");    }}