From 8183983c2c1cc50e3e0c82a8ab08d5fd66e0dc86 Mon Sep 17 00:00:00 2001 From: Dimitri Staessens Date: Thu, 17 Aug 2023 16:12:44 +0200 Subject: ipcpd: Add IDs to enrollment The enrollment messages now have a 64-bit ID to easier track enrollments in the logs in larger scale tests. Signed-off-by: Dimitri Staessens Signed-off-by: Sander Vrijders --- src/lib/serdes-oep.c | 37 ++++++++++++++++++++++--------------- 1 file changed, 22 insertions(+), 15 deletions(-) (limited to 'src/lib/serdes-oep.c') diff --git a/src/lib/serdes-oep.c b/src/lib/serdes-oep.c index cae5c598..f5034a4a 100644 --- a/src/lib/serdes-oep.c +++ b/src/lib/serdes-oep.c @@ -26,12 +26,13 @@ #include -ssize_t enroll_req_ser(buffer_t buf) +ssize_t enroll_req_ser(const struct enroll_req * req, + buffer_t buf) { enroll_req_msg_t * msg; ssize_t sz; - msg = enroll_req_s_to_msg(); + msg = enroll_req_s_to_msg(req); if (msg == NULL) goto fail_msg; @@ -46,24 +47,33 @@ ssize_t enroll_req_ser(buffer_t buf) return sz; fail_pack: - enroll_req_msg__free_unpacked(msg, NULL); + enroll_req_msg__free_unpacked(msg, NULL); fail_msg: return -1; } -int enroll_req_des(const buffer_t buf) +int enroll_req_des(struct enroll_req * req, + const buffer_t buf) { enroll_req_msg_t * msg; msg = enroll_req_msg__unpack(NULL, buf.len, buf.data); if (msg == NULL) - return -1; + goto fail_unpack; - /* Nothing in request yet, if it unpacks, it's good. */ + if (msg->id.len != ENROLL_ID_LEN) + goto fail_id; + + *req = enroll_req_msg_to_s(msg); enroll_req_msg__free_unpacked(msg, NULL); return 0; + + fail_id: + enroll_req_msg__free_unpacked(msg, NULL); + fail_unpack: + return -1; } ssize_t enroll_resp_ser(const struct enroll_resp * resp, @@ -80,9 +90,6 @@ ssize_t enroll_resp_ser(const struct enroll_resp * resp, if (sz < 0 || (size_t) sz > buf.len) goto fail_pack; - msg->t_sec = resp->t.tv_sec; - msg->t_nsec = resp->t.tv_nsec; - enroll_resp_msg__pack(msg, buf.data); enroll_resp_msg__free_unpacked(msg, NULL); @@ -111,13 +118,13 @@ int enroll_resp_des(struct enroll_resp * resp, return 0; } -ssize_t enroll_ack_ser(const int response, - buffer_t buf) +ssize_t enroll_ack_ser(const struct enroll_ack * ack, + buffer_t buf) { enroll_ack_msg_t * msg; ssize_t sz; - msg = enroll_ack_s_to_msg(response); + msg = enroll_ack_s_to_msg(ack); if (msg == NULL) goto fail_msg; @@ -138,8 +145,8 @@ ssize_t enroll_ack_ser(const int response, } -int enroll_ack_des(int * response, - const buffer_t buf) +int enroll_ack_des(struct enroll_ack * ack, + const buffer_t buf) { enroll_ack_msg_t * msg; @@ -147,7 +154,7 @@ int enroll_ack_des(int * response, if (msg == NULL) return -1; - *response = enroll_ack_msg_to_s(msg); + *ack = enroll_ack_msg_to_s(msg); enroll_ack_msg__free_unpacked(msg, NULL); -- cgit v1.2.3