Details
-
Bug
-
Status: Resolved
-
Minor
-
Resolution: Fixed
-
3.11.0
-
None
-
Unknown
Description
When a fairly large input string is submitted for logging and masking is enabled, this results in a StackoverflowError
Using camel with Spring Boot
pom.xml
<dependencyManagement> <dependencies> <dependency> <groupId>org.apache.camel.springboot</groupId> <artifactId>camel-spring-boot-bom</artifactId> <version>3.11.1</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <!-- ... --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-validation</artifactId> </dependency> <dependency> <groupId>org.apache.camel.springboot</groupId> <artifactId>camel-spring-boot-starter</artifactId> </dependency>
Route.java
@Component public class Route extends RouteBuilder { @Override public void configure() throws Exception { from("rabbitmq:{{core.consumer.rabbitmq.exchange}}" + "?exchangeType={{core.consumer.rabbitmq.exchange-type}}" + "&queue={{core.consumer.rabbitmq.queue}}" + "&routingKey={{core.consumer.rabbitmq.routing-key}}") .routeId("queue route") .log("Received payload from rabbitMQ: ${body}") .unmarshal(new JacksonDataFormat(Dto.class)) .process(aProcessor) .log("Data received ${body}") .to("bean:requestProcessor?method=handleAckRequest").id("handle-ack-request") .to("direct:anotherRoute") .end(); } }
In the application.properties
camel.springboot.log-mask=true
Now if I should post the following JSON payload through RabbitMQ
{ "qwjabrlanfssaPaymentID": 93974430, "apiPortNumber": 0, "pollerFrequency": 0, "serviceCode": "QWERETEMKLJLANDD", "extraData": { "97280991": { "pushToOriginator": true, "uidID": 41189716, "metaData": [ { "Value": 1070, "Name": "Amount" }, { "Value": "PHP82TK6MY", "Name": "MpesaQwasdrtjknsNumber" }, { "Name": "Balance" }, { "Value": 20210825224512, "Name": "TransactionDate" }, { "Value": 599726145860, "Name": "PhoneNumber" }], "pokjytsAmountCharged": 1070, "hardwareRequestId": null, "ProductCode": "UJHANSNLWII", "isTillNumber": true, "uniqueID": "83859103", "vouchercode": " ", "paybillNumber": "431553" } }, "oiusdftrPaymentStatus": 139, "serviceUrl": "", "lkjmnbsdcvfdertCurrencyCode": "YUM", "wrapperUrl": "", "wsdlFile": "", "protocol": "default", "sslEnabled": 0, "numberOfSends": 0, "invoiceNumber": "", "erdfghytIsdgftgDate": "2021-08-25 22:45:20", "lkjditgfJhsgruaCustomerName": "Customer", "apiUserName": "", "ojudhfgKaswsxsUUID": "1102967588", "iuytredfHsdededAccountNumber": "4622785548", "tyghfderrMode": [ "TUND_PUDF" ], "zxcvfgtrNsdfdfdMSISDN": "254726173860", "apiFunctionName": "", "kjhxcTransactionID": [ "PHP82TK6MY" ], "apiPassword": "xxxxx", "kjhcvbnUUID": "1102967588", "dfcxvbnClientCode": [ "SAFKE" ], "sslCertificatePath": "", "isTokenService": 0, "wsazxcvgbgthyujAmount": 1070, "plsjdhfhPusherProcessorClass": "", "requestOriginIDs": [ "21" ], "firstSend": "", "maxNumberOfSends": 0, "narration": "The service request is processed successfully.", "hubCreationDate": "2021-08-25 22:45:20", "allowsPolling": 1, "serviceID": 3004, "lastSend": "2021-08-25 19:45:20", "nextSend": "2021-08-25 22:45:20", "autoAcknowledgejfhtysidj": 0 }
Attachments
Issue Links
- fixes
-
CAMEL-16948 Stackoverflow Exception in LogProcessor (LogMasking)
- Resolved
- relates to
-
CAMEL-16908 camel-core - Log Mask should use the known sensitive keys
- Resolved