トップ «前の日記(2006-08-31 (Thu)) 最新 次の日記(2006-09-04 (Mon))» 編集

ふたつの川うるおう日記


2006-09-03 (Sun)

_ [Java][Seasar] S2Directoryにcommons-codecいらなかった

見落としてたのか、以前上手くいかなくて諦めたのか、S2ContainerにBase64Utilなんてのがあるんですね。これがあると、commons-codecいらなかった・・・。

それで試しに入れ替えてみたら上手く動かない。commons-codecと比べてみると、次のようなコメントがあり、BASE64で期待しない文字を除外するようになってました。

// RFC 2045 requires that we discard ALL non-Base64 characters

で、じゃあ同じようにすれば良いんだと、BASE64で期待しない文字を除外するパッチを書いてみたら上手くいったヽ(´ー`)ノ。

でもよくよく考えるとおかしい。だって、S2Directoryでdecodeに渡す文字列は絶対encodeされた文字列だったりする。なので、本来なら期待しない文字なんて含まれる筈がない。。それで良くみたら原因判りました。SMD5とSSHAのラベル名( {SMD5}, {SSHA} )を渡す時に誤って、{MD5}と{SHA}を渡してました。そのため、decodeに渡される文字列の先頭に必ず } が入ってました・・・。というわけで、それ直したらS2ContainerのBase64Utilで問題無く動きました。

それで、BASE64で期待しない文字を除外するのはRFC 2045で要求されてるのかどうか確認して、要求されてるならパッチを投げようと確認ー。たぶん、1. Introductionのところの下記の部分だと思うんだけど、「規定する」と書かれた後に、「かなり不適当であるといえる」って、、、。

   The limitations of RFC 822 mail become even more apparent as gateways
   are designed to allow for the exchange of mail messages between RFC
   822 hosts and X.400 hosts.  X.400 [X400] specifies mechanisms for the
   inclusion of non-textual material within electronic mail messages.
   The current standards for the mapping of X.400 messages to RFC 822
   messages specify either that X.400 non-textual material must be
   converted to (not encoded in) IA5Text format, or that they must be
   discarded, notifying the RFC 822 user that discarding has occurred.
    RFC 822 メッセージへの X.400 メッセージのマッピングのための現在の
  標準は、X.400 非テクストのマテリアルが IA5Text フォーマットに変換さ
  れる(中で符号化されない)か、または、それらが RFC 822 ユーザに処分
  が起こったことを通知したうえで処分されなければならないと規定する。だ
  がこれはユーザが受け取ることを望むかもしれない情報が失われるので、か
  なり不適当であるといえる。たとえユーザエージェントが非テクストのマテ
  リアル(textual)を扱う機能を持っていなくても、ユーザは UA のために外
  部のあるメカニズムを持つことができマテリアルから有益な情報を抽出でき
  る。更にそれは結局メッセージが非テクストの情報が明確に再び有益になる
  (すなわちX.400メッセージはインターネットメールを経て "トンネリング"
  される)X.400メッセージ操作システムにゲートウェイされるかもしれない
  という事実を考慮しない。〔訳注:この辺の訳は難しい〕

とってもこのパッチいらない気がしてきたので、放置(;´Д`)。ちなみにJDKに付いてるsun.misc.BASE64Decoderも除外処理してない。というよりKodersでざっと見た感じ、だいたい除外処理してない。

そんなこんなで無駄なことをした1日かと思ったけど、自分の潜在的なバグが見つかったのでまぁ良かった。

| Bookmark:

_ [Java][Seasar] RESTConnectorでパラメータ名を指定

先日のS2Axis2 で Amazon WEBサービスを使うために書いたやつがたかのりさんに取り込んでいただけましたー、ありがとうございます(´ー`)。

| Bookmark:
本日のツッコミ(全2件) [ツッコミを入れる]
_ たかのり (2006-09-04 (Mon) 00:37)

提供ありがとうございました。取り込みが遅くなってすみません(^^;

_ jfut (2006-09-04 (Mon) 12:06)

取り込みありがとうございます(´ー`)。

[]

| Return to page top | Vicuna CMS - WordPress Theme - Vicuna Ninja Style for tDiary |