
#●
#---------------------------------------------------------------------------------------
# 名称     | Set_MasterPassword
# Version  | 1.00
# 処理名   | 管理者パスワードの記録処理
# 動作内容 | 
# 引数     | なし
# 戻り値   | なし
#
sub Set_MasterPassword {

	if ($log) { &Error("エラー"); } # 過去ログモード時は処理しない

	if (!-z $pwd_file) {

		if (!open(READ,$pwd_file)) { &Error('エラー','管理者用パスワードファイルが読み出せません.'); }
		$master = <READ>;
		close(READ);

		$master =~ s/\n//g;
		if ($master =~ /^\$1\$/) { $salt = 3; } else { $salt = 0; }
		if (crypt($in{'old_password'},substr($master,$salt,2)) ne $master) { &Error("Authorization Required",'現パスワードが認証されませんでした.'); }
	}

	if (length($in{'new_password'}) < 6 || $in{'new_password'} eq '') { &Error('入力ミス','6文字以上のパスワードを指定してください.'); }
	if ($in{'new_password'} ne $in{'retype_password'}) { &Error('入力ミス','２回入力したパスワードが合いません.'); }

	($pwd) = &MakeCrypt($in{'new_password'});

	if (!open(WRITE,"> $pwd_file")) { &Error('エラー','管理者用パスワードファイルに記録できません.'); }
	print WRITE $pwd;
	close(WRITE);

}#End_of_Set_MasterPassword

