ふたつの川うるおう日記
2006-04-02 (Sun)
_ [Java] 開発者のための正しいCSRF対策 from /.jp
セッションIDをそのまま使うのは良くないのだろうけど、CSSXSSを使われるとハッシュ化したのをキーに使っても CSRF対策は意味なくなりますね。
書かれているとおりCSSXSSとCSRF対策を同時にするには、POSTしてキー生成するかCookie使うしかないのかな。前者はPOSTさせるのが微妙に嫌だったり、後者はJava Scriptオフにしてると動かなかったりと何かを立てると何かを犠牲する必要があって困ったもんですね。後者の場合は、ページ単位に別のワンタイムパスワード持つのが数が増えるとキツくなるのでタブブラウザでのユーザビリティ低下の問題が発生するし。
とりあえず、IEのCSSXSS問題は直して欲しいな。それでも将来的にはダメって話もあるけど、とりあえず現時点ではIEが直ればマシになる。
_ [Project] へそまがりのためのライセンシング(1)
Open Source Definition, OSDの第5項および第6項では利用者の制限はできないとなっているんですね。連載のようなので次の記事も期待。
2006-04-07 (Fri)
_ [Seasar] WARNING
WARNINGなので無視しましたが、発生中にサーバを確認したところDCの回線が一時的に激しく重くなっていたようです。同じラック内にある他のサーバももの凄く重くなってました。一応問い合わせ中なので、詳細判るようでしたら報告します。謎のままだったらそのまま放置で・・・。
2006-04-09 (Sun)
_ [Server] OpenLDAP or Fedora-DS on Xen
Fedora-DSを試したくてXenのゲストの中でやろうとしたら動きませんでした。調べてみたところ、NTPL対応のために/lib/tls以下にあるものが必要なようで、Berkeley DBの初期化に失敗しているようでした。Berkeley DBの初期化の問題なのでOpenLDAPも動きませんでした。
bdb_initialize: Sleepycat Software: Berkeley DB 4.2.52: (December 3, 2003) bdb_db_init: Initializing BDB database bdb(dc=example,dc=org): unable to initialize mutex: Function not implemented bdb(dc=example,dc=org): /var/lib/ldap/__db.001: unable to initialize environment lock: Function not implemented
うーん、困った。UNIXのLDAPサーバはだいたいOpenLDAPから派生しているので皆ダメっぽいです。ここでJava製のApache-DSですねっと見てみたものの、レプリケーションがまだ出来てないようなので今すぐ実用するのはちょっとツラそうです。
他にレプリケーションできて、動きそうなのないかな。
2006-04-10 (Mon)
_ [Project] 3 Columns Layout + "width: auto" + min-width for IE
解決できるのがあったっぽいです。
ソース見たら、IE5とIE6用にJavaScriptで値書き換えてます。CSSだけでやるIE5/6用min-widthは、複数カラムあるやつだとどうしても上手く動かないのでずっと困ってました。
ただ、JavaScript使うとかすごい負けっぽいけど。。。
追記: IE6 と Firefox 1.0.7 用だけであれば、JavaScriptなしで上手くいきました。
2006-04-18 (Tue)
_ [Server] LDAP Super Expert
本屋寄ったら面白そうなのがありました。OpenLDAPのレプリケーションの仕方でOpenLDAP 2.3から新しいLDAP Sync 複製という方法があるそうです。CentOS 4.3で試そうと思ったらRPMのは2.2でした、残念。従来のslurpd を利用した複製方法は、片方が落ちた時に整合性が崩れることがあるので、この新しい方法は興味深いです。
また、Fedora Directory Serverの構築例やOpenSSH-LDAPの利用例も載っていました。LDAPに関する説明と構築方法が丁寧に書かれていて良い本だと思います。ただ、LDIFガリガリ書いてる点がちょっと残念でした。
追記: あれ、マニュアル見たらOpenLDAP 2.2から既にLDAP Sync 複製使えそうだ。うん、2.2からサポートされてる。と、思ったら2.2には、syncreplはあるけど、syncprovはないらしい。2.3からsyncprovがあるようです。
_ [大学][Server] Xenのアップデート方法
3.0.1から3.0.2にアップデートしてます。意外に面倒。/lib/modules以下毎回置き換えなきゃいかんのか。。。ゲスト数が膨大になった時に悲惨なので対策を考えよう。
_ [Work][大学] 通学開始
今まで自宅メインでいろいろやってましたが、今後、平日はなるべく大学に行ってやろうと思います。受動的に仕事をこなす場合、メールが送られてくるというトリガで発火して仕事が一気に走るものの、能動的に何かやろうとすると家だとダメダメでした。今後、受動的な仕事も減る予定だし、新規に何か請け負うために外に打ち合わせに行くつもりもないので、通学してやった方がやる気が出て良さそうです。何より大学に行けば、席の前でパーサを必死に書いてる方がいらっしゃるので、良い刺激になります(笑。
昔は朝の支度と通学時間入れて3時間は無駄だと思ってましたが、刺激やいざ着いてからの集中できる環境を考えると全然無駄でもないと思い始めました。それに通学時間2時間は、読書時間に当てればOK。
- メリット
- 通学中の読書
- 目の前の席の方からの刺激
- 研究室の皆からの刺激
- ぶらっと本屋で書籍購入
- 運動不足解消
- 自転車
- 通り道の小金井公園で癒される
- 花が咲いてる時期限定、寒い冬はダメ
- デメリット
- マシンスペックが自宅の方が良い
- 研究室のマシンはシングルディスプレイ
- 自分で買った商用ソフトウェアが家のマシンで使ってるので使えない
2006-04-21 (Fri)
2006-04-23 (Sun)
_ [Java][Seasar] Mayaaで国際化
テンプレート切り替え機能を使ってみました。
- 動作サンプル
- 右上の English | Japanese で切り替え
Mayaaでは、テンプレートのファイル名を "$" で区切ることでテンプレートを切り替えることができるそうです。
- index.html
- デフォルト
- index$ja.html
- 日本語用
Eclipseで表示した時に、.ja.html の方が .mayaa より先に .html の次に並ぶのでAapcheのコンテントネゴシエーションと一緒のフォーマットの方が判りやすくて嬉しいかもと思いました。
- index.html
- デフォルト
- index.ja.html
- 日本語用
あと、locale=ja といったパラメータが付いちゃうのをどうにか上手いこと隠せないものかいろいろやってみたものの敗北しました。。。
次のような小細工でリンク先が index.html であっても、 index$ja.html に自動的にリダイレクトするように m:beforeRender でしたものの、これだと処理が2回走っちゃうようであんま良くなさそうなので辞めました。
var sessionLocale = session.locale;
var paramLocale = param.locale;
if (sessionLocale != paramLocale) {
redirect(request.contextPath + request.requestedPath + "?locale=" + sessionLocale);
}
多言語のテンプレートを後から追加することを考えると、HTMLテンプレートファイルの場所をweb.xmlなどwar内のファイルでwar外のパスに設定できる機能があると便利そう。
2006-04-28 (Fri)
_ [大学] RA (Research Assistant)
まだ、結果を聞いていませんが、RA (Research Assistant)に採用していただけるようです。最初RAがなんだか判っていませんでした。仕事内容は論文を書くこととなっていて、なんだろって思って略語を調べてたらResearch Assistantとなっており、そうか、研究を補助する人かと理解し、御礼とよろしくお願いしますと返事しました。
そして、後から気付いたんだけど、Research Assistantって助手のことなんですね(;´ー`)。なんか助手って言葉になるとすごい重圧を感じました。
と思ったら、正式な助手とはまた違うみたいです。研究助手というのが正しい意味合いみたいです。
この制度は以前からあったみたいですが、博士後期課程であるという条件があるため、今まで知りませんでした(ガイダンスでもこの話は無かったような)。この条件無くして、もっと優秀なashigeruさんを採用してあげた方がとても有益だと思います(汗。なんなら僕無くていいので代わりに。。
TA代+RA代で学費はかなり相殺されるので、とても嬉しいです。これで申請してないけど、返さなくて良い奨学金を貰えれば、プラス収支になりますね。
採用していただけることに感謝しつつ、その成果を出したいと思います。
2006-04-30 (Sun)
_ [Java][Seasar] S2Directory 0.2 Released
S2Directory 0.2 をリリースしました。変更点は下記の通りです。
- 新規エントリ作成機能追加
- String型での複数の属性値を読み出し機能改善
- String型で複数の属性値の書き込み機能追加
- List型での複数の属性値を読み出し機能改善
- List型で複数の属性値の書き込み機能追加
- 更新時に追加する値が null の場合に更新されなかったバグ修正
- String型での複数の属性値のための区切り文字設定値追加
- 平文パスワードサポート
- パスワードの変換方式を表す設定値 passwordType を passwordAlgorithm に設定名変更
- org.seasar.directory.crypt パッケージを org.seasar.directory.digest に変更
- 一連の動作テスト用サンプルクラス追加
- その他、ソースコードの整理
一通り通常必要な機能は揃ったので、一応Betaと名乗ってみます。Betaが外れるのは、SSL/TLS対応とソース整理して、ドキュメントも整備したらかな。SSL/TLS対応は、正規の証明書であれば実はもう動くものの、自己認証局だとJDK付属のやつではExceptionになってしまいどうしようか考え中です。
また、Apache Directory Serverでの動作確認を行いました。ApacheDS-RC1では、SMD5とSSHAがサポートされていないため、暗号形式にこの2つを選べないですが、それ以外では問題ありませんでした。ドキュメントが相変わらずないですが、examples.directorydao.clientパッケージ以下に動作テスト用のテストクラスがあるのでひとまずそれで・・・。
今回からApacheDSを開発環境にして、OpenLDAPで動作確認を取る形式にしました。
_ [Java][Seasar] S2Directory のユーザ管理のアイディアは、まだです。。
以前いただいた要望はまだです。。ごめんなさい。
_ [Java][Project] 認証系下地
S2Directoryは、S2Daoと同じPOJOが使えるので、認証系をRDBとLDAPで切り替えたい時に、LDAPにユーザエントリに対応するテーブルをRDBに作っておけば、S2DirectoryとS2Daoを使うことで同じPOJOでDaoをクラスを切り替えるだけで認証系の切り替えが出来ちゃったりまします。これで認証系の下地が出来ました。
_ [Java][Seasar] S2Directory 0.2.1 Released
S2Directory 0.2.1 をリリースしました。変更点は下記の通りです。
- 更新時に null の場合、文字列 null が入ってしまうバグ修正
致命的だったのでバグ修正1点のみでリリースしました。




_ たこ [ 初めまして。OpenLDAP をXen 上でどうしても起動できず、"Function not implemente..]
_ zotwk wvqxsua [xvyjpnek evycpirlu lykangtc xokbfzmdc jovulcqek tnbamfhvz ..]