From: Tobias Brunner Date: Thu, 11 May 2023 14:17:09 +0000 (+0200) Subject: kernel-libipsec: Use CALLBACK for libipsec callbacks X-Git-Tag: 5.9.11rc1~8^2~5 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a049868d783899d71719ab9687081f28c7dbd9bc;p=thirdparty%2Fstrongswan.git kernel-libipsec: Use CALLBACK for libipsec callbacks --- diff --git a/src/libcharon/plugins/kernel_libipsec/kernel_libipsec_router.c b/src/libcharon/plugins/kernel_libipsec/kernel_libipsec_router.c index 884616345f..7c6d3c3ba4 100644 --- a/src/libcharon/plugins/kernel_libipsec/kernel_libipsec_router.c +++ b/src/libcharon/plugins/kernel_libipsec/kernel_libipsec_router.c @@ -94,28 +94,21 @@ static bool tun_entry_equals(tun_entry_t *a, tun_entry_t *b) return a->addr->ip_equals(a->addr, b->addr); } -/** - * Outbound callback - */ -static void send_esp(void *data, esp_packet_t *packet) +CALLBACK(send_esp, void, + void *data, esp_packet_t *packet) { charon->sender->send_no_marker(charon->sender, (packet_t*)packet); } -/** - * Receiver callback - */ -static void receiver_esp_cb(void *data, packet_t *packet) +CALLBACK(receiver_esp_cb, void, + void *data, packet_t *packet) { ipsec->processor->queue_inbound(ipsec->processor, esp_packet_create_from_packet(packet)); } -/** - * Inbound callback - */ -static void deliver_plain(private_kernel_libipsec_router_t *this, - ip_packet_t *packet) +CALLBACK(deliver_plain, void, + private_kernel_libipsec_router_t *this, ip_packet_t *packet) { tun_device_t *tun; tun_entry_t *entry, lookup = { @@ -292,12 +285,9 @@ METHOD(kernel_libipsec_router_t, get_tun_name, char*, METHOD(kernel_libipsec_router_t, destroy, void, private_kernel_libipsec_router_t *this) { - charon->receiver->del_esp_cb(charon->receiver, - (receiver_esp_cb_t)receiver_esp_cb); - ipsec->processor->unregister_outbound(ipsec->processor, - (ipsec_outbound_cb_t)send_esp); - ipsec->processor->unregister_inbound(ipsec->processor, - (ipsec_inbound_cb_t)deliver_plain); + charon->receiver->del_esp_cb(charon->receiver, receiver_esp_cb); + ipsec->processor->unregister_outbound(ipsec->processor, send_esp); + ipsec->processor->unregister_inbound(ipsec->processor, deliver_plain); charon->kernel->remove_listener(charon->kernel, &this->public.listener); this->lock->destroy(this->lock); this->tuns->destroy(this->tuns); @@ -352,10 +342,8 @@ kernel_libipsec_router_t *kernel_libipsec_router_create() charon->kernel->add_listener(charon->kernel, &this->public.listener); ipsec->processor->register_outbound(ipsec->processor, send_esp, NULL); - ipsec->processor->register_inbound(ipsec->processor, - (ipsec_inbound_cb_t)deliver_plain, this); - charon->receiver->add_esp_cb(charon->receiver, - (receiver_esp_cb_t)receiver_esp_cb, NULL); + ipsec->processor->register_inbound(ipsec->processor, deliver_plain, this); + charon->receiver->add_esp_cb(charon->receiver, receiver_esp_cb, NULL); lib->processor->queue_job(lib->processor, (job_t*)callback_job_create((callback_job_cb_t)handle_plain, this, NULL, (callback_job_cancel_t)return_false));