Skip to content

Commit 52482af

Browse files
committed
ike: don't log empty server objects
1 parent f861c3f commit 52482af

2 files changed

Lines changed: 23 additions & 17 deletions

File tree

etc/schema.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2567,6 +2567,7 @@
25672567
"server": {
25682568
"type": "object",
25692569
"additionalProperties": false,
2570+
"minProperties": 1,
25702571
"properties": {
25712572
"key_exchange_payload": {
25722573
"type": "string"

rust/src/ike/logger.rs

Lines changed: 22 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -173,26 +173,31 @@ fn log_ikev1(state: &IKEState, tx: &IKETransaction, jb: &mut JsonBuilder) -> Res
173173
jb.close()?; // client
174174

175175
// server data
176-
jb.open_object("server")?;
177-
if !state.ikev1_container.server.key_exchange.is_empty() {
178-
jb.set_string(
179-
"key_exchange_payload",
180-
&state.ikev1_container.server.key_exchange,
181-
)?;
182-
if let Ok(server_key_length) =
183-
u64::try_from(state.ikev1_container.server.key_exchange.len())
184-
{
185-
jb.set_uint("key_exchange_payload_length", server_key_length / 2)?;
176+
if !state.ikev1_container.server.key_exchange.is_empty()
177+
|| !state.ikev1_container.server.nonce.is_empty()
178+
{
179+
jb.open_object("server")?;
180+
if !state.ikev1_container.server.key_exchange.is_empty() {
181+
jb.set_string(
182+
"key_exchange_payload",
183+
&state.ikev1_container.server.key_exchange,
184+
)?;
185+
if let Ok(server_key_length) =
186+
u64::try_from(state.ikev1_container.server.key_exchange.len())
187+
{
188+
jb.set_uint("key_exchange_payload_length", server_key_length / 2)?;
189+
}
186190
}
187-
}
188-
if !state.ikev1_container.server.nonce.is_empty() {
189-
jb.set_string("nonce_payload", &state.ikev1_container.server.nonce)?;
190-
if let Ok(server_nonce_length) = u64::try_from(state.ikev1_container.server.nonce.len())
191-
{
192-
jb.set_uint("nonce_payload_length", server_nonce_length / 2)?;
191+
if !state.ikev1_container.server.nonce.is_empty() {
192+
jb.set_string("nonce_payload", &state.ikev1_container.server.nonce)?;
193+
if let Ok(server_nonce_length) =
194+
u64::try_from(state.ikev1_container.server.nonce.len())
195+
{
196+
jb.set_uint("nonce_payload_length", server_nonce_length / 2)?;
197+
}
193198
}
199+
jb.close()?; // server
194200
}
195-
jb.close()?; // server
196201

197202
if !tx.hdr.ikev1_header.vendor_ids.is_empty() {
198203
jb.open_array("vendor_ids")?;

0 commit comments

Comments
 (0)