Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

第25章 コンパイラーおよびツール

PCRE ライブラリーが、Unicode で必要な非 ASCII 印刷可能文字を正しく認識するようになりました。

Perl Compatible Regular Expressions (PCRE) ライブラリーを使用して、Unicode 文字列と、ASCII 以外の印刷可能な文字を一致させると、ライブラリーが、以前は印刷可能な ASCII 以外の文字を正しく認識できませんでした。パッチが適用され、PCRE ライブラリーが、UTF-8 モードで出力可能な非 ASCII 文字を認識するようになりました。(BZ#1400267)

Bundler を使用して依存関係を管理するアプリケーションが、JSON ライブラリーを適切にロードできるようになりました。

以前は、Bundler を使用して Ruby アプリケーションの依存関係を管理すると、JSON ライブラリーを読み込むことができないことがありました。その結果、アプリケーションは LoadError で失敗しました。これにより、Ruby on RailsJSON ライブラリーの依存関係を明示的に指定しなくなったため、問題が発生していました。今回の更新により、ロードパスで JSON が常に利用可能になり、上記の問題は発生しなくなりました。(BZ#1308992)

Git を HTTP または HTTPS および SSO で使用できるようになりました。

libcurl バージョン 7.21.7 以降、CVE-2011-2192 のために Kerberos チケットを委譲するための新しいパラメーターが必要です。以前のバージョンでは、Git はそのようなパラメーターを設定する方法を提供していませんでした。そのため、HTTP または HTTPS 接続のシングルサインオンでの Git の使用に失敗していました。今回の更新により、Git は cURL --delegation パラメーターに対応する新しい http.delegation 設定変数を提供します。Kerberos チケットの委任が必要な場合、ユーザーはこのパラメーターを設定する必要があります。(BZ#1369173)

rescan-scsi-bus.sh --luns= 1 は、1 で番号が付けられた LUN のみをスキャンするようになりました。

sg3-utils には、SCSI コマンドをデバイスに送信するユーティリティーが同梱されています。バージョン 1.28-5 およびそれ以前のすべてのバージョンの sg3_utils では、rescan-scsi-bus.sh --luns= 1 コマンドは、1 で番号が付けられた論理ユニット番号(LUN)のみを再スキャンしました。バージョン 1.28-6 に更新した後、rescan-scsi-bus.sh --luns=1 はすべての LUN を誤って再スキャンしました。今回の更新で、基礎となるソースコードが修正され、rescan-scsi-bus.sh --luns= 1 は 1 で番号が付けられた LUN のみをスキャンするようになりました。(BZ#1380744)

ps が待機チャンネル名から接頭辞を削除しなくなりました。

ps ユーティリティーは、以前は待機チャネル(WCHAN)データから sys_ および do_ 接頭辞を削除していました。これにより、ユーザーは、ps の出力にこれらの接頭辞を意図的に含む名前の関数を区別できませんでした。接頭辞を削除するコードが削除され、ps に完全な待機チャネル名が表示されるようになりました。(BZ#1373246)

.history ファイルがネットワークファイルシステムにある場合、tcsh が応答しなくなる

以前は、.history ファイルが NFS や Samba などのネットワークファイルシステムにある場合、ログインプロセス中に tcsh コマンド言語インタープリターが応答しなくなることがありました。.history がネットワークファイルシステムにある場合、.history ファイルロックを回避するためにパッチが適用され、上記の状況では tcsh が応答しなくなることはなくなりました。
tcsh の複数のインスタンスを実行すると、.history が破損する可能性があることに注意してください。この問題を解決するには、savehist オプションに lock パラメーターを追加して、明示的なファイルロックメカニズムを有効にします。以下に例を示します。
$ cat /etc/csh.cshrc
# csh configuration for all shell invocations.
set savehist = (1024 merge lock)
.history がネットワークファイルシステムにある場合に tcsh がファイルロックを使用するように強制するには、lock オプションは savehist オプションの 3 番目のパラメーターである必要があります。Red Hat は、lock パラメーターを使用すると、ログインプロセス中に tcsh が応答しなくなることを保証しません。(BZ#1388426)

fcoeadm --target が原因で fcoeadm がクラッシュしなくなる

以前は、fcoeadm --target コマンドを実行すると、fcoeadm ユーティリティーがセグメンテーション違反で予期せず終了することがありました。今回の更新で、fcoeadm が FCoE 以外のターゲットの sysfs パスを無視するように変更され、fcoeadm --target により fcoeadm がクラッシュしなくなりました。(BZ#1384707)

tar オプション --directory は無視されなくなりました

以前は、--remove-files オプションと組み合わせて使用すると、tar コマンドの --directory オプションが無視されていました。その結果、--directory オプションで指定したディレクトリー内のファイルではなく、現在の作業ディレクトリーのファイルが削除されました。このバグを修正するために、--directory オプションを取得、保存、および操作する新しい関数と属性が追加されました。その結果、--directory オプションで指定したディレクトリーからファイルが正しく削除されるようになりました。(BZ#1319820)

tar オプション --xattrs-exclude および --xattrs-include が無視されなくなる

以前は、tar コマンドは --xattrs-exclude オプションおよび --xattrs-include オプションを無視していました。このバグを修正するために、拡張属性をフェッチするときに包含マスクと除外マスクを適用するように tar が変更されました。その結果、--xattrs-exclude オプションおよび --xattrs-include オプションは無視されなくなりました。(BZ#1341786)

tar が増分バックアップを正しく復元するようになりました。

以前は、tar コマンドは増分バックアップを正しく復元しませんでした。そのため、増分バックアップで削除されたファイルは、復元時に削除されませんでした。バグが修正され、tar が増分バックアップを正しく復元するようになりました。(BZ#1184697)

perl-homedir プロファイルスクリプトが cshをサポート

以前は、perl-homedir プロファイルスクリプトは C シェル (csh)構文を処理できませんでした。そのため、perl-homedir パッケージがインストールされ、/etc/sysconfig/perl-homedir ファイルに PERL_HOMEDIR=0 行が含まれていた場合、プロファイルスクリプトを実行すると、以下のエラーが発生します。
PERL_HOMEDIR=0: Command not found.
今回の更新で、csh 構文のサポートが追加され、上記の問題は発生しなくなりました。(BZ#1122993)

getaddrinfo が初期化されていないデータにアクセスしなくなる

nscd デーモンが有効になっているシステムでは、glibc ライブラリーの getaddrinfo () 関数が初期化されていないデータにアクセスする可能性があるため、誤ったアドレス情報を返す可能性がありました。この更新により、初期化されていないデータアクセスが阻止され、正しいアドレスが返されるようになります。(BZ#1324568)

glibcmalloc 実装で実行される追加のセキュリティーチェック

以前は、glibc ライブラリーがアサーションなしでコンパイルされているため、malloc を実装する関数はヒープの整合性をチェックしませんでした。これにより、ヒープベースのバッファーオーバーフローが悪用されるリスクが高まりました。ヒープの整合性チェックは、アサーションから明示的なチェックに変換されました。その結果、glibc での malloc 実装への呼び出しのセキュリティーが強化されました。(BZ#1326739)

chrpath がバージョン 0.16 にリベース

chrpath パッケージがアップストリームバージョン 0.16 にアップグレードされ、以前のバージョンに比べて多くのバグ修正が提供されています。注目すべきは、chrpath ツールは、64 ビットシステムで 64 ビットバイナリーの実行パスプロパティーと、32 ビットシステムの 32 ビットバイナリーのみを変更できることです。このバグが修正され、64 ビットシステムの chrpath が、64 ビットシステムの 32 ビットシステムのバイナリーと、32 ビットシステムのバイナリーの実行パスを変更できるようになりました。(BZ#1271380)

system-config-language パッケージの翻訳の更新

system-config-language の欠落している翻訳を解決するために、de、es、fr、it、ja、ko、pt_BR、ru、zh_CN、zh_TW の 10 言語が追加されました。(BZ#1304223)

ホスト名がドメイン部分がない場合に、Puci が不完全な From ヘッダーを持つ電子メールを送信しなくなりました。

以前は、ホスト名にドメイン名が含まれていない場合、Mutt 電子メールクライアントは、ホスト名がない From ヘッダーを含む電子メールを送信していました。結果として、そのような電子メールに返信することは不可能でした。このバグは修正され、Mutt はドメイン部分を含まないホスト名を正しく処理するようになりました。(BZ#1388512)

strace は、open () 関数の O_TMPFILE フラグおよびモードを正しく表示します。

以前は、strace ユーティリティーは、システム関数 open ()O_TMPFILE フラグの存在と、モードオプションの存在の要件を認識しませんでした。そのため、strace 出力にはそれぞれのフラグの名前が表示されず、mode オプションの値がありませんでした。strace ユーティリティーは、この状況を認識するように拡張されました。その結果、O_TMPFILE フラグおよびモードが正しく表示されます。(BZ#1377847)

大規模なプログラムをリンクする際に ld が無限ループにならなくなる

IBM Power Systems アーキテクチャーの大規模なプログラムでは、.text セグメントは 2 つのスタブセクションで提供されます。以前は、セクションのいずれかを拡張する必要があるため、このようなセグメントのサイズを設定する際に、ld リンカーのサイジング終了条件が満たされませんでした。そのため、ld は無限ループに入り、終了する必要がありました。ld は、この状況を認識し、サイジングの終了条件を変更するように拡張されました。その結果、ld が正常に終了します。(BZ#1406498)

非表示シンボルへのクロスオブジェクト参照に関する ゴールド 警告メッセージの修正

共有ライブラリーをリンクすると、gold リンカーにより、1 つのライブラリーのコードが 2 番目のライブラリーまたはオブジェクトファイルで非表示のシンボルを参照する場合に警告メッセージが生成されます。以前は、別のライブラリーまたはオブジェクトファイルが同じシンボルの視認可能な定義を提供していても、gold はこの警告メッセージを生成していました。このバグを修正するために、gold はこの特定のケースの確認で拡張され、シンボルの表示される定義がない場合にのみ警告メッセージを生成します。その結果、gold は間違った警告メッセージを表示しなくなりました。(BZ#1326710)

Denverton SOC 搭載の Intel Xeon® C3xxx プロセッサーでの OProfile デフォルトイベントの修正

以前は、Denverton SOC 搭載の Intel Xeon® C3xxx プロセッサーの OProfile のデフォルトサイクルカウントイベントで誤った値が使用されていました。そのため、デフォルトイベントを使用した OProfile のサンプリングおよびカウントは機能しませんでした。関連する OProfile 設定が修正されました。その結果、デフォルトイベントは、Denverton SOC 搭載の Intel Xeon® C3xxx プロセッサーで機能するようになりました。(BZ#1380809)