From de80274a64a9f326cf27d3cb9264d6c9c06ec773 Mon Sep 17 00:00:00 2001 From: Sean Hefty Date: Fri, 6 Apr 2012 15:12:36 -0700 Subject: [PATCH] rsocket: Discard unrecognized control messages If we receive a control message that is not known, simply discard it. This provides some ability to support forward compatibility. Signed-off-by: Sean Hefty --- src/rsocket.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/rsocket.c b/src/rsocket.c index 4c96e9f6..ea7d7ce0 100644 --- a/src/rsocket.c +++ b/src/rsocket.c @@ -774,8 +774,11 @@ static int rs_poll_cq(struct rsocket *rs) rs->sseq_comp = (uint16_t) rs_msg_data(imm_data); break; case RS_OP_CTRL: - rs->state = rs_disconnected; - return ERR(ECONNRESET); + if (rs_msg_data(imm_data) == RS_CTRL_DISCONNECT) { + rs->state = rs_disconnected; + return ERR(ECONNRESET); + } + break; default: rs->rmsg[rs->rmsg_tail].op = rs_msg_op(imm_data); rs->rmsg[rs->rmsg_tail].data = rs_msg_data(imm_data); -- 2.46.0