4.5.32 (Dec 2009)
セキュリティ修正 (Java)
クロスサイトスクリプティング問題の修正
index.jsp の引数としてJavaScriptの記述を行うと、サニタイズされずに出力される箇所があったためパラメータを必ずサニタイズするように修正
新しい機能 (Java)
JVMのバージョンチェック後の振る舞いをコントロールするオプションの追加
従来のバージョンでは、製品として評価されていない JVM を使用していた場合、起動時のチェックによって起動画面上にボタンが表示されていました。
このボタンの表示をコントロールするためのオプションが nexaweb-client.xml に show-unknown-vm-status として追加されました。
詳細については 10653 の修正内容を参照ください。
単一の HTTP セッション上で複数の Nexaweb セッションが管理できるようになりました
従来のバージョンでは 1 HTTP セッションに対して 1 Nexaweb セッションが関連付いていましたが、 新しい機能を使用する事で単一の HTTP セッション上で複数の Nexaweb セッションを管理することができるようになりました。
この機能を利用するためのオプションが nexaweb-client.xml に use-http-request-header-for-session-id として追加されました。
詳細については 10672 の修正内容を参照ください。
振る舞いの変更 (Java)
プッシュコネクションの接続方式の変更
プッシュコネクションの接続方式を変更するためのオプションが追加されました。
詳細については 10661 の修正内容を参照ください。
より完全な ServerDOM 同期のための振る舞いの変更
ServerDOM 同期処理を完全にリクエスト/レスポンスで同期させるために振る舞いの変更をコントロールするためのオプションが追加されました。
詳細については 10662 の修正内容を参照ください。
修正項目 (Java)
DataService の dataSource を複数回定義するとメモリリークが発生する | |
JVM1.3でタブ移動が正常に機能しない | |
index.jspはクロスサイトスクリプティング問題を持っている | |
IMEでテキストフィールドよりも長い文字列を入力している場合に、変換候補となる文字列が見えなくなる場合がある。 | |
maxLength属性を持ったテキストフィールドでIMEによって文字入力を行った場合、テキストの自動スクロールが発生すると、全てのテキストが表示されていない状態になる場合がある | |
autoWrap 属性が "true" に設定されている <textArea/> を使用しており、<textArea/> の中で onTextChange イベントを使用してテキストカーソル位置を取得した場合、自動改行によって正しいカーソル位置を取得できなくなる | |
互換性:PNGファイルによって半透明処理のされているウインドウの描画処理がおかしい | |
<textArea/> のデータとして単一の \ を Element#setFirstTextChild() メソッドを使用して設定しようとした場合、例外が発生する | |
<listBox/>もしくはテーブル系UIコンポーネントの中にデータが存在していない状態で、コンポーネントにフォーカスをセットして矢印キーをおするとNPEが発生する。 | |
JVMのバージョンチェックによって起動時に表示されるボタンのコントロールを行いたい。 | |
プッシュコネクションの接続要求が他のリクエストに乗る問題のオプション化 | |
ServerDOM同期がサーバー側のマルチスレッド処理によって正しく行われない場合がある | |
XPathの中で"\"を利用できない | |
1 つのHTTP セッションで複数の Nexaweb セッションのサポート機能を追加 | |
<textArea/> に対してクリップボードから繰り返し同じ文字列長のデータをペーストした場合、ペースト後のテキストカーソルの位置がおかしくなる場合がある | |
IME による入力を行っている場合に、左カーソルキーを繰り返し押し、テキストカーソル位置を移動させると、テキストカーソルの表示が消える場合がある | |
WebSphere 上で Nexaweb を使用しており、サーバーが相当な高負荷状態になった場合、ServerProtocolExceptionが発生する場合がある |
修正の詳細 (Java)
10233 | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
DataService の dataSource を複数回定義するとメモリリークが発生する | |||||||||||||
環境 |
| ||||||||||||
対象 | DataServices | ||||||||||||
事象 | DataService の dataSource を同じ id 値で複数回定義し直した場合、過去の定義情報がメモリ上から削除され続け、メモリリークの原因となる | ||||||||||||
修正 | dataSource を同じ id 値で定義し直した場合、過去の id 値によって定義済みの dataSource を削除してから登録するように修正 | ||||||||||||
10259 | |||||||||||||
JVM1.3でタブ移動が正常に機能しない | |||||||||||||
環境 |
| ||||||||||||
対象 | JVM 1.3.x を使用している場合のタブキーによるフォーカス移動 | ||||||||||||
事象 | JVM 1.3.x を使用しており、タブキーによってフォーカスを移動しようとした場合に、タブキーでフォーカスを移動できない場合がある | ||||||||||||
修正 | JVM 1.3.x 使用時にタブキーによってフォーカスが正しくコントロールできるように修正 | ||||||||||||
10367 | |||||||||||||
index.jspはクロスサイトスクリプティング問題を持っている | |||||||||||||
環境 |
| ||||||||||||
対象 | index.jsp, errorBadVM.jsp, errorBuggyVM.jsp, errorCookiesDisabled.jsp, errorJavaScriptDisabled.jsp | ||||||||||||
事象 | jsp ファイルのパラメータとして Javascript の記述を行った場合、クロスサイトスクリプティング問題が発生する | ||||||||||||
修正 | クロスサイトスクリプティング問題が発生しないようにパラメータを必ずサニタイズするように修正 | ||||||||||||
10545 | |||||||||||||
IMEでテキストフィールドよりも長い文字列を入力している場合に、変換候補となる文字列が見えなくなる場合がある。 | |||||||||||||
環境 |
| ||||||||||||
対象 | 全ての文字入力可能 UI コンポーネント | ||||||||||||
事象 | テキストフィールドの幅よりも長い文字列を IME によって一括入力した場合に、変換キーを押して入力文字の変換を行おうとした場合、 テキストフィールドの幅に合わせて表示文字がスクロールしているため、文字列の先頭部分の変換内容が画面上で確認することができない。 | ||||||||||||
修正 | テキストフィールドの幅を超えて IME による文字入力を行っている場合、変換キーが押された場合に変換対象となっている文字列が表示するために自動スクロールするように修正 | ||||||||||||
10547 | |||||||||||||
maxLength属性を持ったテキストフィールドでIMEによって文字入力を行った場合、テキストの自動スクロールが発生すると、全てのテキストが表示されていない状態になる場合がある | |||||||||||||
環境 |
| ||||||||||||
対象 | maxLength を指定可能な全ての文字入力可能 UI コンポーネント | ||||||||||||
事象 | テキストフィールドの幅を超えて IME による文字入力を行っている場合、自動するクロールが発生します。 | ||||||||||||
修正 | IME による変換、入力確定、キャンセル時にテキストフィールド内のスクロール位置を調整するように修正 | ||||||||||||
10568 | |||||||||||||
autoWrap 属性が "true" に設定されている <textArea/> を使用しており、<textArea/> の中で onTextChange イベントを使用してテキストカーソル位置を取得した場合、自動改行によって正しいカーソル位置を取得できなくなる | |||||||||||||
環境 |
| ||||||||||||
対象 | 全ての文字入力可能 UI コンポーネント | ||||||||||||
事象 | autoWrap 属性が "true" に設定されている <textArea/> を使用しており、<textArea/> の中で onTextChange イベントを使用してテキストカーソル位置を取得した場合、 自動改行によって正しいカーソル位置を取得できない | ||||||||||||
修正 | テキストカーソル位置の再計算処理位置を変更し、 onTextChange イベント発生時に正しいテキストカーソル位置を取得できるように修正 | ||||||||||||
10629 | |||||||||||||
互換性:PNGファイルによって半透明処理のされているウインドウの描画処理がおかしい | |||||||||||||
環境 |
| ||||||||||||
対象 | 全てのフローティングコンテナ(ウインドウ、ダイアログ等) | ||||||||||||
事象 | UI コンポーネントの背景画像ファイルとして半透明処理が施されている PNG ファイルを使用している場合に、 背景色の半透明処理が正しく行われない | ||||||||||||
修正 | 背景画像ファイルの描画時に PNG ファイルの半透明処理を考慮するように修正 | ||||||||||||
10635 | |||||||||||||
<textArea/> のデータとして単一の \ を Element#setFirstTextChild() メソッドを使用して設定しようとした場合、例外が発生する | |||||||||||||
環境 |
| ||||||||||||
対象 | 全ての文字列処理 | ||||||||||||
事象 | <textArea/> のデータとして単一の \ を Element#setFirstTextChild() メソッドを使用して設定しようとした場合、例外が発生する | ||||||||||||
修正 | 内部で文字列を扱う際のエスケープ文字の処理内容を修正 | ||||||||||||
10640 | |||||||||||||
<listBox/>もしくはテーブル系UIコンポーネントの中にデータが存在していない状態で、コンポーネントにフォーカスをセットして矢印キーをおするとNPEが発生する。 | |||||||||||||
環境 |
| ||||||||||||
対象 | <litBox/>, <table/>, <treeTable/>, <tree/> | ||||||||||||
事象 | 対象 UI コンポーネント内に選択可能なデータが存在していない場合に UI コンポーネントがフォーカスを受け取り、矢印キーを押すと NullPointerException が発生する | ||||||||||||
修正 | 選択可能データが存在していない場合に NullPointerException が発生しないように修正 | ||||||||||||
10653 | |||||||||||||
JVMのバージョンチェックによって起動時に表示されるボタンのコントロールを行いたい。 | |||||||||||||
対象 | 起動時の JVM バージョンチェッカ | ||||||||||||
機能 | 起動時の JVM バージョンチェック時に未知の新しい JVM が存在した場合、起動画面にボタンが表示され、 ボタンをクリックしなければ Nexaweb アプリケーションを開始することができませんでしたが、 このボタンの表示有無をコンフィグレーションによってコントロールできるように以下のオプションが nexaweb-client.xml に機能追加されました。 /client-app/launch-configuration/progress-handler/show-unknown-vm-status
show-unknown-vm-status は以下の 2 つの値を設定することができます。
4.5.31 以前のバージョンと同様の振る舞いを期待する場合には「true」を指定してください。 nexaweb-client.xml の設定例(抜粋)
| ||||||||||||
10661 | |||||||||||||
プッシュコネクションの接続要求が他のリクエストに乗る問題のオプション化 | |||||||||||||
環境 |
| ||||||||||||
対象 | プッシュコネクションの接続処理全般 | ||||||||||||
事象 | マルチスレッドアプリケーションとしてアプリケーションが実装されており、独自スレッドからサーバーリクエストを行う処理が存在している場合に、 プッシュコネクションの接続要求が通常のリクエスト処理に相乗りしてしまい、サーバープッシュデータがプッシュコネクションではないコネクションを通じて レスポンスされる可能性があり、その場合にプッシュデータに異常が生じる可能性がある | ||||||||||||
修正 | プッシュコネクションの接続要求が通常のリクエスト処理に相乗りしないように修正 /client-app/open-push-without-protocol
4.5.31 以前のバージョンと同様の振る舞いを期待する場合には「false」を指定してください。
また、このコンフィグレーションは Nexaweb Platform 4.5.16 の 9963 の修正によって 追加された synchronize-nexaweb-server-requests が true に設定されている場合、効果がありません。 指定の詳細な内容については 4.5.32 に同梱される nexaweb-client.xml を参照ください。 nexaweb-client.xml の設定例(抜粋)
| ||||||||||||
10662 | |||||||||||||
ServerDOM同期がサーバー側のマルチスレッド処理によって正しく行われない場合がある | |||||||||||||
環境 |
| ||||||||||||
対象 | ServerDOM 同期を使用している場合 | ||||||||||||
事象 | ServerDOM 同期を使用して連続したリクエストが発生する状況で、1度目のレスポンス処理が完了する前に次のリクエスト処理が開始され、 次のリクエスト処理の中で一つ前のレスポンス処理が完了していない処理の値を参照する場合にレスポンス処理が完了していないため、 ServerDOM 同期が終了しておらず、想定外の値を ServerDOM から取得する場合がある | ||||||||||||
修正 | ServerDOM 同期処理が完了するまで次のリクエスト処理が開始されないように修正。 この修正により振る舞いが変更されるため、下位互換を確保のために以下のオプションが nexaweb-server.xml に追加されました。 /server/output-stream-wrapper
4.5.31 以前のバージョンと同様の振る舞いを期待する場合には「false」を指定してください。 nexaweb-server.xml の設定例(抜粋)
この新しい振る舞いはパフォーマンスの劣化を伴います。
また、以下の条件は必須条件ではありませんが、問題を発生させる要因として大きな要因になります。
| ||||||||||||
10663 | |||||||||||||
XPathの中で"\"を利用できない | |||||||||||||
環境 |
| ||||||||||||
対象 | 全ての文字列処理 | ||||||||||||
事象 | XPath で "\" 文字のみ、"\" 文字で終わる評価式を使用した場合、 XPath が正しく処理されない。 | ||||||||||||
修正 | 内部で文字列を扱う際のエスケープ文字の処理内容を修正。 | ||||||||||||
10672 | |||||||||||||
1 つのHTTP セッションで複数の Nexaweb セッションのサポート機能を追加 | |||||||||||||
機能 | Nexaweb ではこれまで、一つの HTTP セッションに対して Nexaweb のセッション情報は 1 対 1 で関連付いていました。 /client-app/use-http-request-header-for-session-id
4.5.31 以前のバージョンと同様の振る舞いを期待する場合には「false」を指定してください。 nexaweb-client.xml の設定例(抜粋)
| ||||||||||||
10680 | |||||||||||||
<textArea/> に対してクリップボードから繰り返し同じ文字列長のデータをペーストした場合、ペースト後のテキストカーソルの位置がおかしくなる場合がある | |||||||||||||
環境 |
| ||||||||||||
対象 | 全ての文字入力可能 UI コンポーネント | ||||||||||||
事象 | 同じな文字列長のコピーデータを繰り返し、 <textArea/> に対して貼り付けた場合、ペースト後のテキストカーソル位置がおかしくなる場合があります。 | ||||||||||||
修正 | データの貼り付け後にテキストカーソル位置が必ず貼り付けデータの末尾に移動するように修正 | ||||||||||||
10681 | |||||||||||||
IME による入力を行っている場合に、左カーソルキーを繰り返し押し、テキストカーソル位置を移動させると、テキストカーソルの表示が消える場合がある | |||||||||||||
環境 |
| ||||||||||||
対象 | 全ての文字入力可能 UI コンポーネント | ||||||||||||
事象 | IME を使用して文字列を入力した際にテキストフィールドの幅よりも IME による入力文字列が長くなった場合に自動スクロールが起こります。 | ||||||||||||
修正 | 自動スクロールが起こった場合の表示位置を計算するロジックを修正し、テキストカーソルが消えないように修正 | ||||||||||||
10682 | |||||||||||||
WebSphere 上で Nexaweb を使用しており、サーバーが相当な高負荷状態になった場合、ServerProtocolExceptionが発生する場合がある | |||||||||||||
環境 |
| ||||||||||||
対象 | WebSphrer を使用しており、サーバーが相当な高負荷状態になった場合のサーバー処理 | ||||||||||||
事象 | WebSphrer を使用しており、サーバーが相当な高負荷状態になった場合のリクエスト受付処理で ArrayIndexOutOfBoundsException が発生する場合がある | ||||||||||||
修正 | この問題は、 Nexaweb 内部で使用している SimpleDateFormat のインスタンスがスレッドセーフでなかったこと発生していました。 | ||||||||||||