Menu Close
Red Hat Training
A Red Hat training course is available for Red Hat Enterprise Linux
第5章 コンパイラーとツール
tail --follow が VXFS (Veritas Clustered file system) のファイルで正しく動作
VXFS はリモートのファイルシステムです。リモートのファイルシステムの場合、
tail
では --follow
モードの inotify
機能は使用できません。VXFS がリモートのファイルシステム一覧に追加され、inotify
ではなくポーリングモードが使用されるようになりました。これにより VXFS 上のファイルで tail --follow
を使用した場合に正しく動作するようになりました。
dd コマンドで転送の進捗状況を表示する機能
バイト単位でのファイルのコピーに使用する
dd
コマンドで転送の進捗状況を表示する status=progress
オプションを提供するようになりました。残り時間を推測し、転送によるぜんざい的な問題を検出することができるようになるため、大きなサイズのファイル転送に特に便利です。
libcurl で待機時間が改善
libcurl
ライブラリーは短い動作であってもアクティブなファイル記述子のない動作に対しては不必要に長いブロック遅延を使用していました。つまり、/etc/hosts
を使ったホスト名の解決など一部の動作の完了には故意に時間がかかるようになっていました。libcurl
内のブロックコードが修正され初期遅延が短くなり、イベントが発生するまで徐々に増えていくようになりました。libcurl
の高速動作がより迅速に終了するようになります。
libcurl ライブラリーでブロック以外の SSL ハンドシェイクを実装
libcurl
ライブラリーは以前はブロック以外の SSL ハンドシェイクは実装していませんでした。このため libcurl
マルチ API をベースとするアプリケーションのパフォーマンスにマイナスに影響していました。この問題を解決するためブロック以外の SSL ハンドシェイクが libcurl
に実装され、libcurl
マルチ API がベースのネットワークソケットからのデータの読み取りおよびソケットへのデータの書き込みを行えない場合は常にアプリケーションに対して直ちに制御を返すようになります。
IBM Power System の GDB がシンボルテーブルにアクセスする際失敗しなくなる
バイナリーのデバッグ用にシンボルテーブルを保持している重要な変数が 64 ビット IBM Power System の GDB では誤って解放されていました。このため GDB でシンボルテーブルへのアクセスが試行されるとセグメンテーション違反が発生していました。この問題を解決するため、この変数が永続的になり不正なメモリー領域を読み取ることなく GDB がデバッグセッション時に必要な情報にアクセスできるようになります。
nscd が更新され設定データを自動で再ロード
nscd (ネームサーバーキャッシングデーモン) の更新では nscd 設定ファイルに対する inotify ベースのモニタリングと stat ベースのバックアップモニタリングのシステムが追加され、nscd がその設定に対する変更を正しく検出してデータを再ロードするようになります。これにより nscd が古いデータを返すことがなくなります。
dlopen ライブラリー機能が再帰的な呼び出しでクラッシュしなくなる
ライブラリー機能
dlopen
の不具合によりこの機能に対する再帰的な呼び出しがライブラリーのアサーションでクラッシュまたは停止していました。ユーザー入力による malloc
実装で dlopen
を呼び出すと再帰的な呼び出しが可能になります。
この実装はリエントラントになり、再帰的な呼び出しがアサーションでクラッシュまたは停止しなくなります。
operf ツールで静的な huge ページの識別子を認識
JIT (Java just-in-time) でコンパイルしたコードのパフォーマンスを静的な huge ページを有効にした状態でプロファイリングすると OProfile の operf コマンドで大量のイベントサンプルが適切な Java メソッドではなく anonymous メモリー (anon_hugepage) に記録されていました。本更新では operf が静的な huge ページの識別子を認識するようになり、静的に割り当てた huge ページを使用する場合にサンプルを Java メソッドに正しくマッピングするようになります。
rsync -X
コマンドが正しく動作
これまでは
rsync
ツールはファイルの所有権の変更をセキュリティー属性の設定前ではなく設定後に行っていました。このためターゲット上のセキュリティー属性がなくなり、rsync -X
コマンドの実行が特定の状況下では正しく動作しませんでした。今回の更新では動作の順序が変更され、rsync
は所有権の変更をセキュリティー属性の設定前に行うようになりました。このため、セキュリティー属性が問題となっていた状況で期待通りに存在するようになります。
Subversion の実行可能ファイルを完全な RELRO データで構築
subversion パッケージで供給される実行可能ファイルが完全な読み取り専用再配置データ (RELRO) で構築されるようになります。メモリー破損攻撃の特定タイプに対して保護の役割を果たします。結果、今後、脆弱性が発見された場合に Subversion の悪用がより困難になります。
TCL でのスレッド拡張が正しく動作
これまでは、TCL (ツールコマンド言語) でのスレッド化サポートは最適な実装ではありませんでした。fork() 呼び出しを TCL 変換機能でスレッド拡張を有効にして使用するとプロセスが応答しなくなることがありました。このため TCL 変換機能および TK アプリケーションはスレッド化拡張を無効にした状態で配信されていました。このためスレッド化 TCL や TK に依存するサードパーティーのアプリケーションが正しく動作しませんでした。このバグを修正するためのパッチが実装され、TCL および TK はデフォルトでスレッド拡張が有効になっています。
AES 暗号化スイートを TLS 向けに明示的に有効、無効にできる
更新された curl パッケージでは、TLS プロトコルに使用する新たな Advanced Encryption Standard (AES) 暗号化スイートを明示的に有効または無効にできます。
OpenJDK 7 が ECC に対応
OpenJDK 7 が Elliptic Curve Cryptography (ECC) と TLS 接続に関連する暗号に対応しています。安全なネットワーク接続を作成するには、多くの場合、旧式の暗号化ソリューションではなく ECC の使用が望まれます。
ABRT は coredump 全体ではなく、core_backtrace ファイルの保存が可能
ABRT は、coredump ファイルをディスクに書き出すことなく backtrace を生成するように設定することが可能になりました。これは、大量のメモリーブロックを割り当てるプロセスで作業する際に、時間の節約につながります。この機能は、
/etc/abrt/plugins/CCpp.conf
ファイルで CreateCoreBacktrace
オプションを yes
に設定し、SaveFullCore
オプションを no
に設定することで有効にできます。
Python 標準ライブラリーにセキュリティー機能を追加
466 Python Enhancent Proposal (http://legacy.python.org/dev/peps/pep-0466/) に記載の多くのセキュリティー強化機能が Python 標準ライブラリーにバックポートされました。セキュリティー強化には、Server Name Indication (SNI) や新たな TLSv1.x プロトコルのサポートといった
ssl
モジュールの新機能や、hashlib module
の新ハッシュアルゴリズムなどがあります。
Python 標準ライブラリーでの SSL/TLS 証明書確認に新たなグローバル設定
新オプションが追加され、Python 標準ライブラリーの HTTP クライアント (urllib、httplib、xmlrpclib など) で SSL/TLS 証明書の確認をユーザーがグローバルに有効または無効とすることができます。オプションは、493 Python Enhancement Proposal (https://www.python.org/dev/peps/pep-0493/) に記載されています。デフォルト値では、証明書を確認しません。詳細は、https://access.redhat.com/articles/2039753 を参照してください。