FFFTPのソースコードです。
Revision | 4a6f29d2616cdecbb9366e5f462c5815c64fbaf6 (tree) |
---|---|
Zeit | 2011-10-15 21:49:34 |
Autor | s_kawamoto <s_kawamoto@user...> |
Commiter | s_kawamoto |
Change behavior of confirming certificate.
Modify UI for encryption.
@@ -1346,9 +1346,13 @@ hset_crypt_dlg DIALOG 0, 0, 207, 139 | ||
1346 | 1346 | STYLE DS_SETFONT | WS_CHILD | WS_DISABLED | WS_CAPTION |
1347 | 1347 | FONT 9, "MS Pゴシック" |
1348 | 1348 | BEGIN |
1349 | - CONTROL "FTPS (Explicit)で接続",HSET_FTPES,"Button",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,7,7,148,10 | |
1350 | - CONTROL "FTPS (Implicit)で接続",HSET_FTPIS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,21,148,10 | |
1351 | - CONTROL "SFTPで接続",HSET_SFTP,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,35,148,10 | |
1349 | + CONTROL "暗号化なしで接続を許可",HSET_NO_ENCRYPTION,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,7,148,10 | |
1350 | + CONTROL "FTPS (Explicit)で接続",HSET_FTPES,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,21,148,10 | |
1351 | + CONTROL "FTPS (Implicit)で接続",HSET_FTPIS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,35,148,10 | |
1352 | + CONTROL "SFTPで接続",HSET_SFTP,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,49,148,10 | |
1353 | + LTEXT "秘密鍵のテキスト",-1,7,63,64,8 | |
1354 | + PUSHBUTTON "...",PKEY_FILE_BR,72,63,13,12 | |
1355 | + EDITTEXT HSET_PRIVATE_KEY,7,79,193,44,ES_MULTILINE | ES_AUTOHSCROLL | ES_WANTRETURN | WS_VSCROLL | WS_HSCROLL | |
1352 | 1356 | END |
1353 | 1357 | |
1354 | 1358 | hset_adv3_dlg DIALOG 0, 0, 207, 139 |
@@ -421,11 +421,14 @@ | ||
421 | 421 | #define HSET_SJIS_CNV 1195 |
422 | 422 | #define HSET_UTF8N_CNV 1196 |
423 | 423 | #define HSET_FN_SJIS_CNV 1197 |
424 | -#define HSET_FTPES 1198 | |
425 | -#define HSET_FTPIS 1199 | |
426 | -#define HSET_SFTP 1200 | |
427 | -#define HSET_THREAD_COUNT 1201 | |
428 | -#define HSET_THREAD_COUNT_SPN 1202 | |
424 | +#define HSET_NO_ENCRYPTION 1198 | |
425 | +#define HSET_FTPES 1199 | |
426 | +#define HSET_FTPIS 1200 | |
427 | +#define HSET_SFTP 1201 | |
428 | +#define PKEY_FILE_BR 1202 | |
429 | +#define HSET_PRIVATE_KEY 1203 | |
430 | +#define HSET_THREAD_COUNT 1204 | |
431 | +#define HSET_THREAD_COUNT_SPN 1205 | |
429 | 432 | #define MENU_END 40001 |
430 | 433 | #define MENU_EXIT 40001 |
431 | 434 | #define MENU_CONNECT 40003 |
@@ -611,7 +614,7 @@ | ||
611 | 614 | #ifndef APSTUDIO_READONLY_SYMBOLS |
612 | 615 | #define _APS_NEXT_RESOURCE_VALUE 191 |
613 | 616 | #define _APS_NEXT_COMMAND_VALUE 40175 |
614 | -#define _APS_NEXT_CONTROL_VALUE 1203 | |
617 | +#define _APS_NEXT_CONTROL_VALUE 1206 | |
615 | 618 | #define _APS_NEXT_SYMED_VALUE 101 |
616 | 619 | #endif |
617 | 620 | #endif |
@@ -1371,9 +1371,13 @@ hset_crypt_dlg DIALOG 0, 0, 207, 139 | ||
1371 | 1371 | STYLE DS_SETFONT | WS_CHILD | WS_DISABLED | WS_CAPTION |
1372 | 1372 | FONT 9, "MS Sans Serif" |
1373 | 1373 | BEGIN |
1374 | - CONTROL "Connect with FTPS (Explicit)",HSET_FTPES,"Button",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,7,7,148,10 | |
1375 | - CONTROL "Connect with FTPS (Implicit)",HSET_FTPIS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,21,148,10 | |
1376 | - CONTROL "Connect with SFTP",HSET_SFTP,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,35,148,10 | |
1374 | + CONTROL "Allow to connect without encryption",HSET_NO_ENCRYPTION,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,7,148,10 | |
1375 | + CONTROL "Connect with FTPS (Explicit)",HSET_FTPES,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,21,148,10 | |
1376 | + CONTROL "Connect with FTPS (Implicit)",HSET_FTPIS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,35,148,10 | |
1377 | + CONTROL "Connect with SFTP",HSET_SFTP,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,49,148,10 | |
1378 | + LTEXT "Private key text",-1,7,63,64,8 | |
1379 | + PUSHBUTTON "...",PKEY_FILE_BR,72,63,13,12 | |
1380 | + EDITTEXT HSET_PRIVATE_KEY,7,79,193,44,ES_MULTILINE | ES_AUTOHSCROLL | ES_WANTRETURN | WS_VSCROLL | WS_HSCROLL | |
1377 | 1381 | END |
1378 | 1382 | |
1379 | 1383 | hset_adv3_dlg DIALOG 0, 0, 207, 139 |
@@ -421,11 +421,14 @@ | ||
421 | 421 | #define HSET_SJIS_CNV 1195 |
422 | 422 | #define HSET_UTF8N_CNV 1196 |
423 | 423 | #define HSET_FN_SJIS_CNV 1197 |
424 | -#define HSET_FTPES 1198 | |
425 | -#define HSET_FTPIS 1199 | |
426 | -#define HSET_SFTP 1200 | |
427 | -#define HSET_THREAD_COUNT 1201 | |
428 | -#define HSET_THREAD_COUNT_SPN 1202 | |
424 | +#define HSET_NO_ENCRYPTION 1198 | |
425 | +#define HSET_FTPES 1199 | |
426 | +#define HSET_FTPIS 1200 | |
427 | +#define HSET_SFTP 1201 | |
428 | +#define PKEY_FILE_BR 1202 | |
429 | +#define HSET_PRIVATE_KEY 1203 | |
430 | +#define HSET_THREAD_COUNT 1204 | |
431 | +#define HSET_THREAD_COUNT_SPN 1205 | |
429 | 432 | #define MENU_END 40001 |
430 | 433 | #define MENU_EXIT 40001 |
431 | 434 | #define MENU_CONNECT 40003 |
@@ -611,7 +614,7 @@ | ||
611 | 614 | #ifndef APSTUDIO_READONLY_SYMBOLS |
612 | 615 | #define _APS_NEXT_RESOURCE_VALUE 191 |
613 | 616 | #define _APS_NEXT_COMMAND_VALUE 40175 |
614 | -#define _APS_NEXT_CONTROL_VALUE 1203 | |
617 | +#define _APS_NEXT_CONTROL_VALUE 1206 | |
615 | 618 | #define _APS_NEXT_SYMED_VALUE 101 |
616 | 619 | #endif |
617 | 620 | #endif |
@@ -71,7 +71,7 @@ | ||
71 | 71 | //#define VER_NUM 1921 /* 設定バージョン */ |
72 | 72 | //#define PROGRAM_VERSION_NUM 1972 /* バージョン */ |
73 | 73 | #define VER_STR "1.99" |
74 | -#define VER_NUM 1980 /* 設定バージョン */ | |
74 | +#define VER_NUM 1990 /* 設定バージョン */ | |
75 | 75 | #define PROGRAM_VERSION_NUM 1990 /* バージョン */ |
76 | 76 | |
77 | 77 |
@@ -139,6 +139,9 @@ | ||
139 | 139 | |
140 | 140 | #define ONELINE_BUF_SIZE (10*1024) |
141 | 141 | |
142 | +// 暗号化通信対応 | |
143 | +#define PRIVATE_KEY_LEN 4096 | |
144 | + | |
142 | 145 | /*===== 初期値 =====*/ |
143 | 146 | |
144 | 147 | #define SAMBA_HEX_TAG ':' /* Samba-HEX の区切り文字 */ |
@@ -932,6 +935,7 @@ typedef struct { | ||
932 | 935 | int UseFTPES; /* FTPESで接続する (YES/NO) */ |
933 | 936 | int UseFTPIS; /* FTPISで接続する (YES/NO) */ |
934 | 937 | int UseSFTP; /* SFTPで接続する (YES/NO) */ |
938 | + char PrivateKey[PRIVATE_KEY_LEN+1]; /* テキスト形式の秘密鍵 */ | |
935 | 939 | // 同時接続対応 |
936 | 940 | int MaxThreadCount; /* 同時接続数 */ |
937 | 941 | // FEAT対応 |
@@ -987,9 +991,11 @@ typedef struct historydata { | ||
987 | 991 | int DialupNotify; /* 再接続の際に確認する (YES/NO) */ |
988 | 992 | char DialEntry[RAS_NAME_LEN+1]; /* ダイアルアップエントリ */ |
989 | 993 | // 暗号化通信対応 |
994 | + int UseNoEncryption; /* 暗号化なしで接続する (YES/NO) */ | |
990 | 995 | int UseFTPES; /* FTPESで接続する (YES/NO) */ |
991 | 996 | int UseFTPIS; /* FTPISで接続する (YES/NO) */ |
992 | 997 | int UseSFTP; /* SFTPで接続する (YES/NO) */ |
998 | + char PrivateKey[PRIVATE_KEY_LEN+1]; /* テキスト形式の秘密鍵 */ | |
993 | 999 | // 同時接続対応 |
994 | 1000 | int MaxThreadCount; /* 同時接続数 */ |
995 | 1001 | // MLSD対応 |
@@ -1405,9 +1411,11 @@ int AskTryingConnect(void); | ||
1405 | 1411 | int SocksGet2ndBindReply(SOCKET Socket, SOCKET *Data); |
1406 | 1412 | // 暗号化通信対応 |
1407 | 1413 | int AskCryptMode(void); |
1414 | +int AskUseNoEncryption(void); | |
1408 | 1415 | int AskUseFTPES(void); |
1409 | 1416 | int AskUseFTPIS(void); |
1410 | 1417 | int AskUseSFTP(void); |
1418 | +char *AskPrivateKey(void); | |
1411 | 1419 | // 同時接続対応 |
1412 | 1420 | int AskMaxThreadCount(void); |
1413 | 1421 | // FEAT対応 |
@@ -1271,7 +1271,8 @@ static SOCKET DoConnectCrypt(int CryptMode, HOSTDATA* HostData, char *Host, char | ||
1271 | 1271 | Fwall = FWALL_NONE; |
1272 | 1272 | |
1273 | 1273 | TryConnect = YES; |
1274 | - CancelFlg = NO; | |
1274 | + // 暗号化通信対応 | |
1275 | +// CancelFlg = NO; | |
1275 | 1276 | #if 0 |
1276 | 1277 | // WSASetBlockingHook(BlkHookFnc); |
1277 | 1278 | #endif |
@@ -1567,25 +1568,26 @@ static SOCKET DoConnect(HOSTDATA* HostData, char *Host, char *User, char *Pass, | ||
1567 | 1568 | { |
1568 | 1569 | SOCKET ContSock; |
1569 | 1570 | ContSock = INVALID_SOCKET; |
1570 | - if(ContSock == INVALID_SOCKET && HostData->UseSFTP == YES) | |
1571 | + CancelFlg = NO; | |
1572 | + if(CancelFlg == NO && ContSock == INVALID_SOCKET && HostData->UseSFTP == YES) | |
1571 | 1573 | { |
1572 | 1574 | SetTaskMsg(MSGJPN317); |
1573 | 1575 | if((ContSock = DoConnectCrypt(CRYPT_SFTP, HostData, Host, User, Pass, Acct, Port, Fwall, SavePass, Security)) != INVALID_SOCKET) |
1574 | 1576 | HostData->CryptMode = CRYPT_SFTP; |
1575 | 1577 | } |
1576 | -// if(ContSock == INVALID_SOCKET && HostData->UseFTPIS == YES) | |
1578 | +// if(CancelFlg == NO && ContSock == INVALID_SOCKET && HostData->UseFTPIS == YES) | |
1577 | 1579 | // { |
1578 | 1580 | // SetTaskMsg(MSGJPN316); |
1579 | 1581 | // if((ContSock = DoConnectCrypt(CRYPT_FTPIS, HostData, Host, User, Pass, Acct, Port, Fwall, SavePass, Security)) != INVALID_SOCKET) |
1580 | 1582 | // HostData->CryptMode = CRYPT_FTPIS; |
1581 | 1583 | // } |
1582 | - if(ContSock == INVALID_SOCKET && HostData->UseFTPES == YES) | |
1584 | + if(CancelFlg == NO && ContSock == INVALID_SOCKET && HostData->UseFTPES == YES) | |
1583 | 1585 | { |
1584 | 1586 | SetTaskMsg(MSGJPN315); |
1585 | 1587 | if((ContSock = DoConnectCrypt(CRYPT_FTPES, HostData, Host, User, Pass, Acct, Port, Fwall, SavePass, Security)) != INVALID_SOCKET) |
1586 | 1588 | HostData->CryptMode = CRYPT_FTPES; |
1587 | 1589 | } |
1588 | - if(ContSock == INVALID_SOCKET && HostData->UseNoEncryption == YES) | |
1590 | + if(CancelFlg == NO && ContSock == INVALID_SOCKET && HostData->UseNoEncryption == YES) | |
1589 | 1591 | { |
1590 | 1592 | SetTaskMsg(MSGJPN314); |
1591 | 1593 | if((ContSock = DoConnectCrypt(CRYPT_NONE, HostData, Host, User, Pass, Acct, Port, Fwall, SavePass, Security)) != INVALID_SOCKET) |
@@ -2352,6 +2354,11 @@ int AskUseSFTP(void) | ||
2352 | 2354 | return(CurHost.UseSFTP); |
2353 | 2355 | } |
2354 | 2356 | |
2357 | +char *AskPrivateKey(void) | |
2358 | +{ | |
2359 | + return(CurHost.PrivateKey); | |
2360 | +} | |
2361 | + | |
2355 | 2362 | // 同時接続対応 |
2356 | 2363 | int AskMaxThreadCount(void) |
2357 | 2364 | { |
@@ -224,9 +224,11 @@ static void CopyHostToHistory(HOSTDATA *Host, HISTORYDATA *New) | ||
224 | 224 | New->DialupNotify = Host->DialupNotify; |
225 | 225 | strcpy(New->DialEntry, Host->DialEntry); |
226 | 226 | // 暗号化通信対応 |
227 | + New->UseNoEncryption = Host->UseNoEncryption; | |
227 | 228 | New->UseFTPES = Host->UseFTPES; |
228 | 229 | New->UseFTPIS = Host->UseFTPIS; |
229 | 230 | New->UseSFTP = Host->UseSFTP; |
231 | + strcpy(New->PrivateKey, Host->PrivateKey); | |
230 | 232 | // 同時接続対応 |
231 | 233 | New->MaxThreadCount = Host->MaxThreadCount; |
232 | 234 | // MLSD対応 |
@@ -283,9 +285,11 @@ void CopyHistoryToHost(HISTORYDATA *Hist, HOSTDATA *Host) | ||
283 | 285 | Host->DialupNotify = Hist->DialupNotify; |
284 | 286 | strcpy(Host->DialEntry, Hist->DialEntry); |
285 | 287 | // 暗号化通信対応 |
288 | + Host->UseNoEncryption = Hist->UseNoEncryption; | |
286 | 289 | Host->UseFTPES = Hist->UseFTPES; |
287 | 290 | Host->UseFTPIS = Hist->UseFTPIS; |
288 | 291 | Host->UseSFTP = Hist->UseSFTP; |
292 | + strcpy(Host->PrivateKey, Hist->PrivateKey); | |
289 | 293 | // 同時接続対応 |
290 | 294 | Host->MaxThreadCount = Hist->MaxThreadCount; |
291 | 295 | // MLSD対応 |
@@ -1030,6 +1030,7 @@ int CopyHostFromListInConnect(int Num, HOSTDATA *Set) | ||
1030 | 1030 | Set->LastDir = Pos->Set.LastDir; |
1031 | 1031 | Set->TimeZone = Pos->Set.TimeZone; |
1032 | 1032 | // 暗号化通信対応 |
1033 | + Set->UseNoEncryption = Pos->Set.UseNoEncryption; | |
1033 | 1034 | Set->UseFTPES = Pos->Set.UseFTPES; |
1034 | 1035 | Set->UseFTPIS = Pos->Set.UseFTPIS; |
1035 | 1036 | Set->UseSFTP = Pos->Set.UseSFTP; |
@@ -1318,6 +1319,7 @@ void CopyDefaultHost(HOSTDATA *Set) | ||
1318 | 1319 | Set->UseFTPES = YES; |
1319 | 1320 | Set->UseFTPIS = YES; |
1320 | 1321 | Set->UseSFTP = YES; |
1322 | + strcpy(Set->PrivateKey, ""); | |
1321 | 1323 | // 同時接続対応 |
1322 | 1324 | Set->MaxThreadCount = 1; |
1323 | 1325 | // MLSD対応 |
@@ -2146,11 +2148,11 @@ static BOOL CALLBACK CryptSettingProc(HWND hDlg, UINT iMessage, WPARAM wParam, L | ||
2146 | 2148 | switch (iMessage) |
2147 | 2149 | { |
2148 | 2150 | case WM_INITDIALOG : |
2151 | + SendDlgItemMessage(hDlg, HSET_NO_ENCRYPTION, BM_SETCHECK, TmpHost.UseNoEncryption, 0); | |
2149 | 2152 | if(IsOpenSSLLoaded()) |
2150 | 2153 | { |
2151 | 2154 | SendDlgItemMessage(hDlg, HSET_FTPES, BM_SETCHECK, TmpHost.UseFTPES, 0); |
2152 | 2155 | SendDlgItemMessage(hDlg, HSET_FTPIS, BM_SETCHECK, TmpHost.UseFTPIS, 0); |
2153 | - SendDlgItemMessage(hDlg, HSET_SFTP, BM_SETCHECK, TmpHost.UseSFTP, 0); | |
2154 | 2156 | } |
2155 | 2157 | else |
2156 | 2158 | { |
@@ -2158,9 +2160,9 @@ static BOOL CALLBACK CryptSettingProc(HWND hDlg, UINT iMessage, WPARAM wParam, L | ||
2158 | 2160 | EnableWindow(GetDlgItem(hDlg, HSET_FTPES), FALSE); |
2159 | 2161 | SendDlgItemMessage(hDlg, HSET_FTPIS, BM_SETCHECK, BST_UNCHECKED, 0); |
2160 | 2162 | EnableWindow(GetDlgItem(hDlg, HSET_FTPIS), FALSE); |
2161 | - SendDlgItemMessage(hDlg, HSET_SFTP, BM_SETCHECK, BST_UNCHECKED, 0); | |
2162 | - EnableWindow(GetDlgItem(hDlg, HSET_SFTP), FALSE); | |
2163 | 2163 | } |
2164 | + SendDlgItemMessage(hDlg, HSET_SFTP, BM_SETCHECK, TmpHost.UseSFTP, 0); | |
2165 | + SendDlgItemMessage(hDlg, HSET_PRIVATE_KEY, WM_SETTEXT, 0, (LPARAM)TmpHost.PrivateKey); | |
2164 | 2166 | // TODO: FTPIS対応 |
2165 | 2167 | SendDlgItemMessage(hDlg, HSET_FTPIS, BM_SETCHECK, BST_UNCHECKED, 0); |
2166 | 2168 | EnableWindow(GetDlgItem(hDlg, HSET_FTPIS), FALSE); |
@@ -2174,14 +2176,16 @@ static BOOL CALLBACK CryptSettingProc(HWND hDlg, UINT iMessage, WPARAM wParam, L | ||
2174 | 2176 | switch(pnmhdr->code) |
2175 | 2177 | { |
2176 | 2178 | case PSN_APPLY : |
2179 | + TmpHost.UseNoEncryption = SendDlgItemMessage(hDlg, HSET_NO_ENCRYPTION, BM_GETCHECK, 0, 0); | |
2177 | 2180 | if(IsOpenSSLLoaded()) |
2178 | 2181 | { |
2179 | 2182 | TmpHost.UseFTPES = SendDlgItemMessage(hDlg, HSET_FTPES, BM_GETCHECK, 0, 0); |
2180 | 2183 | // TODO: FTPIS対応 |
2181 | 2184 | // TmpHost.UseFTPIS = SendDlgItemMessage(hDlg, HSET_FTPIS, BM_GETCHECK, 0, 0); |
2182 | - // TODO: SFTP対応 | |
2183 | -// TmpHost.UseSFTP = SendDlgItemMessage(hDlg, HSET_SFTP, BM_GETCHECK, 0, 0); | |
2184 | 2185 | } |
2186 | + // TODO: SFTP対応 | |
2187 | +// TmpHost.UseSFTP = SendDlgItemMessage(hDlg, HSET_SFTP, BM_GETCHECK, 0, 0); | |
2188 | + SendDlgItemMessage(hDlg, HSET_PRIVATE_KEY, WM_GETTEXT, PRIVATE_KEY_LEN+1, (LPARAM)TmpHost.PrivateKey); | |
2185 | 2189 | Apply = YES; |
2186 | 2190 | break; |
2187 | 2191 |
@@ -2857,6 +2857,8 @@ BOOL __stdcall SSLConfirmCallback(BOOL bVerified, LPCSTR Certificate, LPCSTR Com | ||
2857 | 2857 | FreeDuplicatedString(pm0); |
2858 | 2858 | } |
2859 | 2859 | } |
2860 | + if(!bResult) | |
2861 | + CancelFlg = YES; | |
2860 | 2862 | return bResult; |
2861 | 2863 | } |
2862 | 2864 |
@@ -287,7 +287,9 @@ void SaveRegistory(void) | ||
287 | 287 | void *hKey3; |
288 | 288 | void *hKey4; |
289 | 289 | void *hKey5; |
290 | - char Str[FMAX_PATH+1]; | |
290 | + // 暗号化通信対応 | |
291 | +// char Str[FMAX_PATH+1]; | |
292 | + char Str[PRIVATE_KEY_LEN*4+1]; | |
291 | 293 | int i; |
292 | 294 | int n; |
293 | 295 | HOSTDATA DefaultHost; |
@@ -466,9 +468,12 @@ void SaveRegistory(void) | ||
466 | 468 | SaveIntNum(hKey5, "Notify", Hist.DialupNotify, DefaultHist.DialupNotify); |
467 | 469 | SaveStr(hKey5, "DialTo", Hist.DialEntry, DefaultHist.DialEntry); |
468 | 470 | // 暗号化通信対応 |
471 | + SaveIntNum(hKey5, "NoEncryption", Hist.UseNoEncryption, DefaultHist.UseNoEncryption); | |
469 | 472 | SaveIntNum(hKey5, "FTPES", Hist.UseFTPES, DefaultHist.UseFTPES); |
470 | 473 | SaveIntNum(hKey5, "FTPIS", Hist.UseFTPIS, DefaultHist.UseFTPIS); |
471 | 474 | SaveIntNum(hKey5, "SFTP", Hist.UseSFTP, DefaultHist.UseSFTP); |
475 | + EncodePassword(Hist.PrivateKey, Str); | |
476 | + SaveStr(hKey5, "PKey", Str, DefaultHist.PrivateKey); | |
472 | 477 | // 同時接続対応 |
473 | 478 | SaveIntNum(hKey5, "ThreadCount", Hist.MaxThreadCount, DefaultHist.MaxThreadCount); |
474 | 479 | // MLSD対応 |
@@ -544,9 +549,12 @@ void SaveRegistory(void) | ||
544 | 549 | SaveIntNum(hKey5, "Notify", Host.DialupNotify, DefaultHost.DialupNotify); |
545 | 550 | SaveStr(hKey5, "DialTo", Host.DialEntry, DefaultHost.DialEntry); |
546 | 551 | // 暗号化通信対応 |
552 | + SaveIntNum(hKey5, "NoEncryption", Host.UseNoEncryption, DefaultHost.UseNoEncryption); | |
547 | 553 | SaveIntNum(hKey5, "FTPES", Host.UseFTPES, DefaultHost.UseFTPES); |
548 | 554 | SaveIntNum(hKey5, "FTPIS", Host.UseFTPIS, DefaultHost.UseFTPIS); |
549 | 555 | SaveIntNum(hKey5, "SFTP", Host.UseSFTP, DefaultHost.UseSFTP); |
556 | + EncodePassword(Host.PrivateKey, Str); | |
557 | + SaveStr(hKey5, "PKey", Str, DefaultHost.PrivateKey); | |
550 | 558 | // 同時接続対応 |
551 | 559 | SaveIntNum(hKey5, "ThreadCount", Host.MaxThreadCount, DefaultHost.MaxThreadCount); |
552 | 560 | // MLSD対応 |
@@ -601,7 +609,9 @@ int LoadRegistory(void) | ||
601 | 609 | void *hKey5; |
602 | 610 | int i; |
603 | 611 | int Sets; |
604 | - char Str[256]; /* ASCII_EXT_LENより大きい事 */ | |
612 | + // 暗号化通信対応 | |
613 | +// char Str[256]; /* ASCII_EXT_LENより大きい事 */ | |
614 | + char Str[PRIVATE_KEY_LEN*4+1]; | |
605 | 615 | char *Pos; |
606 | 616 | char *Pos2; |
607 | 617 | HOSTDATA Host; |
@@ -807,9 +817,13 @@ int LoadRegistory(void) | ||
807 | 817 | ReadIntValueFromReg(hKey5, "Notify", &Hist.DialupNotify); |
808 | 818 | ReadStringFromReg(hKey5, "DialTo", Hist.DialEntry, RAS_NAME_LEN+1); |
809 | 819 | // 暗号化通信対応 |
820 | + ReadIntValueFromReg(hKey5, "NoEncryption", &Hist.UseNoEncryption); | |
810 | 821 | ReadIntValueFromReg(hKey5, "FTPES", &Hist.UseFTPES); |
811 | 822 | ReadIntValueFromReg(hKey5, "FTPIS", &Hist.UseFTPIS); |
812 | 823 | ReadIntValueFromReg(hKey5, "SFTP", &Hist.UseSFTP); |
824 | + strcpy(Str, ""); | |
825 | + ReadStringFromReg(hKey5, "PKey", Str, PRIVATE_KEY_LEN*4+1); | |
826 | + DecodePassword(Str, Hist.PrivateKey); | |
813 | 827 | // 同時接続対応 |
814 | 828 | ReadIntValueFromReg(hKey5, "ThreadCount", &Hist.MaxThreadCount); |
815 | 829 | // MLSD対応 |
@@ -887,9 +901,13 @@ int LoadRegistory(void) | ||
887 | 901 | ReadIntValueFromReg(hKey5, "Notify", &Host.DialupNotify); |
888 | 902 | ReadStringFromReg(hKey5, "DialTo", Host.DialEntry, RAS_NAME_LEN+1); |
889 | 903 | // 暗号化通信対応 |
904 | + ReadIntValueFromReg(hKey5, "NoEncryption", &Host.UseNoEncryption); | |
890 | 905 | ReadIntValueFromReg(hKey5, "FTPES", &Host.UseFTPES); |
891 | 906 | ReadIntValueFromReg(hKey5, "FTPIS", &Host.UseFTPIS); |
892 | 907 | ReadIntValueFromReg(hKey5, "SFTP", &Host.UseSFTP); |
908 | + strcpy(Str, ""); | |
909 | + ReadStringFromReg(hKey5, "PKey", Str, PRIVATE_KEY_LEN*4+1); | |
910 | + DecodePassword(Str, Host.PrivateKey); | |
893 | 911 | // 同時接続対応 |
894 | 912 | ReadIntValueFromReg(hKey5, "ThreadCount", &Host.MaxThreadCount); |
895 | 913 | // MLSD対応 |