You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@rocketmq.apache.org by li...@apache.org on 2018/06/22 09:11:24 UTC
[rocketmq] 04/08: #325 register nameserver add crc32 check
This is an automated email from the ASF dual-hosted git repository.
lizhanhui pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/rocketmq.git
commit 283c539f81009823537e9e7658071ec507591621
Author: 傅冲 <yu...@alibaba-inc.com>
AuthorDate: Wed Jun 13 14:32:13 2018 +0800
#325 register nameserver add crc32 check
---
.../rocketmq/namesrv/processor/DefaultRequestProcessor.java | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/namesrv/src/main/java/org/apache/rocketmq/namesrv/processor/DefaultRequestProcessor.java b/namesrv/src/main/java/org/apache/rocketmq/namesrv/processor/DefaultRequestProcessor.java
index 4a222ab..bdea8b9 100644
--- a/namesrv/src/main/java/org/apache/rocketmq/namesrv/processor/DefaultRequestProcessor.java
+++ b/namesrv/src/main/java/org/apache/rocketmq/namesrv/processor/DefaultRequestProcessor.java
@@ -197,6 +197,16 @@ public class DefaultRequestProcessor implements NettyRequestProcessor {
final RegisterBrokerRequestHeader requestHeader =
(RegisterBrokerRequestHeader) request.decodeCommandCustomHeader(RegisterBrokerRequestHeader.class);
+ if (requestHeader.getBodyCrc32() != 0) {
+ final int crc32 = UtilAll.crc32(request.getBody());
+ if (crc32 != requestHeader.getBodyCrc32()) {
+ log.warn("receive registerBroker request,crc32 not match,from %s",
+ RemotingHelper.parseChannelRemoteAddr(ctx.channel()));
+ response.setCode(ResponseCode.SYSTEM_ERROR);
+ response.setRemark("crc32 not match");
+ }
+ }
+
RegisterBrokerBody registerBrokerBody = new RegisterBrokerBody();
if (request.getBody() != null) {