-
Notifications
You must be signed in to change notification settings - Fork 56
Migration Guide 5.5.2_ja
.. only:: html .. contents:: 目次 :depth: 2 :local:
5.5.2での主な変更点は以下の通りです。
- Hibernate ORMを5.3.20.Finalへ更新
Hibernate ORM 5.3.20.Finalへ更新しました。
共通ライブラリの一部仕様の変更と機能の追加を行いました。
- [#1028] Apply Hibernate ORM 5.3.20
移行手順は、以下の通りです。
Note
凡例
Required : 手順の適用は必須Required by case : 手順の適用は条件付きで必須Optional : 手順の適用を推奨 (必要に応じて手順の適用を実施)- : 手順の適用は必要なし
[全般]
.. tabularcolumns:: |p{0.10\linewidth}|p{0.30\linewidth}|p{0.20\linewidth}|p{0.20\linewidth}|p{0.20\linewidth}|
ステップ | 手順 | MavenMultiple Projects | MavenSingle Project | EclipseWTP Project |
---|---|---|---|---|
|
依存ライブラリを更新 | Required | Required | Required |
[共通ライブラリ]
.. tabularcolumns:: |p{0.10\linewidth}|p{0.30\linewidth}|p{0.20\linewidth}|p{0.20\linewidth}|p{0.20\linewidth}|
ステップ | 手順 | MavenMultiple Projects | MavenSingle Project | EclipseWTP Project |
---|---|---|---|---|
|
Hibernate ORMの脆弱性解決のための設定 | Required by case | Required by case | Required by case |
TERASOLUNA Server Framework for Java (5.x)の共通ライブラリと依存ライブラリを更新してください。 以下に、この手順により更新される代表的な依存ライブラリを示します。
.. tabularcolumns:: |p{0.35\linewidth}|p{0.25\linewidth}|p{0.25\linewidth}|p{0.15\linewidth}|
ライブラリ名 | 更新前バージョン | 更新後バージョン | 備考 |
---|---|---|---|
TERASOLUNA Server Framework for Java (5.x) Common Library | 5.5.1.RELEASE | 5.5.2.RELEASE | |
Hibernate ORM | 5.3.7.Final | 5.3.20.Final |
[手順が必要なケース]
この手順の適用は必須です。
この更新手順は、mvn archetype を使用して作成したプロジェクト向けです。
親プロジェクトのPOMファイルの version
を 5.5.2.RELEASE
に修正してください。
- (
$YOUR_MULTIPLE_PROJECT_ROOT/pom.xml
)
<!-- omitted -->
<parent>
<groupId>org.terasoluna.gfw</groupId>
<artifactId>terasoluna-gfw-parent</artifactId>
<version>5.5.2.RELEASE</version> <!-- ### 修正箇所 ### -->
</parent>
<!-- omitted -->
この更新手順は、mvn archetype を使用して作成したプロジェクト、又は release site からダウンロードしたプロジェクト向けです。
プロジェクトのPOMファイルの version
を 5.5.2.RELEASE
にしてください。
- (
$YOUR_SINGLE_PROJECT/pom.xml
)
<!-- omitted -->
<parent>
<groupId>org.terasoluna.gfw</groupId>
<artifactId>terasoluna-gfw-parent</artifactId>
<version>5.5.2.RELEASE</version> <!-- ### 修正箇所 ### -->
</parent>
<!-- omitted -->
5.5.2より、下記の脆弱性を解決するためHibernate ORMを5.3.20.Finalへ更新しました。
[CVE-2020-25638] Potential for SQL injection on use_sql_comments logging enabled
[手順が必要なケース]
5.5.2が利用しているHibernate ORM 5.3.20.Finalを使用すれば、CVE-2020-25638で報告されている脆弱性は発生しません。
動作するAPサーバによっては、アプリケーションではなくAPサーバに同梱されたHibernate ORMが使用される場合がある点にもご注意ください。
例としてJBoss EAP 7では、jboss-deployment-structure.xmlの作成と設定のようにjpa
サブシステムを除外していない場合、JBossに同梱されたHibernate ORMが使用される可能性があります。
脆弱性対策のためhibernate.use_sql_comments=false
に変更を行っていた場合はtrue
に戻してください。
5.5.2よりガイドラインにhibernate.use_sql_comments
の設定の指針を追加しているため、設定を変更する際はEntityManagerの設定を参考にしてください。
この更新手順は、release site からダウンロードしたEclipse WTPプロジェクト向けです。
Note
凡例
[テーブルヘッダ]Non : O/R Mapperに非依存のブランクプロジェクトMB3 : MyBatis3用のブランクプロジェクトJPA : JPA用のブランクプロジェクト[備考欄]* : オペレーション対象
Eclipse WTP Project of 5.5.2.RELEASE をダウンロードしてください。
Eclipseが起動している場合、Eclipseを終了します。
$YOUR_ECLIPSE_WTP_PROJECT/src/main/webapp/WEB-INF/lib
のjarファイルを更新(削除して追加)してください。
.. tabularcolumns:: |p{0.25\linewidth}|p{0.30\linewidth}|p{0.30\linewidth}|p{0.05\linewidth}|p{0.05\linewidth}|p{0.05\linewidth}|
ライブラリ名 | 削除ファイル | 追加ファイル | Non | MB3 | JPA |
---|---|---|---|---|---|
TERASOLUNA Server Framework for Java (5.x) Common Library | terasoluna-gfw-common-5.5.1.RELEASE.jar | terasoluna-gfw-common-5.5.2.RELEASE.jar | * | * | * |
terasoluna-gfw-jodatime-5.5.1.RELEASE.jar | terasoluna-gfw-jodatime-5.5.2.RELEASE.jar | * | * | * | |
terasoluna-gfw-security-web-5.5.1.RELEASE.jar | terasoluna-gfw-security-web-5.5.2.RELEASE.jar | * | * | * | |
terasoluna-gfw-web-5.5.1.RELEASE.jar | terasoluna-gfw-web-5.5.2.RELEASE.jar | * | * | * | |
terasoluna-gfw-web-jsp-5.5.1.RELEASE.jar | terasoluna-gfw-web-jsp-5.5.2.RELEASE.jar | * | * | * | |
Hibernate ORM | hibernate-core-5.3.7.Final.jar | hibernate-core-5.3.20.Final.jar | * | ||
hibernate-entitymanager-5.3.7.Final.jar | hibernate-entitymanager-5.3.20.Final.jar | * | |||
javassist-3.23.1-GA.jar | javassist-3.23.2-GA.jar | * | |||
Dom4J | dom4j-2.1.1.jar | dom4j-2.1.3.jar | * | ||
TXW2 Runtime | - | txw2-2.3.1.jar | * | ||
JAXB | - | jaxb-runtime-2.3.1.jar | * | ||
FastInfoset | - | FastInfoset-1.2.15.jar | * | ||
Extended StAX API | - | stax-ex-1.8.jar | * | ||
Istack Common Utility Code Runtime | - | istack-commons-runtime-3.0.7.jar | * |
$YOUR_ECLIPSE_WTP_PROJECT/libsrc
のソース格納用jarファイルを更新(削除して追加)してください。
.. tabularcolumns:: |p{0.25\linewidth}|p{0.30\linewidth}|p{0.30\linewidth}|p{0.05\linewidth}|p{0.05\linewidth}|p{0.05\linewidth}|
ライブラリ名 | 削除ファイル | 追加ファイル | Non | MB3 | JPA |
---|---|---|---|---|---|
TERASOLUNA Server Framework for Java (5.x) Common Library | terasoluna-gfw-common-5.5.1.RELEASE-sources.jar | terasoluna-gfw-common-5.5.2.RELEASE-sources.jar | * | * | * |
terasoluna-gfw-jodatime-5.5.1.RELEASE-sources.jar | terasoluna-gfw-jodatime-5.5.2.RELEASE-sources.jar | * | * | * | |
terasoluna-gfw-security-web-5.5.1.RELEASE-sources.jar | terasoluna-gfw-security-web-5.5.2.RELEASE-sources.jar | * | * | * | |
terasoluna-gfw-web-5.5.1.RELEASE-sources.jar | terasoluna-gfw-web-5.5.2.RELEASE-sources.jar | * | * | * | |
terasoluna-gfw-web-jsp-5.5.1.RELEASE-sources.jar | terasoluna-gfw-web-jsp-5.5.2.RELEASE-sources.jar | * | * | * | |
Hibernate ORM | hibernate-core-5.3.7.Final-sources.jar | hibernate-core-5.3.20.Final-sources.jar | * | ||
hibernate-entitymanager-5.3.7.Final-sources.jar | hibernate-entitymanager-5.3.20.Final-sources.jar | * | |||
javassist-3.23.1-GA-sources.jar | javassist-3.23.2-GA-sources.jar | * | |||
dom4j-2.1.1.jar | dom4j-2.1.3.jar | * | |||
TXW2 Runtime | - | txw2-2.3.1-sources.jar | * | ||
JAXB | - | jaxb-runtime-2.3.1-sources.jar | * | ||
FastInfoset | - | FastInfoset-1.2.15-sources.jar | * | ||
Extended StAX API | - | stax-ex-1.8-sources.jar | * | ||
Istack Common Utility Code Runtime | - | istack-commons-runtime-3.0.7-sources.jar | * |
置換文字列を使用して、参照ライブラリを更新してください。
$YOUR_ECLIPSE_WTP_PROJECT/.classpath
$YOUR_ECLIPSE_WTP_PROJECT/build.xml
.. tabularcolumns:: |p{0.25\linewidth}|p{0.30\linewidth}|p{0.30\linewidth}|p{0.05\linewidth}|p{0.05\linewidth}|p{0.05\linewidth}|
ライブラリ名 | 置換対象文字 | 置換文字 | Non | MB3 | JPA |
---|---|---|---|---|---|
TERASOLUNA Server Framework for Java (5.x) Common Library | terasoluna-gfw-common-5.5.1.RELEASE | terasoluna-gfw-common-5.5.2.RELEASE | * | * | * |
terasoluna-gfw-jodatime-5.5.1.RELEASE | terasoluna-gfw-jodatime-5.5.2.RELEASE | * | * | * | |
terasoluna-gfw-security-web-5.5.1.RELEASE | terasoluna-gfw-security-web-5.5.2.RELEASE | * | * | * | |
terasoluna-gfw-web-5.5.1.RELEASE | terasoluna-gfw-web-5.5.2.RELEASE | * | * | * | |
terasoluna-gfw-web-jsp-5.5.1.RELEASE | terasoluna-gfw-web-jsp-5.5.2.RELEASE | * | * | * | |
Hibernate ORM | hibernate-core-5.3.7.Final | hibernate-core-5.3.20.Final | * | ||
hibernate-entitymanager-5.3.7.Final | hibernate-entitymanager-5.3.20.Final | * | |||
jandex-2.1.1.Final | jandex-2.1.3.Final | * | |||
javassist-3.23.1-GA | javassist-3.23.2-GA | * | |||
dom4j-2.1.1 | dom4j-2.1.3 | * |
Eclipse WTPプロジェクトの設定に参照ライブラリ(jarファイル以下)を追加してください。
$YOUR_ECLIPSE_WTP_PROJECT/.classpath
$YOUR_ECLIPSE_WTP_PROJECT/build.xml
.. tabularcolumns:: |p{0.30\linewidth}|p{0.55\linewidth}|p{0.05\linewidth}|p{0.05\linewidth}|p{0.05\linewidth}|
ライブラリ名 | 追加対象jarファイルのプレフィックス | Non | MB3 | JPA |
---|---|---|---|---|
Jaxb | jaxb-runtime-2.3.1 | * | ||
TXW2 Runtime | txw2-2.3.1 | * | ||
FastInfoset | FastInfoset-1.2.15 | * | ||
Extended StAX API | stax-ex-1.8 | * | ||
Istack Common Utility Code Runtime | istack-commons-runtime-3.0.7 | * |
[修正方法]
.classpath
<!-- ### 以下のクラスパスエントリーの追加が必要 ### -->
<!-- omitted -->
<classpathentry kind="lib"
path="src/main/webapp/WEB-INF/lib/jaxb-runtime-2.3.1.jar"
sourcepath="libsrc/jaxb-runtime-2.3.1-sources.jar" />
<classpathentry kind="lib"
path="src/main/webapp/WEB-INF/lib/txw2-2.3.1.jar"
sourcepath="libsrc/txw2-2.3.1-sources.jar" />
<classpathentry kind="lib"
path="src/main/webapp/WEB-INF/lib/FastInfoset-1.2.15.jar"
sourcepath="libsrc/FastInfoset-1.2.15-sources.jar" />
<classpathentry kind="lib"
path="src/main/webapp/WEB-INF/lib/stax-ex-1.8.jar"
sourcepath="libsrc/stax-ex-1.8-sources.jar" />
<classpathentry kind="lib"
path="src/main/webapp/WEB-INF/lib/istack-commons-runtime-3.0.7.jar"
sourcepath="libsrc/istack-commons-runtime-3.0.7-sources.jar" />
<!-- omitted -->
build.xml
<!-- ### 以下のクラスパスエントリーの追加が必要 ### -->
<path id="build.classpath">
<!-- omitted -->
<pathelement location="${lib.dir}/jaxb-runtime-2.3.1.jar"/>
<pathelement location="${lib.dir}/txw2-2.3.1.jar"/>
<pathelement location="${lib.dir}/FastInfoset-1.2.15.jar"/>
<pathelement location="${lib.dir}/stax-ex-1.8.jar"/>
<pathelement location="${lib.dir}/istack-commons-runtime-3.0.7.jar"/>
<!-- omitted -->
</path>