## [HCP tools 変更点] ###################################################### #10420: トランスポート多重接続対応 ---------------------------------------------------------------------------- ■概要 アプリケーションのセッション毎に複数の接続を使用する(束ねる)機能に対応しました。 ファイル転送機能およびターミナル機能を使用する場合に動作します。 ファイル一覧などの機能は常に単一接続で動作します。 使用できる接続数の上限は、サーバのサービス設定毎に設定されます。 上限をサービス設定に指定しない場合は、サーバのCPU数などに応じて自動的に決定されます。 関連設定項目: TCPListenAddress, HPFPListenAddress, UDPListenAddress, WSSListenAddress, WSListenAddress この上限の設定は、ライセンスキーで定めれられた多重接続数の上限値に制限されます。 クライアントの--mcdオプションを使用すると特定の接続数を使用するように指示することができます。 ※サーバのサービスに設定されている多重接続数を超える分は無視されます(追加で接続は行われません)。 次のサーバ設定項目を使用することで、異なるトランスポートを含めサービスを 束ねる(Bonding)ことができます。 ListenServiceBonding ---------------------------------------------------------------------------- #10279: WebSocket対応 ---------------------------------------------------------------------------- ■概要 WebSocket通信方式に対応しました。 サーバの設定ファイル(hcpd.conf)の次の設定項目でサービスの設定を行います。 WSSListenAddress // SSL/TLS, デフォルト443番ポート WSListenAddress // 平文通信, デフォルト80番ポート WSSListenAddressでは、SSL/TLSの通信オプションを次の設定項目に記述して紐づけて利用します。 WSSOptions // OpenSSL SSL/TLS オプション WSSCipherSuites // 暗号スイート指定 (TLSv1.3) WSSCipherList // 暗号スイート指定 (TLSv1.2以前) ServerKeyFile // サーバ秘密鍵(hcpdと共用しない場合は名前付きの設定項目を追加で定義する) ServerCertificateFile // サーバ証明書(hcpdと共用しない場合は名前付きの設定項目を追加で定義する) クライアントでは、SSL/TLSの通信オプションについては同じ設定項目を使用します。 また、サーバ証明書の検査を制御する場合は、次の設定項目を変更します。 WSSIgnoreCertificateCNInvalid // ホスト名チェック無効化 WSSIgnoreCertificateDateInvalid // 証明書期限チェック無効化 WSSIgnoreUnknownCA // 証明書連鎖チェック無効化 ---------------------------------------------------------------------------- #10858: POSIXユーザ、グループアクセス制限機能 ---------------------------------------------------------------------------- ■概要 POSIXユーザおよびグループによるアクセス制限機能を追加しました。 ユーザ名やグループ名のパターンマッチングにより一致したユーザのアクセスを許可、 または拒否する動作を設定できます。 追加された設定項目(hcpd.conf): AllowUsers AllowGroups DenyUsers DenyGroups 詳細は「HCP tools コマンドリファレンス 2.1.29 AllowUsers 」などを参照。 ---------------------------------------------------------------------------- #10620: 未定義のユーザの場合はデフォルトの認証方式を適用する方式を追加 ---------------------------------------------------------------------------- ■概要 次のユーザ定義ファイルにユーザが存在しない場合に、各プラットフォームのデフォルトの 認証方式を適用する動作モードを追加しました。 /etc/hcp/users 設定項目: hcpd.conf LocalUserFile の usage パラメータ usageのデフォルト overwrite usageがoverwriteの場合は、/etc/hcp/usersはユーザ情報を追加するために使用され、 該当するユーザ情報がない場合はシステムのユーザとみなして認証を行います。 usageをdefineとした場合は、/etc/hcp/usersをユーザの定義情報とみなして、 従来の動作(同ファイルにユーザ定義がない場合は認証を拒否)を行います。 また、ユーザエントリの先頭に"!"を記述した場合は、そのユーザの認証を拒否する動作を追加しました。 この動作により認証が拒否された場合は、デフォルトの認証によるユーザ認証は行われません。 ---------------------------------------------------------------------------- #10520: hcpd RHEL系パッケージでインストール時にデーモンを起動するように変更 ---------------------------------------------------------------------------- ■概要 RPMパッケージでhcpdをインストールした際に、インストール直後にサーバを起動するように変更しました。 (過去のバージョンではサービスとしての登録のみ) ---------------------------------------------------------------------------- #10562: hcpd ライセンスキーを読込む際に末尾の改行及び空白を無視するように改良 ---------------------------------------------------------------------------- ■概要 サーバでライセンスキーを読み込む際に末尾の改行および空白を無視(トリミング)する様に変更しました。 (エディタで編集してコピー&ペーストした際に改行が入ってしまうようなケースへの対処) ---------------------------------------------------------------------------- #10837: hcpd IPv6対応 ---------------------------------------------------------------------------- ■概要 サービスの設定でIPv6を構成してIPv6接続ができるように対応しました。 hcpd.conf: TCPListenAddress UDPListenAddress これらの設定項目の待機アドレスにIPv6形式のアドレスを指定可能になりました。 ---------------------------------------------------------------------------- #10908: CryptoPP 8.6.0 アップデート ---------------------------------------------------------------------------- ■概要 暗号ライブラリ(CryptoPP)を8.6.0にアップデートしました。 ---------------------------------------------------------------------------- #10916: hchmod機能 ---------------------------------------------------------------------------- ■概要 サーバ上のファイルのパーミッションを変更する機能を追加しました。 ---------------------------------------------------------------------------- #10917: hchown機能 ---------------------------------------------------------------------------- ■概要 サーバ上のファイルの所有権を変更する機能を追加しました。 ---------------------------------------------------------------------------- #10915: hsync機能 ---------------------------------------------------------------------------- ■概要 rsyncに相当するコマンド(hsync)を追加しました。 ※本機能は、実験的(Experimental)ステータスで提供されています。 ---------------------------------------------------------------------------- #10929: Umask設定機能追加 ---------------------------------------------------------------------------- ■概要 hcpdコマンドで特権分離を有効にした場合に、権限を分離して実行される子プロセスに適用するumaskの値を設定する機能を追加した。 関連設定項目: hcpd.conf PrivilegeSeparationUmask PrivilegeSeparationUmaskAnonymous /etc/hcp/users umask拡張フィールド ※詳細は「HCP tools リファレンスマニュアル」をご覧ください。 ---------------------------------------------------------------------------- #10954: クライアント 設定ファイルが検出されなくてもデフォルト値で動作するように変更 ---------------------------------------------------------------------------- ■概要 クライアントのコマンドにおいて、設定ファイル(/etc/hcp配下に設定されるシステムレベルの設定ファイルを含む)が 検出されなくてもデフォルトちで動作するように変更しました。 ---------------------------------------------------------------------------- #10529: デフォルト設定の変更 ---------------------------------------------------------------------------- ■概要 次の設定項目のデフォルト値を変更しました。 クライアント全設定ファイル: IgnoreCertificateCNInvalid yes => no MaxReceiveFileSize 100GB => 制限なし (8EB -1) MaxSendFileSize 100GB => 制限なし (8EB -1) ApplicationStatLog no => yes hcp.conf UseProperCopyAndSync no => yes FileLock yes => no hcpd.conf yes => no MaxReceiveFileSize 100GB => 制限なし (8EB -1) MaxSendFileSize 100GB => 制限なし (8EB -1) ApplicationStatLog no => yes PubkeyAuthentication no => yes // Linux PrivilegeSeparationMinimumUID PrivilegeSeparationMinimumGID 1 => 0 FileLock yes => no ---------------------------------------------------------------------------- #10945: 設定項目名の変更 ---------------------------------------------------------------------------- ■概要 設定項目の名称を下記の様に変更しました。 FileLockRetries => FileLockTrials FileLockRetryInterval => FileLockTrialInterval ※旧名は引き続き使用できます。 ---------------------------------------------------------------------------- #10968: コマンドオプション 仕様変更 ---------------------------------------------------------------------------- ■概要 次のオプションはクライアントでショートオプションが廃止されました。 --udp, --user, --password, --configfile, --logfile, --statlogfile, --remotehost, --remoteport, --configtest また、--udpオプションは廃止予定(deprecated)となりました。 各コマンドのオプション名が下記の様に変更されました。 (旧名は継続してサポートされます) --logical I => L --physical B => P --configtest => --config-test --configfile => --config-file --logfile => --log-file --statlogfile => --stat-log-file --remotehost => --host --remoteport => --port --pidfile => --pid-file --verbose => --hcp-out (hsyncのv, --verboseは対象外) hcpコマンド --copylinkfile => --copy-linkfile --followlinkdir => --follow-linkdir --noemptyfile => --no-emptyfile --noemptydir => --no-emptydir --nodotfile => --no-dotfile --nodotdir => --no-dotdir --copyhidden => --copy-hidden --archivecheck => --archive-check --copymode => --copy-mode --failaction => --fail-action --sourcefile => --source-file --nosend => --no-send --nodiskio => --no-diskio hrmコマンド --nodiskio => --no-diskio hcp-lsコマンド --querycmdname => --query-cmdname --cmdoptions => --cmd-options ---------------------------------------------------------------------------- #10958: 初期インストールされる設定ファイルの改訂 ---------------------------------------------------------------------------- ■概要 パッケージインストール時に/etc/hcp配下に設置される設定ファイルの内容を改訂しました。 記載内容を選別しましたので、未記載の設定項目についてはパッケージ同梱される 設定ファイル(全設定項目記載)もしくはリファレンスマニュアルをご確認ください。 ---------------------------------------------------------------------------- #10976: 設定項目を複数記述することで設定値を追加できるように改良 ---------------------------------------------------------------------------- ■概要 設定項目を複数記述することで設定値を追加できるように改良しました。 ■対象設定項目 hcpd.conf SyslogOption hcp.conf (クライアント設定ファイル全般) AcceptableCryptMethod AcceptableDigestMethod TransportCharEncoding ■設定例 hcp.conf # # Crypt Algorithms (Ciphers) # #AcceptableCryptMethod AES256/CTR/VMAC AES256/CBC AES128/CBC AcceptableCryptMethod AES256/CTR/VMAC AES256/CBC AES128/CBC AcceptableCryptMethod PLAIN AcceptableCryptMethod AES256/CTR/VMAC64 AES192/CBC AES128/CBC AcceptableCryptMethod AES192/CTR/VMAC AES128/CTR/VMAC AcceptableCryptMethod AES192/CTR/VMAC64 AES128/CTR/VMAC64 [user@localhost ~]$ ./hcp -t hcp client (hcp) 1.2.7a_6 / Linux (HpFP2 2.0.0.91) ... FileLockRetryInterval : 3 AcceptableCryptMethod : AES256/CTR/VMAC AES256/CBC AES128/CBC PLAIN // 折り返し                   AES256/CTR/VMAC64 AES192/CBC AES128/CBC AES192/CTR/VMAC // 折り返し                   AES128/CTR/VMAC AES192/CTR/VMAC64 AES128/CTR/VMAC64 [Intel:AES-NI=yes] AcceptableDigestMethod : MM128 SHA256 SHA160 MD5 MM32 DisableDataIntegrityChecking : no ---------------------------------------------------------------------------- #10961: リモートホストを含む最初のパスにユーザ名を記述できるように変更 ---------------------------------------------------------------------------- ■概要 クライアントのコマンドで指定するリモートホストのパスにユーザ名を記述できるように変更しました。 最初に記述するリモートホストのパスのみに指定することができます。 ---------------------------------------------------------------------------- #10962: クライアント --config-option 追加 ---------------------------------------------------------------------------- ■概要 クライアントのコマンドのオプションに設定項目を指定するオプション(--config-option)を追加しました。 次のように連続して記述することで複数指定することができます。 hcp ... --config-option="TransportStatLog yes" --config-option="TransportTimeout 60" ... ---------------------------------------------------------------------------- #10969: AtomicLikeSaving 接尾辞・接頭辞乱数文字列生成対応 ---------------------------------------------------------------------------- ■概要 AtomicLikeSavingの接尾辞・接頭辞について乱数文字列を生成する動作に対応しました。 ---------------------------------------------------------------------------- #10967: パスのリモートホスト名省略のサポート ---------------------------------------------------------------------------- ■概要 最初のリモートパスにホスト名、ポート番号の記述があれば、以降のリモートの 同情報を先頭に":"と記載して省略できるようになりました。 ---------------------------------------------------------------------------- #10559: HpFPを使用した場合に無効なuser名でのログインを繰り返すと一定時間アクセスできなくなる ---------------------------------------------------------------------------- ■現象 HpFPを使用した場合に無効なuser名でのログインを繰り返すと一定時間アクセスできなくなる。 ■再現条件 ・HpFP(UDP)を使用すること ・サーバの/etc/hcp/usersに設定していないユーザ名を使用すること ■回避策 なし ---------------------------------------------------------------------------- #10610: Linux サーバのアプリ連携を有効にするとコールバックスクリプトがサービスの権限で実行されてしまう ---------------------------------------------------------------------------- ■現象 次の設定を有効にしてサーバ上でアプリ連携を有効にするとファイル転送の終了時などに呼び出されるコールバックスクリプトがサービスの権限で実行されてしまう。 hcpd.conf CallbackScript ■再現条件 ・Linux版 ・hcpdコマンド ・特権分離を有効にする ・Callbackスクリプト機能を有効にする  hcpd.confのCallbackScriptをyesとする ■回避策 なし ■注意事項 通常サービス権限はrootのため、一般ユーザにより任意のコマンドを実行されてしまう恐れがあります。 旧バージョンでは本機能を無効にするか、本バージョンへアップデートしてください。 この一般ユーザの範囲は、認証使用時は/etc/hcp/usersに定義されたユーザ、 匿名アクセスで使用する場合は匿名でアクセスするユーザとなります。 本機能はデフォルトでは無効です。 ---------------------------------------------------------------------------- #10823: hcpd 子プロセスがクラッシュした場合に接続が受け付けられなくなることがある ---------------------------------------------------------------------------- ■現象 hcpdデーモンの子プロセスがクラッシュした場合に、以降接続の受け付けができなくなることがある。 ■再現条件 ・Linux版 ・hcpdデーモン ・特権分離 ON ・接続を受け付けてアプリケーションの処理を実行中の子プロセスがクラッシュすること ■回避策 なし ---------------------------------------------------------------------------- #10930: hcpコマンド ディスクの書き込み速度が低速でかつキャッシュ(アプリやディスクなど)が大きい場合などにタイムアウトが発生してしまうことがある ---------------------------------------------------------------------------- ■現象 hcpコマンドで、ディスクの書き込み速度が低速でかつキャッシュ(アプリやディスクなど)が大きい場合などに タイムアウトが発生して中断してしまうことがある。 ■再現条件 ・hcpコマンド ・書き込み先のディスクのI/O性能が低いこと(数十Mbps程度) ■回避策 以下のいずれかにより症状を回避できることがあります。 ・サーバおよびクライアント双方でタイムアウト設定を延長する ・書き込み側で受信レートを設定する  ディスクI/Oの書き込み性能上限より少し低めに指定する  例:ディスクI/O性能 最大40MB/sec(320Mbps) MaxReceiveRate 300Mbps ---------------------------------------------------------------------------- #10970: クライアントの--configtestの出力訂正 ---------------------------------------------------------------------------- ■概要 AtomicLikeSavingの接頭辞と接尾辞の出力順を設定ファイルの記載順通りに修正しました。 ---------------------------------------------------------------------------- #10973: ロングオプションの後にショートオプションを使用すると誤動作する場合がある ---------------------------------------------------------------------------- ■現象 ロングオプションの後にショートオプションを使用すると期待しない動作をする場合があります。 例: hcp --user=user01 -R ... などのように入力すると-Rが認識されず実行されてしまう、など。 ■再現条件 ・クライアントコマンド ・ロングオプションの後にショートオプションを記述すること ■回避策 なし ---------------------------------------------------------------------------- #10982: Windows版クライアント 引数ありのロングオプションの後に記述する引数なしのロングオプションに誤って引数が渡されてしまう ---------------------------------------------------------------------------- ■現象 Windows版のクライアントコマンドで、引数をもつロングオプションの後に引数なしのロングオプションを記述すると、 誤って前者の引数の値が渡されてしまい、期待しない動作をすることがある。 ■再現条件 ・Windows版 ・クライアントコマンド ・引数を持つロングオプションの後に引数なしのロングオプションを記述すること ■回避策 なし ----------------------------------------------------------------------------