From 778181a1539e69716f3e038a9f3b4e592407891f Mon Sep 17 00:00:00 2001 From: Quentin Dufour Date: Mon, 13 May 2019 10:21:11 +0200 Subject: [PATCH] Fix simple algorithms --- src/algo_dup2.c | 8 ++++---- src/algo_naive.c | 2 +- src/algo_utils.c | 6 +++--- src/algo_utils.h | 2 +- src/proxy.c | 2 +- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/algo_dup2.c b/src/algo_dup2.c index 30b8e73..c5db60f 100644 --- a/src/algo_dup2.c +++ b/src/algo_dup2.c @@ -22,15 +22,15 @@ int algo_dup2_on_stream(struct evt_core_ctx* ctx, struct evt_core_fdinfo* fdinfo // Check that we didn't already received the packet struct dup2_ctx* dup2c = app_ctx->misc; - if (ring_ge(dup2c->recv_id, bp->ip.ap.str.id)) { + if (ring_ge(dup2c->recv_id, bp->ip.ap.content.clear.id)) { mv_buffer_rtof(app_ctx, fdinfo); return 0; } - dup2c->recv_id = bp->ip.ap.str.id; + dup2c->recv_id = bp->ip.ap.content.clear.id; // 1. Find destination - sprintf(url, "udp:write:127.0.0.1:%d", bp->ip.ap.str.port); + sprintf(url, "udp:write:127.0.0.1:%d", bp->ip.ap.content.clear.port); to_fdinfo = evt_core_get_from_url (ctx, url); if (to_fdinfo == NULL) { fprintf(stderr, "No fd for URL %s in tcp-read. Dropping packet :( \n", url); @@ -49,7 +49,7 @@ int algo_dup2_on_datagram(struct evt_core_ctx* ctx, struct evt_core_fdinfo* fdin struct algo_ctx* app_ctx = fdinfo->cat->app_ctx; struct dup2_ctx* dup2c = app_ctx->misc; - bp->ip.ap.str.id = dup2c->emit_id; + bp->ip.ap.content.clear.id = dup2c->emit_id; dup2c->emit_id = dup2c->emit_id + 1; struct evt_core_cat* cat = evt_core_get_from_cat (ctx, "tcp-write"); diff --git a/src/algo_naive.c b/src/algo_naive.c index 17a7d99..e9b2390 100644 --- a/src/algo_naive.c +++ b/src/algo_naive.c @@ -11,7 +11,7 @@ int algo_naive_on_stream(struct evt_core_ctx* ctx, struct evt_core_fdinfo* fdinf struct algo_ctx* app_ctx = fdinfo->cat->app_ctx; // 1. Find destination - sprintf(url, "udp:write:127.0.0.1:%d", bp->ip.ap.str.port); + sprintf(url, "udp:write:127.0.0.1:%d", bp->ip.ap.content.clear.port); to_fdinfo = evt_core_get_from_url (ctx, url); if (to_fdinfo == NULL) { fprintf(stderr, "No fd for URL %s in tcp-read. Dropping packet :( \n", url); diff --git a/src/algo_utils.c b/src/algo_utils.c index fc1fa4b..a4e9984 100644 --- a/src/algo_utils.c +++ b/src/algo_utils.c @@ -235,12 +235,12 @@ void notify_read(struct evt_core_ctx* ctx, struct algo_ctx* app_ctx) { } } -int append_buffer(union abstract_packet* dest, int pos, union abstract_packet* src) { +int append_buffer(struct abstract_packet* dest, int pos, struct abstract_packet* src) { char* target = &(dest->raw); while (pos-- > 0) { - target += dest->str.size; + target += dest->headers.size; } - memcpy(target, src, src->str.size); + memcpy(target, src, src->headers.size); return 0; } diff --git a/src/algo_utils.h b/src/algo_utils.h index ce8d26a..0df855f 100644 --- a/src/algo_utils.h +++ b/src/algo_utils.h @@ -53,7 +53,7 @@ void mv_buffer_atow(struct algo_ctx* app_ctx, void* from, struct evt_core_fdinfo void mv_buffer_atof(struct algo_ctx* app_ctx, void* from); void dup_buffer_tow(struct algo_ctx* app_ctx, struct buffer_packet* bp, struct evt_core_fdinfo* to); -int append_buffer(union abstract_packet* dest, int pos, union abstract_packet* src); +int append_buffer(struct abstract_packet* dest, int pos, struct abstract_packet* src); struct buffer_packet* get_write_buffer(struct algo_ctx *app_ctx, struct evt_core_fdinfo *fdinfo); struct buffer_packet* get_read_buffer(struct algo_ctx *app_ctx, struct evt_core_fdinfo *fdinfo); diff --git a/src/proxy.c b/src/proxy.c index b392dee..b40160c 100644 --- a/src/proxy.c +++ b/src/proxy.c @@ -71,7 +71,7 @@ int main_on_udp_read(struct evt_core_ctx* ctx, struct evt_core_fdinfo* fdinfo) { if ((bp = get_read_buffer(app_ctx, fdinfo)) == NULL) return 1; // 2. Read packet from socket - bp->ip.ap.str.port = url_get_port_int (fdinfo->url); + bp->ip.ap.content.clear.port = url_get_port_int (fdinfo->url); read_res = read_packet_from_udp (fdinfo->fd, bp, fdinfo->other); if (read_res == FDS_ERR) goto co_error; if (read_res == FDS_AGAIN) return 1;