Develop and Download Open Source Software

Browse Subversion Repository

Diff of /branches/ssh_chacha20poly1305/ttssh2/ttxssh/ttxssh.c

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

revision 3202 by yutakapon, Wed Jan 21 11:11:08 2009 UTC revision 3203 by maya, Thu Jan 22 08:19:58 2009 UTC
# Line 2656  static BOOL CALLBACK TTXSetupDlg(HWND dl Line 2656  static BOOL CALLBACK TTXSetupDlg(HWND dl
2656  typedef struct {  typedef struct {
2657          RSA *rsa;          RSA *rsa;
2658          DSA *dsa;          DSA *dsa;
2659            enum hostkey_type type;
2660  } ssh_private_key_t;  } ssh_private_key_t;
2661    
2662  static ssh_private_key_t private_key = {NULL, NULL};  static ssh_private_key_t private_key = {NULL, NULL, KEY_UNSPEC};
2663    
2664  typedef struct {  typedef struct {
2665          RSA *rsa;          RSA *rsa;
2666          DSA *dsa;          DSA *dsa;
2667            enum hostkey_type type;
2668  } ssh_public_key_t;  } ssh_public_key_t;
2669    
2670  static ssh_public_key_t public_key = {NULL, NULL};;  static ssh_public_key_t public_key = {NULL, NULL, KEY_UNSPEC};
2671    
2672  static void free_ssh_key(void)  static void free_ssh_key(void)
2673  {  {
# Line 2679  static void free_ssh_key(void) Line 2681  static void free_ssh_key(void)
2681          private_key.rsa = NULL;          private_key.rsa = NULL;
2682          RSA_free(public_key.rsa);          RSA_free(public_key.rsa);
2683          public_key.rsa = NULL;          public_key.rsa = NULL;
2684    
2685            private_key.type = KEY_UNSPEC;
2686            public_key.type = KEY_UNSPEC;
2687  }  }
2688    
2689  static BOOL generate_ssh_key(enum hostkey_type type, int bits, void (*cbfunc)(int, int, void *), void *cbarg)  static BOOL generate_ssh_key(enum hostkey_type type, int bits, void (*cbfunc)(int, int, void *), void *cbarg)
# Line 2746  static BOOL generate_ssh_key(enum hostke Line 2751  static BOOL generate_ssh_key(enum hostke
2751                  goto error;                  goto error;
2752          }          }
2753    
2754            private_key.type = type;
2755            public_key.type = type;
2756    
2757          return TRUE;          return TRUE;
2758    
2759  error:  error:
# Line 3378  static BOOL CALLBACK TTXKeyGenerator(HWN Line 3386  static BOOL CALLBACK TTXKeyGenerator(HWN
3386                          ZeroMemory(&ofn, sizeof(ofn));                          ZeroMemory(&ofn, sizeof(ofn));
3387                          ofn.lStructSize = sizeof(ofn);                          ofn.lStructSize = sizeof(ofn);
3388                          ofn.hwndOwner = dlg;                          ofn.hwndOwner = dlg;
3389                          if (key_type == KEY_RSA1) {                          if (public_key.type == KEY_RSA1) {
3390                                  UTIL_get_lang_msg("FILEDLG_SAVE_PUBLICKEY_RSA1_FILTER", pvar,                                  UTIL_get_lang_msg("FILEDLG_SAVE_PUBLICKEY_RSA1_FILTER", pvar,
3391                                                    "SSH1 RSA key(identity.pub)\\0identity.pub\\0All Files(*.*)\\0*.*\\0\\0");                                                    "SSH1 RSA key(identity.pub)\\0identity.pub\\0All Files(*.*)\\0*.*\\0\\0");
3392                                  memcpy(uimsg, pvar->ts->UIMsg, sizeof(uimsg));                                  memcpy(uimsg, pvar->ts->UIMsg, sizeof(uimsg));
3393                                  ofn.lpstrFilter = uimsg;                                  ofn.lpstrFilter = uimsg;
3394                                  strncpy_s(filename, sizeof(filename), "identity.pub", _TRUNCATE);                                  strncpy_s(filename, sizeof(filename), "identity.pub", _TRUNCATE);
3395                          } else if (key_type == KEY_RSA) {                          } else if (public_key.type == KEY_RSA) {
3396                                  UTIL_get_lang_msg("FILEDLG_SAVE_PUBLICKEY_RSA_FILTER", pvar,                                  UTIL_get_lang_msg("FILEDLG_SAVE_PUBLICKEY_RSA_FILTER", pvar,
3397                                                    "SSH2 RSA key(id_rsa.pub)\\0id_rsa.pub\\0All Files(*.*)\\0*.*\\0\\0");                                                    "SSH2 RSA key(id_rsa.pub)\\0id_rsa.pub\\0All Files(*.*)\\0*.*\\0\\0");
3398                                  memcpy(uimsg, pvar->ts->UIMsg, sizeof(uimsg));                                  memcpy(uimsg, pvar->ts->UIMsg, sizeof(uimsg));
# Line 3420  static BOOL CALLBACK TTXKeyGenerator(HWN Line 3428  static BOOL CALLBACK TTXKeyGenerator(HWN
3428                                  break;                                  break;
3429                          }                          }
3430    
3431                          if (key_type == KEY_RSA1) { // SSH1 RSA                          if (public_key.type == KEY_RSA1) { // SSH1 RSA
3432                                  RSA *rsa = public_key.rsa;                                  RSA *rsa = public_key.rsa;
3433                                  int bits;                                  int bits;
3434                                  char *buf;                                  char *buf;
# Line 3450  static BOOL CALLBACK TTXKeyGenerator(HWN Line 3458  static BOOL CALLBACK TTXKeyGenerator(HWN
3458                                  if (b == NULL)                                  if (b == NULL)
3459                                          goto public_error;                                          goto public_error;
3460    
3461                                  if (key_type == KEY_DSA) { // DSA                                  if (public_key.type == KEY_DSA) { // DSA
3462                                          keyname = "ssh-dss";                                          keyname = "ssh-dss";
3463                                          buffer_put_string(b, keyname, strlen(keyname));                                          buffer_put_string(b, keyname, strlen(keyname));
3464                                          buffer_put_bignum2(b, dsa->p);                                          buffer_put_bignum2(b, dsa->p);
# Line 3530  public_error: Line 3538  public_error:
3538                          ZeroMemory(&ofn, sizeof(ofn));                          ZeroMemory(&ofn, sizeof(ofn));
3539                          ofn.lStructSize = sizeof(ofn);                          ofn.lStructSize = sizeof(ofn);
3540                          ofn.hwndOwner = dlg;                          ofn.hwndOwner = dlg;
3541                          if (key_type == KEY_RSA1) {                          if (private_key.type == KEY_RSA1) {
3542                                  UTIL_get_lang_msg("FILEDLG_SAVE_PRIVATEKEY_RSA1_FILTER", pvar,                                  UTIL_get_lang_msg("FILEDLG_SAVE_PRIVATEKEY_RSA1_FILTER", pvar,
3543                                                    "SSH1 RSA key(identity)\\0identity\\0All Files(*.*)\\0*.*\\0\\0");                                                    "SSH1 RSA key(identity)\\0identity\\0All Files(*.*)\\0*.*\\0\\0");
3544                                  memcpy(uimsg, pvar->ts->UIMsg, sizeof(uimsg));                                  memcpy(uimsg, pvar->ts->UIMsg, sizeof(uimsg));
3545                                  ofn.lpstrFilter = uimsg;                                  ofn.lpstrFilter = uimsg;
3546                                  strncpy_s(filename, sizeof(filename), "identity", _TRUNCATE);                                  strncpy_s(filename, sizeof(filename), "identity", _TRUNCATE);
3547                          } else if (key_type == KEY_RSA) {                          } else if (private_key.type == KEY_RSA) {
3548                                  UTIL_get_lang_msg("FILEDLG_SAVE_PRIVATEKEY_RSA_FILTER", pvar,                                  UTIL_get_lang_msg("FILEDLG_SAVE_PRIVATEKEY_RSA_FILTER", pvar,
3549                                                    "SSH2 RSA key(id_rsa)\\0id_rsa\\0All Files(*.*)\\0*.*\\0\\0");                                                    "SSH2 RSA key(id_rsa)\\0id_rsa\\0All Files(*.*)\\0*.*\\0\\0");
3550                                  memcpy(uimsg, pvar->ts->UIMsg, sizeof(uimsg));                                  memcpy(uimsg, pvar->ts->UIMsg, sizeof(uimsg));
# Line 3560  public_error: Line 3568  public_error:
3568                          }                          }
3569    
3570                          // saving private key file                          // saving private key file
3571                          if (key_type == KEY_RSA1) { // SSH1 RSA                          if (private_key.type == KEY_RSA1) { // SSH1 RSA
3572                                  int cipher_num;                                  int cipher_num;
3573                                  buffer_t *b, *enc;                                  buffer_t *b, *enc;
3574                                  unsigned int rnd;                                  unsigned int rnd;

Legend:
Removed from v.3202  
changed lines
  Added in v.3203

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