X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=blobdiff_plain;f=ssh.c;h=b30d0265df35678cd162937a21fdaed67d5fa5d8;hb=49d2cf19accb059b3b68d1fc2b78e606a578c3e8;hp=75610c6799b744d9b80762894f9a4bcbb8482436;hpb=91319142781a69cb16053c180870878749477012;p=PuTTY.git diff --git a/ssh.c b/ssh.c index 75610c67..b30d0265 100644 --- a/ssh.c +++ b/ssh.c @@ -130,21 +130,21 @@ static const char *const ssh2_disconnect_reasons[] = { NULL, - "SSH_DISCONNECT_HOST_NOT_ALLOWED_TO_CONNECT", - "SSH_DISCONNECT_PROTOCOL_ERROR", - "SSH_DISCONNECT_KEY_EXCHANGE_FAILED", - "SSH_DISCONNECT_HOST_AUTHENTICATION_FAILED", - "SSH_DISCONNECT_MAC_ERROR", - "SSH_DISCONNECT_COMPRESSION_ERROR", - "SSH_DISCONNECT_SERVICE_NOT_AVAILABLE", - "SSH_DISCONNECT_PROTOCOL_VERSION_NOT_SUPPORTED", - "SSH_DISCONNECT_HOST_KEY_NOT_VERIFIABLE", - "SSH_DISCONNECT_CONNECTION_LOST", - "SSH_DISCONNECT_BY_APPLICATION", - "SSH_DISCONNECT_TOO_MANY_CONNECTIONS", - "SSH_DISCONNECT_AUTH_CANCELLED_BY_USER", - "SSH_DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE", - "SSH_DISCONNECT_ILLEGAL_USER_NAME", + "host not allowed to connect", + "protocol error", + "key exchange failed", + "host authentication failed", + "MAC error", + "compression error", + "service not available", + "protocol version not supported", + "host key not verifiable", + "connection lost", + "by application", + "too many connections", + "auth cancelled by user", + "no more auth methods available", + "illegal user name", }; #define SSH2_OPEN_ADMINISTRATIVELY_PROHIBITED 1 /* 0x1 */ @@ -462,10 +462,10 @@ static void do_ssh2_authconn(Ssh ssh, unsigned char *in, int inlen, const static struct ssh_signkey *hostkey_algs[] = { &ssh_rsa, &ssh_dss }; const static struct ssh_mac *macs[] = { - &ssh_hmac_sha1, &ssh_hmac_md5 + &ssh_hmac_sha1, &ssh_hmac_sha1_96, &ssh_hmac_md5 }; const static struct ssh_mac *buggymacs[] = { - &ssh_hmac_sha1_buggy, &ssh_hmac_md5 + &ssh_hmac_sha1_buggy, &ssh_hmac_sha1_96_buggy, &ssh_hmac_md5 }; static void *ssh_comp_none_init(void) @@ -1587,7 +1587,7 @@ static void ssh_pkt_ensure(struct Packet *pkt, int length) { if (pkt->maxlen < length) { unsigned char *body = pkt->body; - int offset = body ? pkt->data - body : 0; + int offset = body ? body - pkt->data : 0; pkt->maxlen = length + 256; pkt->data = sresize(pkt->data, pkt->maxlen + APIEXTRA, unsigned char); if (body) pkt->body = pkt->data + offset; @@ -1697,10 +1697,10 @@ static struct Packet *ssh1_pkt_init(int pkt_type) static struct Packet *ssh2_pkt_init(int pkt_type) { struct Packet *pkt = ssh_new_packet(); - pkt->length = 5; + pkt->length = 5; /* space for packet length + padding length */ pkt->forcepad = 0; ssh_pkt_addbyte(pkt, (unsigned char) pkt_type); - pkt->body = pkt->data + pkt->length; + pkt->body = pkt->data + pkt->length; /* after packet type */ return pkt; } @@ -6640,7 +6640,7 @@ static void do_ssh2_authconn(Ssh ssh, unsigned char *in, int inlen, if (keytype == SSH_KEYTYPE_SSH2) { s->publickey_blob = ssh2_userkey_loadpub(&ssh->cfg.keyfile, NULL, - &s->publickey_bloblen, NULL); + &s->publickey_bloblen, NULL, NULL); } else { char *msgbuf; logeventf(ssh, "Unable to use this key file (%s)", @@ -6982,7 +6982,7 @@ static void do_ssh2_authconn(Ssh ssh, unsigned char *in, int inlen, (unsigned char *)ssh2_userkey_loadpub(&ssh->cfg.keyfile, &algorithm, &pub_blob_len, - NULL); + NULL, NULL); if (pub_blob) { s->pktout = ssh2_pkt_init(SSH2_MSG_USERAUTH_REQUEST); ssh2_pkt_addstring(s->pktout, s->username);