Skip to content

Commit 401e51b

Browse files
committed
ike: don't log empty server objects
1 parent fd4039f commit 401e51b

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
@@ -166,26 +166,31 @@ fn log_ikev1(state: &IKEState, tx: &IKETransaction, jb: &mut JsonBuilder) -> Res
166166
jb.close()?; // client
167167

168168
// server data
169-
jb.open_object("server")?;
170-
if !state.ikev1_container.server.key_exchange.is_empty() {
171-
jb.set_string(
172-
"key_exchange_payload",
173-
&state.ikev1_container.server.key_exchange,
174-
)?;
175-
if let Ok(server_key_length) =
176-
u64::try_from(state.ikev1_container.server.key_exchange.len())
177-
{
178-
jb.set_uint("key_exchange_payload_length", server_key_length / 2)?;
169+
if !state.ikev1_container.server.key_exchange.is_empty()
170+
|| !state.ikev1_container.server.nonce.is_empty()
171+
{
172+
jb.open_object("server")?;
173+
if !state.ikev1_container.server.key_exchange.is_empty() {
174+
jb.set_string(
175+
"key_exchange_payload",
176+
&state.ikev1_container.server.key_exchange,
177+
)?;
178+
if let Ok(server_key_length) =
179+
u64::try_from(state.ikev1_container.server.key_exchange.len())
180+
{
181+
jb.set_uint("key_exchange_payload_length", server_key_length / 2)?;
182+
}
179183
}
180-
}
181-
if !state.ikev1_container.server.nonce.is_empty() {
182-
jb.set_string("nonce_payload", &state.ikev1_container.server.nonce)?;
183-
if let Ok(server_nonce_length) = u64::try_from(state.ikev1_container.server.nonce.len())
184-
{
185-
jb.set_uint("nonce_payload_length", server_nonce_length / 2)?;
184+
if !state.ikev1_container.server.nonce.is_empty() {
185+
jb.set_string("nonce_payload", &state.ikev1_container.server.nonce)?;
186+
if let Ok(server_nonce_length) =
187+
u64::try_from(state.ikev1_container.server.nonce.len())
188+
{
189+
jb.set_uint("nonce_payload_length", server_nonce_length / 2)?;
190+
}
186191
}
192+
jb.close()?; // server
187193
}
188-
jb.close()?; // server
189194

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

0 commit comments

Comments
 (0)