Develop and Download Open Source Software

Browse Subversion Repository

Diff of /trunk/ttssh2/ttxssh/cipher.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 10529 by zmatsuo, Sat Jan 21 17:41:55 2023 UTC revision 10618 by zmatsuo, Fri Mar 3 15:15:16 2023 UTC
# Line 517  int cipher_init_SSH2( Line 517  int cipher_init_SSH2(
517          *ccp = NULL;          *ccp = NULL;
518          if ((cc = calloc(sizeof(*cc), 1)) == NULL) {          if ((cc = calloc(sizeof(*cc), 1)) == NULL) {
519                  UTIL_get_lang_msg("MSG_CIPHER_INIT_ERROR", pvar, "Cipher initialize error(%d)");                  UTIL_get_lang_msg("MSG_CIPHER_INIT_ERROR", pvar, "Cipher initialize error(%d)");
520                  _snprintf_s(tmp, sizeof(tmp), _TRUNCATE, pvar->ts->UIMsg, 1);                  _snprintf_s(tmp, sizeof(tmp), _TRUNCATE, pvar->UIMsg, 1);
521                  notify_fatal_error(pvar, tmp, TRUE);                  notify_fatal_error(pvar, tmp, TRUE);
522                  return SSH_ERR_ALLOC_FAIL;                  return SSH_ERR_ALLOC_FAIL;
523          }          }
524    
525          if (keylen < cipher->key_len) {          if (keylen < cipher->key_len) {
526                  UTIL_get_lang_msg("MSG_CIPHER_INIT_ERROR", pvar, "Cipher initialize error(%d)");                  UTIL_get_lang_msg("MSG_CIPHER_INIT_ERROR", pvar, "Cipher initialize error(%d)");
527                  _snprintf_s(tmp, sizeof(tmp), _TRUNCATE, pvar->ts->UIMsg, 2);                  _snprintf_s(tmp, sizeof(tmp), _TRUNCATE, pvar->UIMsg, 2);
528                  notify_fatal_error(pvar, tmp, TRUE);                  notify_fatal_error(pvar, tmp, TRUE);
529                  ret = SSH_ERR_INVALID_ARGUMENT;                  ret = SSH_ERR_INVALID_ARGUMENT;
530                  goto out;                  goto out;
531          }          }
532          if (iv != NULL && ivlen < get_cipher_iv_len(cipher)) {          if (iv != NULL && ivlen < get_cipher_iv_len(cipher)) {
533                  UTIL_get_lang_msg("MSG_CIPHER_INIT_ERROR", pvar, "Cipher initialize error(%d)");                  UTIL_get_lang_msg("MSG_CIPHER_INIT_ERROR", pvar, "Cipher initialize error(%d)");
534                  _snprintf_s(tmp, sizeof(tmp), _TRUNCATE, pvar->ts->UIMsg, 3);                  _snprintf_s(tmp, sizeof(tmp), _TRUNCATE, pvar->UIMsg, 3);
535                  notify_fatal_error(pvar, tmp, TRUE);                  notify_fatal_error(pvar, tmp, TRUE);
536                  ret = SSH_ERR_INVALID_ARGUMENT;                  ret = SSH_ERR_INVALID_ARGUMENT;
537                  goto out;                  goto out;
# Line 543  int cipher_init_SSH2( Line 543  int cipher_init_SSH2(
543                  ret = cc->cp_ctx != NULL ? 0 : SSH_ERR_INVALID_ARGUMENT;                  ret = cc->cp_ctx != NULL ? 0 : SSH_ERR_INVALID_ARGUMENT;
544                  if (ret == SSH_ERR_INVALID_ARGUMENT) {                  if (ret == SSH_ERR_INVALID_ARGUMENT) {
545                          UTIL_get_lang_msg("MSG_CIPHER_INIT_ERROR", pvar, "Cipher initialize error(%d)");                          UTIL_get_lang_msg("MSG_CIPHER_INIT_ERROR", pvar, "Cipher initialize error(%d)");
546                          _snprintf_s(tmp, sizeof(tmp), _TRUNCATE, pvar->ts->UIMsg, 4);                          _snprintf_s(tmp, sizeof(tmp), _TRUNCATE, pvar->UIMsg, 4);
547                          notify_fatal_error(pvar, tmp, TRUE);                          notify_fatal_error(pvar, tmp, TRUE);
548                  }                  }
549                  goto out;                  goto out;
# Line 551  int cipher_init_SSH2( Line 551  int cipher_init_SSH2(
551          type = (*cipher->func)();          type = (*cipher->func)();
552          if ((cc->evp = EVP_CIPHER_CTX_new()) == NULL) {          if ((cc->evp = EVP_CIPHER_CTX_new()) == NULL) {
553                  UTIL_get_lang_msg("MSG_CIPHER_INIT_ERROR", pvar, "Cipher initialize error(%d)");                  UTIL_get_lang_msg("MSG_CIPHER_INIT_ERROR", pvar, "Cipher initialize error(%d)");
554                  _snprintf_s(tmp, sizeof(tmp), _TRUNCATE, pvar->ts->UIMsg, 5);                  _snprintf_s(tmp, sizeof(tmp), _TRUNCATE, pvar->UIMsg, 5);
555                  notify_fatal_error(pvar, tmp, TRUE);                  notify_fatal_error(pvar, tmp, TRUE);
556                  ret = SSH_ERR_ALLOC_FAIL;                  ret = SSH_ERR_ALLOC_FAIL;
557                  goto out;                  goto out;
558          }          }
559          if (EVP_CipherInit(cc->evp, type, NULL, (u_char *)iv, (do_encrypt == CIPHER_ENCRYPT)) == 0) {          if (EVP_CipherInit(cc->evp, type, NULL, (u_char *)iv, (do_encrypt == CIPHER_ENCRYPT)) == 0) {
560                  UTIL_get_lang_msg("MSG_CIPHER_INIT_ERROR", pvar, "Cipher initialize error(%d)");                  UTIL_get_lang_msg("MSG_CIPHER_INIT_ERROR", pvar, "Cipher initialize error(%d)");
561                  _snprintf_s(tmp, sizeof(tmp), _TRUNCATE, pvar->ts->UIMsg, 6);                  _snprintf_s(tmp, sizeof(tmp), _TRUNCATE, pvar->UIMsg, 6);
562                  notify_fatal_error(pvar, tmp, TRUE);                  notify_fatal_error(pvar, tmp, TRUE);
563                  ret = SSH_ERR_LIBCRYPTO_ERROR;                  ret = SSH_ERR_LIBCRYPTO_ERROR;
564                  goto out;                  goto out;
# Line 566  int cipher_init_SSH2( Line 566  int cipher_init_SSH2(
566          if (get_cipher_auth_len(cipher) &&          if (get_cipher_auth_len(cipher) &&
567              !EVP_CIPHER_CTX_ctrl(cc->evp, EVP_CTRL_GCM_SET_IV_FIXED, -1, (u_char *)iv)) {              !EVP_CIPHER_CTX_ctrl(cc->evp, EVP_CTRL_GCM_SET_IV_FIXED, -1, (u_char *)iv)) {
568                  UTIL_get_lang_msg("MSG_CIPHER_INIT_ERROR", pvar, "Cipher initialize error(%d)");                  UTIL_get_lang_msg("MSG_CIPHER_INIT_ERROR", pvar, "Cipher initialize error(%d)");
569                  _snprintf_s(tmp, sizeof(tmp), _TRUNCATE, pvar->ts->UIMsg, 7);                  _snprintf_s(tmp, sizeof(tmp), _TRUNCATE, pvar->UIMsg, 7);
570                  notify_fatal_error(pvar, tmp, TRUE);                  notify_fatal_error(pvar, tmp, TRUE);
571                  ret = SSH_ERR_LIBCRYPTO_ERROR;                  ret = SSH_ERR_LIBCRYPTO_ERROR;
572                  goto out;                  goto out;
# Line 575  int cipher_init_SSH2( Line 575  int cipher_init_SSH2(
575          if (klen > 0 && keylen != (u_int)klen) {          if (klen > 0 && keylen != (u_int)klen) {
576                  if (EVP_CIPHER_CTX_set_key_length(cc->evp, keylen) == 0) {                  if (EVP_CIPHER_CTX_set_key_length(cc->evp, keylen) == 0) {
577                          UTIL_get_lang_msg("MSG_CIPHER_INIT_ERROR", pvar, "Cipher initialize error(%d)");                          UTIL_get_lang_msg("MSG_CIPHER_INIT_ERROR", pvar, "Cipher initialize error(%d)");
578                          _snprintf_s(tmp, sizeof(tmp), _TRUNCATE, pvar->ts->UIMsg, 8);                          _snprintf_s(tmp, sizeof(tmp), _TRUNCATE, pvar->UIMsg, 8);
579                          notify_fatal_error(pvar, tmp, TRUE);                          notify_fatal_error(pvar, tmp, TRUE);
580                          ret = SSH_ERR_LIBCRYPTO_ERROR;                          ret = SSH_ERR_LIBCRYPTO_ERROR;
581                          goto out;                          goto out;
# Line 583  int cipher_init_SSH2( Line 583  int cipher_init_SSH2(
583          }          }
584          if (EVP_CipherInit(cc->evp, NULL, (u_char *)key, NULL, -1) == 0) {          if (EVP_CipherInit(cc->evp, NULL, (u_char *)key, NULL, -1) == 0) {
585                  UTIL_get_lang_msg("MSG_CIPHER_INIT_ERROR", pvar, "Cipher initialize error(%d)");                  UTIL_get_lang_msg("MSG_CIPHER_INIT_ERROR", pvar, "Cipher initialize error(%d)");
586                  _snprintf_s(tmp, sizeof(tmp), _TRUNCATE, pvar->ts->UIMsg, 9);                  _snprintf_s(tmp, sizeof(tmp), _TRUNCATE, pvar->UIMsg, 9);
587                  notify_fatal_error(pvar, tmp, TRUE);                  notify_fatal_error(pvar, tmp, TRUE);
588                  ret = SSH_ERR_LIBCRYPTO_ERROR;                  ret = SSH_ERR_LIBCRYPTO_ERROR;
589                  goto out;                  goto out;
# Line 595  int cipher_init_SSH2( Line 595  int cipher_init_SSH2(
595                  if (junk == NULL || discard == NULL ||                  if (junk == NULL || discard == NULL ||
596                      EVP_Cipher(cc->evp, discard, junk, cipher->discard_len) == 0) {                      EVP_Cipher(cc->evp, discard, junk, cipher->discard_len) == 0) {
597                          UTIL_get_lang_msg("MSG_CIPHER_INIT_ERROR", pvar, "Cipher initialize error(%d)");                          UTIL_get_lang_msg("MSG_CIPHER_INIT_ERROR", pvar, "Cipher initialize error(%d)");
598                          _snprintf_s(tmp, sizeof(tmp), _TRUNCATE, pvar->ts->UIMsg, 10);                          _snprintf_s(tmp, sizeof(tmp), _TRUNCATE, pvar->UIMsg, 10);
599                          notify_fatal_error(pvar, tmp, TRUE);                          notify_fatal_error(pvar, tmp, TRUE);
600                  }                  }
601                  else {                  else {

Legend:
Removed from v.10529  
changed lines
  Added in v.10618

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26