From 3c4442b93e28f88291294b91a1e616c160cff66a Mon Sep 17 00:00:00 2001 From: murgatroid99 Date: Thu, 19 Dec 2019 16:19:01 -0800 Subject: [PATCH] Native: Add log for malformed incoming metadata --- packages/grpc-native-core/src/metadata.js | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/packages/grpc-native-core/src/metadata.js b/packages/grpc-native-core/src/metadata.js index 279dee18..c5b988fb 100644 --- a/packages/grpc-native-core/src/metadata.js +++ b/packages/grpc-native-core/src/metadata.js @@ -22,6 +22,9 @@ var clone = require('lodash.clone'); var grpc = require('./grpc_extension'); +const common = require('./common'); +const logVerbosity = require('./constants').logVerbosity; + const IDEMPOTENT_REQUEST_FLAG = 0x10; const WAIT_FOR_READY_FLAG = 0x20; const CACHEABLE_REQUEST_FLAG = 0x40; @@ -231,6 +234,12 @@ Metadata._fromCoreRepresentation = function(metadata) { if (metadata) { Object.keys(metadata.metadata).forEach(key => { const value = metadata.metadata[key]; + if (!grpc.metadataKeyIsLegal(key)) { + common.log(logVerbosity.ERROR, + "Warning: possibly corrupted metadata key received: " + + key + ": " + value + + ". Please report this at https://github.com/grpc/grpc-node/issues/1173."); + } newMetadata._internal_repr[key] = clone(value); }); }