-/*=============================================================================\r
+/*=============================================================================\r
*\r
-* \82»\82Ì\91¼\82Ì\94Ä\97p\83T\83u\83\8b\81[\83`\83\93\r
+* その他の汎用サブルーチン\r
*\r
===============================================================================\r
/ Copyright (C) 1997-2007 Sota. All rights reserved.\r
/ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\r
/============================================================================*/\r
\r
-/* \82±\82Ì\83v\83\8d\83O\83\89\83\80\82Í skey \82Ì\83\\81[\83X\82ð\8eQ\8dl\82É\82µ\82Ü\82µ\82½\81B */\r
+/* このプログラムは skey のソースを参考にしました。 */\r
\r
#define STRICT\r
#include <stdlib.h>\r
#include <string.h>\r
-#include <winsock.h>\r
+// IPv6対応\r
+//#include <winsock.h>\r
+#include <winsock2.h>\r
#include <windowsx.h>\r
\r
#include "common.h"\r
#include "sha.h"\r
\r
\r
-/*===== \83v\83\8d\83g\83^\83C\83v =====*/\r
+/*===== プロトタイプ =====*/\r
\r
static int keycrunch(char *result, char *seed, char *passwd, int Type);\r
static void secure_hash(char *x, int Type);\r
static ulong extract(char *s, int start, int length);\r
\r
\r
-/*===== \83\8d\81[\83J\83\8b\82È\83\8f\81[\83N =====*/\r
+/*===== ローカルなワーク =====*/\r
\r
/* Dictionary for integer-word translations */\r
static const char Wp[2048][4] = {\r
\r
\r
\r
-/*----- \82U\83\8f\81[\83h\83p\83X\83\8f\81[\83h\82ð\8dì\90¬\82·\82é ------------------------------------------\r
+/*----- 6ワードパスワードを作成する ------------------------------------------\r
*\r
* Parameter\r
-* int seq : \83V\81[\83P\83\93\83X\94Ô\8d\86\r
-* char *seed : \83V\81[\83h\r
-* char *pass : \83p\83X\83t\83\8c\81[\83Y\r
-* int type : \83^\83C\83v (MDx)\r
-* char *buf : \82U\83\8f\81[\83h\83p\83X\83\8f\81[\83h\82ð\95Ô\82·\83o\83b\83t\83@\r
+* int seq : シーケンス番号\r
+* char *seed : シード\r
+* char *pass : パスフレーズ\r
+* int type : タイプ (MDx)\r
+* char *buf : 6ワードパスワードを返すバッファ\r
*\r
* Return Value\r
-* int \83X\83e\81[\83^\83X\r
-* SUCCESS/FAIL\r
+* int ステータス\r
+* FFFTP_SUCCESS/FFFTP_FAIL\r
*----------------------------------------------------------------------------*/\r
\r
int Make6WordPass(int seq, char *seed, char *pass, int type, char *buf)\r
int i;\r
int Sts;\r
\r
- Sts = FAIL;\r
- if(keycrunch(key, seed, pass, type) != FAIL)\r
+ Sts = FFFTP_FAIL;\r
+ if(keycrunch(key, seed, pass, type) != FFFTP_FAIL)\r
{\r
for(i = 0; i < seq; i++)\r
secure_hash(key, type);\r
btoe(key, buf);\r
- Sts = SUCCESS;\r
+ Sts = FFFTP_SUCCESS;\r
}\r
return(Sts);\r
}\r
\r
buflen = strlen(seed) + strlen(passwd);\r
if((buf = malloc(buflen + 1)) == NULL)\r
- return(FAIL);\r
+ return(FFFTP_FAIL);\r
strcpy(buf, seed);\r
strcat(buf, passwd);\r
\r
/* Only works on byte-addressed little-endian machines!! */\r
memcpy(result, (char *)results, 8);\r
\r
- return(SUCCESS);\r
+ return(FFFTP_SUCCESS);\r
}\r
\r
\r