diff options
author | Dimitri Staessens <dimitri@ouroboros.rocks> | 2025-08-05 19:48:08 +0200 |
---|---|---|
committer | Sander Vrijders <sander@ouroboros.rocks> | 2025-08-06 10:34:44 +0200 |
commit | a5f6ab5af03d9be6f3412d4dff67748908799e21 (patch) | |
tree | a4e4f69813c2c91949a10d1d46c917ad25be8171 /src/irmd/main.c | |
parent | 2c077312b4f6236288da7df1caeb6cbaf6f83afd (diff) | |
download | ouroboros-a5f6ab5af03d9be6f3412d4dff67748908799e21.tar.gz ouroboros-a5f6ab5af03d9be6f3412d4dff67748908799e21.zip |
irmd: Add build option to log OAP header info
This adds a DEBUG_PROTO_OAP option to show some information in the OAP
headers received by the IRMd during flow allocation.
Example for unencrypted flow (send):
OAP_HDR [528b7bf81df8e9bc @ 2025-08-05 17:05:29 (UTC) ] -->
Certificate: <none>
Ephemeral Public Key: <none>
Data: <none>
Signature: <none>
Example for encrypted flow (rcv):
OAP_HDR [4ff83072e0ed54b3 @ 2025-08-05 17:06:23 (UTC) ] <--
Certificate: <none>
Ephemeral Public Key [91 bytes]:
Data: <none>
Signature: <none>
Signed-off-by: Dimitri Staessens <dimitri@ouroboros.rocks>
Signed-off-by: Sander Vrijders <sander@ouroboros.rocks>
Diffstat (limited to 'src/irmd/main.c')
-rw-r--r-- | src/irmd/main.c | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/src/irmd/main.c b/src/irmd/main.c index a5c4001e..bf94354f 100644 --- a/src/irmd/main.c +++ b/src/irmd/main.c @@ -830,7 +830,9 @@ static int flow_accept(struct flow_info * flow, if (delta < -TIMESYNC_SLACK) log_warn("Flow alloc sent from the future (%zd ms).", -delta); - +#ifdef DEBUG_PROTO_OAP + debug_oap_hdr_rcv(&oap_hdr); +#endif if (flow->qs.cypher_s != 0) { /* crypto requested */ uint8_t * s; /* symmetric encryption key */ ssize_t key_len; /* length of local pubkey */ @@ -875,7 +877,9 @@ static int flow_accept(struct flow_info * flow, err = -ENOMEM; goto fail_r_oap_hdr; } - +#ifdef DEBUG_PROTO_OAP + debug_oap_hdr_snd(&oap_hdr); +#endif if (ipcp_flow_alloc_resp(flow, 0, r_oap_hdr.hdr) < 0) { log_err("Failed to respond to flow allocation."); goto fail_resp; @@ -1101,6 +1105,9 @@ static int flow_alloc(struct flow_info * flow, err = -ENOMEM; goto fail_oap_hdr; } +#ifdef DEBUG_PROTO_OAP + debug_oap_hdr_snd(&oap_hdr); +#endif log_info("Allocating flow for %d to %s.", flow->n_pid, dst); @@ -1154,7 +1161,9 @@ static int flow_alloc(struct flow_info * flow, err = -EIPCP; goto fail_r_oap_hdr; } - +#ifdef DEBUG_PROTO_OAP + debug_oap_hdr_rcv(&r_oap_hdr); +#endif if (memcmp(r_oap_hdr.id.data, oap_hdr.id.data, r_oap_hdr.id.len) != 0) { log_err("OAP ID mismatch in flow allocation."); err = -EIPCP; |