4. Global Requests (グローバル要求)
4. Global Requests (グローバル要求)
チャネルに依存せず, 接続の相手側のグローバルな状態に影響する要求がいくつかある. 例として, 特定ポートの TCP/IP 転送開始要求がある. クライアントとサーバの双方がいつでもグローバル要求を送信してよく, 受信側は適切に応答しなければならない. すべて次の形式を用いる.
byte SSH_MSG_GLOBAL_REQUEST
string request name in US-ASCII only
boolean want reply
.... request-specific data follows
request name の値は [SSH-ARCH] に概説される DNS 拡張命名規則に従う.
want reply が TRUE の場合, 受信側は SSH_MSG_REQUEST_SUCCESS または SSH_MSG_REQUEST_FAILURE で応答する.
byte SSH_MSG_REQUEST_SUCCESS
.... response specific data
通常, response specific data は存在しない.
受信側が要求を認識できないかサポートしない場合は, SSH_MSG_REQUEST_FAILURE のみを返す.
byte SSH_MSG_REQUEST_FAILURE
一般に, 応答メッセージには要求種別識別子は含まれない. 要求の発信者がどの応答がどの要求に対応するか判別できるように, SSH_MSG_GLOBAL_REQUEST への応答は, 対応する要求メッセージと同じ順序で送信されなければならない. チャネル要求についても, 同一チャネルに関する応答は正しい順序で返さなければならない. ただし, 異なるチャネルに対する要求への応答は順不同でもよい.