変更履歴
6.40
- リリース日
- 2022/08/25
libarms 6.37 からの変更点
仕様変更
- RS PULL における回線の接続試行の順序を最適化する機能を追加した(arms_set_rs_pull_order)
6.37
- リリース日
- 2022/04/27
libarms 6.36 からの変更点
不具合修正
- シンプルモードにおいて、push-confirmation の実行中に configure が開始された状況で configure-done request の送信前に push-confirmation のタイムアウトが起きると、 configure トランザクションが削除され configure-done request が送信されない不具合を修正しました
6.36
- リリース日
- 2021/10/28
libarms 6.35 からの変更点
不具合修正
- IPv6 の Heartbeat パケットを送信するときもしくはサーバに対して TCP 通信を開始するときにごく稀に無限ループに陥り Heartbeat 送信や Push オペレーションができなくなる不具合を修正しました
6.35
- リリース日
- 2021/07/21
libarms 6.34 からの変更点
不具合修正
- トンネルモードにおいて start-request メッセージを受信中のトランザクションがある場合でも push-confirmation を開始するようにした
6.34
- リリース日
- 2021/03/31
libarms 6.33 からの変更点
不具合修正
- コンフィグ反映中に呼び出したイベントコールバック(app_event_cb) が ARMS_EPUSH を返り値とした場合、それ以後、同コールバックによる push-confirmation が動作しない状態に陥ることがある不具合を修正した
6.33
- リリース日
- 2020/01/23
libarms 6.32 からの変更点
仕様変更
- arms_app_event_cb_tのコールバック処理に関連するログを追加した
不具合修正
- configure-done responseを契機としたpush-confirmationの実行が抑止されないようにした
6.32
- リリース日
- 2019/03/29
libarms 6.31 からの変更点
仕様変更
- PULL 回線に PPPoE IPv6 回線の別名回線 line-pppoe-ipv6-2nd を追加した
- OpenSSL 1.1.0 系に対応した
- PULL 回線の上限数(CONF_MAX_LINE_LIST)のデフォルト値を 5 から 10 に引き上げた
6.31
- リリース日
- 2019/03/29
libarms 6.30 からの変更点
不具合修正
- LS から取得する Location-Config で指定される PULL 回線数が上限数(CONF_MAX_LINE_LIST)を超えるとバッファオーバーランが起きる不具合を修正した
- pull-config-requet メッセージが動作していない不具合の修正した
- Pull オペレーションにおいて RS への接続に失敗しつづけたとき、LS への接続にフォールバックする機能が動作しない不具合を修正した
- 特定の動作環境で Location-Config キャッシュを正しくリストアできない不具合の修正した
6.30
- リリース日
- 2018/05/08
libarms 6.20 からの変更点
仕様変更
- Pull オペレーションまたは Push オペレーションによるコンフィグ取得時に、反映を行ったコンフィグをもとに次回起動時の Pull によるコンフィグ取得を省略する機能を追加した
不具合修正
- 一部の Push オペレーションとアドレス変更検知による push-confirmation が同時に発生した場合に、 Push オペレーションが失敗する不具合を修正した
- 64 bit 環境で一部の Push オペレーションが失敗する不具合を修正した
6.20
- リリース日
- 2018/02/21
libarms 6.10 からの変更点
仕様変更
- 次の Push オペレーション中に、サーバとの通信に使用するIPアドレスのプロトコルバージョン(IPv4・IPv6)が変化する場合でもサーバとの疎通性を維持できるようにした
- コンフィグ即時反映
- コンフィグ参照
- ステータス参照
- ステータス初期化
- Ping
- Traceroute
6.10
- リリース日
- 2017/12/12
libarms 6.00 からの変更点
仕様変更
- 特定の OS において、サーバへ接続する際に利用するインタフェースに複数のIPv6アドレスが付与されている場合に、サーバへの通信に利用する送信元IPv6アドレスの選択方法を変更した
不具合修正
- https-simple モードで下記のメッセージが仕様と異なる動作を行う不具合を修正した
- read-status: ステータス情報の取得
- read-storage: 設定の取得
- clear-status: ステータス情報のクリア
6.00
- リリース日
- 2017/06/26
libarms 5.41 からの変更点
仕様変更
- tunnel モードで通信に用いる IP アドレスのアドレスファミリが変化した場合にも疎通性を維持可能になりました
- 使用するサーバ情報の指定数上限を拡張しました
- RS の上限を 5 から 8 に変更した
- Heartbeat のパケット送信先の上限を 5 から 8 に変更した
- モジュールサーバの上限を 1 から 8 に変更した
5.41
- リリース日
- 2016/09/23
libarms 5.40 からの変更点
不具合修正
- Heartbeat 送信時にメモリリークする不具合を修正した
- Heartbeat 送信先として IPv4, IPv6 両方を指定される環境において該当する
5.40
- リリース日
- 2016/08/31
libarms 5.35 からの変更点
仕様変更
- RA回線にstateful-addressパラメータを追加した
- PPPoE回線のIDとパスフレーズの最大長を変更した
- ID: 最大150文字
- パスフレーズ: 最大64文字
- API arms_get_rs_sa_key() を追加した
5.35
- リリース日
- 2016/03/14
libarms 5.34 からの変更点
仕様変更
- モバイル回線の接続タイムアウトを独立して設定可能とした
5.34
- リリース日
- 2015/09/16
libarms 5.33 からの変更点
仕様変更
- TLSv1.1 および TLSv1.2 に対応した
- libarms が openssl-0.9.8 系を使う場合は、サーバ側は SMF SDK version 5.6 以降が必要
- https-simple モードでの Push 待ち受けにおいて DH/ECDH に対応した
- ECDH は configure 時に有効にする必要がある
- 起動トリガーを追加した
- ログ文字列を一部変更した
不具合修正
- libarms が既にインストールされている環境でビルドに失敗することがある不具合を修正した
5.33
- リリース日
- 2014/10/29
libarms 5.32 からの変更点
仕様変更
- 匿名PPPoEアカウントを使用するためのコードを公開した
- ただし、Inital-Config は別途提供を受ける必要がある
不具合修正
- 回線接続試行時間が line_ctrl_cb() の処理時間に応じて延長される不具合を修正した
- まれに解放済みのポインタを参照する可能性がある不具合を修正した
- RS-Pull 時に送信するメッセージの一部がプロトコル仕様に違反している不具合を修正した
- ARMS-Proxy サーバがこの違反を吸収するので、修正前の libarms でも RS-Pull 動作に支障はない
5.32
- リリース日
- 2013/10/08
libarms 5.31 からの変更点
不具合修正
- app_event_cb() による push-confirmation が失敗すると以降の app_event_cb() の定期呼び出しが行われなくなる不具合を修正した
5.31
- リリース日
- 2013/08/06
libarms 5.20 からの変更点
仕様変更
- arms_set_https_proxy() を line_ctrl_cb() から呼び出し可能とした
- push wait 状態になった後はそれを維持するようにした
- 5.20 までは push wait になった後も app_event_cb() および tunnel echo
による切断検知をトリガーとして push-confirmation を行い、
そこで失敗すると最終的に Pull に戻って状態の回復を試みる。
これを無限にリトライして、Pull に戻らないように変更した
- なお、arms_event_loop() に入った直後、およびコンフィグの即時反映直後の
push-confirmation は従来通り、リトライパラメータに従って有限回数で
Pull にフォールバックする
- arms_get_ls_url() を追加した
不具合修正
- arms_register_description() で登録したバージョン情報を RS へ通知するようにした
- tunnel モードで接続中にコンフィグ即時反映をした場合に、ロールバックを通知出来ない場合がある不具合を修正した
- RS との通信が妨げられるコンフィグを即時反映した場合、コンフィグをする。
しかし本不具合に当たると RS へロールバックではなく反映成功を通知し、
RS とコンフィグの状態がずれる
- arms_pull() および arms_event_loop() のパラメータで fragment を 0 に指定しても、
config_cb() に 64KB 区分でデータが渡される不具合を修正した
- 特定環境で tunnel モードで接続中に Push するとプロセスが異常終了する不具合を修正した
- ポインタのサイズに依存し、少なくとも Ubuntu 13.04 x86_64 で再現を確認
- DNS に依存して push-confirmation が失敗することがある不具合を修正した
- LS/RS から渡されるサーバ情報はすべて IP アドレスで渡されるので名前解決は不要