ColdFusion(2021 リリース)アップデート 2
新機能および変更された機能
ColdFusion(2021 リリース)アップデート 2(リリース日:2021 年 9 月 14 日)は、セキュリティ情報 APSB21-75 に記載されている脆弱性に対処しているほか、主に以下を含んでいます。
- ライセンスとアクティベーションの変更
- AWS Lambda パッケージ
- CFSetup の更新
- macOS Big Sur(v11.0)と Tomcat 9.0.50 のサポート
注意:ColdFusion 2021 インストーラーも、このアップデートで更新されました。新しいサーバーインストーラーには、アップデート 2 と JDK 11.0.11 がバンドルされています。ColdFusion アドオンなどのインストーラーは JDK 11.0.11 にバンドルされています。更新されたインストーラーは、ColdFusion ダウンロードで入手できます。
ライセンスとアクティベーションの変更
使用状況データ
使用状況データを Adobe ColdFusion ライセンスサーバーに送信します。詳しくは、ColdFusion のライセンスとアクティベーションを参照してください。
インスタンスを自動的に再起動
アクティベーション後、アクティベーション解除後または使用状況データ設定の変更後にインスタンスを自動的に再起動させる場合に、このオプションを有効にします。
ColdFusion AWS Lambda パッケージ
ColdFusion の AWS Lambda パッケージを使用して、ColdFusion サーバーからクラウドベースの AWS Lambda 関数を呼び出せるようになりました。詳しくは、ColdFusion AWS Lambda の概要を参照してください。
詳しくは、ColdFusion AWS Lambda の概要を参照してください。
GUI ベースのインストーラーの変更
ColdFusion(2021 インストーラー)には、weinre が含まれなくなりました。この変更は、サポートされているすべてのプラットフォームに適用されます。ローカル Node サーバーとリモート Weinre サーバーをセットアップするには、回避策として次の手順に従います。
- nodejs と weinre をインストールします。
- weinre の zip ファイルをダウンロードして、名前を「node」に変更します。そのファイルを ColdFusion2021/cfusion にコピーします。
- プラットフォーム固有の手順:
- Windows 以外:node 内に「weinre」という名前のフォルダーを作成し、「node」フォルダーのすべての内容を weinre 内に格納します。
- Windows:node 内に「node-module」という名前のフォルダーを作成し、「node-module」内に weinre フォルダーを作成して、「node」フォルダーのすべての内容を weinre 内にコピーします。
CFSetup の更新
アップデート 2 の CFSetup には、次の変更が含まれています。
- ユーザーの追加と管理を行えます。また、ユーザーに役割とサンドボックスへのアクセスを許可することもできます。
- サンドボックスの追加または削除、セキュリティの設定、IP アドレスのブロック、実行時権限の付与、操作のブロックを行えます。
詳しくは、CFSetup 設定ツールを参照してください。
このリリースで修正されたバグ
バグ ID |
説明 |
要素 |
CF-4211556 |
タスクを次々に実行すると、スケジュールされたタスクの「完了時」オプションが ColdFusion Administrator に表示されなくなる。 |
Administrator |
CF-4211179 |
「最大プールサイズ」オプションのデフォルト値が無効なので、サーバー設定を保存できない。 |
Administrator |
CF-4205963 |
Redis セッションがポート 6380 で SSL/TLS 接続をサポートする必要がある。 |
Administrator:Administrator コンソール |
CF-4209616 |
SOLR インターフェイスに NL ロケールに関する問題がある。 |
Administrator:ローカライゼーション |
CF-4207973 |
cacheGetAllIds() 関数の結果をダンプすると、例外が表示される。 |
キャッシュ |
CF-4211954 |
AWS SNS の一部のコードサンプルが正常に機能しない。 |
クラウドサービス |
CF-4211482 |
Docker の最新の PDF アドオンをインストールできない。 |
コンテナ:Docker |
CF-4211421 |
neo-datasource.xml ファイルに以下の情報が含まれている場合、アップデート 11、17 または 1 を適用すると、ColdFusion データソースサービスを利用できなくなる。 |
データベース:一般 |
CF-4210974 |
ColdFusion のインストール後に、ODBC サーバーと ODBC Agent サービスが正常に起動しない。 |
データベース:ODBC |
CF-4211538 |
ORDER BY 句の一時列が、SELECT ステートメントで指定されていない場合でも、QoQ 結果セットにランダムに返される。 |
データベース:クエリオブクエリ(IMQ) |
CF-4211472 |
ローカルにスコープ設定されたテーブル名をクエリオブクエリで使用すると、内部エラーが発生する。 |
データベース:クエリオブクエリ(IMQ) |
CF-4202730 |
クエリで名前を順序付きで取得した場合、名前の順序が指定どおりにならない。 |
データベース:クエリオブクエリ(IMQ) |
CF-4211229 |
cfspreadsheet を使用してファイルを読み取ると、ColdFusion によってファイルがロックされる。 |
ドキュメント管理:スプレッドシート |
CF-4206450 |
インストーラーのドキュメントの URL が間違ってリダイレクトされる。 |
ドキュメント |
CF-4210968 |
ColdFusion 2021 のドキュメントで、パッケージを必要とする機能について説明している箇所を、場合によっては書き換える必要がある。 |
ドキュメント:全般 |
CF-4208032 |
ファイルを AWS S3 にコピーする際に、コピー操作が失敗する。 |
ファイル管理:VFS-S3 |
CF-4211415 |
cfstatport のポートが既に使用されている場合、新しいポートが ColdFusion インストーラーで選択されない。 |
インストール/設定 |
CF-4210910 |
Docker で、ColdFusion 2018 と ColdFusion 2021 のインストールパスが異なる。 |
インストール/設定 |
CF-4210996 |
wsconfig が原因でエラーが発生し、コネクタが正常に作成されない場合がある。 |
インストール/設定:コネクタ |
CF-4210937 |
ColdFusion 2021(日本語インストーラー)を使用し、ALL を指定してコネクタを作成すると、ColdFusion ページでエラー 404 が発生する。 |
インストール/設定:コネクタ |
CF-4210922 |
ODBC をインストールするオプションがオフの場合でも、ColdFusion をインストールすると ODBC もインストールされる。 |
インストール/設定:インストーラー |
CF-4211830 |
複雑な変数バインディングの場合、final キーワードが無視される。 |
言語 |
CF-4211478 |
コンポーネント Mixin のアロー関数の初期化子で、「final 変数の変更」例外が誤って発生する。 |
言語 |
CF-4212023 |
ColdFusion ページに cfapplication タグがない場合、デフォルトでは、カンマを含んだ formfields が配列に変換される。 |
言語 |
CF-4209676 |
中括弧で囲まれていないアロー関数リテラルを引数として渡すと、関数パラメーターが正しく解析されない。 |
言語:cfscript |
CF-4211579 |
cfcatch オブジェクトをダンプすると、ダンプに加えて、「getMetaData メソッドが見つかりませんでした」という例外が発生する。 |
言語 |
CF-4211442 |
複合オブジェクト型を単純値に変換できない。 |
言語 |
CF-4211070 |
cfjava/java{} 統合が javaSettings ローダーで正常に機能しない。 |
言語 |
CF-4211248 |
jsoup 要素属性で asList() または iterator() を使用している場合、ColdFusion(2021 リリース)が正常に機能しない。 |
言語 |
CF-4211626 |
java.util.Stack にプッシュしようとすると、エラーが発生する。 |
言語:Java 統合 |
CF-4211423 |
「cfsetting enablecfoutputonly="Yes"」により、新しい cfjava/java{} 統合でコンパイルエラーが発生する。 |
言語:Java 統合 |
CF-4205189 |
toString() メンバー関数が誤って代わりにメモリ位置を返す。 |
言語:文字列関数 |
CF-4210631 |
ORM で Object[] 型が正常にサポートされない。 |
ORMサポート |
CF-4211228 |
同時実行性の高い状況では、アプリケーションメタデータがスレッドセーフではない(ConcurrentModificationException)。 |
パフォーマンス |
CF-4211113 |
ページリクエストのたびに PathFilter.invoke() の一環として getRealPath() が呼び出される結果、ファイルシステムへの操作が発生する。 |
パフォーマンス |
CF-4211876 |
ColdFusion(2018 リリース)アップデート 10 からアップデート 11 をインストールすると、引数の型が一致しなくなる。 |
REST |
このリリースの既知の問題
- ColdFusion Administrator からインスタンスを起動/停止できません。回避策として、<cfroot>/cfusion/bin の jvm.config ファイルで、java コマンドの -Xdebug 引数を設定しないようにしてください。
- macOS Big Sur で、コネクタを設定した後で Apache を起動すると、「No code signing authority for module at /private/etc/apache2/mod_jk.so specified in LoadModule directive.Proceeding with loading process, but this will be an error condition in a future version of macOS.(LoadModule ディレクティブで指定されたモジュールのコード署名機関が /private/etc/apache2/mod_jk.so にありません。読み込み処理を続行しますが、macOS の今後のバージョンではエラー状態となります。)」」という警告メッセージが表示されます。
- インターネットにアクセスできない場合は、REPL モードの使用時に、ライセンスへの接続に関連するいくつかのログが表示されることがあります。
- テキストをレンダリングする CFM アプリケーションで、libfontmanager に関するエラーが発生します。Solaris 11 の Oracle JDK-11.0.10 以降では、テキストシェイピングライブラリパッケージ Harfbuzz が OS に用意されている必要があります。リリースノート | パッケージをダウンロード
- マルチキャストポートが現在の環境でビジー状態の場合は、クラスターの構成要素となっているインスタンスを再起動した後でログにエラーが記録されます。この問題を解決するには、ColdFusion Administrator のクラスタマネージャページでマルチキャストポートを変更します。
- Administrator で ColdFusion 2021 のアップデート 2 からこのアップデートを適用する際に、現時点では、インスタンスを選択することはできません。すべてのインスタンスが更新されます。
- Oracle JRE 上で稼働する AWS MySQL の場合、MySQL データベースへの接続が失敗します。接続を確認した後、エラーメッセージが表示されます。この問題が発生するのは、MySQL の JDBC ドライバーが SSL over TLS で接続できないからです。MySQL 5.7.35 の時点では、TLSv1 および TLSv1.1 接続プロトコルは非推奨になっています。回避策として、JDBC URL にパラメーター enabledTLSProtocols を追加します。
- ColdFusion インストーラーの Oracle Java では、TLS 1.0 および 1.1 が無効になっています。TLS 1.0 および 1.1 は非推奨となり、TLS 1.2 および 1.3 に置き換わりました。デフォルトでは、古いバージョンの TLS は Java では無効になっています。これらのバージョンは、初期設定では無効になっています。
- 同じフォームフィールドが Application.cfc で使用される場合、それらのフィールドは配列として扱われます。this.sameformfieldsasarray フラグを設定しても設定しなくても、これらのフィールドは Application.cfc の UDF またはイベントハンドラーには含まれません。
- cfstatport のポートが既に使用されている場合、新しいポートが ColdFusion インストーラーで選択されません。回避策として、<cfroot>/lib/neo-metric.xml の cfstatport 値を 7991 に更新し、サーバーを再起動します。
- Windows 以外のプラットフォームで、WebSocket プロキシを使用してメッセージを送信する際にメッセージにセミコロンが含まれている場合は、メッセージを表示する前にブラウザーを更新する必要があります。
- ColdFusion を macOS にインストールする場合は、問題が発生する可能性があります。回避策として、インストーラーを起動する前に、dmg ファイルに対して xattr -r を実行します。
- 結果セットを ColdFusion スコープ(ローカル変数や引数など)に保存した後、その結果セットに対してクエリオブクエリを実行しようとすると、ColdFusion 2021 がエラーを生成します。
前提条件
- 64 ビットコンピューターでは、64 ビット版 ColdFusion の 64 ビット JRE を使用します。
- ColdFusion サーバーがプロキシの背後にある場合は、サーバーが更新通知を受け取ってアップデートをダウンロードできるようにプロキシ設定を指定してください。スタンドアロンインストールの場合は jvm.config の下のシステムプロパティ、JEE インストールの場合は対応するスクリプトファイルを使用してプロキシ設定を指定します。
- http.proxyHost
- http.proxyPort
- http.proxyUser
- http.proxyPassword
- JEE アプリケーションサーバー上で実行している ColdFusion の場合、アップデートをインストールする前に、すべてのアプリケーションサーバーインスタンスを停止します。
インストール
ColdFusion Administrator
パッケージマネージャー/パッケージで、コアサーバーの「アップデートを確認」をクリックします。
アップデートが検出されたら、「更新」をクリックします。コアパッケージが前回のアップデートから更新されます。
インストールされているすべてのパッケージも更新されます。
ColdFusion を再起動して変更を有効にします。
オフラインモードでのアップデートの手動インストール
- このリンクから、ホットフィックスインストーラーおよびリポジトリーをダウンロードします。
- すべての ColdFusion サーバーインスタンスからアクセスできる場所に解凍します。
- cfusion およびそのすべての子インスタンスの cfusion/lib/neo_updates.xml で「packagesurl」を更新して、ダウンロードしたフォルダー内にある <InstallerReposityUnzippedPath>/bundles/bundlesdependency.json を指すようにします。
コアサーバーのホットフィックスのインストールに成功しても、パッケージにエラーや問題がある場合は、パッケージマネージャークライアント(cfusion\bin\cfpm.bat/cfpm.sh)でパッケージをインストールまたは更新することができます。
ColdFusion サービスを開始または停止する特権と ColdFusion ルートディレクトリへのフルアクセス権が必要です。
- Windows:<cf_root>\jre\bin\java.exe -jar <InstallerReposityUnzippedPath>\bundles\updateinstallers\hotfix-002-328618.jar
- Linux ベースのプラットフォーム:<cf_root>/jre/bin/java -jar <InstallerReposityUnzippedPath>/bundles/updateinstallers/hotfix-002-328618.jar
ダウンロードした JAR の実行には、ColdFusion にバンドルされている JRE を必ず使用してください。スタンドアローン ColdFusion の場合、これは <cf_root>/jre/bin にあります。
ColdFusion サービスおよび他の設定済み web サーバーを再起動する権限を持つユーザーアカウントからアップデートをインストールします。
アプリケーションを手動で更新する方法について詳しくは、このヘルプ記事を参照してください。
コアパッケージを更新すると、ダウンロードされたすべてのパッケージが更新されます。また、任意のパッケージを更新すると、コアパッケージと残りのパッケージも更新されます。ColdFusion(2021 リリース)がアップデート 1 の状態にある場合、任意のインスタンスの Administrator を使用してアップデート 2 をインストールすると、存在する他のすべてのインスタンスのコアも更新されます。
同様に、同じインスタンスから更新プログラムをアンインストールすると、一緒に更新されたインスタンスからもアップデートがアンインストールされます。
cf_scripts フォルダーのマッピングを作成してある場合、ajax パッケージをダウンロードするには、ダウンロードした zip ファイルの内容を CF_SCRIPTS/scrips/ajax フォルダーにコピーする必要があります。
アップデートの適用後、既存の web サーバーコネクタをアップグレードする必要があります。
インストール後
このアップデートの適用後、ColdFusion のビルド番号は 2021,0,02,328618
になるはずです。
アンインストール
アップデートをアンインストールするには、以下のいずれかの操作を行います。
- ColdFusion Administrator で、「サーバーアップデート/アップデート/インストール済みアップデート」に移動して「アンインストール」をクリックします。
- コマンドプロンプトからアップデートのアンインストーラーを実行します。例:java -jar {cf_install_home}/{instance_home}/hf_updates/hf-2021-00002-328618/uninstall/uninstaller.jar
上記のアンインストールオプションを使用してもアップデートをアンインストールできない場合、アンインストーラーが破損している可能性があります。ただし、次の操作を実行すれば、手動でアップデートをアンインストールできます。
- {cf_install_home}/{instance_name}/lib/updates からアップデート jar を削除します。
- {cf_install_home}/{instance_name}/hf-updates/{hf-2021-00002-328618}/backup ディレクトリから {cf_install_home}/{instance_name}/ にすべてのフォルダーをコピーします。