| 1059 |
pvar->ssh_state.sender_sequence_number, |
pvar->ssh_state.sender_sequence_number, |
| 1060 |
data, encryption_size, |
data, encryption_size, |
| 1061 |
data + encryption_size); |
data + encryption_size); |
| 1062 |
if (ret == FALSE) { // HMACがまだ設定されていない場合 |
if (ret == FALSE) { // MACがまだ設定されていない場合 |
| 1063 |
data_length = encryption_size; |
data_length = encryption_size; |
| 1064 |
} |
} |
| 1065 |
|
|
| 1066 |
// パケットを暗号化する。HMAC以降は暗号化対象外。 |
// パケットを暗号化する。MAC以降は暗号化対象外。 |
| 1067 |
CRYPT_encrypt(pvar, data, encryption_size); |
CRYPT_encrypt(pvar, data, encryption_size); |
| 1068 |
} |
} |
| 1069 |
|
|
| 4874 |
} |
} |
| 4875 |
|
|
| 4876 |
|
|
| 4877 |
// HMAC(Hash Message Authentication Code)アルゴリズムの決定 (2004.12.17 yutaka) |
// MAC(Hash Message Authentication Code)アルゴリズムの決定 (2004.12.17 yutaka) |
| 4878 |
size = get_payload_uint32(pvar, offset); |
size = get_payload_uint32(pvar, offset); |
| 4879 |
offset += 4; |
offset += 4; |
| 4880 |
for (i = 0; i < size; i++) { |
for (i = 0; i < size; i++) { |
| 4888 |
|
|
| 4889 |
pvar->ctos_hmac = choose_SSH2_hmac_algorithm(buf, myproposal[PROPOSAL_MAC_ALGS_CTOS]); |
pvar->ctos_hmac = choose_SSH2_hmac_algorithm(buf, myproposal[PROPOSAL_MAC_ALGS_CTOS]); |
| 4890 |
if (pvar->ctos_hmac == HMAC_UNKNOWN) { // not match |
if (pvar->ctos_hmac == HMAC_UNKNOWN) { // not match |
| 4891 |
strncpy_s(tmp, sizeof(tmp), "unknown HMAC algorithm: ", _TRUNCATE); |
strncpy_s(tmp, sizeof(tmp), "unknown MAC algorithm: ", _TRUNCATE); |
| 4892 |
strncat_s(tmp, sizeof(tmp), buf, _TRUNCATE); |
strncat_s(tmp, sizeof(tmp), buf, _TRUNCATE); |
| 4893 |
msg = tmp; |
msg = tmp; |
| 4894 |
goto error; |
goto error; |
| 4908 |
|
|
| 4909 |
pvar->stoc_hmac = choose_SSH2_hmac_algorithm(buf, myproposal[PROPOSAL_MAC_ALGS_STOC]); |
pvar->stoc_hmac = choose_SSH2_hmac_algorithm(buf, myproposal[PROPOSAL_MAC_ALGS_STOC]); |
| 4910 |
if (pvar->stoc_hmac == HMAC_UNKNOWN) { // not match |
if (pvar->stoc_hmac == HMAC_UNKNOWN) { // not match |
| 4911 |
strncpy_s(tmp, sizeof(tmp), "unknown HMAC algorithm: ", _TRUNCATE); |
strncpy_s(tmp, sizeof(tmp), "unknown MAC algorithm: ", _TRUNCATE); |
| 4912 |
strncat_s(tmp, sizeof(tmp), buf, _TRUNCATE); |
strncat_s(tmp, sizeof(tmp), buf, _TRUNCATE); |
| 4913 |
msg = tmp; |
msg = tmp; |
| 4914 |
goto error; |
goto error; |