Cente SNTPc
・ユーザーズマニュアルの変更
ユーザーズマニュアルにおいて、奥付の情報を更新した。ソースコードに変更はない。
・ユーザーズマニュアルの変更
ユーザーズマニュアルにおいて、奥付の情報を更新した。ソースコードに変更はない。
・マニュアルの変更
マニュアルにおいて、奥付の情報を更新した。ソースコードに変更はない。
【HTTPd修正】
・MD5モジュールの変更
MD5モジュールを削除し、Cente Compact Cryptoに置き換えた。
【HTTPc修正】
・WebSocketクライアントに対応。
WebSocketクライアントに対応した。
・HTTPヘッダの設定追加。
HTTPヘッダでAcceptを設定できるようにした。
・MD5モジュールの変更
MD5モジュールを削除し、Cente Compact Cryptoに置き換えた。
MQTTv5.0に対応
Cente MQTTc Ver1.10までのMQTTv3.1.1に加え、MQTTv5.0に対応しました。
複数ブローカへの接続に対応
あるブローカへ接続したまま、他のブローカへ接続できるようにしました。
HTTPプロキシに対応
HTTPプロキシ経由でブローカへ接続できるようにしました(プロキシ認証はBasic認証に対応)。
エラーコールバック関数からmqtt_disconnect()を実行するとリターンしないことがある(Cente013-0001)
エラーコールバック関数からmqtt_disconnect()を実行するとリターンしないことがありました。これを修正しました。
・GmailのOAuth2.0認証対応
GmailのOAuth2.0認証に対応した。
・軽微なコード修正
ワーニング対策のための軽微なコード修正を行った。動作に影響はない。
【HTTPd修正】
・SSL設定をカスタマイズするAPIを追加。
HTTPS接続時に個別にセッションチケットなどを設定するAPIを追加した。
・HTTPヘッダをカスタマイズするAPIを追加。
独自にレスポンスヘッダを付加したり、独自にリクエストヘッダをパースするAPIを追加した。
・使用メモリ低減
SSLを使用しないセッションでもSSL用のメモリを確保していたので修正した。
・認証ヘッダ解析を修正
認証ヘッダ解析が正しく動作しないことがあるのを修正した。
・軽微な修正
軽微なコード修正を行った。実動作には影響ない。
【HTTPc修正】
・HTTPヘッダをカスタマイズするAPIを追加。
独自にリクエストヘッダを付加したり、独自にレスポンスヘッダをパースするAPIを追加した。
・障害情報 Cente010-0004 を修正。
HTTPScがキープアライブ動作中に再接続に失敗することがあるのを修正した。
・軽微な修正。
軽微なコード修正を行った。実動作には影響ない。
発行番号: Cente013-0001
Rev: 第1版
発行日: 2021/10/13
題名: エラーコールバック関数からmqtt_disconnect()を実行するとリターンしないことがある
適用製品:
・Cente MQTTc Ver.1.10
【該当するユーザ環境】
Cente MQTTc Ver.1.10をお使いの全てのユーザ。
【障害内容】
MQTTのAPIでエラー(送信エラー、受信エラー)が発生すると、エラーコールバック関数が呼び出されます。エラーコールバック関数ではmqtt_disconnect()を実行する必要がありますが、送信エラーによるコールバックからmqtt_disconnect()を実行すると、リターンしないことがありました。
【発生理由】
セマフォによる排他制御に不適切な処理があり、取得済みのセマフォをmqtt_disconnect()でさらに取得しようとして、デッドロックすることがありました。
【回避方法】
ソースコードの改変が必要です。
修正箇所については、support_XXXatmarkXXX_cente.jpまでお問い合わせください(_XXXatmarkXXX_は@にしてください)。
発行番号: Cente010-0004
Rev: 第1版
発行日: 2020/12/21
題名: HTTPScがキープアライブ動作中に再接続に失敗する現象について
適用製品
・Cente HTTPd/c Ver.1.61
【該当するユーザ環境】
以下の関数をまとめて「httpc_XXX_with_sock()」と記述します。
– httpc_get_with_sock()
– httpc_post_with_sock()
– httpc_put_with_sock()
– httpc_delete_with_sock()
以下の条件をすべて満たした場合、httpc_XXX_with_sock()がエラーでリターンすることがあります。
– httpc_XXX_with_sock()で、HTTPキープアライブ有効かつka_retry=1として自動再接続を有効にして通信する。
– usessl=1としてSSL通信する。
– HTTPサーバがHTTPキープアライブタイムアウトでTCPを切断したあと、httpc_XXX_with_sock()で再接続が発生する。
自動再接続が無効の場合や、SSLを使用しない場合は、該当しません。
【障害内容】
HTTPは、TCP接続のオーバヘッドを減らすために、HTTPキープアライブ機能があります。Cente HTTPcは、httpc_XXX_with_sock()でHTTPキープアライブを使用できます。HTTPキープアライブ有効時でも、HTTPサーバは任意のタイムアウトでTCPを切断します。切断後のhttpc_XXX_with_sock()でka_retry=1として自動再接続を有効にしているとAPI内で再接続します。
再接続時には、API内で通信端点の削除と作成を行いますが、この通信端点のIDをSSL使用時に更新しておらず、以前のIDで通信してエラー(HTTPC_E_CON)になることがありました。
このエラーが発生した場合、httpc_disconnect()でHTTPcを切断して、再度httpc_XXX_with_sock()を呼び出す必要がありました。
【回避方法】
ミドルウェアのソースコードを修正し、通信端点のIDをSSLで正しく使用するようにします。
詳細については、営業担当またはsupport_XXXatmarkXXX_cente.jpまでお問い合わせください(_XXXatmarkXXX_は@にしてください)。
・ユーザーズマニュアルの変更
ユーザーズマニュアルにおいて、奥付の情報を更新した。
・軽微なコード修正
ワーニング対策のための軽微なコード修正を行った。動作に影響はない。
・ユーザーズマニュアルの変更
ユーザーズマニュアルにおいて、奥付の情報を更新した。
・SMTPcの軽微なコード修正
ワーニング対策のための軽微なコード修正を行った。動作に影響はない。
Page 1 of 9