[SASTRUTS-133] URLTypeで.tokyoドメインがエラーになる Created: 2015-03-16  Updated: 2015-08-27

Status: Open
Project: SAStruts
Component/s: SAStruts
Affects Version/s: 1.0.4-sp9
Fix Version/s: None

Type: Bug Priority: Major
Reporter: toru_izui Assignee: higa
Resolution: Unresolved Votes: 0
Labels: None


 Description   

SAStrutsのURLTypeバリデーションで、URLのチェックをしていますが、
.tokyoドメインだと不正なURLだと認識されるようです。

例: http://hello.tokyo/

修正対応をお願いできますでしょうか?



 Comments   
Comment by higa [ 2015-08-27 ]

ということなら、修正する方が良いと思います。
ただ、Javaの開発環境がないので、コミッタで、誰か修正(できればリリース)してもらえるとうれしいです。
もしくは、この件の修正で、コミッタになりたい方がいればWelcomeです。

Comment by koichik [ 2015-03-31 ]

toru_izui さん:

早急に対応が必要なら、commons-validatorのUrlValidatorファイルをコピーして、4文字以下のチェックをしている以下の行を修正し、WEB-INF/classes に配置するのが手っ取り早いと思います。
https://github.com/apache/commons-validator/blob/VALIDATOR_1_2_0/src/share/org/apache/commons/validator/UrlValidator.java#L378

ひがさん:
対応しないならこのチケットはクローズした方がよいかと思います。

Comment by toru_izui [ 2015-03-27 ]

結論的にはどういうことになったのでしょうか?
対応が必要になってきたので状況を教えて頂ければ幸いです。

Comment by koichik [ 2015-03-17 ]

この問題は元々RFCにない余計なチェックをしていたcommons-validatorのバグで、commons-validator-1.4.0で修正されています。
https://issues.apache.org/jira/browse/VALIDATOR-216

具体的にはDomainValidatorというクラスが導入されて、TLDの長さは2文字以上ならOKになってます。
https://github.com/apache/commons-validator/blob/28283808eab7d11b69f3afaca6e294a9a31ddcd1/src/main/java/org/apache/commons/validator/routines/DomainValidator.java#L67

そしてUrlValidatorはこのDomainValidatorを使うように修正されたため、4文字を超えるTLDをエラーにする処理も削除されました。
https://github.com/apache/commons-validator/commit/18afdcb4b17aa0a4ff7c0e73b2c35b559cda1fc4

しかし、SAStrutsはcommons-validatorの1.2.0を利用しており、大きく修正された1.4.0を使うのは難しいと思われます。
となると、OGNLのようにSeasarプロジェクト側でcommons-validator-1.2.0にパッチを当てて提供するのがいいんじゃないかと思います。

Comment by higa [ 2015-03-16 ]

じゃ、文字数の上限の制限を単にはずせばよいかというと、そうでもないはずで、そんなに単純な話じゃなさそう。
セキュリティの問題以外は、SAStrutsには手を入れないことにしているので、個別に対応してもらいたいです。

Generated at Fri Apr 19 19:50:12 JST 2024 using Jira 9.15.0#9150000-sha1:9ead8528714127d8cfabf2446010d7e62c0a195c.