-/*=============================================================================\r
+/*=============================================================================\r
*\r
-* \83c\81[\83\8b\r
+* ツール\r
*\r
===============================================================================\r
/ Copyright (C) 1997-2007 Sota. All rights reserved.\r
/============================================================================*/\r
\r
#define STRICT\r
+// IPv6対応\r
+#include <winsock2.h>\r
#include <windows.h>\r
#include <stdio.h>\r
#include <stdlib.h>\r
#include <htmlhelp.h>\r
#include "helpid.h"\r
\r
+// UTF-8対応\r
+#undef __MBSWRAPPER_H__\r
+#include "mbswrapper.h"\r
\r
-/*===== \83v\83\8d\83g\83^\83C\83v =====*/\r
\r
-static BOOL CALLBACK OtpCalcWinProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);\r
+/*===== プロトタイプ =====*/\r
\r
+// 64ビット対応\r
+//static BOOL CALLBACK OtpCalcWinProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);\r
+static INT_PTR CALLBACK OtpCalcWinProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);\r
\r
-/*===== \8aO\95\94\8eQ\8fÆ =====*/\r
+\r
+/*===== 外部参照 =====*/\r
\r
extern HWND hHelpWin;\r
\r
\r
-/*----- \83\8f\83\93\83^\83C\83\80\83p\83X\83\8f\81[\83h\8cv\8eZ ----------------------------------------------\r
+/*----- ワンタイムパスワード計算 ----------------------------------------------\r
*\r
* Parameter\r
-* \82È\82µ\r
+* なし\r
*\r
* Return Value\r
-* \82È\82µ\r
+* なし\r
*----------------------------------------------------------------------------*/\r
\r
void OtpCalcTool(void)\r
}\r
\r
\r
-/*----- \83\8f\83\93\83^\83C\83\80\83p\83X\83\8f\81[\83h\8cv\8eZ\83E\83C\83\93\83h\83E\82Ì\83R\81[\83\8b\83o\83b\83N ----------------------\r
+/*----- ワンタイムパスワード計算ウインドウのコールバック ----------------------\r
*\r
* Parameter\r
-* HWND hDlg : \83E\83C\83\93\83h\83E\83n\83\93\83h\83\8b\r
-* UINT message : \83\81\83b\83Z\81[\83W\94Ô\8d\86\r
-* WPARAM wParam : \83\81\83b\83Z\81[\83W\82Ì WPARAM \88ø\90\94\r
-* LPARAM lParam : \83\81\83b\83Z\81[\83W\82Ì LPARAM \88ø\90\94\r
+* HWND hDlg : ウインドウハンドル\r
+* UINT message : メッセージ番号\r
+* WPARAM wParam : メッセージの WPARAM 引数\r
+* LPARAM lParam : メッセージの LPARAM 引数\r
*\r
* Return Value\r
* BOOL TRUE/FALSE\r
*----------------------------------------------------------------------------*/\r
\r
-static BOOL CALLBACK OtpCalcWinProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)\r
+// 64ビット対応\r
+//static BOOL CALLBACK OtpCalcWinProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)\r
+static INT_PTR CALLBACK OtpCalcWinProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)\r
{\r
char Tmp[41];\r
char *Pos;\r
/* Seed */\r
if((Pos = GetNextField(Pos)) != NULL)\r
{\r
- if(GetOneField(Pos, Seed, MAX_SEED_LEN) == SUCCESS)\r
+ if(GetOneField(Pos, Seed, MAX_SEED_LEN) == FFFTP_SUCCESS)\r
{\r
Make6WordPass(Seq, Seed, Pass, Type, Tmp);\r
}\r
\r
\r
\r
+// FTPS対応\r
+void TurnStatefulFTPFilter()\r
+{\r
+ int ID;\r
+ char CurDir[FMAX_PATH+1];\r
+ char SysDir[FMAX_PATH+1];\r
+ ID = MessageBox(GetMainHwnd(), MSGJPN341, "FFFTP", MB_YESNOCANCEL);\r
+ if(ID == IDYES || ID == IDNO)\r
+ {\r
+ if(GetCurrentDirectory(FMAX_PATH, CurDir) > 0)\r
+ {\r
+ if(GetSystemDirectory(SysDir, FMAX_PATH) > 0)\r
+ {\r
+ if(SetCurrentDirectory(SysDir))\r
+ {\r
+ if(ShellExecute(NULL, "runas", "netsh", ID == IDYES ? "advfirewall set global statefulftp enable" : "advfirewall set global statefulftp disable", NULL, SW_SHOW) <= (HINSTANCE)32)\r
+ {\r
+ MessageBox(GetMainHwnd(), MSGJPN342, "FFFTP", MB_OK | MB_ICONERROR);\r
+ }\r
+ SetCurrentDirectory(CurDir);\r
+ }\r
+ }\r
+ }\r
+ }\r
+}\r
+\r