diff --git a/bson/src/main/org/bson/BsonBinarySubType.java b/bson/src/main/org/bson/BsonBinarySubType.java index fb1b8d0dfbe..3c5f72813b6 100644 --- a/bson/src/main/org/bson/BsonBinarySubType.java +++ b/bson/src/main/org/bson/BsonBinarySubType.java @@ -66,6 +66,13 @@ public enum BsonBinarySubType { */ COLUMN((byte) 0x07), + /** + * Sensitive data (e.g., HMAC keys) that should be excluded from server-side logging. + * + * @since 5.3 + */ + SENSITIVE((byte) 0x08), + /** * User defined binary data. */ diff --git a/bson/src/test/resources/bson/binary.json b/bson/src/test/resources/bson/binary.json index d3c57ec1081..38a70d1fe0c 100644 --- a/bson/src/test/resources/bson/binary.json +++ b/bson/src/test/resources/bson/binary.json @@ -55,6 +55,11 @@ "canonical_bson": "1D000000057800100000000773FFD26444B34C6990E8E7D1DFC035D400", "canonical_extjson": "{\"x\" : { \"$binary\" : {\"base64\" : \"c//SZESzTGmQ6OfR38A11A==\", \"subType\" : \"07\"}}}" }, + { + "description": "subtype 0x08", + "canonical_bson": "1D000000057800100000000873FFD26444B34C6990E8E7D1DFC035D400", + "canonical_extjson": "{\"x\" : { \"$binary\" : {\"base64\" : \"c//SZESzTGmQ6OfR38A11A==\", \"subType\" : \"08\"}}}" + }, { "description": "subtype 0x80", "canonical_bson": "0F0000000578000200000080FFFF00", diff --git a/bson/src/test/unit/org/bson/BsonBinarySubTypeSpecification.groovy b/bson/src/test/unit/org/bson/BsonBinarySubTypeSpecification.groovy index f26d1ad00d9..8e502891095 100644 --- a/bson/src/test/unit/org/bson/BsonBinarySubTypeSpecification.groovy +++ b/bson/src/test/unit/org/bson/BsonBinarySubTypeSpecification.groovy @@ -33,5 +33,6 @@ class BsonBinarySubTypeSpecification extends Specification { 5 | false 6 | false 7 | false + 8 | false } }