[PHP-users 19315]mhash関数について

Tetsuya Saito tetuya @ ophiuchus.info
2003年 12月 11日 (木) 18:00:33 JST


皆さん
こんばんわ

斉藤@ophiuchusと申します。
先ほどは、単純なtypoでMLを汚してしまい申し訳ありませんでした。

さて、今回識者の皆様にお伺いした意味とは、phpを使用したmhash関数について
です。
当然、php-4.3.4をビルドするときには下記のように
./configure --with-apxs2=/usr/local/apapche2/apxs \
--enable-mbstring
--enable-mbregex
--with-ldap=/usr/local
--with-mhash=/usr/local

と言う形でビルドしインストールしました。
また、mhash関数自体はmhash-0.8.18をinstallしておりますので、問題なく使え
る物と思います。

しかしながら、長文になってしまいますが、下記phpソースコードのmhash関数の
部分でエラーになってしまいます。
これは、私のtypo、もしくはmhash関数のバージョン等において何らかの問題が
あるのでしょうか。

識者の皆様、ご指導の程、よろしくお願いします。

[ソースコード]
<?php
require_once "auth.inc";
if ($info[0]["mailgroup"][0] !== "admin") {
	//admin以外のログインは許可しない
	exit;
}
?>
<html>
<body>
<?php

//テキストフォームから追加するユーザーのDNを作成
$dn = "cn={$_POST["cn"]},{$_SESSION["d_dn"]}";

/*SSHAパスワードの作成準備
 *CRYPT形式の場合は
 *$newinfo["userpassword"] = "{CRYPT}" . crypt($_POST["userpassword"]);
 *MD5形式の場合は
 *$newinfo["userpassword"] = "{MD5}" . base64_encode(mhash(MHASH_MD5, $_POST["userpassword"]));
 */
mt_srand((double) microtime()*1000000);
$salt=mhash_keygen_s2k(MHASH_SHA1, $_POST["userpassword"], substr(pack("h*", md5(mt_rand())), 0, 8), 4)

//以下LDAPエントリーとなる連想配列を作成
$newinfo["userpassword"] = "{SSHA}" . base64_encode(mhash(MHASH_SHA1, $_POST["userpassword"] . $salt) . $salt);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
波線の部分が25行目に相当します
$newinfo["cn"] = $_POST["cn"];
$newinfo["sn"] = $_POST["sn"];
$newinfo["givenname"] = $_POST["givenname"];
$newinfo["objectclass"][0] = "top";
$newinfo["objectclass"][1] = "mailaccount"
$newinfo["objectclass"][2] = "inetorgperson"
$newinfo["homedirectory"] = "/home/mailuser/{$_SESSION["domainname"]}/{newinfo["cn"]}";
$newinfo["mail"] = "{newinfo["cn"]@{$_SESSION["domainname"]}";
$newinfo["maildir"] = $newinfo["homedirectory"} . "/Maildir/";
$newinfo["mailactive"] = "TRUE";
$newinfo["domainname"] = $_SESSION["domainname"};
$newinfo["mailgroup"] = "user";

//エントリーの追加
$c->add($dn, $newinfo"\);

//以下結果の表示
?>
新しいユーザーが追加されました。
<hr>
<a href="index.php>トップページ</a><br>
<a href="logout.php>ログアウト</a>
</body>
</html>

[上記ソースコードを実行したときに出るエラー]
Parse error: parse error in /usr/local/apache2/htdocs/imap/add.php on line 25

-- 
Tetsuya Saito <tetuya @ ophiuchus.info>




PHP-users メーリングリストの案内