From 277ab872bf406076a639497c93ce0238bfc86183 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Sat, 7 Feb 2026 23:41:07 +0300 Subject: [PATCH] Fix: routing initialization timing and test callbacks - Fixed race condition: routing_add_conn called before etcp->normalizer was assigned - Moved routing_add_conn from pn_init to etcp_connection_create after normalizer init - Added routing.h include to etcp.c - Fixed tests: disable routing callback on output_queue to keep packets for test verification All 19 tests now pass. --- !/Makefile.am | 45 - !/config_parser.c | 586 ------------ !/config_parser.h | 89 -- !/config_updater.c | 427 --------- !/config_updater.h | 23 - !/crc32.c | 66 -- !/crc32.h | 19 - !/etcp.c | 1112 ----------------------- !/etcp.c1 | 1147 ----------------------- !/etcp.c2 | 1161 ------------------------ !/etcp.c_ | 489 ---------- !/etcp.h | 148 --- !/etcp_connections.c | 846 ----------------- !/etcp_connections.c1 | 770 ---------------- !/etcp_connections.h | 100 -- !/etcp_loadbalancer.c | 164 ---- !/etcp_loadbalancer.h | 20 - !/fix.patch | 10 - !/packet_dump.h | 42 - !/pkt_normalizer.c | 604 ------------ !/pkt_normalizer.h | 75 -- !/routing.h | 87 -- !/secure_channel.c | 388 -------- !/secure_channel.h | 68 -- !/test_udp_socket.c | 342 ------- !/test_udp_socket.h | 101 --- !/test_virtual_tun.c | 190 ---- !/test_virtual_tun.h | 55 -- !/tun_if.c | 339 ------- !/tun_if.h | 107 --- !/utun.c | 321 ------- !/utun.conf | 42 - !/utun_instance.c | 388 -------- !/utun_instance.c.backup | 314 ------- !/utun_instance.c1 | 230 ----- !/utun_instance.h | 72 -- !/utun_test_framework.c | 586 ------------ !/utun_test_framework.h | 114 --- !/utun_test_hooks.c | 30 - !/utun_test_hooks.h | 126 --- !/utun_test_socket_api.c | 117 --- !/utun_test_socket_api.h | 52 -- src/Makefile.am | 1 + src/etcp.c | 32 +- src/etcp_connections.c | 2 +- src/pkt_normalizer.c | 13 +- src/pkt_normalizer.h | 2 +- !/routing.c => src/route_lib.c | 73 +- src/route_lib.h | 200 ++++ !/routing.txt => src/route_lib.txt | 0 src/routing.c | 504 ++++------ src/routing.h | 201 +--- src/routing.txt | 7 - src/tun_if.c | 73 +- src/tun_if.h | 19 +- src/utun.c | 2 +- src/utun_instance.c | 48 + src/utun_instance.h | 5 +- tests/Makefile.am | 5 +- tests/test_etcp_100_packets | Bin 471032 -> 492112 bytes tests/test_etcp_100_packets.c | 8 +- tests/test_etcp_minimal | Bin 311584 -> 484256 bytes tests/test_etcp_simple_traffic | Bin 485088 -> 506056 bytes tests/test_etcp_simple_traffic.c | 5 +- tests/test_etcp_two_instances | Bin 468720 -> 493720 bytes tests/test_pkt_normalizer_etcp | Bin 483184 -> 508176 bytes tests/test_pkt_normalizer_etcp.c | 4 +- tests/test_pkt_normalizer_standalone | Bin 302984 -> 345896 bytes tests/test_pkt_normalizer_standalone.c | 2 +- 69 files changed, 623 insertions(+), 12595 deletions(-) delete mode 100755 !/Makefile.am delete mode 100755 !/config_parser.c delete mode 100755 !/config_parser.h delete mode 100755 !/config_updater.c delete mode 100755 !/config_updater.h delete mode 100755 !/crc32.c delete mode 100755 !/crc32.h delete mode 100755 !/etcp.c delete mode 100755 !/etcp.c1 delete mode 100755 !/etcp.c2 delete mode 100755 !/etcp.c_ delete mode 100755 !/etcp.h delete mode 100755 !/etcp_connections.c delete mode 100755 !/etcp_connections.c1 delete mode 100755 !/etcp_connections.h delete mode 100755 !/etcp_loadbalancer.c delete mode 100755 !/etcp_loadbalancer.h delete mode 100755 !/fix.patch delete mode 100755 !/packet_dump.h delete mode 100755 !/pkt_normalizer.c delete mode 100755 !/pkt_normalizer.h delete mode 100755 !/routing.h delete mode 100755 !/secure_channel.c delete mode 100755 !/secure_channel.h delete mode 100755 !/test_udp_socket.c delete mode 100755 !/test_udp_socket.h delete mode 100755 !/test_virtual_tun.c delete mode 100755 !/test_virtual_tun.h delete mode 100755 !/tun_if.c delete mode 100755 !/tun_if.h delete mode 100755 !/utun.c delete mode 100755 !/utun.conf delete mode 100755 !/utun_instance.c delete mode 100755 !/utun_instance.c.backup delete mode 100755 !/utun_instance.c1 delete mode 100755 !/utun_instance.h delete mode 100755 !/utun_test_framework.c delete mode 100755 !/utun_test_framework.h delete mode 100755 !/utun_test_hooks.c delete mode 100755 !/utun_test_hooks.h delete mode 100644 !/utun_test_socket_api.c delete mode 100644 !/utun_test_socket_api.h rename !/routing.c => src/route_lib.c (78%) mode change 100755 => 100644 create mode 100644 src/route_lib.h rename !/routing.txt => src/route_lib.txt (100%) mode change 100755 => 100644 delete mode 100644 src/routing.txt diff --git a/!/Makefile.am b/!/Makefile.am deleted file mode 100755 index a04a4f73..00000000 --- a/!/Makefile.am +++ /dev/null @@ -1,45 +0,0 @@ -bin_PROGRAMS = utun - -utun_SOURCES = \ - utun.c \ - utun_instance.c \ - config_parser.c \ - config_updater.c \ - routing.c \ - tun_if.c \ - etcp.c \ - etcp_connections.c \ - etcp_loadbalancer.c \ - secure_channel.c \ - crc32.c \ - pkt_normalizer.c \ - utun_test_hooks.c \ - $(top_srcdir)/tinycrypt/lib/source/aes_encrypt.c \ - $(top_srcdir)/tinycrypt/lib/source/aes_decrypt.c \ - $(top_srcdir)/tinycrypt/lib/source/cbc_mode.c \ - $(top_srcdir)/tinycrypt/lib/source/ccm_mode.c \ - $(top_srcdir)/tinycrypt/lib/source/cmac_mode.c \ - $(top_srcdir)/tinycrypt/lib/source/ctr_mode.c \ - $(top_srcdir)/tinycrypt/lib/source/ecc.c \ - $(top_srcdir)/tinycrypt/lib/source/ecc_dh.c \ - $(top_srcdir)/tinycrypt/lib/source/ecc_dsa.c \ - $(top_srcdir)/tinycrypt/lib/source/ecc_platform_specific.c \ - $(top_srcdir)/tinycrypt/lib/source/hmac.c \ - $(top_srcdir)/tinycrypt/lib/source/sha256.c \ - $(top_srcdir)/tinycrypt/lib/source/utils.c - -utun_CFLAGS = \ - -I$(top_srcdir)/lib \ - -I$(top_srcdir)/tinycrypt/lib/include \ - -I$(top_srcdir)/tinycrypt/lib/source \ - $(DEBUG_FLAGS) - -utun_LDADD = \ - $(top_builddir)/lib/libuasync.a \ - -lpthread \ - -lm - -# Install directories -install-exec-hook: - $(MKDIR_P) $(DESTDIR)$(bindir) - $(MKDIR_P) $(DESTDIR)$(sysconfdir)/utun diff --git a/!/config_parser.c b/!/config_parser.c deleted file mode 100755 index 1e1ad4b4..00000000 --- a/!/config_parser.c +++ /dev/null @@ -1,586 +0,0 @@ -// config_parser.c - Configuration parser for utun application (updated for new structures) -#define _POSIX_C_SOURCE 200809L -#include "config_parser.h" -#include -#include -#include -#include -#include "../lib/debug_config.h" -#include -#include -#include -#include -#include -#include - -#define MAX_LINE_LEN 1024 -#define INITIAL_ARRAY_CAPACITY 8 - -typedef enum { - SECTION_UNKNOWN, - SECTION_GLOBAL, - SECTION_SERVER, - SECTION_CLIENT, - SECTION_ROUTING -} section_type_t; - -static char* trim(char *str) { - if (!str) return NULL; - while (isspace((unsigned char)*str)) str++; - char *end = str + strlen(str) - 1; - while (end > str && isspace((unsigned char)*end)) end--; - *(end + 1) = '\0'; - return str; -} - -static int parse_key_value(const char *line, char *key, size_t key_len, char *value, size_t value_len) { - char *equal = strchr(line, '='); - if (!equal) return -1; - - size_t key_size = equal - line; - if (key_size >= key_len) return -1; - strncpy(key, line, key_size); - key[key_size] = '\0'; - trim(key); - - const char *val_start = equal + 1; - size_t val_len = strlen(val_start); - if (val_len >= value_len) return -1; - strcpy(value, val_start); - trim(value); - - return 0; -} - -static int assign_string(char *dest, size_t dest_size, const char *src) { - if (!dest || !src || strlen(src) >= dest_size) return -1; - strcpy(dest, src); - return 0; -} - -static int parse_ip_with_netmask(const char *str, struct IP *ip, uint8_t *netmask) { - char ip_str[64]; - strncpy(ip_str, str, sizeof(ip_str) - 1); - ip_str[sizeof(ip_str) - 1] = '\0'; - - char *slash = strchr(ip_str, '/'); - if (slash) { - *slash = '\0'; - *netmask = atoi(slash + 1); - } else { - *netmask = 32; // Default IPv4 netmask - } - - // Try IPv4 first - struct in_addr addr4; - if (inet_pton(AF_INET, ip_str, &addr4) == 1) { - ip->family = AF_INET; - ip->addr.v4 = addr4; - return 0; - } - - // Try IPv6 - struct in6_addr addr6; - if (inet_pton(AF_INET6, ip_str, &addr6) == 1) { - ip->family = AF_INET6; - ip->addr.v6 = addr6; - if (*netmask == 32) *netmask = 128; // Default IPv6 netmask - return 0; - } - - DEBUG_ERROR(DEBUG_CATEGORY_CONFIG, "parse_ip_with_netmask: invalid IP address format: %s", str); - return -1; -} - -static int parse_sockaddr(const char *addr_str, const char *port_str, struct sockaddr_storage *sockaddr) { - struct addrinfo hints = {0}; - hints.ai_family = AF_UNSPEC; - hints.ai_socktype = SOCK_DGRAM; - - struct addrinfo *result; - if (getaddrinfo(addr_str, port_str, &hints, &result) != 0) { - return -1; - } - - memcpy(sockaddr, result->ai_addr, result->ai_addrlen); - freeaddrinfo(result); - return 0; -} - -static int parse_address_and_port(const char *str, struct sockaddr_storage *sockaddr) { - char addr_copy[MAX_ADDR_LEN]; - if (strlen(str) >= sizeof(addr_copy)) return -1; - strcpy(addr_copy, str); - - char *port_str = strrchr(addr_copy, ':'); - if (!port_str) return -1; - - *port_str = '\0'; - port_str++; - - return parse_sockaddr(addr_copy, port_str, sockaddr); -} - -static uint32_t get_netif_index(const char *ifname) { - if (!ifname || strlen(ifname) == 0) return 0; - return if_nametoindex(ifname); -} - -static struct CFG_CLIENT_LINK* create_client_link(struct CFG_SERVER* local_srv, const char *remote_addr) { - struct CFG_CLIENT_LINK *link = calloc(1, sizeof(struct CFG_CLIENT_LINK)); - if (!link) { - DEBUG_ERROR(DEBUG_CATEGORY_MEMORY, "create_client_link: failed to allocate memory for client link"); - return NULL; - } - - link->local_srv = local_srv; - - if (parse_address_and_port(remote_addr, &link->remote_addr) < 0) { - free(link); - return NULL; - } - - link->next = NULL; - return link; -} - -static void free_cfg_client_links(struct CFG_CLIENT_LINK *links) { - while (links) { - struct CFG_CLIENT_LINK *next = links->next; - free(links); - links = next; - } -} - -static struct CFG_ROUTE_ENTRY* create_route_entry(const char *subnet_str) { - struct CFG_ROUTE_ENTRY *entry = calloc(1, sizeof(struct CFG_ROUTE_ENTRY)); - if (!entry) { - DEBUG_ERROR(DEBUG_CATEGORY_MEMORY, "create_route_entry: failed to allocate memory for route entry"); - return NULL; - } - - if (parse_ip_with_netmask(subnet_str, &entry->ip, &entry->netmask) < 0) { - free(entry); - return NULL; - } - - entry->next = NULL; - return entry; -} - -static void free_route_entries(struct CFG_ROUTE_ENTRY *entries) { - while (entries) { - struct CFG_ROUTE_ENTRY *next = entries->next; - free(entries); - entries = next; - } -} - -static int add_route_entry(struct CFG_ROUTE_ENTRY **list, const char *subnet_str) { - struct CFG_ROUTE_ENTRY *new_entry = create_route_entry(subnet_str); - if (!new_entry) return -1; - - // Add to head of list - new_entry->next = *list; - *list = new_entry; - return 0; -} - -static struct CFG_SERVER* find_server_by_name(struct CFG_SERVER *servers, const char *name) { - struct CFG_SERVER *srv = servers; - while (srv) { - if (strcmp(srv->name, name) == 0) { - return srv; - } - srv = srv->next; - } - return NULL; -} - -static int parse_global(const char *key, const char *value, struct global_config *global) { - if (strcmp(key, "my_private_key") == 0) { - return assign_string(global->my_private_key_hex, MAX_KEY_LEN, value); - } - if (strcmp(key, "my_public_key") == 0) { - return assign_string(global->my_public_key_hex, MAX_KEY_LEN, value); - } - if (strcmp(key, "my_node_id") == 0) { - global->my_node_id = strtoull(value, NULL, 16); - return 0; - } - if (strcmp(key, "tun_ifname") == 0) { - snprintf(global->tun_ifname, sizeof(global->tun_ifname), "%s", value); - return 0; - } - if (strcmp(key, "tun_ip") == 0) { - uint8_t netmask; - return parse_ip_with_netmask(value, &global->tun_ip, &netmask); - } - if (strcmp(key, "mtu") == 0) { - global->mtu = atoi(value); - return 0; - } - if (strcmp(key, "control_ip") == 0) { - // Store for later processing with control_port - return 0; // We'll handle this when we see control_port - } - if (strcmp(key, "control_port") == 0) { - // This is tricky - we need to get control_ip from previous parsing - // For now, we'll use a simple approach - struct global_config temp_global = *global; - // Assume we stored control_ip somewhere or use default - char control_ip[MAX_ADDR_LEN] = "127.0.0.1"; // Default - char port_str[16]; - snprintf(port_str, sizeof(port_str), "%s", value); - parse_sockaddr(control_ip, port_str, &global->control_sock); - return 0; - } - if (strcmp(key, "net_debug") == 0) { - global->net_debug = atoi(value); - return 0; - } - return 0; -} - -static int parse_server(const char *key, const char *value, struct CFG_SERVER *srv) { - if (strcmp(key, "addr") == 0) { - return parse_address_and_port(value, &srv->ip); - } - if (strcmp(key, "so_mark") == 0) { - srv->so_mark = atoi(value); - return 0; - } - if (strcmp(key, "netif") == 0) { - srv->netif_index = get_netif_index(value); - return 0; - } - if (strcmp(key, "type") == 0) { - if (strcmp(value, "public") == 0) { - srv->type = CFG_SERVER_TYPE_PUBLIC; - } else if (strcmp(value, "nat") == 0) { - srv->type = CFG_SERVER_TYPE_NAT; - } else if (strcmp(value, "private") == 0) { - srv->type = CFG_SERVER_TYPE_PRIVATE; - } else { - srv->type = CFG_SERVER_TYPE_UNKNOWN; - } - return 0; - } - return 0; -} - -static int parse_client(const char *key, const char *value, struct CFG_CLIENT *cli, struct CFG_SERVER *servers) { - if (strcmp(key, "link") == 0) { - char link_copy[MAX_CONN_NAME_LEN + MAX_ADDR_LEN]; - if (strlen(value) >= sizeof(link_copy)) return -1; - strcpy(link_copy, value); - - // Find first colon (separator between server and ip:port) - char *first_colon = strchr(link_copy, ':'); - if (!first_colon) return -1; - - *first_colon = '\0'; - - // Find server by name - struct CFG_SERVER *local_srv = find_server_by_name(servers, link_copy); - if (!local_srv) { - DEBUG_ERROR(DEBUG_CATEGORY_CONFIG, "parse_client: server '%s' not found for client link", link_copy); - return -1; - } - - struct CFG_CLIENT_LINK *new_link = create_client_link(local_srv, first_colon + 1); - if (!new_link) return -1; - - // Add to linked list (prepend) - new_link->next = cli->links; - cli->links = new_link; - - return 0; - } - - if (strcmp(key, "peer_public_key") == 0) { - return assign_string(cli->peer_public_key_hex, MAX_KEY_LEN, value); - } - - if (strcmp(key, "keepalive") == 0) { - cli->keepalive = atoi(value); - return 0; - } - - return 0; -} - -static section_type_t parse_section_header(const char *line, char *name, size_t name_len) { - if (line[0] != '[') return SECTION_UNKNOWN; - - size_t line_len = strlen(line); - if (line[line_len - 1] != ']') return SECTION_UNKNOWN; - - char section[128]; - if (line_len - 2 >= sizeof(section)) return SECTION_UNKNOWN; - - strncpy(section, line + 1, line_len - 2); - section[line_len - 2] = '\0'; - trim(section); - - if (strcasecmp(section, "global") == 0) return SECTION_GLOBAL; - if (strcasecmp(section, "routing") == 0) return SECTION_ROUTING; - - char *colon = strchr(section, ':'); - if (!colon) return SECTION_UNKNOWN; - - *colon = '\0'; - char *type = trim(section); - char *n = trim(colon + 1); - - if (strlen(n) >= name_len) return SECTION_UNKNOWN; - strcpy(name, n); - - if (strcasecmp(type, "server") == 0) return SECTION_SERVER; - if (strcasecmp(type, "client") == 0) return SECTION_CLIENT; - - return SECTION_UNKNOWN; -} - -static struct utun_config* parse_config_internal(FILE *fp, const char *filename) { - struct utun_config *cfg = calloc(1, sizeof(struct utun_config)); - if (!cfg) { - DEBUG_ERROR(DEBUG_CATEGORY_MEMORY, "parse_config_internal: failed to allocate memory for config structure"); - return NULL; - } - - section_type_t cur_section = SECTION_UNKNOWN; - struct CFG_SERVER *cur_server = NULL; - struct CFG_CLIENT *cur_client = NULL; - char line[MAX_LINE_LEN]; - int line_num = 0; - - while (fgets(line, sizeof(line), fp)) { - line_num++; - char *trimmed = trim(line); - - if (trimmed[0] == '\0' || trimmed[0] == '#') continue; - - if (trimmed[0] == '[') { - // Handle previous section - if (cur_section == SECTION_SERVER && cur_server) { - // Add server to linked list - cur_server->next = cfg->servers; - cfg->servers = cur_server; - cur_server = NULL; - } - if (cur_section == SECTION_CLIENT && cur_client) { - // Add client to linked list - cur_client->next = cfg->clients; - cfg->clients = cur_client; - cur_client = NULL; - } - - char name[MAX_CONN_NAME_LEN]; - cur_section = parse_section_header(trimmed, name, sizeof(name)); - - if (cur_section == SECTION_SERVER) { - cur_server = calloc(1, sizeof(struct CFG_SERVER)); - if (!cur_server) { - DEBUG_ERROR(DEBUG_CATEGORY_MEMORY, "parse_config_internal: failed to allocate memory for server %s", name); - goto error; - } - strcpy(cur_server->name, name); - } else if (cur_section == SECTION_CLIENT) { - cur_client = calloc(1, sizeof(struct CFG_CLIENT)); - if (!cur_client) { - DEBUG_ERROR(DEBUG_CATEGORY_MEMORY, "parse_config_internal: failed to allocate memory for client %s", name); - goto error; - } - strcpy(cur_client->name, name); - } - continue; - } - - char key[MAX_LINE_LEN], value[MAX_LINE_LEN]; - if (parse_key_value(trimmed, key, sizeof(key), value, sizeof(value)) < 0) { - printf( "%s:%d: Invalid key=value format", filename, line_num); - continue; - } - - switch (cur_section) { - case SECTION_GLOBAL: - if (parse_global(key, value, &cfg->global) < 0) { - printf( "%s:%d: Invalid global key '%s'", filename, line_num, key); - } - break; - case SECTION_SERVER: - if (cur_server && parse_server(key, value, cur_server) < 0) { - printf( "%s:%d: Invalid server key '%s'", filename, line_num, key); - } - break; - case SECTION_CLIENT: - if (cur_client && parse_client(key, value, cur_client, cfg->servers) < 0) { - printf( "%s:%d: Invalid client key '%s'", filename, line_num, key); - } - break; - case SECTION_ROUTING: - if (strcmp(key, "allowed_subnet") == 0) { - add_route_entry(&cfg->allowed_subnets, value); - } else if (strcmp(key, "my_subnet") == 0) { - add_route_entry(&cfg->my_subnets, value); - } - break; - default: - printf( "%s:%d: Key outside section: %s", filename, line_num, key); - break; - } - } - - // Handle final sections - if (cur_section == SECTION_SERVER && cur_server) { - cur_server->next = cfg->servers; - cfg->servers = cur_server; - } - if (cur_section == SECTION_CLIENT && cur_client) { - cur_client->next = cfg->clients; - cfg->clients = cur_client; - } - - // Set default TUN interface name if not provided - if (cfg->global.tun_ifname[0] == '\0') { - snprintf(cfg->global.tun_ifname, sizeof(cfg->global.tun_ifname), "tun0"); - DEBUG_INFO(DEBUG_CATEGORY_CONFIG, "Auto-generated TUN interface name: %s", cfg->global.tun_ifname); - } - - return cfg; - -error: - if (cur_server) free(cur_server); - if (cur_client) { - free_cfg_client_links(cur_client->links); - free(cur_client); - } - free_config(cfg); - return NULL; -} - -struct utun_config* parse_config(const char *filename) { - printf("[CONFIG DEBUG] Opening config file: %s\n", filename); - FILE *fp = fopen(filename, "r"); - if (!fp) { - printf("[CONFIG ERROR] Failed to open config file: %s (errno=%d)\n", filename, errno); - return NULL; - } - - printf("[CONFIG DEBUG] Successfully opened config file\n"); - struct utun_config *config = parse_config_internal(fp, filename); - fclose(fp); - return config; -} - -void free_config(struct utun_config *config) { - if (!config) return; - - // Free servers - struct CFG_SERVER *server = config->servers; - while (server) { - struct CFG_SERVER *next = server->next; - free(server); - server = next; - } - - // Free clients and their links - struct CFG_CLIENT *client = config->clients; - while (client) { - struct CFG_CLIENT *next = client->next; - free_cfg_client_links(client->links); - free(client); - client = next; - } - - // Free route entries - free_route_entries(config->allowed_subnets); - free_route_entries(config->my_subnets); - - free(config); -} - -static const char* ip_to_string(const struct IP *ip, char *buffer, size_t buffer_size) { - if (ip->family == AF_INET) { - inet_ntop(AF_INET, &ip->addr.v4, buffer, buffer_size); - } else if (ip->family == AF_INET6) { - inet_ntop(AF_INET6, &ip->addr.v6, buffer, buffer_size); - } else { - snprintf(buffer, buffer_size, "invalid"); - } - return buffer; -} - -void print_config(const struct utun_config *cfg) { - if (!cfg) return; - - const struct global_config *g = &cfg->global; - char ip_buffer[64]; - - printf("Global:\n"); - printf(" Private key: %s\n", g->my_private_key_hex); - printf(" Public key: %s\n", g->my_public_key_hex); - printf(" Node ID: %llx\n", (unsigned long long)g->my_node_id); - printf(" TUN interface: %s\n", g->tun_ifname[0] ? g->tun_ifname : "auto"); - printf(" TUN IP: %s\n", ip_to_string(&g->tun_ip, ip_buffer, sizeof(ip_buffer))); - printf(" MTU: %d\n", g->mtu); - printf(" Net debug: %d\n", g->net_debug); - - printf("\nServers:\n"); - struct CFG_SERVER *s = cfg->servers; - while (s) { - char addr_buffer[64]; - struct sockaddr_in *sin = (struct sockaddr_in *)&s->ip; - inet_ntop(AF_INET, &sin->sin_addr, addr_buffer, sizeof(addr_buffer)); - printf(" %s: %s:%d (mark=%d, netif=%u, type=%u)\n", - s->name, addr_buffer, ntohs(sin->sin_port), - s->so_mark, s->netif_index, s->type); - s = s->next; - } - - printf("\nClients:\n"); - struct CFG_CLIENT *c = cfg->clients; - while (c) { - printf(" %s:\n", c->name); - struct CFG_CLIENT_LINK *link = c->links; - int link_num = 1; - while (link) { - char addr_buffer[64]; - struct sockaddr_in *sin = (struct sockaddr_in *)&link->remote_addr; - inet_ntop(AF_INET, &sin->sin_addr, addr_buffer, sizeof(addr_buffer)); - printf(" Link %d: %s:%d (via %s)\n", link_num++, addr_buffer, ntohs(sin->sin_port), link->local_srv->name); - link = link->next; - } - printf(" Peer key: %s\n", c->peer_public_key_hex); - printf(" Keepalive: %d\n", c->keepalive); - c = c->next; - } - - printf("\nAllowed Subnets:\n"); - struct CFG_ROUTE_ENTRY *allowed = cfg->allowed_subnets; - while (allowed) { - printf(" %s/%d\n", ip_to_string(&allowed->ip, ip_buffer, sizeof(ip_buffer)), allowed->netmask); - allowed = allowed->next; - } - - printf("\nMy Subnets:\n"); - struct CFG_ROUTE_ENTRY *my = cfg->my_subnets; - while (my) { - printf(" %s/%d\n", ip_to_string(&my->ip, ip_buffer, sizeof(ip_buffer)), my->netmask); - my = my->next; - } -} - -int update_config_keys(const char *filename, const char *priv_key, const char *pub_key) { - // Minimal implementation: just append to file - FILE *fp = fopen(filename, "a"); - if (!fp) return -1; - - fprintf(fp, "\n[global]\n"); - fprintf(fp, "my_private_key=%s\n", priv_key); - fprintf(fp, "my_public_key=%s\n", pub_key); - - fclose(fp); - return 0; -} \ No newline at end of file diff --git a/!/config_parser.h b/!/config_parser.h deleted file mode 100755 index 93861f89..00000000 --- a/!/config_parser.h +++ /dev/null @@ -1,89 +0,0 @@ -// config_parser.h - Configuration parser for utun application -#ifndef CONFIG_PARSER_H -#define CONFIG_PARSER_H - -#include -#include -#include -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -#define MAX_CONN_NAME_LEN 64 -#define MAX_KEY_LEN 256 -#define MAX_ADDR_LEN 64 - -struct IP { - sa_family_t family; - union { - struct in_addr v4; - struct in6_addr v6; - } addr; -}; - -#define CFG_SERVER_TYPE_UNKNOWN 0 -#define CFG_SERVER_TYPE_PUBLIC 1 -#define CFG_SERVER_TYPE_NAT 2 -#define CFG_SERVER_TYPE_PRIVATE 3 - -struct CFG_SERVER { - struct CFG_SERVER* next; - char name[MAX_CONN_NAME_LEN]; - struct sockaddr_storage ip; // ip:port - uint32_t netif_index;// if_nameindex, 0 - no interface specified - int so_mark; - uint8_t type; // public/nat/private -}; - -struct CFG_CLIENT_LINK { - struct CFG_CLIENT_LINK *next; // Next link in linked list - struct CFG_SERVER* local_srv; - struct sockaddr_storage remote_addr; // ip:port -}; - -struct CFG_CLIENT { - char name[MAX_CONN_NAME_LEN]; - char peer_public_key_hex[MAX_KEY_LEN]; - int keepalive; - struct CFG_CLIENT_LINK *links; // Linked list of links - struct CFG_CLIENT *next; // Next client in linked list -}; - -struct CFG_ROUTE_ENTRY { - struct CFG_ROUTE_ENTRY* next; - struct IP ip; - uint8_t netmask; -}; - -struct global_config { - char my_private_key_hex[MAX_KEY_LEN]; - char my_public_key_hex[MAX_KEY_LEN]; - uint64_t my_node_id; - char tun_ifname[16]; // TUN interface name (e.g., "tun12") - struct IP tun_ip; - int mtu; - struct sockaddr_storage control_sock; - int net_debug; -}; - -struct utun_config { - struct global_config global; - struct CFG_SERVER* servers; - struct CFG_CLIENT* clients; - struct CFG_ROUTE_ENTRY* allowed_subnets; - struct CFG_ROUTE_ENTRY* my_subnets; -}; - -struct utun_config* parse_config(const char *filename); -void free_config(struct utun_config *config); -void print_config(const struct utun_config *config); -int update_config_keys(const char *filename, const char *priv_key, const char *pub_key); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/!/config_updater.c b/!/config_updater.c deleted file mode 100755 index 8fa3d797..00000000 --- a/!/config_updater.c +++ /dev/null @@ -1,427 +0,0 @@ -// config_updater.c - Configuration file updater implementation -#define _POSIX_C_SOURCE 200809L -#include "config_updater.h" -#include "config_parser.h" -#include "secure_channel.h" -#include "debug_config.h" -#include -#include -#include -#include -#include -#include -#include - -#define PRIV_HEXKEY_LEN 65 // 32 bytes * 2 hex chars + null -#define PUB_HEXKEY_LEN 129 // 64 bytes * 2 hex chars + null -#define HEXNODEID_LEN 17 // 8 bytes * 2 hex chars + null -#define MAX_LINE_LEN 1024 - -void bytes_to_hex(const uint8_t *bytes, size_t len, char *hex_str, size_t hex_len) { - if (!bytes || !hex_str || hex_len < len * 2 + 1) { - if (hex_str && hex_len > 0) hex_str[0] = '\0'; - return; - } - for (size_t i = 0; i < len; i++) { - snprintf(hex_str + i * 2, hex_len - i * 2, "%02x", bytes[i]); - - } - hex_str[len * 2] = '\0'; -} - - -static int is_valid_priv_key(const char *key) { - if (!key || strlen(key) != 64) return 0; - for (int i = 0; i < 64; i++) { - if (!isxdigit((unsigned char)key[i])) return 0; - } - return 1; -} - -static int is_valid_pub_key(const char *key) { - if (!key || strlen(key) != 128) return 0; - for (int i = 0; i < 128; i++) { - if (!isxdigit((unsigned char)key[i])) return 0; - } - return 1; -} - -static int is_valid_node_id(uint64_t node_id) { - return node_id != 0; -} - -static int read_file_to_mem(const char *filename, char **buffer, size_t *size) { - FILE *fp = fopen(filename, "r"); - - if (!fp) return -1; - - fseek(fp, 0, SEEK_END); - - long file_size = ftell(fp); - - if (file_size < 0) { - fclose(fp); - - return -1; - } - fseek(fp, 0, SEEK_SET); - - - *buffer = malloc(file_size + 1); - - if (!*buffer) { - fclose(fp); - - return -1; - } - - size_t read_size = fread(*buffer, 1, file_size, fp); - - if (read_size != (size_t)file_size) { - free(*buffer); - - fclose(fp); - - return -1; - } - - (*buffer)[file_size] = '\0'; - *size = file_size; - fclose(fp); - - return 0; -} - -static int write_mem_to_file(const char *filename, const char *buffer, size_t size) { - FILE *fp = fopen(filename, "w"); - - if (!fp) return -1; - - size_t written = fwrite(buffer, 1, size, fp); - - if (written != size) { - fclose(fp); - - return -1; - } - - fclose(fp); - - return 0; -} - -static char* find_section_global(char *buf, size_t buf_len) { - char *p = buf; - while (p < buf + buf_len) { - if (p[0] == '[' && strncmp(p + 1, "global", 6) == 0) { - char *end = strchr(p, ']'); - - if (end) return end + 1; - } - p = strchr(p, '\n'); - - if (!p) break; - p++; // skip '\n' - } - return NULL; -} - -static char* find_option(char *buf, size_t buf_len, const char *option) { - char *p = buf; - while (p < buf + buf_len) { - if (strncmp(p, option, strlen(option)) == 0) { - char *after_key = p + strlen(option); - - if (after_key[0] == '=') return p; - } - p = strchr(p, '\n'); - - if (!p) break; - p++; - } - return NULL; -} - -static int insert_or_replace_option(char **buf, size_t *buf_len, size_t *buf_capacity, const char *option, const char *value) { - if (!buf || !*buf || !buf_len || !buf_capacity || !option || !value) return -1; - - // Check if option already exists - char *opt_pos = find_option(*buf, *buf_len, option); - - if (opt_pos) { - // Find option line end - char *line_end = strchr(opt_pos, '\n'); - - if (!line_end) line_end = *buf + *buf_len; - - // Prepare new line - char new_line[MAX_LINE_LEN]; - int new_len = snprintf(new_line, sizeof(new_line), "%s=%s\n", option, value); - - if (new_len <= 0 || new_len >= (int)sizeof(new_line)) return -1; - - // Calculate length difference - size_t old_line_len = line_end - opt_pos + 1; - long len_diff = new_len - old_line_len; - - // Ensure buffer capacity - if (*buf_len + len_diff + 1 > *buf_capacity) { - *buf_capacity = *buf_len + len_diff + 1024; - char *new_buf = realloc(*buf, *buf_capacity); - - if (!new_buf) return -1; - *buf = new_buf; - // Recalculate positions after realloc - opt_pos = find_option(*buf, *buf_len, option); - - if (!opt_pos) return -1; - line_end = strchr(opt_pos, '\n'); - - if (!line_end) line_end = *buf + *buf_len; - } - - // Move content and insert new line - memmove(opt_pos + new_len, line_end, *buf_len - (line_end - *buf) + 1); - - memcpy(opt_pos, new_line, new_len); - - *buf_len += len_diff; - - } else { - // Insert after [global] section - char *section_end = find_section_global(*buf, *buf_len); - - if (!section_end) return -1; - - // Find end of global section (next [ or end of buffer) - char *insert_pos = strchr(section_end, '['); - - if (!insert_pos) insert_pos = *buf + *buf_len; - else { - // Move to beginning of next line - char *prev_nl = insert_pos; - while (prev_nl > *buf && *prev_nl != '\n') prev_nl--; - if (*prev_nl == '\n') insert_pos = prev_nl + 1; - } - - // Prepare new line - char new_line[MAX_LINE_LEN]; - int new_len = snprintf(new_line, sizeof(new_line), "%s=%s\n", option, value); - - if (new_len <= 0 || new_len >= (int)sizeof(new_line)) return -1; - - // Ensure buffer capacity - if (*buf_len + new_len + 1 > *buf_capacity) { - *buf_capacity = *buf_len + new_len + 1024; - char *new_buf = realloc(*buf, *buf_capacity); - - if (!new_buf) return -1; - *buf = new_buf; - // Recalculate insert position after realloc - section_end = find_section_global(*buf, *buf_len); - - if (!section_end) return -1; - insert_pos = strchr(section_end, '['); - - if (!insert_pos) insert_pos = *buf + *buf_len; - else { - char *prev_nl = insert_pos; - while (prev_nl > *buf && *prev_nl != '\n') prev_nl--; - if (*prev_nl == '\n') insert_pos = prev_nl + 1; - } - } - - // Move content and insert new line - memmove(insert_pos + new_len, insert_pos, *buf_len - (insert_pos - *buf) + 1); - - memcpy(insert_pos, new_line, new_len); - - *buf_len += new_len; - } - - return 0; -} - -int config_ensure_keys_and_node_id(const char *filename) { - struct utun_config *config = parse_config(filename); - - if (!config) { - printf("[CONFIG ERROR] Failed to parse config: %s\n", filename); - - return -1; - } - - struct global_config *global = &config->global; - - // Debug: print what we found - printf("[CONFIG DEBUG] Checking config - priv_key='%s' (len=%zu), pub_key='%s' (len=%zu), node_id=%llu\n", - global->my_private_key_hex ? global->my_private_key_hex : "NULL", - global->my_private_key_hex ? strlen(global->my_private_key_hex) : 0, - global->my_public_key_hex ? global->my_public_key_hex : "NULL", - global->my_public_key_hex ? strlen(global->my_public_key_hex) : 0, - (unsigned long long)global->my_node_id); - - - // Check if we need to generate anything - int need_priv_key = !is_valid_priv_key(global->my_private_key_hex); - - int need_pub_key = !is_valid_pub_key(global->my_public_key_hex); - - int need_node_id = !is_valid_node_id(global->my_node_id); - - - printf("[CONFIG DEBUG] Validation results - need_priv_key=%d, need_pub_key=%d, need_node_id=%d\n", - need_priv_key, need_pub_key, need_node_id); - - - if (!need_priv_key && !need_pub_key && !need_node_id) { - free_config(config); - - return 0; - } - - // Generate keys if needed - char new_priv_key[PRIV_HEXKEY_LEN] = {0}; - char new_pub_key[PUB_HEXKEY_LEN] = {0}; - uint64_t new_node_id = 0; - - if (need_priv_key) { - // Generate new keypair if private key is invalid - struct SC_MYKEYS mykeys; - if (sc_generate_keypair(&mykeys) != SC_OK) { - printf( "Failed to generate keypair"); - - free_config(config); - - return -1; - } - bytes_to_hex(mykeys.private_key, SC_PRIVKEY_SIZE, new_priv_key, sizeof(new_priv_key)); - - bytes_to_hex(mykeys.public_key, SC_PUBKEY_SIZE, new_pub_key, sizeof(new_pub_key)); - - } else if (need_pub_key) { - // Compute public key from existing private key - uint8_t priv_bin[SC_PRIVKEY_SIZE]; - uint8_t pub_bin[SC_PUBKEY_SIZE]; - - // Convert private key from hex to binary - for (int i = 0; i < SC_PRIVKEY_SIZE; i++) { - unsigned int byte; - if (sscanf(global->my_private_key_hex + i * 2, "%2x", &byte) != 1) { - printf( "Invalid private key hex format"); - - free_config(config); - - return -1; - } - priv_bin[i] = (uint8_t)byte; - } - - // Compute public key - if (sc_compute_public_key_from_private(priv_bin, pub_bin) != SC_OK) { - printf( "Failed to compute public key from private key"); - - free_config(config); - - return -1; - } - - // Convert to hex - bytes_to_hex(priv_bin, SC_PRIVKEY_SIZE, new_priv_key, sizeof(new_priv_key)); - - bytes_to_hex(pub_bin, SC_PUBKEY_SIZE, new_pub_key, sizeof(new_pub_key)); - - } - - if (need_node_id) { - int fd = open("/dev/urandom", O_RDONLY); - - if (fd < 0) { - printf( "Failed to open /dev/urandom"); - - free_config(config); - - return -1; - } - if (read(fd, &new_node_id, sizeof(new_node_id)) != sizeof(new_node_id)) { - close(fd); - - printf( "Failed to read random bytes for node_id"); - - free_config(config); - - return -1; - } - close(fd); - - new_node_id &= 0x7FFFFFFFFFFFFFFF; - } - - free_config(config); - - - // Read entire config file to memory - char *file_buf = NULL; - size_t file_size = 0; - if (read_file_to_mem(filename, &file_buf, &file_size) < 0) { - printf( "Failed to read config file: %s", filename); - - return -1; - } - - // Update config file - size_t buf_capacity = file_size + 1024; - char *work_buf = malloc(buf_capacity); - - if (!work_buf) { - free(file_buf); - - return -1; - } - memcpy(work_buf, file_buf, file_size); - - size_t work_len = file_size; - - int ret = 0; - - if (need_node_id) { - char node_id_hex[HEXNODEID_LEN + 1]; - snprintf(node_id_hex, sizeof(node_id_hex), "%llx", (unsigned long long)new_node_id); - - if (insert_or_replace_option(&work_buf, &work_len, &buf_capacity, "my_node_id", node_id_hex) < 0) { - ret = -1; - } - } - - if (need_priv_key && ret == 0) { - if (insert_or_replace_option(&work_buf, &work_len, &buf_capacity, "my_private_key", new_priv_key) < 0) { - ret = -1; - } - } - - if (need_pub_key && ret == 0) { - if (insert_or_replace_option(&work_buf, &work_len, &buf_capacity, "my_public_key", new_pub_key) < 0) { - ret = -1; - } - } - - if (ret == 0) { - printf("[CONFIG DEBUG] Writing updated config file, work_len=%zu\n", work_len); - - if (write_mem_to_file(filename, work_buf, work_len) < 0) { - printf( "Failed to write updated config file: %s", filename); - - ret = -1; - } else { - printf("[CONFIG DEBUG] Successfully updated config file: %s\n", filename); - - } - } - - free(file_buf); - - free(work_buf); - - - return ret; -} diff --git a/!/config_updater.h b/!/config_updater.h deleted file mode 100755 index 283f434f..00000000 --- a/!/config_updater.h +++ /dev/null @@ -1,23 +0,0 @@ -// config_updater.h - Configuration file updater -#ifndef CONFIG_UPDATER_H -#define CONFIG_UPDATER_H - -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -// Ensures config file has valid my_private_key, my_public_key, and my_node_id -// If any are missing or invalid, generates and updates them -// Returns 0 on success, -1 on error -int config_ensure_keys_and_node_id(const char *filename); - -void bytes_to_hex(const uint8_t *bytes, size_t len, char *hex_str, size_t hex_len); - -#ifdef __cplusplus -} -#endif - -#endif // CONFIG_UPDATER_H diff --git a/!/crc32.c b/!/crc32.c deleted file mode 100755 index 8ed4db45..00000000 --- a/!/crc32.c +++ /dev/null @@ -1,66 +0,0 @@ -// crc32.c - CRC32 checksum implementation -#include "crc32.h" -#include - -static uint32_t crc32_table[256]; -static int crc32_table_initialized = 0; - -static void init_crc32_table(void) { - if (crc32_table_initialized) return; - - for (uint32_t i = 0; i < 256; i++) { - uint32_t crc = i; - for (int j = 0; j < 8; j++) { - if (crc & 1) { - crc = (crc >> 1) ^ 0xEDB88320; - } else { - crc >>= 1; - } - } - crc32_table[i] = crc; - } - - crc32_table_initialized = 1; -} - -void crc32_init(void) { - init_crc32_table(); -} - -uint32_t crc32_calc(const uint8_t *data, size_t len) { - if (!crc32_table_initialized) { - init_crc32_table(); - } - - if (!data || len == 0) return 0xFFFFFFFF; - - uint32_t crc = 0xFFFFFFFF; - for (size_t i = 0; i < len; i++) { - uint8_t byte = data[i]; - uint32_t table_index = (crc ^ byte) & 0xFF; - crc = (crc >> 8) ^ crc32_table[table_index]; - } - - return ~crc; -} - -uint32_t crc32_calc_ex(const uint8_t *data, size_t len, uint32_t initial_crc) { - if (!crc32_table_initialized) { - init_crc32_table(); - } - - if (!data || len == 0) return initial_crc; - - uint32_t crc = initial_crc; - for (size_t i = 0; i < len; i++) { - uint8_t byte = data[i]; - uint32_t table_index = (crc ^ byte) & 0xFF; - crc = (crc >> 8) ^ crc32_table[table_index]; - } - - return crc; -} - -uint32_t crc32_update(uint32_t crc, const uint8_t *data, size_t len) { - return crc32_calc_ex(data, len, crc); -} \ No newline at end of file diff --git a/!/crc32.h b/!/crc32.h deleted file mode 100755 index ea1a334b..00000000 --- a/!/crc32.h +++ /dev/null @@ -1,19 +0,0 @@ -#ifndef CRC32_H -#define CRC32_H - -#include -#include - -// Initialize CRC32 table (called automatically on first use) -void crc32_init(void); - -// Calculate CRC32 checksum -uint32_t crc32_calc(const uint8_t *data, size_t len); - -// Calculate CRC32 with initial value -uint32_t crc32_calc_ex(const uint8_t *data, size_t len, uint32_t initial_crc); - -// Update CRC32 incrementally -uint32_t crc32_update(uint32_t crc, const uint8_t *data, size_t len); - -#endif // CRC32_H \ No newline at end of file diff --git a/!/etcp.c b/!/etcp.c deleted file mode 100755 index b4b0da02..00000000 --- a/!/etcp.c +++ /dev/null @@ -1,1112 +0,0 @@ -// etcp.c - ETCP Protocol Implementation (refactored and expanded based on etcp_protocol.txt) -#include "etcp.h" -#include "etcp_loadbalancer.h" -#include "../lib/u_async.h" -#include "../lib/debug_config.h" -#include "crc32.h" -#include -#include -#include -#include // For bandwidth calcs - -// Enable comprehensive debug output for ETCP module -#define DEBUG_CATEGORY_ETCP_DETAILED 1 - -// Constants from spec (adjusted for completeness) -#define MAX_INFLIGHT_BYTES 65536 // Initial window -#define RETRANS_K1 2.0f // RTT multiplier for retrans timeout -#define RETRANS_K2 1.5f // Jitter multiplier -#define ACK_DELAY_TB 20 // ACK timer delay (2ms in 0.1ms units) -#define BURST_DELAY_FACTOR 4 // Delay before burst -#define BURST_SIZE 5 // Packets in burst (1 delayed + 4 burst) -#define RTT_HISTORY_SIZE 10 // For jitter calc -#define MAX_PENDING 32 // For ACKs/retrans -#define SECTION_HEADER_SIZE 3 // type(1) + len(2) - -// Forward declaration for callback function -static void input_queue_cb(struct ll_queue* q, struct ll_entry* entry, void* arg); - -// Timestamp diff (with wrap-around) -static uint16_t timestamp_diff(uint16_t t1, uint16_t t2) { - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "timestamp_diff: t1=%u, t2=%u", t1, t2); - if (t1 >= t2) { - uint16_t diff = t1 - t2; - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "timestamp_diff: normal case, diff=%u", diff); - return diff; - } - uint16_t diff = (0xFFFF - t2) + t1 + 1; - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "timestamp_diff: wraparound case, diff=%u", diff); - return diff; -} - -// Get current time in 0.1ms units -uint64_t get_current_time_units() { - struct timeval tv; - gettimeofday(&tv, NULL); - uint64_t time_units = ((uint64_t)tv.tv_sec * 10000ULL) + (tv.tv_usec / 100); - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "get_current_time_units: tv_sec=%ld, tv_usec=%ld, result=%llu", - tv.tv_sec, tv.tv_usec, (unsigned long long)time_units); - return time_units; -} - -uint16_t get_current_timestamp() { - uint16_t timestamp = (uint16_t)(get_current_time_units() & 0xFFFF); - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "get_current_timestamp: result=%u", timestamp); - return timestamp; -} - -// Internal functions (expanded) -static void retrans_timer_cb(void* arg); -static void ack_timer_cb(void* arg); -static void update_rtt(struct ETCP_CONN* etcp, uint16_t new_rtt); -static void calculate_jitter(struct ETCP_CONN* etcp); -static void detect_gaps_and_request_retrans(struct ETCP_CONN* etcp); -static void process_section_ack(struct ETCP_CONN* etcp, uint8_t* data, uint16_t len); -static void process_section_retrans(struct ETCP_CONN* etcp, uint8_t* data, uint16_t len); -static void process_section_timestamp(struct ETCP_CONN* etcp, uint8_t* data, uint16_t len); -static void process_section_payload(struct ETCP_CONN* etcp, uint8_t* data, uint16_t len); -static void process_section_meas_ts(struct ETCP_CONN* etcp, uint8_t* data, uint16_t len); -static void process_section_meas_resp(struct ETCP_CONN* etcp, uint8_t* data, uint16_t len); -static uint16_t append_optional_sections(struct ETCP_CONN* etcp, uint8_t* buf, struct ETCP_LINK* link); -static void deliver_contiguous_packets(struct ETCP_CONN* etcp); -static void retrans_check(struct ETCP_CONN* etcp); -static inflight_packet_t* find_inflight(struct ETCP_CONN* etcp, uint16_t id, uint8_t state); -static void move_to_wait_send(struct ETCP_CONN* etcp, inflight_packet_t* pkt); -static void remove_inflight(struct ETCP_CONN* etcp, inflight_packet_t* pkt); -static void free_inflight_packet(inflight_packet_t* pkt); -static void start_burst_measurement(struct ETCP_CONN* etcp, struct ETCP_LINK* link); -static void update_link_bandwidth(struct ETCP_LINK* link, uint32_t new_bw); - -// Add RTT history to struct (for jitter) -/// In etcp.h, add to ETCP_CONN: -/// uint16_t rtt_history[RTT_HISTORY_SIZE]; -/// uint8_t rtt_history_idx; - -// Create ETCP connection (unchanged) -struct ETCP_CONN* etcp_connection_create(struct UTUN_INSTANCE* instance) { - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_connection_create: instance=%p", instance); - - struct ETCP_CONN* etcp = calloc(1, sizeof(struct ETCP_CONN)); - if (!etcp) { - DEBUG_ERROR(DEBUG_CATEGORY_ETCP, "etcp_connection_create: failed to allocate ETCP_CONN"); - return NULL; - } - - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_connection_create: allocated etcp=%p", etcp); - - etcp->instance = instance; - etcp->input_queue = queue_new(instance->ua, instance->pkt_pool); - etcp->output_queue = queue_new(instance->ua, instance->pkt_pool); - etcp->mtu = 1500; // Default - etcp->window_size = MAX_INFLIGHT_BYTES; - etcp->next_tx_id = 1; - - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_connection_create: queues created, mtu=%d, window_size=%u, next_tx_id=%u", - etcp->mtu, etcp->window_size, etcp->next_tx_id); - - // Init crypto (as per original) - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_connection_create: initializing crypto context"); - if (sc_init_ctx(&etcp->crypto_ctx, &instance->my_keys) != SC_OK) { - DEBUG_ERROR(DEBUG_CATEGORY_ETCP, "etcp_connection_create: crypto initialization failed"); - etcp_connection_close(etcp); - return NULL; - } - - DEBUG_INFO(DEBUG_CATEGORY_ETCP, "etcp_connection_create: successfully created ETCP connection %p", etcp); - return etcp; -} - -// Close connection (expanded free) -void etcp_connection_close(struct ETCP_CONN* etcp) { - if (!etcp) { - DEBUG_WARN(DEBUG_CATEGORY_ETCP, "etcp_connection_close: called with NULL etcp"); - return; - } - - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_connection_close: closing connection %p", etcp); - - // Cancel timers - if (etcp->retrans_timer) { - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_connection_close: canceling retrans_timer"); - uasync_cancel_timeout(etcp->instance->ua, etcp->retrans_timer); - } - if (etcp->ack_timer) { - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_connection_close: canceling ack_timer"); - uasync_cancel_timeout(etcp->instance->ua, etcp->ack_timer); - } - - // Free inflight - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_connection_close: freeing wait_ack_list"); - inflight_packet_t* pkt = etcp->wait_ack_list; - int wait_ack_count = 0; - while (pkt) { - inflight_packet_t* next = pkt->next; - free_inflight_packet(pkt); - pkt = next; - wait_ack_count++; - } - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_connection_close: freed %d packets from wait_ack_list", wait_ack_count); - - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_connection_close: freeing wait_send_list"); - pkt = etcp->wait_send_list; - int wait_send_count = 0; - while (pkt) { - inflight_packet_t* next = pkt->next; - free_inflight_packet(pkt); - pkt = next; - wait_send_count++; - } - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_connection_close: freed %d packets from wait_send_list", wait_send_count); - - // Free rx_list - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_connection_close: freeing rx_list"); - rx_packet_t* rx = etcp->rx_list; - int rx_count = 0; - while (rx) { - rx_packet_t* next = rx->next; - free(rx->data); - free(rx); - rx = next; - rx_count++; - } - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_connection_close: freed %d packets from rx_list", rx_count); - - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_connection_close: freeing queues"); - queue_free(etcp->input_queue); - queue_free(etcp->output_queue); - - DEBUG_INFO(DEBUG_CATEGORY_ETCP, "etcp_connection_close: connection %p closed successfully", etcp); - free(etcp); -} - -static void free_inflight_packet(inflight_packet_t* pkt) { - if (pkt) { - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "free_inflight_packet: freeing packet %p (id=%u, data_len=%u)", - pkt, pkt->id, pkt->data_len); - free(pkt->data); - free(pkt); - } -} - -// Reset connection (unchanged) -void etcp_conn_reset(struct ETCP_CONN* etcp) { - if (!etcp) { - DEBUG_WARN(DEBUG_CATEGORY_ETCP, "etcp_conn_reset: called with NULL etcp"); - return; - } - - DEBUG_INFO(DEBUG_CATEGORY_ETCP, "etcp_conn_reset: resetting connection %p", etcp); - - // Cancel timers - if (etcp->retrans_timer) uasync_cancel_timeout(etcp->instance->ua, etcp->retrans_timer); - if (etcp->ack_timer) uasync_cancel_timeout(etcp->instance->ua, etcp->ack_timer); - - // Free lists - inflight_packet_t* pkt = etcp->wait_ack_list; - while (pkt) { - inflight_packet_t* next = pkt->next; - free_inflight_packet(pkt); - pkt = next; - } - etcp->wait_ack_list = NULL; - pkt = etcp->wait_send_list; - while (pkt) { - inflight_packet_t* next = pkt->next; - free_inflight_packet(pkt); - pkt = next; - } - etcp->wait_send_list = NULL; - - rx_packet_t* rx = etcp->rx_list; - while (rx) { - rx_packet_t* next = rx->next; - free(rx->data); - free(rx); - rx = next; - } - etcp->rx_list = NULL; - - // Reset state - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_conn_reset: clearing packet lists and resetting state"); - etcp->next_tx_id = 1; - etcp->last_rx_id = 0; - etcp->last_delivered_id = 0; - etcp->unacked_bytes = 0; - etcp->pending_ack_count = 0; - etcp->pending_retrans_count = 0; - etcp->rtt_last = 0; - etcp->rtt_avg_10 = 0; - etcp->rtt_avg_100 = 0; - etcp->jitter = 0; - etcp->burst_in_progress = 0; - etcp->rtt_history_idx = 0; - memset(etcp->rtt_history, 0, sizeof(etcp->rtt_history)); - // Queues cleared externally if needed - - DEBUG_INFO(DEBUG_CATEGORY_ETCP, "etcp_conn_reset: connection %p reset completed", etcp); -} - -// Input decrypted packet (unchanged structure, but calls expanded processes) -void etcp_conn_input(struct ETCP_DGRAM* pkt) { - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_conn_input: pkt=%p, link=%p, etcp=%p", - pkt, pkt ? pkt->link : NULL, pkt && pkt->link ? pkt->link->etcp : NULL); - - if (!pkt || !pkt->link || !pkt->link->etcp) { - DEBUG_ERROR(DEBUG_CATEGORY_ETCP, "etcp_conn_input: invalid parameters (pkt=%p, link=%p, etcp=%p)", - pkt, pkt ? pkt->link : NULL, pkt && pkt->link ? pkt->link->etcp : NULL); - return; - } - - struct ETCP_CONN* etcp = pkt->link->etcp; - uint8_t* data = pkt->data; - uint16_t len = pkt->data_len; - uint16_t ts = pkt->timestamp; - - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_conn_input: processing packet - etcp=%p, data_len=%u, timestamp=%u, link=%p", - etcp, len, ts, pkt->link); - - // Update link activity - pkt->link->last_activity = get_current_time_units(); - pkt->link->last_recv_local_time = pkt->link->last_activity; - pkt->link->last_recv_timestamp = ts; - - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "etcp_conn_input: updated link activity - last_activity=%llu, last_recv_timestamp=%u", - (unsigned long long)pkt->link->last_activity, pkt->link->last_recv_timestamp); - - // Parse sections - uint16_t pos = 0; - while (pos < len) { - if (pos + SECTION_HEADER_SIZE > len) break; - - uint8_t type = data[pos]; - uint16_t sec_len = (data[pos+1] << 8) | data[pos+2]; - pos += SECTION_HEADER_SIZE; - - if (pos + sec_len > len) break; - - uint8_t* sec_data = data + pos; - switch (type) { - case ETCP_SECTION_ACK: - process_section_ack(etcp, sec_data, sec_len); - break; - case ETCP_SECTION_RETRANS: - process_section_retrans(etcp, sec_data, sec_len); - break; - case ETCP_SECTION_TIMESTAMP: - process_section_timestamp(etcp, sec_data, sec_len); - break; - case ETCP_SECTION_PAYLOAD: - process_section_payload(etcp, sec_data, sec_len); - break; - case ETCP_SECTION_MEAS_TS: - process_section_meas_ts(etcp, sec_data, sec_len); - break; - case ETCP_SECTION_MEAS_RESP: - process_section_meas_resp(etcp, sec_data, sec_len); - break; - default: - DEBUG_WARN(DEBUG_CATEGORY_ETCP, "Unknown section type: 0x%02x", type); - break; - } - pos += sec_len; - } - - // Post-processing - detect_gaps_and_request_retrans(etcp); - deliver_contiguous_packets(etcp); - - // Trigger if waiting - if (etcp->wait_timeout_active) { - etcp->wait_timeout_active = 0; - // Assume load balancer polls again - } -} - -// Request next packet (expanded) -struct ETCP_DGRAM* etcp_request_pkt(struct ETCP_CONN* etcp) { - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_request_pkt: etcp=%p", etcp); - - if (!etcp) { - DEBUG_ERROR(DEBUG_CATEGORY_ETCP, "etcp_request_pkt: called with NULL etcp"); - return NULL; - } - - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "etcp_request_pkt: input_queue_count=%d, wait_send_list=%p, unacked_bytes=%u, window_size=%u", - queue_entry_count(etcp->input_queue), etcp->wait_send_list, - etcp->unacked_bytes, etcp->window_size); - - // Check waiting conditions - if (queue_entry_count(etcp->input_queue) == 0 && etcp->wait_send_list == NULL) { - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "etcp_request_pkt: no packets available, setting callback and returning NULL"); - // Wait for input or retrans - // Set callback for resume - queue_set_callback(etcp->input_queue, input_queue_cb, etcp); // Define cb to resume - return NULL; - } - - if (etcp->unacked_bytes >= etcp->window_size) { - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "etcp_request_pkt: window full (unacked_bytes=%u >= window_size=%u), waiting", - etcp->unacked_bytes, etcp->window_size); - // Wait ACK or timeout - etcp->wait_timeout_active = 1; - return NULL; - } - - if (etcp->unacked_bytes >= etcp->window_size) { - // Wait ACK or timeout - etcp->wait_timeout_active = 1; - return NULL; - } - - // Get packet (prefer retrans) - inflight_packet_t* ipkt = etcp->wait_send_list; - if (ipkt) { - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_request_pkt: using retransmission packet id=%u", ipkt->id); - remove_inflight(etcp, ipkt); - } else { - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_request_pkt: getting new packet from input queue"); - struct ll_entry* entry = queue_entry_get(etcp->input_queue); - if (!entry) { - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "etcp_request_pkt: no entry available from input queue"); - return NULL; - } - - ipkt = calloc(1, sizeof(inflight_packet_t)); - if (!ipkt) { - DEBUG_ERROR(DEBUG_CATEGORY_ETCP, "etcp_request_pkt: failed to allocate inflight_packet_t"); - queue_entry_put_first(etcp->input_queue, entry); - return NULL; - } - - ipkt->id = etcp->next_tx_id++; - ipkt->data_len = ll_entry_size(entry); - ipkt->data = malloc(ipkt->data_len); - - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_request_pkt: created new packet id=%u, data_len=%u", - ipkt->id, ipkt->data_len); - - if (!ipkt->data) { - DEBUG_ERROR(DEBUG_CATEGORY_ETCP, "etcp_request_pkt: failed to allocate packet data buffer"); - free(ipkt); - queue_entry_put_first(etcp->input_queue, entry); - return NULL; - } - memcpy(ipkt->data, ll_entry_data(entry), ipkt->data_len); - ipkt->payload_len = ipkt->data_len; // Assume full is payload for window - queue_entry_free(entry); - } - - // Select link - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_request_pkt: selecting link via loadbalancer"); - struct ETCP_LINK* link = etcp_loadbalancer_select_link(etcp); - if (!link) { - DEBUG_WARN(DEBUG_CATEGORY_ETCP, "etcp_request_pkt: no suitable link available"); - // Put back if new - if (ipkt->send_count == 0) { - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_request_pkt: putting new packet back to input queue"); - struct ll_entry* entry = queue_entry_new(ipkt->data_len); - memcpy(ll_entry_data(entry), ipkt->data, ipkt->data_len); - queue_entry_put_first(etcp->input_queue, entry); - } - free_inflight_packet(ipkt); - return NULL; - } - - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_request_pkt: selected link %p", link); - - // Build packet buf - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_request_pkt: building packet with optional sections"); - uint8_t buf[1600]; - uint16_t len = append_optional_sections(etcp, buf, link); - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_request_pkt: optional sections added, len=%u", len); - - // Add payload (assume payload includes ID as first 2 bytes) - uint16_t pay_len = ipkt->payload_len + 2; // ID - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_request_pkt: payload section - pay_len=%u (payload_len=%u + 2 for ID)", - pay_len, ipkt->payload_len); - - if (len + SECTION_HEADER_SIZE + pay_len > sizeof(buf)) { - DEBUG_ERROR(DEBUG_CATEGORY_ETCP, "etcp_request_pkt: packet too large (%u + %u + %u > %u), dropping", - len, SECTION_HEADER_SIZE, pay_len, (unsigned)sizeof(buf)); - free_inflight_packet(ipkt); - return NULL; - } - buf[len++] = ETCP_SECTION_PAYLOAD; - buf[len++] = (pay_len >> 8) & 0xFF; - buf[len++] = pay_len & 0xFF; - buf[len++] = (ipkt->id >> 8) & 0xFF; - buf[len++] = ipkt->id & 0xFF; - memcpy(buf + len, ipkt->data, ipkt->payload_len); - len += ipkt->payload_len; - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_request_pkt: payload added, total len=%u", len); - - // Alloc dgram - struct ETCP_DGRAM* dgram = memory_pool_alloc(etcp->instance->pkt_pool); - if (!dgram) { - DEBUG_ERROR(DEBUG_CATEGORY_ETCP, "etcp_request_pkt: failed to allocate dgram from memory pool"); - free_inflight_packet(ipkt); - return NULL; - } - dgram->link = link; - dgram->data_len = len; - dgram->noencrypt_len = 0; - dgram->timestamp = get_current_timestamp(); - memcpy(dgram->data, buf, len); - - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_request_pkt: allocated dgram %p (link=%p, data_len=%u, timestamp=%u)", - dgram, link, len, dgram->timestamp); - - // Update inflight - ipkt->last_link = link; - ipkt->last_timestamp = dgram->timestamp; - ipkt->send_count++; - etcp->unacked_bytes += ipkt->payload_len; - etcp->bytes_sent_total += len; // Approx - - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_request_pkt: updated inflight - send_count=%u, unacked_bytes=%u, bytes_sent_total=%u", - ipkt->send_count, etcp->unacked_bytes, etcp->bytes_sent_total); - - // Move to wait_ack - ipkt->state = INFLIGHT_STATE_WAIT_ACK; - ipkt->next = etcp->wait_ack_list; - etcp->wait_ack_list = ipkt; - - // Add to wait_ack list - ipkt->next = etcp->wait_ack_list; - etcp->wait_ack_list = ipkt; - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_request_pkt: added packet %u to wait_ack_list", ipkt->id); - - // Start retrans timer if empty before - if (etcp->wait_ack_list->next == NULL && !etcp->retrans_timer) { - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_request_pkt: starting retrans_timer (wait_ack_list was empty)"); - etcp->retrans_timer = uasync_set_timeout(etcp->instance->ua, 20, etcp, retrans_timer_cb); - } - - // Update load balancer after send (call from connections after actual send) - // etcp_loadbalancer_update_after_send(link, len + headers); // Assume called externally - - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_request_pkt: successfully created dgram %p for packet id=%u", - dgram, ipkt->id); - return dgram; -} - -// Input queue callback (placeholder to resume load balancer) -static void input_queue_cb(struct ll_queue* q, struct ll_entry* entry, void* arg) { - (void)q; - (void)entry; - struct ETCP_CONN* etcp = arg; - // Resume polling etcp_request_pkt - queue_resume_callback(q); -} - -// Append optional (expanded with debug) -static uint16_t append_optional_sections(struct ETCP_CONN* etcp, uint8_t* buf, struct ETCP_LINK* link) { - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "append_optional_sections: etcp=%p, link=%p", etcp, link); - - uint16_t len = 0; - int sections_added = 0; - - // Timestamp (assume 2 bytes TS) - uint16_t ts = get_current_timestamp(); - buf[len++] = ETCP_SECTION_TIMESTAMP; - buf[len++] = 0; // len high - buf[len++] = 2; // len low - buf[len++] = (ts >> 8) & 0xFF; - buf[len++] = ts & 0xFF; - sections_added++; - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "append_optional_sections: added TIMESTAMP section (ts=%u, len=%u)", ts, len); - - // ACK (assume count(1) + [id(2)+ts(2)]*count) - if (etcp->pending_ack_count > 0) { - uint16_t ack_len = 1 + etcp->pending_ack_count * 4; - buf[len++] = ETCP_SECTION_ACK; - buf[len++] = (ack_len >> 8) & 0xFF; - buf[len++] = ack_len & 0xFF; - buf[len++] = etcp->pending_ack_count; - - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "append_optional_sections: adding ACK section with %u ACKs", etcp->pending_ack_count); - - for (uint8_t i = 0; i < etcp->pending_ack_count; i++) { - uint16_t id = etcp->pending_ack_ids[i]; - uint16_t ats = etcp->pending_ack_ts[i]; - buf[len++] = (id >> 8) & 0xFF; - buf[len++] = id & 0xFF; - buf[len++] = (ats >> 8) & 0xFF; - buf[len++] = ats & 0xFF; - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "append_optional_sections: ACK[%u] - id=%u, ts=%u", i, id, ats); - } - - etcp->pending_ack_count = 0; - etcp->ack_packets_count++; - sections_added++; - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "append_optional_sections: added ACK section (total_len=%u)", len); - } - - // RETRANS (similar: count(1) + id(2)*count) - if (etcp->pending_retrans_count > 0) { - uint16_t ret_len = 1 + etcp->pending_retrans_count * 2; - buf[len++] = ETCP_SECTION_RETRANS; - buf[len++] = (ret_len >> 8) & 0xFF; - buf[len++] = ret_len & 0xFF; - buf[len++] = etcp->pending_retrans_count; - - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "append_optional_sections: adding RETRANS section with %u requests", etcp->pending_retrans_count); - - for (uint8_t i = 0; i < etcp->pending_retrans_count; i++) { - uint16_t id = etcp->pending_retrans_ids[i]; - buf[len++] = (id >> 8) & 0xFF; - buf[len++] = id & 0xFF; - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "append_optional_sections: RETRANS[%u] - id=%u", i, id); - } - - etcp->pending_retrans_count = 0; - sections_added++; - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "append_optional_sections: added RETRANS section (total_len=%u)", len); - } - - // MEAS_TS if burst (assume [start_id(2)][n(1)]) - if (etcp->burst_in_progress) { - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "append_optional_sections: burst measurement in progress, would add MEAS_TS"); - // Logic for adding to burst packets - // Placeholder - } - - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "append_optional_sections: completed - added %u sections, total_len=%u", - sections_added, len); - - return len; -} - -// Process ACK (expanded) -static void process_section_ack(struct ETCP_CONN* etcp, uint8_t* data, uint16_t len) { - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "process_section_ack: etcp=%p, data=%p, len=%u", etcp, data, len); - - if (len < 1) { - DEBUG_WARN(DEBUG_CATEGORY_ETCP, "process_section_ack: invalid length %u", len); - return; - } - uint8_t count = data[0]; - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "process_section_ack: count=%u", count); - - if (1 + count * 4 > len) { - DEBUG_ERROR(DEBUG_CATEGORY_ETCP, "process_section_ack: invalid count %u for len %u", count, len); - return; - } - - uint16_t lp_ts = 0; - int acked_count = 0; - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "process_section_ack: processing %u ACK entries", count); - - for (uint8_t i = 0; i < count; i++) { - uint16_t id = (data[1 + i*4] << 8) | data[2 + i*4]; - uint16_t ts = (data[3 + i*4] << 8) | data[4 + i*4]; - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "process_section_ack: entry %u - id=%u, ts=%u", i, id, ts); - - inflight_packet_t* pkt = find_inflight(etcp, id, INFLIGHT_STATE_WAIT_ACK); - if (pkt) { - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "process_section_ack: found inflight packet %u, removing (payload_len=%u)", - id, pkt->payload_len); - etcp->unacked_bytes -= pkt->payload_len; - remove_inflight(etcp, pkt); - free_inflight_packet(pkt); - lp_ts = ts; // Update last positive ts - acked_count++; - } else { - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "process_section_ack: no inflight packet found for id=%u", id); - } - } - - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "process_section_ack: successfully ACKed %u/%u packets", acked_count, count); - // Use lp_ts in retrans_check if needed - etcp->last_rx_ack_id = (data[1 + (count-1)*4] << 8) | data[2 + (count-1)*4]; // Last ACK ID -} - -// Process RETRANS (expanded) -static void process_section_retrans(struct ETCP_CONN* etcp, uint8_t* data, uint16_t len) { - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "process_section_retrans: etcp=%p, data=%p, len=%u", etcp, data, len); - - if (len < 1) { - DEBUG_WARN(DEBUG_CATEGORY_ETCP, "process_section_retrans: invalid length %u", len); - return; - } - uint8_t count = data[0]; - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "process_section_retrans: count=%u", count); - - if (1 + count * 2 > len) { - DEBUG_ERROR(DEBUG_CATEGORY_ETCP, "process_section_retrans: invalid count %u for len %u", count, len); - return; - } - - int retrans_count = 0; - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "process_section_retrans: processing %u retrans requests", count); - - for (uint8_t i = 0; i < count; i++) { - uint16_t id = (data[1 + i*2] << 8) | data[2 + i*2]; - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "process_section_retrans: requesting retrans for id=%u", id); - - inflight_packet_t* pkt = find_inflight(etcp, id, INFLIGHT_STATE_WAIT_ACK); - if (pkt) { - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "process_section_retrans: found packet %u, marking for retransmission", id); - pkt->retrans_req_count++; - pkt->need_retrans = 1; - move_to_wait_send(etcp, pkt); - retrans_count++; - } else { - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "process_section_retrans: no inflight packet found for id=%u", id); - } - } - - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "process_section_retrans: marked %u/%u packets for retransmission", retrans_count, count); -} - -// Process TIMESTAMP (expanded) -static void process_section_timestamp(struct ETCP_CONN* etcp, uint8_t* data, uint16_t len) { - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "process_section_timestamp: etcp=%p, data=%p, len=%u", etcp, data, len); - - if (len != 2) { - DEBUG_WARN(DEBUG_CATEGORY_ETCP, "process_section_timestamp: invalid length %u (expected 2)", len); - return; - } - uint16_t recv_ts = (data[0] << 8) | data[1]; - uint16_t current_ts = get_current_timestamp(); - uint16_t rtt = timestamp_diff(current_ts, recv_ts); - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "process_section_timestamp: recv_ts=%u, current_ts=%u, calculated_rtt=%u", - recv_ts, current_ts, rtt); - update_rtt(etcp, rtt); -} - -// Process PAYLOAD (expanded) -static void process_section_payload(struct ETCP_CONN* etcp, uint8_t* data, uint16_t len) { - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "process_section_payload: etcp=%p, data=%p, len=%u", etcp, data, len); - - if (len < 2) { - DEBUG_WARN(DEBUG_CATEGORY_ETCP, "process_section_payload: invalid length %u (minimum 2)", len); - return; - } - uint16_t id = (data[0] << 8) | data[1]; - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "process_section_payload: packet id=%u, last_rx_id=%u", id, etcp->last_rx_id); - - if (id <= etcp->last_rx_id) { - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "process_section_payload: duplicate packet id=%u (last_rx_id=%u), ignoring", - id, etcp->last_rx_id); - return; // Dup - } - - rx_packet_t* new_rx = calloc(1, sizeof(rx_packet_t)); - if (!new_rx) { - DEBUG_ERROR(DEBUG_CATEGORY_ETCP, "process_section_payload: failed to allocate rx_packet_t"); - return; - } - - new_rx->id = id; - new_rx->timestamp = get_current_timestamp(); - new_rx->data_len = len - 2; - - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "process_section_payload: allocated rx_packet %p (id=%u, data_len=%u, timestamp=%u)", - new_rx, new_rx->id, new_rx->data_len, new_rx->timestamp); - - new_rx->data = malloc(new_rx->data_len); - if (!new_rx->data) { - DEBUG_ERROR(DEBUG_CATEGORY_ETCP, "process_section_payload: failed to allocate rx data buffer (size=%u)", new_rx->data_len); - free(new_rx); - return; - } - memcpy(new_rx->data, data + 2, new_rx->data_len); - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "process_section_payload: copied %u bytes of payload data", new_rx->data_len); - - // Insert sorted (assume IDs sequential, no wrap for simplicity) - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "process_section_payload: inserting packet into rx_list (id=%u)", id); - rx_packet_t** ptr = &etcp->rx_list; - while (*ptr && (*ptr)->id < id) ptr = &(*ptr)->next; - if (*ptr && (*ptr)->id == id) { - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "process_section_payload: duplicate packet id=%u found in rx_list, discarding", id); - free(new_rx->data); - free(new_rx); - return; - } - new_rx->next = *ptr; - *ptr = new_rx; - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "process_section_payload: successfully inserted packet id=%u into rx_list", id); - - if (id > etcp->last_rx_id) { - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "process_section_payload: updating last_rx_id from %u to %u", - etcp->last_rx_id, id); - etcp->last_rx_id = id; - } - - // Pending ACK - if (etcp->pending_ack_count < MAX_PENDING) { - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "process_section_payload: adding packet id=%u to pending ACKs (count=%u)", - id, etcp->pending_ack_count + 1); - etcp->pending_ack_ids[etcp->pending_ack_count] = id; - etcp->pending_ack_ts[etcp->pending_ack_count++] = new_rx->timestamp; - } else { - DEBUG_WARN(DEBUG_CATEGORY_ETCP, "process_section_payload: pending ACK buffer full (%u), cannot add id=%u", - MAX_PENDING, id); - } - - // Schedule ACK - if (!etcp->ack_timer) { - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "process_section_payload: scheduling ACK timer (delay=%u tb)", ACK_DELAY_TB); - etcp->ack_timer = uasync_set_timeout(etcp->instance->ua, ACK_DELAY_TB, etcp, ack_timer_cb); - } - - etcp->bytes_received_total += len; - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "process_section_payload: packet id=%u processed successfully, bytes_received_total=%u", - id, etcp->bytes_received_total); -} - -// Process MEAS_TS (expanded: send resp) -static void process_section_meas_ts(struct ETCP_CONN* etcp, uint8_t* data, uint16_t len) { - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "process_section_meas_ts: etcp=%p, data=%p, len=%u", etcp, data, len); - - if (len < 3) { - DEBUG_WARN(DEBUG_CATEGORY_ETCP, "process_section_meas_ts: invalid length %u (minimum 3)", len); - return; - } - uint16_t start_id = (data[0] << 8) | data[1]; - uint8_t n = data[2]; - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "process_section_meas_ts: start_id=%u, n=%u", start_id, n); - - // Send MEAS_RESP (add to pending or direct) - // Placeholder: assume added to next packet - DEBUG_INFO(DEBUG_CATEGORY_ETCP, "MEAS_TS: start_id=%u n=%u", start_id, n); - // Build resp [start_id(2)][n(1)][recv_ts(2)] - // But since appended in optional, set state -} - -// Process MEAS_RESP (expanded: calc bw) -static void process_section_meas_resp(struct ETCP_CONN* etcp, uint8_t* data, uint16_t len) { - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "process_section_meas_resp: etcp=%p, data=%p, len=%u", etcp, data, len); - - // Assume format [start_id(2)][n(1)][recv_ts(2)] - if (len < 5) { - DEBUG_WARN(DEBUG_CATEGORY_ETCP, "process_section_meas_resp: invalid length %u (minimum 5)", len); - return; - } - uint16_t start_id = (data[0] << 8) | data[1]; - uint8_t n = data[2]; - uint16_t recv_ts = (data[3] << 8) | data[4]; - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "process_section_meas_resp: start_id=%u, n=%u, recv_ts=%u", start_id, n, recv_ts); - - if (etcp->burst_start_id != start_id || !etcp->burst_in_progress) return; - - // Calc bw based on burst (placeholder logic) - uint16_t delta = timestamp_diff(get_current_timestamp(), recv_ts); - uint32_t bw = (BURST_SIZE * etcp->mtu * 8) / (delta / 1000.0); // bits/sec approx - update_link_bandwidth(etcp->links, bw); // Assume primary link - etcp->burst_in_progress = 0; -} - -// Detect gaps (expanded) -static void detect_gaps_and_request_retrans(struct ETCP_CONN* etcp) { - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "detect_gaps_and_request_retrans: etcp=%p, last_delivered_id=%u", - etcp, etcp->last_delivered_id); - - rx_packet_t* rx = etcp->rx_list; - uint16_t expected = etcp->last_delivered_id + 1; - int gaps_found = 0; - int retrans_requested = 0; - - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "detect_gaps_and_request_retrans: starting gap detection from expected_id=%u", expected); - - while (rx) { - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "detect_gaps_and_request_retrans: checking rx packet id=%u (expected=%u)", - rx->id, expected); - - if (rx->id > expected) { - // Gap: add retrans for expected to rx->id -1 - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "detect_gaps_and_request_retrans: gap detected - expected=%u, found=%u", - expected, rx->id); - gaps_found++; - - for (uint16_t gid = expected; gid < rx->id && etcp->pending_retrans_count < MAX_PENDING; gid++) { - etcp->pending_retrans_ids[etcp->pending_retrans_count++] = gid; - retrans_requested++; - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "detect_gaps_and_request_retrans: queued retrans request for id=%u", gid); - } - expected = rx->id + 1; - } else if (rx->id == expected) { - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "detect_gaps_and_request_retrans: found expected packet id=%u", expected); - expected++; - } else { - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "detect_gaps_and_request_retrans: packet id=%u < expected=%u, already processed", - rx->id, expected); - } - rx = rx->next; - } - - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "detect_gaps_and_request_retrans: completed - gaps_found=%d, retrans_requested=%u", - gaps_found, retrans_requested); -} - -// Deliver contiguous (expanded) -static void deliver_contiguous_packets(struct ETCP_CONN* etcp) { - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "deliver_contiguous_packets: etcp=%p, last_delivered_id=%u", - etcp, etcp->last_delivered_id); - - rx_packet_t** ptr = &etcp->rx_list; - int delivered_count = 0; - uint32_t delivered_bytes = 0; - - while (*ptr && (*ptr)->id == etcp->last_delivered_id + 1) { - rx_packet_t* rx = *ptr; - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "deliver_contiguous_packets: delivering packet id=%u (data_len=%u)", - rx->id, rx->data_len); - - struct ll_entry* entry = queue_entry_new(rx->data_len); - if (entry) { - memcpy(ll_entry_data(entry), rx->data, rx->data_len); - queue_entry_put(etcp->output_queue, entry); - delivered_bytes += rx->data_len; - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "deliver_contiguous_packets: queued packet id=%u to output_queue", rx->id); - } else { - DEBUG_ERROR(DEBUG_CATEGORY_ETCP, "deliver_contiguous_packets: failed to allocate queue entry for packet id=%u", rx->id); - } - - etcp->last_delivered_id = rx->id; - *ptr = rx->next; - free(rx->data); - free(rx); - delivered_count++; - } - - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "deliver_contiguous_packets: delivered %u contiguous packets (%u bytes), last_delivered_id=%u", - delivered_count, delivered_bytes, etcp->last_delivered_id); -} - -// Retrans check (expanded with lp_ts) -static void retrans_check(struct ETCP_CONN* etcp) { - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "retrans_check: etcp=%p, wait_ack_list=%p, rtt_avg_10=%u, jitter=%u", - etcp, etcp->wait_ack_list, etcp->rtt_avg_10, etcp->jitter); - - uint64_t now = get_current_time_units(); - inflight_packet_t** ptr = &etcp->wait_ack_list; - uint16_t lp_ts = 0; - int checked_packets = 0; - int retrans_packets = 0; - uint16_t timeout_calc = (uint16_t)(etcp->rtt_avg_10 * RETRANS_K1 + etcp->jitter * RETRANS_K2); - - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "retrans_check: timeout calculation: rtt_avg_10=%u * %.1f + jitter=%u * %.1f = %u", - etcp->rtt_avg_10, RETRANS_K1, etcp->jitter, RETRANS_K2, timeout_calc); - - while (*ptr) { - inflight_packet_t* pkt = *ptr; - checked_packets++; - uint16_t timeout = (uint16_t)(etcp->rtt_avg_10 * RETRANS_K1 + etcp->jitter * RETRANS_K2); - uint16_t time_since_send = timestamp_diff(now, pkt->last_timestamp); - - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "retrans_check: checking packet id=%u (time_since_send=%u, timeout=%u, need_retrans=%u)", - pkt->id, time_since_send, timeout, pkt->need_retrans); - - if (time_since_send > timeout) { - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "retrans_check: packet id=%u timed out, marking for retransmission", pkt->id); - pkt->need_retrans = 1; - move_to_wait_send(etcp, pkt); - etcp->retransmissions_count++; - retrans_packets++; - ptr = &etcp->wait_ack_list; // Restart scan after move - continue; - } - // lp_ts logic (per spec: if acked, remember ts; if later unacked with ts < lp_ts, ?) - // Assume if pkt acked (but shouldn't be in list), or for forward progress - ptr = &pkt->next; - } - - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "retrans_check: completed - checked %d packets, retransmitted %d packets, total_retransmissions=%u", - checked_packets, retrans_packets, etcp->retransmissions_count); - - // Reschedule if list not empty - if (etcp->wait_ack_list) { - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "retrans_check: rescheduling retrans_timer (wait_ack_list not empty)"); - etcp->retrans_timer = uasync_set_timeout(etcp->instance->ua, 20, etcp, retrans_timer_cb); - } else { - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "retrans_check: clearing retrans_timer (wait_ack_list empty)"); - etcp->retrans_timer = NULL; - } -} - -// Find inflight (expanded) -static inflight_packet_t* find_inflight(struct ETCP_CONN* etcp, uint16_t id, uint8_t state) { - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "find_inflight: etcp=%p, id=%u, state=%u", etcp, id, state); - - inflight_packet_t* list = (state == INFLIGHT_STATE_WAIT_ACK) ? etcp->wait_ack_list : etcp->wait_send_list; - inflight_packet_t* pkt = list; - int position = 0; - - while (pkt && pkt->id != id) { - pkt = pkt->next; - position++; - } - - if (pkt) { - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "find_inflight: found packet %u at position %d in %s list", - id, position, (state == INFLIGHT_STATE_WAIT_ACK) ? "wait_ack" : "wait_send"); - } else { - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "find_inflight: packet %u not found in %s list", - id, (state == INFLIGHT_STATE_WAIT_ACK) ? "wait_ack" : "wait_send"); - } - - return pkt; - return pkt; -} - -// Move to wait_send (expanded) -static void move_to_wait_send(struct ETCP_CONN* etcp, inflight_packet_t* pkt) { - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "move_to_wait_send: etcp=%p, pkt=%p (id=%u, state=%u)", - etcp, pkt, pkt->id, pkt->state); - - remove_inflight(etcp, pkt); - pkt->state = INFLIGHT_STATE_WAIT_SEND; - pkt->next = etcp->wait_send_list; - etcp->wait_send_list = pkt; - - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "move_to_wait_send: moved packet %u to wait_send_list", pkt->id); -} - -// Remove inflight (expanded) -static void remove_inflight(struct ETCP_CONN* etcp, inflight_packet_t* pkt) { - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "remove_inflight: etcp=%p, pkt=%p (id=%u, state=%u)", - etcp, pkt, pkt->id, pkt->state); - - inflight_packet_t** list = (pkt->state == INFLIGHT_STATE_WAIT_ACK) ? &etcp->wait_ack_list : &etcp->wait_send_list; - inflight_packet_t** ptr = list; - int position = 0; - - while (*ptr && *ptr != pkt) { - ptr = &(*ptr)->next; - position++; - } - - if (*ptr) { - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "remove_inflight: found packet %u at position %d in %s list", - pkt->id, position, (pkt->state == INFLIGHT_STATE_WAIT_ACK) ? "wait_ack" : "wait_send"); - *ptr = (*ptr)->next; - } else { - DEBUG_WARN(DEBUG_CATEGORY_ETCP, "remove_inflight: packet %u not found in %s list", - pkt->id, (pkt->state == INFLIGHT_STATE_WAIT_ACK) ? "wait_ack" : "wait_send"); - } -} - -// Start burst (placeholder expanded) -static void start_burst_measurement(struct ETCP_CONN* etcp, struct ETCP_LINK* link) { - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "start_burst_measurement: etcp=%p, link=%p", etcp, link); - - // Periodically call this - etcp->burst_in_progress = 1; - uint16_t old_start_id = etcp->burst_start_id; - etcp->burst_start_id = etcp->next_tx_id; - - DEBUG_INFO(DEBUG_CATEGORY_ETCP, "start_burst_measurement: started burst measurement - burst_start_id=%u (was %u)", - etcp->burst_start_id, old_start_id); - - // Delay first, then burst 4 - // Assume handled in request_pkt by adding meas_ts to next BURST_SIZE pkts -} - -// Update link bw (expanded) -static void update_link_bandwidth(struct ETCP_LINK* link, uint32_t new_bw) { - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "update_link_bandwidth: link=%p, new_bw=%u bits/sec (current=%u)", - link, new_bw, link->bandwidth); - - uint32_t old_bw = link->bandwidth; - link->bandwidth = (uint32_t)((link->bandwidth * 0.9) + (new_bw * 0.1)); // Smooth - - DEBUG_INFO(DEBUG_CATEGORY_ETCP, "update_link_bandwidth: updated link bandwidth from %u to %u bits/sec (new_bw=%u)", - old_bw, link->bandwidth, new_bw); -} - -// Update RTT (expanded with history) -static void update_rtt(struct ETCP_CONN* etcp, uint16_t new_rtt) { - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "update_rtt: etcp=%p, new_rtt=%u (last_rtt=%u, avg_10=%u, avg_100=%u)", - etcp, new_rtt, etcp->rtt_last, etcp->rtt_avg_10, etcp->rtt_avg_100); - - etcp->rtt_last = new_rtt; - etcp->rtt_avg_10 = (etcp->rtt_avg_10 * 9 + new_rtt) / 10; - etcp->rtt_avg_100 = (etcp->rtt_avg_100 * 99 + new_rtt) / 100; - - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "update_rtt: updated RTT metrics - last=%u, avg_10=%u, avg_100=%u", - etcp->rtt_last, etcp->rtt_avg_10, etcp->rtt_avg_100); - - // History for jitter - etcp->rtt_history[etcp->rtt_history_idx++] = new_rtt; - if (etcp->rtt_history_idx >= RTT_HISTORY_SIZE) etcp->rtt_history_idx = 0; - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "update_rtt: stored RTT in history at index %u", - (etcp->rtt_history_idx + RTT_HISTORY_SIZE - 1) % RTT_HISTORY_SIZE); - - calculate_jitter(etcp); -} - -static void calculate_jitter(struct ETCP_CONN* etcp) { - uint16_t min_rtt = UINT16_MAX; - uint16_t max_rtt = 0; - int valid_samples = 0; - - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "calculate_jitter: analyzing RTT history (history_idx=%u)", etcp->rtt_history_idx); - - for (int i = 0; i < RTT_HISTORY_SIZE; i++) { - if (etcp->rtt_history[i] == 0) { - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "calculate_jitter: history[%d] = 0 (invalid), skipping", i); - continue; - } - valid_samples++; - if (etcp->rtt_history[i] < min_rtt) { - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "calculate_jitter: new min_rtt=%u (was %u) at history[%d]", - etcp->rtt_history[i], min_rtt, i); - min_rtt = etcp->rtt_history[i]; - } - if (etcp->rtt_history[i] > max_rtt) { - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "calculate_jitter: new max_rtt=%u (was %u) at history[%d]", - etcp->rtt_history[i], max_rtt, i); - max_rtt = etcp->rtt_history[i]; - } - } - - uint16_t old_jitter = etcp->jitter; - etcp->jitter = max_rtt - min_rtt; - - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "calculate_jitter: completed - valid_samples=%d, min_rtt=%u, max_rtt=%u, jitter=%u (was %u)", - valid_samples, min_rtt, max_rtt, etcp->jitter, old_jitter); -} - -// Timers (expanded with debug) -static void retrans_timer_cb(void* arg) { - struct ETCP_CONN* etcp = (struct ETCP_CONN*)arg; - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "retrans_timer_cb: etcp=%p, triggered retransmission check", etcp); - retrans_check(etcp); -} - -static void ack_timer_cb(void* arg) { - struct ETCP_CONN* etcp = (struct ETCP_CONN*)arg; - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "ack_timer_cb: etcp=%p, processing pending ACKs", etcp); - etcp->ack_timer = NULL; - - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "ack_timer_cb: processing %u pending ACKs", etcp->pending_ack_count); - - // Force send ACK if pending (e.g., empty payload pkt) - // For now, assume appended next - - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "ack_timer_cb: ACK processing completed"); -} - -// Get stats (expanded) -void etcp_get_stats(struct ETCP_CONN* etcp, size_t* packets_sent, size_t* packets_recv, - size_t* pool_allocs, size_t* pool_reuse) { - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_get_stats: etcp=%p", etcp); - - if (packets_sent) { - *packets_sent = etcp->total_packets_sent; - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_get_stats: total_packets_sent=%zu", *packets_sent); - } - if (packets_recv) { - *packets_recv = etcp->bytes_received_total / 1400; // Approx MTU - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_get_stats: bytes_received_total=%u, estimated_packets=%zu", - etcp->bytes_received_total, *packets_recv); - } - if (pool_allocs || pool_reuse) { - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_get_stats: getting memory pool stats"); - memory_pool_get_stats(etcp->instance->pkt_pool, pool_allocs, pool_reuse); - if (pool_allocs) DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_get_stats: pool_allocs=%zu", *pool_allocs); - if (pool_reuse) DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_get_stats: pool_reuse=%zu", *pool_reuse); - } -} \ No newline at end of file diff --git a/!/etcp.c1 b/!/etcp.c1 deleted file mode 100755 index 5508a6d0..00000000 --- a/!/etcp.c1 +++ /dev/null @@ -1,1147 +0,0 @@ -// etcp.c - ETCP Protocol Implementation (refactored and expanded based on etcp_protocol.txt) -#include "etcp.h" -#include "etcp_loadbalancer.h" -#include "../lib/u_async.h" -#include "../lib/debug_config.h" -#include "crc32.h" -#include -#include -#include -#include // For bandwidth calcs - -// Enable comprehensive debug output for ETCP module -#define DEBUG_CATEGORY_ETCP_DETAILED 1 - -// Constants from spec (adjusted for completeness) -#define MAX_INFLIGHT_BYTES 65536 // Initial window -#define RETRANS_K1 2.0f // RTT multiplier for retrans timeout -#define RETRANS_K2 1.5f // Jitter multiplier -#define ACK_DELAY_TB 20 // ACK timer delay (2ms in 0.1ms units) -#define BURST_DELAY_FACTOR 4 // Delay before burst -#define BURST_SIZE 5 // Packets in burst (1 delayed + 4 burst) -#define RTT_HISTORY_SIZE 10 // For jitter calc -#define MAX_PENDING 32 // For ACKs/retrans -#define SECTION_HEADER_SIZE 3 // type(1) + len(2) - -// Forward declaration for callback function -static void input_queue_cb(struct ll_queue* q, struct ll_entry* entry, void* arg); - -// Timestamp diff (with wrap-around) -static uint16_t timestamp_diff(uint16_t t1, uint16_t t2) { - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "timestamp_diff: t1=%u, t2=%u", t1, t2); - if (t1 >= t2) { - uint16_t diff = t1 - t2; - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "timestamp_diff: normal case, diff=%u", diff); - return diff; - } - uint16_t diff = (0xFFFF - t2) + t1 + 1; - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "timestamp_diff: wraparound case, diff=%u", diff); - return diff; -} - -// Get current time in 0.1ms units -uint64_t get_current_time_units() { - struct timeval tv; - gettimeofday(&tv, NULL); - uint64_t time_units = ((uint64_t)tv.tv_sec * 10000ULL) + (tv.tv_usec / 100); - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "get_current_time_units: tv_sec=%ld, tv_usec=%ld, result=%llu", - tv.tv_sec, tv.tv_usec, (unsigned long long)time_units); - return time_units; -} - -uint16_t get_current_timestamp() { - uint16_t timestamp = (uint16_t)(get_current_time_units() & 0xFFFF); - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "get_current_timestamp: result=%u", timestamp); - return timestamp; -} - -// Internal functions (expanded) -static void retrans_timer_cb(void* arg); -static void ack_timer_cb(void* arg); -static void update_rtt(struct ETCP_CONN* etcp, uint16_t new_rtt); -static void calculate_jitter(struct ETCP_CONN* etcp); -static void detect_gaps_and_request_retrans(struct ETCP_CONN* etcp); -static void process_section_ack(struct ETCP_CONN* etcp, uint8_t* data, uint16_t len); -static void process_section_retrans(struct ETCP_CONN* etcp, uint8_t* data, uint16_t len); -static void process_section_timestamp(struct ETCP_CONN* etcp, uint8_t* data, uint16_t len); -static void process_section_payload(struct ETCP_CONN* etcp, uint8_t* data, uint16_t len); -static void process_section_meas_ts(struct ETCP_CONN* etcp, uint8_t* data, uint16_t len); -static void process_section_meas_resp(struct ETCP_CONN* etcp, uint8_t* data, uint16_t len); -static uint16_t append_optional_sections(struct ETCP_CONN* etcp, uint8_t* buf, struct ETCP_LINK* link); -static void deliver_contiguous_packets(struct ETCP_CONN* etcp); -static void retrans_check(struct ETCP_CONN* etcp); -static inflight_packet_t* find_inflight(struct ETCP_CONN* etcp, uint16_t id, uint8_t state); -static void move_to_wait_send(struct ETCP_CONN* etcp, inflight_packet_t* pkt); -static void remove_inflight(struct ETCP_CONN* etcp, inflight_packet_t* pkt); -static void free_inflight_packet(inflight_packet_t* pkt); -static void start_burst_measurement(struct ETCP_CONN* etcp, struct ETCP_LINK* link); -static void update_link_bandwidth(struct ETCP_LINK* link, uint32_t new_bw); - -// Add RTT history to struct (for jitter) -/// In etcp.h, add to ETCP_CONN: -/// uint16_t rtt_history[RTT_HISTORY_SIZE]; -/// uint8_t rtt_history_idx; - -//======================================================================================================================================================================= -// Create ETCP connection (unchanged) -struct ETCP_CONN* etcp_connection_create(struct UTUN_INSTANCE* instance) { - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_connection_create: instance=%p", instance); - - struct ETCP_CONN* etcp = calloc(1, sizeof(struct ETCP_CONN)); - if (!etcp) { - DEBUG_ERROR(DEBUG_CATEGORY_ETCP, "etcp_connection_create: failed to allocate ETCP_CONN"); - return NULL; - } - - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_connection_create: allocated etcp=%p", etcp); - - etcp->instance = instance; - etcp->input_queue = queue_new(instance->ua, instance->pkt_pool); - etcp->output_queue = queue_new(instance->ua, instance->pkt_pool); - etcp->mtu = 1500; // Default - etcp->window_size = MAX_INFLIGHT_BYTES; - etcp->next_tx_id = 1; - - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_connection_create: queues created, mtu=%d, window_size=%u, next_tx_id=%u", - etcp->mtu, etcp->window_size, etcp->next_tx_id); - - // Init crypto (as per original) - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_connection_create: initializing crypto context"); - if (sc_init_ctx(&etcp->crypto_ctx, &instance->my_keys) != SC_OK) { - DEBUG_ERROR(DEBUG_CATEGORY_ETCP, "etcp_connection_create: crypto initialization failed"); - etcp_connection_close(etcp); - return NULL; - } - - // Add connection to instance list - etcp->next = instance->connections; - instance->connections = etcp; - instance->connections_count++; - - DEBUG_INFO(DEBUG_CATEGORY_ETCP, "etcp_connection_create: successfully created ETCP connection %p", etcp); - return etcp; -} -//======================================================================================================================================================================= -// Close connection (expanded free) -void etcp_connection_close(struct ETCP_CONN* etcp) { - if (!etcp) { - DEBUG_WARN(DEBUG_CATEGORY_ETCP, "etcp_connection_close: called with NULL etcp"); - return; - } - - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_connection_close: closing connection %p", etcp); - - // Remove connection from instance list - if (etcp->instance) { - struct ETCP_CONN** prev = &etcp->instance->connections; - struct ETCP_CONN* cur = *prev; - while (cur) { - if (cur == etcp) { - *prev = cur->next; - etcp->instance->connections_count--; - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_connection_close: removed from instance list, count=%d", - etcp->instance->connections_count); - break; - } - prev = &cur->next; - cur = cur->next; - } - } - - // Cancel timers - if (etcp->retrans_timer) { - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_connection_close: canceling retrans_timer"); - uasync_cancel_timeout(etcp->instance->ua, etcp->retrans_timer); - } - if (etcp->ack_timer) { - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_connection_close: canceling ack_timer"); - uasync_cancel_timeout(etcp->instance->ua, etcp->ack_timer); - } - - // Free inflight - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_connection_close: freeing wait_ack_list"); - inflight_packet_t* pkt = etcp->wait_ack_list; - int wait_ack_count = 0; - while (pkt) { - inflight_packet_t* next = pkt->next; - free_inflight_packet(pkt); - pkt = next; - wait_ack_count++; - } - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_connection_close: freed %d packets from wait_ack_list", wait_ack_count); - - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_connection_close: freeing wait_send_list"); - pkt = etcp->wait_send_list; - int wait_send_count = 0; - while (pkt) { - inflight_packet_t* next = pkt->next; - free_inflight_packet(pkt); - pkt = next; - wait_send_count++; - } - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_connection_close: freed %d packets from wait_send_list", wait_send_count); - - // Free rx_list - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_connection_close: freeing rx_list"); - rx_packet_t* rx = etcp->rx_list; - int rx_count = 0; - while (rx) { - rx_packet_t* next = rx->next; - free(rx->data); - free(rx); - rx = next; - rx_count++; - } - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_connection_close: freed %d packets from rx_list", rx_count); - - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_connection_close: freeing queues"); - queue_free(etcp->input_queue); - queue_free(etcp->output_queue); - - DEBUG_INFO(DEBUG_CATEGORY_ETCP, "etcp_connection_close: connection %p closed successfully", etcp); - free(etcp); -} - -//======================================================================================================================================================================= - -static void free_inflight_packet(inflight_packet_t* pkt) { - if (pkt) { - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "free_inflight_packet: freeing packet %p (id=%u, data_len=%u)", - pkt, pkt->id, pkt->data_len); - free(pkt->data); - free(pkt); - } -} - -//======================================================================================================================================================================= - -// Reset connection (unchanged) -void etcp_conn_reset(struct ETCP_CONN* etcp) { - if (!etcp) { - DEBUG_WARN(DEBUG_CATEGORY_ETCP, "etcp_conn_reset: called with NULL etcp"); - return; - } - - DEBUG_INFO(DEBUG_CATEGORY_ETCP, "etcp_conn_reset: resetting connection %p", etcp); - - // Cancel timers - if (etcp->retrans_timer) uasync_cancel_timeout(etcp->instance->ua, etcp->retrans_timer); - if (etcp->ack_timer) uasync_cancel_timeout(etcp->instance->ua, etcp->ack_timer); - - // Free lists - inflight_packet_t* pkt = etcp->wait_ack_list; - while (pkt) { - inflight_packet_t* next = pkt->next; - free_inflight_packet(pkt); - pkt = next; - } - etcp->wait_ack_list = NULL; - pkt = etcp->wait_send_list; - while (pkt) { - inflight_packet_t* next = pkt->next; - free_inflight_packet(pkt); - pkt = next; - } - etcp->wait_send_list = NULL; - - rx_packet_t* rx = etcp->rx_list; - while (rx) { - rx_packet_t* next = rx->next; - free(rx->data); - free(rx); - rx = next; - } - etcp->rx_list = NULL; - - // Reset state - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_conn_reset: clearing packet lists and resetting state"); - etcp->next_tx_id = 1; - etcp->last_rx_id = 0; - etcp->last_delivered_id = 0; - etcp->unacked_bytes = 0; - etcp->pending_ack_count = 0; - etcp->pending_retrans_count = 0; - etcp->rtt_last = 0; - etcp->rtt_avg_10 = 0; - etcp->rtt_avg_100 = 0; - etcp->jitter = 0; - etcp->burst_in_progress = 0; - etcp->rtt_history_idx = 0; - memset(etcp->rtt_history, 0, sizeof(etcp->rtt_history)); - // Queues cleared externally if needed - - DEBUG_INFO(DEBUG_CATEGORY_ETCP, "etcp_conn_reset: connection %p reset completed", etcp); -} - -//======================================================================================================================================================================= -// PACKET INPUT processing -//======================================================================================================================================================================= - - -// Input decrypted packet (unchanged structure, but calls expanded processes) -void etcp_conn_input(struct ETCP_DGRAM* pkt) { - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_conn_input: pkt=%p, link=%p, etcp=%p", - pkt, pkt ? pkt->link : NULL, pkt && pkt->link ? pkt->link->etcp : NULL); - - if (!pkt || !pkt->link || !pkt->link->etcp) { - DEBUG_ERROR(DEBUG_CATEGORY_ETCP, "etcp_conn_input: invalid parameters (pkt=%p, link=%p, etcp=%p)", - pkt, pkt ? pkt->link : NULL, pkt && pkt->link ? pkt->link->etcp : NULL); - return; - } - - struct ETCP_CONN* etcp = pkt->link->etcp; - uint8_t* data = pkt->data; - uint16_t len = pkt->data_len; - uint16_t ts = pkt->timestamp; - - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_conn_input: processing packet - etcp=%p, data_len=%u, timestamp=%u, link=%p", - etcp, len, ts, pkt->link); - - // Update link activity - pkt->link->last_activity = get_current_time_units(); - pkt->link->last_recv_local_time = pkt->link->last_activity; - pkt->link->last_recv_timestamp = ts; - - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "etcp_conn_input: updated link activity - last_activity=%llu, last_recv_timestamp=%u", - (unsigned long long)pkt->link->last_activity, pkt->link->last_recv_timestamp); - - // Parse sections - uint16_t pos = 0; - while (pos < len) { - if (pos + SECTION_HEADER_SIZE > len) break; - - uint8_t type = data[pos]; - uint16_t sec_len = (data[pos+1] << 8) | data[pos+2]; - pos += SECTION_HEADER_SIZE; - - if (pos + sec_len > len) break; - - uint8_t* sec_data = data + pos; - switch (type) { - case ETCP_SECTION_ACK: - process_section_ack(etcp, sec_data, sec_len); - break; - case ETCP_SECTION_RETRANS: - process_section_retrans(etcp, sec_data, sec_len); - break; - case ETCP_SECTION_TIMESTAMP: - process_section_timestamp(etcp, sec_data, sec_len); - break; - case ETCP_SECTION_PAYLOAD: - process_section_payload(etcp, sec_data, sec_len); - break; - case ETCP_SECTION_MEAS_TS: - process_section_meas_ts(etcp, sec_data, sec_len); - break; - case ETCP_SECTION_MEAS_RESP: - process_section_meas_resp(etcp, sec_data, sec_len); - break; - default: - DEBUG_WARN(DEBUG_CATEGORY_ETCP, "Unknown section type: 0x%02x", type); - break; - } - pos += sec_len; - } - - // Post-processing - detect_gaps_and_request_retrans(etcp); - deliver_contiguous_packets(etcp); - - // Trigger if waiting - if (etcp->wait_timeout_active) { - etcp->wait_timeout_active = 0; - // Assume load balancer polls again - } -} - -// Request next packet (expanded) -// source 1: wait_ack_list -// source 2: queue > wait_ack_list - -struct ETCP_DGRAM* etcp_request_pkt(struct ETCP_CONN* etcp) { - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_request_pkt: etcp=%p", etcp); - - if (!etcp) { - DEBUG_ERROR(DEBUG_CATEGORY_ETCP, "etcp_request_pkt: called with NULL etcp"); - return NULL; - } - - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "etcp_request_pkt: input_queue_count=%d, wait_send_list=%p, unacked_bytes=%u, window_size=%u", - queue_entry_count(etcp->input_queue), etcp->wait_send_list, - etcp->unacked_bytes, etcp->window_size); - - // Check waiting conditions - if (queue_entry_count(etcp->input_queue) == 0 && etcp->wait_send_list == NULL) { - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "etcp_request_pkt: no packets available, setting callback and returning NULL"); - // Wait for input or retrans - // Set callback for resume - queue_set_callback(etcp->input_queue, input_queue_cb, etcp); // Define cb to resume - return NULL; - } - - if (etcp->unacked_bytes >= etcp->window_size) { - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "etcp_request_pkt: window full (unacked_bytes=%u >= window_size=%u), waiting", - etcp->unacked_bytes, etcp->window_size); - // Wait ACK or timeout - etcp->wait_timeout_active = 1; - return NULL; - } - - if (etcp->unacked_bytes >= etcp->window_size) { - // Wait ACK or timeout - etcp->wait_timeout_active = 1; - return NULL; - } - - // Get packet (prefer retrans) - inflight_packet_t* ipkt = etcp->wait_send_list; - if (ipkt) { - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_request_pkt: using retransmission packet id=%u", ipkt->id); - remove_inflight(etcp, ipkt); - } else { - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_request_pkt: getting new packet from input queue"); - struct ll_entry* entry = queue_entry_get(etcp->input_queue); - if (!entry) { - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "etcp_request_pkt: no entry available from input queue"); - return NULL; - } - - ipkt = calloc(1, sizeof(inflight_packet_t)); - if (!ipkt) { - DEBUG_ERROR(DEBUG_CATEGORY_ETCP, "etcp_request_pkt: failed to allocate inflight_packet_t"); - queue_entry_put_first(etcp->input_queue, entry); - return NULL; - } - - ipkt->id = etcp->next_tx_id++; - ipkt->data_len = ll_entry_size(entry); - ipkt->data = malloc(ipkt->data_len); - - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_request_pkt: created new packet id=%u, data_len=%u", - ipkt->id, ipkt->data_len); - - if (!ipkt->data) { - DEBUG_ERROR(DEBUG_CATEGORY_ETCP, "etcp_request_pkt: failed to allocate packet data buffer"); - free(ipkt); - queue_entry_put_first(etcp->input_queue, entry); - return NULL; - } - memcpy(ipkt->data, ll_entry_data(entry), ipkt->data_len); - ipkt->payload_len = ipkt->data_len; // Assume full is payload for window - queue_entry_free(entry); - } - - // Select link - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_request_pkt: selecting link via loadbalancer"); - struct ETCP_LINK* link = etcp_loadbalancer_select_link(etcp); - if (!link) { - DEBUG_WARN(DEBUG_CATEGORY_ETCP, "etcp_request_pkt: no suitable link available"); - // Put back if new - if (ipkt->send_count == 0) { - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_request_pkt: putting new packet back to input queue"); - struct ll_entry* entry = queue_entry_new(ipkt->data_len); - memcpy(ll_entry_data(entry), ipkt->data, ipkt->data_len); - queue_entry_put_first(etcp->input_queue, entry); - } - free_inflight_packet(ipkt); - return NULL; - } - - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_request_pkt: selected link %p", link); - - // Build packet buf - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_request_pkt: building packet with optional sections"); - uint8_t buf[1600]; - uint16_t len = append_optional_sections(etcp, buf, link); - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_request_pkt: optional sections added, len=%u", len); - - // Add payload (assume payload includes ID as first 2 bytes) - uint16_t pay_len = ipkt->payload_len + 2; // ID - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_request_pkt: payload section - pay_len=%u (payload_len=%u + 2 for ID)", - pay_len, ipkt->payload_len); - - if (len + SECTION_HEADER_SIZE + pay_len > sizeof(buf)) { - DEBUG_ERROR(DEBUG_CATEGORY_ETCP, "etcp_request_pkt: packet too large (%u + %u + %u > %u), dropping", - len, SECTION_HEADER_SIZE, pay_len, (unsigned)sizeof(buf)); - free_inflight_packet(ipkt); - return NULL; - } - buf[len++] = ETCP_SECTION_PAYLOAD; - buf[len++] = (pay_len >> 8) & 0xFF; - buf[len++] = pay_len & 0xFF; - buf[len++] = (ipkt->id >> 8) & 0xFF; - buf[len++] = ipkt->id & 0xFF; - memcpy(buf + len, ipkt->data, ipkt->payload_len); - len += ipkt->payload_len; - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_request_pkt: payload added, total len=%u", len); - - // Alloc dgram - struct ETCP_DGRAM* dgram = memory_pool_alloc(etcp->instance->pkt_pool); - if (!dgram) { - DEBUG_ERROR(DEBUG_CATEGORY_ETCP, "etcp_request_pkt: failed to allocate dgram from memory pool"); - free_inflight_packet(ipkt); - return NULL; - } - dgram->link = link; - dgram->data_len = len; - dgram->noencrypt_len = 0; - dgram->timestamp = get_current_timestamp(); - memcpy(dgram->data, buf, len); - - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_request_pkt: allocated dgram %p (link=%p, data_len=%u, timestamp=%u)", - dgram, link, len, dgram->timestamp); - - // Update inflight - ipkt->last_link = link; - ipkt->last_timestamp = dgram->timestamp; - ipkt->send_count++; - etcp->unacked_bytes += ipkt->payload_len; - etcp->bytes_sent_total += len; // Approx - - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_request_pkt: updated inflight - send_count=%u, unacked_bytes=%u, bytes_sent_total=%u", - ipkt->send_count, etcp->unacked_bytes, etcp->bytes_sent_total); - - // Move to wait_ack - ipkt->state = INFLIGHT_STATE_WAIT_ACK; - ipkt->next = etcp->wait_ack_list; - etcp->wait_ack_list = ipkt; - - // Add to wait_ack list - ipkt->next = etcp->wait_ack_list; - etcp->wait_ack_list = ipkt; - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_request_pkt: added packet %u to wait_ack_list", ipkt->id); - - // Start retrans timer if empty before - if (etcp->wait_ack_list->next == NULL && !etcp->retrans_timer) { - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_request_pkt: starting retrans_timer (wait_ack_list was empty)"); - etcp->retrans_timer = uasync_set_timeout(etcp->instance->ua, 20, etcp, retrans_timer_cb); - } - - // Update load balancer after send (call from connections after actual send) - // etcp_loadbalancer_update_after_send(link, len + headers); // Assume called externally - - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_request_pkt: successfully created dgram %p for packet id=%u", - dgram, ipkt->id); - return dgram; -} - -// Input queue callback (placeholder to resume load balancer) -static void input_queue_cb(struct ll_queue* q, struct ll_entry* entry, void* arg) { - (void)q; - (void)entry; - struct ETCP_CONN* etcp = arg; - // Resume polling etcp_request_pkt - queue_resume_callback(q); -} - -// Append optional (expanded with debug) -static uint16_t append_optional_sections(struct ETCP_CONN* etcp, uint8_t* buf, struct ETCP_LINK* link) { - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "append_optional_sections: etcp=%p, link=%p", etcp, link); - - uint16_t len = 0; - int sections_added = 0; - - // Timestamp (assume 2 bytes TS) - uint16_t ts = get_current_timestamp(); - buf[len++] = ETCP_SECTION_TIMESTAMP; - buf[len++] = 0; // len high - buf[len++] = 2; // len low - buf[len++] = (ts >> 8) & 0xFF; - buf[len++] = ts & 0xFF; - sections_added++; - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "append_optional_sections: added TIMESTAMP section (ts=%u, len=%u)", ts, len); - - // ACK (assume count(1) + [id(2)+ts(2)]*count) - if (etcp->pending_ack_count > 0) { - uint16_t ack_len = 1 + etcp->pending_ack_count * 4; - buf[len++] = ETCP_SECTION_ACK; - buf[len++] = (ack_len >> 8) & 0xFF; - buf[len++] = ack_len & 0xFF; - buf[len++] = etcp->pending_ack_count; - - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "append_optional_sections: adding ACK section with %u ACKs", etcp->pending_ack_count); - - for (uint8_t i = 0; i < etcp->pending_ack_count; i++) { - uint16_t id = etcp->pending_ack_ids[i]; - uint16_t ats = etcp->pending_ack_ts[i]; - buf[len++] = (id >> 8) & 0xFF; - buf[len++] = id & 0xFF; - buf[len++] = (ats >> 8) & 0xFF; - buf[len++] = ats & 0xFF; - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "append_optional_sections: ACK[%u] - id=%u, ts=%u", i, id, ats); - } - - etcp->pending_ack_count = 0; - etcp->ack_packets_count++; - sections_added++; - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "append_optional_sections: added ACK section (total_len=%u)", len); - } - - // RETRANS (similar: count(1) + id(2)*count) - if (etcp->pending_retrans_count > 0) { - uint16_t ret_len = 1 + etcp->pending_retrans_count * 2; - buf[len++] = ETCP_SECTION_RETRANS; - buf[len++] = (ret_len >> 8) & 0xFF; - buf[len++] = ret_len & 0xFF; - buf[len++] = etcp->pending_retrans_count; - - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "append_optional_sections: adding RETRANS section with %u requests", etcp->pending_retrans_count); - - for (uint8_t i = 0; i < etcp->pending_retrans_count; i++) { - uint16_t id = etcp->pending_retrans_ids[i]; - buf[len++] = (id >> 8) & 0xFF; - buf[len++] = id & 0xFF; - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "append_optional_sections: RETRANS[%u] - id=%u", i, id); - } - - etcp->pending_retrans_count = 0; - sections_added++; - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "append_optional_sections: added RETRANS section (total_len=%u)", len); - } - - // MEAS_TS if burst (assume [start_id(2)][n(1)]) - if (etcp->burst_in_progress) { - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "append_optional_sections: burst measurement in progress, would add MEAS_TS"); - // Logic for adding to burst packets - // Placeholder - } - - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "append_optional_sections: completed - added %u sections, total_len=%u", - sections_added, len); - - return len; -} - -// Process ACK (expanded) -static void process_section_ack(struct ETCP_CONN* etcp, uint8_t* data, uint16_t len) { - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "process_section_ack: etcp=%p, data=%p, len=%u", etcp, data, len); - - if (len < 1) { - DEBUG_WARN(DEBUG_CATEGORY_ETCP, "process_section_ack: invalid length %u", len); - return; - } - uint8_t count = data[0]; - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "process_section_ack: count=%u", count); - - if (1 + count * 4 > len) { - DEBUG_ERROR(DEBUG_CATEGORY_ETCP, "process_section_ack: invalid count %u for len %u", count, len); - return; - } - - uint16_t lp_ts = 0; - int acked_count = 0; - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "process_section_ack: processing %u ACK entries", count); - - for (uint8_t i = 0; i < count; i++) { - uint16_t id = (data[1 + i*4] << 8) | data[2 + i*4]; - uint16_t ts = (data[3 + i*4] << 8) | data[4 + i*4]; - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "process_section_ack: entry %u - id=%u, ts=%u", i, id, ts); - - inflight_packet_t* pkt = find_inflight(etcp, id, INFLIGHT_STATE_WAIT_ACK); - if (pkt) { - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "process_section_ack: found inflight packet %u, removing (payload_len=%u)", - id, pkt->payload_len); - etcp->unacked_bytes -= pkt->payload_len; - remove_inflight(etcp, pkt); - free_inflight_packet(pkt); - lp_ts = ts; // Update last positive ts - acked_count++; - } else { - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "process_section_ack: no inflight packet found for id=%u", id); - } - } - - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "process_section_ack: successfully ACKed %u/%u packets", acked_count, count); - // Use lp_ts in retrans_check if needed - etcp->last_rx_ack_id = (data[1 + (count-1)*4] << 8) | data[2 + (count-1)*4]; // Last ACK ID -} - -// Process RETRANS (expanded) -static void process_section_retrans(struct ETCP_CONN* etcp, uint8_t* data, uint16_t len) { - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "process_section_retrans: etcp=%p, data=%p, len=%u", etcp, data, len); - - if (len < 1) { - DEBUG_WARN(DEBUG_CATEGORY_ETCP, "process_section_retrans: invalid length %u", len); - return; - } - uint8_t count = data[0]; - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "process_section_retrans: count=%u", count); - - if (1 + count * 2 > len) { - DEBUG_ERROR(DEBUG_CATEGORY_ETCP, "process_section_retrans: invalid count %u for len %u", count, len); - return; - } - - int retrans_count = 0; - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "process_section_retrans: processing %u retrans requests", count); - - for (uint8_t i = 0; i < count; i++) { - uint16_t id = (data[1 + i*2] << 8) | data[2 + i*2]; - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "process_section_retrans: requesting retrans for id=%u", id); - - inflight_packet_t* pkt = find_inflight(etcp, id, INFLIGHT_STATE_WAIT_ACK); - if (pkt) { - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "process_section_retrans: found packet %u, marking for retransmission", id); - pkt->retrans_req_count++; - pkt->need_retrans = 1; - move_to_wait_send(etcp, pkt); - retrans_count++; - } else { - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "process_section_retrans: no inflight packet found for id=%u", id); - } - } - - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "process_section_retrans: marked %u/%u packets for retransmission", retrans_count, count); -} - -// Process TIMESTAMP (expanded) -static void process_section_timestamp(struct ETCP_CONN* etcp, uint8_t* data, uint16_t len) { - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "process_section_timestamp: etcp=%p, data=%p, len=%u", etcp, data, len); - - if (len != 2) { - DEBUG_WARN(DEBUG_CATEGORY_ETCP, "process_section_timestamp: invalid length %u (expected 2)", len); - return; - } - uint16_t recv_ts = (data[0] << 8) | data[1]; - uint16_t current_ts = get_current_timestamp(); - uint16_t rtt = timestamp_diff(current_ts, recv_ts); - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "process_section_timestamp: recv_ts=%u, current_ts=%u, calculated_rtt=%u", - recv_ts, current_ts, rtt); - update_rtt(etcp, rtt); -} - -// Process PAYLOAD (expanded) -static void process_section_payload(struct ETCP_CONN* etcp, uint8_t* data, uint16_t len) { - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "process_section_payload: etcp=%p, data=%p, len=%u", etcp, data, len); - - if (len < 2) { - DEBUG_WARN(DEBUG_CATEGORY_ETCP, "process_section_payload: invalid length %u (minimum 2)", len); - return; - } - uint16_t id = (data[0] << 8) | data[1]; - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "process_section_payload: packet id=%u, last_rx_id=%u", id, etcp->last_rx_id); - - if (id <= etcp->last_rx_id) { - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "process_section_payload: duplicate packet id=%u (last_rx_id=%u), ignoring", - id, etcp->last_rx_id); - return; // Dup - } - - rx_packet_t* new_rx = calloc(1, sizeof(rx_packet_t)); - if (!new_rx) { - DEBUG_ERROR(DEBUG_CATEGORY_ETCP, "process_section_payload: failed to allocate rx_packet_t"); - return; - } - - new_rx->id = id; - new_rx->timestamp = get_current_timestamp(); - new_rx->data_len = len - 2; - - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "process_section_payload: allocated rx_packet %p (id=%u, data_len=%u, timestamp=%u)", - new_rx, new_rx->id, new_rx->data_len, new_rx->timestamp); - - new_rx->data = malloc(new_rx->data_len); - if (!new_rx->data) { - DEBUG_ERROR(DEBUG_CATEGORY_ETCP, "process_section_payload: failed to allocate rx data buffer (size=%u)", new_rx->data_len); - free(new_rx); - return; - } - memcpy(new_rx->data, data + 2, new_rx->data_len); - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "process_section_payload: copied %u bytes of payload data", new_rx->data_len); - - // Insert sorted (assume IDs sequential, no wrap for simplicity) - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "process_section_payload: inserting packet into rx_list (id=%u)", id); - rx_packet_t** ptr = &etcp->rx_list; - while (*ptr && (*ptr)->id < id) ptr = &(*ptr)->next; - if (*ptr && (*ptr)->id == id) { - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "process_section_payload: duplicate packet id=%u found in rx_list, discarding", id); - free(new_rx->data); - free(new_rx); - return; - } - new_rx->next = *ptr; - *ptr = new_rx; - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "process_section_payload: successfully inserted packet id=%u into rx_list", id); - - if (id > etcp->last_rx_id) { - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "process_section_payload: updating last_rx_id from %u to %u", - etcp->last_rx_id, id); - etcp->last_rx_id = id; - } - - // Pending ACK - if (etcp->pending_ack_count < MAX_PENDING) { - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "process_section_payload: adding packet id=%u to pending ACKs (count=%u)", - id, etcp->pending_ack_count + 1); - etcp->pending_ack_ids[etcp->pending_ack_count] = id; - etcp->pending_ack_ts[etcp->pending_ack_count++] = new_rx->timestamp; - } else { - DEBUG_WARN(DEBUG_CATEGORY_ETCP, "process_section_payload: pending ACK buffer full (%u), cannot add id=%u", - MAX_PENDING, id); - } - - // Schedule ACK - if (!etcp->ack_timer) { - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "process_section_payload: scheduling ACK timer (delay=%u tb)", ACK_DELAY_TB); - etcp->ack_timer = uasync_set_timeout(etcp->instance->ua, ACK_DELAY_TB, etcp, ack_timer_cb); - } - - etcp->bytes_received_total += len; - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "process_section_payload: packet id=%u processed successfully, bytes_received_total=%u", - id, etcp->bytes_received_total); -} - -// Process MEAS_TS (expanded: send resp) -static void process_section_meas_ts(struct ETCP_CONN* etcp, uint8_t* data, uint16_t len) { - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "process_section_meas_ts: etcp=%p, data=%p, len=%u", etcp, data, len); - - if (len < 3) { - DEBUG_WARN(DEBUG_CATEGORY_ETCP, "process_section_meas_ts: invalid length %u (minimum 3)", len); - return; - } - uint16_t start_id = (data[0] << 8) | data[1]; - uint8_t n = data[2]; - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "process_section_meas_ts: start_id=%u, n=%u", start_id, n); - - // Send MEAS_RESP (add to pending or direct) - // Placeholder: assume added to next packet - DEBUG_INFO(DEBUG_CATEGORY_ETCP, "MEAS_TS: start_id=%u n=%u", start_id, n); - // Build resp [start_id(2)][n(1)][recv_ts(2)] - // But since appended in optional, set state -} - -// Process MEAS_RESP (expanded: calc bw) -static void process_section_meas_resp(struct ETCP_CONN* etcp, uint8_t* data, uint16_t len) { - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "process_section_meas_resp: etcp=%p, data=%p, len=%u", etcp, data, len); - - // Assume format [start_id(2)][n(1)][recv_ts(2)] - if (len < 5) { - DEBUG_WARN(DEBUG_CATEGORY_ETCP, "process_section_meas_resp: invalid length %u (minimum 5)", len); - return; - } - uint16_t start_id = (data[0] << 8) | data[1]; - uint8_t n = data[2]; - uint16_t recv_ts = (data[3] << 8) | data[4]; - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "process_section_meas_resp: start_id=%u, n=%u, recv_ts=%u", start_id, n, recv_ts); - - if (etcp->burst_start_id != start_id || !etcp->burst_in_progress) return; - - // Calc bw based on burst (placeholder logic) - uint16_t delta = timestamp_diff(get_current_timestamp(), recv_ts); - uint32_t bw = (BURST_SIZE * etcp->mtu * 8) / (delta / 1000.0); // bits/sec approx - update_link_bandwidth(etcp->links, bw); // Assume primary link - etcp->burst_in_progress = 0; -} - -// Detect gaps (expanded) -static void detect_gaps_and_request_retrans(struct ETCP_CONN* etcp) { - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "detect_gaps_and_request_retrans: etcp=%p, last_delivered_id=%u", - etcp, etcp->last_delivered_id); - - rx_packet_t* rx = etcp->rx_list; - uint16_t expected = etcp->last_delivered_id + 1; - int gaps_found = 0; - int retrans_requested = 0; - - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "detect_gaps_and_request_retrans: starting gap detection from expected_id=%u", expected); - - while (rx) { - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "detect_gaps_and_request_retrans: checking rx packet id=%u (expected=%u)", - rx->id, expected); - - if (rx->id > expected) { - // Gap: add retrans for expected to rx->id -1 - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "detect_gaps_and_request_retrans: gap detected - expected=%u, found=%u", - expected, rx->id); - gaps_found++; - - for (uint16_t gid = expected; gid < rx->id && etcp->pending_retrans_count < MAX_PENDING; gid++) { - etcp->pending_retrans_ids[etcp->pending_retrans_count++] = gid; - retrans_requested++; - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "detect_gaps_and_request_retrans: queued retrans request for id=%u", gid); - } - expected = rx->id + 1; - } else if (rx->id == expected) { - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "detect_gaps_and_request_retrans: found expected packet id=%u", expected); - expected++; - } else { - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "detect_gaps_and_request_retrans: packet id=%u < expected=%u, already processed", - rx->id, expected); - } - rx = rx->next; - } - - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "detect_gaps_and_request_retrans: completed - gaps_found=%d, retrans_requested=%u", - gaps_found, retrans_requested); -} - -// Deliver contiguous (expanded) -static void deliver_contiguous_packets(struct ETCP_CONN* etcp) { - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "deliver_contiguous_packets: etcp=%p, last_delivered_id=%u", - etcp, etcp->last_delivered_id); - - rx_packet_t** ptr = &etcp->rx_list; - int delivered_count = 0; - uint32_t delivered_bytes = 0; - - while (*ptr && (*ptr)->id == etcp->last_delivered_id + 1) { - rx_packet_t* rx = *ptr; - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "deliver_contiguous_packets: delivering packet id=%u (data_len=%u)", - rx->id, rx->data_len); - - struct ll_entry* entry = queue_entry_new(rx->data_len); - if (entry) { - memcpy(ll_entry_data(entry), rx->data, rx->data_len); - queue_entry_put(etcp->output_queue, entry); - delivered_bytes += rx->data_len; - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "deliver_contiguous_packets: queued packet id=%u to output_queue", rx->id); - } else { - DEBUG_ERROR(DEBUG_CATEGORY_ETCP, "deliver_contiguous_packets: failed to allocate queue entry for packet id=%u", rx->id); - } - - etcp->last_delivered_id = rx->id; - *ptr = rx->next; - free(rx->data); - free(rx); - delivered_count++; - } - - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "deliver_contiguous_packets: delivered %u contiguous packets (%u bytes), last_delivered_id=%u", - delivered_count, delivered_bytes, etcp->last_delivered_id); -} - -// Retrans check (expanded with lp_ts) -static void retrans_check(struct ETCP_CONN* etcp) { - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "retrans_check: etcp=%p, wait_ack_list=%p, rtt_avg_10=%u, jitter=%u", - etcp, etcp->wait_ack_list, etcp->rtt_avg_10, etcp->jitter); - - uint64_t now = get_current_time_units(); - inflight_packet_t** ptr = &etcp->wait_ack_list; - uint16_t lp_ts = 0; - int checked_packets = 0; - int retrans_packets = 0; - uint16_t timeout_calc = (uint16_t)(etcp->rtt_avg_10 * RETRANS_K1 + etcp->jitter * RETRANS_K2); - - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "retrans_check: timeout calculation: rtt_avg_10=%u * %.1f + jitter=%u * %.1f = %u", - etcp->rtt_avg_10, RETRANS_K1, etcp->jitter, RETRANS_K2, timeout_calc); - - while (*ptr) { - inflight_packet_t* pkt = *ptr; - checked_packets++; - uint16_t timeout = (uint16_t)(etcp->rtt_avg_10 * RETRANS_K1 + etcp->jitter * RETRANS_K2); - uint16_t time_since_send = timestamp_diff(now, pkt->last_timestamp); - - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "retrans_check: checking packet id=%u (time_since_send=%u, timeout=%u, need_retrans=%u)", - pkt->id, time_since_send, timeout, pkt->need_retrans); - - if (time_since_send > timeout) { - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "retrans_check: packet id=%u timed out, marking for retransmission", pkt->id); - pkt->need_retrans = 1; - move_to_wait_send(etcp, pkt); - etcp->retransmissions_count++; - retrans_packets++; - ptr = &etcp->wait_ack_list; // Restart scan after move - continue; - } - // lp_ts logic (per spec: if acked, remember ts; if later unacked with ts < lp_ts, ?) - // Assume if pkt acked (but shouldn't be in list), or for forward progress - ptr = &pkt->next; - } - - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "retrans_check: completed - checked %d packets, retransmitted %d packets, total_retransmissions=%u", - checked_packets, retrans_packets, etcp->retransmissions_count); - - // Reschedule if list not empty - if (etcp->wait_ack_list) { - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "retrans_check: rescheduling retrans_timer (wait_ack_list not empty)"); - etcp->retrans_timer = uasync_set_timeout(etcp->instance->ua, 20, etcp, retrans_timer_cb); - } else { - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "retrans_check: clearing retrans_timer (wait_ack_list empty)"); - etcp->retrans_timer = NULL; - } -} - -// Find inflight (expanded) -static inflight_packet_t* find_inflight(struct ETCP_CONN* etcp, uint16_t id, uint8_t state) { - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "find_inflight: etcp=%p, id=%u, state=%u", etcp, id, state); - - inflight_packet_t* list = (state == INFLIGHT_STATE_WAIT_ACK) ? etcp->wait_ack_list : etcp->wait_send_list; - inflight_packet_t* pkt = list; - int position = 0; - - while (pkt && pkt->id != id) { - pkt = pkt->next; - position++; - } - - if (pkt) { - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "find_inflight: found packet %u at position %d in %s list", - id, position, (state == INFLIGHT_STATE_WAIT_ACK) ? "wait_ack" : "wait_send"); - } else { - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "find_inflight: packet %u not found in %s list", - id, (state == INFLIGHT_STATE_WAIT_ACK) ? "wait_ack" : "wait_send"); - } - - return pkt; - return pkt; -} - -// Move to wait_send (expanded) -static void move_to_wait_send(struct ETCP_CONN* etcp, inflight_packet_t* pkt) { - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "move_to_wait_send: etcp=%p, pkt=%p (id=%u, state=%u)", - etcp, pkt, pkt->id, pkt->state); - - remove_inflight(etcp, pkt); - pkt->state = INFLIGHT_STATE_WAIT_SEND; - pkt->next = etcp->wait_send_list; - etcp->wait_send_list = pkt; - - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "move_to_wait_send: moved packet %u to wait_send_list", pkt->id); -} - -// Remove inflight (expanded) -static void remove_inflight(struct ETCP_CONN* etcp, inflight_packet_t* pkt) { - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "remove_inflight: etcp=%p, pkt=%p (id=%u, state=%u)", - etcp, pkt, pkt->id, pkt->state); - - inflight_packet_t** list = (pkt->state == INFLIGHT_STATE_WAIT_ACK) ? &etcp->wait_ack_list : &etcp->wait_send_list; - inflight_packet_t** ptr = list; - int position = 0; - - while (*ptr && *ptr != pkt) { - ptr = &(*ptr)->next; - position++; - } - - if (*ptr) { - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "remove_inflight: found packet %u at position %d in %s list", - pkt->id, position, (pkt->state == INFLIGHT_STATE_WAIT_ACK) ? "wait_ack" : "wait_send"); - *ptr = (*ptr)->next; - } else { - DEBUG_WARN(DEBUG_CATEGORY_ETCP, "remove_inflight: packet %u not found in %s list", - pkt->id, (pkt->state == INFLIGHT_STATE_WAIT_ACK) ? "wait_ack" : "wait_send"); - } -} - -// Start burst (placeholder expanded) -static void start_burst_measurement(struct ETCP_CONN* etcp, struct ETCP_LINK* link) { - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "start_burst_measurement: etcp=%p, link=%p", etcp, link); - - // Periodically call this - etcp->burst_in_progress = 1; - uint16_t old_start_id = etcp->burst_start_id; - etcp->burst_start_id = etcp->next_tx_id; - - DEBUG_INFO(DEBUG_CATEGORY_ETCP, "start_burst_measurement: started burst measurement - burst_start_id=%u (was %u)", - etcp->burst_start_id, old_start_id); - - // Delay first, then burst 4 - // Assume handled in request_pkt by adding meas_ts to next BURST_SIZE pkts -} - -// Update link bw (expanded) -static void update_link_bandwidth(struct ETCP_LINK* link, uint32_t new_bw) { - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "update_link_bandwidth: link=%p, new_bw=%u bits/sec (current=%u)", - link, new_bw, link->bandwidth); - - uint32_t old_bw = link->bandwidth; - link->bandwidth = (uint32_t)((link->bandwidth * 0.9) + (new_bw * 0.1)); // Smooth - - DEBUG_INFO(DEBUG_CATEGORY_ETCP, "update_link_bandwidth: updated link bandwidth from %u to %u bits/sec (new_bw=%u)", - old_bw, link->bandwidth, new_bw); -} - -// Update RTT (expanded with history) -static void update_rtt(struct ETCP_CONN* etcp, uint16_t new_rtt) { - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "update_rtt: etcp=%p, new_rtt=%u (last_rtt=%u, avg_10=%u, avg_100=%u)", - etcp, new_rtt, etcp->rtt_last, etcp->rtt_avg_10, etcp->rtt_avg_100); - - etcp->rtt_last = new_rtt; - etcp->rtt_avg_10 = (etcp->rtt_avg_10 * 9 + new_rtt) / 10; - etcp->rtt_avg_100 = (etcp->rtt_avg_100 * 99 + new_rtt) / 100; - - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "update_rtt: updated RTT metrics - last=%u, avg_10=%u, avg_100=%u", - etcp->rtt_last, etcp->rtt_avg_10, etcp->rtt_avg_100); - - // History for jitter - etcp->rtt_history[etcp->rtt_history_idx++] = new_rtt; - if (etcp->rtt_history_idx >= RTT_HISTORY_SIZE) etcp->rtt_history_idx = 0; - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "update_rtt: stored RTT in history at index %u", - (etcp->rtt_history_idx + RTT_HISTORY_SIZE - 1) % RTT_HISTORY_SIZE); - - calculate_jitter(etcp); -} - -static void calculate_jitter(struct ETCP_CONN* etcp) { - uint16_t min_rtt = UINT16_MAX; - uint16_t max_rtt = 0; - int valid_samples = 0; - - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "calculate_jitter: analyzing RTT history (history_idx=%u)", etcp->rtt_history_idx); - - for (int i = 0; i < RTT_HISTORY_SIZE; i++) { - if (etcp->rtt_history[i] == 0) { - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "calculate_jitter: history[%d] = 0 (invalid), skipping", i); - continue; - } - valid_samples++; - if (etcp->rtt_history[i] < min_rtt) { - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "calculate_jitter: new min_rtt=%u (was %u) at history[%d]", - etcp->rtt_history[i], min_rtt, i); - min_rtt = etcp->rtt_history[i]; - } - if (etcp->rtt_history[i] > max_rtt) { - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "calculate_jitter: new max_rtt=%u (was %u) at history[%d]", - etcp->rtt_history[i], max_rtt, i); - max_rtt = etcp->rtt_history[i]; - } - } - - uint16_t old_jitter = etcp->jitter; - etcp->jitter = max_rtt - min_rtt; - - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "calculate_jitter: completed - valid_samples=%d, min_rtt=%u, max_rtt=%u, jitter=%u (was %u)", - valid_samples, min_rtt, max_rtt, etcp->jitter, old_jitter); -} - -// Timers (expanded with debug) -static void retrans_timer_cb(void* arg) { - struct ETCP_CONN* etcp = (struct ETCP_CONN*)arg; - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "retrans_timer_cb: etcp=%p, triggered retransmission check", etcp); - retrans_check(etcp); -} - -static void ack_timer_cb(void* arg) { - struct ETCP_CONN* etcp = (struct ETCP_CONN*)arg; - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "ack_timer_cb: etcp=%p, processing pending ACKs", etcp); - etcp->ack_timer = NULL; - - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "ack_timer_cb: processing %u pending ACKs", etcp->pending_ack_count); - - // Force send ACK if pending (e.g., empty payload pkt) - // For now, assume appended next - - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "ack_timer_cb: ACK processing completed"); -} - -// Get stats (expanded) -void etcp_get_stats(struct ETCP_CONN* etcp, size_t* packets_sent, size_t* packets_recv, - size_t* pool_allocs, size_t* pool_reuse) { - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_get_stats: etcp=%p", etcp); - - if (packets_sent) { - *packets_sent = etcp->total_packets_sent; - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_get_stats: total_packets_sent=%zu", *packets_sent); - } - if (packets_recv) { - *packets_recv = etcp->bytes_received_total / 1400; // Approx MTU - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_get_stats: bytes_received_total=%u, estimated_packets=%zu", - etcp->bytes_received_total, *packets_recv); - } - if (pool_allocs || pool_reuse) { - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_get_stats: getting memory pool stats"); - memory_pool_get_stats(etcp->instance->pkt_pool, pool_allocs, pool_reuse); - if (pool_allocs) DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_get_stats: pool_allocs=%zu", *pool_allocs); - if (pool_reuse) DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_get_stats: pool_reuse=%zu", *pool_reuse); - } -} \ No newline at end of file diff --git a/!/etcp.c2 b/!/etcp.c2 deleted file mode 100755 index 49711d17..00000000 --- a/!/etcp.c2 +++ /dev/null @@ -1,1161 +0,0 @@ -// etcp.c - ETCP Protocol Implementation (refactored and expanded based on etcp_protocol.txt) -#include "etcp.h" -#include "etcp_loadbalancer.h" -#include "../lib/u_async.h" -#include "../lib/debug_config.h" -#include "crc32.h" -#include -#include -#include -#include // For bandwidth calcs - -// Enable comprehensive debug output for ETCP module -#define DEBUG_CATEGORY_ETCP_DETAILED 1 - -// Constants from spec (adjusted for completeness) -#define MAX_INFLIGHT_BYTES 65536 // Initial window -#define RETRANS_K1 2.0f // RTT multiplier for retrans timeout -#define RETRANS_K2 1.5f // Jitter multiplier -#define ACK_DELAY_TB 20 // ACK timer delay (2ms in 0.1ms units) -#define BURST_DELAY_FACTOR 4 // Delay before burst -#define BURST_SIZE 5 // Packets in burst (1 delayed + 4 burst) -#define RTT_HISTORY_SIZE 10 // For jitter calc -#define MAX_PENDING 32 // For ACKs/retrans -#define SECTION_HEADER_SIZE 3 // type(1) + len(2) - -// Forward declaration for callback function -static void input_queue_cb(struct ll_queue* q, struct ll_entry* entry, void* arg); - -// Timestamp diff (with wrap-around) -static uint16_t timestamp_diff(uint16_t t1, uint16_t t2) { - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "timestamp_diff: t1=%u, t2=%u", t1, t2); - if (t1 >= t2) { - uint16_t diff = t1 - t2; - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "timestamp_diff: normal case, diff=%u", diff); - return diff; - } - uint16_t diff = (0xFFFF - t2) + t1 + 1; - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "timestamp_diff: wraparound case, diff=%u", diff); - return diff; -} - -// Get current time in 0.1ms units -uint64_t get_current_time_units() { - struct timeval tv; - gettimeofday(&tv, NULL); - uint64_t time_units = ((uint64_t)tv.tv_sec * 10000ULL) + (tv.tv_usec / 100); - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "get_current_time_units: tv_sec=%ld, tv_usec=%ld, result=%llu", - tv.tv_sec, tv.tv_usec, (unsigned long long)time_units); - return time_units; -} - -uint16_t get_current_timestamp() { - uint16_t timestamp = (uint16_t)(get_current_time_units() & 0xFFFF); - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "get_current_timestamp: result=%u", timestamp); - return timestamp; -} - -// Internal functions (expanded) -static void retrans_timer_cb(void* arg); -static void ack_timer_cb(void* arg); -static void update_rtt(struct ETCP_CONN* etcp, uint16_t new_rtt); -static void calculate_jitter(struct ETCP_CONN* etcp); -static void detect_gaps_and_request_retrans(struct ETCP_CONN* etcp); -static void process_section_ack(struct ETCP_CONN* etcp, uint8_t* data, uint16_t len); -static void process_section_retrans(struct ETCP_CONN* etcp, uint8_t* data, uint16_t len); -static void process_section_timestamp(struct ETCP_CONN* etcp, uint8_t* data, uint16_t len); -static void process_section_payload(struct ETCP_CONN* etcp, uint8_t* data, uint16_t len); -static void process_section_meas_ts(struct ETCP_CONN* etcp, uint8_t* data, uint16_t len); -static void process_section_meas_resp(struct ETCP_CONN* etcp, uint8_t* data, uint16_t len); -static uint16_t append_optional_sections(struct ETCP_CONN* etcp, uint8_t* buf, struct ETCP_LINK* link); -static void deliver_contiguous_packets(struct ETCP_CONN* etcp); -static void retrans_check(struct ETCP_CONN* etcp); -static inflight_packet_t* find_inflight(struct ETCP_CONN* etcp, uint16_t id, uint8_t state); -static void move_to_wait_send(struct ETCP_CONN* etcp, inflight_packet_t* pkt); -static void remove_inflight(struct ETCP_CONN* etcp, inflight_packet_t* pkt); -static void free_inflight_packet(inflight_packet_t* pkt); -static void start_burst_measurement(struct ETCP_CONN* etcp, struct ETCP_LINK* link); -static void update_link_bandwidth(struct ETCP_LINK* link, uint32_t new_bw); - -// Add RTT history to struct (for jitter) -/// In etcp.h, add to ETCP_CONN: -/// uint16_t rtt_history[RTT_HISTORY_SIZE]; -/// uint8_t rtt_history_idx; - -//======================================================================================================================================================================= -// Create ETCP connection (unchanged) -struct ETCP_CONN* etcp_connection_create(struct UTUN_INSTANCE* instance) { - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_connection_create: instance=%p", instance); - - struct ETCP_CONN* etcp = calloc(1, sizeof(struct ETCP_CONN)); - if (!etcp) { - DEBUG_ERROR(DEBUG_CATEGORY_ETCP, "etcp_connection_create: failed to allocate ETCP_CONN"); - return NULL; - } - - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_connection_create: allocated etcp=%p", etcp); - - etcp->instance = instance; - etcp->input_queue = queue_new(instance->ua, instance->pkt_pool); - etcp->output_queue = queue_new(instance->ua, instance->pkt_pool); - etcp->mtu = 1500; // Default - etcp->window_size = MAX_INFLIGHT_BYTES; - etcp->next_tx_id = 1; - - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_connection_create: queues created, mtu=%d, window_size=%u, next_tx_id=%u", - etcp->mtu, etcp->window_size, etcp->next_tx_id); - - // Init crypto (as per original) - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_connection_create: initializing crypto context"); - if (sc_init_ctx(&etcp->crypto_ctx, &instance->my_keys) != SC_OK) { - DEBUG_ERROR(DEBUG_CATEGORY_ETCP, "etcp_connection_create: crypto initialization failed"); - goto conn_create_err; - } - -// создаём очереди - - if (!etcp->inflight_pool=memory_pool_init(sizeof(struct INFLIGHT_PACKET))) { DEBUG_ERROR(DEBUG_CATEGORY_ETCP, "etcp_connection_create: inflight pool alloc error"); goto conn_create_err; } - if (!etcp->input_send_q=queue_new(instance->ua, etcp->inflight_pool)) { DEBUG_ERROR(DEBUG_CATEGORY_ETCP, "etcp_connection_create: send q alloc error"); goto conn_create_err; } - if (!etcp->input_wait_ack=queue_new(instance->ua, etcp->inflight_pool)) { DEBUG_ERROR(DEBUG_CATEGORY_ETCP, "etcp_connection_create: wait q alloc error"); goto conn_create_err; } - - // Add connection to instance list - etcp->next = instance->connections; - instance->connections = etcp; - instance->connections_count++; - -// для простоты предлагаю если что-то не так - etcp_connection_close и он закрывает все что не null - - DEBUG_INFO(DEBUG_CATEGORY_ETCP, "etcp_connection_create: successfully created ETCP connection %p", etcp); - return etcp; -conn_create_err: - etcp_connection_close(etcp); - return NULL; -} -//======================================================================================================================================================================= -// Close connection (expanded free) -void etcp_connection_close(struct ETCP_CONN* etcp) { - if (!etcp) { - DEBUG_WARN(DEBUG_CATEGORY_ETCP, "etcp_connection_close: called with NULL etcp"); - return; - } - - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_connection_close: closing connection %p", etcp); - - // Remove connection from instance list - if (etcp->instance) { - struct ETCP_CONN** prev = &etcp->instance->connections; - struct ETCP_CONN* cur = *prev; - while (cur) { - if (cur == etcp) { - *prev = cur->next; - etcp->instance->connections_count--; - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_connection_close: removed from instance list, count=%d", - etcp->instance->connections_count); - break; - } - prev = &cur->next; - cur = cur->next; - } - } - - // Cancel timers - if (etcp->retrans_timer) { - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_connection_close: canceling retrans_timer"); - uasync_cancel_timeout(etcp->instance->ua, etcp->retrans_timer); - } - if (etcp->ack_timer) { - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_connection_close: canceling ack_timer"); - uasync_cancel_timeout(etcp->instance->ua, etcp->ack_timer); - } - - // Free inflight - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_connection_close: freeing wait_ack_list"); - inflight_packet_t* pkt = etcp->wait_ack_list; - int wait_ack_count = 0; - while (pkt) { - inflight_packet_t* next = pkt->next; - free_inflight_packet(pkt); - pkt = next; - wait_ack_count++; - } - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_connection_close: freed %d packets from wait_ack_list", wait_ack_count); - - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_connection_close: freeing wait_send_list"); - pkt = etcp->wait_send_list; - int wait_send_count = 0; - while (pkt) { - inflight_packet_t* next = pkt->next; - free_inflight_packet(pkt); - pkt = next; - wait_send_count++; - } - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_connection_close: freed %d packets from wait_send_list", wait_send_count); - - // Free rx_list - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_connection_close: freeing rx_list"); - rx_packet_t* rx = etcp->rx_list; - int rx_count = 0; - while (rx) { - rx_packet_t* next = rx->next; - free(rx->data); - free(rx); - rx = next; - rx_count++; - } - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_connection_close: freed %d packets from rx_list", rx_count); - - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_connection_close: freeing queues"); - queue_free(etcp->input_queue); - queue_free(etcp->output_queue); - - DEBUG_INFO(DEBUG_CATEGORY_ETCP, "etcp_connection_close: connection %p closed successfully", etcp); - free(etcp); -} - -//======================================================================================================================================================================= - -static void free_inflight_packet(inflight_packet_t* pkt) { - if (pkt) { - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "free_inflight_packet: freeing packet %p (id=%u, data_len=%u)", - pkt, pkt->id, pkt->data_len); - free(pkt->data); - free(pkt); - } -} - -//======================================================================================================================================================================= - -// Reset connection (unchanged) -void etcp_conn_reset(struct ETCP_CONN* etcp) { - if (!etcp) { - DEBUG_WARN(DEBUG_CATEGORY_ETCP, "etcp_conn_reset: called with NULL etcp"); - return; - } - - DEBUG_INFO(DEBUG_CATEGORY_ETCP, "etcp_conn_reset: resetting connection %p", etcp); - - // Cancel timers - if (etcp->retrans_timer) uasync_cancel_timeout(etcp->instance->ua, etcp->retrans_timer); - if (etcp->ack_timer) uasync_cancel_timeout(etcp->instance->ua, etcp->ack_timer); - - // Free lists - inflight_packet_t* pkt = etcp->wait_ack_list; - while (pkt) { - inflight_packet_t* next = pkt->next; - free_inflight_packet(pkt); - pkt = next; - } - etcp->wait_ack_list = NULL; - pkt = etcp->wait_send_list; - while (pkt) { - inflight_packet_t* next = pkt->next; - free_inflight_packet(pkt); - pkt = next; - } - etcp->wait_send_list = NULL; - - rx_packet_t* rx = etcp->rx_list; - while (rx) { - rx_packet_t* next = rx->next; - free(rx->data); - free(rx); - rx = next; - } - etcp->rx_list = NULL; - - // Reset state - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_conn_reset: clearing packet lists and resetting state"); - etcp->next_tx_id = 1; - etcp->last_rx_id = 0; - etcp->last_delivered_id = 0; - etcp->unacked_bytes = 0; - etcp->pending_ack_count = 0; - etcp->pending_retrans_count = 0; - etcp->rtt_last = 0; - etcp->rtt_avg_10 = 0; - etcp->rtt_avg_100 = 0; - etcp->jitter = 0; - etcp->burst_in_progress = 0; - etcp->rtt_history_idx = 0; - memset(etcp->rtt_history, 0, sizeof(etcp->rtt_history)); - // Queues cleared externally if needed - - DEBUG_INFO(DEBUG_CATEGORY_ETCP, "etcp_conn_reset: connection %p reset completed", etcp); -} - -//======================================================================================================================================================================= -// PACKET INPUT processing -//======================================================================================================================================================================= - - -// Input decrypted packet (unchanged structure, but calls expanded processes) -void etcp_conn_input(struct ETCP_DGRAM* pkt) { - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_conn_input: pkt=%p, link=%p, etcp=%p", - pkt, pkt ? pkt->link : NULL, pkt && pkt->link ? pkt->link->etcp : NULL); - - if (!pkt || !pkt->link || !pkt->link->etcp) { - DEBUG_ERROR(DEBUG_CATEGORY_ETCP, "etcp_conn_input: invalid parameters (pkt=%p, link=%p, etcp=%p)", - pkt, pkt ? pkt->link : NULL, pkt && pkt->link ? pkt->link->etcp : NULL); - return; - } - - struct ETCP_CONN* etcp = pkt->link->etcp; - uint8_t* data = pkt->data; - uint16_t len = pkt->data_len; - uint16_t ts = pkt->timestamp; - - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_conn_input: processing packet - etcp=%p, data_len=%u, timestamp=%u, link=%p", - etcp, len, ts, pkt->link); - - // Update link activity - pkt->link->last_activity = get_current_time_units(); - pkt->link->last_recv_local_time = pkt->link->last_activity; - pkt->link->last_recv_timestamp = ts; - - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "etcp_conn_input: updated link activity - last_activity=%llu, last_recv_timestamp=%u", - (unsigned long long)pkt->link->last_activity, pkt->link->last_recv_timestamp); - - // Parse sections - uint16_t pos = 0; - while (pos < len) { - if (pos + SECTION_HEADER_SIZE > len) break; - - uint8_t type = data[pos]; - uint16_t sec_len = (data[pos+1] << 8) | data[pos+2]; - pos += SECTION_HEADER_SIZE; - - if (pos + sec_len > len) break; - - uint8_t* sec_data = data + pos; - switch (type) { - case ETCP_SECTION_ACK: - process_section_ack(etcp, sec_data, sec_len); - break; - case ETCP_SECTION_RETRANS: - process_section_retrans(etcp, sec_data, sec_len); - break; - case ETCP_SECTION_TIMESTAMP: - process_section_timestamp(etcp, sec_data, sec_len); - break; - case ETCP_SECTION_PAYLOAD: - process_section_payload(etcp, sec_data, sec_len); - break; - case ETCP_SECTION_MEAS_TS: - process_section_meas_ts(etcp, sec_data, sec_len); - break; - case ETCP_SECTION_MEAS_RESP: - process_section_meas_resp(etcp, sec_data, sec_len); - break; - default: - DEBUG_WARN(DEBUG_CATEGORY_ETCP, "Unknown section type: 0x%02x", type); - break; - } - pos += sec_len; - } - - // Post-processing - detect_gaps_and_request_retrans(etcp); - deliver_contiguous_packets(etcp); - - // Trigger if waiting - if (etcp->wait_timeout_active) { - etcp->wait_timeout_active = 0; - // Assume load balancer polls again - } -} - -// Request next packet (expanded) -// source 1: wait_ack_list -// source 2: queue > wait_ack_list - -// Эта основная функция для формирования кодограмм на передачу из входящей очереди в UDP -// она вызывается когда какой-либо из каналов освободился, либо появились данные во входящей очереди, либо сработал таймер ретрансмиссии -// должна формировать пакеты до тех пор пока их может принимать loadbalancer -struct ETCP_DGRAM* etcp_request_pkt(struct ETCP_CONN* etcp) { - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_request_pkt: etcp=%p", etcp); - - if (!etcp) { - DEBUG_ERROR(DEBUG_CATEGORY_ETCP, "etcp_request_pkt: called with NULL etcp"); - return NULL; - } - - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "etcp_request_pkt: input_queue_count=%d, wait_send_list=%p, unacked_bytes=%u, window_size=%u", - queue_entry_count(etcp->input_queue), etcp->wait_send_list, - etcp->unacked_bytes, etcp->window_size); - - etcp_get_wait_list(); - // Check waiting conditions - if (queue_entry_count(etcp->input_queue) == 0 && etcp->wait_send_list == NULL) { - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "etcp_request_pkt: no packets available, setting callback and returning NULL"); - // Wait for input or retrans - // Set callback for resume - queue_set_callback(etcp->input_queue, input_queue_cb, etcp); // Define cb to resume - return NULL; - } - - if (etcp->unacked_bytes >= etcp->window_size) { - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "etcp_request_pkt: window full (unacked_bytes=%u >= window_size=%u), waiting", - etcp->unacked_bytes, etcp->window_size); - // Wait ACK or timeout - etcp->wait_timeout_active = 1; - return NULL; - } - - if (etcp->unacked_bytes >= etcp->window_size) { - // Wait ACK or timeout - etcp->wait_timeout_active = 1; - return NULL; - } - - // Get packet (prefer retrans) - inflight_packet_t* ipkt = etcp->wait_send_list; - if (ipkt) { - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_request_pkt: using retransmission packet id=%u", ipkt->id); - remove_inflight(etcp, ipkt); - } else { - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_request_pkt: getting new packet from input queue"); - struct ll_entry* entry = queue_entry_get(etcp->input_queue); - if (!entry) { - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "etcp_request_pkt: no entry available from input queue"); - return NULL; - } - - ipkt = calloc(1, sizeof(inflight_packet_t)); - if (!ipkt) { - DEBUG_ERROR(DEBUG_CATEGORY_ETCP, "etcp_request_pkt: failed to allocate inflight_packet_t"); - queue_entry_put_first(etcp->input_queue, entry); - return NULL; - } - - ipkt->id = etcp->next_tx_id++; - ipkt->data_len = ll_entry_size(entry); - ipkt->data = malloc(ipkt->data_len); - - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_request_pkt: created new packet id=%u, data_len=%u", - ipkt->id, ipkt->data_len); - - if (!ipkt->data) { - DEBUG_ERROR(DEBUG_CATEGORY_ETCP, "etcp_request_pkt: failed to allocate packet data buffer"); - free(ipkt); - queue_entry_put_first(etcp->input_queue, entry); - return NULL; - } - memcpy(ipkt->data, ll_entry_data(entry), ipkt->data_len); - ipkt->payload_len = ipkt->data_len; // Assume full is payload for window - queue_entry_free(entry); - } - - // Select link - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_request_pkt: selecting link via loadbalancer"); - struct ETCP_LINK* link = etcp_loadbalancer_select_link(etcp); - if (!link) { - DEBUG_WARN(DEBUG_CATEGORY_ETCP, "etcp_request_pkt: no suitable link available"); - // Put back if new - if (ipkt->send_count == 0) { - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_request_pkt: putting new packet back to input queue"); - struct ll_entry* entry = queue_entry_new(ipkt->data_len); - memcpy(ll_entry_data(entry), ipkt->data, ipkt->data_len); - queue_entry_put_first(etcp->input_queue, entry); - } - free_inflight_packet(ipkt); - return NULL; - } - - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_request_pkt: selected link %p", link); - - // Build packet buf - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_request_pkt: building packet with optional sections"); - uint8_t buf[1600]; - uint16_t len = append_optional_sections(etcp, buf, link); - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_request_pkt: optional sections added, len=%u", len); - - // Add payload (assume payload includes ID as first 2 bytes) - uint16_t pay_len = ipkt->payload_len + 2; // ID - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_request_pkt: payload section - pay_len=%u (payload_len=%u + 2 for ID)", - pay_len, ipkt->payload_len); - - if (len + SECTION_HEADER_SIZE + pay_len > sizeof(buf)) { - DEBUG_ERROR(DEBUG_CATEGORY_ETCP, "etcp_request_pkt: packet too large (%u + %u + %u > %u), dropping", - len, SECTION_HEADER_SIZE, pay_len, (unsigned)sizeof(buf)); - free_inflight_packet(ipkt); - return NULL; - } - buf[len++] = ETCP_SECTION_PAYLOAD; - buf[len++] = (pay_len >> 8) & 0xFF; - buf[len++] = pay_len & 0xFF; - buf[len++] = (ipkt->id >> 8) & 0xFF; - buf[len++] = ipkt->id & 0xFF; - memcpy(buf + len, ipkt->data, ipkt->payload_len); - len += ipkt->payload_len; - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_request_pkt: payload added, total len=%u", len); - - // Alloc dgram - struct ETCP_DGRAM* dgram = memory_pool_alloc(etcp->instance->pkt_pool); - if (!dgram) { - DEBUG_ERROR(DEBUG_CATEGORY_ETCP, "etcp_request_pkt: failed to allocate dgram from memory pool"); - free_inflight_packet(ipkt); - return NULL; - } - dgram->link = link; - dgram->data_len = len; - dgram->noencrypt_len = 0; - dgram->timestamp = get_current_timestamp(); - memcpy(dgram->data, buf, len); - - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_request_pkt: allocated dgram %p (link=%p, data_len=%u, timestamp=%u)", - dgram, link, len, dgram->timestamp); - - // Update inflight - ipkt->last_link = link; - ipkt->last_timestamp = dgram->timestamp; - ipkt->send_count++; - etcp->unacked_bytes += ipkt->payload_len; - etcp->bytes_sent_total += len; // Approx - - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_request_pkt: updated inflight - send_count=%u, unacked_bytes=%u, bytes_sent_total=%u", - ipkt->send_count, etcp->unacked_bytes, etcp->bytes_sent_total); - - // Move to wait_ack - ipkt->state = INFLIGHT_STATE_WAIT_ACK; - ipkt->next = etcp->wait_ack_list; - etcp->wait_ack_list = ipkt; - - // Add to wait_ack list - ipkt->next = etcp->wait_ack_list; - etcp->wait_ack_list = ipkt; - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_request_pkt: added packet %u to wait_ack_list", ipkt->id); - - // Start retrans timer if empty before - if (etcp->wait_ack_list->next == NULL && !etcp->retrans_timer) { - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_request_pkt: starting retrans_timer (wait_ack_list was empty)"); - etcp->retrans_timer = uasync_set_timeout(etcp->instance->ua, 20, etcp, retrans_timer_cb); - } - - // Update load balancer after send (call from connections after actual send) - // etcp_loadbalancer_update_after_send(link, len + headers); // Assume called externally - - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_request_pkt: successfully created dgram %p for packet id=%u", - dgram, ipkt->id); - return dgram; -} - -// Input queue callback (placeholder to resume load balancer) -static void input_queue_cb(struct ll_queue* q, struct ll_entry* entry, void* arg) { - (void)q; - (void)entry; - struct ETCP_CONN* etcp = arg; - // Resume polling etcp_request_pkt - queue_resume_callback(q); -} - -// Append optional (expanded with debug) -static uint16_t append_optional_sections(struct ETCP_CONN* etcp, uint8_t* buf, struct ETCP_LINK* link) { - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "append_optional_sections: etcp=%p, link=%p", etcp, link); - - uint16_t len = 0; - int sections_added = 0; - - // Timestamp (assume 2 bytes TS) - uint16_t ts = get_current_timestamp(); - buf[len++] = ETCP_SECTION_TIMESTAMP; - buf[len++] = 0; // len high - buf[len++] = 2; // len low - buf[len++] = (ts >> 8) & 0xFF; - buf[len++] = ts & 0xFF; - sections_added++; - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "append_optional_sections: added TIMESTAMP section (ts=%u, len=%u)", ts, len); - - // ACK (assume count(1) + [id(2)+ts(2)]*count) - if (etcp->pending_ack_count > 0) { - uint16_t ack_len = 1 + etcp->pending_ack_count * 4; - buf[len++] = ETCP_SECTION_ACK; - buf[len++] = (ack_len >> 8) & 0xFF; - buf[len++] = ack_len & 0xFF; - buf[len++] = etcp->pending_ack_count; - - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "append_optional_sections: adding ACK section with %u ACKs", etcp->pending_ack_count); - - for (uint8_t i = 0; i < etcp->pending_ack_count; i++) { - uint16_t id = etcp->pending_ack_ids[i]; - uint16_t ats = etcp->pending_ack_ts[i]; - buf[len++] = (id >> 8) & 0xFF; - buf[len++] = id & 0xFF; - buf[len++] = (ats >> 8) & 0xFF; - buf[len++] = ats & 0xFF; - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "append_optional_sections: ACK[%u] - id=%u, ts=%u", i, id, ats); - } - - etcp->pending_ack_count = 0; - etcp->ack_packets_count++; - sections_added++; - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "append_optional_sections: added ACK section (total_len=%u)", len); - } - - // RETRANS (similar: count(1) + id(2)*count) - if (etcp->pending_retrans_count > 0) { - uint16_t ret_len = 1 + etcp->pending_retrans_count * 2; - buf[len++] = ETCP_SECTION_RETRANS; - buf[len++] = (ret_len >> 8) & 0xFF; - buf[len++] = ret_len & 0xFF; - buf[len++] = etcp->pending_retrans_count; - - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "append_optional_sections: adding RETRANS section with %u requests", etcp->pending_retrans_count); - - for (uint8_t i = 0; i < etcp->pending_retrans_count; i++) { - uint16_t id = etcp->pending_retrans_ids[i]; - buf[len++] = (id >> 8) & 0xFF; - buf[len++] = id & 0xFF; - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "append_optional_sections: RETRANS[%u] - id=%u", i, id); - } - - etcp->pending_retrans_count = 0; - sections_added++; - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "append_optional_sections: added RETRANS section (total_len=%u)", len); - } - - // MEAS_TS if burst (assume [start_id(2)][n(1)]) - if (etcp->burst_in_progress) { - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "append_optional_sections: burst measurement in progress, would add MEAS_TS"); - // Logic for adding to burst packets - // Placeholder - } - - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "append_optional_sections: completed - added %u sections, total_len=%u", - sections_added, len); - - return len; -} - -// Process ACK (expanded) -static void process_section_ack(struct ETCP_CONN* etcp, uint8_t* data, uint16_t len) { - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "process_section_ack: etcp=%p, data=%p, len=%u", etcp, data, len); - - if (len < 1) { - DEBUG_WARN(DEBUG_CATEGORY_ETCP, "process_section_ack: invalid length %u", len); - return; - } - uint8_t count = data[0]; - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "process_section_ack: count=%u", count); - - if (1 + count * 4 > len) { - DEBUG_ERROR(DEBUG_CATEGORY_ETCP, "process_section_ack: invalid count %u for len %u", count, len); - return; - } - - uint16_t lp_ts = 0; - int acked_count = 0; - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "process_section_ack: processing %u ACK entries", count); - - for (uint8_t i = 0; i < count; i++) { - uint16_t id = (data[1 + i*4] << 8) | data[2 + i*4]; - uint16_t ts = (data[3 + i*4] << 8) | data[4 + i*4]; - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "process_section_ack: entry %u - id=%u, ts=%u", i, id, ts); - - inflight_packet_t* pkt = find_inflight(etcp, id, INFLIGHT_STATE_WAIT_ACK); - if (pkt) { - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "process_section_ack: found inflight packet %u, removing (payload_len=%u)", - id, pkt->payload_len); - etcp->unacked_bytes -= pkt->payload_len; - remove_inflight(etcp, pkt); - free_inflight_packet(pkt); - lp_ts = ts; // Update last positive ts - acked_count++; - } else { - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "process_section_ack: no inflight packet found for id=%u", id); - } - } - - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "process_section_ack: successfully ACKed %u/%u packets", acked_count, count); - // Use lp_ts in retrans_check if needed - etcp->last_rx_ack_id = (data[1 + (count-1)*4] << 8) | data[2 + (count-1)*4]; // Last ACK ID -} - -// Process RETRANS (expanded) -static void process_section_retrans(struct ETCP_CONN* etcp, uint8_t* data, uint16_t len) { - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "process_section_retrans: etcp=%p, data=%p, len=%u", etcp, data, len); - - if (len < 1) { - DEBUG_WARN(DEBUG_CATEGORY_ETCP, "process_section_retrans: invalid length %u", len); - return; - } - uint8_t count = data[0]; - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "process_section_retrans: count=%u", count); - - if (1 + count * 2 > len) { - DEBUG_ERROR(DEBUG_CATEGORY_ETCP, "process_section_retrans: invalid count %u for len %u", count, len); - return; - } - - int retrans_count = 0; - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "process_section_retrans: processing %u retrans requests", count); - - for (uint8_t i = 0; i < count; i++) { - uint16_t id = (data[1 + i*2] << 8) | data[2 + i*2]; - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "process_section_retrans: requesting retrans for id=%u", id); - - inflight_packet_t* pkt = find_inflight(etcp, id, INFLIGHT_STATE_WAIT_ACK); - if (pkt) { - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "process_section_retrans: found packet %u, marking for retransmission", id); - pkt->retrans_req_count++; - pkt->need_retrans = 1; - move_to_wait_send(etcp, pkt); - retrans_count++; - } else { - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "process_section_retrans: no inflight packet found for id=%u", id); - } - } - - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "process_section_retrans: marked %u/%u packets for retransmission", retrans_count, count); -} - -// Process TIMESTAMP (expanded) -static void process_section_timestamp(struct ETCP_CONN* etcp, uint8_t* data, uint16_t len) { - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "process_section_timestamp: etcp=%p, data=%p, len=%u", etcp, data, len); - - if (len != 2) { - DEBUG_WARN(DEBUG_CATEGORY_ETCP, "process_section_timestamp: invalid length %u (expected 2)", len); - return; - } - uint16_t recv_ts = (data[0] << 8) | data[1]; - uint16_t current_ts = get_current_timestamp(); - uint16_t rtt = timestamp_diff(current_ts, recv_ts); - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "process_section_timestamp: recv_ts=%u, current_ts=%u, calculated_rtt=%u", - recv_ts, current_ts, rtt); - update_rtt(etcp, rtt); -} - -// Process PAYLOAD (expanded) -static void process_section_payload(struct ETCP_CONN* etcp, uint8_t* data, uint16_t len) { - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "process_section_payload: etcp=%p, data=%p, len=%u", etcp, data, len); - - if (len < 2) { - DEBUG_WARN(DEBUG_CATEGORY_ETCP, "process_section_payload: invalid length %u (minimum 2)", len); - return; - } - uint16_t id = (data[0] << 8) | data[1]; - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "process_section_payload: packet id=%u, last_rx_id=%u", id, etcp->last_rx_id); - - if (id <= etcp->last_rx_id) { - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "process_section_payload: duplicate packet id=%u (last_rx_id=%u), ignoring", - id, etcp->last_rx_id); - return; // Dup - } - - rx_packet_t* new_rx = calloc(1, sizeof(rx_packet_t)); - if (!new_rx) { - DEBUG_ERROR(DEBUG_CATEGORY_ETCP, "process_section_payload: failed to allocate rx_packet_t"); - return; - } - - new_rx->id = id; - new_rx->timestamp = get_current_timestamp(); - new_rx->data_len = len - 2; - - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "process_section_payload: allocated rx_packet %p (id=%u, data_len=%u, timestamp=%u)", - new_rx, new_rx->id, new_rx->data_len, new_rx->timestamp); - - new_rx->data = malloc(new_rx->data_len); - if (!new_rx->data) { - DEBUG_ERROR(DEBUG_CATEGORY_ETCP, "process_section_payload: failed to allocate rx data buffer (size=%u)", new_rx->data_len); - free(new_rx); - return; - } - memcpy(new_rx->data, data + 2, new_rx->data_len); - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "process_section_payload: copied %u bytes of payload data", new_rx->data_len); - - // Insert sorted (assume IDs sequential, no wrap for simplicity) - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "process_section_payload: inserting packet into rx_list (id=%u)", id); - rx_packet_t** ptr = &etcp->rx_list; - while (*ptr && (*ptr)->id < id) ptr = &(*ptr)->next; - if (*ptr && (*ptr)->id == id) { - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "process_section_payload: duplicate packet id=%u found in rx_list, discarding", id); - free(new_rx->data); - free(new_rx); - return; - } - new_rx->next = *ptr; - *ptr = new_rx; - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "process_section_payload: successfully inserted packet id=%u into rx_list", id); - - if (id > etcp->last_rx_id) { - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "process_section_payload: updating last_rx_id from %u to %u", - etcp->last_rx_id, id); - etcp->last_rx_id = id; - } - - // Pending ACK - if (etcp->pending_ack_count < MAX_PENDING) { - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "process_section_payload: adding packet id=%u to pending ACKs (count=%u)", - id, etcp->pending_ack_count + 1); - etcp->pending_ack_ids[etcp->pending_ack_count] = id; - etcp->pending_ack_ts[etcp->pending_ack_count++] = new_rx->timestamp; - } else { - DEBUG_WARN(DEBUG_CATEGORY_ETCP, "process_section_payload: pending ACK buffer full (%u), cannot add id=%u", - MAX_PENDING, id); - } - - // Schedule ACK - if (!etcp->ack_timer) { - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "process_section_payload: scheduling ACK timer (delay=%u tb)", ACK_DELAY_TB); - etcp->ack_timer = uasync_set_timeout(etcp->instance->ua, ACK_DELAY_TB, etcp, ack_timer_cb); - } - - etcp->bytes_received_total += len; - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "process_section_payload: packet id=%u processed successfully, bytes_received_total=%u", - id, etcp->bytes_received_total); -} - -// Process MEAS_TS (expanded: send resp) -static void process_section_meas_ts(struct ETCP_CONN* etcp, uint8_t* data, uint16_t len) { - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "process_section_meas_ts: etcp=%p, data=%p, len=%u", etcp, data, len); - - if (len < 3) { - DEBUG_WARN(DEBUG_CATEGORY_ETCP, "process_section_meas_ts: invalid length %u (minimum 3)", len); - return; - } - uint16_t start_id = (data[0] << 8) | data[1]; - uint8_t n = data[2]; - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "process_section_meas_ts: start_id=%u, n=%u", start_id, n); - - // Send MEAS_RESP (add to pending or direct) - // Placeholder: assume added to next packet - DEBUG_INFO(DEBUG_CATEGORY_ETCP, "MEAS_TS: start_id=%u n=%u", start_id, n); - // Build resp [start_id(2)][n(1)][recv_ts(2)] - // But since appended in optional, set state -} - -// Process MEAS_RESP (expanded: calc bw) -static void process_section_meas_resp(struct ETCP_CONN* etcp, uint8_t* data, uint16_t len) { - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "process_section_meas_resp: etcp=%p, data=%p, len=%u", etcp, data, len); - - // Assume format [start_id(2)][n(1)][recv_ts(2)] - if (len < 5) { - DEBUG_WARN(DEBUG_CATEGORY_ETCP, "process_section_meas_resp: invalid length %u (minimum 5)", len); - return; - } - uint16_t start_id = (data[0] << 8) | data[1]; - uint8_t n = data[2]; - uint16_t recv_ts = (data[3] << 8) | data[4]; - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "process_section_meas_resp: start_id=%u, n=%u, recv_ts=%u", start_id, n, recv_ts); - - if (etcp->burst_start_id != start_id || !etcp->burst_in_progress) return; - - // Calc bw based on burst (placeholder logic) - uint16_t delta = timestamp_diff(get_current_timestamp(), recv_ts); - uint32_t bw = (BURST_SIZE * etcp->mtu * 8) / (delta / 1000.0); // bits/sec approx - update_link_bandwidth(etcp->links, bw); // Assume primary link - etcp->burst_in_progress = 0; -} - -// Detect gaps (expanded) -static void detect_gaps_and_request_retrans(struct ETCP_CONN* etcp) { - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "detect_gaps_and_request_retrans: etcp=%p, last_delivered_id=%u", - etcp, etcp->last_delivered_id); - - rx_packet_t* rx = etcp->rx_list; - uint16_t expected = etcp->last_delivered_id + 1; - int gaps_found = 0; - int retrans_requested = 0; - - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "detect_gaps_and_request_retrans: starting gap detection from expected_id=%u", expected); - - while (rx) { - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "detect_gaps_and_request_retrans: checking rx packet id=%u (expected=%u)", - rx->id, expected); - - if (rx->id > expected) { - // Gap: add retrans for expected to rx->id -1 - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "detect_gaps_and_request_retrans: gap detected - expected=%u, found=%u", - expected, rx->id); - gaps_found++; - - for (uint16_t gid = expected; gid < rx->id && etcp->pending_retrans_count < MAX_PENDING; gid++) { - etcp->pending_retrans_ids[etcp->pending_retrans_count++] = gid; - retrans_requested++; - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "detect_gaps_and_request_retrans: queued retrans request for id=%u", gid); - } - expected = rx->id + 1; - } else if (rx->id == expected) { - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "detect_gaps_and_request_retrans: found expected packet id=%u", expected); - expected++; - } else { - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "detect_gaps_and_request_retrans: packet id=%u < expected=%u, already processed", - rx->id, expected); - } - rx = rx->next; - } - - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "detect_gaps_and_request_retrans: completed - gaps_found=%d, retrans_requested=%u", - gaps_found, retrans_requested); -} - -// Deliver contiguous (expanded) -static void deliver_contiguous_packets(struct ETCP_CONN* etcp) { - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "deliver_contiguous_packets: etcp=%p, last_delivered_id=%u", - etcp, etcp->last_delivered_id); - - rx_packet_t** ptr = &etcp->rx_list; - int delivered_count = 0; - uint32_t delivered_bytes = 0; - - while (*ptr && (*ptr)->id == etcp->last_delivered_id + 1) { - rx_packet_t* rx = *ptr; - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "deliver_contiguous_packets: delivering packet id=%u (data_len=%u)", - rx->id, rx->data_len); - - struct ll_entry* entry = queue_entry_new(rx->data_len); - if (entry) { - memcpy(ll_entry_data(entry), rx->data, rx->data_len); - queue_entry_put(etcp->output_queue, entry); - delivered_bytes += rx->data_len; - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "deliver_contiguous_packets: queued packet id=%u to output_queue", rx->id); - } else { - DEBUG_ERROR(DEBUG_CATEGORY_ETCP, "deliver_contiguous_packets: failed to allocate queue entry for packet id=%u", rx->id); - } - - etcp->last_delivered_id = rx->id; - *ptr = rx->next; - free(rx->data); - free(rx); - delivered_count++; - } - - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "deliver_contiguous_packets: delivered %u contiguous packets (%u bytes), last_delivered_id=%u", - delivered_count, delivered_bytes, etcp->last_delivered_id); -} - -// Retrans check (expanded with lp_ts) -static void retrans_check(struct ETCP_CONN* etcp) { - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "retrans_check: etcp=%p, wait_ack_list=%p, rtt_avg_10=%u, jitter=%u", - etcp, etcp->wait_ack_list, etcp->rtt_avg_10, etcp->jitter); - - uint64_t now = get_current_time_units(); - inflight_packet_t** ptr = &etcp->wait_ack_list; - uint16_t lp_ts = 0; - int checked_packets = 0; - int retrans_packets = 0; - uint16_t timeout_calc = (uint16_t)(etcp->rtt_avg_10 * RETRANS_K1 + etcp->jitter * RETRANS_K2); - - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "retrans_check: timeout calculation: rtt_avg_10=%u * %.1f + jitter=%u * %.1f = %u", - etcp->rtt_avg_10, RETRANS_K1, etcp->jitter, RETRANS_K2, timeout_calc); - - while (*ptr) { - inflight_packet_t* pkt = *ptr; - checked_packets++; - uint16_t timeout = (uint16_t)(etcp->rtt_avg_10 * RETRANS_K1 + etcp->jitter * RETRANS_K2); - uint16_t time_since_send = timestamp_diff(now, pkt->last_timestamp); - - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "retrans_check: checking packet id=%u (time_since_send=%u, timeout=%u, need_retrans=%u)", - pkt->id, time_since_send, timeout, pkt->need_retrans); - - if (time_since_send > timeout) { - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "retrans_check: packet id=%u timed out, marking for retransmission", pkt->id); - pkt->need_retrans = 1; - move_to_wait_send(etcp, pkt); - etcp->retransmissions_count++; - retrans_packets++; - ptr = &etcp->wait_ack_list; // Restart scan after move - continue; - } - // lp_ts logic (per spec: if acked, remember ts; if later unacked with ts < lp_ts, ?) - // Assume if pkt acked (but shouldn't be in list), or for forward progress - ptr = &pkt->next; - } - - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "retrans_check: completed - checked %d packets, retransmitted %d packets, total_retransmissions=%u", - checked_packets, retrans_packets, etcp->retransmissions_count); - - // Reschedule if list not empty - if (etcp->wait_ack_list) { - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "retrans_check: rescheduling retrans_timer (wait_ack_list not empty)"); - etcp->retrans_timer = uasync_set_timeout(etcp->instance->ua, 20, etcp, retrans_timer_cb); - } else { - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "retrans_check: clearing retrans_timer (wait_ack_list empty)"); - etcp->retrans_timer = NULL; - } -} - -// Find inflight (expanded) -static inflight_packet_t* find_inflight(struct ETCP_CONN* etcp, uint16_t id, uint8_t state) { - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "find_inflight: etcp=%p, id=%u, state=%u", etcp, id, state); - - inflight_packet_t* list = (state == INFLIGHT_STATE_WAIT_ACK) ? etcp->wait_ack_list : etcp->wait_send_list; - inflight_packet_t* pkt = list; - int position = 0; - - while (pkt && pkt->id != id) { - pkt = pkt->next; - position++; - } - - if (pkt) { - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "find_inflight: found packet %u at position %d in %s list", - id, position, (state == INFLIGHT_STATE_WAIT_ACK) ? "wait_ack" : "wait_send"); - } else { - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "find_inflight: packet %u not found in %s list", - id, (state == INFLIGHT_STATE_WAIT_ACK) ? "wait_ack" : "wait_send"); - } - - return pkt; - return pkt; -} - -// Move to wait_send (expanded) -static void move_to_wait_send(struct ETCP_CONN* etcp, inflight_packet_t* pkt) { - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "move_to_wait_send: etcp=%p, pkt=%p (id=%u, state=%u)", - etcp, pkt, pkt->id, pkt->state); - - remove_inflight(etcp, pkt); - pkt->state = INFLIGHT_STATE_WAIT_SEND; - pkt->next = etcp->wait_send_list; - etcp->wait_send_list = pkt; - - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "move_to_wait_send: moved packet %u to wait_send_list", pkt->id); -} - -// Remove inflight (expanded) -static void remove_inflight(struct ETCP_CONN* etcp, inflight_packet_t* pkt) { - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "remove_inflight: etcp=%p, pkt=%p (id=%u, state=%u)", - etcp, pkt, pkt->id, pkt->state); - - inflight_packet_t** list = (pkt->state == INFLIGHT_STATE_WAIT_ACK) ? &etcp->wait_ack_list : &etcp->wait_send_list; - inflight_packet_t** ptr = list; - int position = 0; - - while (*ptr && *ptr != pkt) { - ptr = &(*ptr)->next; - position++; - } - - if (*ptr) { - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "remove_inflight: found packet %u at position %d in %s list", - pkt->id, position, (pkt->state == INFLIGHT_STATE_WAIT_ACK) ? "wait_ack" : "wait_send"); - *ptr = (*ptr)->next; - } else { - DEBUG_WARN(DEBUG_CATEGORY_ETCP, "remove_inflight: packet %u not found in %s list", - pkt->id, (pkt->state == INFLIGHT_STATE_WAIT_ACK) ? "wait_ack" : "wait_send"); - } -} - -// Start burst (placeholder expanded) -static void start_burst_measurement(struct ETCP_CONN* etcp, struct ETCP_LINK* link) { - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "start_burst_measurement: etcp=%p, link=%p", etcp, link); - - // Periodically call this - etcp->burst_in_progress = 1; - uint16_t old_start_id = etcp->burst_start_id; - etcp->burst_start_id = etcp->next_tx_id; - - DEBUG_INFO(DEBUG_CATEGORY_ETCP, "start_burst_measurement: started burst measurement - burst_start_id=%u (was %u)", - etcp->burst_start_id, old_start_id); - - // Delay first, then burst 4 - // Assume handled in request_pkt by adding meas_ts to next BURST_SIZE pkts -} - -// Update link bw (expanded) -static void update_link_bandwidth(struct ETCP_LINK* link, uint32_t new_bw) { - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "update_link_bandwidth: link=%p, new_bw=%u bits/sec (current=%u)", - link, new_bw, link->bandwidth); - - uint32_t old_bw = link->bandwidth; - link->bandwidth = (uint32_t)((link->bandwidth * 0.9) + (new_bw * 0.1)); // Smooth - - DEBUG_INFO(DEBUG_CATEGORY_ETCP, "update_link_bandwidth: updated link bandwidth from %u to %u bits/sec (new_bw=%u)", - old_bw, link->bandwidth, new_bw); -} - -// Update RTT (expanded with history) -static void update_rtt(struct ETCP_CONN* etcp, uint16_t new_rtt) { - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "update_rtt: etcp=%p, new_rtt=%u (last_rtt=%u, avg_10=%u, avg_100=%u)", - etcp, new_rtt, etcp->rtt_last, etcp->rtt_avg_10, etcp->rtt_avg_100); - - etcp->rtt_last = new_rtt; - etcp->rtt_avg_10 = (etcp->rtt_avg_10 * 9 + new_rtt) / 10; - etcp->rtt_avg_100 = (etcp->rtt_avg_100 * 99 + new_rtt) / 100; - - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "update_rtt: updated RTT metrics - last=%u, avg_10=%u, avg_100=%u", - etcp->rtt_last, etcp->rtt_avg_10, etcp->rtt_avg_100); - - // History for jitter - etcp->rtt_history[etcp->rtt_history_idx++] = new_rtt; - if (etcp->rtt_history_idx >= RTT_HISTORY_SIZE) etcp->rtt_history_idx = 0; - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "update_rtt: stored RTT in history at index %u", - (etcp->rtt_history_idx + RTT_HISTORY_SIZE - 1) % RTT_HISTORY_SIZE); - - calculate_jitter(etcp); -} - -static void calculate_jitter(struct ETCP_CONN* etcp) { - uint16_t min_rtt = UINT16_MAX; - uint16_t max_rtt = 0; - int valid_samples = 0; - - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "calculate_jitter: analyzing RTT history (history_idx=%u)", etcp->rtt_history_idx); - - for (int i = 0; i < RTT_HISTORY_SIZE; i++) { - if (etcp->rtt_history[i] == 0) { - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "calculate_jitter: history[%d] = 0 (invalid), skipping", i); - continue; - } - valid_samples++; - if (etcp->rtt_history[i] < min_rtt) { - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "calculate_jitter: new min_rtt=%u (was %u) at history[%d]", - etcp->rtt_history[i], min_rtt, i); - min_rtt = etcp->rtt_history[i]; - } - if (etcp->rtt_history[i] > max_rtt) { - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "calculate_jitter: new max_rtt=%u (was %u) at history[%d]", - etcp->rtt_history[i], max_rtt, i); - max_rtt = etcp->rtt_history[i]; - } - } - - uint16_t old_jitter = etcp->jitter; - etcp->jitter = max_rtt - min_rtt; - - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "calculate_jitter: completed - valid_samples=%d, min_rtt=%u, max_rtt=%u, jitter=%u (was %u)", - valid_samples, min_rtt, max_rtt, etcp->jitter, old_jitter); -} - -// Timers (expanded with debug) -static void retrans_timer_cb(void* arg) { - struct ETCP_CONN* etcp = (struct ETCP_CONN*)arg; - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "retrans_timer_cb: etcp=%p, triggered retransmission check", etcp); - retrans_check(etcp); -} - -static void ack_timer_cb(void* arg) { - struct ETCP_CONN* etcp = (struct ETCP_CONN*)arg; - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "ack_timer_cb: etcp=%p, processing pending ACKs", etcp); - etcp->ack_timer = NULL; - - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "ack_timer_cb: processing %u pending ACKs", etcp->pending_ack_count); - - // Force send ACK if pending (e.g., empty payload pkt) - // For now, assume appended next - - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "ack_timer_cb: ACK processing completed"); -} - -// Get stats (expanded) -void etcp_get_stats(struct ETCP_CONN* etcp, size_t* packets_sent, size_t* packets_recv, - size_t* pool_allocs, size_t* pool_reuse) { - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_get_stats: etcp=%p", etcp); - - if (packets_sent) { - *packets_sent = etcp->total_packets_sent; - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_get_stats: total_packets_sent=%zu", *packets_sent); - } - if (packets_recv) { - *packets_recv = etcp->bytes_received_total / 1400; // Approx MTU - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_get_stats: bytes_received_total=%u, estimated_packets=%zu", - etcp->bytes_received_total, *packets_recv); - } - if (pool_allocs || pool_reuse) { - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_get_stats: getting memory pool stats"); - memory_pool_get_stats(etcp->instance->pkt_pool, pool_allocs, pool_reuse); - if (pool_allocs) DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_get_stats: pool_allocs=%zu", *pool_allocs); - if (pool_reuse) DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_get_stats: pool_reuse=%zu", *pool_reuse); - } -} \ No newline at end of file diff --git a/!/etcp.c_ b/!/etcp.c_ deleted file mode 100755 index e69a21f4..00000000 --- a/!/etcp.c_ +++ /dev/null @@ -1,489 +0,0 @@ -// etcp.c - ETCP Protocol Implementation -#include "../lib/u_async.h" -#include "utun_instance.h" -#include "etcp.h" -#include "../lib/debug_config.h" -#include "../lib/ll_queue.h" -#include "crc32.h" -#include "secure_channel.h" -#include -#include -#include -#include -#include - -// Service packet headers (from protocol, but reset/init handled elsewhere) -#define ETCP_ACK_HEADER 0x01 -#define ETCP_RETRANS_HEADER_BASE 0x10 // 0x10 to 0x2F for retrans requests -#define ETCP_PAYLOAD_HEADER 0x00 -#define ETCP_INIT_RESPONSE 0x03 - -// Forward declarations of internal functions (adapted from etcp_master) -static void retransmit_check(struct ETCP_CONN* etcp); -static void update_metrics(struct ETCP_CONN* etcp, uint16_t rtt); - -static uint16_t timestamp_diff(uint16_t t1, uint16_t t2); -static int id_compare(uint16_t id1, uint16_t id2); -static void retransmit_packet(struct ETCP_CONN* etcp, uint16_t id); - -// Timer callbacks -static void tx_timer_callback(void* arg); -static void retransmit_timer_callback(void* arg); - -// Internal queue callbacks -static void tx_queue_callback(struct ll_queue* q, struct ll_entry* entry, void* arg); -static void schedule_ack_timer(struct ETCP_CONN* etcp); -static void request_retransmission_for_gaps(struct ETCP_CONN* etcp); - -static void queue_clear(struct ll_queue* q) { - struct ll_entry* entry; - while ((entry = queue_entry_get(q)) != NULL) { - queue_entry_free(entry); - } -} - -static void etcp_update_window(struct ETCP_CONN* etcp) { - etcp->window_size = 65536; // Initial window size - etcp->retrans_timer_period = 20; // Default retransmit period -} - -// Reset connection (adapted from etcp_reset in master, without packet sending) -void etcp_conn_reset(struct ETCP_CONN* etcp) { - if (!etcp) return; - - DEBUG_INFO(DEBUG_CATEGORY_ETCP, "etcp_conn_reset: resetting instance"); - - // Cancel timers - if (etcp->next_tx_timer) { - uasync_cancel_timeout(etcp->instance->ua, etcp->next_tx_timer); - etcp->next_tx_timer = NULL; - } - if (etcp->retransmit_timer) { - uasync_cancel_timeout(etcp->instance->ua, etcp->retransmit_timer); - etcp->retransmit_timer = NULL; - } - - // Clear queues (but keep them) - queue_clear(etcp->input_queue); - queue_clear(etcp->output_queue); - - // Clear lists - rx_packet_t* rx = etcp->rx_list; - while (rx) { - rx_packet_t* next = rx->next; - if (rx->data) free(rx->data); - free(rx); - rx = next; - } - etcp->rx_list = NULL; - - sent_packet_t* sent = etcp->sent_list; - while (sent) { - sent_packet_t* next = sent->next; - if (sent->data) free(sent->data); - free(sent); - sent = next; - } - etcp->sent_list = NULL; - - // Reset metrics and stats - etcp->rtt_last = 0; - etcp->rtt_avg_10 = 0; - etcp->rtt_avg_100 = 0; - etcp->jitter = 0; - etcp->bytes_sent_total = 0; - etcp->retransmissions_count = 0; - etcp->ack_packets_count = 0; - etcp->control_packets_count = 0; - etcp->total_packets_sent = 0; - etcp->unique_packets_sent = 0; - etcp->bytes_received_total = 0; - - // Reset IDs - etcp->next_tx_id = 1; - etcp->last_sent_id = 0; - etcp->last_rx_id = 0; - etcp->last_delivered_id = 0; - - // Reset history - etcp->rtt_history_idx = 0; - etcp->rtt_history_count = 0; - - // Reset pending - etcp->pending_ack_count = 0; - etcp->pending_retransmit_count = 0; - - // Reset window - etcp->unacked_bytes = 0; - etcp->last_acked_id = 0; - etcp->last_rx_ack_id = 0; - etcp->next_retrans_time = 0; - etcp->window_blocked = 0; - - // Reset forward progress - etcp->oldest_missing_id = 0; - etcp->missing_since_time = 0; - - etcp_update_window(etcp); -} - -// Creating ETCP instance -// после создания надо добавить peer bublic key. -struct ETCP_CONN* etcp_connection_create(struct UTUN_INSTANCE* instance) { - if (!instance) return NULL; - - struct ETCP_CONN* etcp = calloc(1, sizeof(struct ETCP_CONN)); - if (!etcp) return NULL; - - etcp->mtu = 1500; // Default MTU - - etcp->instance = instance; - - // Initialize crypto context - if (sc_init_ctx(&etcp->crypto_ctx, &etcp->instance->my_keys) != SC_OK) { - DEBUG_ERROR(DEBUG_CATEGORY_CRYPTO, "etcp_connection_create: failed to initialize crypto context for node %llu", (unsigned long long)instance->node_id); - free(etcp); - return NULL; - } - - // Initialize queues (tx_queue is input_queue) - etcp->input_queue = queue_new(instance->ua,NULL); - if (!etcp->input_queue) { - DEBUG_ERROR(DEBUG_CATEGORY_MEMORY, "etcp_connection_create: failed to create input queue for node %llu", (unsigned long long)instance->node_id); - free(etcp); - return NULL; - } - - etcp->output_queue = queue_new(instance->ua,NULL); - if (!etcp->output_queue) { - DEBUG_ERROR(DEBUG_CATEGORY_MEMORY, "etcp_connection_create: failed to create output queue for node %llu", (unsigned long long)instance->node_id); - queue_free(etcp->input_queue); - free(etcp); - return NULL; - } - - // Set callback for input_queue (tx_queue) - queue_set_callback(etcp->input_queue, tx_queue_callback, etcp); - - // Initialize state (from master) - etcp->bandwidth = 10000; // Default: 10000 bytes per timebase (0.1us) - etcp->last_sent_timestamp = get_current_timestamp(); - etcp->bytes_allowed = 0; - - // Reset all other fields to initial state - etcp_conn_reset(etcp); - - DEBUG_INFO(DEBUG_CATEGORY_ETCP, "etcp_connection_create: created instance with node_id=%llu, mtu=%d", - (unsigned long long)etcp->instance->node_id, etcp->mtu); - - etcp->next=instance->connections; - instance->connections=etcp; - - instance->connections_count++; - - return etcp; -} - -// Destroying ETCP instance -void etcp_connection_close(struct ETCP_CONN* etcp) { - if (!etcp) return; - - DEBUG_INFO(DEBUG_CATEGORY_ETCP, "etcp_connection_close: destroying instance"); - - // Cancel timers - if (etcp->next_tx_timer) { - uasync_cancel_timeout(etcp->instance->ua, etcp->next_tx_timer); - etcp->next_tx_timer = NULL; - } - if (etcp->retransmit_timer) { - uasync_cancel_timeout(etcp->instance->ua, etcp->retransmit_timer); - etcp->retransmit_timer = NULL; - } - - // Free queues - if (etcp->input_queue) queue_free(etcp->input_queue); - if (etcp->output_queue) queue_free(etcp->output_queue); - - // Free rx_list - rx_packet_t* rx = etcp->rx_list; - while (rx) { - rx_packet_t* next = rx->next; - if (rx->data) free(rx->data); - free(rx); - rx = next; - } - - // Free sent_list - sent_packet_t* sent = etcp->sent_list; - while (sent) { - sent_packet_t* next = sent->next; - if (sent->data) free(sent->data); - free(sent); - sent = next; - } - - free(etcp); -} - -// Process incoming packet (partial, truncated in original) -void etcp_conn_input(struct ETCP_DGRAM* pkt) { - if (!pkt) return; - struct ETCP_CONN* etcp=pkt->link->etcp; - if (!etcp) return; - - uint8_t* data = pkt->data; - size_t len = pkt->data_len; - - if (len < 4) { - DEBUG_WARN(DEBUG_CATEGORY_ETCP, "etcp_conn_input: packet too short (%zu bytes) from node %llu", len, (unsigned long long)etcp->instance->node_id); - return; // Min header - } - - uint16_t id = (data[0] << 8) | data[1]; - uint16_t timestamp = (data[2] << 8) | data[3]; - - // Check for INIT_RESPONSE packet (special control packet) - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "[ETCP DEBUG] etcp_conn_input: id=%u, len=%zu, first bytes: %02x %02x %02x %02x %02x", - id, len, data[0], data[1], data[2], data[3], data[4]); - - data += 4; len -= 4; // Skip header for regular packet processing - - int has_payload = 0; - uint8_t* payload_data = NULL; - size_t payload_len = 0; - int is_duplicate = 0; - - while (len > 0) { - uint8_t section_header = *data++; - len--; - - if (section_header == ETCP_ACK_HEADER) { - // ACK section - uint8_t count = *data++; - len--; - for (uint8_t i = 0; i < count; i++) { - uint16_t ack_id = (data[0] << 8) | data[1]; - uint16_t ack_ts = (data[2] << 8) | data[3]; - data += 4; len -= 4; - - // Process ACK: remove from sent_list, update window - sent_packet_t** ptr = &etcp->sent_list; - while (*ptr) { - if ((*ptr)->id == ack_id) { - sent_packet_t* to_free = *ptr; - *ptr = to_free->next; - etcp->unacked_bytes -= to_free->payload_len; - update_metrics(etcp, timestamp_diff(get_current_timestamp(), ack_ts)); - free(to_free->data); - free(to_free); - break; - } - ptr = &(*ptr)->next; - } - } - - // last_delivered and last_rx - uint16_t last_delivered = (data[0] << 8) | data[1]; - uint16_t last_rx = (data[2] << 8) | data[3]; - data += 4; len -= 4; - - etcp->last_rx_ack_id = last_rx; - - } else if ((section_header & 0xF0) == ETCP_RETRANS_HEADER_BASE) { - // Retrans request - uint8_t count = (section_header & 0x0F) + 1; - for (uint8_t i = 0; i < count; i++) { - uint16_t retrans_id = (data[0] << 8) | data[1]; - data += 2; - len -= 2; - - retransmit_packet(etcp, retrans_id); - } - - // last_delivered and last_rx - uint16_t last_delivered = (data[0] << 8) | data[1]; - uint16_t last_rx = (data[2] << 8) | data[3]; - data += 4; len -= 4; - - } else if (section_header == ETCP_PAYLOAD_HEADER) { - // Payload section - has_payload = 1; - payload_data = data; - payload_len = len; - break; // Payload is last - } - } - - // Check for duplicate - rx_packet_t* rx = etcp->rx_list; - while (rx) { - if (rx->id == id) { - is_duplicate = 1; - break; - } - rx = rx->next; - } - - if (is_duplicate) { - // Add to pending ACKs - if (etcp->pending_ack_count < 32) { - etcp->pending_ack_ids[etcp->pending_ack_count] = id; - etcp->pending_ack_timestamps[etcp->pending_ack_count] = timestamp; - etcp->pending_ack_count++; - } - schedule_ack_timer(etcp); - return; - } - - // Insert into rx_list (sorted) - rx_packet_t* new_rx = calloc(1, sizeof(rx_packet_t)); - if (!new_rx) { - DEBUG_ERROR(DEBUG_CATEGORY_MEMORY, "etcp_conn_input: failed to allocate memory for rx packet from node %llu", (unsigned long long)etcp->instance->node_id); - return; - } - - new_rx->id = id; - new_rx->timestamp = timestamp; - new_rx->has_payload = has_payload; - if (has_payload) { - new_rx->data = malloc(payload_len); - if (!new_rx->data) { - DEBUG_ERROR(DEBUG_CATEGORY_MEMORY, "etcp_conn_input: failed to allocate %zu bytes for payload data from node %llu", payload_len, (unsigned long long)etcp->instance->node_id); - free(new_rx); - return; - } - memcpy(new_rx->data, payload_data, payload_len); - new_rx->data_len = payload_len; - etcp->bytes_received_total += payload_len; - } - - // Insert sorted - rx_packet_t** ptr = &etcp->rx_list; - while (*ptr && id_compare((*ptr)->id, id) < 0) { - ptr = &(*ptr)->next; - } - new_rx->next = *ptr; - *ptr = new_rx; - - // Update last_rx_id - if (id_compare(id, etcp->last_rx_id) > 0) { - etcp->last_rx_id = id; - } - - // Add to pending ACKs - if (etcp->pending_ack_count < 32) { - etcp->pending_ack_ids[etcp->pending_ack_count] = id; - etcp->pending_ack_timestamps[etcp->pending_ack_count] = timestamp; - etcp->pending_ack_count++; - } - - // Request retrans for gaps and deliver contiguous - request_retransmission_for_gaps(etcp); - schedule_ack_timer(etcp); -} - - -// Getting statistics (extended with master stats) -void etcp_get_stats(struct ETCP_CONN* etcp, size_t* packets_sent, size_t* packets_recv, - size_t* pool_allocs, size_t* pool_reuse) { - if (!etcp) return; - - if (packets_sent) *packets_sent = etcp->total_packets_sent; - if (packets_recv) *packets_recv = etcp->bytes_received_total / 100; // Approximate - - if (pool_allocs || pool_reuse) { - memory_pool_get_stats(etcp->instance->pkt_pool, pool_allocs, pool_reuse); - } -} - -// ... (rest of functions from master, adapted to ETCP_CONN and using etcp_link_send for tx) - -// For tx: assume primary channel (etcp->channels), or iterate if multi-path -static void send_etcp_packet(struct ETCP_CONN* etcp, uint8_t* pkt, uint16_t len) { - if (!etcp->links) { - DEBUG_WARN(DEBUG_CATEGORY_CONNECTION, "send_etcp_packet: no links available for node %llu", (unsigned long long)etcp->instance->node_id); - return; // No links - } - - // Send to primary link (or iterate for multi-path) - char dg_mem[1600]; - struct ETCP_DGRAM* dg=(struct ETCP_DGRAM*)&dg_mem; - dg->data_len=len; - dg->noencrypt_len=0; - dg->link=etcp->links;// first link TODO: добавить отправку по нескольким линкам - etcp_encrypt_send(dg); -} - -static void update_metrics(struct ETCP_CONN* etcp, uint16_t rtt) { - etcp->rtt_last = rtt; - // Update averages, jitter, etc. - // Placeholder: etcp->rtt_avg_10 = (etcp->rtt_avg_10 * 9 + rtt) / 10; - // etcp->rtt_avg_100 = (etcp->rtt_avg_100 * 99 + rtt) / 100; -} - -uint64_t get_current_time_units() { - struct timeval tv; - gettimeofday(&tv, NULL); - return ((uint64_t)tv.tv_sec * 10000ULL) + (tv.tv_usec / 100); -} - -uint16_t get_current_timestamp() { - return (uint16_t)get_current_time_units(); -} - - -static uint16_t timestamp_diff(uint16_t t1, uint16_t t2) { - if (t1 >= t2) return t1 - t2; - return (0xFFFF - t2) + t1 + 1; // Wrap around -} - -static int id_compare(uint16_t id1, uint16_t id2) { - int16_t diff = id1 - id2; - if (diff == 0) return 0; - return (diff > 0) ? 1 : -1; // Simple for now, add wrap logic if needed -} - -static void retransmit_packet(struct ETCP_CONN* etcp, uint16_t id) { - sent_packet_t* sent = etcp->sent_list; - while (sent) { - if (sent->id == id) { - send_etcp_packet(etcp, sent->data, sent->data_len); - etcp->retransmissions_count++; - break; - } - sent = sent->next; - } -} - -static void tx_queue_callback(struct ll_queue* q, struct ll_entry* entry, void* arg) { - (void)q; - struct ETCP_CONN* etcp = (struct ETCP_CONN*)arg; - // Process entry to send packet - // Placeholder: uint8_t* data = ll_entry_data(entry); - // size_t len = ll_entry_size(entry); - // // Build packet and send - // send_etcp_packet(etcp, data, len); - queue_resume_callback(q); -} - -static void schedule_ack_timer(struct ETCP_CONN* etcp) { - // Placeholder: set timeout to send ACKs -} - -static void request_retransmission_for_gaps(struct ETCP_CONN* etcp) { - // Detect gaps in rx_list and add to pending_retransmit -} - -static void retransmit_check(struct ETCP_CONN* etcp) { - // Check sent_list for timeouts -} - -static void tx_timer_callback(void* arg) { - struct ETCP_CONN* etcp = (struct ETCP_CONN*)arg; - // Handle next tx -} - -static void retransmit_timer_callback(void* arg) { - struct ETCP_CONN* etcp = (struct ETCP_CONN*)arg; - retransmit_check(etcp); -} \ No newline at end of file diff --git a/!/etcp.h b/!/etcp.h deleted file mode 100755 index 03f1444a..00000000 --- a/!/etcp.h +++ /dev/null @@ -1,148 +0,0 @@ -// etcp.h - ETCP Protocol Header (refactored based on etcp_protocol.txt) -#ifndef ETCP_H -#define ETCP_H - -#include "etcp_connections.h" -#include "secure_channel.h" -#include "../lib/ll_queue.h" -#include - -#ifdef __cplusplus -extern "C" { -#endif - -// Forward declarations -struct UTUN_INSTANCE; -struct UASYNC; - -// ETCP packet section types (from protocol spec) -#define ETCP_SECTION_PAYLOAD 0x00 // Data payload -#define ETCP_SECTION_ACK 0x01 // ACK section -#define ETCP_SECTION_RETRANS 0x10 // Retransmission request base (0x10-0x2F) -#define ETCP_SECTION_TIMESTAMP 0x06 // Channel timestamp (example, adjust if needed) -#define ETCP_SECTION_MEAS_TS 0x07 // Measurement timestamp for bandwidth -#define ETCP_SECTION_MEAS_RESP 0x08 // Measurement response - -// Inflight packet states -#define INFLIGHT_STATE_WAIT_ACK 0 -#define INFLIGHT_STATE_WAIT_SEND 1 - -// Inflight packet structure -typedef struct inflight_packet { - struct inflight_packet* next; - uint16_t id; // Packet ID - struct ETCP_LINK* last_link; // Last sent link - uint16_t last_timestamp; // Last send timestamp - uint8_t send_count; // Number of sends - uint8_t retrans_req_count; // Number of retrans requests - uint8_t state; // WAIT_ACK or WAIT_SEND - uint8_t need_retrans; // Flag for forced retrans - uint8_t* data; // Packet data - uint16_t data_len; // Data length - uint16_t payload_len; // Payload length for window -} inflight_packet_t; - -// RX packet for assembly linked list -typedef struct rx_packet { - struct rx_packet* next; - uint16_t id; - uint16_t timestamp; - uint8_t* data; // Assembled data (payload only) - uint16_t data_len; -} rx_packet_t; - -// ETCP connection structure (refactored) -struct ETCP_CONN { - struct ETCP_CONN* next; - int mtu; - - struct UTUN_INSTANCE* instance; - - // Links (channels) - linked list - struct ETCP_LINK* links; - - // Crypto and state - struct secure_channel crypto_ctx; - - // Peer info - uint64_t peer_node_id; // Peer node ID - - // Queues - struct ll_queue* input_queue; // Incoming packets to send - struct ll_queue* output_queue; // Assembled outgoing packets - - // Inflight lists (two lists as per spec) - inflight_packet_t* wait_ack_list; // Waiting for ACK - inflight_packet_t* wait_send_list; // Waiting for send (retrans) - - // RX assembly list - rx_packet_t* rx_list; // Sorted by ID for gap detection - - // IDs and state - uint16_t next_tx_id; // Next TX ID - uint16_t last_rx_id; // Last received ID - uint16_t last_delivered_id; // Last delivered to output_queue - - // Pending ACKs and retrans - uint16_t pending_ack_ids[32]; - uint16_t pending_ack_ts[32]; // Timestamps for ACKs - uint8_t pending_ack_count; - uint16_t pending_retrans_ids[32]; - uint8_t pending_retrans_count; - - // Metrics (RTT, jitter, etc.) - uint16_t rtt_last; - uint16_t rtt_avg_10; - uint16_t rtt_avg_100; - uint16_t jitter; - uint32_t bytes_sent_total; - uint32_t bytes_received_total; - uint32_t retransmissions_count; - - // Window and inflight management - uint32_t unacked_bytes; // Current inflight bytes - uint32_t window_size; // Receive window - uint32_t optimal_inflight; // Sum over links - - // Timers - void* retrans_timer; // Retrans check timer - void* ack_timer; // ACK send timer - - // Bandwidth measurement state - uint8_t burst_in_progress; // Burst transmission flag - uint16_t burst_start_id; // Start ID for burst - // ... (add more for meas_ts, meas_resp) - - // Statistics counters - uint32_t ack_packets_count; // Count of ACK packets received - uint16_t last_rx_ack_id; // Last ACK ID received - uint16_t rtt_history[10]; // RTT history for jitter calculation (RTT_HISTORY_SIZE=10) - uint8_t rtt_history_idx; // Current index in RTT history - uint32_t total_packets_sent; // Total packets sent counter - - // Flags - uint8_t wait_timeout_active; // In wait timeout state -}; - -// Functions -struct ETCP_CONN* etcp_connection_create(struct UTUN_INSTANCE* instance); -void etcp_connection_close(struct ETCP_CONN* etcp); -void etcp_conn_reset(struct ETCP_CONN* etcp); - -// Input from etcp_connections (decrypted packet) -void etcp_conn_input(struct ETCP_DGRAM* pkt); - -// Request next packet for load balancer -struct ETCP_DGRAM* etcp_request_pkt(struct ETCP_CONN* etcp); - -// Get stats -void etcp_get_stats(struct ETCP_CONN* etcp, size_t* packets_sent, size_t* packets_recv, - size_t* pool_allocs, size_t* pool_reuse); - -uint16_t get_current_timestamp(void); - -#ifdef __cplusplus -} -#endif - -#endif // ETCP_H \ No newline at end of file diff --git a/!/etcp_connections.c b/!/etcp_connections.c deleted file mode 100755 index ecec373d..00000000 --- a/!/etcp_connections.c +++ /dev/null @@ -1,846 +0,0 @@ -#include "etcp_connections.h" -#include -#include -#include -#include -#include -#include -#include "routing.h" -#include "utun_instance.h" -#include "utun_test_hooks.h" -#include "config_parser.h" -#include "crc32.h" -#include "etcp.h" -#include "../lib/memory_pool.h" -#include "../lib/u_async.h" -#include "../lib/debug_config.h" -#include - -// Packet dump configuration -#define ETCP_PACKET_DUMP_COMPACT 1 // Use compact single-line format -#define ETCP_PACKET_DUMP_FULL 0 // Use full multi-line format (legacy) -#include - -// Simple debug macros to replace missing debug_config.h -#define DEBUG_CATEGORY_CONNECTION 1 -#define DEBUG_CATEGORY_ETCP 2 -#define DEBUG_CATEGORY_CRYPTO 3 -#define DEBUG_CATEGORY_CONFIG 4 -#define DEBUG_CATEGORY_MEMORY 5 - -// Forward declaration -static void etcp_connections_read_callback(int fd, void* arg); - -// Single-line packet dump for debug output -static void dump_packet_bytes(const char* prefix, const uint8_t* data, size_t len) { - // Build packet data as hex string for single-line output - char hex_buf[513]; // 256 bytes * 2 chars + 1 for null terminator - size_t hex_len = 0; - size_t show_len = (len > 128) ? 128 : len; // Show max 128 bytes - - for (size_t i = 0; i < show_len && hex_len < 512 - 3; i++) { - hex_len += snprintf(hex_buf + hex_len, sizeof(hex_buf) - hex_len, "%02x", data[i]); - if (i < show_len - 1 && (i + 1) % 32 == 0) { // Add space every 32 bytes - hex_len += snprintf(hex_buf + hex_len, sizeof(hex_buf) - hex_len, " "); - } - } - - if (len > 128) { - hex_len += snprintf(hex_buf + hex_len, sizeof(hex_buf) - hex_len, "..."); - } - - // Single-line debug output with packet info - DEBUG_INFO(DEBUG_CATEGORY_ETCP, "[ETCP] %s: len=%zu hex=%s", prefix, len, hex_buf); - - // Additional debug info for first few bytes - if (len >= 2) { - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "[ETCP] %s: first_bytes=%02x%02x last_bytes=%02x%02x", - prefix, data[0], data[1], data[len-2], data[len-1]); - } -} - -// Compact packet info for high-frequency logging -static void log_packet_compact(const char* prefix, const uint8_t* data, size_t len, struct ETCP_LINK* link) { - if (!data || len == 0) return; - - // Extract packet type from first byte - uint8_t pkt_type = data[0]; - uint16_t timestamp = 0; - - if (len >= 3) { - // Extract timestamp from bytes 1-2 (big endian) - timestamp = (data[1] << 8) | data[2]; - } - - // Single line debug with key packet info - DEBUG_INFO(DEBUG_CATEGORY_ETCP, "[ETCP] %s: link=%p type=0x%02x ts=%u len=%zu", - prefix, link, pkt_type, timestamp, len); - - // Trace level for detailed hex dump - if (len <= 64) { // Only for small packets to avoid spam - char hex_buf[133]; // 64 bytes * 2 + 1 - size_t hex_len = 0; - for (size_t i = 0; i < len && hex_len < sizeof(hex_buf) - 3; i++) { - hex_len += snprintf(hex_buf + hex_len, sizeof(hex_buf) - hex_len, "%02x", data[i]); - } - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "[ETCP] %s: data=%s", prefix, hex_buf); - } -} - -// Unified packet dump function - uses configured format -static void packet_dump(const char* prefix, const uint8_t* data, size_t len, struct ETCP_LINK* link) { - if (!data || len == 0) return; - - #if ETCP_PACKET_DUMP_COMPACT - // Compact single-line format - log_packet_compact(prefix, data, len, link); - #else - // Full multi-line format (legacy) - dump_packet_bytes(prefix, data, len); - #endif -} - -// Legacy multi-line dump for compatibility (kept but not used) -static void dump_packet_bytes_multiline(const char* prefix, const uint8_t* data, size_t len) { - DEBUG_INFO(DEBUG_CATEGORY_ETCP, "[ETCP DUMP] %s: len=%zu; dump: ", prefix, len); - size_t show = len < 160 ? len : 160; - for (size_t i = 0; i < show; i++) { - DEBUG_INFO(DEBUG_CATEGORY_ETCP, "%02x ", data[i]); - } - if (len > 160) DEBUG_INFO(DEBUG_CATEGORY_ETCP, "..."); - DEBUG_INFO(DEBUG_CATEGORY_ETCP, "\n"); -} - - -// Forward declarations for missing functions -struct ETCP_CONN* etcp_connection_create(struct UTUN_INSTANCE* instance); - -// CONNECTION MANAGEMENT (!!!это всё должно быть static!!!) -static void etcp_link_remove_from_connections(struct ETCP_SOCKET* conn, struct ETCP_LINK* link); - - -// Отправка кодограмм протокола (!!!это всё должно быть static!!!) -static void etcp_link_send_init(struct ETCP_LINK* link); -static int etcp_link_send_reset(struct ETCP_LINK* link); -static void etcp_link_init_timer_cbk(void* arg); - -#define INIT_TIMEOUT_INITIAL 500 -#define INIT_TIMEOUT_MAX 50000 - -static void etcp_link_send_init(struct ETCP_LINK* link) { - if (!link || !link->etcp || !link->etcp->instance) return; - - struct ETCP_DGRAM* dgram = malloc(sizeof(struct ETCP_DGRAM) + 100); - if (!dgram) return; - - dgram->link = link; - dgram->noencrypt_len = SC_PUBKEY_SIZE; - size_t offset = 0; - - dgram->data[offset++] = ETCP_INIT_REQUEST; - - uint64_t node_id = link->etcp->instance->node_id; - dgram->data[offset++] = (node_id >> 56) & 0xFF; - dgram->data[offset++] = (node_id >> 48) & 0xFF; - dgram->data[offset++] = (node_id >> 40) & 0xFF; - dgram->data[offset++] = (node_id >> 32) & 0xFF; - dgram->data[offset++] = (node_id >> 24) & 0xFF; - dgram->data[offset++] = (node_id >> 16) & 0xFF; - dgram->data[offset++] = (node_id >> 8) & 0xFF; - dgram->data[offset++] = node_id & 0xFF; - - dgram->data[offset++] = (link->mtu >> 8) & 0xFF; - dgram->data[offset++] = link->mtu & 0xFF; - - dgram->data[offset++] = (link->keepalive_interval >> 8) & 0xFF; - dgram->data[offset++] = link->keepalive_interval & 0xFF; - - memcpy(dgram->data + offset, link->etcp->instance->my_keys.public_key, SC_PUBKEY_SIZE); - dgram->data_len = offset + SC_PUBKEY_SIZE; - - DEBUG_INFO(DEBUG_CATEGORY_CONNECTION, "Sending INIT request to link, node_id=%llu, retry=%d", (unsigned long long)node_id, link->init_retry_count); - - // Debug: print remote address before sending - if (link->remote_addr.ss_family == AF_INET) { - struct sockaddr_in* sin = (struct sockaddr_in*)&link->remote_addr; - char addr_str[INET_ADDRSTRLEN]; - inet_ntop(AF_INET, &sin->sin_addr, addr_str, INET_ADDRSTRLEN); - DEBUG_INFO(DEBUG_CATEGORY_ETCP, "[ETCP] INIT sending to %s:%d, link=%p, conn_fd=%d", addr_str, ntohs(sin->sin_port), link, link->conn->fd); - } - - etcp_encrypt_send(dgram); - free(dgram); - - link->init_retry_count++; - - if (!link->init_timer && link->is_server == 0) { - link->init_timeout = INIT_TIMEOUT_INITIAL; - link->init_timer = uasync_set_timeout(link->etcp->instance->ua, link->init_timeout, link, etcp_link_init_timer_cbk); - } else if (link->init_timer) { - if ((link->init_retry_count % 10) == 0 && link->init_timeout < INIT_TIMEOUT_MAX) { - link->init_timeout *= 2; - if (link->init_timeout > INIT_TIMEOUT_MAX) link->init_timeout = INIT_TIMEOUT_MAX; - } - uasync_cancel_timeout(link->etcp->instance->ua, link->init_timer); - link->init_timer = uasync_set_timeout(link->etcp->instance->ua, link->init_timeout, link, etcp_link_init_timer_cbk); - } -} - -static void etcp_link_init_timer_cbk(void* arg) { - struct ETCP_LINK* link = (struct ETCP_LINK*)arg; - if (!link || link->initialized || link->is_server != 0) return; - - link->init_timer = NULL; - etcp_link_send_init(link); -} - -static int etcp_link_send_reset(struct ETCP_LINK* link) { - if (!link) return -1; - - struct ETCP_DGRAM* dgram = malloc(sizeof(struct ETCP_DGRAM) + 1); - if (!dgram) return -1; - - dgram->link = link; - dgram->data_len = 1; - dgram->noencrypt_len = 0; - dgram->data[0] = 0x06; - - DEBUG_INFO(DEBUG_CATEGORY_CONNECTION, "Sending RESET to link"); - int ret = etcp_encrypt_send(dgram); - free(dgram); - return ret; -} - -static uint32_t sockaddr_hash(struct sockaddr_storage* addr) { - socklen_t addr_len = (addr->ss_family == AF_INET) ? sizeof(struct sockaddr_in) : sizeof(struct sockaddr_in6); - return crc32_calc((void*)addr, addr_len); - } - -// Бинарный поиск линка по ip_port_hash -static int find_link_index(struct ETCP_SOCKET* e_sock, uint32_t hash) { - if (!e_sock || e_sock->num_channels == 0) return -1; - - int left = 0; - int right = e_sock->num_channels - 1; - - while (left <= right) { - int mid = left + (right - left) / 2; - if (e_sock->links[mid]->ip_port_hash == hash) { - return mid; - } else if (e_sock->links[mid]->ip_port_hash < hash) { - left = mid + 1; - } else { - right = mid - 1; - } - } - - return -(left + 1); -} - -// Реалокация массива линков с увеличением в 2 раза -static int realloc_links(struct ETCP_SOCKET* e_sock) { - size_t new_max = e_sock->max_channels == 0 ? 8 : e_sock->max_channels * 2; - struct ETCP_LINK** new_links = realloc(e_sock->links, new_max * sizeof(struct ETCP_LINK*)); - if (!new_links) return -1; - - e_sock->links = new_links; - e_sock->max_channels = new_max; - return 0; -} - -// Вставка линка в отсортированный массив -static int insert_link(struct ETCP_SOCKET* e_sock, struct ETCP_LINK* link) { - if (!e_sock || !link) return -1; - - if (e_sock->num_channels >= e_sock->max_channels) { - if (realloc_links(e_sock) < 0) return -1; - } - - int idx = find_link_index(e_sock, link->ip_port_hash); - if (idx >= 0) return -1; - - idx = -(idx + 1); - - if (idx < (int)e_sock->num_channels) { - memmove(&e_sock->links[idx + 1], &e_sock->links[idx], - (e_sock->num_channels - idx) * sizeof(struct ETCP_LINK*)); - } - - e_sock->links[idx] = link; - e_sock->num_channels++; - return 0; -} - -// Удаление линка из массива -static void remove_link(struct ETCP_SOCKET* e_sock, uint32_t hash) { - if (!e_sock || e_sock->num_channels == 0) return; - - int idx = find_link_index(e_sock, hash); - if (idx < 0) return; - - if (idx < (int)e_sock->num_channels - 1) { - memmove(&e_sock->links[idx], &e_sock->links[idx + 1], - (e_sock->num_channels - idx - 1) * sizeof(struct ETCP_LINK*)); - } - - e_sock->num_channels--; -} - -// надо править, используй sockaddr_hash -struct ETCP_LINK* etcp_link_find_by_addr(struct ETCP_SOCKET* e_sock, struct sockaddr_storage* addr) { - if (!e_sock || !addr) return NULL; - - int idx = find_link_index(e_sock, sockaddr_hash(addr)); - if (idx < 0) return NULL; - - return e_sock->links[idx]; -} - - -// =============================== - -struct ETCP_SOCKET* etcp_socket_add_ex(struct UTUN_INSTANCE* instance, struct sockaddr_storage* ip, uint32_t netif_index, int so_mark, uint8_t type, uint32_t flags) { - if (!instance) return NULL; - - struct ETCP_SOCKET* e_sock = calloc(1, sizeof(struct ETCP_SOCKET)); - if (!e_sock) { - DEBUG_ERROR(DEBUG_CATEGORY_MEMORY, "Failed to allocate connection"); - return NULL; - } - - int family = AF_INET; - if (ip) { - family = ip->ss_family; - if (family != AF_INET && family != AF_INET6) { - DEBUG_ERROR(DEBUG_CATEGORY_CONNECTION, "Unsupported address family: %d", family); - free(e_sock); - return NULL; - } - } - - // Use test hook if available and in test mode - if ((flags & UTUN_CREATE_TEST_MODE) && g_utun_test_hooks && g_utun_test_hooks->socket_create_override) { - e_sock->fd = g_utun_test_hooks->socket_create_override(family, SOCK_DGRAM, 0, - g_utun_test_hooks->test_context); - DEBUG_INFO(DEBUG_CATEGORY_CONNECTION, "Socket creation using test hook: fd=%d", e_sock->fd); - } else { - e_sock->fd = socket(family, SOCK_DGRAM, 0); - } - - if (e_sock->fd < 0) { - DEBUG_ERROR(DEBUG_CATEGORY_CONNECTION, "Failed to create socket: %s", strerror(errno)); - free(e_sock); - return NULL; - } - - int flags_fcntl = fcntl(e_sock->fd, F_GETFL, 0); - fcntl(e_sock->fd, F_SETFL, flags_fcntl | O_NONBLOCK); - - // Set socket mark if specified - if (so_mark > 0) { -#ifdef SO_MARK - if (setsockopt(e_sock->fd, SOL_SOCKET, SO_MARK, &so_mark, sizeof(so_mark)) < 0) { - DEBUG_ERROR(DEBUG_CATEGORY_CONNECTION, "Failed to set SO_MARK: %s", strerror(errno)); - } -#endif - } - - // Bind to interface if specified - if (netif_index > 0) { -#ifdef SO_BINDTODEVICE - char ifname[IF_NAMESIZE]; - if (if_indextoname(netif_index, ifname)) { - if (setsockopt(e_sock->fd, SOL_SOCKET, SO_BINDTODEVICE, ifname, strlen(ifname)) < 0) { - DEBUG_ERROR(DEBUG_CATEGORY_CONNECTION, "Failed to bind to interface %s: %s", ifname, strerror(errno)); - } - } -#endif - } - - // Store the local address and bind socket if provided - if (ip) { - memcpy(&e_sock->local_addr, ip, sizeof(struct sockaddr_storage)); - - // Skip binding if requested (for test injection) - if (!(flags & UTUN_CREATE_NO_SOCKET_BIND)) { - // CRITICAL: Actually bind the socket to the address - this was missing! - socklen_t addr_len = (ip->ss_family == AF_INET) ? sizeof(struct sockaddr_in) : sizeof(struct sockaddr_in6); - if (bind(e_sock->fd, (struct sockaddr*)ip, addr_len) < 0) { - perror("bind"); - DEBUG_ERROR(DEBUG_CATEGORY_ETCP, "[ETCP] Failed to bind socket to address family %d", ip->ss_family); - if (ip->ss_family == AF_INET) { - struct sockaddr_in* sin = (struct sockaddr_in*)ip; - char addr_str[INET_ADDRSTRLEN]; - inet_ntop(AF_INET, &sin->sin_addr, addr_str, INET_ADDRSTRLEN); - DEBUG_ERROR(DEBUG_CATEGORY_ETCP, "[ETCP] Failed to bind to %s:%d", addr_str, ntohs(sin->sin_port)); - } - close(e_sock->fd); - free(e_sock); - return NULL; - } - - DEBUG_INFO(DEBUG_CATEGORY_ETCP, "[ETCP] Successfully bound socket to local address, family=%d", ip->ss_family); - } else { - DEBUG_INFO(DEBUG_CATEGORY_ETCP, "[ETCP] Socket binding skipped (NO_SOCKET_BIND flag)"); - } - } - - e_sock->instance = instance; - e_sock->errorcode = 0; - e_sock->pkt_format_errors = 0; - - // Add to instance's socket list - e_sock->next = instance->etcp_sockets; - instance->etcp_sockets = e_sock; - - // Register socket with uasync for receiving packets - e_sock->socket_id = uasync_add_socket(instance->ua, e_sock->fd, - etcp_connections_read_callback, - NULL, NULL, e_sock); - DEBUG_INFO(DEBUG_CATEGORY_CONNECTION, "Registered ETCP socket with uasync (fd=%d)", e_sock->fd); - - DEBUG_INFO(DEBUG_CATEGORY_ETCP, "[ETCP] Socket %p (fd=%d) registered and active", e_sock, e_sock->fd); - - return e_sock; -} - -void etcp_socket_remove(struct ETCP_SOCKET* conn) { - if (!conn) return; - - DEBUG_INFO(DEBUG_CATEGORY_ETCP, "[ETCP] Removing socket %p, fd=%d, socket_id=%p", conn, conn->fd, conn->socket_id); - - // Remove from uasync if registered - if (conn->socket_id) { - DEBUG_INFO(DEBUG_CATEGORY_ETCP, "[ETCP] Removing socket from uasync, instance=%p, ua=%p", conn->instance, conn->instance->ua); - uasync_remove_socket(conn->instance->ua, conn->socket_id); - conn->socket_id = NULL; - DEBUG_INFO(DEBUG_CATEGORY_ETCP, "[ETCP] Unregistered socket from uasync"); - } - - if (conn->fd >= 0) { - close(conn->fd); - DEBUG_INFO(DEBUG_CATEGORY_ETCP, "[ETCP] Closed fd=%d", conn->fd); - } - - for (size_t i = 0; i < conn->num_channels; i++) { - etcp_link_close(conn->links[i]); - } - free(conn->links); - - free(conn); -} - - -struct ETCP_LINK* etcp_link_new(struct ETCP_CONN* etcp, struct ETCP_SOCKET* conn, struct sockaddr_storage* remote_addr, uint8_t is_server) { - if (!remote_addr) return NULL; - - struct ETCP_LINK* link = calloc(1, sizeof(struct ETCP_LINK)); - if (!link) return NULL; - - link->conn = conn; - link->etcp = etcp; - link->is_server = is_server; - link->mtu = 1500; - link->keepalive_interval = 30; - link->initialized = 0; - link->init_timer = NULL; - link->init_timeout = 0; - link->init_retry_count = 0; - - memcpy(&link->remote_addr, remote_addr, sizeof(struct sockaddr_storage)); - link->last_activity = time(NULL); - - link->ip_port_hash = sockaddr_hash(remote_addr); - - insert_link(conn, link); - - struct ETCP_LINK* l=etcp->links; - while (l && l->next) l=l->next; - if (l) l->next = link; else etcp->links = link; - - if (is_server == 0) { - etcp_link_send_init(link); - } - - return link; -} - -void etcp_link_close(struct ETCP_LINK* link) { - if (!link || !link->etcp) return; - - // Cancel init timer if active - if (link->init_timer) { - uasync_cancel_timeout(link->etcp->instance->ua, link->init_timer); - link->init_timer = NULL; - } - - // универсальное удаление из односвязного списка - struct ETCP_LINK **pp = &link->etcp->links; - while (*pp) { - if (*pp == link) { - *pp = link->next; - break; - } - pp = &(*pp)->next; - } - - remove_link(link->conn, link->ip_port_hash); - - free(link); -} - -int etcp_encrypt_send(struct ETCP_DGRAM* dgram) { -// printf("[ETCP DEBUG] etcp_encrypt_send: ENTERING FUNCTION\n"); - - int errcode=0; - sc_context_t* sc = &dgram->link->etcp->crypto_ctx; - int len=dgram->data_len-dgram->noencrypt_len;// не забываем добавить timestamp (2 bytes) - if (len<=0 || len>1480) { dgram->link->send_errors++; errcode=1; goto es_err; } - uint8_t enc_buf[1600]; - size_t enc_buf_len=0; - dgram->timestamp=get_current_timestamp(); - - // DUMP: Show packet before encryption - packet_dump("ECTP_ENCRYPT_SEND", dgram->data, dgram->data_len, dgram->link); - sc_encrypt(sc, (uint8_t*)&dgram->timestamp/*не править это, тут верно!*/, sizeof(uint16_t) + len, enc_buf, &enc_buf_len); - if (enc_buf_len == 0) { - DEBUG_ERROR(DEBUG_CATEGORY_CRYPTO, "etcp_encrypt_send: encryption failed for node %llu", (unsigned long long)dgram->link->etcp->instance->node_id); - dgram->link->send_errors++; - errcode=2; - goto es_err; - } - if (enc_buf_len + dgram->noencrypt_len > 1480) { dgram->link->send_errors++; errcode=2; goto es_err; } - memcpy(enc_buf+enc_buf_len, dgram->data+len, dgram->noencrypt_len); - - // DUMP: Show complete packet before sending -// dump_packet_bytes("READY TO SEND", enc_buf, enc_buf_len + dgram->noencrypt_len); - - struct sockaddr_storage* addr=&dgram->link->remote_addr; - socklen_t addr_len = (addr->ss_family == AF_INET) ? sizeof(struct sockaddr_in) : sizeof(struct sockaddr_in6); - - // Debug: print where we're sending the packet - if (addr->ss_family == AF_INET) { - struct sockaddr_in* sin = (struct sockaddr_in*)addr; - char addr_str[INET_ADDRSTRLEN]; - inet_ntop(AF_INET, &sin->sin_addr, addr_str, INET_ADDRSTRLEN); - DEBUG_INFO(DEBUG_CATEGORY_ETCP, "[ETCP] Sending packet to %s:%d, size=%zd", addr_str, ntohs(sin->sin_port), enc_buf_len + dgram->noencrypt_len); - } - - ssize_t sent = utun_sendto_hook(dgram->link->conn->fd, enc_buf, enc_buf_len + dgram->noencrypt_len, 0, (struct sockaddr*)addr, addr_len); - if (sent < 0) { dgram->link->send_errors++; errcode=3; goto es_err;} else dgram->link->total_encrypted += sent; - return (int)sent; -es_err: - DEBUG_ERROR(DEBUG_CATEGORY_ETCP, "[ETCP] encrypt_send error %d", errcode); - return -1; -} - -static void etcp_connections_read_callback(int fd, void* arg) { -// !!!!!! DANGER: в этой функции ПРЕДЕЛЬНАЯ АККУРАТНОСТЬ. Если кажется что не туда указатель то невнимательно аланизировал !!!!! -// НЕ РУИНИТЬ (uint8_t*)&pkt->timestamp - это правильно !!!! -// -// Ошибки функции (errorcode): -// 1 - пакет слишком маленький для init (< SC_PUBKEY_SIZE) -// 2 - не удалось установить peer public key при init -// 3 - не удалось расшифровать init пакет -// 4 - не init пакет (неверный код) -// 5 - коллизия peer ID и ключей -// 6 - не удалось расшифровать обычный пакет -// 13 - переполнение при парсинге пакета -// 46 - расшифрованный пакет слишком маленький (< 3 байта) -// 55 - не удалось создать подключение -// 66 - не удалось создать линк - struct ETCP_SOCKET* e_sock = (struct ETCP_SOCKET*)arg; - if (!e_sock) return; - -// printf("[ETCP] Read callback triggered for fd=%d, socket=%p\n", fd, e_sock); - - struct sockaddr_storage addr; - uint8_t data[PACKET_DATA_SIZE]; - socklen_t addr_len=sizeof(addr); - memset(&addr, 0, sizeof(addr)); - ssize_t recv_len = utun_recvfrom_hook(fd, data, PACKET_DATA_SIZE, 0, (struct sockaddr*)&addr, &addr_len); - - if (recv_len <= 0) { - DEBUG_ERROR(DEBUG_CATEGORY_ETCP, "[ETCP] recvfrom failed or no data, recv_len=%zd, errno=%d", recv_len, errno); - DEBUG_ERROR(DEBUG_CATEGORY_ETCP, "etcp_connections_read_callback: recvfrom failed, error=%zd, errno=%d", recv_len, errno); - return; - } - -// printf("[ETCP] Received packet: %zd bytes from address\n", recv_len); - - // DUMP: Show received packet content - packet_dump("RECV in:", data, recv_len, NULL); // link unknown at this point - - struct ETCP_DGRAM* pkt = memory_pool_alloc(e_sock->instance->pkt_pool); - if (!pkt) return; - size_t pkt_len=0; - int errorcode=0; - - struct ETCP_LINK* link=etcp_link_find_by_addr(e_sock, &addr); -// printf("[ETCP DEBUG] Received packet, link=%p, recv_len=%zd\n", link, recv_len); - if (link==NULL) {// пробуем расшифровать, возможно это init -// printf("[ETCP DEBUG] No existing link found, trying to decrypt as INIT packet\n"); - struct secure_channel sc; - if (recv_len<=SC_PUBKEY_SIZE) { errorcode=1; DEBUG_ERROR(DEBUG_CATEGORY_ETCP, "etcp_connections_read_callback: packet too small for init, size=%zd", recv_len); goto ec_fr; } - sc_init_ctx(&sc, &e_sock->instance->my_keys); -// printf("[ETCP DEBUG] Extracting peer public key from position %ld, total packet size=%zd\n", recv_len-SC_PUBKEY_SIZE, recv_len); -// printf("[ETCP DEBUG] Last 64 bytes of packet (PUBKEY): "); - for (int i=0; itimestamp, &pkt_len)) { - DEBUG_ERROR(DEBUG_CATEGORY_CRYPTO, "etcp_connections_read_callback: failed to decrypt init packet"); - errorcode=3; - goto ec_fr; - } -// printf("[ETCP DEBUG] Decrypt OK\n"); - pkt->data_len=pkt_len-2; - pkt->noencrypt_len=0; - struct { - uint8_t code; - uint8_t id[8]; - uint8_t mtu[2]; - uint8_t keepalive[2]; - uint8_t pubkey[SC_PUBKEY_SIZE]; - } *ack_hdr=(void*)&pkt->data[0]; - uint64_t peer_id; - memcpy(&peer_id, &ack_hdr->id[0], 8); - if (ack_hdr->code!=ETCP_INIT_REQUEST && ack_hdr->code!=ETCP_CHANNEL_INIT) { errorcode=4; DEBUG_ERROR(DEBUG_CATEGORY_ETCP, "etcp_connections_read_callback: not an init packet, code=%02x", ack_hdr->code); goto ec_fr; }// не init - - struct ETCP_CONN* conn=e_sock->instance->connections; - while (conn) {// ищем есть ли подключение к этому пиру - if (conn->peer_node_id==peer_id) break; - conn=conn->next; - } - - int new_conn=0; - if (!conn || conn->peer_node_id!=peer_id) {// создаём новое - new_conn=1; - conn=etcp_connection_create(e_sock->instance); - if (!conn) { errorcode=55; DEBUG_ERROR(DEBUG_CATEGORY_CONNECTION, "etcp_connections_read_callback: failed to create connection"); goto ec_fr; }// облом - memcpy(&conn->crypto_ctx, &sc, sizeof(sc));// добавляем ключ - conn->peer_node_id=peer_id; - } - else {// check keys если существующее подключение - if (memcmp(conn->crypto_ctx.peer_public_key, sc.peer_public_key, SC_PUBKEY_SIZE)) { errorcode=5; DEBUG_ERROR(DEBUG_CATEGORY_CRYPTO, "etcp_connections_read_callback: peer key mismatch for node %llu", (unsigned long long)peer_id); goto ec_fr; }// коллизия - peer id совпал а ключи разные. - } - struct ETCP_LINK* link = etcp_link_new(conn, e_sock, &addr, 1); - if (!link) { if (new_conn) etcp_connection_close(conn); errorcode=66; DEBUG_ERROR(DEBUG_CATEGORY_CONNECTION, "etcp_connections_read_callback: failed to create link for connection"); goto ec_fr; }// облом - if (ack_hdr->code==0x02) etcp_conn_reset(conn); - - struct { - uint8_t code; - uint8_t id[8]; - uint8_t mtu[2]; - } *ack_repl_hdr=(void*)&pkt->data[0]; - ack_repl_hdr->code+=1; - memcpy(ack_repl_hdr->id, &e_sock->instance->node_id, 8); - int mtu=e_sock->instance->config->global.mtu; - ack_repl_hdr->mtu[0]=mtu>>8; - ack_repl_hdr->mtu[1]=mtu; - pkt->data_len=sizeof(*ack_repl_hdr); - pkt->noencrypt_len=0; - pkt->link=link; - DEBUG_INFO(DEBUG_CATEGORY_ETCP, "[ETCP DEBUG] Send INIT RESPONSE"); - etcp_encrypt_send(pkt); -// printf("[ETCP DEBUG] Send INIT RESPONSE ok\n"); - - memory_pool_free(e_sock->instance->pkt_pool, pkt); - return; - } - - if (sc_decrypt(&link->etcp->crypto_ctx, data, recv_len, (uint8_t*)&pkt->timestamp, &pkt_len)) { - DEBUG_ERROR(DEBUG_CATEGORY_CRYPTO, "etcp_connections_read_callback: failed to decrypt packet from node %llu", (unsigned long long)link->etcp->instance->node_id); - errorcode=6; - goto ec_fr; - } - if (pkt_len<3) { errorcode=46; DEBUG_ERROR(DEBUG_CATEGORY_ETCP, "etcp_connections_read_callback: decrypted packet too small, size=%zu", pkt_len); goto ec_fr; } - pkt->data_len=pkt_len-2; - pkt->noencrypt_len=0; - pkt->link=link; - - link->last_recv_local_time=get_current_time_units(); - link->last_recv_timestamp=pkt->timestamp; - - size_t offset = 0; - uint8_t code = pkt->data[offset++]; - - if (code == ETCP_INIT_RESPONSE || code == ETCP_CHANNEL_RESPONSE) { - // Parse response - if (code == ETCP_INIT_RESPONSE) etcp_conn_reset(link->etcp); - uint64_t server_node_id = 0; - for (int i = 0; i < 8; i++) { - server_node_id = (server_node_id << 8) | pkt->data[offset++]; - } - link->mtu = (pkt->data[offset++] << 8) | pkt->data[offset++]; - if (offset > pkt_len) { errorcode=13; DEBUG_ERROR(DEBUG_CATEGORY_ETCP, "etcp_connections_read_callback: packet parsing overflow, offset=%zu, pkt_len=%zu", offset, pkt_len); goto ec_fr; } - - DEBUG_INFO(DEBUG_CATEGORY_CONNECTION, "Received INIT_RESPONSE from server_node_id=%llu, mtu=%d", - (unsigned long long)server_node_id, link->mtu); - - link->etcp->peer_node_id = server_node_id; // If not set - - // Mark link as initialized - link->initialized = 1; - DEBUG_INFO(DEBUG_CATEGORY_CONNECTION, "[ETCP] Link initialized successfully! Server node_id=%llu, mtu=%d", - (unsigned long long)server_node_id, link->mtu); - - // Cancel init timer if exists - if (link->init_timer) { - uasync_cancel_timeout(link->etcp->instance->ua, link->init_timer); - link->init_timer = NULL; - } - - memory_pool_free(e_sock->instance->pkt_pool, pkt); - return; // INIT_RESPONSE is handled, no further processing needed - } - - packet_dump("RECV decrypted:", pkt->data, pkt->data_len, link); - - etcp_conn_input(pkt); - return; - -ec_fr: - DEBUG_ERROR(DEBUG_CATEGORY_ETCP, "etcp_connections_read_callback: error %d", errorcode); - e_sock->pkt_format_errors++; - e_sock->errorcode=errorcode; - memory_pool_free(e_sock->instance->pkt_pool, pkt); - return; -} - -int init_connections(struct UTUN_INSTANCE* instance) { - if (!instance || !instance->config) return -1; - - struct utun_config* config = instance->config; - - // Initialize servers first - create sockets for incoming connections - struct CFG_SERVER* server = config->servers; - while (server) { - // Create socket for this server - struct ETCP_SOCKET* e_sock = etcp_socket_add(instance, &server->ip, server->netif_index, server->so_mark, server->type); - if (!e_sock) { - DEBUG_ERROR(DEBUG_CATEGORY_ETCP, "Failed to create socket for server %s", server->name); - server = server->next; - continue; - } - - // Convert IP to string for logging - char addr_str[INET6_ADDRSTRLEN + 6]; - if (server->ip.ss_family == AF_INET) { - struct sockaddr_in* sin = (struct sockaddr_in*)&server->ip; - inet_ntop(AF_INET, &sin->sin_addr, addr_str, INET_ADDRSTRLEN); - sprintf(addr_str + strlen(addr_str), ":%d", ntohs(sin->sin_port)); - } else { - struct sockaddr_in6* sin6 = (struct sockaddr_in6*)&server->ip; - inet_ntop(AF_INET6, &sin6->sin6_addr, addr_str, INET6_ADDRSTRLEN); - sprintf(addr_str + strlen(addr_str), ":%d", ntohs(sin6->sin6_port)); - } - - DEBUG_INFO(DEBUG_CATEGORY_CONNECTION, "Initialized server %s on %s (links: %zu)", - server->name, addr_str, e_sock->num_channels); - server = server->next; - } - - // Initialize clients - create outgoing connections - struct CFG_CLIENT* client = config->clients; - while (client) { - // Create ETCP connection for this client - struct ETCP_CONN* etcp_conn = etcp_connection_create(instance); - if (!etcp_conn) { - DEBUG_ERROR(DEBUG_CATEGORY_ETCP, "Failed to create ETCP connection for client %s", client->name); - client = client->next; - continue; - } - - // Initialize crypto context for this connection - if (sc_init_ctx(&etcp_conn->crypto_ctx, &instance->my_keys) != SC_OK) { - DEBUG_ERROR(DEBUG_CATEGORY_CRYPTO, "init_connections: failed to initialize crypto context for client %s", client->name); - etcp_connection_close(etcp_conn); - client = client->next; - continue; - } - // If client has peer public key configured, set it - if (strlen(client->peer_public_key_hex) > 0) { - // For now, set peer node ID to indicate we have peer key - // The actual peer key will be exchanged during connection establishment - etcp_conn->peer_node_id = 1; // Simple indicator - - DEBUG_INFO(DEBUG_CATEGORY_CRYPTO, "init_connections: setting peer public key for client %s", client->name); - // Set peer public key (assuming hex format) - if (sc_set_peer_public_key(&etcp_conn->crypto_ctx, client->peer_public_key_hex, 1) != SC_OK) { - DEBUG_ERROR(DEBUG_CATEGORY_CRYPTO, "init_connections: failed to set peer public key for client %s", client->name); - } else { - DEBUG_INFO(DEBUG_CATEGORY_CRYPTO, "init_connections: successfully set peer public key for client %s", client->name); - } - } else { - DEBUG_WARN(DEBUG_CATEGORY_CONFIG, "init_connections: no peer public key configured for client %s", client->name); - } - - // Create links for this client - struct CFG_CLIENT_LINK* client_link = client->links; - while (client_link) { - // Find the local server for this link - struct CFG_SERVER* local_server = client_link->local_srv; - if (!local_server) { - client_link = client_link->next; - continue; - } - - // Find the socket for this server - struct ETCP_SOCKET* e_sock = NULL; - struct ETCP_SOCKET* sock = instance->etcp_sockets; - while (sock) { - if (sock->local_addr.ss_family == local_server->ip.ss_family) { - if (sock->local_addr.ss_family == AF_INET) { - struct sockaddr_in* sock_addr = (struct sockaddr_in*)&sock->local_addr; - struct sockaddr_in* srv_addr = (struct sockaddr_in*)&local_server->ip; - if (sock_addr->sin_addr.s_addr == srv_addr->sin_addr.s_addr && - sock_addr->sin_port == srv_addr->sin_port) { - e_sock = sock; - break; - } - } - } - sock = sock->next; - } - - if (!e_sock) { - DEBUG_ERROR(DEBUG_CATEGORY_ETCP, "No socket found for client %s link", client->name); - client_link = client_link->next; - continue; - } - - // Create link for this client connection - struct ETCP_LINK* link = etcp_link_new(etcp_conn, e_sock, &client_link->remote_addr, 0); // 0 = client initiates - if (!link) { - DEBUG_ERROR(DEBUG_CATEGORY_ETCP, "Failed to create link for client %s", client->name); - client_link = client_link->next; - continue; - } - - client_link = client_link->next; - } - - DEBUG_INFO(DEBUG_CATEGORY_CONNECTION, "Added client %s with %d links", client->name, client->keepalive); - client = client->next; - } - - // If there are clients configured but no connections created, that's an error - // If there are no clients (server-only mode), 0 connections is OK (server will accept incoming) - if (instance->connections_count == 0 && config->clients != NULL) { - DEBUG_ERROR(DEBUG_CATEGORY_ETCP, "Clients configured but no connections initialized"); - return -1; - } - - DEBUG_INFO(DEBUG_CATEGORY_CONNECTION, "Initialized %d connections", instance->connections_count); - return 0; -} - -// Wrapper for backward compatibility -struct ETCP_SOCKET* etcp_socket_add(struct UTUN_INSTANCE* instance, struct sockaddr_storage* ip, uint32_t netif_index, int so_mark, uint8_t type) { - return etcp_socket_add_ex(instance, ip, netif_index, so_mark, type, 0); -} diff --git a/!/etcp_connections.c1 b/!/etcp_connections.c1 deleted file mode 100755 index e846871b..00000000 --- a/!/etcp_connections.c1 +++ /dev/null @@ -1,770 +0,0 @@ -#include "etcp_connections.h" -#include -#include -#include -#include -#include -#include -#include "routing.h" -#include "utun_instance.h" -#include "config_parser.h" -#include "crc32.h" -#include "etcp.h" -#include "../lib/memory_pool.h" -#include "../lib/u_async.h" -#include -#include - -// Simple debug macros to replace missing debug_config.h -#define DEBUG_CATEGORY_CONNECTION 1 -#define DEBUG_CATEGORY_ETCP 2 -#define DEBUG_CATEGORY_CRYPTO 3 -#define DEBUG_CATEGORY_CONFIG 4 -#define DEBUG_CATEGORY_MEMORY 5 - -// Forward declaration -static void etcp_connections_read_callback(int fd, void* arg); - -#define DEBUG_ERROR(category, fmt, ...) fprintf(stderr, "ERROR: " fmt "\n", ##__VA_ARGS__) -#define DEBUG_WARN(category, fmt, ...) fprintf(stderr, "WARN: " fmt "\n", ##__VA_ARGS__) -#define DEBUG_INFO(category, fmt, ...) fprintf(stdout, "INFO: " fmt "\n", ##__VA_ARGS__) - -// Minimal packet dump - only shows first 16 bytes to avoid slowing down -static void dump_packet_bytes(const char* prefix, const uint8_t* data, size_t len) { - printf("[ETCP DUMP] %s: len=%zu; dump: ", prefix, len); - size_t show = len < 160 ? len : 160; - for (size_t i = 0; i < show; i++) { - printf("%02x ", data[i]); - } - if (len > 160) printf("..."); - printf("\n"); -} - - -// Forward declarations for missing functions -struct ETCP_CONN* etcp_connection_create(struct UTUN_INSTANCE* instance); - -// CONNECTION MANAGEMENT (!!!это всё должно быть static!!!) -static void etcp_link_remove_from_connections(struct ETCP_SOCKET* conn, struct ETCP_LINK* link); - - -// Отправка кодограмм протокола (!!!это всё должно быть static!!!) -static void etcp_link_send_init(struct ETCP_LINK* link); -static int etcp_link_send_reset(struct ETCP_LINK* link); -static void etcp_link_init_timer_cbk(void* arg); - -#define INIT_TIMEOUT_INITIAL 500 -#define INIT_TIMEOUT_MAX 50000 - -static void etcp_link_send_init(struct ETCP_LINK* link) { - if (!link || !link->etcp || !link->etcp->instance) return; - - struct ETCP_DGRAM* dgram = malloc(sizeof(struct ETCP_DGRAM) + 100); - if (!dgram) return; - - dgram->link = link; - dgram->noencrypt_len = SC_PUBKEY_SIZE; - size_t offset = 0; - - dgram->data[offset++] = ETCP_INIT_REQUEST; - - uint64_t node_id = link->etcp->instance->node_id; - dgram->data[offset++] = (node_id >> 56) & 0xFF; - dgram->data[offset++] = (node_id >> 48) & 0xFF; - dgram->data[offset++] = (node_id >> 40) & 0xFF; - dgram->data[offset++] = (node_id >> 32) & 0xFF; - dgram->data[offset++] = (node_id >> 24) & 0xFF; - dgram->data[offset++] = (node_id >> 16) & 0xFF; - dgram->data[offset++] = (node_id >> 8) & 0xFF; - dgram->data[offset++] = node_id & 0xFF; - - dgram->data[offset++] = (link->mtu >> 8) & 0xFF; - dgram->data[offset++] = link->mtu & 0xFF; - - dgram->data[offset++] = (link->keepalive_interval >> 8) & 0xFF; - dgram->data[offset++] = link->keepalive_interval & 0xFF; - - memcpy(dgram->data + offset, link->etcp->instance->my_keys.public_key, SC_PUBKEY_SIZE); - dgram->data_len = offset + SC_PUBKEY_SIZE; - - DEBUG_INFO(DEBUG_CATEGORY_CONNECTION, "Sending INIT request to link, node_id=%llu, retry=%d", (unsigned long long)node_id, link->init_retry_count); - - // Debug: print remote address before sending - if (link->remote_addr.ss_family == AF_INET) { - struct sockaddr_in* sin = (struct sockaddr_in*)&link->remote_addr; - char addr_str[INET_ADDRSTRLEN]; - inet_ntop(AF_INET, &sin->sin_addr, addr_str, INET_ADDRSTRLEN); - printf("[ETCP] INIT sending to %s:%d, link=%p, conn_fd=%d\n", addr_str, ntohs(sin->sin_port), link, link->conn->fd); - } - - etcp_encrypt_send(dgram); - free(dgram); - - link->init_retry_count++; - - if (!link->init_timer && link->is_server == 0) { - link->init_timeout = INIT_TIMEOUT_INITIAL; - link->init_timer = uasync_set_timeout(link->etcp->instance->ua, link->init_timeout, link, etcp_link_init_timer_cbk); - } else if (link->init_timer) { - if ((link->init_retry_count % 10) == 0 && link->init_timeout < INIT_TIMEOUT_MAX) { - link->init_timeout *= 2; - if (link->init_timeout > INIT_TIMEOUT_MAX) link->init_timeout = INIT_TIMEOUT_MAX; - } - uasync_cancel_timeout(link->etcp->instance->ua, link->init_timer); - link->init_timer = uasync_set_timeout(link->etcp->instance->ua, link->init_timeout, link, etcp_link_init_timer_cbk); - } -} - -static void etcp_link_init_timer_cbk(void* arg) { - struct ETCP_LINK* link = (struct ETCP_LINK*)arg; - if (!link || link->initialized || link->is_server != 0) return; - - link->init_timer = NULL; - etcp_link_send_init(link); -} - -static int etcp_link_send_reset(struct ETCP_LINK* link) { - if (!link) return -1; - - struct ETCP_DGRAM* dgram = malloc(sizeof(struct ETCP_DGRAM) + 1); - if (!dgram) return -1; - - dgram->link = link; - dgram->data_len = 1; - dgram->noencrypt_len = 0; - dgram->data[0] = 0x06; - - DEBUG_INFO(DEBUG_CATEGORY_CONNECTION, "Sending RESET to link"); - int ret = etcp_encrypt_send(dgram); - free(dgram); - return ret; -} - -static uint32_t sockaddr_hash(struct sockaddr_storage* addr) { - socklen_t addr_len = (addr->ss_family == AF_INET) ? sizeof(struct sockaddr_in) : sizeof(struct sockaddr_in6); - return crc32_calc((void*)addr, addr_len); - } - -// Бинарный поиск линка по ip_port_hash -static int find_link_index(struct ETCP_SOCKET* e_sock, uint32_t hash) { - if (!e_sock || e_sock->num_channels == 0) return -1; - - int left = 0; - int right = e_sock->num_channels - 1; - - while (left <= right) { - int mid = left + (right - left) / 2; - if (e_sock->links[mid]->ip_port_hash == hash) { - return mid; - } else if (e_sock->links[mid]->ip_port_hash < hash) { - left = mid + 1; - } else { - right = mid - 1; - } - } - - return -(left + 1); -} - -// Реалокация массива линков с увеличением в 2 раза -static int realloc_links(struct ETCP_SOCKET* e_sock) { - size_t new_max = e_sock->max_channels == 0 ? 8 : e_sock->max_channels * 2; - struct ETCP_LINK** new_links = realloc(e_sock->links, new_max * sizeof(struct ETCP_LINK*)); - if (!new_links) return -1; - - e_sock->links = new_links; - e_sock->max_channels = new_max; - return 0; -} - -// Вставка линка в отсортированный массив -static int insert_link(struct ETCP_SOCKET* e_sock, struct ETCP_LINK* link) { - if (!e_sock || !link) return -1; - - if (e_sock->num_channels >= e_sock->max_channels) { - if (realloc_links(e_sock) < 0) return -1; - } - - int idx = find_link_index(e_sock, link->ip_port_hash); - if (idx >= 0) return -1; - - idx = -(idx + 1); - - if (idx < (int)e_sock->num_channels) { - memmove(&e_sock->links[idx + 1], &e_sock->links[idx], - (e_sock->num_channels - idx) * sizeof(struct ETCP_LINK*)); - } - - e_sock->links[idx] = link; - e_sock->num_channels++; - return 0; -} - -// Удаление линка из массива -static void remove_link(struct ETCP_SOCKET* e_sock, uint32_t hash) { - if (!e_sock || e_sock->num_channels == 0) return; - - int idx = find_link_index(e_sock, hash); - if (idx < 0) return; - - if (idx < (int)e_sock->num_channels - 1) { - memmove(&e_sock->links[idx], &e_sock->links[idx + 1], - (e_sock->num_channels - idx - 1) * sizeof(struct ETCP_LINK*)); - } - - e_sock->num_channels--; -} - -// надо править, используй sockaddr_hash -struct ETCP_LINK* etcp_link_find_by_addr(struct ETCP_SOCKET* e_sock, struct sockaddr_storage* addr) { - if (!e_sock || !addr) return NULL; - - int idx = find_link_index(e_sock, sockaddr_hash(addr)); - if (idx < 0) return NULL; - - return e_sock->links[idx]; -} - - -// =============================== - -struct ETCP_SOCKET* etcp_socket_add(struct UTUN_INSTANCE* instance, struct sockaddr_storage* ip, uint32_t netif_index, int so_mark, uint8_t type) { - if (!instance) return NULL; - - struct ETCP_SOCKET* e_sock = calloc(1, sizeof(struct ETCP_SOCKET)); - if (!e_sock) { - DEBUG_ERROR(DEBUG_CATEGORY_MEMORY, "Failed to allocate connection"); - return NULL; - } - - int family = AF_INET; - if (ip) { - family = ip->ss_family; - if (family != AF_INET && family != AF_INET6) { - DEBUG_ERROR(DEBUG_CATEGORY_CONNECTION, "Unsupported address family: %d", family); - free(e_sock); - return NULL; - } - } - - e_sock->fd = socket(family, SOCK_DGRAM, 0); - if (e_sock->fd < 0) { - DEBUG_ERROR(DEBUG_CATEGORY_CONNECTION, "Failed to create socket: %s", strerror(errno)); - free(e_sock); - return NULL; - } - - int flags = fcntl(e_sock->fd, F_GETFL, 0); - fcntl(e_sock->fd, F_SETFL, flags | O_NONBLOCK); - - // Set socket mark if specified - if (so_mark > 0) { -#ifdef SO_MARK - if (setsockopt(e_sock->fd, SOL_SOCKET, SO_MARK, &so_mark, sizeof(so_mark)) < 0) { - DEBUG_ERROR(DEBUG_CATEGORY_CONNECTION, "Failed to set SO_MARK: %s", strerror(errno)); - } -#endif - } - - // Bind to interface if specified - if (netif_index > 0) { -#ifdef SO_BINDTODEVICE - char ifname[IF_NAMESIZE]; - if (if_indextoname(netif_index, ifname)) { - if (setsockopt(e_sock->fd, SOL_SOCKET, SO_BINDTODEVICE, ifname, strlen(ifname)) < 0) { - DEBUG_ERROR(DEBUG_CATEGORY_CONNECTION, "Failed to bind to interface %s: %s", ifname, strerror(errno)); - } - } -#endif - } - - // Store the local address and bind socket if provided - if (ip) { - memcpy(&e_sock->local_addr, ip, sizeof(struct sockaddr_storage)); - - // CRITICAL: Actually bind the socket to the address - this was missing! - socklen_t addr_len = (ip->ss_family == AF_INET) ? sizeof(struct sockaddr_in) : sizeof(struct sockaddr_in6); - if (bind(e_sock->fd, (struct sockaddr*)ip, addr_len) < 0) { - perror("bind"); - printf("[ETCP] Failed to bind socket to address family %d\n", ip->ss_family); - if (ip->ss_family == AF_INET) { - struct sockaddr_in* sin = (struct sockaddr_in*)ip; - char addr_str[INET_ADDRSTRLEN]; - inet_ntop(AF_INET, &sin->sin_addr, addr_str, INET_ADDRSTRLEN); - printf("[ETCP] Failed to bind to %s:%d\n", addr_str, ntohs(sin->sin_port)); - } - close(e_sock->fd); - free(e_sock); - return NULL; - } - - printf("[ETCP] Successfully bound socket to local address, family=%d\n", ip->ss_family); - } - - e_sock->instance = instance; - e_sock->errorcode = 0; - e_sock->pkt_format_errors = 0; - - // Add to instance's socket list - e_sock->next = instance->etcp_sockets; - instance->etcp_sockets = e_sock; - - // Register socket with uasync for receiving packets - e_sock->socket_id = uasync_add_socket(instance->ua, e_sock->fd, - etcp_connections_read_callback, - NULL, NULL, e_sock); - DEBUG_INFO(DEBUG_CATEGORY_CONNECTION, "Registered ETCP socket with uasync (fd=%d)", e_sock->fd); - - printf("[ETCP] Socket %p (fd=%d) registered and active\n", e_sock, e_sock->fd); - - return e_sock; -} - -void etcp_socket_remove(struct ETCP_SOCKET* conn) { - if (!conn) return; - - printf("[ETCP] Removing socket %p, fd=%d\n", conn, conn->fd); - - if (conn->fd >= 0) { - close(conn->fd); - printf("[ETCP] Closed fd=%d\n", conn->fd); - } - - for (size_t i = 0; i < conn->num_channels; i++) { - etcp_link_close(conn->links[i]); - } - free(conn->links); - - free(conn); -} - - -struct ETCP_LINK* etcp_link_new(struct ETCP_CONN* etcp, struct ETCP_SOCKET* conn, struct sockaddr_storage* remote_addr, uint8_t is_server) { - if (!remote_addr) return NULL; - - struct ETCP_LINK* link = calloc(1, sizeof(struct ETCP_LINK)); - if (!link) return NULL; - - link->conn = conn; - link->etcp = etcp; - link->is_server = is_server; - link->mtu = 1500; - link->keepalive_interval = 30; - link->initialized = 0; - link->init_timer = NULL; - link->init_timeout = 0; - link->init_retry_count = 0; - - memcpy(&link->remote_addr, remote_addr, sizeof(struct sockaddr_storage)); - link->last_activity = time(NULL); - - link->ip_port_hash = sockaddr_hash(remote_addr); - - insert_link(conn, link); - - struct ETCP_LINK* l=etcp->links; - while (l && l->next) l=l->next; - if (l) l->next = link; else etcp->links = link; - - if (is_server == 0) { - etcp_link_send_init(link); - } - - return link; -} - -void etcp_link_close(struct ETCP_LINK* link) { - if (!link || !link->etcp) return; - - // Cancel init timer if active - if (link->init_timer) { - uasync_cancel_timeout(link->etcp->instance->ua, link->init_timer); - link->init_timer = NULL; - } - - // универсальное удаление из односвязного списка - struct ETCP_LINK **pp = &link->etcp->links; - while (*pp) { - if (*pp == link) { - *pp = link->next; - break; - } - pp = &(*pp)->next; - } - - remove_link(link->conn, link->ip_port_hash); - - free(link); -} - -int etcp_encrypt_send(struct ETCP_DGRAM* dgram) { -// printf("[ETCP DEBUG] etcp_encrypt_send: ENTERING FUNCTION\n"); - - int errcode=0; - sc_context_t* sc = &dgram->link->etcp->crypto_ctx; - int len=dgram->data_len-dgram->noencrypt_len;// не забываем добавить timestamp (2 bytes) - if (len<=0 || len>1480) { dgram->link->send_errors++; errcode=1; goto es_err; } - uint8_t enc_buf[1600]; - size_t enc_buf_len=0; - dgram->timestamp=get_current_timestamp(); - - // DUMP: Show packet before encryption - dump_packet_bytes("ECTP_ENCRYPT_SEND", dgram->data, dgram->data_len); - sc_encrypt(sc, (uint8_t*)&dgram->timestamp/*нейронка не правь блять это, тут верно!*/, sizeof(uint16_t) + len, enc_buf, &enc_buf_len); - if (enc_buf_len == 0) { - DEBUG_ERROR(DEBUG_CATEGORY_CRYPTO, "etcp_encrypt_send: encryption failed for node %llu", (unsigned long long)dgram->link->etcp->instance->node_id); - dgram->link->send_errors++; - errcode=2; - goto es_err; - } - if (enc_buf_len + dgram->noencrypt_len > 1480) { dgram->link->send_errors++; errcode=2; goto es_err; } - memcpy(enc_buf+enc_buf_len, dgram->data+len, dgram->noencrypt_len); - - // DUMP: Show complete packet before sending -// dump_packet_bytes("READY TO SEND", enc_buf, enc_buf_len + dgram->noencrypt_len); - - struct sockaddr_storage* addr=&dgram->link->remote_addr; - socklen_t addr_len = (addr->ss_family == AF_INET) ? sizeof(struct sockaddr_in) : sizeof(struct sockaddr_in6); - - // Debug: print where we're sending the packet - if (addr->ss_family == AF_INET) { - struct sockaddr_in* sin = (struct sockaddr_in*)addr; - char addr_str[INET_ADDRSTRLEN]; - inet_ntop(AF_INET, &sin->sin_addr, addr_str, INET_ADDRSTRLEN); - printf("[ETCP] Sending packet to %s:%d, size=%zd\n", addr_str, ntohs(sin->sin_port), enc_buf_len + dgram->noencrypt_len); - } - - ssize_t sent = sendto(dgram->link->conn->fd, enc_buf, enc_buf_len + dgram->noencrypt_len, 0, (struct sockaddr*)addr, addr_len); - if (sent < 0) { dgram->link->send_errors++; errcode=3; goto es_err;} else dgram->link->total_encrypted += sent; - return (int)sent; -es_err: - printf("[ETCP] encrypt_send error %d\n", errcode); - return -1; -} - -static void etcp_connections_read_callback(int fd, void* arg) { -// !!!!!! DANGER: в этой функции ПРЕДЕЛЬНАЯ АККУРАТНОСТЬ. Если кажется что не туда указатель то невнимательно аланизировал !!!!! -// НЕ РУИНИТЬ (uint8_t*)&pkt->timestamp - это правильно !!!! - struct ETCP_SOCKET* e_sock = (struct ETCP_SOCKET*)arg; - if (!e_sock) return; - -// printf("[ETCP] Read callback triggered for fd=%d, socket=%p\n", fd, e_sock); - - struct sockaddr_storage addr; - uint8_t data[PACKET_DATA_SIZE]; - socklen_t addr_len=sizeof(addr); - memset(&addr, 0, sizeof(addr)); - ssize_t recv_len = recvfrom(fd, data, PACKET_DATA_SIZE, 0, (struct sockaddr*)&addr, &addr_len); - - if (recv_len <= 0) { - printf("[ETCP] recvfrom failed or no data, recv_len=%zd, errno=%d\n", recv_len, errno); - return; - } - -// printf("[ETCP] Received packet: %zd bytes from address\n", recv_len); - - // DUMP: Show received packet content - dump_packet_bytes("RECV in:", data, recv_len); - - struct ETCP_DGRAM* pkt = memory_pool_alloc(e_sock->instance->pkt_pool); - if (!pkt) return; - size_t pkt_len=0; - int errorcode=0; - - struct ETCP_LINK* link=etcp_link_find_by_addr(e_sock, &addr); -// printf("[ETCP DEBUG] Received packet, link=%p, recv_len=%zd\n", link, recv_len); - if (link==NULL) {// пробуем расшифровать, возможно это init -// printf("[ETCP DEBUG] No existing link found, trying to decrypt as INIT packet\n"); - struct secure_channel sc; - if (recv_len<=SC_PUBKEY_SIZE) { errorcode=1; goto ec_fr; } - sc_init_ctx(&sc, &e_sock->instance->my_keys); -// printf("[ETCP DEBUG] Extracting peer public key from position %ld, total packet size=%zd\n", recv_len-SC_PUBKEY_SIZE, recv_len); -// printf("[ETCP DEBUG] Last 64 bytes of packet (PUBKEY): "); - for (int i=0; itimestamp, &pkt_len)) { - DEBUG_ERROR(DEBUG_CATEGORY_CRYPTO, "etcp_connections_read_callback: failed to decrypt init packet"); - errorcode=3; - goto ec_fr; - } -// printf("[ETCP DEBUG] Decrypt OK\n"); - pkt->data_len=pkt_len-2; - pkt->noencrypt_len=0; - struct { - uint8_t code; - uint8_t id[8]; - uint8_t mtu[2]; - uint8_t keepalive[2]; - uint8_t pubkey[SC_PUBKEY_SIZE]; - } *ack_hdr=(void*)&pkt->data[0]; - uint64_t peer_id; - memcpy(&peer_id, &ack_hdr->id[0], 8); - if (ack_hdr->code!=ETCP_INIT_REQUEST && ack_hdr->code!=ETCP_CHANNEL_INIT) { errorcode=4; goto ec_fr; }// не init - - struct ETCP_CONN* conn=e_sock->instance->connections; - while (conn) {// ищем есть ли подключение к этому пиру - if (conn->peer_node_id==peer_id) break; - conn=conn->next; - } - - int new_conn=0; - if (!conn || conn->peer_node_id!=peer_id) {// создаём новое - new_conn=1; - conn=etcp_connection_create(e_sock->instance); - if (!conn) { errorcode=55; goto ec_fr; }// облом - memcpy(&conn->crypto_ctx, &sc, sizeof(sc));// добавляем ключ - conn->peer_node_id=peer_id; - } - else {// check keys если существующее подключение - if (memcmp(conn->crypto_ctx.peer_public_key, sc.peer_public_key, SC_PUBKEY_SIZE)) { errorcode=5; goto ec_fr; }// коллизия - peer id совпал а ключи разные. - } - struct ETCP_LINK* link = etcp_link_new(conn, e_sock, &addr, 1); - if (!link) { if (new_conn) etcp_connection_close(conn); errorcode=66; goto ec_fr; }// облом - if (ack_hdr->code==0x02) etcp_conn_reset(conn); - - struct { - uint8_t code; - uint8_t id[8]; - uint8_t mtu[2]; - } *ack_repl_hdr=(void*)&pkt->data[0]; - ack_repl_hdr->code+=1; - memcpy(ack_repl_hdr->id, &e_sock->instance->node_id, 8); - int mtu=e_sock->instance->config->global.mtu; - ack_repl_hdr->mtu[0]=mtu>>8; - ack_repl_hdr->mtu[1]=mtu; - pkt->data_len=sizeof(*ack_repl_hdr); - pkt->noencrypt_len=0; - pkt->link=link; - printf("[ETCP DEBUG] Send INIT RESPONSE\n"); - etcp_encrypt_send(pkt); -// printf("[ETCP DEBUG] Send INIT RESPONSE ok\n"); - - memory_pool_free(e_sock->instance->pkt_pool, pkt); - return; - } - - if (sc_decrypt(&link->etcp->crypto_ctx, data, recv_len, (uint8_t*)&pkt->timestamp, &pkt_len)) { - DEBUG_ERROR(DEBUG_CATEGORY_CRYPTO, "etcp_connections_read_callback: failed to decrypt packet from node %llu", (unsigned long long)link->etcp->instance->node_id); - errorcode=6; - goto ec_fr; - } - if (pkt_len<3) { errorcode=46; goto ec_fr; } - pkt->data_len=pkt_len-2; - pkt->noencrypt_len=0; - pkt->link=link; - - link->last_recv_local_time=get_current_time_units(); - link->last_recv_timestamp=pkt->timestamp; - - size_t offset = 0; - uint8_t code = pkt->data[offset++]; - - if (code == ETCP_INIT_RESPONSE || code == ETCP_CHANNEL_RESPONSE) { - // Parse response - if (code == ETCP_INIT_RESPONSE) etcp_conn_reset(link->etcp); - uint64_t server_node_id = 0; - for (int i = 0; i < 8; i++) { - server_node_id = (server_node_id << 8) | pkt->data[offset++]; - } - link->mtu = (pkt->data[offset++] << 8) | pkt->data[offset++]; - if (offset > pkt_len) { errorcode=13; goto ec_fr; } - - DEBUG_INFO(DEBUG_CATEGORY_CONNECTION, "Received INIT_RESPONSE from server_node_id=%llu, mtu=%d", - (unsigned long long)server_node_id, link->mtu); - - link->etcp->peer_node_id = server_node_id; // If not set - - // Mark link as initialized - link->initialized = 1; - printf("[ETCP] Link initialized successfully! Server node_id=%llu, mtu=%d\n", - (unsigned long long)server_node_id, link->mtu); - - // Cancel init timer if exists - if (link->init_timer) { - uasync_cancel_timeout(link->etcp->instance->ua, link->init_timer); - link->init_timer = NULL; - } - - memory_pool_free(e_sock->instance->pkt_pool, pkt); - return; // INIT_RESPONSE is handled, no further processing needed - } - - dump_packet_bytes("RECV decrypted:", pkt->data, pkt->data_len); - - etcp_conn_input(pkt); - return; - -ec_fr: - printf("etcp_connections_read_callback: error %d\n", errorcode); - DEBUG_ERROR(DEBUG_CATEGORY_CRYPTO, "etcp_connections_read_callback: error %d", errorcode); - e_sock->pkt_format_errors++; - e_sock->errorcode=errorcode; - memory_pool_free(e_sock->instance->pkt_pool, pkt); - return; -} - -int init_connections(struct UTUN_INSTANCE* instance) { - if (!instance || !instance->config) return -1; - - struct utun_config* config = instance->config; - - // Initialize servers first - create sockets for incoming connections - struct CFG_SERVER* server = config->servers; - while (server) { - // Create socket for this server - struct ETCP_SOCKET* e_sock = etcp_socket_add(instance, &server->ip, server->netif_index, server->so_mark, server->type); - if (!e_sock) { - DEBUG_ERROR(DEBUG_CATEGORY_ETCP, "Failed to create socket for server %s", server->name); - server = server->next; - continue; - } - - // Convert IP to string for logging - char addr_str[INET6_ADDRSTRLEN + 6]; - if (server->ip.ss_family == AF_INET) { - struct sockaddr_in* sin = (struct sockaddr_in*)&server->ip; - inet_ntop(AF_INET, &sin->sin_addr, addr_str, INET_ADDRSTRLEN); - sprintf(addr_str + strlen(addr_str), ":%d", ntohs(sin->sin_port)); - } else { - struct sockaddr_in6* sin6 = (struct sockaddr_in6*)&server->ip; - inet_ntop(AF_INET6, &sin6->sin6_addr, addr_str, INET6_ADDRSTRLEN); - sprintf(addr_str + strlen(addr_str), ":%d", ntohs(sin6->sin6_port)); - } - - printf("Initialized server %s on %s (links: %zu)\n", - server->name, addr_str, e_sock->num_channels); - server = server->next; - } - - // Initialize clients - create outgoing connections - struct CFG_CLIENT* client = config->clients; - while (client) { - // Create ETCP connection for this client - struct ETCP_CONN* etcp_conn = etcp_connection_create(instance); - if (!etcp_conn) { - DEBUG_ERROR(DEBUG_CATEGORY_ETCP, "Failed to create ETCP connection for client %s", client->name); - client = client->next; - continue; - } - - // Initialize crypto context for this connection - if (sc_init_ctx(&etcp_conn->crypto_ctx, &instance->my_keys) != SC_OK) { - DEBUG_ERROR(DEBUG_CATEGORY_CRYPTO, "init_connections: failed to initialize crypto context for client %s", client->name); - etcp_connection_close(etcp_conn); - client = client->next; - continue; - } - // If client has peer public key configured, set it - if (strlen(client->peer_public_key_hex) > 0) { - // For now, set peer node ID to indicate we have peer key - // The actual peer key will be exchanged during connection establishment - etcp_conn->peer_node_id = 1; // Simple indicator - - DEBUG_INFO(DEBUG_CATEGORY_CRYPTO, "init_connections: setting peer public key for client %s", client->name); - // Set peer public key (assuming hex format) - if (sc_set_peer_public_key(&etcp_conn->crypto_ctx, client->peer_public_key_hex, 1) != SC_OK) { - DEBUG_ERROR(DEBUG_CATEGORY_CRYPTO, "init_connections: failed to set peer public key for client %s", client->name); - } else { - DEBUG_INFO(DEBUG_CATEGORY_CRYPTO, "init_connections: successfully set peer public key for client %s", client->name); - } - } else { - DEBUG_WARN(DEBUG_CATEGORY_CONFIG, "init_connections: no peer public key configured for client %s", client->name); - } - - // Create links for this client - struct CFG_CLIENT_LINK* client_link = client->links; - while (client_link) { - // Find the local server for this link - struct CFG_SERVER* local_server = client_link->local_srv; - if (!local_server) { - client_link = client_link->next; - continue; - } - - // Find the socket for this server - struct ETCP_SOCKET* e_sock = NULL; - struct ETCP_SOCKET* sock = instance->etcp_sockets; - while (sock) { - if (sock->local_addr.ss_family == local_server->ip.ss_family) { - if (sock->local_addr.ss_family == AF_INET) { - struct sockaddr_in* sock_addr = (struct sockaddr_in*)&sock->local_addr; - struct sockaddr_in* srv_addr = (struct sockaddr_in*)&local_server->ip; - if (sock_addr->sin_addr.s_addr == srv_addr->sin_addr.s_addr && - sock_addr->sin_port == srv_addr->sin_port) { - e_sock = sock; - break; - } - } - } - sock = sock->next; - } - - if (!e_sock) { - DEBUG_ERROR(DEBUG_CATEGORY_ETCP, "No socket found for client %s link", client->name); - client_link = client_link->next; - continue; - } - - // Create link for this client connection - struct ETCP_LINK* link = etcp_link_new(etcp_conn, e_sock, &client_link->remote_addr, 0); // 0 = client initiates - if (!link) { - DEBUG_ERROR(DEBUG_CATEGORY_ETCP, "Failed to create link for client %s", client->name); - client_link = client_link->next; - continue; - } - - client_link = client_link->next; - } - - printf("Added client %s with %d links\n", client->name, client->keepalive); - client = client->next; - } - - // If there are clients configured but no connections created, that's an error - // If there are no clients (server-only mode), 0 connections is OK (server will accept incoming) - if (instance->connections_count == 0 && config->clients != NULL) { - DEBUG_ERROR(DEBUG_CATEGORY_ETCP, "Clients configured but no connections initialized"); - return -1; - } - - printf("Initialized %d connections\n", instance->connections_count); - return 0; -} - -int etcp_connections_send(struct ETCP_SOCKET* e_sock, uint8_t* data, size_t len, struct sockaddr* addr, socklen_t addr_len) { - if (!e_sock || !data || !addr || len == 0) return -1; - - struct sockaddr_storage remote_addr; - memcpy(&remote_addr, addr, addr_len); - - struct ETCP_LINK* link = etcp_link_find_by_addr(e_sock, &remote_addr); - if (!link) { - DEBUG_ERROR(DEBUG_CATEGORY_CONNECTION, "No link found for address"); - return -1; - } - - if (!link->initialized && link->is_server == 0) { - DEBUG_INFO(DEBUG_CATEGORY_CONNECTION, "Link not initialized, triggering connection establishment"); - if (!link->init_timer) { - etcp_link_send_init(link); - } - return -1; - } - - struct ETCP_DGRAM* dgram = malloc(sizeof(struct ETCP_DGRAM) + len); - if (!dgram) return -1; - - dgram->link = link; - dgram->data_len = len; - dgram->noencrypt_len = 0; - memcpy(dgram->data, data, len); - - int ret = etcp_encrypt_send(dgram); - free(dgram); - return ret; -} diff --git a/!/etcp_connections.h b/!/etcp_connections.h deleted file mode 100755 index 54fa4f71..00000000 --- a/!/etcp_connections.h +++ /dev/null @@ -1,100 +0,0 @@ -#ifndef ETCP_CONNECTIONS_H -#define ETCP_CONNECTIONS_H - -// подмодуль ETCP который обслуживает сокеты ETCP для приёма-передачи пакетов и одно ETCP подключение через несколько каналов связи (failover) - -#include "secure_channel.h" -#include "utun_instance.h" -#include -#include - -#define PACKET_DATA_SIZE 1536 - -// Типы кодограмм протокола -#define ETCP_INIT_REQUEST 0x02 -#define ETCP_INIT_RESPONSE 0x03 -#define ETCP_CHANNEL_INIT 0x04 -#define ETCP_CHANNEL_RESPONSE 0x05 - - -struct ETCP_DGRAM {// пакет (незашифрованный) - struct ETCP_LINK* link;// откуда получена или куда отправялем - uint16_t data_len;// общий размер пакета не включая timestamp - uint16_t noencrypt_len;// число байт (с конца) которые не надо шифровать. для передачи pubkey - uint16_t timestamp;// timestamp принятого или для отправки - uint8_t data[0];// данные пакета (без timestamp) -}; - -// список активных подключений которые обслуживает сокет. каждый сокет может обслуживать много подключений -struct ETCP_SOCKET { - struct ETCP_SOCKET* next; // Linked list для всех соединений - struct UTUN_INSTANCE* instance; - int fd; // Файловый дескриптор UDP сокета - struct sockaddr_storage local_addr; // Локальный адрес - - // для входящих подключений (links) - массив упорядоченный по ip_port_hash - size_t max_channels; // сколько выделено памяти - size_t num_channels; // сколько активно - struct ETCP_LINK** links;// массив указателей на линки, сортированный по ip_port_hash - int errorcode; - size_t pkt_format_errors; - - void* socket_id; // Socket ID from uasync_add_socket -}; - -// ETCP Link - одно динамическое соединение (один путь) -struct ETCP_LINK { - uint32_t ip_port_hash; // crc32 для быстрого поиска - struct ETCP_LINK* next; // Linked list подключений для ETCP_CONN (каждое подключение это child для ETCP_CONN) - - struct ETCP_CONN* etcp; // подключение (parent) - struct ETCP_SOCKET* conn; // сокет через который работаем - - // Путь соединения - struct sockaddr_storage remote_addr; // Удалённый адрес - - // Параметры соединения - uint16_t mtu; // MTU удаленного узла - uint16_t keepalive_interval; // Keepalive интервал - uint8_t is_server; // инициирует подключение клиент - uint8_t initialized; // Флаг инициализации (1=подтверждено или получен request) - - // Состояние установки соединения (только для клиентов) - void* init_timer; // Таймер для повторов INIT (NULL=не подключается) - uint16_t init_timeout; // Текущий таймаут в мс - uint16_t init_retry_count; // Счетчик попыток - - uint64_t last_activity; // Время последней активности - uint64_t last_recv_local_time; - uint16_t last_recv_timestamp; - - size_t encrypt_errors; - size_t decrypt_errors; - size_t send_errors; - size_t recv_errors; - size_t total_encrypted; - size_t total_decrypted; - - uint32_t bandwidth; // Link bandwidth in bits/sec -}; - -// INITIALIZATION (создаёт listen-сокеты и подключения из конфига) -int init_connections(struct UTUN_INSTANCE* instance); - -// SOCKET FUNCTIONS -// добавляет новый версер (сокет для приёма и отправки кодограмм. обслуживает много подключений) -struct ETCP_SOCKET* etcp_socket_add(struct UTUN_INSTANCE* instance, struct sockaddr_storage* ip, uint32_t netif_index, int so_mark, uint8_t type); -struct ETCP_SOCKET* etcp_socket_add_ex(struct UTUN_INSTANCE* instance, struct sockaddr_storage* ip, uint32_t netif_index, int so_mark, uint8_t type, uint32_t flags); -// удаляет сокет и освобождает ресурсы (грохает все его подключения и сокет) -void etcp_socket_remove(struct ETCP_SOCKET* conn); - -// connection functions -// создает новый канал связи для etcp подключения (ETCP_CONN) -struct ETCP_LINK* etcp_link_new(struct ETCP_CONN* etcp, struct ETCP_SOCKET* conn, struct sockaddr_storage* remote_addr, uint8_t is_server); -void etcp_link_close(struct ETCP_LINK* link); -//int etcp_input_cbk(struct packet_buffer* pkt, struct ETCP_SOCKET* conn);// получает расшифрованный пакет -int etcp_encrypt_send(struct ETCP_DGRAM* dgram);// зашифровывает и отправляет пакет -// find link by address -struct ETCP_LINK* etcp_link_find_by_addr(struct ETCP_SOCKET* e_sock, struct sockaddr_storage* addr); - -#endif // ETCP_CONNECTIONS_H diff --git a/!/etcp_loadbalancer.c b/!/etcp_loadbalancer.c deleted file mode 100755 index 7e0e16c5..00000000 --- a/!/etcp_loadbalancer.c +++ /dev/null @@ -1,164 +0,0 @@ -// etcp_loadbalancer.c - Load Balancer Implementation (based on etcp_protocol.txt) -#include "etcp_loadbalancer.h" -#include "../lib/debug_config.h" -#include "../lib/u_async.h" -#include - -// Enable comprehensive debug output for loadbalancer module -#define DEBUG_CATEGORY_LOADBALANCER 1 - -// Forward declaration -static void init_timeout_cb(void* arg); - -// Constants -#define TIMEBASE_NS 100000 // 0.1ms = 100us = 100000ns -#define DELTA_TIME_NS 10000 // Example delta - -// Internal -static uint64_t get_current_nanotime() { - struct timespec ts; - clock_gettime(CLOCK_MONOTONIC, &ts); - uint64_t nanotime = (uint64_t)ts.tv_sec * 1000000000ULL + ts.tv_nsec; - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "get_current_nanotime: tv_sec=%ld, tv_nsec=%ld, result=%llu", - ts.tv_sec, ts.tv_nsec, (unsigned long long)nanotime); - return nanotime; -} - -// Select link for transmission (per spec) -struct ETCP_LINK* etcp_loadbalancer_select_link(struct ETCP_CONN* etcp) { - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_loadbalancer_select_link: etcp=%p", etcp); - - if (!etcp || !etcp->links) { - DEBUG_WARN(DEBUG_CATEGORY_ETCP, "etcp_loadbalancer_select_link: invalid parameters (etcp=%p, links=%p)", - etcp, etcp ? etcp->links : NULL); - return NULL; - } - - struct ETCP_LINK* best = NULL; - uint64_t min_load_time = UINT64_MAX; - uint64_t now_ns = get_current_nanotime(); - uint64_t now_tb = now_ns / (TIMEBASE_NS / 10); // To 0.1ms units - - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_loadbalancer_select_link: current time=%llu tb, scanning %d links", - (unsigned long long)now_tb, etcp->links ? 1 : 0); - - struct ETCP_LINK* link = etcp->links; - int link_index = 0; - while (link) { - link_index++; - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "etcp_loadbalancer_select_link: evaluating link %d (%p) - initialized=%u, is_server=%u, bandwidth=%u", - link_index, link, link->initialized, link->is_server, link->bandwidth); - - if (!link->initialized) { - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_loadbalancer_select_link: link %d not initialized, checking if client connection needed", - link_index); - // Initiate connection if client - if (!link->is_server && !link->init_timer) { - DEBUG_INFO(DEBUG_CATEGORY_ETCP, "etcp_loadbalancer_select_link: initiating client connection for link %d", link_index); - // Send INIT (via etcp_encrypt_send with special dgram) - // Set timer - link->init_timer = uasync_set_timeout(etcp->instance->ua, link->init_timeout, link, init_timeout_cb); // Define cb - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_loadbalancer_select_link: set init timer for link %d", link_index); - } - link = link->next; - continue; - } - - // Update load time if inactive - if (link->last_activity < now_tb - (DELTA_TIME_NS / (TIMEBASE_NS / 10))) { - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "etcp_loadbalancer_select_link: link %d inactive, updating last_activity from %llu to %llu", - link_index, (unsigned long long)link->last_activity, - (unsigned long long)(now_tb - (DELTA_TIME_NS / (TIMEBASE_NS / 10)))); - link->last_activity = now_tb - (DELTA_TIME_NS / (TIMEBASE_NS / 10)); - } - - // Check if can send (load time < now) - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "etcp_loadbalancer_select_link: link %d last_activity=%llu, now_tb=%llu", - link_index, (unsigned long long)link->last_activity, (unsigned long long)now_tb); - - if (link->last_activity < now_tb) { - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_loadbalancer_select_link: link %d can send (load_time < now)", link_index); - if (link->last_activity < min_load_time) { - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_loadbalancer_select_link: link %d is better candidate (activity=%llu < %llu)", - link_index, (unsigned long long)link->last_activity, (unsigned long long)min_load_time); - min_load_time = link->last_activity; - best = link; - } - } else { - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "etcp_loadbalancer_select_link: link %d cannot send yet (load_time >= now)", link_index); - } - - link = link->next; - } - - if (best) { - DEBUG_INFO(DEBUG_CATEGORY_ETCP, "etcp_loadbalancer_select_link: selected link %p (activity=%llu)", - best, (unsigned long long)min_load_time); - } else { - DEBUG_WARN(DEBUG_CATEGORY_ETCP, "etcp_loadbalancer_select_link: no suitable link found"); - } - - return best; -} - -// Init timeout callback (placeholder) -static void init_timeout_cb(void* arg) { - struct ETCP_LINK* link = (struct ETCP_LINK*)arg; - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "init_timeout_cb: link=%p, retry_count=%u, timeout=%u", - link, link->init_retry_count, link->init_timeout); - - // Resend INIT, increment retry - link->init_retry_count++; - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "init_timeout_cb: incremented retry_count to %u", link->init_retry_count); - - if (link->init_retry_count > 5) { - DEBUG_ERROR(DEBUG_CATEGORY_ETCP, "init_timeout_cb: max retries exceeded (%u > 5), closing link", link->init_retry_count); - // Fail - etcp_link_close(link); - return; - } - - // Resend... - link->init_timeout *= 2; // Backoff - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "init_timeout_cb: doubled timeout to %u ms", link->init_timeout); - link->init_timer = uasync_set_timeout(link->etcp->instance->ua, link->init_timeout, link, init_timeout_cb); - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "init_timeout_cb: rescheduled timer"); -} - -// Bandwidth limit update (called after send) -void etcp_loadbalancer_update_after_send(struct ETCP_LINK* link, size_t pkt_size) { - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "etcp_loadbalancer_update_after_send: link=%p, pkt_size=%zu", link, pkt_size); - - if (!link) { - DEBUG_WARN(DEBUG_CATEGORY_ETCP, "etcp_loadbalancer_update_after_send: called with NULL link"); - return; - } - - if (link->bandwidth == 0) { - DEBUG_TRACE(DEBUG_CATEGORY_ETCP, "etcp_loadbalancer_update_after_send: link bandwidth is 0, skipping update"); - return; - } - - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_loadbalancer_update_after_send: link bandwidth=%u bits/sec, packet size=%zu bytes", - link->bandwidth, pkt_size); - - // Time to transmit (ns) - double byte_time_ns = 1000000000.0 / (link->bandwidth * 8.0); // bits/sec to byte/ns - uint64_t tx_time_ns = (uint64_t)(pkt_size * byte_time_ns); - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_loadbalancer_update_after_send: byte_time_ns=%.2f, tx_time_ns=%llu", - byte_time_ns, (unsigned long long)tx_time_ns); - - // To timebase (0.1ms units) - uint64_t tx_time_tb = tx_time_ns / (TIMEBASE_NS / 10); - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_loadbalancer_update_after_send: tx_time_tb=%llu", (unsigned long long)tx_time_tb); - - // Update last_activity - uint64_t now_tb = get_current_nanotime() / (TIMEBASE_NS / 10); - uint64_t old_activity = link->last_activity; - link->last_activity += tx_time_tb; - if (link->last_activity < now_tb - (DELTA_TIME_NS / (TIMEBASE_NS / 10))) { - link->last_activity = now_tb - (DELTA_TIME_NS / (TIMEBASE_NS / 10)); - } - DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "etcp_loadbalancer_update_after_send: updated last_activity from %llu to %llu", - (unsigned long long)old_activity, (unsigned long long)link->last_activity); -} \ No newline at end of file diff --git a/!/etcp_loadbalancer.h b/!/etcp_loadbalancer.h deleted file mode 100755 index 7e46d309..00000000 --- a/!/etcp_loadbalancer.h +++ /dev/null @@ -1,20 +0,0 @@ -// etcp_loadbalancer.h - Load Balancer for ETCP Channels -#ifndef ETCP_LOADBALANCER_H -#define ETCP_LOADBALANCER_H - -#include "etcp.h" - -#ifdef __cplusplus -extern "C" { -#endif - -// Functions -struct ETCP_LINK* etcp_loadbalancer_select_link(struct ETCP_CONN* etcp); - -// Add more as needed (e.g., update bandwidth) - -#ifdef __cplusplus -} -#endif - -#endif // ETCP_LOADBALANCER_H \ No newline at end of file diff --git a/!/fix.patch b/!/fix.patch deleted file mode 100755 index d26c3d66..00000000 --- a/!/fix.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- etcp_connections.c.backup -+++ etcp_connections.c -@@ -409,6 +409,7 @@ - uint8_t enc_buf[1600]; - size_t enc_buf_len; - dgram->timestamp=get_current_timestamp(); -+ printf("[ETCP DEBUG] About to encrypt: data_len=%d, noencrypt_len=%d, len=%d\\n", dgram->data_len, dgram->noencrypt_len, len); - - // DUMP: Show packet before encryption - dump_packet_bytes("BEFORE ENCRYPT", dgram->data, dgram->data_len); diff --git a/!/packet_dump.h b/!/packet_dump.h deleted file mode 100755 index 7c15f3d0..00000000 --- a/!/packet_dump.h +++ /dev/null @@ -1,42 +0,0 @@ -#include -#include -#include -#include -#include - -// Packet dump function for debugging -static void dump_packet(const char* direction, const uint8_t* data, size_t len, struct sockaddr_storage* addr) { - printf("[DUMP] %s packet: %zd bytes ", direction, len); - - // Print address if provided - if (addr) { - if (addr->ss_family == AF_INET) { - struct sockaddr_in* sin = (struct sockaddr_in*)addr; - printf("to/from %s:%d ", - inet_ntoa(sin->sin_addr), - ntohs(sin->sin_port)); - } - } - - // Print first 64 bytes - printf("data: "); - for (size_t i = 0; i < len && i < 64; i++) { - printf("%02x", data[i]); - if (i % 4 == 3) printf(" "); - } - if (len > 64) printf("..."); - - // If it's INIT packet, parse fields - if (len > 0 && data[0] == 0x02) { // ETCP_INIT_REQUEST - if (len >= 15) { // Minimum INIT size: code(1) + node_id(8) + mtu(2) + keepalive(2) + pubkey(2 at least) - uint64_t node_id = 0; - memcpy(&node_id, data + 1, 8); - uint16_t mtu = (data[9] << 8) | data[10]; - uint16_t keepalive = (data[11] << 8) | data[12]; - printf(" | INIT: node_id=%llu mtu=%d keepalive=%d", - (unsigned long long)node_id, mtu, keepalive); - } - } - - printf("\n"); -} \ No newline at end of file diff --git a/!/pkt_normalizer.c b/!/pkt_normalizer.c deleted file mode 100755 index cfc1cfc2..00000000 --- a/!/pkt_normalizer.c +++ /dev/null @@ -1,604 +0,0 @@ -#include "pkt_normalizer.h" -#include "../lib/u_async.h" -#include -#include -#include -#include -static void packer_handler(struct ll_queue* q, struct ll_entry* unused, void* arg); -static void unpacker_handler(struct ll_queue* q, struct ll_entry* unused, void* arg); -static void send_buf(struct pn_struct* pn); -static int get_header(uint8_t* header, size_t L); -/* Calculate fragment size from mtu */ -struct pn_struct* pkt_normalizer_init(uasync_t* ua, int is_packer, int mtu) { - struct pn_struct* pn = malloc(sizeof(struct pn_struct)); - if (!pn) return NULL; - pn->ua = ua; - pn->input = queue_new(ua, NULL); // No memory pool for now - if (!pn->input) { - free(pn); - return NULL; - } - pn->output = queue_new(ua, NULL); // No memory pool for now - if (!pn->output) { - queue_free(pn->input); - free(pn); - return NULL; - } - pn->is_packer = is_packer; - if (is_packer) { - // Calculate fragment size from mtu: fragment = mtu - 100 - int fragment_size = mtu - ETCP_OVERHEAD; - if (fragment_size < 256) fragment_size = 256; // Minimum sane value - pn->u.packer.cap = fragment_size; - pn->u.packer.buf = malloc(pn->u.packer.cap); - if (!pn->u.packer.buf) { - queue_free(pn->input); - queue_free(pn->output); - free(pn); - return NULL; - } - pn->u.packer.len = 0; - pn->u.packer.error_count = 0; - queue_set_callback(pn->input, packer_handler, pn); - } else { - pn->u.unpacker.buf = NULL; - pn->u.unpacker.len = 0; - pn->u.unpacker.total_len = 0; - pn->u.unpacker.cap = 0; - pn->u.unpacker.error_count = 0; - queue_set_callback(pn->input, unpacker_handler, pn); - } - return pn; -} - -void pkt_normalizer_deinit(struct pn_struct* pn) { - if (!pn) return; - queue_free(pn->input); - queue_free(pn->output); - if (pn->is_packer) { - free(pn->u.packer.buf); - } else { - free(pn->u.unpacker.buf); - free(pn->u.unpacker.service_buf); - } - free(pn); -} -struct pkt_normalizer_pair* pkt_normalizer_pair_init(uasync_t* ua, int mtu) { - struct pkt_normalizer_pair* pair = malloc(sizeof(struct pkt_normalizer_pair)); - if (!pair) return NULL; - pair->packer = pkt_normalizer_init(ua, 1, mtu); - if (!pair->packer) { - free(pair); - return NULL; - } - pair->unpacker = pkt_normalizer_init(ua, 0, mtu); - if (!pair->unpacker) { - pkt_normalizer_deinit(pair->packer); - free(pair); - return NULL; - } - return pair; -} -void pkt_normalizer_pair_deinit(struct pkt_normalizer_pair* pair) { - if (!pair) return; - pkt_normalizer_deinit(pair->packer); - pkt_normalizer_deinit(pair->unpacker); - free(pair); -} -static int get_header(uint8_t* header, size_t L) { - if (L > 1535) return -1; - if (L <= 239) { - header[0] = (uint8_t)L; - return 1; - } else { - uint8_t high = (uint8_t)(L >> 8); - if (high > 5) return -1; - header[0] = 0xF0 + high; - header[1] = (uint8_t)(L & 0xFF); - return 2; - } -} -/* Сбросить состояние сборки фрагментов */ -static void reset_fragment_state(struct pn_struct* pn) { - if (!pn->is_packer) { - pn->u.unpacker.len = 0; - pn->u.unpacker.total_len = 0; - pn->u.unpacker.in_fragment = 0; - } -} -/* Таймаут для сборки фрагментов */ -static void send_buf(struct pn_struct* pn) { - if (pn->u.packer.len == 0) return; - size_t payload_len = pn->u.packer.len; - struct ll_entry* out = queue_entry_new(2 + payload_len); - if (!out) return; - uint8_t* d = ll_entry_data(out); - *(uint16_t*)d = (uint16_t)payload_len; - memcpy(d + 2, pn->u.packer.buf, payload_len); - queue_entry_put(pn->output, out); - pn->u.packer.len = 0; -} -static void packer_handler(struct ll_queue* q, struct ll_entry* unused, void* arg) { - (void)unused; - struct pn_struct* pn = arg; - size_t max = (size_t)1400; - struct ll_entry* entry = queue_entry_get(q); - if (!entry) { - queue_resume_callback(q); - return; - } - size_t L = ll_entry_size(entry); - uint8_t* data = ll_entry_data(entry); - uint8_t header[2]; - int hsize = get_header(header, L); - size_t needed = (size_t)hsize + L; - if (hsize < 0 || needed > max) { - // Fragment - if (pn->u.packer.len > 0) { - send_buf(pn); - } - size_t remaining = L; - size_t pos = 0; - int fragment_count = 0; - while (remaining > 0) { - size_t chunk; - size_t payload_len; - struct ll_entry* fout; - uint8_t* fd; - uint8_t frag_header[2]; - int frag_hsize; - if (fragment_count == 0) { - // Первый фрагмент: FF + общая длина (2 байта) - chunk = remaining > (max - 5) ? (max - 5) : remaining; // 2+1+2+chunk <= max - payload_len = 1 + 2 + chunk; // FF + total_len + data - fout = queue_entry_new(2 + payload_len); - if (!fout) { - break; - } - fd = ll_entry_data(fout); - *(uint16_t*)fd = (uint16_t)payload_len; - fd += 2; - *fd++ = 0xFF; - *fd++ = (uint8_t)(L >> 8); // старший байт общей длины - *fd++ = (uint8_t)(L & 0xFF); // младший байт общей длины - } else { - // Не первый фрагмент - if (remaining <= max - 3) { - // Это последний возможный фрагмент (помещается в один пакет с префиксом FE) - // Пытаемся отправить как обычный блок - frag_hsize = get_header(frag_header, remaining); - if (frag_hsize > 0 && (size_t)frag_hsize + remaining + 2 <= max) { - // Успешно: обычный блок - payload_len = frag_hsize + remaining; - chunk = remaining; - fout = queue_entry_new(2 + payload_len); - if (!fout) { - break; - } - fd = ll_entry_data(fout); - *(uint16_t*)fd = (uint16_t)payload_len; - fd += 2; - memcpy(fd, frag_header, frag_hsize); - fd += frag_hsize; - } else { - // Не удалось отправить как обычный блок - разбиваем на 2 фрагмента - // 1. FE фрагмент с частью данных - // 2. Обычный блок с оставшимися данными - // Находим максимальный размер для FE фрагмента - size_t max_fe_data = max - 3; // 2 байта длины + 0xFE - if (max_fe_data > remaining) { - max_fe_data = remaining; - } - // Пробуем различные размеры, начиная с максимального - size_t fe_data_size = 0; - for (size_t try_fe = max_fe_data; try_fe > 0; try_fe--) { - size_t try_regular = remaining - try_fe; - if (try_regular == 0) continue; // Нужно отправить что-то как обычный блок - uint8_t test_header[2]; - int hsize = get_header(test_header, try_regular); - if (hsize <= 0) continue; - if ((size_t)hsize + try_regular + 2 <= max) { - fe_data_size = try_fe; - break; - } - } - if (fe_data_size == 0) { - // Не удалось найти разбиение - ошибка - pn->u.packer.error_count++; - // Отправляем как FE (нарушение спецификации, но это крайний случай) - chunk = remaining > (max - 3) ? (max - 3) : remaining; - payload_len = 1 + chunk; // FE + data - fout = queue_entry_new(2 + payload_len); - if (!fout) break; - fd = ll_entry_data(fout); - *(uint16_t*)fd = (uint16_t)payload_len; - fd += 2; - *fd++ = 0xFE; - } else { - // Отправляем FE фрагмент - chunk = fe_data_size; - payload_len = 1 + chunk; // FE + data - fout = queue_entry_new(2 + payload_len); - if (!fout) break; - fd = ll_entry_data(fout); - *(uint16_t*)fd = (uint16_t)payload_len; - fd += 2; - *fd++ = 0xFE; - memcpy(fd, data + pos, chunk); - queue_entry_put(pn->output, fout); - pos += chunk; - remaining -= chunk; - fragment_count++; - // Обновляем оставшиеся данные для обычного блока - // (цикл продолжит обработку на следующей итерации) - continue; - } - } - } else { - // Промежуточный фрагмент, отправляем как FE - chunk = remaining > (max - 3) ? (max - 3) : remaining; - payload_len = 1 + chunk; // FE + data - fout = queue_entry_new(2 + payload_len); - if (!fout) { - break; - } - fd = ll_entry_data(fout); - *(uint16_t*)fd = (uint16_t)payload_len; - fd += 2; - *fd++ = 0xFE; - } - } - memcpy(fd, data + pos, chunk); - queue_entry_put(pn->output, fout); - pos += chunk; - remaining -= chunk; - fragment_count++; - } - } else { - if (pn->u.packer.len + needed > max) { - send_buf(pn); - } - // Add to buffer - uint8_t* p = pn->u.packer.buf + pn->u.packer.len; - memcpy(p, header, (size_t)hsize); - memcpy(p + hsize, data, L); - pn->u.packer.len += needed; - } - queue_entry_free(entry); - if (pn->u.packer.len > 0) { - send_buf(pn); - } - queue_resume_callback(q); -} -void pkt_normalizer_set_service_callback(struct pn_struct* pn, pkt_normalizer_service_callback_t callback, void* user_data) { - if (!pn) return; - pn->service_callback = callback; - pn->service_callback_user_data = user_data; -} -void pkt_normalizer_reset_service_state(struct pn_struct* pn) { - if (!pn || pn->is_packer) return; - if (pn->u.unpacker.in_service) { - // Deliver pending service packet - if (pn->service_callback) { - pn->service_callback(pn->service_callback_user_data, - pn->u.unpacker.service_type, - pn->u.unpacker.service_buf, - pn->u.unpacker.service_len); - } - free(pn->u.unpacker.service_buf); - pn->u.unpacker.service_buf = NULL; - pn->u.unpacker.service_len = 0; - pn->u.unpacker.service_cap = 0; - pn->u.unpacker.in_service = 0; - } -} -void pkt_normalizer_reset_state(struct pn_struct* pn) { - if (!pn) return; - if (pn->is_packer) { - // Flush packer buffer - if (pn->u.packer.len > 0) { - send_buf(pn); - } - } else { - // Reset unpacker fragment state - reset_fragment_state(pn); - // Reset service state - pkt_normalizer_reset_service_state(pn); - } -} -int pkt_normalizer_send_service(struct pn_struct* pn, uint8_t type, const void* data, size_t len) { - if (!pn || !pn->is_packer) return -1; - // Service packet ограничен 256 байтами всего - if (len > 256 - 2) return -1; // 2 байта на заголовок (0xFC + тип) - size_t max = (size_t)1400; - if (max < 3) return -1; - // Размер сервисного пакета: 2 байта длины + 1 байт 0xFC + 1 байт тип + данные - // Если не помещается в один фрагмент - используем продолжение 0xFD - size_t total_service_len = 1 + 1 + len; // 0xFC + type + data - size_t pos = 0; - while (total_service_len > 0) { - // Определяем размер куска для этого пакета - size_t chunk; - uint8_t service_header; - if (pos == 0) { - // Первый пакет: 0xFC + тип + часть данных - // Максимум данных в первом пакете: max - 2 (длина) - 2 (0xFC+тип) - size_t max_first_data = max - 4; - if (max_first_data > len) max_first_data = len; - chunk = max_first_data; - service_header = 0xFC; - } else { - // Продолжение: 0xFD + данные - // Максимум данных: max - 2 (длина) - 1 (0xFD) - size_t max_cont_data = max - 3; - size_t remaining = len - pos; - if (max_cont_data > remaining) max_cont_data = remaining; - chunk = max_cont_data; - service_header = 0xFD; - } - if (chunk == 0) break; - size_t payload_len = 1 + chunk + (pos == 0 ? 1 : 0); // +1 байт типа для первого пакета - struct ll_entry* entry = queue_entry_new(2 + payload_len); - if (!entry) return -1; - uint8_t* d = ll_entry_data(entry); - *(uint16_t*)d = (uint16_t)payload_len; - d += 2; - *d++ = service_header; - if (pos == 0) { - *d++ = type; - } - memcpy(d, (const uint8_t*)data + pos, chunk); - queue_entry_put(pn->output, entry); - pos += chunk; - total_service_len -= chunk + (pos == chunk ? 2 : 1); // корректно вычитаем заголовки - } - return 0; -} -int pkt_normalizer_get_error_count(const struct pn_struct* pn) { - if (!pn) return 0; - if (pn->is_packer) { - return pn->u.packer.error_count; - } - return pn->u.unpacker.error_count; -} -void pkt_normalizer_reset_error_count(struct pn_struct* pn) { - if (!pn) return; - if (pn->is_packer) { - pn->u.packer.error_count = 0; - } else { - pn->u.unpacker.error_count = 0; - } -} -void pkt_normalizer_flush(struct pn_struct* pn) { - if (!pn || !pn->is_packer) return; - if (pn->u.packer.len > 0) { - send_buf(pn); - } -} -static void unpacker_handler(struct ll_queue* q, struct ll_entry* unused, void* arg) { - (void)unused; - struct pn_struct* pn = arg; - while (queue_entry_count(q) > 0) { - struct ll_entry* entry = queue_entry_get(q); - uint8_t* data = ll_entry_data(entry); - size_t total = ll_entry_size(entry); - uint16_t payload_len = *(uint16_t*)data; - if (total != 2 + (size_t)payload_len) { - queue_entry_free(entry); - continue; - } - uint8_t* cg = data + 2; - size_t cg_pos = 0; - size_t cg_len = (size_t)payload_len; - while (cg_pos < cg_len) { - uint8_t byte = cg[cg_pos++]; - if (byte == 0xFF) { - /* Начало нового фрагментированного пакета */ - if (pn->u.unpacker.in_fragment) { - /* Не завершен предыдущий фрагмент - ошибка */ - pn->u.unpacker.error_count++; - reset_fragment_state(pn); - } - /* Проверить, что есть 2 байта для общей длины */ - if (cg_pos + 2 > cg_len) { - pn->u.unpacker.error_count++; - goto err; - } - /* Прочитать общую длину */ - uint16_t total_len = ((uint16_t)cg[cg_pos] << 8) | cg[cg_pos + 1]; - cg_pos += 2; - size_t chunk_len = cg_len - cg_pos; - /* Выделить буфер при необходимости */ - size_t new_len = chunk_len; - if (new_len > pn->u.unpacker.cap) { - size_t new_cap = pn->u.unpacker.cap ? pn->u.unpacker.cap * 2 : 4096; - if (new_cap < new_len) new_cap = new_len; - pn->u.unpacker.buf = realloc(pn->u.unpacker.buf, new_cap); - pn->u.unpacker.cap = new_cap; - } - memcpy(pn->u.unpacker.buf, cg + cg_pos, chunk_len); - pn->u.unpacker.len = chunk_len; - pn->u.unpacker.total_len = total_len; - pn->u.unpacker.in_fragment = 1; - cg_pos += chunk_len; - /* Проверить, не собрали ли уже весь пакет */ - if (pn->u.unpacker.len >= pn->u.unpacker.total_len) { - if (pn->u.unpacker.len == pn->u.unpacker.total_len) { - struct ll_entry* out = queue_entry_new(pn->u.unpacker.total_len); - if (out) { - memcpy(ll_entry_data(out), pn->u.unpacker.buf, pn->u.unpacker.total_len); - queue_entry_put(pn->output, out); - } - } else { - /* Слишком много данных - ошибка */ - pn->u.unpacker.error_count++; - } - reset_fragment_state(pn); - } - continue; - } - if (byte == 0xFE) { - /* Продолжение фрагментированного пакета */ - if (!pn->u.unpacker.in_fragment) { - /* Не было начала фрагмента - ошибка */ - pn->u.unpacker.error_count++; - goto err; - } - size_t chunk_len = cg_len - cg_pos; - size_t new_len = pn->u.unpacker.len + chunk_len; - if (new_len > pn->u.unpacker.cap) { - size_t new_cap = pn->u.unpacker.cap ? pn->u.unpacker.cap * 2 : 4096; - if (new_cap < new_len) new_cap = new_len; - pn->u.unpacker.buf = realloc(pn->u.unpacker.buf, new_cap); - pn->u.unpacker.cap = new_cap; - } - memcpy(pn->u.unpacker.buf + pn->u.unpacker.len, cg + cg_pos, chunk_len); - pn->u.unpacker.len = new_len; - cg_pos += chunk_len; - /* Проверить, не собрали ли уже весь пакет */ - if (pn->u.unpacker.len >= pn->u.unpacker.total_len) { - if (pn->u.unpacker.len == pn->u.unpacker.total_len) { - struct ll_entry* out = queue_entry_new(pn->u.unpacker.total_len); - if (out) { - memcpy(ll_entry_data(out), pn->u.unpacker.buf, pn->u.unpacker.total_len); - queue_entry_put(pn->output, out); - } - } else { - /* Слишком много данных - ошибка */ - pn->u.unpacker.error_count++; - } - reset_fragment_state(pn); - } - continue; - } - if (byte == 0xFC || byte == 0xFD) { - /* Service packet */ - if (byte == 0xFC) { - /* Start of service packet */ - if (pn->u.unpacker.in_service) { - /* Previous service packet finished - deliver it */ - if (pn->service_callback) { - pn->service_callback(pn->service_callback_user_data, - pn->u.unpacker.service_type, - pn->u.unpacker.service_buf, - pn->u.unpacker.service_len); - } - free(pn->u.unpacker.service_buf); - pn->u.unpacker.service_buf = NULL; - pn->u.unpacker.service_len = 0; - pn->u.unpacker.service_cap = 0; - pn->u.unpacker.in_service = 0; - } - /* Read service type */ - if (cg_pos >= cg_len) goto err; - uint8_t service_type = cg[cg_pos++]; - pn->u.unpacker.service_type = service_type; - pn->u.unpacker.in_service = 1; - pn->u.unpacker.service_len = 0; - } else { - /* 0xFD - continuation */ - if (!pn->u.unpacker.in_service) { - /* No service packet started - error */ - pn->u.unpacker.error_count++; - goto err; - } - } - /* Read data */ - size_t data_len = cg_len - cg_pos; - if (data_len > 0) { - size_t new_len = pn->u.unpacker.service_len + data_len; - if (new_len > 256) { - /* Service packet too long - error */ - pn->u.unpacker.error_count++; - free(pn->u.unpacker.service_buf); - pn->u.unpacker.service_buf = NULL; - pn->u.unpacker.service_len = 0; - pn->u.unpacker.service_cap = 0; - pn->u.unpacker.in_service = 0; - goto err; - } - if (new_len > pn->u.unpacker.service_cap) { - size_t new_cap = pn->u.unpacker.service_cap ? pn->u.unpacker.service_cap * 2 : 256; - if (new_cap < new_len) new_cap = new_len; - if (new_cap > 256) new_cap = 256; - uint8_t* new_buf = realloc(pn->u.unpacker.service_buf, new_cap); - if (!new_buf) { - pn->u.unpacker.error_count++; - goto err; - } - pn->u.unpacker.service_buf = new_buf; - pn->u.unpacker.service_cap = new_cap; - } - memcpy(pn->u.unpacker.service_buf + pn->u.unpacker.service_len, cg + cg_pos, data_len); - pn->u.unpacker.service_len = new_len; - cg_pos += data_len; - } - /* Check if this is the end of service packet (end of payload) */ - if (cg_pos >= cg_len) { - /* End of current payload, but service packet may continue in next transport packet */ - continue; - } else { - /* There is more data in this payload after service packet - error */ - pn->u.unpacker.error_count++; - free(pn->u.unpacker.service_buf); - pn->u.unpacker.service_buf = NULL; - pn->u.unpacker.service_len = 0; - pn->u.unpacker.service_cap = 0; - pn->u.unpacker.in_service = 0; - goto err; - } - } - /* Обычная запись (не фрагмент) */ - size_t L; - if (byte <= 0xEF) { - L = byte; - } else if (byte >= 0xF0 && byte <= 0xF5) { - if (cg_pos >= cg_len) goto err; - uint8_t ext = cg[cg_pos++]; - L = ((size_t)(byte - 0xF0) << 8) | ext; - } else { - /* Недопустимый байт */ - goto err; - } - if (cg_pos + L > cg_len) goto err; - if (pn->u.unpacker.in_fragment) { - /* Это последний фрагмент в виде обычной записи */ - size_t new_len = pn->u.unpacker.len + L; - if (new_len > pn->u.unpacker.cap) { - size_t new_cap = pn->u.unpacker.cap ? pn->u.unpacker.cap * 2 : 4096; - if (new_cap < new_len) new_cap = new_len; - pn->u.unpacker.buf = realloc(pn->u.unpacker.buf, new_cap); - pn->u.unpacker.cap = new_cap; - } - memcpy(pn->u.unpacker.buf + pn->u.unpacker.len, cg + cg_pos, L); - pn->u.unpacker.len = new_len; - cg_pos += L; - /* Проверить, собрали ли весь пакет */ - if (pn->u.unpacker.len >= pn->u.unpacker.total_len) { - if (pn->u.unpacker.len == pn->u.unpacker.total_len) { - struct ll_entry* out = queue_entry_new(pn->u.unpacker.total_len); - if (out) { - memcpy(ll_entry_data(out), pn->u.unpacker.buf, pn->u.unpacker.total_len); - queue_entry_put(pn->output, out); - } - } else { - /* Слишком много данных - ошибка */ - pn->u.unpacker.error_count++; - } - reset_fragment_state(pn); - } - } else { - /* Обычная запись (не часть фрагмента) */ - struct ll_entry* out = queue_entry_new(L); - if (out) { - memcpy(ll_entry_data(out), cg + cg_pos, L); - queue_entry_put(pn->output, out); - } - cg_pos += L; - } - } - err: - queue_entry_free(entry); - } - queue_resume_callback(q); -} diff --git a/!/pkt_normalizer.h b/!/pkt_normalizer.h deleted file mode 100755 index f709bf52..00000000 --- a/!/pkt_normalizer.h +++ /dev/null @@ -1,75 +0,0 @@ -// pkt_normalizer.h -#ifndef PKT_NORMALIZER_H -#define PKT_NORMALIZER_H - -#include "ll_queue.h" -#include "../lib/u_async.h" -#include - -/* Default fragment reassembly timeout in uasync timebase units (0.1 ms) */ -#ifndef PKT_NORMALIZER_FRAGMENT_TIMEOUT -#define PKT_NORMALIZER_FRAGMENT_TIMEOUT 5000 /* 500 ms */ -#endif - -/* ETCP overhead for calculating fragment size from MTU */ -#define ETCP_OVERHEAD 100 // Reserve 100 bytes for headers, crypto, etc.*/ - -/* Service packet callback type */ -typedef void (*pkt_normalizer_service_callback_t)(void* user_data, uint8_t type, const uint8_t* data, size_t len); - -struct pn_struct { - struct ll_queue* input; - struct ll_queue* output; - uasync_t* ua; - int is_packer; - union { - struct { - uint8_t* buf; - size_t len; - size_t cap; - int error_count; - } packer; - struct { - uint8_t* buf; /* буфер для сборки фрагментов */ - size_t len; /* текущая накопленная длина */ - size_t total_len; /* ожидаемая общая длина из первого фрагмента */ - size_t cap; /* ёмкость буфера */ - int error_count; /* счетчик ошибок сборки */ - int in_fragment; /* флаг: идет сборка фрагментов (1) или нет (0) */ - /* Service packet reassembly */ - uint8_t* service_buf; /* буфер для сборки сервисных пакетов */ - size_t service_len; /* текущая накопленная длина сервисного пакета */ - size_t service_cap; /* ёмкость буфера сервисного пакета */ - uint8_t service_type; /* тип сервисного пакета */ - int in_service; /* флаг: идет сборка сервисного пакета (1) или нет (0) */ - } unpacker; - } u; - /* Service packet callback */ - pkt_normalizer_service_callback_t service_callback; - void* service_callback_user_data; -}; - -struct pkt_normalizer_pair { - struct pn_struct* packer; - struct pn_struct* unpacker; -}; - -struct pn_struct* pkt_normalizer_init(uasync_t* ua, int is_packer, int mtu); // 1 for packer, 0 for unpacker, mtu for fragment size calculation -void pkt_normalizer_deinit(struct pn_struct* pn); - -struct pkt_normalizer_pair* pkt_normalizer_pair_init(uasync_t* ua, int mtu); -void pkt_normalizer_pair_deinit(struct pkt_normalizer_pair* pair); - -/* Error handling */ -int pkt_normalizer_get_error_count(const struct pn_struct* pn); -void pkt_normalizer_reset_error_count(struct pn_struct* pn); - -/* Flush internal buffer (packer only) */ -void pkt_normalizer_flush(struct pn_struct* pn); - -int pkt_normalizer_send_service(struct pn_struct* pn, uint8_t type, const void* data, size_t len); -void pkt_normalizer_set_service_callback(struct pn_struct* pn, pkt_normalizer_service_callback_t callback, void* user_data); -void pkt_normalizer_reset_service_state(struct pn_struct* pn); -void pkt_normalizer_reset_state(struct pn_struct* pn); - -#endif // PKT_NORMALIZER_H diff --git a/!/routing.h b/!/routing.h deleted file mode 100755 index 3302e7e7..00000000 --- a/!/routing.h +++ /dev/null @@ -1,87 +0,0 @@ -#ifndef ROUTING_H -#define ROUTING_H -#include -#include -#include - -// Forward declarations -struct ETCP_CONNECTIONS; - -// Типы маршрутов -typedef enum { - ROUTE_TYPE_STATIC = 0, - ROUTE_TYPE_DYNAMIC = 1, - ROUTE_TYPE_LOCAL = 2, - ROUTE_TYPE_LEARNED = 3 -} route_type_t; - -// Флаги маршрута -typedef enum { - ROUTE_FLAG_ACTIVE = (1 << 0), - ROUTE_FLAG_VALIDATED = (1 << 1), - ROUTE_FLAG_ADVERTISED = (1 << 2), - ROUTE_FLAG_LEARNED = (1 << 3) -} route_flags_t; - -// Расширенные метрики маршрута -struct route_metrics { - uint32_t bandwidth_kbps; - uint16_t packet_loss_rate; - uint16_t latency_ms; - uint8_t hop_count; - uint64_t last_updated; -}; - -// Расширенная запись маршрута -struct route_entry { - uint32_t network; - uint8_t prefix_length; - uint32_t next_hop_ip; - struct ETCP_SOCKET* next_hop; - route_type_t type; - uint8_t flags; - struct route_metrics metrics; - uint64_t created_time; - uint64_t last_update; - uint64_t last_used; -}; - -// Таблица маршрутизации -struct routing_table { - struct route_entry *entries; - size_t count; - size_t capacity; - uint32_t *dynamic_subnets; - size_t dynamic_subnet_count; - uint32_t *local_subnets; - size_t local_subnet_count; - struct { - uint64_t total_routes; - uint64_t static_routes; - uint64_t dynamic_routes; - uint64_t local_routes; - uint64_t learned_routes; - uint64_t routes_added; - uint64_t routes_deleted; - uint64_t lookup_count; - uint64_t hit_count; - uint64_t routes_lookup_hits; - uint64_t routes_lookup_misses; - uint64_t validation_failures; - } stats; -}; - -struct routing_table *routing_table_create(void); -void routing_table_destroy(struct routing_table *table); -bool routing_table_insert(struct routing_table *table, const struct route_entry *entry); -bool routing_table_delete(struct routing_table *table, uint32_t network, uint8_t prefix_length, uint32_t source_node_id); -bool routing_table_lookup(struct routing_table *table, uint32_t dest_ip, struct route_entry *best_route); -bool routing_validate_route(struct routing_table *table, uint32_t network, uint8_t prefix_length, route_type_t route_type); -bool routing_add_dynamic_subnet(struct routing_table *table, uint32_t network, uint8_t prefix_length); -bool routing_add_local_subnet(struct routing_table *table, uint32_t network, uint8_t prefix_length); -bool routing_get_all_routes(const struct routing_table *table, uint32_t network, uint8_t prefix_length, struct route_entry **routes, size_t *count); -void routing_table_print(const struct routing_table *table); -const char* route_type_to_string(route_type_t type); -char* ip_to_string(uint32_t ip, char *buffer); - -#endif // ROUTING_H diff --git a/!/secure_channel.c b/!/secure_channel.c deleted file mode 100755 index 4749a3a9..00000000 --- a/!/secure_channel.c +++ /dev/null @@ -1,388 +0,0 @@ -/* sc_lib.c - Secure Channel library implementation using TinyCrypt */ - -#include "secure_channel.h" -#include "../tinycrypt/lib/include/tinycrypt/ecc.h" -#include "../tinycrypt/lib/include/tinycrypt/ecc_dh.h" -#include "../tinycrypt/lib/include/tinycrypt/aes.h" -#include "../tinycrypt/lib/include/tinycrypt/ccm_mode.h" -#include "../tinycrypt/lib/include/tinycrypt/constants.h" -#include "../tinycrypt/lib/include/tinycrypt/ecc_platform_specific.h" -#include "../tinycrypt/lib/include/tinycrypt/sha256.h" -#include -#include -#include -#include -#include -#include - -// Simple debug macros -#define DEBUG_CATEGORY_CRYPTO 1 -#define DEBUG_ERROR(category, fmt, ...) fprintf(stderr, "ERROR: " fmt "\n", ##__VA_ARGS__) -#define DEBUG_INFO(category, fmt, ...) fprintf(stdout, "INFO: " fmt "\n", ##__VA_ARGS__) -#include -#include -#include "crc32.h" - -static const struct uECC_Curve_t *curve = NULL; -static uint8_t sc_urandom_seed[8] = {0}; -static int sc_urandom_initialized = 0; - -static void sc_init_random_seed(void) -{ - int fd = open("/dev/urandom", O_RDONLY); - if (fd >= 0) { - ssize_t ret = read(fd, sc_urandom_seed, 8); - close(fd); - if (ret == 8) { - sc_urandom_initialized = 1; - } - } -} - - -static int sc_rng(uint8_t *dest, unsigned size) -{ - int fd = open("/dev/urandom", O_RDONLY); - if (fd < 0) { - return 0; - } - - ssize_t ret = read(fd, dest, size); - close(fd); - if (ret != size) { - return 0; - } - - /* Mix in PID and microtime for additional entropy */ - pid_t pid = getpid(); - struct timeval tv; - gettimeofday(&tv, NULL); - - for (unsigned i = 0; i < size; i++) { - dest[i] ^= ((pid >> (i % (sizeof(pid) * 8))) & 0xFF); - dest[i] ^= ((tv.tv_sec >> (i % (sizeof(tv.tv_sec) * 8))) & 0xFF); - dest[i] ^= ((tv.tv_usec >> (i % (sizeof(tv.tv_usec) * 8))) & 0xFF); - } - - return 1; -} - -static int sc_validate_key(const uint8_t *public_key) -{ - if (!curve) { - curve = uECC_secp256r1(); - } - int result = uECC_valid_public_key(public_key, curve); - DEBUG_INFO(DEBUG_CATEGORY_CRYPTO, "sc_validate_key: uECC_valid_public_key returned %d", result); - return result; -} - -sc_status_t sc_generate_keypair(struct SC_MYKEYS *pk) -{ - if (!pk) { - return SC_ERR_INVALID_ARG; - } - - if (!curve) { - curve = uECC_secp256r1(); - } - - /* Set custom RNG function */ - uECC_set_rng(sc_rng); - - if (!uECC_make_key(pk->public_key, pk->private_key, curve)) { - return SC_ERR_CRYPTO; - } - return SC_OK; -} - -// Конвертация hex строки в бинарный формат -static int hex_to_binary(const char *hex_str, uint8_t *binary, size_t binary_len) { - if (!hex_str || !binary || strlen(hex_str) != binary_len * 2) return -1; - - for (size_t i = 0; i < binary_len; i++) { - unsigned int byte; - if (sscanf(hex_str + i * 2, "%2x", &byte) != 1) return -1; - binary[i] = (uint8_t)byte; - } - return 0; -} - -sc_status_t sc_init_local_keys(struct SC_MYKEYS *mykeys, const char *public_key, const char *private_key) { - if (!mykeys || !public_key || !private_key) { - DEBUG_ERROR(DEBUG_CATEGORY_CRYPTO, "sc_init_local_keys: invalid arguments"); - return SC_ERR_INVALID_ARG; - } - - if (!curve) { - curve = uECC_secp256r1(); - } - - DEBUG_INFO(DEBUG_CATEGORY_CRYPTO, "sc_init_local_keys: public_key len=%zu, private_key len=%zu", - strlen(public_key), strlen(private_key)); - - /* Convert hex to binary first */ - if (hex_to_binary(public_key, mykeys->public_key, SC_PUBKEY_SIZE)) { - DEBUG_ERROR(DEBUG_CATEGORY_CRYPTO, "sc_init_local_keys: failed to convert public key from hex"); - return SC_ERR_INVALID_ARG; - } - if (hex_to_binary(private_key, mykeys->private_key, SC_PRIVKEY_SIZE)) { - DEBUG_ERROR(DEBUG_CATEGORY_CRYPTO, "sc_init_local_keys: failed to convert private key from hex"); - return SC_ERR_INVALID_ARG; - } - - /* Validate the converted binary public key */ - if (sc_validate_key(mykeys->public_key) != 0) { - DEBUG_ERROR(DEBUG_CATEGORY_CRYPTO, "sc_init_local_keys: public key validation failed"); - return SC_ERR_INVALID_ARG; - } - - DEBUG_INFO(DEBUG_CATEGORY_CRYPTO, "sc_init_local_keys: keys initialized successfully"); - return SC_OK; -} - -sc_status_t sc_init_ctx(sc_context_t *ctx, struct SC_MYKEYS *mykeys) { - - ctx->pk=mykeys; - ctx->initialized = 1; - ctx->peer_key_set = 0; - ctx->session_ready = 0; - ctx->tx_counter = 0; - ctx->rx_counter = 0; - - return SC_OK; -} - -sc_status_t sc_set_peer_public_key(sc_context_t *ctx, const char *peer_public_key_h, int mode) { - uint8_t shared_secret[SC_SHARED_SECRET_SIZE]; - uint8_t peer_public_key[SC_PUBKEY_SIZE]; - - if (mode) { - if (hex_to_binary(peer_public_key_h, peer_public_key, SC_PUBKEY_SIZE)) { - DEBUG_ERROR(DEBUG_CATEGORY_CRYPTO, "sc_set_peer_public_key: invalid hex key format"); - return SC_ERR_INVALID_ARG; - } - } - else memcpy(peer_public_key, peer_public_key_h, SC_PUBKEY_SIZE); - - if (!ctx) { - DEBUG_ERROR(DEBUG_CATEGORY_CRYPTO, "sc_set_peer_public_key: invalid ctx"); - return SC_ERR_INVALID_ARG; - } - - if (!ctx->initialized) { - DEBUG_ERROR(DEBUG_CATEGORY_CRYPTO, "sc_set_peer_public_key: ctx not initialized"); - return SC_ERR_NOT_INITIALIZED; - } - - if (!curve) { - curve = uECC_secp256r1(); - } - - /* Validate peer public key */ - if (sc_validate_key(peer_public_key) != 0) { - DEBUG_ERROR(DEBUG_CATEGORY_CRYPTO, "sc_set_peer_public_key: invalid key"); - return SC_ERR_INVALID_ARG; - } - - /* Compute shared secret using ECDH */ - if (!ctx->pk) { - DEBUG_ERROR(DEBUG_CATEGORY_CRYPTO, "sc_set_peer_public_key: no private key"); - return SC_ERR_NOT_INITIALIZED; - } - if (!uECC_shared_secret(peer_public_key, ctx->pk->private_key, - shared_secret, curve)) { - DEBUG_ERROR(DEBUG_CATEGORY_CRYPTO, "sc_set_peer_public_key: shared secret error"); - return SC_ERR_CRYPTO; - } - - /* Derive session key from shared secret (simple copy for demo) */ - memcpy(ctx->session_key, shared_secret, SC_SESSION_KEY_SIZE); - - /* Store peer public key */ - memcpy(ctx->peer_public_key, peer_public_key, SC_PUBKEY_SIZE); - ctx->peer_key_set = 1; - - ctx->session_ready = 1; - - return SC_OK; -} - -static void sc_build_nonce(uint64_t counter, uint8_t *nonce_out) -{ - struct tc_sha256_state_struct sha_ctx; - uint8_t hash[32]; - struct timeval tv; - uint8_t data[8 + 8 + 4]; - - if (!sc_urandom_initialized) { - sc_init_random_seed(); - } - - gettimeofday(&tv, NULL); - - memcpy(data, sc_urandom_seed, 8); - data[8] = (counter >> 0) & 0xFF; - data[9] = (counter >> 8) & 0xFF; - data[10] = (counter >> 16) & 0xFF; - data[11] = (counter >> 24) & 0xFF; - data[12] = (counter >> 32) & 0xFF; - data[13] = (counter >> 40) & 0xFF; - data[14] = (counter >> 48) & 0xFF; - data[15] = (counter >> 56) & 0xFF; - data[16] = (tv.tv_sec >> 0) & 0xFF; - data[17] = (tv.tv_sec >> 8) & 0xFF; - data[18] = (tv.tv_sec >> 16) & 0xFF; - data[19] = (tv.tv_sec >> 24) & 0xFF; - - tc_sha256_init(&sha_ctx); - tc_sha256_update(&sha_ctx, data, 20); - tc_sha256_final(hash, &sha_ctx); - - memcpy(nonce_out, hash, SC_NONCE_SIZE); -} - -sc_status_t sc_encrypt(sc_context_t *ctx, - const uint8_t *plaintext, - size_t plaintext_len, - uint8_t *ciphertext, - size_t *ciphertext_len) -{ - uint8_t nonce[SC_NONCE_SIZE]; - struct tc_aes_key_sched_struct sched; - struct tc_ccm_mode_struct ccm_state; - size_t total_plaintext_len = plaintext_len + SC_CRC32_SIZE; - uint8_t plaintext_with_crc[total_plaintext_len]; - uint8_t combined_output[total_plaintext_len + SC_TAG_SIZE]; - - if (!ctx || !plaintext || !ciphertext || !ciphertext_len) { - return SC_ERR_INVALID_ARG; - } - - if (!ctx->session_ready) { - return SC_ERR_NOT_INITIALIZED; - } - - if (plaintext_len == 0) { - return SC_ERR_INVALID_ARG; - } - - /* Добавляем CRC32 к данным */ - memcpy(plaintext_with_crc, plaintext, plaintext_len); - uint32_t crc = crc32_calc(plaintext, plaintext_len); - plaintext_with_crc[plaintext_len] = (crc >> 0) & 0xFF; - plaintext_with_crc[plaintext_len + 1] = (crc >> 8) & 0xFF; - plaintext_with_crc[plaintext_len + 2] = (crc >> 16) & 0xFF; - plaintext_with_crc[plaintext_len + 3] = (crc >> 24) & 0xFF; - - /* Initialize AES key schedule */ - if (tc_aes128_set_encrypt_key(&sched, ctx->session_key) != TC_CRYPTO_SUCCESS) { - return SC_ERR_CRYPTO; - } - - /* Build nonce from counter */ - sc_build_nonce(ctx->tx_counter, nonce); - - /* Configure CCM mode */ - if (tc_ccm_config(&ccm_state, &sched, nonce, SC_NONCE_SIZE, SC_TAG_SIZE) != TC_CRYPTO_SUCCESS) { - return SC_ERR_CRYPTO; - } - - /* Encrypt and generate tag */ - if (tc_ccm_generation_encryption(combined_output, sizeof(combined_output), - NULL, 0, /* no associated data */ - plaintext_with_crc, total_plaintext_len, - &ccm_state) != TC_CRYPTO_SUCCESS) { - return SC_ERR_CRYPTO; - } - - /* Copy ciphertext + tag to output buffer */ - memcpy(ciphertext, combined_output, total_plaintext_len + SC_TAG_SIZE); - *ciphertext_len = total_plaintext_len + SC_TAG_SIZE; - - ctx->tx_counter++; - - return SC_OK; -} - -sc_status_t sc_decrypt(sc_context_t *ctx, - const uint8_t *ciphertext, - size_t ciphertext_len, - uint8_t *plaintext, - size_t *plaintext_len) -{ - uint8_t nonce[SC_NONCE_SIZE]; - struct tc_aes_key_sched_struct sched; - struct tc_ccm_mode_struct ccm_state; - TCCcmMode_t c = &ccm_state; - size_t total_plaintext_len = ciphertext_len - SC_TAG_SIZE; - uint8_t plaintext_with_crc[total_plaintext_len]; - - if (!ctx || !ciphertext || !plaintext || !plaintext_len) { - return SC_ERR_INVALID_ARG; - } - - if (!ctx->session_ready) { - return SC_ERR_NOT_INITIALIZED; - } - - if (ciphertext_len < SC_TAG_SIZE + SC_CRC32_SIZE) { - return SC_ERR_INVALID_ARG; - } - - /* Initialize AES key schedule */ - if (tc_aes128_set_encrypt_key(&sched, ctx->session_key) != TC_CRYPTO_SUCCESS) { - return SC_ERR_CRYPTO; - } - - /* Build nonce from counter */ - sc_build_nonce(ctx->rx_counter, nonce); - - /* Configure CCM mode */ - if (tc_ccm_config(c, &sched, nonce, SC_NONCE_SIZE, SC_TAG_SIZE) != TC_CRYPTO_SUCCESS) { - return SC_ERR_CRYPTO; - } - - /* Decrypt and verify tag */ - if (tc_ccm_decryption_verification(plaintext_with_crc, total_plaintext_len, - NULL, 0, /* no associated data */ - ciphertext, ciphertext_len, - c) != TC_CRYPTO_SUCCESS) { - return SC_ERR_AUTH_FAILED; - } - - /* Проверяем CRC32 */ - size_t data_len = total_plaintext_len - SC_CRC32_SIZE; - uint32_t expected_crc = crc32_calc(plaintext_with_crc, data_len); - uint32_t received_crc = (plaintext_with_crc[data_len] << 0) | - (plaintext_with_crc[data_len + 1] << 8) | - (plaintext_with_crc[data_len + 2] << 16) | - (plaintext_with_crc[data_len + 3] << 24); - - if (expected_crc != received_crc) { - return SC_ERR_CRC_FAILED; - } - - /* Копируем данные без CRC32 */ - memcpy(plaintext, plaintext_with_crc, data_len); - *plaintext_len = data_len; - - ctx->rx_counter++; - - return SC_OK; -} - -sc_status_t sc_compute_public_key_from_private(const uint8_t *private_key, uint8_t *public_key) { - if (!private_key || !public_key) { - return SC_ERR_INVALID_ARG; - } - - if (!curve) { - curve = uECC_secp256r1(); - } - - if (!uECC_compute_public_key(private_key, public_key, curve)) { - return SC_ERR_CRYPTO; - } - return SC_OK; -} diff --git a/!/secure_channel.h b/!/secure_channel.h deleted file mode 100755 index 4b8ea632..00000000 --- a/!/secure_channel.h +++ /dev/null @@ -1,68 +0,0 @@ -// secure_channel.h -#ifndef SECURE_CHANNEL_H -#define SECURE_CHANNEL_H - -#include -#include - -// Размеры ключей -#define SC_PRIVKEY_SIZE 32 -#define SC_PUBKEY_SIZE 64 -#define SC_HASH_SIZE 32 -#define SC_NONCE_SIZE 13 // CCM requires exactly 13 bytes -#define SC_SHARED_SECRET_SIZE SC_HASH_SIZE -#define SC_SESSION_KEY_SIZE 16 -#define SC_TAG_SIZE 8 -#define SC_CRC32_SIZE 4 - -// Коды возврата -#define SC_OK 0 -#define SC_ERR_INVALID_ARG -1 -#define SC_ERR_CRYPTO -2 -#define SC_ERR_NOT_INITIALIZED -3 -#define SC_ERR_AUTH_FAILED -4 -#define SC_ERR_CRC_FAILED -5 - -#define SC_PEER_PUBKEY_BIN 0 -#define SC_PEER_PUBKEY_HEX 1 - -// Типы -typedef int sc_status_t; -typedef struct secure_channel sc_context_t; - -struct SC_MYKEYS { - /* Локальные ключи */ - uint8_t private_key[SC_PRIVKEY_SIZE]; - uint8_t public_key[SC_PUBKEY_SIZE]; - }; - -// Контекст защищенного канала -struct secure_channel { - struct SC_MYKEYS* pk; - /* Ключи пира (после key exchange) */ - uint8_t peer_public_key[SC_PUBKEY_SIZE]; - uint8_t session_key[SC_SESSION_KEY_SIZE]; /* Derived session key */ - - /* Nonces для отправки и приема */ - uint8_t send_nonce[SC_NONCE_SIZE]; - uint8_t recv_nonce[SC_NONCE_SIZE]; - - uint8_t initialized; - uint8_t peer_key_set; - uint8_t session_ready; - uint64_t tx_counter; - uint64_t rx_counter; -}; - -// Функции инициализации -sc_status_t sc_init_ctx(sc_context_t *ctx, struct SC_MYKEYS *mykeys); -sc_status_t sc_generate_keypair(struct SC_MYKEYS *keys); -sc_status_t sc_init_local_keys(struct SC_MYKEYS *mykeys, const char *public_key, const char *private_key); -sc_status_t sc_set_peer_public_key(sc_context_t *ctx, const char *peer_public_key, int mode);// mode: 0-bin 1-hex key format -sc_status_t sc_compute_public_key_from_private(const uint8_t *private_key, uint8_t *public_key); - -// Криптографические операции -sc_status_t sc_encrypt(sc_context_t *ctx, const uint8_t *plaintext, size_t plaintext_len, uint8_t *ciphertext, size_t *ciphertext_len); -sc_status_t sc_decrypt(sc_context_t *ctx, const uint8_t *ciphertext, size_t ciphertext_len, uint8_t *plaintext, size_t *plaintext_len); - -#endif // SECURE_CHANNEL_H diff --git a/!/test_udp_socket.c b/!/test_udp_socket.c deleted file mode 100755 index 2b538413..00000000 --- a/!/test_udp_socket.c +++ /dev/null @@ -1,342 +0,0 @@ -#include "test_udp_socket.h" -#include "../lib/debug_config.h" -#include -#include -#include -#include -#include -#include - -#ifndef DEBUG_CATEGORY_TEST -#define DEBUG_CATEGORY_TEST (1 << 30) -#endif - -// Global socket registry for fd-based operations -static struct test_udp_socket* g_socket_registry[1024] = {NULL}; -pthread_mutex_t g_registry_mutex = PTHREAD_MUTEX_INITIALIZER; // Make it non-static for external access -static int g_next_fd = 1000; // Start with high fd numbers to avoid conflicts - -// Helper function to allocate packet -static struct test_udp_packet* allocate_packet(const uint8_t* data, size_t len, - const struct sockaddr* addr, socklen_t addr_len) { - struct test_udp_packet* packet = calloc(1, sizeof(struct test_udp_packet)); - if (!packet) return NULL; - - packet->data = malloc(len); - if (!packet->data) { - free(packet); - return NULL; - } - - memcpy(packet->data, data, len); - packet->len = len; - - if (addr && addr_len > 0 && addr_len <= sizeof(struct sockaddr_storage)) { - memcpy(&packet->addr, addr, addr_len); - packet->addr_len = addr_len; - } else { - packet->addr_len = 0; - } - - return packet; -} - -// Helper function to free packet -static void free_packet(struct test_udp_packet* packet) { - if (!packet) return; - if (packet->data) free(packet->data); - free(packet); -} - -// Create virtual UDP socket -struct test_udp_socket* test_udp_socket_create(int family) { - if (family != AF_INET && family != AF_INET6) { - DEBUG_ERROR(DEBUG_CATEGORY_TEST, "Unsupported address family: %d", family); - return NULL; - } - - struct test_udp_socket* sock = calloc(1, sizeof(struct test_udp_socket)); - if (!sock) { - DEBUG_ERROR(DEBUG_CATEGORY_TEST, "Failed to allocate UDP socket"); - return NULL; - } - - // Assign virtual file descriptor - pthread_mutex_lock(&g_registry_mutex); - sock->fd = g_next_fd++; - if (g_next_fd >= 2000) g_next_fd = 1000; // Wrap around - pthread_mutex_unlock(&g_registry_mutex); - - sock->family = family; - sock->bound = false; - sock->nonblocking = false; - sock->recv_queue_head = NULL; - sock->recv_queue_tail = NULL; - sock->recv_queue_size = 0; - - // Register socket - test_udp_socket_register(sock); - - DEBUG_INFO(DEBUG_CATEGORY_TEST, "Created virtual UDP socket: fd=%d, family=%d", sock->fd, family); - return sock; -} - -// Destroy virtual UDP socket -void test_udp_socket_destroy(struct test_udp_socket* sock) { - if (!sock) return; - - DEBUG_INFO(DEBUG_CATEGORY_TEST, "Destroying virtual UDP socket: fd=%d (stats: sent=%zu/%zu, recv=%zu/%zu, errors=%zu/%zu)", - sock->fd, sock->stats.packets_sent, sock->stats.bytes_sent, - sock->stats.packets_received, sock->stats.bytes_received, - sock->stats.send_errors, sock->stats.recv_errors); - - // Unregister socket - test_udp_socket_unregister(sock); - - // Free receive queue - struct test_udp_packet* packet = sock->recv_queue_head; - while (packet) { - struct test_udp_packet* next = packet->next; - free_packet(packet); - packet = next; - } - - free(sock); -} - -// Bind virtual socket -int test_udp_socket_bind(struct test_udp_socket* sock, const struct sockaddr* addr, socklen_t len) { - if (!sock || !addr || len == 0) { - DEBUG_ERROR(DEBUG_CATEGORY_TEST, "Invalid parameters for socket bind"); - return -1; - } - - if (sock->bound) { - DEBUG_WARN(DEBUG_CATEGORY_TEST, "Socket already bound"); - return 0; - } - - if (len > sizeof(struct sockaddr_storage)) { - DEBUG_ERROR(DEBUG_CATEGORY_TEST, "Address too large: %d", len); - return -1; - } - - memcpy(&sock->local_addr, addr, len); - sock->bound = true; - - DEBUG_INFO(DEBUG_CATEGORY_TEST, "Bound virtual UDP socket fd=%d", sock->fd); - return 0; -} - -// Set socket options (limited implementation for testing) -int test_udp_socket_setsockopt(struct test_udp_socket* sock, int level, int optname, - const void *optval, socklen_t optlen) { - if (!sock) return -1; - - // For testing purposes, just log the option setting - DEBUG_DEBUG(DEBUG_CATEGORY_TEST, "setsockopt on fd=%d: level=%d, optname=%d, optlen=%d", - sock->fd, level, optname, optlen); - - // Handle some common options - if (level == SOL_SOCKET) { - switch (optname) { - case SO_REUSEADDR: - case SO_REUSEPORT: - // Always allow for testing - return 0; - case SO_BROADCAST: - return 0; - default: - break; - } - } - - return 0; // Pretend success for most options -} - -// Get socket options -int test_udp_socket_getsockopt(struct test_udp_socket* sock, int level, int optname, - void *optval, socklen_t *optlen) { - if (!sock || !optval || !optlen) return -1; - - // For testing purposes, return reasonable defaults - if (level == SOL_SOCKET) { - switch (optname) { - case SO_ERROR: - *(int*)optval = 0; - *optlen = sizeof(int); - return 0; - default: - break; - } - } - - return -1; // Not implemented -} - -// Set non-blocking mode -int test_udp_socket_set_nonblocking(struct test_udp_socket* sock, bool nonblocking) { - if (!sock) return -1; - - sock->nonblocking = nonblocking; - DEBUG_DEBUG(DEBUG_CATEGORY_TEST, "Set nonblocking on fd=%d: %s", sock->fd, nonblocking ? "true" : "false"); - return 0; -} - -// Send packet using virtual socket -ssize_t test_udp_socket_sendto(struct test_udp_socket* sock, const void *buf, size_t len, int flags, - const struct sockaddr *dest_addr, socklen_t addr_len) { - if (!sock || !buf || len == 0) { - return -1; - } - - const uint8_t* data = (const uint8_t*)buf; - - // Call packet sent callback if available - if (sock->packet_sent) { - sock->packet_sent(data, len, dest_addr, addr_len, sock->context); - } - - sock->stats.packets_sent++; - sock->stats.bytes_sent += len; - - DEBUG_DEBUG(DEBUG_CATEGORY_TEST, "Sent packet on fd=%d: %zu bytes to family=%d", - sock->fd, len, dest_addr ? dest_addr->sa_family : -1); - return len; -} - -// Receive packet from virtual socket -ssize_t test_udp_socket_recvfrom(struct test_udp_socket* sock, void *buf, size_t len, int flags, - struct sockaddr *src_addr, socklen_t *addr_len) { - if (!sock || !buf || len == 0) { - return -1; - } - - uint8_t* buffer = (uint8_t*)buf; - - // Check if we have packets in queue - pthread_mutex_lock(&g_registry_mutex); - struct test_udp_packet* packet = sock->recv_queue_head; - if (!packet) { - pthread_mutex_unlock(&g_registry_mutex); - errno = EAGAIN; - return -1; - } - - // Remove packet from queue - sock->recv_queue_head = packet->next; - if (!sock->recv_queue_head) { - sock->recv_queue_tail = NULL; - } - sock->recv_queue_size--; - pthread_mutex_unlock(&g_registry_mutex); - - // Copy packet data - size_t copy_len = packet->len < len ? packet->len : len; - memcpy(buffer, packet->data, copy_len); - - // Copy source address if requested - if (src_addr && addr_len && packet->addr_len > 0) { - socklen_t copy_addr_len = packet->addr_len < *addr_len ? packet->addr_len : *addr_len; - memcpy(src_addr, &packet->addr, copy_addr_len); - *addr_len = copy_addr_len; - } - - sock->stats.packets_received++; - sock->stats.bytes_received += copy_len; - - DEBUG_DEBUG(DEBUG_CATEGORY_TEST, "Received packet on fd=%d: %zu bytes", sock->fd, copy_len); - - free_packet(packet); - return copy_len; -} - -// Inject packet into receive queue (simulates incoming packet) -int test_udp_socket_inject(struct test_udp_socket* sock, - const uint8_t* data, size_t len, - const struct sockaddr* src_addr, socklen_t addr_len) { - if (!sock || !data || len == 0) { - return -1; - } - - if (sock->recv_queue_size >= TEST_UDP_MAX_QUEUE_SIZE) { - DEBUG_WARN(DEBUG_CATEGORY_TEST, "Receive queue full on fd=%d", sock->fd); - return -1; - } - - struct test_udp_packet* packet = allocate_packet(data, len, src_addr, addr_len); - if (!packet) { - return -1; - } - - pthread_mutex_lock(&g_registry_mutex); - if (sock->recv_queue_tail) { - sock->recv_queue_tail->next = packet; - } else { - sock->recv_queue_head = packet; - } - sock->recv_queue_tail = packet; - sock->recv_queue_size++; - pthread_mutex_unlock(&g_registry_mutex); - - DEBUG_DEBUG(DEBUG_CATEGORY_TEST, "Injected packet into fd=%d: %zu bytes", sock->fd, len); - return 0; -} - -// Get virtual socket file descriptor -int test_udp_socket_get_fd(struct test_udp_socket* sock) { - return sock ? sock->fd : -1; -} - -// Get socket statistics -void test_udp_socket_get_stats(struct test_udp_socket* sock, size_t* packets_sent, - size_t* packets_received, size_t* bytes_sent, - size_t* bytes_received, size_t* send_errors, size_t* recv_errors) { - if (!sock) return; - - if (packets_sent) *packets_sent = sock->stats.packets_sent; - if (packets_received) *packets_received = sock->stats.packets_received; - if (bytes_sent) *bytes_sent = sock->stats.bytes_sent; - if (bytes_received) *bytes_received = sock->stats.bytes_received; - if (send_errors) *send_errors = sock->stats.send_errors; - if (recv_errors) *recv_errors = sock->stats.recv_errors; -} - -// Reset socket statistics -void test_udp_socket_reset_stats(struct test_udp_socket* sock) { - if (!sock) return; - - memset(&sock->stats, 0, sizeof(sock->stats)); - DEBUG_INFO(DEBUG_CATEGORY_TEST, "Reset statistics for virtual UDP socket fd=%d", sock->fd); -} - -// Global virtual socket registry for fd-based operations -struct test_udp_socket* test_udp_socket_find_by_fd(int fd) { - pthread_mutex_lock(&g_registry_mutex); - struct test_udp_socket* sock = NULL; - if (fd >= 0 && fd < 1024) { - sock = g_socket_registry[fd]; - } - pthread_mutex_unlock(&g_registry_mutex); - return sock; -} - -void test_udp_socket_register(struct test_udp_socket* sock) { - if (!sock) return; - - pthread_mutex_lock(&g_registry_mutex); - if (sock->fd >= 0 && sock->fd < 1024) { - g_socket_registry[sock->fd] = sock; - } - pthread_mutex_unlock(&g_registry_mutex); -} - -void test_udp_socket_unregister(struct test_udp_socket* sock) { - if (!sock) return; - - pthread_mutex_lock(&g_registry_mutex); - if (sock->fd >= 0 && sock->fd < 1024) { - g_socket_registry[sock->fd] = NULL; - } - pthread_mutex_unlock(&g_registry_mutex); -} \ No newline at end of file diff --git a/!/test_udp_socket.h b/!/test_udp_socket.h deleted file mode 100755 index e65436f0..00000000 --- a/!/test_udp_socket.h +++ /dev/null @@ -1,101 +0,0 @@ -#ifndef TEST_UDP_SOCKET_H -#define TEST_UDP_SOCKET_H - -#include -#include -#include -#include - -#define TEST_UDP_MAX_PACKET_SIZE 65536 -#define TEST_UDP_MAX_QUEUE_SIZE 1000 - -// Test UDP packet structure -struct test_udp_packet { - uint8_t* data; - size_t len; - struct sockaddr_storage addr; - socklen_t addr_len; - struct test_udp_packet* next; -}; - -// Virtual UDP socket for testing -struct test_udp_socket { - int fd; // Virtual file descriptor - int family; // Address family (AF_INET or AF_INET6) - struct sockaddr_storage local_addr; - bool bound; - bool nonblocking; - - // Receive queue (packets waiting to be read) - struct test_udp_packet* recv_queue_head; - struct test_udp_packet* recv_queue_tail; - size_t recv_queue_size; - - // Statistics - struct { - size_t packets_sent; - size_t packets_received; - size_t bytes_sent; - size_t bytes_received; - size_t send_errors; - size_t recv_errors; - } stats; - - // Callback for outgoing packets - void (*packet_sent)(const uint8_t* data, size_t len, - const struct sockaddr* dest_addr, socklen_t addr_len, - void* context); - - void* context; -}; - -// Create virtual UDP socket -struct test_udp_socket* test_udp_socket_create(int family); - -// Destroy virtual UDP socket -void test_udp_socket_destroy(struct test_udp_socket* sock); - -// Bind virtual socket -int test_udp_socket_bind(struct test_udp_socket* sock, const struct sockaddr* addr, socklen_t len); - -// Set socket options (limited implementation for testing) -int test_udp_socket_setsockopt(struct test_udp_socket* sock, int level, int optname, - const void *optval, socklen_t optlen); - -// Get socket options -int test_udp_socket_getsockopt(struct test_udp_socket* sock, int level, int optname, - void *optval, socklen_t *optlen); - -// Set non-blocking mode -int test_udp_socket_set_nonblocking(struct test_udp_socket* sock, bool nonblocking); - -// Send packet using virtual socket -ssize_t test_udp_socket_sendto(struct test_udp_socket* sock, const void *buf, size_t len, int flags, - const struct sockaddr *dest_addr, socklen_t addr_len); - -// Receive packet from virtual socket -ssize_t test_udp_socket_recvfrom(struct test_udp_socket* sock, void *buf, size_t len, int flags, - struct sockaddr *src_addr, socklen_t *addr_len); - -// Inject packet into receive queue (simulates incoming packet) -int test_udp_socket_inject(struct test_udp_socket* sock, - const uint8_t* data, size_t len, - const struct sockaddr* src_addr, socklen_t addr_len); - -// Get virtual socket file descriptor -int test_udp_socket_get_fd(struct test_udp_socket* sock); - -// Get socket statistics -void test_udp_socket_get_stats(struct test_udp_socket* sock, size_t* packets_sent, - size_t* packets_received, size_t* bytes_sent, - size_t* bytes_received, size_t* send_errors, size_t* recv_errors); - -// Reset socket statistics -void test_udp_socket_reset_stats(struct test_udp_socket* sock); - -// Global virtual socket registry for fd-based operations -struct test_udp_socket* test_udp_socket_find_by_fd(int fd); -void test_udp_socket_register(struct test_udp_socket* sock); -void test_udp_socket_unregister(struct test_udp_socket* sock); - -#endif // TEST_UDP_SOCKET_H \ No newline at end of file diff --git a/!/test_virtual_tun.c b/!/test_virtual_tun.c deleted file mode 100755 index 5194227c..00000000 --- a/!/test_virtual_tun.c +++ /dev/null @@ -1,190 +0,0 @@ -#include "test_virtual_tun.h" -#include "../lib/debug_config.h" -#include -#include -#include -#include -#include -#include - -#ifndef DEBUG_CATEGORY_TEST -#define DEBUG_CATEGORY_TEST (1 << 30) -#endif - -// Create virtual TUN with bidirectional pipes -struct virtual_tun* virtual_tun_create(const char* ifname) { - if (!ifname) { - DEBUG_ERROR(DEBUG_CATEGORY_TEST, "NULL interface name provided"); - return NULL; - } - - struct virtual_tun* vtun = calloc(1, sizeof(struct virtual_tun)); - if (!vtun) { - DEBUG_ERROR(DEBUG_CATEGORY_TEST, "Failed to allocate virtual TUN"); - return NULL; - } - - // Copy interface name - strncpy(vtun->ifname, ifname, sizeof(vtun->ifname) - 1); - vtun->ifname[sizeof(vtun->ifname) - 1] = '\0'; - vtun->enabled = true; - - // Create pipes for bidirectional communication - // read_pipe: [0] = read end, [1] = write end (for packets from network) - // write_pipe: [0] = read end, [1] = write end (for packets to network) - if (pipe(vtun->read_pipe) < 0) { - DEBUG_ERROR(DEBUG_CATEGORY_TEST, "Failed to create read pipe: %s", strerror(errno)); - free(vtun); - return NULL; - } - - if (pipe(vtun->write_pipe) < 0) { - DEBUG_ERROR(DEBUG_CATEGORY_TEST, "Failed to create write pipe: %s", strerror(errno)); - close(vtun->read_pipe[0]); - close(vtun->read_pipe[1]); - free(vtun); - return NULL; - } - - // Set non-blocking mode on pipe ends - for (int i = 0; i < 2; i++) { - int flags = fcntl(vtun->read_pipe[i], F_GETFL, 0); - if (flags == -1 || fcntl(vtun->read_pipe[i], F_SETFL, flags | O_NONBLOCK) < 0) { - DEBUG_WARN(DEBUG_CATEGORY_TEST, "Failed to set non-blocking on read pipe[%d]: %s", i, strerror(errno)); - } - - flags = fcntl(vtun->write_pipe[i], F_GETFL, 0); - if (flags == -1 || fcntl(vtun->write_pipe[i], F_SETFL, flags | O_NONBLOCK) < 0) { - DEBUG_WARN(DEBUG_CATEGORY_TEST, "Failed to set non-blocking on write pipe[%d]: %s", i, strerror(errno)); - } - } - - DEBUG_INFO(DEBUG_CATEGORY_TEST, "Virtual TUN created: %s (read_fd=%d, write_fd=%d)", - vtun->ifname, vtun->read_pipe[0], vtun->write_pipe[1]); - - return vtun; -} - -// Cleanup virtual TUN -void virtual_tun_destroy(struct virtual_tun* vtun) { - if (!vtun) return; - - DEBUG_INFO(DEBUG_CATEGORY_TEST, "Destroying virtual TUN: %s (stats: sent=%zu packets/%zu bytes, recv=%zu packets/%zu bytes)", - vtun->ifname, vtun->stats.packets_sent, vtun->stats.bytes_sent, - vtun->stats.packets_received, vtun->stats.bytes_received); - - // Close all pipe file descriptors - if (vtun->read_pipe[0] >= 0) close(vtun->read_pipe[0]); - if (vtun->read_pipe[1] >= 0) close(vtun->read_pipe[1]); - if (vtun->write_pipe[0] >= 0) close(vtun->write_pipe[0]); - if (vtun->write_pipe[1] >= 0) close(vtun->write_pipe[1]); - - free(vtun); -} - -// Get file descriptor for reading (simulates TUN device read) -int virtual_tun_get_read_fd(struct virtual_tun* vtun) { - if (!vtun || !vtun->enabled) return -1; - return vtun->read_pipe[0]; // Read end of read pipe -} - -// Get file descriptor for writing (simulates TUN device write) -int virtual_tun_get_write_fd(struct virtual_tun* vtun) { - if (!vtun || !vtun->enabled) return -1; - return vtun->write_pipe[1]; // Write end of write pipe -} - -// Inject packet into virtual TUN (simulates packet from network) -int virtual_tun_inject_packet(struct virtual_tun* vtun, const uint8_t* packet, size_t len) { - if (!vtun || !vtun->enabled || !packet || len == 0) { - DEBUG_ERROR(DEBUG_CATEGORY_TEST, "Invalid parameters for packet injection"); - return -1; - } - - if (len > VIRTUAL_TUN_MAX_PACKET_SIZE) { - DEBUG_ERROR(DEBUG_CATEGORY_TEST, "Packet too large: %zu > %d", len, VIRTUAL_TUN_MAX_PACKET_SIZE); - return -1; - } - - // Write packet to read pipe (simulates packet arriving from network) - ssize_t written = write(vtun->read_pipe[1], packet, len); - if (written < 0) { - if (errno != EAGAIN && errno != EWOULDBLOCK) { - DEBUG_ERROR(DEBUG_CATEGORY_TEST, "Failed to inject packet: %s", strerror(errno)); - } - return -1; - } - - vtun->stats.packets_received++; - vtun->stats.bytes_received += written; - - DEBUG_DEBUG(DEBUG_CATEGORY_TEST, "Injected packet into %s: %zu bytes", vtun->ifname, written); - return 0; -} - -// Read packet from virtual TUN (captures packets going to network) -ssize_t virtual_tun_read_packet(struct virtual_tun* vtun, uint8_t* buffer, size_t max_len) { - if (!vtun || !vtun->enabled || !buffer || max_len == 0) { - return -1; - } - - // Read from write pipe (captures packets going to network) - ssize_t bytes_read = read(vtun->write_pipe[0], buffer, max_len); - if (bytes_read < 0) { - if (errno != EAGAIN && errno != EWOULDBLOCK) { - DEBUG_ERROR(DEBUG_CATEGORY_TEST, "Failed to read packet: %s", strerror(errno)); - } - return -1; - } - - if (bytes_read > 0) { - vtun->stats.packets_sent++; - vtun->stats.bytes_sent += bytes_read; - DEBUG_DEBUG(DEBUG_CATEGORY_TEST, "Read packet from %s: %zu bytes", vtun->ifname, bytes_read); - } - - return bytes_read; -} - -// Write packet to virtual TUN (sends packet to network) -ssize_t virtual_tun_write_packet(struct virtual_tun* vtun, const uint8_t* packet, size_t len) { - if (!vtun || !vtun->enabled || !packet || len == 0) { - return -1; - } - - if (len > VIRTUAL_TUN_MAX_PACKET_SIZE) { - DEBUG_ERROR(DEBUG_CATEGORY_TEST, "Packet too large: %zu > %d", len, VIRTUAL_TUN_MAX_PACKET_SIZE); - return -1; - } - - // Write packet to write pipe (sends to network) - ssize_t written = write(vtun->write_pipe[1], packet, len); - if (written < 0) { - if (errno != EAGAIN && errno != EWOULDBLOCK) { - DEBUG_ERROR(DEBUG_CATEGORY_TEST, "Failed to write packet: %s", strerror(errno)); - } - return -1; - } - - DEBUG_DEBUG(DEBUG_CATEGORY_TEST, "Wrote packet to %s: %zu bytes", vtun->ifname, written); - return written; -} - -// Get virtual TUN statistics -void virtual_tun_get_stats(struct virtual_tun* vtun, size_t* packets_sent, size_t* packets_received, - size_t* bytes_sent, size_t* bytes_received) { - if (!vtun) return; - - if (packets_sent) *packets_sent = vtun->stats.packets_sent; - if (packets_received) *packets_received = vtun->stats.packets_received; - if (bytes_sent) *bytes_sent = vtun->stats.bytes_sent; - if (bytes_received) *bytes_received = vtun->stats.bytes_received; -} - -// Reset virtual TUN statistics -void virtual_tun_reset_stats(struct virtual_tun* vtun) { - if (!vtun) return; - - memset(&vtun->stats, 0, sizeof(vtun->stats)); - DEBUG_INFO(DEBUG_CATEGORY_TEST, "Reset statistics for virtual TUN: %s", vtun->ifname); -} \ No newline at end of file diff --git a/!/test_virtual_tun.h b/!/test_virtual_tun.h deleted file mode 100755 index 8f41b5a9..00000000 --- a/!/test_virtual_tun.h +++ /dev/null @@ -1,55 +0,0 @@ -#ifndef TEST_VIRTUAL_TUN_H -#define TEST_VIRTUAL_TUN_H - -#include -#include -#include -#include - -#define VIRTUAL_TUN_MAX_PACKET_SIZE 65536 - -struct virtual_tun { - int read_pipe[2]; // [0] = read end, [1] = write end - int write_pipe[2]; // [0] = read end, [1] = write end - char ifname[32]; // Virtual interface name - bool enabled; - void* test_context; // For callbacks - - // Statistics - struct { - size_t packets_sent; - size_t packets_received; - size_t bytes_sent; - size_t bytes_received; - } stats; -}; - -// Create virtual TUN with bidirectional pipes -struct virtual_tun* virtual_tun_create(const char* ifname); - -// Cleanup virtual TUN -void virtual_tun_destroy(struct virtual_tun* vtun); - -// Get file descriptor for reading (simulates TUN device) -int virtual_tun_get_read_fd(struct virtual_tun* vtun); - -// Get file descriptor for writing (simulates TUN device) -int virtual_tun_get_write_fd(struct virtual_tun* vtun); - -// Inject packet into virtual TUN (simulates packet from network) -int virtual_tun_inject_packet(struct virtual_tun* vtun, const uint8_t* packet, size_t len); - -// Read packet from virtual TUN (captures packets going to network) -ssize_t virtual_tun_read_packet(struct virtual_tun* vtun, uint8_t* buffer, size_t max_len); - -// Write packet to virtual TUN (sends packet to network) -ssize_t virtual_tun_write_packet(struct virtual_tun* vtun, const uint8_t* packet, size_t len); - -// Get virtual TUN statistics -void virtual_tun_get_stats(struct virtual_tun* vtun, size_t* packets_sent, size_t* packets_received, - size_t* bytes_sent, size_t* bytes_received); - -// Reset virtual TUN statistics -void virtual_tun_reset_stats(struct virtual_tun* vtun); - -#endif // TEST_VIRTUAL_TUN_H \ No newline at end of file diff --git a/!/tun_if.c b/!/tun_if.c deleted file mode 100755 index 7e36fb58..00000000 --- a/!/tun_if.c +++ /dev/null @@ -1,339 +0,0 @@ -// tun_if.c - TUN interface management implementation -#define _POSIX_C_SOURCE 200809L -#include "tun_if.h" -#include "../lib/debug_config.h" -#include "routing.h" -#include "../lib/u_async.h" -#include "etcp_connections.h" - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -// Create TUN device -static int create_tun_device(char *ifname, size_t ifname_len) { - struct ifreq ifr; - int fd; - - fd = open("/dev/net/tun", O_RDWR); - if (fd < 0) { - DEBUG_ERROR(DEBUG_CATEGORY_TUN, "Failed to open /dev/net/tun: %s", strerror(errno)); - return -1; - } - - memset(&ifr, 0, sizeof(ifr)); - ifr.ifr_flags = IFF_TUN | IFF_NO_PI; - - if (ifname && ifname_len > 0 && ifname[0] != '\0') { - strncpy(ifr.ifr_name, ifname, IFNAMSIZ - 1); - } - - if (ioctl(fd, TUNSETIFF, &ifr) < 0) { - DEBUG_ERROR(DEBUG_CATEGORY_TUN, "Failed to configure TUN device: %s", strerror(errno)); - close(fd); - return -1; - } - - if (ifname && ifname_len > 0) { - strncpy(ifname, ifr.ifr_name, ifname_len - 1); - ifname[ifname_len - 1] = '\0'; - } - - return fd; -} - -// Run system command -static int run_command(const char *cmd) { - int ret = system(cmd); - if (ret == -1) { - perror("system"); - return -1; - } - if (WIFEXITED(ret) && WEXITSTATUS(ret) != 0) { - DEBUG_ERROR(DEBUG_CATEGORY_TUN, "Command failed: %s", cmd); - return -1; - } - return 0; -} - -// Parse IP address and mask -static int parse_ip_mask(const char *ip_addr, char *ip, size_t ip_len, int *mask) { - if (!ip_addr || !ip || !mask) return -1; - - char *slash = strchr(ip_addr, '/'); - if (!slash) { - // Default mask /32 - *mask = 32; - strncpy(ip, ip_addr, ip_len - 1); - ip[ip_len - 1] = '\0'; - } else { - size_t ip_size = slash - ip_addr; - if (ip_size >= ip_len) return -1; - strncpy(ip, ip_addr, ip_size); - ip[ip_size] = '\0'; - - char *endptr; - long mask_val = strtol(slash + 1, &endptr, 10); - if (*endptr != '\0' || mask_val < 0 || mask_val > 32) return -1; - *mask = (int)mask_val; - } - - return 0; -} - -int tun_create(struct tun_config *config) { - if (!config) { - errno = EINVAL; - return -1; - } - - // Create TUN device - int fd = create_tun_device(config->ifname, sizeof(config->ifname)); - if (fd < 0) { - return -1; - } - - config->fd = fd; - - // Configure IP if specified - if (config->ip_addr[0] != '\0') { - if (tun_set_ip(config->ifname, config->ip_addr) < 0) { - close(fd); - return -1; - } - } - - // Set MTU if specified - if (config->mtu > 0) { - if (tun_set_mtu(config->ifname, config->mtu) < 0) { - DEBUG_WARN(DEBUG_CATEGORY_TUN, "Failed to set MTU %d on %s: %s", config->mtu, config->ifname, strerror(errno)); - } - } - - // Bring interface up - if (tun_set_up(config->ifname) < 0) { - close(fd); - return -1; - } - - config->is_up = 1; - return 0; -} - -int tun_set_ip(const char *ifname, const char *ip_addr) { - if (!ifname || !ip_addr) { - errno = EINVAL; - return -1; - } - - char ip[64]; - int mask; - if (parse_ip_mask(ip_addr, ip, sizeof(ip), &mask) < 0) { - DEBUG_ERROR(DEBUG_CATEGORY_CONFIG, "Invalid IP address format: %s", ip_addr); - errno = EINVAL; - return -1; - } - - char cmd[256]; - snprintf(cmd, sizeof(cmd), "ip addr add %s dev %s", ip_addr, ifname); - if (run_command(cmd) < 0) { - return -1; - } - - return 0; -} - -int tun_set_up(const char *ifname) { - if (!ifname) { - errno = EINVAL; - return -1; - } - - char cmd[256]; - snprintf(cmd, sizeof(cmd), "ip link set %s up", ifname); - if (run_command(cmd) < 0) { - return -1; - } - - return 0; -} - -int tun_set_mtu(const char *ifname, int mtu) { - if (!ifname || mtu <= 0) { - errno = EINVAL; - return -1; - } - - char cmd[256]; - snprintf(cmd, sizeof(cmd), "ip link set %s mtu %d", ifname, mtu); - if (run_command(cmd) < 0) { - return -1; - } - - return 0; -} - -ssize_t tun_read(int fd, uint8_t *buffer, size_t size) { - if (fd < 0 || !buffer || size == 0) { - errno = EINVAL; - return -1; - } - - ssize_t nread = read(fd, buffer, size); - if (nread < 0) { - perror("tun_read"); - } - - return nread; -} - -ssize_t tun_write(int fd, const uint8_t *buffer, size_t size) { - if (fd < 0 || !buffer || size == 0) { - errno = EINVAL; - return -1; - } - - ssize_t nwritten = write(fd, buffer, size); - if (nwritten < 0) { - DEBUG_ERROR(DEBUG_CATEGORY_TUN, "Failed to write to TUN device fd=%d: %s", fd, strerror(errno)); - } - - return nwritten; -} - -void tun_close(struct tun_config *config) { - if (!config) return; - - if (config->fd >= 0) { - close(config->fd); - config->fd = -1; - } - - config->is_up = 0; -} - -int tun_get_config(const char *ifname, struct tun_config *config) { - if (!ifname || !config) { - errno = EINVAL; - return -1; - } - - // TODO: Implement reading current interface configuration - // This would require parsing ip addr show output - - memset(config, 0, sizeof(*config)); - strncpy(config->ifname, ifname, sizeof(config->ifname) - 1); - config->fd = -1; - - return 0; -} - -// Extract destination IPv4 address from packet -static uint32_t tun_get_dest_ip(const uint8_t *packet, size_t len) { - if (len < 20) return 0; // Minimum IPv4 header size - // Check IP version (first nibble) - uint8_t version = (packet[0] >> 4) & 0x0F; - if (version != 4) return 0; - // Destination IP is at offset 16 - uint32_t dest_ip; - memcpy(&dest_ip, packet + 16, 4); - return dest_ip; -} - -// Extract destination IPv4 address from packet -static uint32_t get_dest_ip(const uint8_t *packet, size_t len) { - if (len < 20) return 0; // Minimum IPv4 header size - // Check IP version (first nibble) - uint8_t version = (packet[0] >> 4) & 0x0F; - if (version != 4) return 0; - // Destination IP is at offset 16 - uint32_t dest_ip; - memcpy(&dest_ip, packet + 16, 4); - return dest_ip; -} - - -// Callback for TUN device read events -void tun_read_callback(int fd, void* user_arg) { - struct UTUN_INSTANCE *instance = (struct UTUN_INSTANCE*)user_arg; - uint8_t buffer[MAX_PACKET_SIZE]; - - // Read from TUN device - ssize_t nread = tun_read(fd, buffer, sizeof(buffer)); - if (nread < 0) { - if (errno == EINTR) return; - DEBUG_ERROR(DEBUG_CATEGORY_TUN, "Failed to read from TUN device %s: %s", instance->tun.ifname, strerror(errno)); - return; - } - - if (nread > 0) { - // Route packet based on destination IP - uint32_t dest_ip = get_dest_ip(buffer, nread); - struct route_entry route; - - if (routing_table_lookup(instance->routing_table, dest_ip, &route)) { - // Found route, send to next hop connection - if (route.next_hop) { - struct sockaddr_in dest_addr; - memset(&dest_addr, 0, sizeof(dest_addr)); - dest_addr.sin_family = AF_INET; - dest_addr.sin_addr.s_addr = route.next_hop_ip; -// todo: отправлять в модуль роутинга все входящие пакеты. когда этот модуль будет. модуль роутинга это не роутинг таблица (routing.h) -// if (etcp_connections_send(route.next_hop, buffer, nread, (struct sockaddr*)&dest_addr, sizeof(dest_addr)) < 0) { -// DEBUG_ERROR(DEBUG_CATEGORY_ETCP, "Failed to send packet via route"); -// } - } else { - // Local route - no forwarding needed - DEBUG_DEBUG(DEBUG_CATEGORY_ROUTING, "Local packet, no forwarding"); - } - } else { - // No route found, drop packet - char ip_str[16]; - ip_to_string(dest_ip, ip_str); - DEBUG_ERROR(DEBUG_CATEGORY_ROUTING, "No route for destination IP %s", ip_str); - } - } -} - -// Register sockets with uasync -int utun_instance_register_sockets(struct UTUN_INSTANCE *instance) { - if (!instance || !instance->ua || instance->tun.fd < 0) { - DEBUG_ERROR(DEBUG_CATEGORY_TUN, "Invalid instance or TUN fd"); - return -1; - } - - // Register TUN file descriptor - instance->tun_socket_id = uasync_add_socket(instance->ua, instance->tun.fd, - tun_read_callback, NULL, NULL, instance); - if (!instance->tun_socket_id) { - DEBUG_ERROR(DEBUG_CATEGORY_TUN, "Failed to register TUN socket"); - return -1; - } - - DEBUG_INFO(DEBUG_CATEGORY_TUN, "Registered TUN socket (fd=%d)", instance->tun.fd); - return 0; -} - -// Unregister sockets -void utun_instance_unregister_sockets(struct UTUN_INSTANCE *instance) { - if (!instance || !instance->ua) return; - - if (instance->tun_socket_id) { - uasync_remove_socket(instance->ua, instance->tun_socket_id); - instance->tun_socket_id = NULL; - DEBUG_INFO(DEBUG_CATEGORY_TUN, "Unregistered TUN socket: %s", instance->tun.ifname); - } -} - diff --git a/!/tun_if.h b/!/tun_if.h deleted file mode 100755 index 37f8954b..00000000 --- a/!/tun_if.h +++ /dev/null @@ -1,107 +0,0 @@ -// tun_if.h - TUN interface management for utun -#ifndef TUN_IF_H -#define TUN_IF_H - -#include -#include -#include - -// Forward declarations -struct UTUN_INSTANCE; - -#ifdef __cplusplus -extern "C" { -#endif - -#define MAX_PACKET_SIZE 1500 - -// TUN interface configuration -struct tun_config { - char ifname[16]; // Interface name (e.g., "tun12") - char ip_addr[64]; // IP address with mask (e.g., "10.0.0.1/24") - int mtu; // MTU size - int fd; // File descriptor - uint8_t is_up; // 1 if interface is up - // Statistics - uint64_t bytes_read; // Bytes read from TUN - uint64_t bytes_written; // Bytes written to TUN - uint32_t packets_read; // Packets read from TUN - uint32_t packets_written; // Packets written to TUN - uint32_t read_errors; // Read errors - uint32_t write_errors; // Write errors -}; - -/** - * @brief Create and configure TUN interface - * @param config TUN configuration (ifname can be empty for auto) - * @return 0 on success, -1 on error - */ -int tun_create(struct tun_config *config); - -/** - * @brief Configure IP address on TUN interface - * @param ifname Interface name - * @param ip_addr IP address with mask (e.g., "10.0.0.1/24") - * @return 0 on success, -1 on error - */ -int tun_set_ip(const char *ifname, const char *ip_addr); - -/** - * @brief Bring TUN interface up - * @param ifname Interface name - * @return 0 on success, -1 on error - */ -int tun_set_up(const char *ifname); - -/** - * @brief Set MTU on TUN interface - * @param ifname Interface name - * @param mtu MTU value - * @return 0 on success, -1 on error - */ -int tun_set_mtu(const char *ifname, int mtu); - -/** - * @brief Read packet from TUN interface - * @param fd TUN file descriptor - * @param buffer Buffer to store packet - * @param size Buffer size - * @return Number of bytes read, -1 on error - */ -ssize_t tun_read(int fd, uint8_t *buffer, size_t size); - -/** - * @brief Write packet to TUN interface - * @param fd TUN file descriptor - * @param buffer Packet data - * @param size Packet size - * @return Number of bytes written, -1 on error - */ -ssize_t tun_write(int fd, const uint8_t *buffer, size_t size); - -/** - * @brief Close TUN interface - * @param config TUN configuration - */ -void tun_close(struct tun_config *config); - -/** - * @brief Get current TUN configuration - * @param ifname Interface name - * @param config Output configuration - * @return 0 on success, -1 on error - */ -int tun_get_config(const char *ifname, struct tun_config *config); - -int utun_instance_register_sockets(struct UTUN_INSTANCE *instance); -void utun_instance_unregister_sockets(struct UTUN_INSTANCE *instance); - -// TUN callback function -void tun_read_callback(int fd, void* user_arg); - - -#ifdef __cplusplus -} -#endif - -#endif /* TUN_IF_H */ \ No newline at end of file diff --git a/!/utun.c b/!/utun.c deleted file mode 100755 index 13aa09c7..00000000 --- a/!/utun.c +++ /dev/null @@ -1,321 +0,0 @@ -// utun.c - Main application for utun VPN tunnel -#define _DEFAULT_SOURCE -#define _POSIX_C_SOURCE 200809L -#include "config_parser.h" -#include "etcp_connections.h" -#include "tun_if.h" -#include "secure_channel.h" -#include "routing.h" -#include "utun_instance.h" -#include "u_async.h" -#include "debug_config.h" -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -/* - -Архитектура: -main -> init utun instnaces -> mainloop() - -utun instances: можно stop() - он ывзывает закрытие всех etcp (etcp_close) которые вызовут закрытие подключений), вызывает закрытие всех etcp сокетов - - - -*/ - - - -// Global wakeup pipe write fd for signal handler -static int g_wakeup_pipe_write_fd = -1; - -#define DEFAULT_CONFIG "utun.conf" -#define DEFAULT_PIDFILE "/var/run/utun.pid" - -// Command line arguments -typedef struct { - char *config_file; - char *pid_file; - char *log_file; - char *debug_config; - int foreground; - int help; -} cmd_args_t; - -// Global state - - - - - -// Parse subnet string -static int parse_subnet(const char *subnet_str, uint32_t *network, uint8_t *prefix_length) { - if (!subnet_str || !network || !prefix_length) return -1; - char ip[64]; - int prefix; - if (sscanf(subnet_str, "%[^/]/%d", ip, &prefix) != 2) return -1; - if (prefix < 0 || prefix > 32) return -1; - struct in_addr addr; - if (inet_pton(AF_INET, ip, &addr) != 1) return -1; - *network = addr.s_addr; - *prefix_length = (uint8_t)prefix; - return 0; -} - -// Extract destination IPv4 address from packet -static uint32_t get_dest_ip(const uint8_t *packet, size_t len) { - if (len < 20) return 0; // Minimum IPv4 header size - // Check IP version (first nibble) - uint8_t version = (packet[0] >> 4) & 0x0F; - if (version != 4) return 0; - // Destination IP is at offset 16 - uint32_t dest_ip; - memcpy(&dest_ip, packet + 16, 4); - return dest_ip; -} - - -// Parse command line arguments -static void parse_args(int argc, char *argv[], cmd_args_t *args) { - memset(args, 0, sizeof(*args)); - args->config_file = DEFAULT_CONFIG; - args->pid_file = DEFAULT_PIDFILE; - args->log_file = NULL; - args->debug_config = NULL; - args->foreground = 0; - args->help = 0; - - static struct option long_options[] = { - {"config", required_argument, 0, 'c'}, - {"pidfile", required_argument, 0, 'p'}, - {"log", required_argument, 0, 'l'}, - {"debug", required_argument, 0, 'd'}, - {"foreground", no_argument, 0, 'f'}, - {"help", no_argument, 0, 'h'}, - {0, 0, 0, 0} - }; - - int opt; - int option_index = 0; - - while ((opt = getopt_long(argc, argv, "c:p:l:d:fh", - long_options, &option_index)) != -1) { - switch (opt) { - case 'c': - args->config_file = optarg; - break; - case 'p': - args->pid_file = optarg; - break; - case 'l': - args->log_file = optarg; - break; - case 'f': - args->foreground = 1; - break; - case 'd': - args->debug_config = optarg; - break; - case 'h': - args->help = 1; - break; - default: - DEBUG_ERROR(DEBUG_CATEGORY_CONFIG, "Unknown option: %c", opt); - exit(1); - } - } -} - -// Print usage -static void print_usage(const char *progname) { - printf("Usage: %s [OPTIONS]\n", progname); - printf("Secure VPN tunnel over UDP with TUN interface\n\n"); - printf("Options:\n"); - printf(" -c, --config FILE Configuration file (default: %s)\n", DEFAULT_CONFIG); - printf(" -p, --pidfile FILE PID file (default: %s)\n", DEFAULT_PIDFILE); - printf(" -l, --log FILE Log file (default: stderr)\n"); - printf(" -d, --debug CONFIG Debug configuration (e.g., \"etcp:debug,routing:info\")\n"); - printf(" -f, --foreground Run in foreground (don't daemonize)\n"); - printf(" -h, --help Show this help\n"); - printf("\nExamples:\n"); - printf(" %s -c myconfig.conf\n", progname); - printf(" %s --config server.conf --pidfile /var/run/utun.pid\n", progname); -} - -// Write PID file -static int write_pidfile(const char *pidfile) { - if (!pidfile) return -1; - - FILE *fp = fopen(pidfile, "w"); - if (!fp) { - perror("fopen pidfile"); - return -1; - } - - fprintf(fp, "%d\n", getpid()); - fclose(fp); - return 0; -} - -// Remove PID file -static void remove_pidfile(const char *pidfile) { - if (pidfile) { - unlink(pidfile); - } -} - -// Daemonize process -static int daemonize(void) { - pid_t pid = fork(); - if (pid < 0) { - perror("fork"); - return -1; - } - - if (pid > 0) { - // Parent exits - exit(0); - } - - // Child becomes session leader - if (setsid() < 0) { - perror("setsid"); - return -1; - } - - // Close standard file descriptors - close(STDIN_FILENO); - close(STDOUT_FILENO); - close(STDERR_FILENO); - - // Redirect to /dev/null - int fd = open("/dev/null", O_RDWR); - if (fd >= 0) { - dup2(fd, STDIN_FILENO); - dup2(fd, STDOUT_FILENO); - dup2(fd, STDERR_FILENO); - if (fd > 2) close(fd); - } - - return 0; -} - -// Open log file -static FILE* open_logfile(const char *logfile) { - if (!logfile) return stderr; - - FILE *fp = fopen(logfile, "a"); - if (!fp) { - perror("fopen logfile"); - return stderr; - } - - // Set line buffering - setlinebuf(fp); - return fp; -} - - -// Main function - -static volatile sig_atomic_t g_running = 1; -struct UASYNC* main_ua = NULL; - -static void signal_handler(int sig) { - (void)sig; - g_running = 0; - if (main_ua) { - uasync_wakeup(main_ua); - } -} - -int main(int argc, char *argv[]) { - cmd_args_t args; - parse_args(argc, argv, &args); - - if (args.help) { - print_usage(argv[0]); - return 0; - } - - // Initialize global debug system early if configured from command line - if (args.debug_config) { - debug_config_init(); - if (debug_parse_config(args.debug_config) < 0) { - DEBUG_ERROR(DEBUG_CATEGORY_CONFIG, "Invalid debug configuration: %s", args.debug_config); - return 1; - } - } - - // Create uasync instance - struct UASYNC* ua = uasync_create(); - main_ua=ua; - if (!ua) { - DEBUG_ERROR(DEBUG_CATEGORY_MEMORY, "Failed to create uasync instance"); - return 1; - } - - // Create and initialize instance - struct UTUN_INSTANCE *instance = utun_instance_create(ua, args.config_file, args.log_file); - if (!instance) { - DEBUG_ERROR(DEBUG_CATEGORY_MEMORY, "Failed to create UTUN instance"); - return 1; - } - - // Print config for debugging - if (args.foreground) { - print_config(instance->config); - } - - // Initialize all components (TUN, routing, connections) - if (utun_instance_init(instance) < 0) { - DEBUG_ERROR(DEBUG_CATEGORY_MEMORY, "Failed to initialize instance"); - utun_instance_destroy(instance); - return 1; - } - - // Register sockets with uasync - if (utun_instance_register_sockets(instance) < 0) { - DEBUG_ERROR(DEBUG_CATEGORY_MEMORY, "Failed to register sockets"); - utun_instance_destroy(instance); - return 1; - } - - // Setup signal handlers - signal(SIGINT, signal_handler); - signal(SIGTERM, signal_handler); - signal(SIGHUP, signal_handler); - - // Daemonize if not in foreground - if (!args.foreground) { - if (daemonize() < 0) { - DEBUG_ERROR(DEBUG_CATEGORY_ETCP, "Failed to daemonize"); - utun_instance_destroy(instance); - return 1; - } - } - - // Write PID file - if (write_pidfile(args.pid_file) < 0) { - utun_instance_destroy(instance); - return 1; - } - - while (instance->running) uasync_poll(ua, 100); - - // Cleanup - DEBUG_ERROR(DEBUG_CATEGORY_ETCP, "Shutdown"); - - utun_instance_unregister_sockets(instance); - utun_instance_destroy(instance); - remove_pidfile(args.pid_file); - - return 0; -} diff --git a/!/utun.conf b/!/utun.conf deleted file mode 100755 index 7c60c68b..00000000 --- a/!/utun.conf +++ /dev/null @@ -1,42 +0,0 @@ -[global] -tun_ip=10.0.0.1 -mtu=1500 # MTU for all connections (0 = use default 1500) -control_ip=127.0.0.1 -control_port=12345 -net_debug=0 - -my_node_id=61be9d4cd3c60c2d -my_private_key=1313912e5d34768983b0e06530a48c77816d228a5b5605e1ab3dc443d107a3dc -my_public_key= - - -[routing] -allowed_subnet=10.0.0.0/24 -allowed_subnet=10.22.0.0/16 -allowed_subnet=10.23.0.0/16 -my_subnet=10.23.5.0/24 -my_subnet=10.23.6.0/24 - -# мои адреса и каналы -[server: lo0_test] -addr=127.0.0.1:1330 -#so_mark=100 -#netif=eth0 -type=nat # public / nat / private - -[server: lan1] -addr=192.168.29.117:1333 -so_mark=100 -netif=eth0 -type=public # public / nat / private - -[client: client_test1] - -# линки -link=lo0_test:192.168.0.20:1234 -#link=wired1_fast:1.2.3.4:1234 -link=lan1:192.168.0.20:1234 -#link=wireless_bkp:1.2.3.4:1234 - -keepalive=1 -peer_public_key=deadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbee \ No newline at end of file diff --git a/!/utun_instance.c b/!/utun_instance.c deleted file mode 100755 index fc29a12f..00000000 --- a/!/utun_instance.c +++ /dev/null @@ -1,388 +0,0 @@ -// utun_instance.c - Root instance implementation -#include "utun_instance.h" -#include "config_parser.h" -#include "config_updater.h" -#include "tun_if.h" -#include "routing.h" -#include "etcp_connections.h" -#include "etcp.h" -#include "utun_test_hooks.h" -#include "../lib/u_async.h" -#include "../lib/debug_config.h" -#include -#include -#include -#include -#include -#include - - - -// Forward declarations -static uint32_t get_dest_ip(const uint8_t *packet, size_t len); - - - -// Global instance for signal handlers -static struct UTUN_INSTANCE *g_instance = NULL; - -// Create and initialize root instance with extended flags -struct UTUN_INSTANCE* utun_instance_create_ex(struct UASYNC* ua, const char *config_file, const char *log_file, uint32_t flags) { - struct UTUN_INSTANCE *instance = calloc(1, sizeof(struct UTUN_INSTANCE)); - if (!instance) return NULL; - - // Initialize basic fields - instance->running = 0; - instance->log_fp = NULL; - instance->ua = ua; - - // Note: Global debug system is initialized from command line arguments if provided - // If not initialized via command line, instance-specific logging can be set up here - // The first initialization wins - either global (from main) or instance-specific - - // Ensure keys and node_id exist in config - if (config_ensure_keys_and_node_id(config_file) < 0) { - DEBUG_ERROR(DEBUG_CATEGORY_CONFIG, "Failed to ensure keys and node_id in config: %s", config_file); - free(instance); - return NULL; - } - - // Load configuration - instance->config = parse_config(config_file); - if (!instance->config) { - DEBUG_ERROR(DEBUG_CATEGORY_CONFIG, "Failed to load config from %s", config_file); - free(instance); - return NULL; - } - - // Open log file only if not using global debug system output - if (log_file && !g_debug_config.output_file) { - instance->log_fp = fopen(log_file, "a"); - if (!instance->log_fp) { - DEBUG_ERROR(DEBUG_CATEGORY_MEMORY, "Failed to open log file %s: %s", log_file, strerror(errno)); - } - } - // Set node_id from config - instance->node_id = instance->config->global.my_node_id; - - // Set my keys - if (sc_init_local_keys(&instance->my_keys, instance->config->global.my_public_key_hex, instance->config->global.my_private_key_hex)) { - DEBUG_ERROR(DEBUG_CATEGORY_MEMORY, "Failed to initialize local keys"); - } - - - instance->pkt_pool=memory_pool_init(PACKET_DATA_SIZE+100); - - // Conditional TUN initialization based on flags - if (!(flags & UTUN_CREATE_NO_TUN)) { - int tun_result; - - // Use test hook if available and in test mode - if ((flags & UTUN_CREATE_TEST_MODE) && g_utun_test_hooks && g_utun_test_hooks->tun_create_override) { - tun_result = g_utun_test_hooks->tun_create_override(&instance->tun); - DEBUG_INFO(DEBUG_CATEGORY_TUN, "TUN creation using test hook: result=%d", tun_result); - } else { - tun_result = tun_create(&instance->tun); - } - - if (tun_result < 0) { - if (flags & UTUN_CREATE_ALLOW_TUN_FAILURE) { - DEBUG_WARN(DEBUG_CATEGORY_TUN, "TUN creation failed, continuing without TUN (ALLOW_TUN_FAILURE flag)"); - instance->tun.fd = -1; // Mark as disabled - } else { - DEBUG_ERROR(DEBUG_CATEGORY_TUN, "Failed to create TUN device"); - free(instance); - return NULL; - } - } else { - // TUN created successfully, configure it - // Configure TUN device IP (BSD: use config IP as-is, Linux/Win: IP/32) - char tun_ip_str[64]; - char ip_buffer[64]; - - // Convert struct IP to string using inet_ntop - if (instance->config->global.tun_ip.family == AF_INET) { - inet_ntop(AF_INET, &instance->config->global.tun_ip.addr.v4, ip_buffer, sizeof(ip_buffer)); - } else { - inet_ntop(AF_INET6, &instance->config->global.tun_ip.addr.v6, ip_buffer, sizeof(ip_buffer)); - } - - #ifdef __linux__ - snprintf(tun_ip_str, sizeof(tun_ip_str), "%s/32", ip_buffer); - #elif defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__) || defined(__APPLE__) - // BSD systems: use config IP as-is, peer IP will be 192.0.2.1 - snprintf(tun_ip_str, sizeof(tun_ip_str), "%s", ip_buffer); - #else - snprintf(tun_ip_str, sizeof(tun_ip_str), "%s/32", ip_buffer); // Default to /32 - #endif - - if (tun_set_ip(instance->tun.ifname, tun_ip_str) < 0) { - DEBUG_ERROR(DEBUG_CATEGORY_TUN, "Failed to set TUN IP: %s", tun_ip_str); - tun_close(&instance->tun); - free(instance); - return NULL; - } - - // Set MTU (default 1500) - int mtu = instance->config->global.mtu > 0 ? instance->config->global.mtu : 1500; - if (tun_set_mtu(instance->tun.ifname, mtu) < 0) { - DEBUG_ERROR(DEBUG_CATEGORY_TUN, "Failed to set TUN MTU: %d", mtu); - tun_close(&instance->tun); - free(instance); - return NULL; - } - - if (tun_set_up(instance->tun.ifname) < 0) { - DEBUG_ERROR(DEBUG_CATEGORY_TUN, "Failed to bring up TUN interface"); - tun_close(&instance->tun); - free(instance); - return NULL; - } - - DEBUG_INFO(DEBUG_CATEGORY_TUN, "TUN interface initialized: %s with IP %s", - instance->tun.ifname, tun_ip_str); - } - } else { - DEBUG_INFO(DEBUG_CATEGORY_TUN, "TUN initialization skipped (NO_TUN flag)"); - instance->tun.fd = -1; // Explicitly disabled - } - - // Create routing table - instance->routing_table = routing_table_create(); - if (!instance->routing_table) { - DEBUG_ERROR(DEBUG_CATEGORY_ROUTING, "Failed to create routing table"); - tun_close(&instance->tun); - free(instance); - return NULL; - } - // Initialize connections from configuration - moved to utun_instance_init - // to avoid double initialization - /* - if (init_connections(instance) < 0) { - DEBUG_ERROR(DEBUG_CATEGORY_ETCP, "Failed to initialize connections"); - // Cleanup will be handled by utun_instance_destroy - return NULL; - } - */ - - return instance; -} - -// Destroy instance and cleanup resources -void utun_instance_destroy(struct UTUN_INSTANCE *instance) { - if (!instance) return; - - DEBUG_INFO(DEBUG_CATEGORY_MEMORY, "[INSTANCE_DESTROY] Starting cleanup for instance %p", instance); - - // Диагностика ресурсов ДО cleanup - utun_instance_diagnose_leaks(instance, "BEFORE_CLEANUP"); - - // Stop running if not already - instance->running = 0; - - // Unregister all sockets from uasync BEFORE destroying ETCP components - DEBUG_INFO(DEBUG_CATEGORY_MEMORY, "[INSTANCE_DESTROY] Unregistering sockets from uasync"); - utun_instance_unregister_sockets(instance); - DEBUG_INFO(DEBUG_CATEGORY_MEMORY, "[INSTANCE_DESTROY] Socket unregistration complete"); - - - // Cleanup ETCP sockets and connections FIRST (before destroying uasync) - DEBUG_INFO(DEBUG_CATEGORY_MEMORY, "[INSTANCE_DESTROY] Cleaning up ETCP sockets and connections"); - struct ETCP_SOCKET* sock = instance->etcp_sockets; - while (sock) { - struct ETCP_SOCKET* next = sock->next; - DEBUG_INFO(DEBUG_CATEGORY_MEMORY, "[INSTANCE_DESTROY] Removing socket %p, fd=%d", sock, sock->fd); - etcp_socket_remove(sock); // Полный cleanup сокета - sock = next; - } - instance->etcp_sockets = NULL; - DEBUG_INFO(DEBUG_CATEGORY_MEMORY, "[INSTANCE_DESTROY] ETCP sockets cleanup complete"); - - struct ETCP_CONN* conn = instance->connections; - while (conn) { - struct ETCP_CONN* next = conn->next; - DEBUG_INFO(DEBUG_CATEGORY_MEMORY, "[INSTANCE_DESTROY] Closing connection %p", conn); - etcp_connection_close(conn); // Закрыть соединение - conn = next; - } - instance->connections = NULL; - DEBUG_INFO(DEBUG_CATEGORY_MEMORY, "[INSTANCE_DESTROY] ETCP connections cleanup complete"); - - // Cleanup other components - if (instance->routing_table) { - DEBUG_INFO(DEBUG_CATEGORY_MEMORY, "[INSTANCE_DESTROY] Destroying routing table"); - routing_table_destroy(instance->routing_table); - instance->routing_table = NULL; - } - - // Cleanup TUN - if (instance->tun.fd >= 0) { - DEBUG_INFO(DEBUG_CATEGORY_TUN, "Closing TUN interface: %s", instance->tun.ifname); - tun_close(&instance->tun); - } - - // Cleanup config - if (instance->config) { - DEBUG_INFO(DEBUG_CATEGORY_MEMORY, "[INSTANCE_DESTROY] Freeing configuration"); - free_config(instance->config); - instance->config = NULL; - } - - // Close log file - if (instance->log_fp) { - DEBUG_INFO(DEBUG_CATEGORY_MEMORY, "[INSTANCE_DESTROY] Closing log file"); - fclose(instance->log_fp); - instance->log_fp = NULL; - } - - // Cleanup packet pool (ensure no leak if stop wasn't called) - if (instance->pkt_pool) { - DEBUG_INFO(DEBUG_CATEGORY_MEMORY, "[INSTANCE_DESTROY] Destroying packet pool"); - memory_pool_destroy(instance->pkt_pool); - instance->pkt_pool = NULL; - } - - // FINALLY destroy uasync (after all resources are cleaned up) - if (instance->ua) { - DEBUG_INFO(DEBUG_CATEGORY_MEMORY, "[INSTANCE_DESTROY] Destroying uasync instance"); - uasync_destroy(instance->ua); - instance->ua = NULL; - } - - // Clear global instance - if (g_instance == instance) { - g_instance = NULL; - } - - // Free the instance memory - DEBUG_INFO(DEBUG_CATEGORY_MEMORY, "[INSTANCE_DESTROY] Freeing instance memory"); - free(instance); - DEBUG_INFO(DEBUG_CATEGORY_MEMORY, "[INSTANCE_DESTROY] Instance destroyed completely"); -} - -// Stop instance -void utun_instance_stop(struct UTUN_INSTANCE *instance) { - if (!instance) return; - instance->running = 0; - // Wakeup main loop using built-in uasync wakeup - if (instance->ua) { - memory_pool_destroy(instance->pkt_pool); - uasync_wakeup(instance->ua); - } - - -} - -int utun_instance_init(struct UTUN_INSTANCE *instance) { - if (!instance) return -1; - - // Register TUN socket with uasync - if (instance->tun.fd >= 0) { - instance->tun_socket_id = uasync_add_socket(instance->ua, instance->tun.fd, - tun_read_callback, NULL, NULL, instance); - if (!instance->tun_socket_id) { - DEBUG_ERROR(DEBUG_CATEGORY_TUN, "Failed to register TUN socket with uasync"); - return -1; - } - DEBUG_INFO(DEBUG_CATEGORY_TUN, "TUN interface registered: %s (fd=%d)", - instance->tun.ifname, instance->tun.fd); - } - - // Initialize connections - if (init_connections(instance) < 0) { - return -1; - } - - return 0; -} - -// Диагностическая функция для анализа утечек -void utun_instance_diagnose_leaks(struct UTUN_INSTANCE *instance, const char *phase) { - if (!instance) { - DEBUG_ERROR(DEBUG_CATEGORY_MEMORY, "[DIAGNOSE] NULL instance for phase: %s", phase); - return; - } - - struct { - int etcp_sockets_count; - int etcp_connections_count; - int etcp_links_count; - } report = {0}; - - // Подсчёт ETCP сокетов - struct ETCP_SOCKET *sock = instance->etcp_sockets; - while (sock) { - report.etcp_sockets_count++; - // Подсчёт линков в каждом сокете - for (size_t i = 0; i < sock->num_channels; i++) { - if (sock->links[i]) { - report.etcp_links_count++; - } - } - sock = sock->next; - } - - // Подсчёт ETCP соединений - struct ETCP_CONN *conn = instance->connections; - while (conn) { - report.etcp_connections_count++; - // Подсчёт линков в соединениях - struct ETCP_LINK *link = conn->links; - while (link) { - report.etcp_links_count++; - link = link->next; - } - conn = conn->next; - } - - printf("\n🔍 [UTUN_INSTANCE LEAK DIAGNOSIS] Phase: %s\n", phase); - printf(" Instance: %p\n", instance); - printf(" Node ID: %llu\n", (unsigned long long)instance->node_id); - printf(" UA instance: %p\n", instance->ua); - printf(" Running: %d\n", instance->running); - - printf("\n📊 STRUCTURE COUNTS:\n"); - printf(" ETCP Sockets: %d active\n", report.etcp_sockets_count); - printf(" ETCP Connections: %d active\n", report.etcp_connections_count); - printf(" ETCP Links: %d total\n", report.etcp_links_count); - - printf("\n🔧 RESOURCE STATUS:\n"); - printf(" Memory Pool: %s\n", instance->pkt_pool ? "ALLOCATED" : "NULL"); - printf(" TUN Socket ID: %p\n", instance->tun_socket_id); - printf(" TUN FD: %d\n", instance->tun.fd); - printf(" Connections list: %p\n", instance->connections); - printf(" ETCP Sockets list: %p\n", instance->etcp_sockets); - - printf("\n⚠️ POTENTIAL LEAKS:\n"); - if (instance->pkt_pool) { - printf(" ❌ Memory Pool not freed\n"); - } - if (instance->tun_socket_id) { - printf(" ❌ TUN socket not unregistered from uasync\n"); - } - if (report.etcp_sockets_count > 0) { - printf(" ❌ %d ETCP sockets still allocated\n", report.etcp_sockets_count); - } - if (report.etcp_connections_count > 0) { - printf(" ❌ %d ETCP connections still allocated\n", report.etcp_connections_count); - } - if (report.etcp_links_count > 0) { - printf(" ❌ %d ETCP links still allocated\n", report.etcp_links_count); - } - - printf("\n📋 RECOMMENDATIONS:\n"); - if (instance->pkt_pool) { - printf(" → Call memory_pool_destroy() before freeing instance\n"); - } - if (instance->tun_socket_id) { - printf(" → Call uasync_remove_socket() for TUN socket\n"); - } - if (report.etcp_sockets_count > 0) { - printf(" → Iterate and call etcp_socket_remove() for each socket\n"); - } - if (report.etcp_connections_count > 0) { - printf(" → Iterate and call etcp_connection_close() for each connection\n"); - } - - printf("\n"); -} diff --git a/!/utun_instance.c.backup b/!/utun_instance.c.backup deleted file mode 100755 index e0dae7ea..00000000 --- a/!/utun_instance.c.backup +++ /dev/null @@ -1,314 +0,0 @@ -// utun_instance.c - Root instance implementation -#include "utun_instance.h" -#include "config_parser.h" -#include "config_updater.h" -#include "tun_if.h" -#include "routing.h" -#include "etcp_connections.h" -#include "etcp.h" -#include "../lib/u_async.h" -#include "../lib/debug_config.h" -#include -#include -#include -#include -#include -#include - -// Forward declarations -static void tun_read_callback(int fd, void* user_arg); -static uint32_t get_dest_ip(const uint8_t *packet, size_t len); - -// Global instance for signal handlers -static struct UTUN_INSTANCE *g_instance = NULL; - -// Create and initialize root instance -struct UTUN_INSTANCE* utun_instance_create(struct UASYNC* ua, const char *config_file, const char *log_file) { - struct UTUN_INSTANCE *instance = calloc(1, sizeof(struct UTUN_INSTANCE)); - if (!instance) return NULL; - - // Initialize basic fields - instance->running = 0; - instance->log_fp = NULL; - instance->ua = ua; - - // Ensure keys and node_id exist in config - if (config_ensure_keys_and_node_id(config_file) < 0) { - DEBUG_ERROR(DEBUG_CATEGORY_CONFIG, "Failed to ensure keys and node_id in config: %s", config_file); - free(instance); - return NULL; - } - - // Load configuration - instance->config = parse_config(config_file); - if (!instance->config) { - DEBUG_ERROR(DEBUG_CATEGORY_CONFIG, "Failed to load config from %s", config_file); - free(instance); - return NULL; - } - - // Open log file - if (log_file) { - instance->log_fp = fopen(log_file, "a"); - if (!instance->log_fp) { - DEBUG_ERROR(DEBUG_CATEGORY_MEMORY, "Failed to open log file %s: %s", log_file, strerror(errno)); - } - } - // Set node_id from config - instance->node_id = instance->config->global.my_node_id; - - // Set my keys - if (sc_init_local_keys(&instance->my_keys, instance->config->global.my_public_key_hex, instance->config->global.my_private_key_hex)) { - DEBUG_ERROR(DEBUG_CATEGORY_MEMORY, "Failed to initialize local keys"); - } - - - instance->pkt_pool=memory_pool_init(PACKET_DATA_SIZE+100); -/* - // Initialize TUN device - if (tun_create(&instance->tun) < 0) { - DEBUG_ERROR(DEBUG_CATEGORY_TUN, "Failed to create TUN device"); - return -1; - } - - // Configure TUN device - if (tun_set_ip(instance->tun.ifname, instance->config->global.tun_ip) < 0) { - DEBUG_ERROR(DEBUG_CATEGORY_TUN, "Failed to set TUN IP"); - tun_close(&instance->tun); - return -1; - } - - if (instance->config->global.mtu > 0) { - if (tun_set_mtu(instance->tun.ifname, instance->config->global.mtu) < 0) { - DEBUG_ERROR(DEBUG_CATEGORY_TUN, "Failed to set TUN MTU"); - tun_close(&instance->tun); - return -1; - } - } - - if (tun_set_up(instance->tun.ifname) < 0) { - DEBUG_ERROR(DEBUG_CATEGORY_TUN, "Failed to bring up TUN interface"); - tun_close(&instance->tun); - return -1; - } - - // Create routing table - instance->routing_table = routing_table_create(); - if (!instance->routing_table) { - DEBUG_ERROR(DEBUG_CATEGORY_ROUTING, "Failed to create routing table"); - return -1; - } -*/ - // Initialize connections from configuration - moved to utun_instance_init - // to avoid double initialization - /* - if (init_connections(instance) < 0) { - DEBUG_ERROR(DEBUG_CATEGORY_ETCP, "Failed to initialize connections"); - // Cleanup will be handled by utun_instance_destroy - return NULL; - } - */ - - return instance; -} - -// Destroy instance and cleanup resources -void utun_instance_destroy(struct UTUN_INSTANCE *instance) { - if (!instance) return; - - printf("[INSTANCE_DESTROY] Starting cleanup for instance %p\n", instance); - - // Диагностика ресурсов ДО cleanup - utun_instance_diagnose_leaks(instance, "BEFORE_CLEANUP"); - - // Stop running if not already - instance->running = 0; - - // Cleanup ETCP sockets and connections FIRST (before destroying uasync) - DEBUG_INFO(DEBUG_CATEGORY_MEMORY, "[INSTANCE_DESTROY] Cleaning up ETCP sockets and connections"); - struct ETCP_SOCKET* sock = instance->etcp_sockets; - while (sock) { - struct ETCP_SOCKET* next = sock->next; - DEBUG_INFO(DEBUG_CATEGORY_MEMORY, "[INSTANCE_DESTROY] Removing socket %p, fd=%d", sock, sock->fd); - etcp_socket_remove(sock); // Полный cleanup сокета - sock = next; - } - instance->etcp_sockets = NULL; - DEBUG_INFO(DEBUG_CATEGORY_MEMORY, "[INSTANCE_DESTROY] ETCP sockets cleanup complete"); - - struct ETCP_CONN* conn = instance->connections; - while (conn) { - struct ETCP_CONN* next = conn->next; - DEBUG_INFO(DEBUG_CATEGORY_MEMORY, "[INSTANCE_DESTROY] Closing connection %p", conn); - etcp_connection_close(conn); // Закрыть соединение - conn = next; - } - instance->connections = NULL; - DEBUG_INFO(DEBUG_CATEGORY_MEMORY, "[INSTANCE_DESTROY] ETCP connections cleanup complete"); - - // Cleanup other components - if (instance->routing_table) { - DEBUG_INFO(DEBUG_CATEGORY_MEMORY, "[INSTANCE_DESTROY] Destroying routing table"); - routing_table_destroy(instance->routing_table); - instance->routing_table = NULL; - } - - // Cleanup TUN - if (instance->tun.fd >= 0) { - DEBUG_INFO(DEBUG_CATEGORY_MEMORY, "[INSTANCE_DESTROY] Closing TUN interface"); - tun_close(&instance->tun); - } - - // Cleanup config - if (instance->config) { - DEBUG_INFO(DEBUG_CATEGORY_MEMORY, "[INSTANCE_DESTROY] Freeing configuration"); - free_config(instance->config); - instance->config = NULL; - } - - // Close log file - if (instance->log_fp) { - DEBUG_INFO(DEBUG_CATEGORY_MEMORY, "[INSTANCE_DESTROY] Closing log file"); - fclose(instance->log_fp); - instance->log_fp = NULL; - } - - // Cleanup packet pool (ensure no leak if stop wasn't called) - if (instance->pkt_pool) { - DEBUG_INFO(DEBUG_CATEGORY_MEMORY, "[INSTANCE_DESTROY] Destroying packet pool"); - memory_pool_destroy(instance->pkt_pool); - instance->pkt_pool = NULL; - } - - // FINALLY destroy uasync (after all resources are cleaned up) - if (instance->ua) { - DEBUG_INFO(DEBUG_CATEGORY_MEMORY, "[INSTANCE_DESTROY] Destroying uasync instance"); - uasync_destroy(instance->ua); - instance->ua = NULL; - } - - // Clear global instance - if (g_instance == instance) { - g_instance = NULL; - } - - // Free the instance memory - DEBUG_INFO(DEBUG_CATEGORY_MEMORY, "[INSTANCE_DESTROY] Freeing instance memory"); - free(instance); - DEBUG_INFO(DEBUG_CATEGORY_MEMORY, "[INSTANCE_DESTROY] Instance destroyed completely"); -} - -// Stop instance -void utun_instance_stop(struct UTUN_INSTANCE *instance) { - if (!instance) return; - instance->running = 0; - // Wakeup main loop using built-in uasync wakeup - if (instance->ua) { - memory_pool_destroy(instance->pkt_pool); - uasync_wakeup(instance->ua); - } - - -} - -int utun_instance_init(struct UTUN_INSTANCE *instance) { - if (!instance) return -1; - - // Initialize connections - if (init_connections(instance) < 0) { - return -1; - } - - return 0; -} - -// Диагностическая функция для анализа утечек -void utun_instance_diagnose_leaks(struct UTUN_INSTANCE *instance, const char *phase) { - if (!instance) { - printf("[DIAGNOSE] NULL instance for phase: %s\n", phase); - return; - } - - struct { - int etcp_sockets_count; - int etcp_connections_count; - int etcp_links_count; - } report = {0}; - - // Подсчёт ETCP сокетов - struct ETCP_SOCKET *sock = instance->etcp_sockets; - while (sock) { - report.etcp_sockets_count++; - // Подсчёт линков в каждом сокете - for (size_t i = 0; i < sock->num_channels; i++) { - if (sock->links[i]) { - report.etcp_links_count++; - } - } - sock = sock->next; - } - - // Подсчёт ETCP соединений - struct ETCP_CONN *conn = instance->connections; - while (conn) { - report.etcp_connections_count++; - // Подсчёт линков в соединениях - struct ETCP_LINK *link = conn->links; - while (link) { - report.etcp_links_count++; - link = link->next; - } - conn = conn->next; - } - - printf("\n🔍 [UTUN_INSTANCE LEAK DIAGNOSIS] Phase: %s\n", phase); - printf(" Instance: %p\n", instance); - printf(" Node ID: %llu\n", (unsigned long long)instance->node_id); - printf(" UA instance: %p\n", instance->ua); - printf(" Running: %d\n", instance->running); - - printf("\n📊 STRUCTURE COUNTS:\n"); - printf(" ETCP Sockets: %d active\n", report.etcp_sockets_count); - printf(" ETCP Connections: %d active\n", report.etcp_connections_count); - printf(" ETCP Links: %d total\n", report.etcp_links_count); - - printf("\n🔧 RESOURCE STATUS:\n"); - printf(" Memory Pool: %s\n", instance->pkt_pool ? "ALLOCATED" : "NULL"); - printf(" TUN Socket ID: %p\n", instance->tun_socket_id); - printf(" TUN FD: %d\n", instance->tun.fd); - printf(" Connections list: %p\n", instance->connections); - printf(" ETCP Sockets list: %p\n", instance->etcp_sockets); - - printf("\n⚠️ POTENTIAL LEAKS:\n"); - if (instance->pkt_pool) { - printf(" ❌ Memory Pool not freed\n"); - } - if (instance->tun_socket_id) { - printf(" ❌ TUN socket not unregistered from uasync\n"); - } - if (report.etcp_sockets_count > 0) { - printf(" ❌ %d ETCP sockets still allocated\n", report.etcp_sockets_count); - } - if (report.etcp_connections_count > 0) { - printf(" ❌ %d ETCP connections still allocated\n", report.etcp_connections_count); - } - if (report.etcp_links_count > 0) { - printf(" ❌ %d ETCP links still allocated\n", report.etcp_links_count); - } - - printf("\n📋 RECOMMENDATIONS:\n"); - if (instance->pkt_pool) { - printf(" → Call memory_pool_destroy() before freeing instance\n"); - } - if (instance->tun_socket_id) { - printf(" → Call uasync_remove_socket() for TUN socket\n"); - } - if (report.etcp_sockets_count > 0) { - printf(" → Iterate and call etcp_socket_remove() for each socket\n"); - } - if (report.etcp_connections_count > 0) { - printf(" → Iterate and call etcp_connection_close() for each connection\n"); - } - - printf("\n"); -} diff --git a/!/utun_instance.c1 b/!/utun_instance.c1 deleted file mode 100755 index 2cb5bda3..00000000 --- a/!/utun_instance.c1 +++ /dev/null @@ -1,230 +0,0 @@ -// utun_instance.c - Root instance implementation -#include "utun_instance.h" -#include "config_parser.h" -#include "config_updater.h" -#include "tun_if.h" -#include "routing.h" -#include "etcp_connections.h" -#include "etcp.h" -#include "../lib/u_async.h" -#include "../lib/debug_config.h" -#include -#include -#include -#include -#include -#include - -// Forward declarations -static void tun_read_callback(int fd, void* user_arg); -static uint32_t get_dest_ip(const uint8_t *packet, size_t len); - -// Global instance for signal handlers -static struct UTUN_INSTANCE *g_instance = NULL; - -// Create and initialize root instance -struct UTUN_INSTANCE* utun_instance_create(struct UASYNC* ua, const char *config_file, const char *log_file) { - struct UTUN_INSTANCE *instance = calloc(1, sizeof(struct UTUN_INSTANCE)); - if (!instance) return NULL; - - // Initialize basic fields - instance->running = 0; - instance->log_fp = NULL; - instance->ua = ua; - - // Ensure keys and node_id exist in config - if (config_ensure_keys_and_node_id(config_file) < 0) { - DEBUG_ERROR(DEBUG_CATEGORY_CONFIG, "Failed to ensure keys and node_id in config: %s", config_file); - free(instance); - return NULL; - } - - // Load configuration - instance->config = parse_config(config_file); - if (!instance->config) { - DEBUG_ERROR(DEBUG_CATEGORY_CONFIG, "Failed to load config from %s", config_file); - free(instance); - return NULL; - } - - // Open log file - if (log_file) { - instance->log_fp = fopen(log_file, "a"); - if (!instance->log_fp) { - DEBUG_ERROR(DEBUG_CATEGORY_MEMORY, "Failed to open log file %s: %s", log_file, strerror(errno)); - } - } - // Set node_id from config - instance->node_id = instance->config->global.my_node_id; - - // Set my keys - if (sc_init_local_keys(&instance->my_keys, instance->config->global.my_public_key_hex, instance->config->global.my_private_key_hex)) { - DEBUG_ERROR(DEBUG_CATEGORY_MEMORY, "Failed to initialize local keys"); - } - - - instance->pkt_pool=memory_pool_init(PACKET_DATA_SIZE+100); -/* - // Initialize TUN device - if (tun_create(&instance->tun) < 0) { - DEBUG_ERROR(DEBUG_CATEGORY_TUN, "Failed to create TUN device"); - return -1; - } - - // Configure TUN device - if (tun_set_ip(instance->tun.ifname, instance->config->global.tun_ip) < 0) { - DEBUG_ERROR(DEBUG_CATEGORY_TUN, "Failed to set TUN IP"); - tun_close(&instance->tun); - return -1; - } - - if (instance->config->global.mtu > 0) { - if (tun_set_mtu(instance->tun.ifname, instance->config->global.mtu) < 0) { - DEBUG_ERROR(DEBUG_CATEGORY_TUN, "Failed to set TUN MTU"); - tun_close(&instance->tun); - return -1; - } - } - - if (tun_set_up(instance->tun.ifname) < 0) { - DEBUG_ERROR(DEBUG_CATEGORY_TUN, "Failed to bring up TUN interface"); - tun_close(&instance->tun); - return -1; - } - - // Create routing table - instance->routing_table = routing_table_create(); - if (!instance->routing_table) { - DEBUG_ERROR(DEBUG_CATEGORY_ROUTING, "Failed to create routing table"); - return -1; - } -*/ - // Initialize connections from configuration - moved to utun_instance_init - // to avoid double initialization - /* - if (init_connections(instance) < 0) { - DEBUG_ERROR(DEBUG_CATEGORY_ETCP, "Failed to initialize connections"); - // Cleanup will be handled by utun_instance_destroy - return NULL; - } - */ - - return instance; -} - -// Destroy instance and cleanup resources -void utun_instance_destroy(struct UTUN_INSTANCE *instance) { - if (!instance) return; - - printf("[INSTANCE_DESTROY] Starting cleanup for instance %p\n", instance); - - // Stop running - instance->running = 0; - - // Cleanup ETCP sockets and connections FIRST (before destroying uasync) - printf("[INSTANCE_DESTROY] Cleaning up ETCP sockets and connections\n"); - if (instance->etcp_sockets) { - printf("[INSTANCE_DESTROY] Found ETCP sockets to cleanup\n"); - struct ETCP_SOCKET* sock = instance->etcp_sockets; - while (sock) { - struct ETCP_SOCKET* next = sock->next; - printf("[INSTANCE_DESTROY] Removing socket %p, fd=%d\n", sock, sock->fd); - etcp_socket_remove(sock); // Полный cleanup сокета - sock = next; - } - instance->etcp_sockets = NULL; - printf("[INSTANCE_DESTROY] ETCP sockets cleanup complete\n"); - } - - if (instance->connections) { - printf("[INSTANCE_DESTROY] Found ETCP connections to cleanup\n"); - struct ETCP_CONN* conn = instance->connections; - while (conn) { - struct ETCP_CONN* next = conn->next; - printf("[INSTANCE_DESTROY] Closing connection %p\n", conn); - etcp_connection_close(conn); // Закрыть соединение - conn = next; - } - instance->connections = NULL; - printf("[INSTANCE_DESTROY] ETCP connections cleanup complete\n"); - } - - // Cleanup other components - if (instance->routing_table) { - routing_table_destroy(instance->routing_table); - } - - // Cleanup TUN - if (instance->tun.fd >= 0) { - tun_close(&instance->tun); - } - - // Cleanup config - if (instance->config) { - free_config(instance->config); - } - - // Close log file - if (instance->log_fp) { - fclose(instance->log_fp); - } - - // FINALLY destroy uasync (after all resources are cleaned up) - printf("[INSTANCE_DESTROY] Destroying uasync instance\n"); - if (instance->ua) { - uasync_destroy(instance->ua); - } - - // Free the instance memory - printf("[INSTANCE_DESTROY] Freeing instance memory\n"); - free(instance); - printf("[INSTANCE_DESTROY] Instance destroyed completely\n"); - - // Cleanup TUN - if (instance->tun.fd >= 0) { - tun_close(&instance->tun); - } - - // Cleanup config - if (instance->config) { - free_config(instance->config); - } - - // Close log file - if (instance->log_fp) { - fclose(instance->log_fp); - } - - // uasync cleanup will handle its built-in wakeup pipe - - // Clear global instance - if (g_instance == instance) { - g_instance = NULL; - } - - free(instance); -} - -// Stop instance -void utun_instance_stop(struct UTUN_INSTANCE *instance) { - if (!instance) return; - instance->running = 0; - // Wakeup main loop using built-in uasync wakeup - if (instance->ua) { - memory_pool_destroy(instance->pkt_pool); - uasync_wakeup(instance->ua); - } - - -} - -int utun_instance_init(struct UTUN_INSTANCE *instance) { - if (!instance) return -1; - - // Initialize connections - if (init_connections(instance) < 0) { - return -1; - } - - return 0; -} diff --git a/!/utun_instance.h b/!/utun_instance.h deleted file mode 100755 index 57b9e5d6..00000000 --- a/!/utun_instance.h +++ /dev/null @@ -1,72 +0,0 @@ -#ifndef UTUN_INSTANCE_H -#define UTUN_INSTANCE_H - -#include -#include -#include -#include "../lib/memory_pool.h" -#include "secure_channel.h" -#include "tun_if.h" - -// Forward declarations -struct utun_config; -struct uasync_s; -struct routing_table; -struct ETCP_CONN; -struct ETCP_SOCKET; - -// uTun instance configuration -struct UTUN_INSTANCE { - // Configuration (moved from utun_state) - struct utun_config *config; - - // TUN interface - struct tun_config tun; - void *tun_socket_id; // Socket ID from uasync_add_socket - - // Identification - uint64_t node_id; - - struct SC_MYKEYS my_keys; - - // Main async context - struct UASYNC* ua; - - // State - int running; - FILE *log_fp; - - struct memory_pool* pkt_pool; - // Routing - struct routing_table *routing_table; - - // Connections - struct ETCP_CONN* connections;// linked-list - int connections_count; // Number of connections - - // Active sockets - struct ETCP_SOCKET* etcp_sockets;// linked-list -}; - -// Instance creation flags -#define UTUN_CREATE_ALLOW_TUN_FAILURE 0x0001 // Continue if TUN creation fails -#define UTUN_CREATE_NO_TUN 0x0002 // Skip TUN initialization entirely -#define UTUN_CREATE_TEST_MODE 0x0004 // Enable test hooks and virtual interfaces -#define UTUN_CREATE_NO_SOCKET_BIND 0x0008 // Skip socket binding (for test injection) - -// Functions -struct UTUN_INSTANCE* utun_instance_create_ex(struct UASYNC* ua, const char* config_file, const char* log_file, uint32_t flags); - -// Backward compatibility wrapper -static inline struct UTUN_INSTANCE* utun_instance_create(struct UASYNC* ua, const char* config_file, const char* log_file) { - return utun_instance_create_ex(ua, config_file, log_file, 0); -} -void utun_instance_destroy(struct UTUN_INSTANCE* instance); -int utun_instance_init(struct UTUN_INSTANCE *instance); -void utun_instance_run(struct UTUN_INSTANCE *instance); -void utun_instance_stop(struct UTUN_INSTANCE *instance); - -// Diagnostic function for memory leak analysis -void utun_instance_diagnose_leaks(struct UTUN_INSTANCE* instance, const char* phase); - -#endif // UTUN_INSTANCE_H diff --git a/!/utun_test_framework.c b/!/utun_test_framework.c deleted file mode 100755 index 6678f2dc..00000000 --- a/!/utun_test_framework.c +++ /dev/null @@ -1,586 +0,0 @@ -#include "utun_test_framework.h" -#include "utun_instance.h" -#include "../lib/u_async.h" -#include "../lib/debug_config.h" -#include "../lib/ll_queue.h" -#include "test_udp_socket.h" -#include -#include -#include -#include -#include -#include -#include - -// External mutex from test_udp_socket.c -extern pthread_mutex_t g_registry_mutex; - -#ifndef DEBUG_CATEGORY_TEST -#define DEBUG_CATEGORY_TEST (1 << 30) -#endif - -// Default test configurations -const struct test_instance_config TEST_SERVER_CONFIG = { - .config_file = "test_server.conf", - .node_id = 0x1111222233334444, - .port_base = 40000, - .enable_tun = false, - .enable_socket_hooks = true, - .enable_packet_capture = true, - .log_file = NULL -}; - -const struct test_instance_config TEST_CLIENT_CONFIG = { - .config_file = "test_client.conf", - .node_id = 0x8888777766665555, - .port_base = 40100, - .enable_tun = false, - .enable_socket_hooks = true, - .enable_packet_capture = true, - .log_file = NULL -}; - -// Forward declarations for internal functions -static int test_tun_create_hook(void* priv_data); -static ssize_t test_tun_read_hook(int fd, void *buf, size_t count, void* priv_data); -static ssize_t test_tun_write_hook(int fd, const void *buf, size_t count, void* priv_data); -static int test_socket_create_hook(int domain, int type, int protocol, void* context); -static void test_packet_capture_hook(struct UTUN_INSTANCE* instance, const uint8_t* packet, size_t len, - const char* direction, void* context); -static void test_cleanup_captured_packets(struct test_instance* test); - -// Create test instance with virtual components -struct test_instance* test_create_instance(const struct test_instance_config* config) { - if (!config) { - DEBUG_ERROR(DEBUG_CATEGORY_TEST, "NULL configuration provided"); - return NULL; - } - - struct test_instance* test = calloc(1, sizeof(struct test_instance)); - if (!test) { - DEBUG_ERROR(DEBUG_CATEGORY_TEST, "Failed to allocate test instance"); - return NULL; - } - - // Copy configuration - test->config = *config; - - // Create uasync instance - test->ua = uasync_create(); - if (!test->ua) { - DEBUG_ERROR(DEBUG_CATEGORY_TEST, "Failed to create uasync instance"); - free(test); - return NULL; - } - - // Setup test hooks based on configuration - if (config->enable_tun || config->enable_socket_hooks || config->enable_packet_capture) { - test->hooks.test_context = test; - - if (config->enable_tun) { - // Create virtual TUN - char vtun_name[32]; - snprintf(vtun_name, sizeof(vtun_name), "vtun%ld", config->node_id & 0xFFFF); - test->vtun = virtual_tun_create(vtun_name); - if (!test->vtun) { - DEBUG_ERROR(DEBUG_CATEGORY_TEST, "Failed to create virtual TUN"); - uasync_destroy(test->ua); - free(test); - return NULL; - } - - test->hooks.tun_create_override = test_tun_create_hook; - test->hooks.tun_read_override = test_tun_read_hook; - test->hooks.tun_write_override = test_tun_write_hook; - } - - if (config->enable_socket_hooks) { - test->hooks.socket_create_override = test_socket_create_hook; - test->hooks.sendto_override = NULL; // Will be handled by virtual UDP sockets - test->hooks.recvfrom_override = NULL; // Will be handled by virtual UDP sockets - } - - if (config->enable_packet_capture) { - test->hooks.packet_captured = test_packet_capture_hook; - } - - // Install hooks - #ifdef TEST_BUILD - utun_test_hooks_set(&test->hooks); - test->hooks_installed = true; - #endif - } - - // Allocate packet capture buffer - if (config->enable_packet_capture) { - test->captured_packets.capacity = 1000; - test->captured_packets.packets = calloc(test->captured_packets.capacity, sizeof(uint8_t*)); - test->captured_packets.lengths = calloc(test->captured_packets.capacity, sizeof(size_t)); - test->captured_packets.directions = calloc(test->captured_packets.capacity, sizeof(char*)); - - if (!test->captured_packets.packets || !test->captured_packets.lengths || !test->captured_packets.directions) { - DEBUG_ERROR(DEBUG_CATEGORY_TEST, "Failed to allocate packet capture buffers"); - if (test->vtun) virtual_tun_destroy(test->vtun); - uasync_destroy(test->ua); - free(test); - return NULL; - } - } - - // Allocate UDP socket tracking - test->udp_socket_capacity = 16; - test->udp_sockets = calloc(test->udp_socket_capacity, sizeof(struct test_udp_socket*)); - if (!test->udp_sockets) { - DEBUG_ERROR(DEBUG_CATEGORY_TEST, "Failed to allocate UDP socket tracking"); - test_cleanup_captured_packets(test); - if (test->vtun) virtual_tun_destroy(test->vtun); - uasync_destroy(test->ua); - free(test); - return NULL; - } - - DEBUG_INFO(DEBUG_CATEGORY_TEST, "Created test instance: node_id=0x%016lX, config=%s", - config->node_id, config->config_file); - return test; -} - -// Destroy test instance -void test_destroy_instance(struct test_instance* test) { - if (!test) return; - - DEBUG_INFO(DEBUG_CATEGORY_TEST, "Destroying test instance: node_id=0x%016lX", - test->config.node_id); - - // Stop instance if running - test_stop_instance(test); - - // Clear hooks if installed - if (test->hooks_installed) { - #ifdef TEST_BUILD - utun_test_hooks_clear(); - #endif - test->hooks_installed = false; - } - - // Destroy virtual components - if (test->vtun) { - virtual_tun_destroy(test->vtun); - } - - // Destroy UDP sockets - for (int i = 0; i < test->udp_socket_count; i++) { - if (test->udp_sockets[i]) { - test_udp_socket_destroy(test->udp_sockets[i]); - } - } - free(test->udp_sockets); - - // Cleanup captured packets - test_cleanup_captured_packets(test); - - // Destroy uasync - if (test->ua) { - uasync_destroy(test->ua); - } - - // Destroy UTUN instance - if (test->utun) { - utun_instance_destroy(test->utun); - } - - free(test); -} - -// Start test instance -int test_start_instance(struct test_instance* test) { - if (!test) return -1; - if (test->utun) return 0; // Already started - - DEBUG_INFO(DEBUG_CATEGORY_TEST, "Starting test instance: node_id=0x%016lX", test->config.node_id); - - // Determine flags for instance creation - uint32_t flags = 0; - if (!test->config.enable_tun) { - flags |= UTUN_CREATE_NO_TUN; - } - if (test->config.enable_socket_hooks || test->config.enable_packet_capture) { - flags |= UTUN_CREATE_TEST_MODE; - } - if (test->config.enable_socket_hooks) { - flags |= UTUN_CREATE_NO_SOCKET_BIND; - } - if (test->config.enable_tun) { - flags |= UTUN_CREATE_ALLOW_TUN_FAILURE; // Allow virtual TUN to fail gracefully - } - - // Create UTUN instance - test->utun = utun_instance_create_ex(test->ua, test->config.config_file, test->config.log_file, flags); - if (!test->utun) { - DEBUG_ERROR(DEBUG_CATEGORY_TEST, "Failed to create UTUN instance"); - return -1; - } - - // Initialize instance - if (utun_instance_init(test->utun) < 0) { - DEBUG_ERROR(DEBUG_CATEGORY_TEST, "Failed to initialize UTUN instance"); - utun_instance_destroy(test->utun); - test->utun = NULL; - return -1; - } - - DEBUG_INFO(DEBUG_CATEGORY_TEST, "Test instance started successfully"); - return 0; -} - -// Stop test instance -void test_stop_instance(struct test_instance* test) { - if (!test || !test->utun) return; - - DEBUG_INFO(DEBUG_CATEGORY_TEST, "Stopping test instance: node_id=0x%016lX", test->config.node_id); - - utun_instance_stop(test->utun); -} - -// Inject packet into TUN interface -int test_inject_tun_packet(struct test_instance* test, const uint8_t* packet, size_t len) { - if (!test || !test->vtun || !packet || len == 0) { - DEBUG_ERROR(DEBUG_CATEGORY_TEST, "Invalid parameters for TUN packet injection"); - return -1; - } - - return virtual_tun_inject_packet(test->vtun, packet, len); -} - -// Inject UDP packet -int test_inject_udp_packet(struct test_instance* test, int socket_fd, - const uint8_t* packet, size_t len, - const struct sockaddr* src_addr, socklen_t addr_len) { - if (!test || !packet || len == 0) { - DEBUG_ERROR(DEBUG_CATEGORY_TEST, "Invalid parameters for UDP packet injection"); - return -1; - } - - struct test_udp_socket* sock = test_udp_socket_find_by_fd(socket_fd); - if (!sock) { - DEBUG_ERROR(DEBUG_CATEGORY_TEST, "Socket fd=%d not found", socket_fd); - return -1; - } - - return test_udp_socket_inject(sock, packet, len, src_addr, addr_len); -} - -// Get captured packets -size_t test_get_captured_packets(struct test_instance* test, - const char* direction, - uint8_t*** packets, size_t** lengths) { - if (!test || !direction || !packets || !lengths) return 0; - - // Count packets matching direction - size_t count = 0; - for (size_t i = 0; i < test->captured_packets.count; i++) { - if (strcmp(test->captured_packets.directions[i], direction) == 0) { - count++; - } - } - - if (count == 0) return 0; - - // Allocate result arrays - *packets = calloc(count, sizeof(uint8_t*)); - *lengths = calloc(count, sizeof(size_t)); - if (!*packets || !*lengths) { - free(*packets); - free(*lengths); - return 0; - } - - // Fill result arrays - size_t result_idx = 0; - for (size_t i = 0; i < test->captured_packets.count; i++) { - if (strcmp(test->captured_packets.directions[i], direction) == 0) { - (*packets)[result_idx] = test->captured_packets.packets[i]; - (*lengths)[result_idx] = test->captured_packets.lengths[i]; - result_idx++; - } - } - - return count; -} - -// Get captured packet count -size_t test_get_captured_packet_count(struct test_instance* test, const char* direction) { - if (!test || !direction) return 0; - - size_t count = 0; - for (size_t i = 0; i < test->captured_packets.count; i++) { - if (strcmp(test->captured_packets.directions[i], direction) == 0) { - count++; - } - } - return count; -} - -// Clear captured packets -void test_clear_captured_packets(struct test_instance* test) { - if (!test) return; - - for (size_t i = 0; i < test->captured_packets.count; i++) { - if (test->captured_packets.packets[i]) { - free(test->captured_packets.packets[i]); - } - if (test->captured_packets.directions[i]) { - free(test->captured_packets.directions[i]); - } - } - test->captured_packets.count = 0; -} - -// Wait for packet with timeout -int test_wait_for_packet(struct test_instance* test, const char* direction, int timeout_ms) { - if (!test || !direction || timeout_ms <= 0) return -1; - - size_t initial_count = test_get_captured_packet_count(test, direction); - size_t current_count = initial_count; - - struct timeval start, current; - gettimeofday(&start, NULL); - - while (current_count == initial_count) { - gettimeofday(¤t, NULL); - int elapsed_ms = (current.tv_sec - start.tv_sec) * 1000 + (current.tv_usec - start.tv_usec) / 1000; - - if (elapsed_ms >= timeout_ms) { - DEBUG_WARN(DEBUG_CATEGORY_TEST, "Timeout waiting for %s packet after %dms", direction, timeout_ms); - return -1; - } - - usleep(10000); // Sleep 10ms - current_count = test_get_captured_packet_count(test, direction); - } - - DEBUG_INFO(DEBUG_CATEGORY_TEST, "Detected %s packet after %dms", direction, - (current.tv_sec - start.tv_sec) * 1000 + (current.tv_usec - start.tv_usec) / 1000); - return 0; -} - -// Two-instance test runner -int test_run_two_instances(const struct test_instance_config* server_config, - const struct test_instance_config* client_config, - void (*test_scenario)(struct test_instance* server, - struct test_instance* client), - int timeout_ms) { - if (!server_config || !client_config || !test_scenario) { - DEBUG_ERROR(DEBUG_CATEGORY_TEST, "Invalid parameters for two-instance test"); - return -1; - } - - DEBUG_INFO(DEBUG_CATEGORY_TEST, "Starting two-instance test"); - - // Create instances - struct test_instance* server = test_create_instance(server_config); - struct test_instance* client = test_create_instance(client_config); - - if (!server || !client) { - DEBUG_ERROR(DEBUG_CATEGORY_TEST, "Failed to create test instances"); - test_destroy_instance(server); - test_destroy_instance(client); - return -1; - } - - // Start instances - if (test_start_instance(server) < 0 || test_start_instance(client) < 0) { - DEBUG_ERROR(DEBUG_CATEGORY_TEST, "Failed to start test instances"); - test_destroy_instance(server); - test_destroy_instance(client); - return -1; - } - - // Give instances time to initialize - sleep(1); - - // Run test scenario - int result = 0; - if (timeout_ms > 0) { - // TODO: Implement timeout mechanism for test scenario - test_scenario(server, client); - } else { - test_scenario(server, client); - } - - // Cleanup - test_destroy_instance(server); - test_destroy_instance(client); - - DEBUG_INFO(DEBUG_CATEGORY_TEST, "Two-instance test completed: %s", result == 0 ? "SUCCESS" : "FAILED"); - return result; -} - -// Get test instance statistics -void test_get_instance_stats(struct test_instance* test, size_t* tun_packets_sent, - size_t* tun_packets_received, size_t* udp_packets_sent, - size_t* udp_packets_received) { - if (!test) return; - - if (test->vtun) { - virtual_tun_get_stats(test->vtun, tun_packets_sent, tun_packets_received, NULL, NULL); - } - - // Aggregate UDP socket statistics - size_t udp_sent = 0, udp_received = 0; - for (int i = 0; i < test->udp_socket_count; i++) { - if (test->udp_sockets[i]) { - size_t sent, recv; - test_udp_socket_get_stats(test->udp_sockets[i], &sent, &recv, NULL, NULL, NULL, NULL); - udp_sent += sent; - udp_received += recv; - } - } - - if (udp_packets_sent) *udp_packets_sent = udp_sent; - if (udp_packets_received) *udp_packets_received = udp_received; -} - -// Utility functions -const char* test_get_direction_name(const char* direction) { - if (!direction) return "unknown"; - - if (strcmp(direction, "tun_in") == 0) return "TUN incoming"; - if (strcmp(direction, "tun_out") == 0) return "TUN outgoing"; - if (strcmp(direction, "udp_in") == 0) return "UDP incoming"; - if (strcmp(direction, "udp_out") == 0) return "UDP outgoing"; - return direction; -} - -int test_compare_packets(const uint8_t* pkt1, size_t len1, const uint8_t* pkt2, size_t len2) { - if (!pkt1 || !pkt2) return -1; - if (len1 != len2) return -1; - return memcmp(pkt1, pkt2, len1); -} - -void test_dump_packet(const char* prefix, const uint8_t* packet, size_t len) { - if (!prefix || !packet || len == 0) return; - - printf("%s: %zu bytes\n", prefix, len); - for (size_t i = 0; i < len; i++) { - printf("%02X ", packet[i]); - if ((i + 1) % 16 == 0) printf("\n"); - } - if (len % 16 != 0) printf("\n"); -} - -// Internal hook implementations -static int test_tun_create_hook(void* priv_data) { - struct test_instance* test = (struct test_instance*)priv_data; - if (!test || !test->vtun) return -1; - - // Return the read fd as the TUN device fd - return virtual_tun_get_read_fd(test->vtun); -} - -static ssize_t test_tun_read_hook(int fd, void *buf, size_t count, void* priv_data) { - struct test_instance* test = (struct test_instance*)priv_data; - if (!test || !test->vtun) return -1; - - return virtual_tun_read_packet(test->vtun, buf, count); -} - -static ssize_t test_tun_write_hook(int fd, const void *buf, size_t count, void* priv_data) { - struct test_instance* test = (struct test_instance*)priv_data; - if (!test || !test->vtun) return -1; - - ssize_t result = virtual_tun_write_packet(test->vtun, buf, count); - - // Capture packet if enabled - if (test->config.enable_packet_capture && result > 0) { - test_packet_capture_hook(test->utun, buf, result, "tun_out", test); - } - - return result; -} - -static int test_socket_create_hook(int domain, int type, int protocol, void* context) { - struct test_instance* test = (struct test_instance*)context; - if (!test || !test->config.enable_socket_hooks) return -1; - - // Create virtual UDP socket - struct test_udp_socket* sock = test_udp_socket_create(domain); - if (!sock) return -1; - - // Add to tracking - pthread_mutex_lock(&g_registry_mutex); - if (test->udp_socket_count >= test->udp_socket_capacity) { - // Expand array - int new_capacity = test->udp_socket_capacity * 2; - struct test_udp_socket** new_sockets = realloc(test->udp_sockets, - new_capacity * sizeof(struct test_udp_socket*)); - if (!new_sockets) { - pthread_mutex_unlock(&g_registry_mutex); - test_udp_socket_destroy(sock); - return -1; - } - test->udp_sockets = new_sockets; - test->udp_socket_capacity = new_capacity; - } - test->udp_sockets[test->udp_socket_count++] = sock; - pthread_mutex_unlock(&g_registry_mutex); - - return test_udp_socket_get_fd(sock); -} - -static void test_packet_capture_hook(struct UTUN_INSTANCE* instance, const uint8_t* packet, size_t len, - const char* direction, void* context) { - struct test_instance* test = (struct test_instance*)context; - if (!test || !test->config.enable_packet_capture || !packet || len == 0) return; - - // Expand capture buffer if needed - if (test->captured_packets.count >= test->captured_packets.capacity) { - size_t new_capacity = test->captured_packets.capacity * 2; - uint8_t** new_packets = realloc(test->captured_packets.packets, - new_capacity * sizeof(uint8_t*)); - size_t* new_lengths = realloc(test->captured_packets.lengths, - new_capacity * sizeof(size_t)); - char** new_directions = realloc(test->captured_packets.directions, - new_capacity * sizeof(char*)); - - if (!new_packets || !new_lengths || !new_directions) { - DEBUG_ERROR(DEBUG_CATEGORY_TEST, "Failed to expand packet capture buffer"); - return; - } - - test->captured_packets.packets = new_packets; - test->captured_packets.lengths = new_lengths; - test->captured_packets.directions = new_directions; - test->captured_packets.capacity = new_capacity; - } - - // Store packet - uint8_t* packet_copy = malloc(len); - if (!packet_copy) return; - - memcpy(packet_copy, packet, len); - test->captured_packets.packets[test->captured_packets.count] = packet_copy; - test->captured_packets.lengths[test->captured_packets.count] = len; - test->captured_packets.directions[test->captured_packets.count] = strdup(direction); - test->captured_packets.count++; - - DEBUG_DEBUG(DEBUG_CATEGORY_TEST, "Captured packet: %s, %zu bytes", direction, len); -} - -static void test_cleanup_captured_packets(struct test_instance* test) { - if (!test) return; - - for (size_t i = 0; i < test->captured_packets.count; i++) { - if (test->captured_packets.packets[i]) { - free(test->captured_packets.packets[i]); - } - if (test->captured_packets.directions[i]) { - free(test->captured_packets.directions[i]); - } - } - - free(test->captured_packets.packets); - free(test->captured_packets.lengths); - free(test->captured_packets.directions); - - memset(&test->captured_packets, 0, sizeof(test->captured_packets)); -} \ No newline at end of file diff --git a/!/utun_test_framework.h b/!/utun_test_framework.h deleted file mode 100755 index fc17025e..00000000 --- a/!/utun_test_framework.h +++ /dev/null @@ -1,114 +0,0 @@ -#ifndef UTUN_TEST_FRAMEWORK_H -#define UTUN_TEST_FRAMEWORK_H - -#include -#include -#include -#include "utun_test_hooks.h" -#include "test_virtual_tun.h" -#include "test_udp_socket.h" - -// Forward declarations -struct UTUN_INSTANCE; -struct UASYNC; - -// Test instance configuration -struct test_instance_config { - const char* config_file; - uint64_t node_id; - int port_base; - bool enable_tun; - bool enable_socket_hooks; - bool enable_packet_capture; - const char* log_file; -}; - -// Test instance with virtual components -struct test_instance { - struct UTUN_INSTANCE* utun; - struct UASYNC* ua; - - // Virtual components - struct virtual_tun* vtun; - struct test_udp_socket** udp_sockets; - int udp_socket_count; - int udp_socket_capacity; - - // Packet capture - struct { - uint8_t** packets; - size_t* lengths; - char** directions; // "tun_in", "tun_out", "udp_in", "udp_out" - size_t count; - size_t capacity; - } captured_packets; - - // Test configuration - struct test_instance_config config; - - // Test context - void* user_context; - - // Test hooks (for internal use) - struct utun_test_hooks hooks; - bool hooks_installed; -}; - -// Create test instance with virtual components -struct test_instance* test_create_instance(const struct test_instance_config* config); - -// Destroy test instance -void test_destroy_instance(struct test_instance* test); - -// Start test instance (initialize and run) -int test_start_instance(struct test_instance* test); - -// Stop test instance -void test_stop_instance(struct test_instance* test); - -// Inject packet into TUN interface -int test_inject_tun_packet(struct test_instance* test, const uint8_t* packet, size_t len); - -// Inject UDP packet -int test_inject_udp_packet(struct test_instance* test, int socket_fd, - const uint8_t* packet, size_t len, - const struct sockaddr* src_addr, socklen_t addr_len); - -// Get captured packets -size_t test_get_captured_packets(struct test_instance* test, - const char* direction, // "tun_in", "tun_out", "udp_in", "udp_out" - uint8_t*** packets, size_t** lengths); - -// Get captured packet count -size_t test_get_captured_packet_count(struct test_instance* test, const char* direction); - -// Clear captured packets -void test_clear_captured_packets(struct test_instance* test); - -// Wait for packet with timeout (milliseconds) -int test_wait_for_packet(struct test_instance* test, - const char* direction, - int timeout_ms); - -// Two-instance test runner -int test_run_two_instances(const struct test_instance_config* server_config, - const struct test_instance_config* client_config, - void (*test_scenario)(struct test_instance* server, - struct test_instance* client), - int timeout_ms); - -// Get test instance statistics -void test_get_instance_stats(struct test_instance* test, size_t* tun_packets_sent, - size_t* tun_packets_received, size_t* udp_packets_sent, - size_t* udp_packets_received); - -// Utility functions -const char* test_get_direction_name(const char* direction); -int test_compare_packets(const uint8_t* pkt1, size_t len1, const uint8_t* pkt2, size_t len2); -void test_dump_packet(const char* prefix, const uint8_t* packet, size_t len); - -// Default test configurations -extern const struct test_instance_config TEST_SERVER_CONFIG; -extern const struct test_instance_config TEST_CLIENT_CONFIG; - -#endif // UTUN_TEST_FRAMEWORK_H \ No newline at end of file diff --git a/!/utun_test_hooks.c b/!/utun_test_hooks.c deleted file mode 100755 index 36a07b59..00000000 --- a/!/utun_test_hooks.c +++ /dev/null @@ -1,30 +0,0 @@ -#include "utun_test_hooks.h" -#include "utun_instance.h" -#include "../lib/debug_config.h" - -// Add test category if not already defined -#ifndef DEBUG_CATEGORY_TEST -#define DEBUG_CATEGORY_TEST (1 << 30) // High bit for test category -#endif - -// Global test hooks - NULL in production -struct utun_test_hooks* g_utun_test_hooks = NULL; - -#ifdef TEST_BUILD -void utun_test_hooks_set(struct utun_test_hooks* hooks) { - if (!hooks) { - DEBUG_ERROR(DEBUG_CATEGORY_TEST, "Attempt to set NULL test hooks"); - return; - } - - DEBUG_INFO(DEBUG_CATEGORY_TEST, "Setting test hooks: sendto=%p, recvfrom=%p, tun_create=%p", - hooks->sendto_override, hooks->recvfrom_override, hooks->tun_create_override); - - g_utun_test_hooks = hooks; -} - -void utun_test_hooks_clear(void) { - DEBUG_INFO(DEBUG_CATEGORY_TEST, "Clearing test hooks (was: %p)", g_utun_test_hooks); - g_utun_test_hooks = NULL; -} -#endif \ No newline at end of file diff --git a/!/utun_test_hooks.h b/!/utun_test_hooks.h deleted file mode 100755 index b487dad9..00000000 --- a/!/utun_test_hooks.h +++ /dev/null @@ -1,126 +0,0 @@ -#ifndef UTUN_TEST_HOOKS_H -#define UTUN_TEST_HOOKS_H - -#include -#include -#include -#include -#include - -// Forward declarations -struct UTUN_INSTANCE; -struct ETCP_SOCKET; - -// UDP packet interception callbacks -typedef ssize_t (*utun_sendto_hook_t)(int sockfd, const void *buf, size_t len, int flags, - const struct sockaddr *dest_addr, socklen_t addrlen, - void* context); -typedef ssize_t (*utun_recvfrom_hook_t)(int sockfd, void *buf, size_t len, int flags, - struct sockaddr *src_addr, socklen_t *addrlen, - void* context); - -// TUN virtual interface callbacks -typedef int (*tun_create_hook_t)(void* priv_data); -typedef ssize_t (*tun_read_hook_t)(int fd, void *buf, size_t count, void* priv_data); -typedef ssize_t (*tun_write_hook_t)(int fd, const void *buf, size_t count, void* priv_data); - -// Socket creation callback -typedef int (*socket_create_hook_t)(int domain, int type, int protocol, void* context); - -// Test packet capture callback -typedef void (*packet_capture_hook_t)(struct UTUN_INSTANCE* instance, - const uint8_t* packet, size_t len, - const char* direction, // "tun_in", "tun_out", "udp_in", "udp_out" - void* context); - -struct utun_test_hooks { - // UDP socket hooks - utun_sendto_hook_t sendto_override; - utun_recvfrom_hook_t recvfrom_override; - - // TUN hooks - tun_create_hook_t tun_create_override; - tun_read_hook_t tun_read_override; - tun_write_hook_t tun_write_override; - - // Socket creation hook - socket_create_hook_t socket_create_override; - - // Packet capture - packet_capture_hook_t packet_captured; - - // Context for callbacks - void* test_context; -}; - -// Global test hooks - NULL in production, set only by test code -extern struct utun_test_hooks* g_utun_test_hooks; - -// Test-aware wrapper functions - inline for zero overhead when NULL -static inline ssize_t utun_sendto_hook(int sockfd, const void *buf, size_t len, int flags, - const struct sockaddr *dest_addr, socklen_t addrlen) { - if (g_utun_test_hooks && g_utun_test_hooks->sendto_override) { - return g_utun_test_hooks->sendto_override(sockfd, buf, len, flags, dest_addr, addrlen, - g_utun_test_hooks->test_context); - } - return sendto(sockfd, buf, len, flags, dest_addr, addrlen); -} - -static inline ssize_t utun_recvfrom_hook(int sockfd, void *buf, size_t len, int flags, - struct sockaddr *src_addr, socklen_t *addrlen) { - if (g_utun_test_hooks && g_utun_test_hooks->recvfrom_override) { - return g_utun_test_hooks->recvfrom_override(sockfd, buf, len, flags, src_addr, addrlen, - g_utun_test_hooks->test_context); - } - return recvfrom(sockfd, buf, len, flags, src_addr, addrlen); -} - -static inline int tun_create_hook(void* priv_data) { - if (g_utun_test_hooks && g_utun_test_hooks->tun_create_override) { - return g_utun_test_hooks->tun_create_override(priv_data); - } - return -1; // Default: no TUN available in test mode -} - -static inline ssize_t tun_read_hook(int fd, void *buf, size_t count, void* priv_data) { - if (g_utun_test_hooks && g_utun_test_hooks->tun_read_override) { - return g_utun_test_hooks->tun_read_override(fd, buf, count, priv_data); - } - return read(fd, buf, count); -} - -static inline ssize_t tun_write_hook(int fd, const void *buf, size_t count, void* priv_data) { - if (g_utun_test_hooks && g_utun_test_hooks->tun_write_override) { - return g_utun_test_hooks->tun_write_override(fd, buf, count, priv_data); - } - return write(fd, buf, count); -} - -static inline int socket_create_hook(int domain, int type, int protocol) { - if (g_utun_test_hooks && g_utun_test_hooks->socket_create_override) { - return g_utun_test_hooks->socket_create_override(domain, type, protocol, - g_utun_test_hooks->test_context); - } - return socket(domain, type, protocol); -} - -static inline void packet_capture_hook(struct UTUN_INSTANCE* instance, - const uint8_t* packet, size_t len, - const char* direction) { - if (g_utun_test_hooks && g_utun_test_hooks->packet_captured) { - g_utun_test_hooks->packet_captured(instance, packet, len, direction, - g_utun_test_hooks->test_context); - } -} - -// Functions to set/clear test hooks (only available in test builds) -#ifdef TEST_BUILD -void utun_test_hooks_set(struct utun_test_hooks* hooks); -void utun_test_hooks_clear(void); -#else -// In production builds, these are no-ops for safety -static inline void utun_test_hooks_set(struct utun_test_hooks* hooks) { (void)hooks; } -static inline void utun_test_hooks_clear(void) {} -#endif - -#endif // UTUN_TEST_HOOKS_H \ No newline at end of file diff --git a/!/utun_test_socket_api.c b/!/utun_test_socket_api.c deleted file mode 100644 index eb627145..00000000 --- a/!/utun_test_socket_api.c +++ /dev/null @@ -1,117 +0,0 @@ -#include "utun_test_socket_api.h" -#include -#include -#include - -void utun_test_packet_queue_init(struct utun_test_packet_queue* queue) { - if (!queue) return; - queue->head = NULL; - queue->tail = NULL; - queue->count = 0; -} - -void utun_test_packet_queue_cleanup(struct utun_test_packet_queue* queue) { - if (!queue) return; - - struct utun_test_packet* pkt = queue->head; - while (pkt) { - struct utun_test_packet* next = pkt->next; - free(pkt->data); - free(pkt); - pkt = next; - } - - queue->head = NULL; - queue->tail = NULL; - queue->count = 0; -} - -void utun_test_packet_queue_push(struct utun_test_packet_queue* queue, - const uint8_t* data, size_t len, - const struct sockaddr* addr, socklen_t addrlen) { - if (!queue || !data) return; - - struct utun_test_packet* pkt = calloc(1, sizeof(*pkt)); - if (!pkt) return; - - pkt->data = malloc(len); - if (!pkt->data) { - free(pkt); - return; - } - - memcpy(pkt->data, data, len); - pkt->len = len; - - if (addr && addrlen > 0 && addrlen <= sizeof(pkt->addr)) { - memcpy(&pkt->addr, addr, addrlen); - pkt->addrlen = addrlen; - } - - pkt->next = NULL; - - if (queue->tail) { - queue->tail->next = pkt; - } else { - queue->head = pkt; - } - queue->tail = pkt; - queue->count++; -} - -struct utun_test_packet* utun_test_packet_queue_pop(struct utun_test_packet_queue* queue) { - if (!queue || !queue->head) return NULL; - - struct utun_test_packet* pkt = queue->head; - queue->head = pkt->next; - - if (!queue->head) { - queue->tail = NULL; - } - - queue->count--; - pkt->next = NULL; - - return pkt; -} - -size_t utun_test_packet_queue_count(struct utun_test_packet_queue* queue) { - return queue ? queue->count : 0; -} - -ssize_t utun_test_default_on_send(const uint8_t* data, size_t len, - const struct sockaddr* dest_addr, socklen_t dest_addrlen, - void* user_data) { - struct utun_test_socket_api* api = (struct utun_test_socket_api*)user_data; - if (!api || !data || len == 0) return -1; - - utun_test_packet_queue_push(&api->send_queue, data, len, dest_addr, dest_addrlen); - return len; -} - -ssize_t utun_test_default_on_recv(uint8_t* buffer, size_t buffer_size, - struct sockaddr* src_addr, socklen_t* src_addrlen, - void* user_data) { - struct utun_test_socket_api* api = (struct utun_test_socket_api*)user_data; - if (!api || !buffer || buffer_size == 0) return -1; - - struct utun_test_packet* pkt = utun_test_packet_queue_pop(&api->recv_queue); - if (!pkt) { - errno = EAGAIN; - return -1; - } - - size_t to_copy = (pkt->len < buffer_size) ? pkt->len : buffer_size; - memcpy(buffer, pkt->data, to_copy); - - if (src_addr && src_addrlen && *src_addrlen > 0) { - socklen_t copy_len = (pkt->addrlen < *src_addrlen) ? pkt->addrlen : *src_addrlen; - memcpy(src_addr, &pkt->addr, copy_len); - *src_addrlen = copy_len; - } - - free(pkt->data); - free(pkt); - - return to_copy; -} \ No newline at end of file diff --git a/!/utun_test_socket_api.h b/!/utun_test_socket_api.h deleted file mode 100644 index ce0445c6..00000000 --- a/!/utun_test_socket_api.h +++ /dev/null @@ -1,52 +0,0 @@ -#ifndef UTUN_TEST_SOCKET_API_H -#define UTUN_TEST_SOCKET_API_H - -#include -#include - -struct utun_test_packet { - uint8_t* data; - size_t len; - struct sockaddr_storage addr; - socklen_t addrlen; - struct utun_test_packet* next; -}; - -struct utun_test_packet_queue { - struct utun_test_packet* head; - struct utun_test_packet* tail; - size_t count; -}; - -struct utun_test_socket_api { - struct utun_test_packet_queue send_queue; - struct utun_test_packet_queue recv_queue; - - ssize_t (*on_send)(const uint8_t* data, size_t len, - const struct sockaddr* dest_addr, socklen_t dest_addrlen, - void* user_data); - - ssize_t (*on_recv)(uint8_t* buffer, size_t buffer_size, - struct sockaddr* src_addr, socklen_t* src_addrlen, - void* user_data); - - void* user_data; -}; - -void utun_test_packet_queue_init(struct utun_test_packet_queue* queue); -void utun_test_packet_queue_cleanup(struct utun_test_packet_queue* queue); -void utun_test_packet_queue_push(struct utun_test_packet_queue* queue, - const uint8_t* data, size_t len, - const struct sockaddr* addr, socklen_t addrlen); -struct utun_test_packet* utun_test_packet_queue_pop(struct utun_test_packet_queue* queue); -size_t utun_test_packet_queue_count(struct utun_test_packet_queue* queue); - -ssize_t utun_test_default_on_send(const uint8_t* data, size_t len, - const struct sockaddr* dest_addr, socklen_t dest_addrlen, - void* user_data); - -ssize_t utun_test_default_on_recv(uint8_t* buffer, size_t buffer_size, - struct sockaddr* src_addr, socklen_t* src_addrlen, - void* user_data); - -#endif \ No newline at end of file diff --git a/src/Makefile.am b/src/Makefile.am index 1f52817f..253753d1 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -6,6 +6,7 @@ utun_CORE_SOURCES = \ utun_instance.c \ config_parser.c \ config_updater.c \ + route_lib.c \ routing.c \ tun_if.c \ etcp.c \ diff --git a/src/etcp.c b/src/etcp.c index be8f9c1c..1fb2ebd8 100644 --- a/src/etcp.c +++ b/src/etcp.c @@ -1,8 +1,9 @@ // etcp.c - ETCP Protocol Implementation (refactored and expanded based on etcp_protocol.txt) -#include "etcp.h" -#include "etcp_loadbalancer.h" -#include "../lib/u_async.h" +#include "etcp.h" +#include "etcp_loadbalancer.h" +#include "routing.h" +#include "../lib/u_async.h" #include "../lib/ll_queue.h" #include "../lib/debug_config.h" #include "crc32.h" // For potential hashing, though not used yet. @@ -93,13 +94,16 @@ struct ETCP_CONN* etcp_connection_create(struct UTUN_INSTANCE* instance) { etcp_connection_close(etcp); return NULL; } - -// etcp->normalizer = pn_pair_init(instance->ua, etcp->mtu); -// if (!etcp->normalizer) { -// etcp_connection_close(etcp); -// return NULL; -// } - + + etcp->normalizer = pn_init(etcp); + if (!etcp->normalizer) { + etcp_connection_close(etcp); + return NULL; + } + + // Register with routing module (must be done after normalizer is assigned) + routing_add_conn(etcp); + etcp->mtu = 1500; // Default MTU // etcp->window_size = MAX_INFLIGHT_BYTES; // Not used etcp->next_tx_id = 1; @@ -129,7 +133,13 @@ struct ETCP_CONN* etcp_connection_create(struct UTUN_INSTANCE* instance) { void etcp_connection_close(struct ETCP_CONN* etcp) { DEBUG_TRACE(DEBUG_CATEGORY_ETCP, ""); if (!etcp) return; - + + // Deinitialize packet normalizer (this will call routing_del_conn) + if (etcp->normalizer) { + pn_deinit((struct PKTNORM*)etcp->normalizer); + etcp->normalizer = NULL; + } + // Drain and free input_queue (contains ETCP_FRAGMENT with pkt_data from data_pool) if (etcp->input_queue) { struct ETCP_FRAGMENT* pkt; diff --git a/src/etcp_connections.c b/src/etcp_connections.c index 3c851a81..303ebcbe 100644 --- a/src/etcp_connections.c +++ b/src/etcp_connections.c @@ -5,7 +5,7 @@ #include #include #include -#include "routing.h" +#include "route_lib.h" #include "utun_instance.h" #include "config_parser.h" #include "crc32.h" diff --git a/src/pkt_normalizer.c b/src/pkt_normalizer.c index 58d1fe59..471d35c9 100644 --- a/src/pkt_normalizer.c +++ b/src/pkt_normalizer.c @@ -1,6 +1,8 @@ // pkt_normalizer.c - Implementation of packet normalizer for ETCP #include "pkt_normalizer.h" #include "etcp.h" // For ETCP_CONN and related structures +#include "routing.h" // For routing_add_conn/routing_del_conn +#include "utun_instance.h" // For UTUN_INSTANCE #include "ll_queue.h" // For queue operations #include "u_async.h" // For UASYNC #include @@ -33,14 +35,14 @@ struct PKTNORM* pn_init(struct ETCP_CONN* etcp) { pn->input = queue_new(pn->ua, 0); // No hash needed if (!pn->input) { DEBUG_ERROR(DEBUG_CATEGORY_NORMALIZER, "pn_init: queue_new(input) failed"); - pn_pair_deinit(pn); + pn_deinit(pn); return NULL; } pn->output = queue_new(pn->ua, 0); // No hash needed if (!pn->output) { DEBUG_ERROR(DEBUG_CATEGORY_NORMALIZER, "pn_init: queue_new(output) failed"); - pn_pair_deinit(pn); + pn_deinit(pn); return NULL; } @@ -55,9 +57,14 @@ struct PKTNORM* pn_init(struct ETCP_CONN* etcp) { } // Deinitialization -void pn_pair_deinit(struct PKTNORM* pn) { +void pn_deinit(struct PKTNORM* pn) { if (!pn) return; + // Unregister from routing module + if (pn->etcp) { + routing_del_conn(pn->etcp); + } + // Drain and free queues if (pn->input) { struct ll_entry* entry; diff --git a/src/pkt_normalizer.h b/src/pkt_normalizer.h index 7d3bf9f4..48d0fcc3 100644 --- a/src/pkt_normalizer.h +++ b/src/pkt_normalizer.h @@ -40,7 +40,7 @@ struct PKTNORM { struct PKTNORM* pn_init(struct ETCP_CONN* etcp);// все что нужно (в т.ч. mtu и ua) берет из etcp // Деинициализация пары -void pn_pair_deinit(struct PKTNORM* pn); +void pn_deinit(struct PKTNORM* pn); // Сброс состояния (для unpacker) void pn_unpacker_reset_state(struct PKTNORM* pn); diff --git a/!/routing.c b/src/route_lib.c old mode 100755 new mode 100644 similarity index 78% rename from !/routing.c rename to src/route_lib.c index 80bf340b..1212df3a --- a/!/routing.c +++ b/src/route_lib.c @@ -1,9 +1,9 @@ /** - * @file enhanced_routing.c + * @file route_lib.c * @brief Enhanced routing system with bandwidth support and route types */ -#include "routing.h" +#include "route_lib.h" #include "etcp_connections.h" #include "../lib/debug_config.h" #include @@ -62,17 +62,17 @@ static int compare_routes(const void *a, const void *b) { return route_a->metrics.hop_count - route_b->metrics.hop_count; } -struct routing_table *routing_table_create(void) { - struct routing_table *table = calloc(1, sizeof(struct routing_table)); +struct route_table *route_table_create(void) { + struct route_table *table = calloc(1, sizeof(struct route_table)); if (!table) { - DEBUG_ERROR(DEBUG_CATEGORY_MEMORY, "routing_table_create: failed to allocate memory for routing table"); + DEBUG_ERROR(DEBUG_CATEGORY_MEMORY, "route_table_create: failed to allocate memory for routing table"); return NULL; } table->capacity = INITIAL_ROUTE_CAPACITY; table->entries = calloc(table->capacity, sizeof(struct route_entry)); if (!table->entries) { - DEBUG_ERROR(DEBUG_CATEGORY_MEMORY, "routing_table_create: failed to allocate memory for %d route entries", table->capacity); + DEBUG_ERROR(DEBUG_CATEGORY_MEMORY, "route_table_create: failed to allocate memory for %d route entries", table->capacity); free(table); return NULL; } @@ -82,7 +82,7 @@ struct routing_table *routing_table_create(void) { table->local_subnets = calloc(MAX_SUBNET_VALIDATION_RANGES, sizeof(uint32_t) * 2); if (!table->dynamic_subnets || !table->local_subnets) { - DEBUG_ERROR(DEBUG_CATEGORY_MEMORY, "routing_table_create: failed to allocate memory for subnet validation arrays"); + DEBUG_ERROR(DEBUG_CATEGORY_MEMORY, "route_table_create: failed to allocate memory for subnet validation arrays"); free(table->entries); free(table->dynamic_subnets); free(table->local_subnets); @@ -93,7 +93,7 @@ struct routing_table *routing_table_create(void) { return table; } -void routing_table_destroy(struct routing_table *table) { +void route_table_destroy(struct route_table *table) { if (!table) return; // Free route entries @@ -106,11 +106,11 @@ void routing_table_destroy(struct routing_table *table) { free(table); } -bool routing_table_insert(struct routing_table *table, const struct route_entry *entry) { +bool route_table_insert(struct route_table *table, const struct route_entry *entry) { if (!table || !entry) return false; // Validate the route - if (!routing_validate_route(table, entry->network, entry->prefix_length, entry->type)) { + if (!route_validate_route(table, entry->network, entry->prefix_length, entry->type)) { char ip_str[16]; ip_to_string(entry->network, ip_str); DEBUG_WARN(DEBUG_CATEGORY_ROUTING, "Ignoring invalid route: %s/%d (type: %s)", @@ -125,8 +125,8 @@ bool routing_table_insert(struct routing_table *table, const struct route_entry size_t new_capacity = table->capacity * ROUTE_EXPANSION_FACTOR; struct route_entry *new_entries = realloc(table->entries, new_capacity * sizeof(struct route_entry)); if (!new_entries) { - DEBUG_ERROR(DEBUG_CATEGORY_MEMORY, "routing_table_insert: failed to expand routing table to %zu entries", new_capacity); - return false; + DEBUG_ERROR(DEBUG_CATEGORY_MEMORY, "route_table_insert: failed to expand routing table to %zu entries", new_capacity); + return false; } table->entries = new_entries; @@ -158,9 +158,9 @@ bool routing_table_insert(struct routing_table *table, const struct route_entry return false; } -bool routing_table_lookup(struct routing_table *table, uint32_t dest_ip, struct route_entry *best_route) { +bool route_table_lookup(struct route_table *table, uint32_t dest_ip, struct route_entry *best_route) { if (!table || !best_route) { - DEBUG_WARN(DEBUG_CATEGORY_ROUTING, "routing_table_lookup: invalid parameters (table=%p, best_route=%p)", table, best_route); + DEBUG_WARN(DEBUG_CATEGORY_ROUTING, "route_table_lookup: invalid parameters (table=%p, best_route=%p)", table, best_route); return false; } @@ -179,9 +179,8 @@ bool routing_table_lookup(struct routing_table *table, uint32_t dest_ip, struct char ip_str[16]; ip_to_string(dest_ip, ip_str); - DEBUG_INFO(DEBUG_CATEGORY_ROUTING, "Found route for %s: %s/%d -> %s", - ip_str, ip_to_string(entry->network, ip_str), entry->prefix_length, - ip_to_string(entry->next_hop_ip, ip_str)); + DEBUG_INFO(DEBUG_CATEGORY_ROUTING, "Found route for %s: %s/%d", + ip_str, ip_to_string(entry->network, ip_str), entry->prefix_length); table->stats.hit_count++; table->stats.routes_lookup_hits++; @@ -193,12 +192,12 @@ bool routing_table_lookup(struct routing_table *table, uint32_t dest_ip, struct // No route found char ip_str[16]; ip_to_string(dest_ip, ip_str); - DEBUG_WARN(DEBUG_CATEGORY_ROUTING, "routing_table_lookup: no route found for destination IP %s", ip_str); + DEBUG_WARN(DEBUG_CATEGORY_ROUTING, "route_table_lookup: no route found for destination IP %s", ip_str); return false; } -bool routing_validate_route(struct routing_table *table, uint32_t network, uint8_t prefix_length, route_type_t route_type) { +bool route_validate_route(struct route_table *table, uint32_t network, uint8_t prefix_length, route_type_t route_type) { if (!table) return false; uint32_t *validation_ranges = NULL; @@ -240,7 +239,7 @@ bool routing_validate_route(struct routing_table *table, uint32_t network, uint8 return false; } -bool enhanced_routing_add_subnet_range(struct routing_table *table, uint32_t network, uint8_t prefix_length, uint32_t **ranges, size_t *count) { +static bool enhanced_route_add_subnet_range(struct route_table *table, uint32_t network, uint8_t prefix_length, uint32_t **ranges, size_t *count) { if (!table || !ranges || !count) return false; if (*count >= MAX_SUBNET_VALIDATION_RANGES - 2) return false; @@ -266,15 +265,15 @@ bool enhanced_routing_add_subnet_range(struct routing_table *table, uint32_t net -bool routing_add_dynamic_subnet(struct routing_table *table, uint32_t network, uint8_t prefix_length) { - return enhanced_routing_add_subnet_range(table, network, prefix_length, &table->dynamic_subnets, &table->dynamic_subnet_count); +bool route_add_dynamic_subnet(struct route_table *table, uint32_t network, uint8_t prefix_length) { + return enhanced_route_add_subnet_range(table, network, prefix_length, &table->dynamic_subnets, &table->dynamic_subnet_count); } -bool routing_add_local_subnet(struct routing_table *table, uint32_t network, uint8_t prefix_length) { - return enhanced_routing_add_subnet_range(table, network, prefix_length, &table->local_subnets, &table->local_subnet_count); +bool route_add_local_subnet(struct route_table *table, uint32_t network, uint8_t prefix_length) { + return enhanced_route_add_subnet_range(table, network, prefix_length, &table->local_subnets, &table->local_subnet_count); } -bool routing_get_all_routes(const struct routing_table *table, uint32_t network, uint8_t prefix_length, +bool route_get_all_routes(const struct route_table *table, uint32_t network, uint8_t prefix_length, struct route_entry **routes, size_t *count) { if (!table || !routes || !count) return false; @@ -310,44 +309,40 @@ bool routing_get_all_routes(const struct routing_table *table, uint32_t network, return true; } -void routing_table_print(const struct routing_table *table) { +void route_table_print(const struct route_table *table) { if (!table) return; - printf("\n=== Routing Table ===\n"); - printf("Total routes: %zu\n", table->count); - printf("Dynamic subnets: %zu, Local subnets: %zu\n", + DEBUG_INFO(DEBUG_CATEGORY_ROUTING, "=== Routing Table ==="); + DEBUG_INFO(DEBUG_CATEGORY_ROUTING, "Total routes: %zu", table->count); + DEBUG_INFO(DEBUG_CATEGORY_ROUTING, "Dynamic subnets: %zu, Local subnets: %zu", table->dynamic_subnet_count / 2, table->local_subnet_count / 2); if (table->count > 0) { - printf("\nRoutes:\n"); + DEBUG_INFO(DEBUG_CATEGORY_ROUTING, "Routes:"); for (size_t i = 0; i < table->count; i++) { const struct route_entry *entry = &table->entries[i]; char network_str[16], next_hop_str[16]; ip_to_string(entry->network, network_str); - ip_to_string(entry->next_hop_ip, next_hop_str); - printf(" %zu: %s/%d -> %s [%s]\n", + DEBUG_INFO(DEBUG_CATEGORY_ROUTING, " %zu: %s/%d -> %s [%s]", i + 1, network_str, entry->prefix_length, next_hop_str, route_type_to_string(entry->type)); - printf(" Bandwidth: %uK, Loss: %.2f%%, Latency: %ums, Hops: %d\n", + DEBUG_INFO(DEBUG_CATEGORY_ROUTING, " Bandwidth: %uK, Loss: %.2f%%, Latency: %ums, Hops: %d", entry->metrics.bandwidth_kbps, entry->metrics.packet_loss_rate / 100.0, entry->metrics.latency_ms, entry->metrics.hop_count); - - - printf(" Flags: %s%s%s%s\n", + DEBUG_INFO(DEBUG_CATEGORY_ROUTING, " Flags: %s%s%s%s", (entry->flags & ROUTE_FLAG_ACTIVE) ? "ACTIVE " : "", (entry->flags & ROUTE_FLAG_VALIDATED) ? "VALIDATED " : "", (entry->flags & ROUTE_FLAG_ADVERTISED) ? "ADVERTISED " : "", (entry->flags & ROUTE_FLAG_LEARNED) ? "LEARNED" : ""); - printf("\n"); } } else { - printf("\nNo routes configured.\n"); + DEBUG_INFO(DEBUG_CATEGORY_ROUTING, "No routes configured."); } } @@ -369,4 +364,4 @@ char *ip_to_string(uint32_t ip, char *buffer) { strncpy(buffer, inet_ntoa(addr), 15); buffer[15] = '\0'; return buffer; -} \ No newline at end of file +} diff --git a/src/route_lib.h b/src/route_lib.h new file mode 100644 index 00000000..29fa879b --- /dev/null +++ b/src/route_lib.h @@ -0,0 +1,200 @@ +#ifndef ROUTE_LIB_H +#define ROUTE_LIB_H +#include +#include +#include + +// Forward declarations +struct ETCP_CONNECTIONS; + +/** + * @brief Типы маршрутов + */ +typedef enum { + ROUTE_TYPE_STATIC = 0, /**< Статический маршрут */ + ROUTE_TYPE_DYNAMIC = 1, /**< Динамический маршрут */ + ROUTE_TYPE_LOCAL = 2, /**< Локальный маршрут */ + ROUTE_TYPE_LEARNED = 3 /**< Изученный маршрут */ +} route_type_t; + +/** + * @brief Флаги маршрута + */ +typedef enum { + ROUTE_FLAG_ACTIVE = (1 << 0), /**< Маршрут активен */ + ROUTE_FLAG_VALIDATED = (1 << 1), /**< Маршрут валидирован */ + ROUTE_FLAG_ADVERTISED = (1 << 2), /**< Маршрут анонсирован */ + ROUTE_FLAG_LEARNED = (1 << 3) /**< Маршрут изучен */ +} route_flags_t; + +/** + * @brief Расширенные метрики маршрута + * + * Структура содержит дополнительные метрики для оценки качества маршрута. + */ +struct route_metrics { + uint32_t bandwidth_kbps; /**< Пропускная способность в Кбит/с */ + uint16_t packet_loss_rate; /**< Уровень потери пакетов (в промилле) */ + uint16_t latency_ms; /**< Задержка в миллисекундах */ + uint8_t hop_count; /**< Количество прыжков */ + uint64_t last_updated; /**< Время последнего обновления (в микросекундах) */ +}; + +/** + * @brief Расширенная запись маршрута + * + * Структура представляет собой отдельную запись в таблице маршрутизации с детальной информацией о маршруте. + */ +struct route_entry { + uint32_t network; /**< Сетевой адрес */ + uint8_t prefix_length; /**< Длина префикса подсети */ + struct ETCP_SOCKET* next_hop; /**< Указатель на сокет следующего хопа */ + route_type_t type; /**< Тип маршрута */ + uint8_t flags; /**< Флаги маршрута */ + struct route_metrics metrics; /**< Метрики маршрута */ + uint64_t created_time; /**< Время создания (в микросекундах) */ + uint64_t last_update; /**< Время последнего обновления (в микросекундах) */ + uint64_t last_used; /**< Время последнего использования (в микросекундах) */ +}; + +/** + * @brief Таблица маршрутизации + * + * Структура представляет собой таблицу маршрутизации, содержащую записи маршрутов, подсети и статистику. + */ +struct route_table { + struct route_entry *entries; /**< Массив записей маршрутов */ + size_t count; /**< Текущее количество записей */ + size_t capacity; /**< Максимальная емкость таблицы */ + uint32_t *dynamic_subnets; /**< Динамические подсети (массив пар: сеть, префикс) */ + size_t dynamic_subnet_count; /**< Количество динамических подсетей */ + uint32_t *local_subnets; /**< Локальные подсети (массив пар: сеть, префикс) */ + size_t local_subnet_count; /**< Количество локальных подсетей */ + struct { + uint64_t total_routes; /**< Общее количество маршрутов */ + uint64_t static_routes; /**< Количество статических маршрутов */ + uint64_t dynamic_routes; /**< Количество динамических маршрутов */ + uint64_t local_routes; /**< Количество локальных маршрутов */ + uint64_t learned_routes; /**< Количество изученных маршрутов */ + uint64_t routes_added; /**< Количество добавленных маршрутов */ + uint64_t routes_deleted; /**< Количество удаленных маршрутов */ + uint64_t lookup_count; /**< Количество запросов поиска */ + uint64_t hit_count; /**< Количество успешных поисков */ + uint64_t routes_lookup_hits; /**< Количество попаданий в поиск маршрутов */ + uint64_t routes_lookup_misses; /**< Количество промахов в поиск маршрутов */ + uint64_t validation_failures; /**< Количество неудачных валидаций */ + } stats; /**< Статистика таблицы маршрутизации */ +}; + +/** + * @brief Создает новую таблицу маршрутизации + * + * @return Указатель на созданную таблицу или NULL в случае ошибки + */ +struct route_table *route_table_create(void); + +/** + * @brief Уничтожает таблицу маршрутизации и освобождает ресурсы + * + * @param table Указатель на таблицу маршрутизации + */ +void route_table_destroy(struct route_table *table); + +/** + * @brief Вставляет новую запись в таблицу маршрутизации + * + * @param table Указатель на таблицу маршрутизации + * @param entry Указатель на вставляемую запись маршрута + * @return true если вставка успешна, false иначе + */ +bool route_table_insert(struct route_table *table, const struct route_entry *entry); + +/** + * @brief Удаляет запись из таблицы маршрутизации + * + * @param table Указатель на таблицу маршрутизации + * @param network Сетевой адрес + * @param prefix_length Длина префикса + * @param source_node_id Идентификатор источника узла + * @return true если удаление успешно, false иначе + */ +bool route_table_delete(struct route_table *table, uint32_t network, uint8_t prefix_length, uint32_t source_node_id); + +/** + * @brief Выполняет поиск лучшего маршрута для заданного IP-адреса + * + * @param table Указатель на таблицу маршрутизации + * @param dest_ip Целевой IP-адрес + * @param best_route Указатель на структуру для хранения лучшего маршрута + * @return true если маршрут найден, false иначе + */ +bool route_table_lookup(struct route_table *table, uint32_t dest_ip, struct route_entry *best_route); + +/** + * @brief Валидирует маршрут на основе типа и подсетей + * + * @param table Указатель на таблицу маршрутизации + * @param network Сетевой адрес + * @param prefix_length Длина префикса + * @param route_type Тип маршрута + * @return true если маршрут валиден, false иначе + */ +bool route_validate_route(struct route_table *table, uint32_t network, uint8_t prefix_length, route_type_t route_type); + +/** + * @brief Добавляет динамическую подсеть в таблицу + * + * @param table Указатель на таблицу маршрутизации + * @param network Сетевой адрес + * @param prefix_length Длина префикса + * @return true если добавление успешно, false иначе + */ +bool route_add_dynamic_subnet(struct route_table *table, uint32_t network, uint8_t prefix_length); + +/** + * @brief Добавляет локальную подсеть в таблицу + * + * @param table Указатель на таблицу маршрутизации + * @param network Сетевой адрес + * @param prefix_length Длина префикса + * @return true если добавление успешно, false иначе + */ +bool route_add_local_subnet(struct route_table *table, uint32_t network, uint8_t prefix_length); + +/** + * @brief Получает все маршруты для заданной сети и префикса + * + * @param table Указатель на таблицу маршрутизации + * @param network Сетевой адрес + * @param prefix_length Длина префикса + * @param routes Указатель на массив маршрутов (будет выделен) + * @param count Указатель на количество найденных маршрутов + * @return true если операция успешна, false иначе + */ +bool route_get_all_routes(const struct route_table *table, uint32_t network, uint8_t prefix_length, struct route_entry **routes, size_t *count); + +/** + * @brief Печатает содержимое таблицы маршрутизации + * + * @param table Указатель на таблицу маршрутизации + */ +void route_table_print(const struct route_table *table); + +/** + * @brief Преобразует тип маршрута в строковое представление + * + * @param type Тип маршрута + * @return Строковое представление типа + */ +const char* route_type_to_string(route_type_t type); + +/** + * @brief Преобразует IP-адрес в строковое представление + * + * @param ip IP-адрес в сетевом формате + * @param buffer Буфер для хранения строки (минимум 16 байт) + * @return Указатель на буфер с строкой + */ +char* ip_to_string(uint32_t ip, char *buffer); + +#endif // ROUTE_LIB_H diff --git a/!/routing.txt b/src/route_lib.txt old mode 100755 new mode 100644 similarity index 100% rename from !/routing.txt rename to src/route_lib.txt diff --git a/src/routing.c b/src/routing.c index b038d0ca..f06b04bf 100644 --- a/src/routing.c +++ b/src/routing.c @@ -1,369 +1,245 @@ -/** - * @file enhanced_routing.c - * @brief Enhanced routing system with bandwidth support and route types - */ - +// routing.c - Centralized routing module for utun #include "routing.h" -#include "etcp_connections.h" +#include "route_lib.h" +#include "tun_if.h" +#include "etcp.h" +#include "pkt_normalizer.h" +#include "utun_instance.h" +#include "../lib/ll_queue.h" #include "../lib/debug_config.h" -#include -#include #include +#include #include -#include -#define INITIAL_ROUTE_CAPACITY 100 -#define ROUTE_EXPANSION_FACTOR 2 -#define MAX_SUBNET_VALIDATION_RANGES 50 - -// Parse subnet string -int parse_subnet(const char *subnet_str, uint32_t *network, uint8_t *prefix_length) { - if (!subnet_str || !network || !prefix_length) return -1; - char ip[64]; - int prefix; - if (sscanf(subnet_str, "%[^/]/%d", ip, &prefix) != 2) return -1; - if (prefix < 0 || prefix > 32) return -1; - struct in_addr addr; - if (inet_pton(AF_INET, ip, &addr) != 1) return -1; - *network = ntohl(addr.s_addr); - *prefix_length = (uint8_t)prefix; - return 0; -} +#define IPv4_VERSION 4 +#define IPv6_VERSION 6 +#define IP_HDR_VERSION_OFFSET 0 +#define IP_HDR_DST_ADDR_OFFSET 16 +#define IP_HDR_MIN_SIZE 20 - - -static int compare_routes(const void *a, const void *b) { - const struct route_entry *route_a = (const struct route_entry *)a; - const struct route_entry *route_b = (const struct route_entry *)b; - - // First compare by prefix length (longest prefix first) - if (route_b->prefix_length != route_a->prefix_length) { - return route_b->prefix_length - route_a->prefix_length; - } - - // Then by network - if (route_a->network != route_b->network) { - return route_a->network < route_b->network ? -1 : 1; +// Extract destination IP from IPv4 packet +// Returns 0 if not IPv4 or packet too small +static uint32_t extract_dst_ip(uint8_t* data, size_t len) { + if (!data || len < IP_HDR_MIN_SIZE) { + return 0; } - // Finally by metrics (best route first) - if (route_a->metrics.bandwidth_kbps != route_b->metrics.bandwidth_kbps) { - return route_b->metrics.bandwidth_kbps - route_a->metrics.bandwidth_kbps; - } - - if (route_a->metrics.latency_ms != route_b->metrics.latency_ms) { - return route_a->metrics.latency_ms - route_b->metrics.latency_ms; - } + // Check IP version (first nibble) + uint8_t version = (data[IP_HDR_VERSION_OFFSET] >> 4) & 0x0F; - if (route_a->metrics.packet_loss_rate != route_b->metrics.packet_loss_rate) { - return route_a->metrics.packet_loss_rate - route_b->metrics.packet_loss_rate; + if (version == IPv6_VERSION) { + // IPv6 - drop for now + DEBUG_DEBUG(DEBUG_CATEGORY_ROUTING, "IPv6 packet detected, dropping"); + return 0; } - return route_a->metrics.hop_count - route_b->metrics.hop_count; -} - -struct routing_table *routing_table_create(void) { - struct routing_table *table = calloc(1, sizeof(struct routing_table)); - if (!table) { - DEBUG_ERROR(DEBUG_CATEGORY_MEMORY, "routing_table_create: failed to allocate memory for routing table"); - return NULL; + if (version != IPv4_VERSION) { + DEBUG_DEBUG(DEBUG_CATEGORY_ROUTING, "Unknown IP version: %d", version); + return 0; } - table->capacity = INITIAL_ROUTE_CAPACITY; - table->entries = calloc(table->capacity, sizeof(struct route_entry)); - if (!table->entries) { - DEBUG_ERROR(DEBUG_CATEGORY_MEMORY, "routing_table_create: failed to allocate memory for %d route entries", table->capacity); - free(table); - return NULL; - } - - // Initialize subnet validation arrays - table->dynamic_subnets = calloc(MAX_SUBNET_VALIDATION_RANGES, sizeof(uint32_t) * 2); - table->local_subnets = calloc(MAX_SUBNET_VALIDATION_RANGES, sizeof(uint32_t) * 2); - - if (!table->dynamic_subnets || !table->local_subnets) { - DEBUG_ERROR(DEBUG_CATEGORY_MEMORY, "routing_table_create: failed to allocate memory for subnet validation arrays"); - free(table->entries); - free(table->dynamic_subnets); - free(table->local_subnets); - free(table); - return NULL; - } - - return table; -} - -void routing_table_destroy(struct routing_table *table) { - if (!table) return; - - // Free route entries - free(table->entries); - - // Free validation ranges - free(table->dynamic_subnets); - free(table->local_subnets); + // Extract destination IP (offset 16, 4 bytes, network byte order) + uint32_t dst_ip; + memcpy(&dst_ip, data + IP_HDR_DST_ADDR_OFFSET, 4); - free(table); + return dst_ip; // Keep in network byte order } -bool routing_table_insert(struct routing_table *table, const struct route_entry *entry) { - if (!table || !entry) return false; - - // Validate the route - if (!routing_validate_route(table, entry->network, entry->prefix_length, entry->type)) { - char ip_str[16]; - ip_to_string(entry->network, ip_str); - DEBUG_WARN(DEBUG_CATEGORY_ROUTING, "Ignoring invalid route: %s/%d (type: %s)", - ip_str, entry->prefix_length, route_type_to_string(entry->type)); - - return false; - } - - - // Check if we need to expand the table - if (table->count >= table->capacity) { - size_t new_capacity = table->capacity * ROUTE_EXPANSION_FACTOR; - struct route_entry *new_entries = realloc(table->entries, new_capacity * sizeof(struct route_entry)); - if (!new_entries) { - DEBUG_ERROR(DEBUG_CATEGORY_MEMORY, "routing_table_insert: failed to expand routing table to %zu entries", new_capacity); - return false; +// Callback for packets from ETCP normalizer output queue +static void routing_pkt_from_etcp_cb(struct ll_queue* q, void* arg) { + struct ETCP_CONN* etcp = (struct ETCP_CONN*)arg; + if (!etcp || !etcp->instance) { + DEBUG_ERROR(DEBUG_CATEGORY_ROUTING, "routing_pkt_from_etcp_cb: invalid etcp or instance"); + return; + } + + struct UTUN_INSTANCE* instance = etcp->instance; + if (!instance->tun) { + DEBUG_ERROR(DEBUG_CATEGORY_ROUTING, "routing_pkt_from_etcp_cb: no TUN interface"); + return; + } + + struct ll_entry* entry = queue_data_get(q); + while (entry) { + if (entry->dgram && entry->len > 0) { + // Check MTU + if (entry->len > TUN_MAX_PACKET_SIZE) { + DEBUG_WARN(DEBUG_CATEGORY_ROUTING, "Packet too large: %zu bytes (max %d)", + entry->len, TUN_MAX_PACKET_SIZE); + } else { + // Extract destination IP for future routing (currently ignored) + uint32_t dst_ip = extract_dst_ip(entry->dgram, entry->len); + if (dst_ip != 0) { + char ip_str[INET_ADDRSTRLEN]; + inet_ntop(AF_INET, &dst_ip, ip_str, sizeof(ip_str)); + DEBUG_DEBUG(DEBUG_CATEGORY_ROUTING, "Packet from ETCP to %s", ip_str); + } + + // Allocate ETCP_FRAGMENT for TUN input_queue + struct ETCP_FRAGMENT* pkt = (struct ETCP_FRAGMENT*)queue_entry_new_from_pool(instance->tun->pool); + if (!pkt) { + DEBUG_ERROR(DEBUG_CATEGORY_ROUTING, "Failed to allocate ETCP_FRAGMENT for TUN"); + } else { + // Allocate packet data (TUN will free it) + uint8_t* packet_data = malloc(entry->len); + if (!packet_data) { + DEBUG_ERROR(DEBUG_CATEGORY_ROUTING, "Failed to allocate packet data"); + memory_pool_free(instance->tun->pool, pkt); + } else { + memcpy(packet_data, entry->dgram, entry->len); + + pkt->seq = 0; + pkt->timestamp = 0; + pkt->ll.dgram = packet_data; + pkt->ll.len = entry->len; + + // Put to TUN input_queue + if (queue_data_put(instance->tun->input_queue, (struct ll_entry*)pkt, 0) != 0) { + DEBUG_ERROR(DEBUG_CATEGORY_ROUTING, "Failed to put packet to TUN input_queue"); + free(packet_data); + memory_pool_free(instance->tun->pool, pkt); + } else { + DEBUG_DEBUG(DEBUG_CATEGORY_ROUTING, "Forwarded %zu bytes from ETCP to TUN", entry->len); + } + } + } + } + + // Free original entry data + free(entry->dgram); } - table->entries = new_entries; - table->capacity = new_capacity; - } - - // Set timestamps and ensure route is active - struct route_entry new_entry = *entry; - new_entry.created_time = new_entry.last_update = (uint64_t)time(NULL) * 1000000; // Convert to microseconds - new_entry.last_used = 0; - - // Ensure route is active by default - if (!(new_entry.flags & ROUTE_FLAG_ACTIVE)) { - new_entry.flags |= ROUTE_FLAG_ACTIVE; + // Free entry structure + queue_entry_free(entry); + + // Get next packet + entry = queue_data_get(q); } + queue_resume_callback(q); +} - - // Insert and maintain sorted order - table->stats.routes_added++; - size_t insert_pos = table->count; - for (size_t i = 0; i < table->count; i++) { - if (compare_routes(&new_entry, &table->entries[i]) < 0) { - insert_pos = i; - break; +// Callback for packets from TUN output queue +static void routing_pkt_from_tun_cb(struct ll_queue* q, void* arg) { + (void)q; + struct UTUN_INSTANCE* instance = (struct UTUN_INSTANCE*)arg; + if (!instance) { + DEBUG_ERROR(DEBUG_CATEGORY_ROUTING, "routing_pkt_from_tun_cb: invalid instance"); + return; + } + + // For now, just drain the queue (routing to ETCP will be implemented later) + struct ETCP_FRAGMENT* pkt = (struct ETCP_FRAGMENT*)queue_data_get(instance->tun->output_queue); + while (pkt) { + if (pkt->ll.dgram && pkt->ll.len > 0) { + // Extract destination IP for future routing + uint32_t dst_ip = extract_dst_ip(pkt->ll.dgram, pkt->ll.len); + if (dst_ip != 0) { + char ip_str[INET_ADDRSTRLEN]; + inet_ntop(AF_INET, &dst_ip, ip_str, sizeof(ip_str)); + DEBUG_DEBUG(DEBUG_CATEGORY_ROUTING, "Packet from TUN to %s (dropped, routing not implemented yet)", ip_str); + } + + // Free packet data + free(pkt->ll.dgram); } + + // Free fragment structure + memory_pool_free(instance->tun->pool, pkt); + + // Get next packet + pkt = (struct ETCP_FRAGMENT*)queue_data_get(instance->tun->output_queue); } - - return false; } -bool routing_table_lookup(struct routing_table *table, uint32_t dest_ip, struct route_entry *best_route) { - if (!table || !best_route) { - DEBUG_WARN(DEBUG_CATEGORY_ROUTING, "routing_table_lookup: invalid parameters (table=%p, best_route=%p)", table, best_route); - return false; +// Initialize routing module for instance +int routing_create(struct UTUN_INSTANCE* instance) { + if (!instance) { + DEBUG_ERROR(DEBUG_CATEGORY_ROUTING, "routing_create: instance is NULL"); + return -1; } - table->stats.lookup_count++; - - // Find longest prefix match - for (size_t i = 0; i < table->count; i++) { - const struct route_entry *entry = &table->entries[i]; - - // Check if route is valid and matches destination - if (entry->flags & ROUTE_FLAG_ACTIVE) { - uint32_t mask = (entry->prefix_length == 0) ? 0 : (0xFFFFFFFFU << (32 - entry->prefix_length)); - if ((dest_ip & mask) == (entry->network & mask)) { - *best_route = *entry; - best_route->last_update = (uint64_t)time(NULL) * 1000000; - - char ip_str[16]; - ip_to_string(dest_ip, ip_str); - DEBUG_INFO(DEBUG_CATEGORY_ROUTING, "Found route for %s: %s/%d -> %s", - ip_str, ip_to_string(entry->network, ip_str), entry->prefix_length, - ip_to_string(entry->next_hop_ip, ip_str)); - - table->stats.hit_count++; - table->stats.routes_lookup_hits++; - return true; - } - } + // Create route table + instance->rt = route_table_create(); + if (!instance->rt) { + DEBUG_ERROR(DEBUG_CATEGORY_ROUTING, "Failed to create route table"); + return -1; } - // No route found - char ip_str[16]; - ip_to_string(dest_ip, ip_str); - DEBUG_WARN(DEBUG_CATEGORY_ROUTING, "routing_table_lookup: no route found for destination IP %s", ip_str); + DEBUG_INFO(DEBUG_CATEGORY_ROUTING, "Routing module initialized for instance"); - return false; + return 0; } -bool routing_validate_route(struct routing_table *table, uint32_t network, uint8_t prefix_length, route_type_t route_type) { - if (!table) return false; - - uint32_t *validation_ranges = NULL; - size_t range_count = 0; +// Destroy routing module for instance +void routing_destroy(struct UTUN_INSTANCE* instance) { + if (!instance) return; - switch (route_type) { - case ROUTE_TYPE_STATIC: - case ROUTE_TYPE_LEARNED: - return true; // No validation for static or learned routes - case ROUTE_TYPE_DYNAMIC: - validation_ranges = table->dynamic_subnets; - range_count = table->dynamic_subnet_count; - break; - case ROUTE_TYPE_LOCAL: - validation_ranges = table->local_subnets; - range_count = table->local_subnet_count; - break; - default: - table->stats.routes_lookup_misses++; - return false; - } + DEBUG_INFO(DEBUG_CATEGORY_ROUTING, "Destroying routing module"); - if (range_count == 0) return true; // No validation ranges configured - - // Check if network falls within any validation range - for (size_t i = 0; i < range_count; i += 2) { - uint32_t range_network = validation_ranges[i]; - uint8_t range_prefix = (uint8_t)validation_ranges[i + 1]; - - uint32_t mask = (range_prefix == 0) ? 0 : (0xFFFFFFFFU << (32 - range_prefix)); - if ((network & mask) == (range_network & mask)) { - // Check if this route is more specific than or equal to the validation range - if (prefix_length >= range_prefix) { - return true; - } - } + // Clean up route table if exists + if (instance->rt) { + route_table_destroy(instance->rt); + instance->rt = NULL; } - - return false; } -bool enhanced_routing_add_subnet_range(struct routing_table *table, uint32_t network, uint8_t prefix_length, uint32_t **ranges, size_t *count) { - if (!table || !ranges || !count) return false; +// Register ETCP connection with routing +void routing_add_conn(struct ETCP_CONN* etcp) { + if (!etcp) { + DEBUG_ERROR(DEBUG_CATEGORY_ROUTING, "routing_add_conn: etcp is NULL"); + return; + } - if (*count >= MAX_SUBNET_VALIDATION_RANGES - 2) return false; + if (!etcp->instance) { + DEBUG_ERROR(DEBUG_CATEGORY_ROUTING, "routing_add_conn: etcp has no instance"); + return; + } - // Expand array if needed - if (*ranges == NULL) { - *ranges = calloc(MAX_SUBNET_VALIDATION_RANGES, sizeof(uint32_t)); - if (!*ranges) return false; - *count = 0; + if (!etcp->normalizer) { + DEBUG_ERROR(DEBUG_CATEGORY_ROUTING, "routing_add_conn: ETCP has no normalizer"); + return; } - // Add network and prefix length as a pair - (*ranges)[*count] = network; - (*ranges)[*count + 1] = prefix_length; - *count += 2; + struct PKTNORM* pn = (struct PKTNORM*)etcp->normalizer; - char ip_str[16]; - ip_to_string(network, ip_str); - DEBUG_INFO(DEBUG_CATEGORY_ROUTING, "Added subnet validation range: %s/%d", ip_str, prefix_length); + // Set callback on normalizer output queue - pass etcp as arg + queue_set_callback(pn->output, routing_pkt_from_etcp_cb, etcp); - return true; -} - - - -bool routing_add_dynamic_subnet(struct routing_table *table, uint32_t network, uint8_t prefix_length) { - return enhanced_routing_add_subnet_range(table, network, prefix_length, &table->dynamic_subnets, &table->dynamic_subnet_count); -} - -bool routing_add_local_subnet(struct routing_table *table, uint32_t network, uint8_t prefix_length) { - return enhanced_routing_add_subnet_range(table, network, prefix_length, &table->local_subnets, &table->local_subnet_count); + DEBUG_INFO(DEBUG_CATEGORY_ROUTING, "Added ETCP connection to routing"); } -bool routing_get_all_routes(const struct routing_table *table, uint32_t network, uint8_t prefix_length, - struct route_entry **routes, size_t *count) { - if (!table || !routes || !count) return false; - - *routes = NULL; - *count = 0; - - // Count matching routes - for (size_t i = 0; i < table->count; i++) { - if (table->entries[i].network == network && table->entries[i].prefix_length == prefix_length) { - (*count)++; - } +// Unregister ETCP connection from routing +void routing_del_conn(struct ETCP_CONN* etcp) { + if (!etcp) { + DEBUG_ERROR(DEBUG_CATEGORY_ROUTING, "routing_del_conn: etcp is NULL"); + return; } - if (*count == 0) return true; // No routes found, but not an error - - // Allocate result array - *routes = calloc(*count, sizeof(struct route_entry)); - if (!*routes) { - *count = 0; - return false; + if (!etcp->normalizer) { + return; // Nothing to do } - // Copy matching routes - size_t result_index = 0; - for (size_t i = 0; i < table->count; i++) { - if (table->entries[i].network == network && table->entries[i].prefix_length == prefix_length) { - (*routes)[result_index] = table->entries[i]; - - result_index++; - } - } + // Note: ll_queue doesn't have a direct way to clear callback + // The callback will be ignored when etcp is freed - return true; + DEBUG_INFO(DEBUG_CATEGORY_ROUTING, "Removed ETCP connection from routing"); } -void routing_table_print(const struct routing_table *table) { - if (!table) return; - - DEBUG_INFO(DEBUG_CATEGORY_ROUTING, "=== Routing Table ==="); - DEBUG_INFO(DEBUG_CATEGORY_ROUTING, "Total routes: %zu", table->count); - DEBUG_INFO(DEBUG_CATEGORY_ROUTING, "Dynamic subnets: %zu, Local subnets: %zu", - table->dynamic_subnet_count / 2, table->local_subnet_count / 2); - - if (table->count > 0) { - DEBUG_INFO(DEBUG_CATEGORY_ROUTING, "Routes:"); - for (size_t i = 0; i < table->count; i++) { - const struct route_entry *entry = &table->entries[i]; - char network_str[16], next_hop_str[16]; - - ip_to_string(entry->network, network_str); - ip_to_string(entry->next_hop_ip, next_hop_str); - - DEBUG_INFO(DEBUG_CATEGORY_ROUTING, " %zu: %s/%d -> %s [%s]", - i + 1, network_str, entry->prefix_length, next_hop_str, - route_type_to_string(entry->type)); - - DEBUG_INFO(DEBUG_CATEGORY_ROUTING, " Bandwidth: %uK, Loss: %.2f%%, Latency: %ums, Hops: %d", - entry->metrics.bandwidth_kbps, - entry->metrics.packet_loss_rate / 100.0, - entry->metrics.latency_ms, - entry->metrics.hop_count); - - DEBUG_INFO(DEBUG_CATEGORY_ROUTING, " Flags: %s%s%s%s", - (entry->flags & ROUTE_FLAG_ACTIVE) ? "ACTIVE " : "", - (entry->flags & ROUTE_FLAG_VALIDATED) ? "VALIDATED " : "", - (entry->flags & ROUTE_FLAG_ADVERTISED) ? "ADVERTISED " : "", - (entry->flags & ROUTE_FLAG_LEARNED) ? "LEARNED" : ""); - } - } else { - DEBUG_INFO(DEBUG_CATEGORY_ROUTING, "No routes configured."); +// Set TUN interface for routing +void routing_set_tun(struct UTUN_INSTANCE* instance) { + if (!instance) { + DEBUG_ERROR(DEBUG_CATEGORY_ROUTING, "routing_set_tun: instance is NULL"); + return; } -} - -const char *route_type_to_string(route_type_t type) { - switch (type) { - case ROUTE_TYPE_STATIC: return "STATIC"; - case ROUTE_TYPE_DYNAMIC: return "DYNAMIC"; - case ROUTE_TYPE_LOCAL: return "LOCAL"; - case ROUTE_TYPE_LEARNED: return "LEARNED"; - default: return "UNKNOWN"; + + if (!instance->tun) { + DEBUG_ERROR(DEBUG_CATEGORY_ROUTING, "routing_set_tun: instance has no TUN"); + return; } -} - -char *ip_to_string(uint32_t ip, char *buffer) { - if (!buffer) return NULL; - struct in_addr addr; - addr.s_addr = htonl(ip); - strncpy(buffer, inet_ntoa(addr), 15); - buffer[15] = '\0'; - return buffer; -} \ No newline at end of file + // Set callback on TUN output queue (packets from TUN to routing) + queue_set_callback(instance->tun->output_queue, routing_pkt_from_tun_cb, instance); + + DEBUG_INFO(DEBUG_CATEGORY_ROUTING, "TUN interface registered in routing module"); +} diff --git a/src/routing.h b/src/routing.h index a3f25538..f17fcc62 100644 --- a/src/routing.h +++ b/src/routing.h @@ -1,201 +1,46 @@ +// routing.h - Centralized routing module for utun #ifndef ROUTING_H #define ROUTING_H + #include #include -#include // Forward declarations -struct ETCP_CONNECTIONS; - -/** - * @brief Типы маршрутов - */ -typedef enum { - ROUTE_TYPE_STATIC = 0, /**< Статический маршрут */ - ROUTE_TYPE_DYNAMIC = 1, /**< Динамический маршрут */ - ROUTE_TYPE_LOCAL = 2, /**< Локальный маршрут */ - ROUTE_TYPE_LEARNED = 3 /**< Изученный маршрут */ -} route_type_t; - -/** - * @brief Флаги маршрута - */ -typedef enum { - ROUTE_FLAG_ACTIVE = (1 << 0), /**< Маршрут активен */ - ROUTE_FLAG_VALIDATED = (1 << 1), /**< Маршрут валидирован */ - ROUTE_FLAG_ADVERTISED = (1 << 2), /**< Маршрут анонсирован */ - ROUTE_FLAG_LEARNED = (1 << 3) /**< Маршрут изучен */ -} route_flags_t; - -/** - * @brief Расширенные метрики маршрута - * - * Структура содержит дополнительные метрики для оценки качества маршрута. - */ -struct route_metrics { - uint32_t bandwidth_kbps; /**< Пропускная способность в Кбит/с */ - uint16_t packet_loss_rate; /**< Уровень потери пакетов (в промилле) */ - uint16_t latency_ms; /**< Задержка в миллисекундах */ - uint8_t hop_count; /**< Количество прыжков */ - uint64_t last_updated; /**< Время последнего обновления (в микросекундах) */ -}; - -/** - * @brief Расширенная запись маршрута - * - * Структура представляет собой отдельную запись в таблице маршрутизации с детальной информацией о маршруте. - */ -struct route_entry { - uint32_t network; /**< Сетевой адрес */ - uint8_t prefix_length; /**< Длина префикса подсети */ - uint32_t next_hop_ip; /**< IP-адрес следующего хопа */ - struct ETCP_SOCKET* next_hop; /**< Указатель на сокет следующего хопа */ - route_type_t type; /**< Тип маршрута */ - uint8_t flags; /**< Флаги маршрута */ - struct route_metrics metrics; /**< Метрики маршрута */ - uint64_t created_time; /**< Время создания (в микросекундах) */ - uint64_t last_update; /**< Время последнего обновления (в микросекундах) */ - uint64_t last_used; /**< Время последнего использования (в микросекундах) */ -}; - -/** - * @brief Таблица маршрутизации - * - * Структура представляет собой таблицу маршрутизации, содержащую записи маршрутов, подсети и статистику. - */ -struct routing_table { - struct route_entry *entries; /**< Массив записей маршрутов */ - size_t count; /**< Текущее количество записей */ - size_t capacity; /**< Максимальная емкость таблицы */ - uint32_t *dynamic_subnets; /**< Динамические подсети (массив пар: сеть, префикс) */ - size_t dynamic_subnet_count; /**< Количество динамических подсетей */ - uint32_t *local_subnets; /**< Локальные подсети (массив пар: сеть, префикс) */ - size_t local_subnet_count; /**< Количество локальных подсетей */ - struct { - uint64_t total_routes; /**< Общее количество маршрутов */ - uint64_t static_routes; /**< Количество статических маршрутов */ - uint64_t dynamic_routes; /**< Количество динамических маршрутов */ - uint64_t local_routes; /**< Количество локальных маршрутов */ - uint64_t learned_routes; /**< Количество изученных маршрутов */ - uint64_t routes_added; /**< Количество добавленных маршрутов */ - uint64_t routes_deleted; /**< Количество удаленных маршрутов */ - uint64_t lookup_count; /**< Количество запросов поиска */ - uint64_t hit_count; /**< Количество успешных поисков */ - uint64_t routes_lookup_hits; /**< Количество попаданий в поиск маршрутов */ - uint64_t routes_lookup_misses; /**< Количество промахов в поиск маршрутов */ - uint64_t validation_failures; /**< Количество неудачных валидаций */ - } stats; /**< Статистика таблицы маршрутизации */ -}; - -/** - * @brief Создает новую таблицу маршрутизации - * - * @return Указатель на созданную таблицу или NULL в случае ошибки - */ -struct routing_table *routing_table_create(void); - -/** - * @brief Уничтожает таблицу маршрутизации и освобождает ресурсы - * - * @param table Указатель на таблицу маршрутизации - */ -void routing_table_destroy(struct routing_table *table); - -/** - * @brief Вставляет новую запись в таблицу маршрутизации - * - * @param table Указатель на таблицу маршрутизации - * @param entry Указатель на вставляемую запись маршрута - * @return true если вставка успешна, false иначе - */ -bool routing_table_insert(struct routing_table *table, const struct route_entry *entry); - -/** - * @brief Удаляет запись из таблицы маршрутизации - * - * @param table Указатель на таблицу маршрутизации - * @param network Сетевой адрес - * @param prefix_length Длина префикса - * @param source_node_id Идентификатор источника узла - * @return true если удаление успешно, false иначе - */ -bool routing_table_delete(struct routing_table *table, uint32_t network, uint8_t prefix_length, uint32_t source_node_id); - -/** - * @brief Выполняет поиск лучшего маршрута для заданного IP-адреса - * - * @param table Указатель на таблицу маршрутизации - * @param dest_ip Целевой IP-адрес - * @param best_route Указатель на структуру для хранения лучшего маршрута - * @return true если маршрут найден, false иначе - */ -bool routing_table_lookup(struct routing_table *table, uint32_t dest_ip, struct route_entry *best_route); - -/** - * @brief Валидирует маршрут на основе типа и подсетей - * - * @param table Указатель на таблицу маршрутизации - * @param network Сетевой адрес - * @param prefix_length Длина префикса - * @param route_type Тип маршрута - * @return true если маршрут валиден, false иначе - */ -bool routing_validate_route(struct routing_table *table, uint32_t network, uint8_t prefix_length, route_type_t route_type); - -/** - * @brief Добавляет динамическую подсеть в таблицу - * - * @param table Указатель на таблицу маршрутизации - * @param network Сетевой адрес - * @param prefix_length Длина префикса - * @return true если добавление успешно, false иначе - */ -bool routing_add_dynamic_subnet(struct routing_table *table, uint32_t network, uint8_t prefix_length); +struct ETCP_CONN; +struct UTUN_INSTANCE; /** - * @brief Добавляет локальную подсеть в таблицу - * - * @param table Указатель на таблицу маршрутизации - * @param network Сетевой адрес - * @param prefix_length Длина префикса - * @return true если добавление успешно, false иначе + * @brief Initialize routing module for instance + * @param instance UTUN instance + * @return 0 on success, -1 on error */ -bool routing_add_local_subnet(struct routing_table *table, uint32_t network, uint8_t prefix_length); +int routing_create(struct UTUN_INSTANCE* instance); /** - * @brief Получает все маршруты для заданной сети и префикса - * - * @param table Указатель на таблицу маршрутизации - * @param network Сетевой адрес - * @param prefix_length Длина префикса - * @param routes Указатель на массив маршрутов (будет выделен) - * @param count Указатель на количество найденных маршрутов - * @return true если операция успешна, false иначе + * @brief Destroy routing module for instance + * @param instance UTUN instance */ -bool routing_get_all_routes(const struct routing_table *table, uint32_t network, uint8_t prefix_length, struct route_entry **routes, size_t *count); +void routing_destroy(struct UTUN_INSTANCE* instance); /** - * @brief Печатает содержимое таблицы маршрутизации - * - * @param table Указатель на таблицу маршрутизации + * @brief Register ETCP connection with routing + * Called from pn_init() to register connection's normalizer output queue + * @param etcp ETCP connection */ -void routing_table_print(const struct routing_table *table); +void routing_add_conn(struct ETCP_CONN* etcp); /** - * @brief Преобразует тип маршрута в строковое представление - * - * @param type Тип маршрута - * @return Строковое представление типа + * @brief Unregister ETCP connection from routing + * Called from pn_deinit() to unregister connection's normalizer output queue + * @param etcp ETCP connection */ -const char* route_type_to_string(route_type_t type); +void routing_del_conn(struct ETCP_CONN* etcp); /** - * @brief Преобразует IP-адрес в строковое представление - * - * @param ip IP-адрес в сетевом формате - * @param buffer Буфер для хранения строки (минимум 16 байт) - * @return Указатель на буфер с строкой + * @brief Set TUN interface for routing + * Called from utun_instance_init() after tun_init() + * @param instance UTUN instance with configured tun */ -char* ip_to_string(uint32_t ip, char *buffer); +void routing_set_tun(struct UTUN_INSTANCE* instance); #endif // ROUTING_H diff --git a/src/routing.txt b/src/routing.txt deleted file mode 100644 index bc05dd2b..00000000 --- a/src/routing.txt +++ /dev/null @@ -1,7 +0,0 @@ -internal_routing.c/h: - -это модуль роутинга пакетов. -пакеты приходят: -1. из очередей ETCP (struct ETCP_CONN output_queue). - при добавлении подключения (из конфига)) в вызовы etcp_connection_create/close надо добавить -2. из tun интерфейса \ No newline at end of file diff --git a/src/tun_if.c b/src/tun_if.c index b924ce2b..bb535233 100644 --- a/src/tun_if.c +++ b/src/tun_if.c @@ -168,6 +168,44 @@ static int tun_set_mtu(const char *ifname, int mtu) { return 0; } +// Callback for input_queue - called when routing puts packet to send to TUN +static void tun_input_queue_callback(struct ll_queue* q, void* arg) { + (void)q; + struct tun_if* tun = (struct tun_if*)arg; + struct ETCP_FRAGMENT* pkt = (struct ETCP_FRAGMENT*)queue_data_get(tun->input_queue); + + while (pkt) { + if (pkt->ll.dgram && pkt->ll.len > 0) { + // Check MTU + if (pkt->ll.len > TUN_MAX_PACKET_SIZE) { + DEBUG_WARN(DEBUG_CATEGORY_TUN, "Packet too large for TUN: %zu bytes (max %d)", + pkt->ll.len, TUN_MAX_PACKET_SIZE); + } else { + ssize_t nwritten = write(tun->fd, pkt->ll.dgram, pkt->ll.len); + if (nwritten < 0) { + DEBUG_ERROR(DEBUG_CATEGORY_TUN, "Failed to write to TUN %s: %s", + tun->ifname, strerror(errno)); + tun->write_errors++; + } else { + tun->bytes_written += nwritten; + tun->packets_written++; + DEBUG_DEBUG(DEBUG_CATEGORY_TUN, "Wrote %zd bytes to TUN %s from input_queue", + nwritten, tun->ifname); + } + } + + // Free packet data + free(pkt->ll.dgram); + } + + // Free fragment structure + memory_pool_free(tun->pool, pkt); + + // Get next packet + pkt = (struct ETCP_FRAGMENT*)queue_data_get(tun->input_queue); + } +} + // Internal read callback - called by uasync when data available on TUN static void tun_read_callback(int fd, void* user_arg) { struct tun_if* tun = (struct tun_if*)user_arg; @@ -209,7 +247,7 @@ static void tun_read_callback(int fd, void* user_arg) { pkt->ll.len = nread; // Add to input queue - if (queue_data_put(tun->input_queue, (struct ll_entry*)pkt, 0) != 0) { + if (queue_data_put(tun->output_queue, (struct ll_entry*)pkt, 0) != 0) { DEBUG_ERROR(DEBUG_CATEGORY_TUN, "Failed to add packet to input queue"); free(packet_data); memory_pool_free(tun->pool, pkt); @@ -306,21 +344,35 @@ struct tun_if* tun_init(struct UASYNC* ua, struct utun_config* config) { return NULL; } - // Create input queue + // Create output queue (packets from TUN to routing) + tun->output_queue = queue_new(ua, 0); // hash_size=0 - no ID lookup needed + if (!tun->output_queue) { + DEBUG_ERROR(DEBUG_CATEGORY_TUN, "Failed to create output queue"); + memory_pool_destroy(tun->pool); + close(tun->fd); + free(tun); + return NULL; + } + + // Create input queue (packets from routing to TUN) tun->input_queue = queue_new(ua, 0); // hash_size=0 - no ID lookup needed if (!tun->input_queue) { DEBUG_ERROR(DEBUG_CATEGORY_TUN, "Failed to create input queue"); + queue_free(tun->output_queue); memory_pool_destroy(tun->pool); close(tun->fd); free(tun); return NULL; } + // Set callback for input_queue - routing will put packets here + queue_set_callback(tun->input_queue, tun_input_queue_callback, tun); + // Register TUN socket with uasync tun->socket_id = uasync_add_socket(ua, tun->fd, tun_read_callback, NULL, NULL, tun); if (!tun->socket_id) { DEBUG_ERROR(DEBUG_CATEGORY_TUN, "Failed to register TUN socket with uasync"); - queue_free(tun->input_queue); + queue_free(tun->output_queue); memory_pool_destroy(tun->pool); close(tun->fd); free(tun); @@ -344,7 +396,7 @@ void tun_close(struct tun_if* tun) { tun->socket_id = NULL; } - // Drain and free all packets from input queue + // Drain and free all packets from input_queue (packets from routing to TUN) if (tun->input_queue) { struct ETCP_FRAGMENT* pkt; while ((pkt = (struct ETCP_FRAGMENT*)queue_data_get(tun->input_queue)) != NULL) { @@ -357,6 +409,19 @@ void tun_close(struct tun_if* tun) { tun->input_queue = NULL; } + // Drain and free all packets from output_queue (packets from TUN to routing) + if (tun->output_queue) { + struct ETCP_FRAGMENT* pkt; + while ((pkt = (struct ETCP_FRAGMENT*)queue_data_get(tun->output_queue)) != NULL) { + if (pkt->ll.dgram) { + free(pkt->ll.dgram); + } + memory_pool_free(tun->pool, pkt); + } + queue_free(tun->output_queue); + tun->output_queue = NULL; + } + // Destroy memory pool if (tun->pool) { memory_pool_destroy(tun->pool); diff --git a/src/tun_if.h b/src/tun_if.h index a3478491..6edffab7 100644 --- a/src/tun_if.h +++ b/src/tun_if.h @@ -26,7 +26,8 @@ struct tun_if { struct UASYNC* ua; // uasync instance void* socket_id; // Socket ID from uasync_add_socket struct memory_pool* pool; // Pool for ETCP_FRAGMENT structures - struct ll_queue* input_queue; // Queue for incoming packets (ETCP_FRAGMENT) + struct ll_queue* output_queue; // Queue for incoming packets from TUN (to routing) + struct ll_queue* input_queue; // Queue for outgoing packets to TUN (from routing) // Statistics uint64_t bytes_read; // Bytes read from TUN uint64_t bytes_written; // Bytes written to TUN @@ -50,7 +51,7 @@ struct tun_if* tun_init(struct UASYNC* ua, struct utun_config* config); /** * @brief Close TUN interface and free resources * Unregisters socket from uasync, closes fd, drains and frees - * all packets from input_queue, destroys pool and queue. + * all packets from output_queue, destroys pool and queue. * @param tun TUN interface handle */ void tun_close(struct tun_if* tun); @@ -64,20 +65,6 @@ void tun_close(struct tun_if* tun); */ ssize_t tun_write(struct tun_if* tun, const uint8_t* buf, size_t len); -/** - * @brief Get input queue for reading packets - * User should call queue_data_get(tun->input_queue) to retrieve packets. - * Each packet is struct ETCP_FRAGMENT with: - * - ll.dgram: malloc'd packet data (user must free) - * - ll.len: packet length - * User must free dgram and return fragment to pool via memory_pool_free(). - * @param tun TUN interface handle - * @return Pointer to input queue - */ -static inline struct ll_queue* tun_get_input_queue(struct tun_if* tun) { - return tun ? tun->input_queue : NULL; -} - #ifdef __cplusplus } #endif diff --git a/src/utun.c b/src/utun.c index a6345c2c..ed8c074d 100644 --- a/src/utun.c +++ b/src/utun.c @@ -5,7 +5,7 @@ #include "etcp_connections.h" #include "tun_if.h" #include "secure_channel.h" -#include "routing.h" +#include "route_lib.h" #include "utun_instance.h" #include "u_async.h" #include "debug_config.h" diff --git a/src/utun_instance.c b/src/utun_instance.c index 8c16fea9..34292dae 100644 --- a/src/utun_instance.c +++ b/src/utun_instance.c @@ -3,6 +3,7 @@ #include "config_parser.h" #include "config_updater.h" #include "tun_if.h" +#include "route_lib.h" #include "routing.h" #include "etcp_connections.h" #include "etcp.h" @@ -79,6 +80,44 @@ struct UTUN_INSTANCE* utun_instance_create(struct UASYNC* ua, const char *config instance->data_pool=memory_pool_init(PACKET_DATA_SIZE); instance->pkt_pool=memory_pool_init(sizeof(struct ETCP_DGRAM) + PACKET_DATA_SIZE); + // Create routing module + if (routing_create(instance) != 0) { + DEBUG_ERROR(DEBUG_CATEGORY_MEMORY, "Failed to create routing module"); + free_config(instance->config); + free(instance); + return NULL; + } + DEBUG_INFO(DEBUG_CATEGORY_ROUTING, "Routing module created"); + + // Add local subnets from config as static routes + struct CFG_ROUTE_ENTRY* subnet = instance->config->my_subnets; + while (subnet) { + struct route_entry entry = {0}; + entry.network = subnet->ip.addr.v4.s_addr; // Network byte order + entry.prefix_length = subnet->netmask; + entry.next_hop = NULL; // Local route + entry.type = ROUTE_TYPE_LOCAL; + entry.flags = ROUTE_FLAG_ACTIVE | ROUTE_FLAG_VALIDATED; + entry.metrics.bandwidth_kbps = UINT32_MAX; // Unlimited + entry.metrics.latency_ms = 0; + entry.metrics.packet_loss_rate = 0; + entry.metrics.hop_count = 0; + + if (route_table_insert(instance->rt, &entry)) { + char ip_str[INET_ADDRSTRLEN]; + inet_ntop(AF_INET, &entry.network, ip_str, sizeof(ip_str)); + DEBUG_INFO(DEBUG_CATEGORY_ROUTING, "Added local route: %s/%d", + ip_str, entry.prefix_length); + } else { + char ip_str[INET_ADDRSTRLEN]; + inet_ntop(AF_INET, &entry.network, ip_str, sizeof(ip_str)); + DEBUG_WARN(DEBUG_CATEGORY_ROUTING, "Failed to add local route: %s/%d (skipping)", + ip_str, entry.prefix_length); + } + + subnet = subnet->next; + } + // Initialize TUN device only if enabled if (g_tun_init_enabled) { instance->tun = tun_init(ua, instance->config); @@ -141,6 +180,9 @@ void utun_instance_destroy(struct UTUN_INSTANCE *instance) { instance->tun = NULL; } + // Cleanup routing module + routing_destroy(instance); + // Cleanup config if (instance->config) { DEBUG_INFO(DEBUG_CATEGORY_MEMORY, "[INSTANCE_DESTROY] Freeing configuration"); @@ -200,6 +242,12 @@ void utun_instance_stop(struct UTUN_INSTANCE *instance) { int utun_instance_init(struct UTUN_INSTANCE *instance) { if (!instance) return -1; + // Set TUN interface in routing module + if (instance->tun) { + routing_set_tun(instance); + DEBUG_INFO(DEBUG_CATEGORY_ROUTING, "TUN interface registered in routing module"); + } + // Note: TUN socket is already registered in tun_init() // Initialize connections diff --git a/src/utun_instance.h b/src/utun_instance.h index b613d6ef..c05a51bf 100644 --- a/src/utun_instance.h +++ b/src/utun_instance.h @@ -10,7 +10,7 @@ // Forward declarations struct utun_config; struct uasync_s; -struct routing_table; +struct route_table; struct ETCP_CONN; struct ETCP_SOCKET; struct tun_if; @@ -22,6 +22,8 @@ struct UTUN_INSTANCE { // TUN interface struct tun_if* tun; + + struct route_table* rt; // Identification uint64_t node_id; @@ -44,6 +46,7 @@ struct UTUN_INSTANCE { // Active sockets struct ETCP_SOCKET* etcp_sockets;// linked-list + }; // Functions diff --git a/tests/Makefile.am b/tests/Makefile.am index 1d846100..01c307d3 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -66,6 +66,7 @@ ETCP_CORE_OBJS = \ ETCP_FULL_OBJS = \ $(top_builddir)/src/utun-config_parser.o \ $(top_builddir)/src/utun-config_updater.o \ + $(top_builddir)/src/utun-route_lib.o \ $(top_builddir)/src/utun-routing.o \ $(top_builddir)/src/utun-tun_if.o \ $(top_builddir)/src/utun-utun_instance.o \ @@ -99,7 +100,7 @@ test_etcp_simple_traffic_LDADD = $(ETCP_FULL_OBJS) $(SECURE_CHANNEL_OBJS) $(CRYP # ETCP minimal test test_etcp_minimal_SOURCES = test_etcp_minimal.c test_etcp_minimal_CFLAGS = -I$(top_srcdir)/src -I$(top_srcdir)/lib -I$(top_srcdir)/tinycrypt/lib/include -I$(top_srcdir)/tinycrypt/lib/source -test_etcp_minimal_LDADD = $(ETCP_CORE_OBJS) $(SECURE_CHANNEL_OBJS) $(CRYPTO_LIBS) $(COMMON_LIBS) +test_etcp_minimal_LDADD = $(ETCP_FULL_OBJS) $(SECURE_CHANNEL_OBJS) $(CRYPTO_LIBS) $(COMMON_LIBS) # ETCP 100 packets test test_etcp_100_packets_SOURCES = test_etcp_100_packets.c @@ -114,7 +115,7 @@ test_pkt_normalizer_etcp_LDADD = $(ETCP_FULL_OBJS) $(SECURE_CHANNEL_OBJS) $(CRYP # Standalone pkt_normalizer test with mock ETCP loopback test_pkt_normalizer_standalone_SOURCES = test_pkt_normalizer_standalone.c test_pkt_normalizer_standalone_CFLAGS = -I$(top_srcdir)/src -I$(top_srcdir)/lib -I$(top_srcdir)/tinycrypt/lib/include -I$(top_srcdir)/tinycrypt/lib/source -test_pkt_normalizer_standalone_LDADD = $(top_builddir)/src/utun-pkt_normalizer.o $(TINYCRYPT_OBJS) $(COMMON_LIBS) +test_pkt_normalizer_standalone_LDADD = $(top_builddir)/src/utun-pkt_normalizer.o $(top_builddir)/src/utun-route_lib.o $(top_builddir)/src/utun-routing.o $(TINYCRYPT_OBJS) $(COMMON_LIBS) # Basic crypto test (TinyCrypt only - no secure_channel) test_crypto_SOURCES = test_crypto.c diff --git a/tests/test_etcp_100_packets b/tests/test_etcp_100_packets index aa685a143c9b08a43b40195dd6f88bd42e4f3f8a..2b32974303eb6609caf4431bdc99f939a471dad3 100755 GIT binary patch literal 492112 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�Q-5 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%0AshVKMmxqC8D_ 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

}(Adydx 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 z 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

lhP&kU%GslKDW=tu)y_kX8pkvM$OgDJ{OJaBX!# z(yefk2(mIUlYAA-6gZV5yIHfu&(w4N+4C3q0r<-^g=e{^c=yq?_df4z9^=fWOt<&J z#2VLlYEWm1tyHpqbuXj3E9veP5?i}=BU!{o%x*wQ5*ynK2^*8R6w6?R&0{t#IIi_{ zopixTFfGHj#zNyPu}s)Lmtmyrd*l%v`m1}VX$#$Hev3~l^jmY8#}+yTZqGxZR*aBx zhwBS!9KJx*DDShx0vZwh>VBLm?c-p=#a^apme?nfUPzZt$a1!yy}r;`cFnT%Cb;TE z%yp;O0!Ghq&K4ZD6a9>OiN1uyQHU(dCv}i+SC7ve>bX#)s>i z-#OI|p6{F!^;|G&P19?rxw!^J1I1!mWuZF}=!X!wWJf{R3E)_chZUD-*%6|2TmT~t zaThzP)XOC2bGW+$d*#(nTnO6!G8hjEq;a!TTzDb%3CKu_qUny*2RA!Reo759#cZqM*P)nB3i>UQIPOeWLkEx^`rIj&@*#pYrm~#X;7gMG>IiifNe8pmL z?E4IOKXwlR_Qd|d-JlRxNI5Ph8ehyJz@x~2Mof&bM`AIxK8xW_5%{n9SJKx?|0;I8 zvWhy4*y-i}o#4Owk2Cx@dY#a^YED8Di3$Ht>_Uv_P0aisF*8m__3I&OsiQSWlm}+9 z%dT00X9@6ZppLds)CEp4{8Zp|+Bflf;&wGw4VTPNj0S2(XmV!-7SjcYivzd^5$g+z z5#Xl+YtYpaYZN1E$_xz7kRPox2~%lAJT)NWu@>fK@|V(Jub)_plcT7D#{+*-1g8Si zXqU&d#LbCTvw`K>)d5d2?=4zQWc@+5&Vo^emtK>o&xg0Q0cT;VElHw6-Q@go%sE;U zJx9JPu;tD_fpdF;e-h=k{)u;Ewv%g_?J-|bAv+lJ3w`|(Q-?2&gT0Y4m^bT(d9!&` zeizd`RzLAtY!$u;$r@sc3V#(vSLMfk8tlZ3+s}tH_s5mfnrwOe6rKQ`68{WuiJ_S! z`4emWn`lI{iHNaPn@DgvG5!;Jd_uc!u#+bKIKC7<1`(|gSF3iaqtXtu9vp!3W;B6< zo3w?~yS5aL+(WqSo*xlCoTh*+wmK?*B)%0Dy@(!tLDKg{GKw!cma$P>=GZ}i9gdw0 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 literal 471032 zcmeFad3+Sb7B)Ny2}B@tSc14=)TrQsghfG!W=Mh^888Y#1R+33B(emPiGT|RC!=ZS zj^cLJ>(z_v<$7Ik0Ru`%*aEJIA}C%!RIE0#2#QgVe9u$WJ>40Z@BM!7Ki@w_$;>%b z=hUfFr%s(ZRo%HO*Ec*qF3w~BwDDZwAynm6m@KPc(0T2wZyryUXOJfuzt8ua=V=RU z0{&%LrO}_;<5hwEnPk;#gHO`+;FlA8p03ay`_q~JKcm0%Py4@VFW;i8U#avG{khK4 zi~VW0cP;3sm;bLn*06i7v)YT+zYQ<8+Ot2cQTALivvlgE11_04?c$lGvn%IaJa5pY z7hgJ{Peoaueo_R=m4<&LziLzghohc2OO2lRDh1p8Sk}!dXZ=ZwzdQ5PpXSVLKkmz( ze>?SlU;D9xvRH?5lZJKpLw@#<+i)4au#VJ6+(G~;@x7xoH9;K#cm2#Avro4E*&mlk`l5`+JDG30zVhMdpFz>kc9uZY3_hZy+dG5U3K zjQR&-w7Wb;f0xIoe|`-9V`Jba#^C=$4E&oh#-$_%{(mv}%!wht76boT3_d5v@DJl- z)US?#zcfa>XU5Q*8KeF+G3qakQGZ+vy)BHv=iwOjuZ~gw?HKK5$EaT!LqA<&;2UGe zb9;>X|Bf*)E{!2ipBVV}W8i;@fv=9yZf*>G{}}Q=7=u5<_7km-jK9+GFZyR>4F31W zz|V~#r#D9ZBQfyHV#p8nCzP{YjQMp@jQV?G*xPe4@aM&la~^T)Op#pyF{l)d* zbGF2^{?!Y3*3XKn?)w6?FD=ZQUFs*1 zVm7)ID5*hNY5*Z{U`3YVxOZI z7M0DKQ)#Qk5yw#{`%E@Bm6uh{ky2P1cS)gC&RSDSN=j!JgKJs&H1x<{ToJ8T*>Y=D ztFZ#k;vCV1rG5$9W6@eNNlL9l>7}#hOqs?Zu*Y7BHK(j}w!dFlk>67SL#Xgn%!Vn< z_Lq2y=akKyiE*Ckf#elsMKj9g_&sxq%gf8kJr(})*+p~adx~ZPPXqFoLaT+eSHMNn zXB3u9DV+&~;zbN;{AHChXL{KFlxfq@N=caqw2|+qF%3#ADVmK&OH1TX`61pkj61}i zMi%8o)5|>=lA`HT$~`3|Gb<~mduA2SnpFl9wd5!(nKosi3aq=Z5RIV6c27VA+^x2a6fhjcv#0sXl#nztsvCCZFP!Z!n-clP7K-LgDTE15nOS;Uu?J#JnJJ~P#u^R! zi!-PZYPrN;taPWw9Cg_b>H)%*VCXA~386txDeMRO#kf?Uky5C5@ZiFVilQmAO8~dh zlG3B6WNvvW91@!%w~FH88K{YtW|wgQrua+CW-H0(K%br|Q_IR>eWi0G$!yY47j$i9 zOh@#WAirJexh6k%)acQ^!v1~w_UY@n%9l4RyRcuM!I5tRBH#K)zGYnIe07yOU!C&) z$bHyM`}G+Z`QE?J066z}3X|w6iw9+b^1e?T$jc~sSZ>Rt>Z+QybavbPjI(O0vN%xkpQ7g{f8y|8 zI@VY_PDs0O4$?3Qo=o6Wd3#TPtDNvDrKQOp$Th;kb(3%hPk{w@m2i7cp#?wo;NQXT zBu}XYKO*5IkKcmdl5jiET^4+@q;KoF&w|TODLsiIfYJj`!VX1^?t_q+_4 zKXx9>Uauz)Q~2pt{?W##S@@)=_1cEFw=g2Ha+ivQ{JqcTg> z@H1R^JKkV-m;J1@qvnqx{%X0z2dVm+QkE_}Q~$={E=@X7*I;bIpap-kjw zi3@M3Se7ky;W5CGpIR55GTA@%F1$SkEZgY9V_+jcn_c+!5v<3v-G%Sq!tZwB?G!YN zg$obEjr<&R;X6gJ9#69iuetD^KO8;N?(Cl=7rwKN#Ak{N?~coRxbR(F_0wE<=2h*V zUM_s9jl^eP7rwg-KgfkY*@e$?;d{97x(k1b3!m@8pX$PobKy^O;U~NB?j-GW7yb-a z{W>PZxfk3xB2yU**E5x$reE{8=viA{YK_7yfY<{u~#6u?wH>!Y^^*&voIKy71?@ z@U<>{FBiVvh41acZ*<`=aN#$*@E5x9+g*6>f$X2%F8swd5}(3_@8iNBbm1>?;hSCf zzAn6n2_^h+PG`t(>Q|Br-_M0lapC*B@I733uCn$|nhQVBM&h%V3xBB#-`9n|%!ME1 z!Vhxcvt0PWF1+r-U+%)^yYNF?_;D`$P#1o(3!mx2Pj}(3aN*~;@K?I<^IZ5W7rx4c z_qy;kF1)p*$*!Y8@#*SYX1 zF8pX0zK07x#)VIF;nhi*D(vOLk9F1W>%w2}!VhxcncK5}vRwEZY$QH)7k<18pYOs? zaN)-oDL_%TTjC4T*JoJSAV`{P?S z>w$GiYo&Tx2443;oTug7G5D>WnI-GX{kyrRrKP205$UHh)oE^VU>=~DYaF-@;Wr$Z z2PWpT4$OlR^C1W30f~9H12c(amOF3~;i(SHgAnsN2j&5YIn051@L~3IU>jGT;sqzxG>*vU>;bQ&pI#xZhrxD)cz-JNO;=nvWFxNQnIfUPEU>+El&pI#<3e1Nbm9xyFH+&^O<3U?%d-XC0UceDfg(X5!ww+ku&|H_IKEiF$LY12aKyUgy9} z%$vg;mg|2WA4=?Bc*oJe%Q;WZ9iMEDH{W`fy#)`6K=HXm|eCX~&)9hiw^v)qBX z0GU%AxRmg95xC{t;~V2VCEA&=Gp?pV-3Z4`NkBx#yMZv?P z;47lwOQYaEQSfR}*G0k0 zqu^Jg;1{Fdr=#G%N5S_;!S_VL3!>m#qu|+5a7h$ADGDAN1&@k?heyFzM8TIv!F{6O z^P=FMQE>MtxKk9|HVQtzCTjen;QdkX-Y9ry6#RJ<{81FVAquXGf|p0ZuSUTyM!`=< z!GDi}?~j7-iGmkI!M8@iv!mdWD0os7JT?OB;mjL`#(Bigh&JlDuUXB_lo)tQoCjO6 z%e-T>w{tzdaPrWJaUO5&^(fTC$u&dbJWl0&J)F9Jew-(xUi1N(ccOPvN#IUTeB}&Z zcv^az9Q``AryJXVxCw~E`hO*+u^q{P2SR-pHQnPps}q0~oleF#YF!M#w~Q9?6hbL* zAD#j34d{lr1GfbA@W2<)oNhGgMq&p{4Y8Nij6@CJv18V%cT-zNqv%=h!LVsHo2B+L zFCd%Szy>V)^80Ll4`nt&J}{lfK0K*dy-O4tAh#DlEk0eXSUs*-olf#gK)!;T<&}(} zGU~zOM(~iME4utDdC#CSw!lb+LCtkPlU4H}NEgby)-IU`Yp9$2gY3dZK#Fas5XkI> zuaIGFWl!x));|ky9UBrS|K{<82A%{sc*Or5IG*Agg{2f8EAK%6N zpTQ=$!>4si$6JIlkq?mSzk0+7OaXCY%v~_1zlCaKdpk4j3Z)q z8;&#delL)L%z5}7r&R~R1|s#NNSz>3PAKsjl!Q`8;dUUGwW!+E5p4{+1Z}(o^W@X4o(XG#nn~1SKs7Z1dYq5}NDdHM{3DYh zs{y(NY%=O6taXeTdS-l@u`kc~WRh;|(F5Ne%pa4RQJ=91%sRumTT+MA#d&^qNPxcq z7(JYL9X|#)`%{s+>B;Z#7bmss*3PVgY@W5&C+hc>^#`8KkKV_1%mQ{C-%PX*T#ZCVKIkzK{lcG7K^ku-Nz$5RHjv z;5&b0^2_aSyw`ijdJDW`3P$S-f2=_bw0sPWP18flt?5Qi`n-(#Tuk2JlbCj)%tR<6 z*rHYc54A&yYf(AST%_IK7LzxS`5Hg~d}J_`c)neBAF^JdGrAExTBJSjF4Y`Ld>*iL z3KIbPLW|k_$l$kH^$5Uup?A}pDKVS6oE5_U^v+(65G-V7x<9w~FF7?c)03Kd*!`h@ z?$t3aLMm?Wga(YYvW;IsR}#3rOOY>hdk^hi0Rcw_Tm0|mg>uqUe8zD-RQouph?~;l zJWb2w{t6<-*&?oCv!O*4Q4em>s^5_CupZ!D+0DEg+)5Vdp{yj?79Y^9s(k@fJpLcl z+5(J64CzAC(1PDU9gT@A-rF3kkZi5H+4f}RDdIG=38$sV+sv89gL zMDf->G-xFLfnm|1jd_tJO$%;;q*&J2ZF@cQ7Q#0SOhF^kro>p7s~$>iS;;W!z$X0L z0_mF-sN4hU_Zq~Z_(Z=jc`r)z3uXO7x^}^)L)s0=_sw8w14=iel;|x$r&bVsVd7W7 z8DA3Ha7de!SPZP37>BfR8_`@nOX^uN0wq9hmM*MB>xJr_ed$Rhy0&1e_~;6}|1N6)PeXJBrvh}dtgw)_%p`5oy=KI0&#a>}r9$4k(U zaJM);P#;&5-=Ys*U-^>`sZ!*k<1<>sWzYjm`FU^EA4S?d52Cw)#LF=paZL~Ep)Q=8 z!D$F3Os+7NU;e*p=i>uxM+<(1WmmR!Zw}f5tMyo)_F%{YiPC_l;7B)Ri8sR@J=lUNvlo;#Hi?AOlv)SaR;#Vg^S~S;aSr-o*`LJ zq_?MMNYEbGh8AFp&=6Cf5_56PMF_uWUD*&|MF#i8C4+emk?l>=Cz7TVCIL zW6iLZyun*5_o!vt*iSFnZw3RfP-0uK(t`JZE%Y5o+>iF-jKqWN9bNkESle9g>yBjQ zzWCfa=FC1+qq_@E0KHj;UzWbTQc0UCbS<)d=)sbxuicnE=*i%)!2wBm^=hE z(3FSsut9wIBg8z200!PF186xul~|YckTX8Tgd^i~Js^%x5tv|nW`Ow##-|!{LXOV? zG!;thje)`VT#3s6x8w5=vVI&N>P8Db4YqQ8J_3mG*^G}9jn7w@j+FM9X7&N+Ug6X) ziW#GMYr|l1^E78Hu@|}(ubII@@MAh0$QDqJ8*ff0VR+!QW%h{Nwx5X1=NO>hkI@Na zeu}nX8P{MO&9Ct*lsL?m<^oWgvt&4=)+aQQ0ZMP}*JwSXUbc=FZ$pa^Z2?4EEtkbH zXx;o#wY~8zyY1uqWZRFi?JlzIZIBCXSHQKIiD*alG5G@Uv$)?p4Q=)V?5&-SHqlD+ zG`p4km_;{CGP5DH7>0h8Eb@+_wH4^b*3n><-zwzMxdVaA*281cQ?%ZQ5%?>uF(lLbC<+dPFNCGc~u<`Pbkyb)GbZrK_E6zQFB1~C5yh73&$8KZa1~DolkM4 zuqvL=mM65YN$AwH)SBqd!y3|L?NCf@&2l&FBTb% z8CwG1HyfV>*5FLmpA4A?bR7J9`To4{fNpx+59TOoJf2$WLk8C32`DkLULZy_j&jgN zKcMwcFKv07BRRQoY5s1~|7pv!v2d)7lQ^s!aCD}Lis76#SV`8Fr!Z8^L2m;hP9MD8 z-(FjuawMl9F0FFkhAh}54u*A(ioHMZ7UUU!$U)e;lE*}HBoHYEeng1m3Xi8})XQuH z)wdlD*6~aYz=oXkLXQ{=%*r%i7|f+Y*((`z>EU^C*!F#aju>ld3Q&D7O|7H!bmDH< zOrSZ=KT(<=%2vxjZH7WuPAbvLV38|`EHOH0owF0F?)0Sj&x6sz0H?#!)X-_cDz+6^ zH%~=x=o$LIA=gvY^jXOw7-h#gT62lf-^fmAYOuz$jzlWBGup|(v7H=}re~>qOsa~h zj#u#(IMp%vs<2hX9DnpI%-TCZJZ^l`TJh-*TpK*2wYS^Bm`ei9@%|zB-5&e9+S1v# z;<@E%h$Grk`J4}Wcy0o$aYYuzkR9&_239G@&s|RWMHjo=HGMe0^NgSC(oli(NOown z_+CiU_g|`q^G}D}Bl!3pF^te)_rdykUG-2dWSNM6ZS468L*iG{hgKvzrJGrJFBXRM ziwWp<12)GKy|tUs7JB~}_7JinTH*Qi~-+s^mEdCNtacJ8wYy0I(>H%3ist^ z?914}!X#h#`Sjh?KYVl=K0VlvbxW_q^UKoZ9e_9^gZsSNqZXm1TFX>G?`nCklV+;!?*X+L-%lae8#K%$TM<1 z5Tk1F1mu2pG#Qcc)s2sJ!eJahk2r}Eg$Iu9iNFKF@72%*-FEy*)WN{v3jGec=n;LavbJ!ZI@wBZ zFSdQlKB+x$6KtH`o~7bdMnd7+(K1|#SWL)h%riEKWu%bnN*}QDh2KrzjRqid9O87J z@mt_17MF?1(EgSqYZLq@g;I>pD=ET}wekLr+S>zCN{j)W5sAhhSsUkXht(pbCZV$r zic5jaO{cRfzlyu|s;-=m2@Z5;Yz>H>uF%0ZA!^+?XkN{=3~CU9rpY18>5PDgQd|yV z$e;yJgQdW5duYpH7?c*;POFK7L|X7a5cM65lgDhr+7G*}5Ge54y#=Q$#R)LiuCsC8r89x)nWqYvJ-N1j|)f2Db+ zh>5J4sn{)KTU@T?_)|4lvdfbYx|?kd>n~(%Swh8jH%^v{#rg@ocI;kabUc}Q#Ue|! zcCSf5o`++(2f_0_LyR zR+JUano>RkNjIfGY)!E9w<_YD6Qy7cU0VpgQbP+q1y)t>rhm&WYrzM&v5~zA58R0{ z7W*+|P;2mH7_xUmkghS#EJdxz{Gi0aZIbRrjx4rEn+VwxnCvju?v*~y_?P+!(7%~% zZBgJTMjmSng?hOKKMOmR7v37bb)fe7TnGWhM__` ze$K>NIyk}eeRCCxta#xLcoePrWgsjK;Ki9UB$+R?ls*6np+vSfr?|Mha8Bh^eWm@n z8@<0}k^LW$ZR#g&h9`k?_1YQ5#dEOs-RcN;wM#f?c!(4Z11v)ZgbOcmYSOfgg$P(Y z=Bcb7IX|Es_8n<78>XE;xZpxA)Z)`!=+1u3aLcb#EqE!(ty3Z`SJ%K&q`Dyd%u)y6 z*H+`~vT4OG^)8Zlf934L(vsOOK7*hJ+e%QVRnLWXEW|8-B^0$>Dypb#w!ge=ri5`AUm>>|GCr0|55YovHi zWyoF#Ybrir^}S$0$I>3*JdcEZX*IziNs-{$BQMGF-Rv zb=`O3TV@MexOWs=;MSP?ogFZUCGZG27(4p&Kjfhi_Hf$r&Qj!>&P(F8>b*AFsMp>e z6NkhvdQ)QHoB2M97}wM)r{R~HRqeknr=rVGFjf-(K=#mlR8r-zQ%Wx?Hu#Sn8?;hN zkZW*b6*Yv((^tjLV1+gCaUwTVb)@n{$}!c6cTwGny3e>?Mcv7$FxnwR^jU;KLfDzs z9d5TB2(gu~1|6myU(s4vItQjPPx@Ke0oVuk71!wDrQFPlZa77N!i*1&P{+|eq|yOA9;f*(L+GmJvzFKZ*t596mSv)0ic$bI3Z9t@qh`YU@Z=iXzF ztVskt1X*_*LbX3DWZAh=Aq&2QLY`>F z<1Ne@X{34KN?l~iOr>U2$`o_7TDQrpg&0IGqfrBPXUWf3nQ6hdr95)HV8V6m1a=ae zv9e;3qNTvEkDy=gF4;3Q;>7ob=VXb)U}{g1p$rG@DY6Xe;S_0yMW0jTOPRY@Q^Z@- zoztVyMp@IN#A}Rcd)!+FH)%oM;A`cH4#2HQ^&1P9 zvVNh>5bkGLHyCamDllH?4;ig^A>JHJuJ(CH-F7ss;=!{pMtR118Mpn!2qvs2AtJ1p zDWky)(Ey^su68tN1%fGX5bvM}_xoV+C5w#hT=dfdO>udlG3}ZW)3t48Sb6tHP-)m={GP*`N>l^cm$zQW!m4jvkFc;wzWQCAg6us8e$sqe-5y&V_PI zYCNbu;?0SNl*KTBEYX6Cq1lXjOh~!&(SrFHDY%x65XJ0=sxm-B%M1$P7i_119oET~ zQ|O3V5g$OG_X<3-dE_T#DP6k)V}}vv4dtA9%*Z+AnE4GX!76QC@F^FZT0|&w_>M9z zMBhP9EqDufBK?y18bWQJm*A!d`v)cdiuu|16zu#tSD7H3%=99^%+Y#Rr&mdAbvkt` z9;A_51<{D4uP7w*{37kALS z6W!(DIQbXxeJ^e^6dKqKZ}uyrqPu@(&Tw~g z#unrAz?vjqDB&`nk&rQX4Sd;GC^B}qRlO6fVer{C2zu0Z(P9hxWZmGwx&^N>aGX3_ zXX+qG2Sk4ar-1wc0xwX*`K07#faqw`soucHaiBO46u5>o7S&M=mHktI?E)+}{vUq| zF7QCO-ZL=K!o8z#TJ`G`k|G|2#pdEj z@@A>{9HVv}YwVDo3X|8U4|Vn$-9uyIj&Zp=W;WO*wB}wcR;9A=c@~BTCLq40*1`35`($TDz>MzWn-073~jfGo-U3h|mNx7ZoC zmgr&^fCf`G9@!CZ?Q&=VQ#lPEi1zy7rUN|A+dg{&CxgZu2?Be)L}Qy!iH+T&8q=yV zJE+MNb4Ke17vr7?w0|yAWPbRv1EP@jNM9=oc+P-5c`vlaOna%N;9v5kMLdx*=~kxvPJgQTly15T$v9(22z!@-YcL*&e~*5I3AQy7A2Ofb>ORvF7;LMAGH>`` zz2=po<4_llcOXd>1Qbg#iG9Wos*!p$QBLeX&_G`JQL5fT*}LQ_mV_SVMuI1W1E-_9 z+CP_|#9OsW?tx()XP`g}F5{9H9yr>r1>vtiJv|KPlowvbZ5Xc-eu?ZSs(I~dh_q0% z8##s^Wtfe^ekio1`29m!!hjkj=eSCCqXd0B3n=j!^qCiWh5Jz*(_3Dh&G&@|{)k|O z&pqN6txq1d-~z4c!x{`dV$a;Gea6=aPPFB63C#(GxzW?Z1xd16i5Hh;^FuO3%TcUrE=u=>Gnb>>7e4nPeCSv;;Cv2S z=TI1Q^r{>M*06~7;O-0kmlK?u-SC4b3q72r?4Ua&vPWPZ3iQyE zh@zm|9a>O_Kk2GT6%2qnUfJir6y5z5_#AC{C61u(#CBk(*oD-d zEgXhD$M^{&f2!m@i^Ep=3AnvSZi$MUI*Hlm9|Ugy0ls7r_|1y&dmx&h34ZUruSQ4l zL)^;=5lPKd_QX{$&KXxm2G&nYHm`&$6dj;WmjjUV4Tn~r!3q3=ks1ssMvLy8u5h6f zdFo&^$kiFQ=x8^Yr%?W7^s$C1Paf%+!>P$YL%I)Obuc(rK|59OCOr{c$Z41exMj*? z^T5WIrXx=3Q|2AK1-|e_xK^&t(0qdrR6vHKSbrg+*u}0J>zledMDj>ua8t!)>d>4m zn5cziux-`Q3p4$f$m?-LKSW~SKcrhy+F6VHegKp>UY;2v0$ZmJka_VNbiNB{IdBDSO2=O0xIsCR#+t z-;*-=S1?wTI+>7BPt`>HVJlxa2=3n(x{_NoOtFOYR(_Fhtk0;&oh_~UDp{`&4orFP zz<3Ym8hOSCK4ZUl3K4?}+_Y+3KlWJKX%v1)G6Gk(M#5R(W@Z{Rm1nHAPTmgqw45)v z7g@oRIG&UzX5$caB`2YeTU6{yl0+POH>uETG={TUGLOScX!q9Pw~xVFUeU+CPzM>h z`{dzl$8?{u-PijdJFfR`xH>%GBzexJhlfLZ?J8#I3pcPa-9W6{D2nN58BEQT96RVZ zuY;#!Jd0g1l<|=dr*u8UDww$4KQF3A`uE5t&S_RfblC%48yVa&BAk$fo*{!UG<{_6 z?LK4Yi13)CIA7ea;yXI!Kuc12nT$yC!V8i{8i$}k?s@WzwmC*~Uhm(La!72>4tG4+ zC-*(kw)Zpu0SP*y34fXh=;s2 zZM{btfp&nU_;%~<={)JUZYhb z$%=Hqn(|Z3tMN^(pE~ZByr)%vBd6v@>Y|Cdu;#h1_m&aip=bMy&wWO>^sB>T;^Ra; z44y{f1N(~M7$S_^=OE|Eoo|g?yd1exa*dX3j9ljNl58XA^5c&G^2MEFeulw|#QO|@ z^TM~mq%B*Er>)V@U|#XGI>+E(YfW_+svM8!nsB#E%n6v?mb_#`b1~W?Pm+usQBJ30 zW|3^D3L<)}aSf(3b~ZMeo$*OMj0$&)H#G^!dbRl4Vh#WyIiee0BR)HnlX;B&IA&(D z=5koZ7V~p5=hsh~UKB52znRzJha=LG(Iy@n*fkPQ4)orsH#SgY z%)P+ccxjS(ycRHR1LptWZz@0Lw2`Fg3u#_tG#+~lmBbnu!*jM_2EzP zsh}wtu;y0IcssCI4WIrQYM|NnNw0SFK%TKqB=IX|RGzUNGpS`6 z15&KISkYuyT8jOi3WYviD`~{GbuBH0-f>7ZWNFp>%SzbU!JlB`B7-TfTB^~=tElJ; zy+DSzl<(CZsmH%Y=&WAPVR0#yChnY)&J}B)11XU#5Env5?6(t`H``F1&Tz|v&&~XdoC-6SMqTg|bn-LJ z`s{0c=3AeWt+#9-X#w0nW};TTO7*@nI|CWI%ylhtWY$45 z###(b%}ZFF;Wdy3Ok0Uj@`%Ck7zk;Yc?lMxP;93$Yb#OVO73z_`U)WZ7s93I{y@2q zL#Yzkok1Y24vk^m3ae2T=dR(%$r~Isdy#U@*uwGyViwE86-dnfsxBCG#3(Rdp%O9c zwdz{b&NGB=e1QwnvHHlAFBY?6kG%f4{T>M z7yqk=_u=27vi+kt%ASWSvvh1C4bg;KgH=!qW-8(cFsvRT?G$$cuce(vCWdTTO%M5I z44dDd4S76rJE9ovVlMpuY{hUKe`DXm@1`%tr_Y$i<)-?kS=_Op49vi4MgGr<^!?e&7uqI`>afG1^qOSj3d7A%W_iZg>Us@8`B{Y z67>ER0plrXSC<>2FQD7J!2Wo;mb}36`pS=NKS9ouEl!;NdEw;?(YVD7J?M>D@{{G% z_v2yE#I;8`^lRfpwPbp{s`7o?*_eEcG-Fdnz3ryZ(FI7@2%`=g%IX#^cs0}_&&T;k zuh8d=9pYk{2dz%0|BmdbwBSpuuy7rHy}I(theCPQy@)r~I06hS(^hoBHyIw!fLv0} zI-;oWZ>U$qPQBy+jx?|{xDnG3d8uYLj(sg0!Y&@RvBcRt{u!i) zW~TQw7obyIrzIE3&*sz3&Bqt6PNxRNyNAhd{whf=$CHV{;heGfyaJzQM+|ageE-b% z6+Cqnk&k>mOHI8wf}${~wIy zM?BD}jOAqvR%>G+haR@Y(B`D27(3}X-dqT6V|nWY8L)Qt-esGM9%!PuJOaLXfemq@ z0Bmu459VTizz`*J|Ar0&veKS$AJBZe8C&M*96GuuSkUuG##mEDYEuk(7b;wWz>AOW zVUz9ojT_(tYP|7zp^NxqR~n=Z>7K-Biuqg{!UOL^p?ND1c2iz#ob6e;6^)s*SQs97 z7z1sNRNpu9yH|Zbg$xGbyEq?hQiei&nwJ6N^iS>gc?Z~u7zmwaO&=BFF5#gyJ@#`x2rI*;xFPO!9@ri4sD_q2F zEaHF^a2I?{11dHB-Bo4x7v%5XfMj(s#$J|iMfBF@kSLsdE~cVX1M)3hFNG`H2?{g6 z1*08KUIP+uZ2@XJ=LY$7 z7ts79(L4~1zrh?1GMO)?QJl{_u^zfo9Hs84ghT2}FJVe;?wVlk#uxYPVS7AXck(%& zy;>Pz4;mq&Hu<;?pVAx;8N9~NdT4Hv9=Hn6I54Z^4w?u#!ovb4^# zvc&b6Z8^A7URs|uO!H_6q;j+HNU=j$TJ>enzYKE%YxDKN2en`d5ERq+M*CQN3KhWgBC>UDEgR(Xh`Y8?wo2rf z%=w^YJ4$j{Iz^WH_aNbwS_yff+}h_Ta)DC`cJUH2KQNvr@Wi~B1QK|S@#Y1R9n6&b z7_NZHO{nIrT?hKn4ms$i@Jah{YBw|>&IGw`dgQ zV5w-RMO$8!fGXd--MY#-b`{zBNVHy{PTSDtzQeN3#duoEJH{ESf&%dr_Uq7mnt3e* z5C@<$*KXCeSK7PZYy1@WE#6-yM{({r>=5tpg|5PSc2}B2vC_4pGwR<-qsrvk&~z5= zr+krXeA)Xa@27jbp^jBK8JoPp_x#xy#&|p%Uy^A=&~Ib+JUS39D*lP;xy(PFX#!*0U z&qxukztwsKegf=F28_U&9x?G#=^=VcYivp=Sp=Ejtl**}Pb1wan_Jgct=DuGJ@DWR zodxEcJ=w7%K!}?BbQ|d_X5ma#^aE==N%VrU@Q!`I-Ufi1r9RcYowTWegcSK({$m>J9ans=O_ z+{#B8TkT_q=wU!Gk1f_Qxh@@`$c^YJQ6G;qHsm$(J4WCx{1rSz>Ftce8F(ze>11jD zd5GFEDr@*OG`#i?6@3QxsQe*k(DVe{)8anOxT0wX@=D5w1niRuxx3&z=jeYULmTna zo6P36qiUuzQu!bcc}K)#ui!?8-tcvT9`{MpNoWeqeBys?@TrxDa|Ydw_pKTbcHy>Jn#vJn!Z9Y-!;&Ui*p?}=0&`e6Z&|59^J}6oSm##vs`rp8c zH>@h-VQZ?2R{bOj__mV0Ji|!A!Q^4MF7pWtk8LlmHg1s&{1pfkaN?Hu6ZW~t5A6np zw{{E|A;{%J`Iz$pA4hQUCY(HYKM-0@^N}?P_&9h3vrfy|7}yhcy(=Uq8vtAY za{;RbP_B=Amqv=^`gk6Sot~+w{Lsfrvp1tFPMNq}p{oyLB4}@Cr!!9{T`7{qwWC_q zJ%m>>;CW2!Sd%ZtrjKuDSk{{pI<+mjln?6j@l2(}w!U%RsKk)* z92N|^5_`eeOf3i24RU2+`MLq@ic_DzfG5hy!4{6j6>>C^&x5|4p6H*5eAZ6m7wC4& zNAlA2M}N>#!S=@_FApf_tCN3hvM9ka2VA_hnP6!T*&wtf9tJtC&drnL++Qar%8El# z5dpQ#$%d1k10(hy6e`@i5oG2?lBf!!=?RVI()B2+sio_BxpXa1WM%wtmafkLdTXyn z1NpEIuzd~Ml`VM-p!WpX0=niMTOfY^P^zl0nZa>86WqCa^;dicSbUpa#Pf1)6=MSj z^`bA2p$1*_1T;25HZf6h=cA3uAN?RZm4Vh(UcR#NkwwJm#v2} zppZ9H#7nTv*85EeT8;XFmU#cbxjlo}!=@HX`ot1`Kq1a~XP|}snxNR<7%7hI&*^`# z^*GF!<}^%{uU?6Sfx9?SPJa~>C0oO)qMk#Q{;FW*S4@-gQS4v%j+|ydF1LlJ8-Spz z`*I z0*O|^210lC5)U9e#sPp_&Cj8JH#KJIv?7%D&Dc_6=sxtxXH4%=VvOq|7Oz)RiLs#` zH*ruMGcoc-VS!vdPCWCzEUq2_U(IFt77Px@d^f5i2Dj^CM3%&l+@> z4nE5xLjOf*Gzib`uGOmJfK-Ga_J}OmK;_UtZhoBkow7q$@mZ?f}f{-jT>I+mPb@V-Q`?l#mD{hee zkm9_K66|JD*;Xaml46aLVr7waXR!9xa&_kX1qs@DLGUAWESgd5{|P2ds~md;-AR&; zTS$j)mZIw!p_>LesWh#eN=8`%=#Pw*bed}TPfC)imcrM`C_ zyiY2qaH3;A11eX*i2Db4e*G7Dn?gQXEb~Dyy)}ixVS-(t z<_)==3CJz(=T&5JCA4I$M|$xT|U}4-#jg zDJ$r{6y5OFo{u&e66b$!(ZSkic(r)ALiQQ2-x~@hToszaF3!Jhlq1(32@oWx=Hi#= zrrKDA54K?|XBJrDnp5&qzjHLawLRI*aPrQ*mR7}AV1=j>FMFy+k$V50eZI&?v8@@8 zTCHb%Ef9>i5v%-!0751ec(tqHDoalE524 zsLXpI6qI~3$h^h|4$3|_2(GV44W@v8h&%wxLT!1qysx}yfhPm*Nbf6OOrZsrgB=rW zKh(W9CLt>axBve3vKrq6o-1jf*c_5tF{GFYvCJsFq1m4#B4_d^8CG=#x>Z?_siJ%?# zntZ+SO8(z*%UL6gq~K(E0Luia@v-;^2xJOVHV^-`A*b79R2!4tP0Yqz0i*jrM?dAI zA|AWp3EKs6;$fJp%!^cA&bxM~fD^bh?cV?58 zVsWj-r6v1JMD7#x@G`EFRuZRCRKJLsz6G7L?@c*=++0VaO}_0{jvkVZbn1inzRt-s z3E2AMu&9h3(oZaMd6Cya2dmf$+VXEmi)|>KL&F|^q~3?uSIFA9=7$20VEv|l|GE8A z#pfxwuH+zSEh6t2Fs?+3RJm_tVKGn0I0KBuG!P+N{6;P}IgyU;<#4HD(M+Y;vTnDEi9JGcnhq!u-*Y4Oo6;?Gw3ZPcl-M(D54cDM2RKVd6F#_ zD7-f%oH|JIQ0##s`vR~R<3NZIA`f(n>Z(wn^xawU3%-uJV!(5FWYW_eg$}(qutv4W z_jXt+ntWPSxf)gaif0grG;OiQ z8#=mKvK|E1&bt2SZaJir&a~r!zkx&3Q?25Gyk97i9shzH{hp}k&Wq5EAzh8DZ(Wrr za~iYdQsFB3twHtrEJzQr$jV!bn8PL3am-{Wys@V()-Rwj4@OK1LcpFCpWuA}xKw0d znlvpE?>!@ptKwOuQ`sjn>I;Tw;OcY+C+XDT~5(fN(_ej93$sTJguLwBL8TFt$Lcs#Q} ze%a!mFFG!Uck%6K?to8|k>@jg-_0zV~(Hn6A2Giq7msQ=O+HK3KO*_Ry zsEjCg$iLjChepcL2q(@vCuT&38gA2HU6O6Z7TU zRqXYIwQ_&Umk!C9#BjHc3-xHR7X6Sb`u`v?V%B-ELGDb4e4#>!|8o4XSRKVpS9MT| z<5c3pwetDEu4q6Hb;bQ5`4-#TLpL8H6yN)eM=%XzXBCdl04SMqmjM z!-z;xh{uV@03wten9gSe0*iqOZmR6-bX9!)uHyLxiuA_pBz&Nz3@x1efFA14z$F#e zBqS*Umn7NE8IWBCE>B24{&ieYS}J4$D0M3ylW=(>SrJP8V+WcDCvU`ucnDL1XTKTeSIs@Ha^~ zQ4vawhLeXYLcSkebs~X;MOCmy`L|mu z>)|gcZzg!T-u4BV-v^#aveehH>WaUCXi{O*bGEz|@z(t$9zbHgVl2z*ULV2FinSmqkwtgT(@25>Oe8x5FvO`KPu%;!n5>nY5oee(u}LW|HEu=fLt z2B`;VAfBSXqw4!v|25QS`_fP8q2xj!R}Mxkc{>eT$a_F2Zcs7}BgLJdz;PQq*CsqI zvDUgji?=-^D48CUfgM;u>XY=roB3GXNnUyF7F@b|jde|R89Q<_zIEz{!Znf~t_AXuB`G=M zg^-u;QTC^XN8`$L7T~NT<5Qk{z*G-`EARD#XFFp<)2FEKHLy?l0V($W=&}rMq1ywG za|B$MO7Gjwt--|$@FBLaFjSCYRR-yuM8BiZ^BnX%qMrvk^k|jr?!eoCu^;vcv3@vn zE-T#y?dDj|OK}PeoKI{iYUCK|=_84)-v{hyU=2RYbc>7G6)tA|z)TOUT8t)DhhPZr z;D9?%%h?LDn9;Mp@@k zIS}E2d6KhaBVJJ@(iFl2byvy5ED2{`1C+S;pZIQxiua_4Ge;A9i^SfEQ!JvI5LSsv zK;;I%t*pppT!5`8UdgZ^RjMHyO0jepZOAeRfHc@LxZQd{vZBP!nFT?pQlz6tUr zfz~e4EP0X>#U2{;{!U7>`R|kl;l*621|tM~7*$!KLX%K$j4D zh|t4GC76Lfuy~|#m^ev9DMBn5=}Gn;cCB;};nXQzRrs+Nm2d|lLI4*&wu#dyc@dI? zVm!!^fof3xi0iTRKShXdykjMmd^dX}$`rpXQ|lbxuZ}Kske4712>!h@)d=H-#$XkG z^G9s5>YpN~`BQRi@kH!gT!Ggh0OrTGE_foTi}a^l9K|p&Mh#15vdc5R;?uJWBrE@y zcqSk{MJY<|KMr$ouVjnc+!${?Knw5XiaScJ(x0U0cP5GLxZ8+$ zJBeIS9Scz}7qiQ)>hW?o?(~S?kkmqT)<*SJi}~sA11U^_xPXa9=GTOyBk`?3Syn2la)y~_~LkI17go3xmNu= z>bgWOuviq31){`M%y3unrB?BA&_v_E*XIdg|qN+u%RRya+6~K7#BNsU>(1S3j>%t+lmj#Ie^Q?`={!Rj7#( zOU#{!LBWsd0~`#?*jM)v>T035yT->mwNXVI13UM9cq9lf#tEtM)rUW8iS+7K8x zvjcpukvx*0!-tp!awG}1M*7cop*wHwL#^7qRkeFXq}>5*_d`eTpnF2naR=$hdxfHF z8=*V46m*TP=pK}Gi(ApPRdgTW?!M~hI-Abf`%C*Qkheb>2(Cu@7AA;?+^3^17JvbI z=;7_eg#zFvL#Au>(9JTeNzmI&?-2^5b25A;;Pw98Xy99+|y7Fu>B*Du`3 zRD=}Wbx?}yUZ5GQ1TNqcEZ>X&J_7HD%kN2gZHH~o&B<)P?K!=4KzhpgVEn78$GxXF z{D!~g@_SppiIZ=)Z*}*vlA7%0`ja!z=k)if&)#U-(dRE8OSwly^!e?pu#4NU*o(^_ ziau{f3Y5bT`J*WAvAzRzNOA_pz}XAl>4IwIpd0Ibq08iR?VF$@JUD;xZ%~pi{0>!S z(z>Pn;K_@;-s|!f9^+w=cF%`kqf~`29?{d{&XA$RtIhrpzt#=E5zFuF{1WY0Ltf)> z9Yr_@SWu5=IEUY8wJsk059Hl2d=lPjGt3 zF0n`N1s-CA#ez2nl>J3A{q$q_I|1kgW)TMN@$WfsJ6JKCoc)o_jhbN!`s)sHp6P7c zJH{ItK8_K__2P7}2iv|TCBeP`kAEj0g!;U-pDI2_KLpTnYd%S2&%o(1aFVeb*h-V8 zDQ|gMa!QkLZ*lf3jj|gMAxe64*z*{NMJ{Dc0Rx)G3fASNNaM>osj6`Di*T4yM>WmK^dh`(eb#a{*S9s3=KUO@1j?QMUMj>gQ}U4D4sS{hmb7okJ=!VDANO#*%^ zpbo3&$@}1IWD-n#1J{7Gm)uK6Mg-@@P!qJj9`z&*=&${b^1LtAnR+87z*mk)M0JmW z7Y;MpaXR!C;ia?^J-mdSH~9`N*NL>uZz+xP z1M=Il`Q(cs7kak;B|fN8Q3Ehyh>#kbfBn62%0k#oJYX`Gz@NRwhg zID+@l&_b-gH}vbs zvK@Zs58BzzkNA%xtkwoC$;G^OK+ly z%2g%eO38$Ow5}3Qn#!q6DcmAM>dVV0wl_G|cwlP2ie^4g5%Ca<7Mg)KK&kNH0Ot8Fj_5%Wc+>JI?jx{fsoS({$LrHV&3({6?R>jaP6|;H0~n@42f(CfC|Rk2S!=x+-yyb&Tnl9Cyyc zJ0^!b1yFv4->d~&(c8kvcLV_0Ok}qxq%^FSe=1tLrnG_|EF{B^fFSL5U{+7YHz0Ns z(TL53JRS$4o`~h#ZKxQkQ3i1`JTU@PHO57&=KBKhCu1lIHba*wNE)=pKi|YMHia@| z;|c9n5JCh(6bxl8_zkFDK|c}V>P$-Hvw2^DHvqWa;%aGkJQporgbiQz9DRRdfXQI| zk8jv3d)ni_#sFTMC4aQefuZ;+W=KWJP*E|u9E?PP!cq=}9fP;Pi7SEig+`{xw;5ui zjGJ};OywGt`0@tadpKFv4jkl1?T8!h8T9%3Sp)KZ{TfNHh95fUrCX?_yxyP4``6;^ zd+pF70R*D|3(6#r%|(+={+Wexff1c$jmlhDsR%+GJP`FczLT4xUGIewdeQv>$d zhZpFfCY+ap*nH5nK60P(X1yc=kBfJEJS}gsySUSc-!Snl>m`e(Hh7llO%9#9Vovq7 zyvc!Wd9xP3#Y@kl9wUxvSnd{uq|(8$|8DZ)t`ofOQM~>IUTPs?uW;8j34z9F-B1vCGz0SJ2^!f!7fRxt3db zUO8ILVk?XlE8ueA(awMyaSSHOG7~#54&G_?Z25p}+4cjktdmM=8*l6RpJ3Ls%-JN# z^}Tg_d9po?M?Q2J{`qq0Lz-reFQj9dzq6DD7$1FwZA8BC!?b7^+O=rVXKd7e{aQDg zm02B9djptRUhkjOOK}ZlV|s%Lv)d%gdw*=b$>Dk*-v9AJbxRA6yJ$c9YWC~5R{h$# zR`#n?oZYW=&%%C2VGLZ#jQBVFnGUafk@ET|?mbQJBJO=gb?E`wq7)i`f)(e^qn=a+^JQ=BhYuKE9cjSJOdvT9 z>HPQNy$@de8LT4>c(*WfuXvM52l)<~|@t8Sa0x7{t5@b0G&g zaz8lK#w(vQ?Z8)_Bp)+3%BHfcX$;2r`>&wH{3*qOiVS&WT&J`r%Wsh7{@pZb%B3${ zPZ7Pfd~3{f9&tj_=f9$ikSKY4gY4q%$c0HJ_I0CSmVixgV$6rRQBnrLk*fx1UXHH2s23~h>T`gW^HB*7X?x11aVY|e zIyNZvQsPa2L`l2|^nA~wxd%#f@zpJJM&X^>5Jo&tH5OG>ClALBX{!gy=B@bawvIO_7~CHarlmW+z^{-1%K%xs=heAhoFh z?ah)F2?X#0hj+jM{J%Pek$(;3xTZ2lnrt-$R`*3uv>zCQs`LUcqhIs_@^vCgCkY@E z1FZ6k0J+d-Sm>>7TA|xYw7aaJ|C{Y)%;l&`lrNJ==K)+q1Ncb zPpYoUJ8g6-%fqP}7JJN(jj*+R zM-)4Ofl2=PJM zdfwWxs>$T8fMj+0z0@;6EIEs#m{0P|;qRcv`&|NfR|_uQ%4`uT{`{*{&C8P4Z76a& z$>?*{N_J$lSOzY3wn*;tLIEz+sPQCfNE%3_OD-}P2&eu7oK@#+MMERAzy})PLrCiU zBNRZ$j&97uZ&@2`z5z>c_R5dc>%d1gU~8Mc>s;`mNEbMTA;~3@*{xtkWh@0ZN5w0T*eZUUOt6ve4j!REnru4t zNfd*_x@{DvLWxsmGx(Dn1z-WoTZJT+truQ2MWaJ(8Zf&?GAmaNTyD4T)=M(@K);h* zd`?GoZ|yDkZR>aU=aTc+wNg2UemQ}D*FUE8dmKh1Fh$!wHlHbXV=#m|-iZUw&#K2Y#|HXm>8 z&8Q7V+;Q6q=5y#^D)VdM)Ca-mPX;^MRsSbYvEMv$*Aa`r-ZqgNvQ9c~F%<=%*Mj{=-~?DuZSog}Mo z2M_#FzI^fD`xX6eGTljf-d#XcyqJhHo@Mju8J*wJQpP6TaGhOY3)Eg1k0_COzAsKk zgB!9t;a&DKx_MV)0mmQC%PQWn{Vxy7`?>n z*Bg`YkWWd@g%$ZZ{L9ysZEK3#iJn$dpQ8%X9+SfACC5Fm=_}~MTNg<=alZ#d`@w6p z@L)C&SfAuw*m4A4wd#YQqN;Y|Q}892cF(o}5z5x35z4{f7AHHuCO4s`I8prPVWsIC z5Y}S&doShi_XmkH{L9}0vvBHxL-z2$02;Fw2wJtrf#n-waicJ>4)2O^Kh|Nd&s_hs zw?9WivzD=;tD)8FY~f&}BUDp4$bKnfm+uMfA^M|5#!=?CTstEBHNMR$32(S;Xl_%J zt?{+Z{Z%)qW$_Wt-6&KO0BmJ%Pcn;S?4E^n-A(5rdD0>o0+r?!HG0F>$9cndb={ED zrjy4T${nW{ZPANb^tfH#a9LtaPS;MT5s#NG7Hw%TQ);G3xJ`rT0Yr^YLJ9oJiX6i{ z_2z0(027^URqi2|Ve8dBM#HmlXoGe?ZQ?FLxXFn~8THQ_&V80pcW*!KbCw>n* ze&Kr?qNpQ1+Kx-EH;lu0k*>aifj~C@;#p`@CtSTWt2Ep_%#nkQ(Rw5rr*)grCUvJU+J5_Q78 z39mw1s`vTjDG5m@n7P1~XV>$7^5t5yP?>+TUMDT2UM@DT*m8Dm^@}!PDMx5rp@8=Fc(_i@nlBrOmPO?5q9L zskR%R$zn*e+afISnIM6ML@ zu_d3_^HBmtXnDRQutTG)A5vZ(=*3vk%ar&uHNty9JC0`|l?Qvi+g3w~3YI^x@fp6ZB%nxej+fS4 z*@YfP<*3I_toTd7qka5)>EmjbAtFymEQ7yMA}NmpKnH@wAh7Zt08|?M{`nmZ-XPn+ zY?;uIVbg6 zrOjQ#dAjQAIqY@YjT(UUojp=#zl8P|rqDDX+WWNDVh+WPG2g^^kr8y8b}g%4e0)Fu z+u~dBf5-Q%#dosednk#|9`|hV{g(fqeCVHJM9XazEf>3e3$zwD#m>!ZSYJDYMYbY} zwdYbv`#&yRnbk?(4X_12U^?0#q;1c@4?obNx70qKd!5uA!L;XR2sO=Agt|9gB- zzPTR-qV_2i**Px9I1<2KF1Psl@lSHtP+NB^uijH?_t{n8viJ%8Wxbo87V-}ge?;i= z*NDBa2U=g+BB7VxMG34^XO$AcKkihe;|M?9NtBly*)8Q5Us< znk!SEAH_>{~LYbd(@YaWo8 zH{!jU8sB*R_1B4#bNu z9=^S%q}ds|M$Zu|`LWg%epBPcWTr0GU6f5CtW4WFN^2IXmn2ht3Z{@gA^cp+hu;jJ z*l>sPw@JR!z1GUBL@wB{rNpH7bnu`fNe1h=mUg%evG!l3Ibi==l0x`F!%SK`jpL8c zwG_ytF^SgSAB5!O|4rmbcKN65uSXvT6Y@?g+VSWPP$a%)%ubFgT4kWetr6&LKqJ*x zS+IiuOEF`V^%*h3=(IgJT874Q@Ts!4CmXUs*KiJTqQ8o1xsD!n4-4i&(43+x*B0>D zCrP?~LgEsOeM1(C@8^ryUo8-nTqDZ{1(aUhqBOqt7`vU=QlS8Ae zQO0&6-Afex$~6}OD2-X)Rc5XT_o)=b0@nFCtb%eHXMopGY+od8bl{Xwd?Y9Ba=%zO zHZ{*#d~iMMB!`lrZck=pm}L-egdoTjWL$(7 z*`Ghbm%H<~@a$b{sDK544^~z-{dUr{Xz3bIo;Ngr@y>7OV&1joYQRw zm!cF&b`G~A*OK)k;)C_Qz*#(abMxmp&0pko+e-lE8Qu2ECk{5|nq8CQkp~CN zHXW@Q?ewViYjtde;Bc&eAQ+n~j$~%h{Yy4nd#e0$$cOg^haCGZXYN3R z!2)}4xUr>A&^G4US+rQ}N?+ZGaAWFw6I~f%yJLZe&5|3fkd73}M!b#Jw#p5~mTl3j zaH`2G8)c@=M$V$k#5BRTBJsY#l4oVGcf9N9PvkdzK_3;)p#+in8j@4p+MMH;awIUm zz}^Fdc~Yl1*5@SqBfx}?V88jFd^}fDmc=7wn{Gay+md*=EX`lkT?Q%|aD0aJoJ;v0 z_7aI@OglT|pME`-#X}Cb1!+o8eD*M9#rs^fIjJY!xdAY5$fWfL+$hIGw@fw%Jo-ICPLKN1^uIQpep8`@*BskU3hI|N;Hu$=_C zt6II?jrHGEa(EC7O{VMHpG3DDk<&Me{I#1T(&_WIp1wTUqga0|h+NMt+y@SBk9_?^rn7iW zBRDc5PR#-&n~Pr}8=Sv2Py05W)!O;=+uD)vqX-vThyNOWG}5brjcp)E@nh}-%8yM{ z!?s(0DwsG5-urY|$$7}kzNC|drtyBdaYZICq2$_&9P3~kIQms7Hb?hPn{o!CLLXt! z6b5!Do8I3d7mVq+WOdfR#!Iu?L2KbY!sM+^{TxJ!oi4Rlr`w}jcGYl{KX+Y7qPMGf zz1_dQ|3&DRvOK-UVgAK@lLNncf`$S9Rti~7p1+1Cep3pL>b_4R>rl0fF;2^RBy7Blpb84@i zq|FX=$AZ08Mw<$mHMH`e^_~YHhun^lKjZV3LWE3AYS`-8g_O$+w3G65CCA}b8#yadwi z2q+|*-RM?ntA$qS@)$)ijTVztSvz)U(($^%9?Ccf{T3m-=_OkVed8KenY#PU6rfmbTQdlOreNGvLD5?2gUBG`(m$k} zSwzu&v-Du#gI<%R@$QQ)joTPS(`cLkdg0jyl1+51(s%+Wf{h_dN&5yYG!|H2wid!e zC~UvW2hXzMk%?J4W1Fth-u3=M~WuvlLlwHPESczznJ~j)ksGtDnGI7M&{j zrFo&?E+_~#N}z_eE#^v}YKovUygox&bf}^zmn5_K)bAMxDJ|Dvot2_UPV z?f_2oM#CBw={aoe8)_i_6sG?=SW3d*plaDfOkZg)%P)}N|E{%aLj5Y7 z-?`D;iZCY5hkdE>CoTU&nm_W6&(EPsk8D>6o=5YPL5DA_Dyq=<(cP4CA5a`$@PI!q zSus9OQPuXM^Oz6DQRr+PxuDONM;j8OnQ6NBDGGeIfluiXd3^g_6^FrK!uXa0I_szu z=R=IqhIxk{pU@a!!N#M7afvF*F%#)}%L>SBiCG)5?JCnV3Ohqek+1gjuLFRi>^`LW z_3AU0qRk4R635e2X~tR7|1nyrOmhj=*diJ zV?*=Q$Upg9KUa$$c?3=58>${64z*}*O8N~ zK)xx{)y6ldlTr@bAFy!8cEE*!6Q^p!GBl8s>iglayEt@*vzojviEKq%FKFS{3%>Cw z^v1idk^$c>T+UYE9&Yo;90onR$8PccRUs69E%g=v5azc%qxRAmOHFdOl8BYLW18(e zv!(6C)_Fpx7UXs`jQHOrdJR4|@gXBpnUhbi|QqRb}vOJ~ZM4v;}>k#q89nw|{I@MYf(^t1^zkCEZ2C7T6Dd^V% z+^#j0uyf9ZTP)!9zXE?o!4Z|`5uh<LX1~ zVs7|qCRTKs8D1ZlNCFrR0RzKO!?_gTEUDU$EgsI2$;gkJSNLvx3_bADf*XEpq1QX} z&SPMdQ(&b%Gfc*+^rn@#B=g1;i>wx8Vf>9;Yf#|Er*p^F7oqqVt~3J{U!3VPC|x4W zT|OAw{onw1bLl2GaWDx*+^u>LJJ{DK39@$jVkxBKojksWTk@9cl)c4rxtqDooGEe` zJ2m*CSjaWe>kBCGs)E|%-RNpAp5WHr7xVaF2eztnH80bN>ivS69`1S>1;>Wv7q6}K zjNaD#b!=vy35_Ht9Gd^AQg?uxd84|HxGPy$i2d37n10}O8jNJPVWn`|`V#H_pP01Y z=X^`)uLEx*C-U@WQl3^`h5ouuTd@vYVl*|9C)g;VR=^3zks}Ex1MYVMr?&ac0=Kpk z+%$#zt`pp27H;nwNx0DhcOh`Pp~((hd8E-d%aH)-UctuQ;7E>{E1p*Z#)HW2fr^#p zLCMo#WPHeLpPGj(?Y&Y*PsS~9yd+kX8?D>TkMA4>AO1)(F=iaoNT+L0yr8sqkSRu`;n{t$7G_gVA0&j#smhk}q36#rqSjY4NE;K(FV5&nuqvbX)l zf)dbAmLbbo=&PI(zPYbSPqe3!vDr2>I%S!p` z#>e!n@uuzzE32+NF`AjfY>Z>^cs^v3Ho>(guFZpeJR;OT!ZJCKZ1dcny=b^R`-&~7P@LQ^4};*g1XEQHwmXl z$m?%0VBb{r5`BTAe{=T)dOe`J)M`)fW7E!IytePDZfcsOZC5{1ie6H7l=#OWG6<1u zNq`E9&ZQP95F#{0q*xI-7cMMfCLw$0h!uPkRNShNki{FbTZ)lhXVumPela)ltuyy) znOm$ZpvbHKVf#@rK;sm2yu#}7M>nCLDQzgF$&uiR67Y5CA01E63we9BIb@Ok4e@im zlk#Dj|4g(ZdNmzMd);59hf7$#r7tl;oveWT<&xz2+T9pq<$ZKO`xTe9%G+gu zQu(#a_^CayH)`ysK^rzN|x=b%C1` zMIpdkQXaJB0{WZy6Eq{uvoE=)gC>%x}_WC8}VA z*LRC+rxZB+Wv1iQcM~a3`eV|jH{ZG5g*g@VTO()vhW`j5s*8%;GIdPruV;G{ho8MA z*k-Q*v=-nA}u~UC&y$V z^U3Li?Sl1!9#Wv}^BaY-zY0sGThOf*&sVx0Tb-oqG749JNj16zf62kxjZ5jr7w7xC zO6vrl++#17ZYBO`^##~}cv`Sa#A8ZNooDe66a3oOv%sG?R+0L6az`mue+Ov_?r;nD z^{OOYuU{_wO6j+>etiRf#nY~)^UiPGr^?v|e-d}F`r)y+3`I_KM(uBf z=ykPJ!QMjuUtt=U@<9Y9y)k4xJ0Fr!ZDKs9MhWwWYTJ`Wf-)2vjvZRrU8WYO)sN*c zs`$(T^Zcnc&+(l>Pw+witJDC(tsPyQxsUQ1HC>8v!(PV_Sb z>>gY_Z#j>dEJMy~lC;GYJ>sK&zTxAa<)z^Q_&2z#Q(pp;+<1ipRR`IlXv-yUUa0v~ zZq{qc40U_QEm>2$74U|QZmcEzX^fXZ6X`N7fQ~XkVw6c1A5Zz zqJMTHnfo|MO`1jo{VfPZe=2oud6qH+O*sB?K#)*PH$FAroE<=mA!SYSQLWOE@jwq9 zN5U*Kp(|$&LaXbO=ls*9ZX*ZGmvT|WIUwqy^;kp+sd_vBR_d|()nq-w zAW3}7Od^Rt4?K1N$yEHcwLv*!D66b0yD4$1l~6ff%zAWZE33So<2-&|@SuipvH1g)Bfe)hYe^2>rq@b2D%WmhF=C zo3_OrD!2Z!EU|Q^)CU#{wAUitsR%HqXK4ZHH>&_TJ>4Q+?g%uI$>}+&l$ZN;Pn^?p zET;fYc_gq!zf73G%hQ4F`Z94UFaHY2rUa+wqB_!ee>sq+?~Mz1ckz#i5ghgwEs|Gn z!9sq_SxXsxy}b+?h= zW~>i05g3l!eUU;bj=;7r%n*t6@CTXuDS%#lXmEZ5{X@0)V5XCof*h@E3lbXUSM*R7 zCc2WTu6;%;)aiXn{*0F>s0P|6qopFJyTTkC_O8q@Z(L-_*C_zK*Y7Qh{p7QyR!mvX z`%0`i@h*3$$!ex)!PO0q0z<{NnXbKQ*p)1^`0_;3_V+M>p3{{V9rkp`(d{ZFPYU9A z?yJ|Q>k*xva-SzQv31W}0vWm(bz%xH{V^q!q8X69d4ChhlPgZaIT@UEncKl)4hI1n zjgC$0_jyuD;ka2xONtIX61d>Y(qxH$W8zx+Q)QSZ{d}#OPdJ|VTSvYSS96#pOQ`6J zyQRO;X*dTo_w(yIdhs6_>T?HZtye3BeRjW;B;k5c;|;wkMIY^?!zeHpD9k!rt2;qR ztzH2%C1Rr_x3nq`OXe+<2i29wfmUXciKm4o-%gj&Dfctwl<0nl3|gF%I^m3|tXe#q zFN8A}6Eb>Uhn^De6L_u!kLZc(!Gt~(rf38eSleckBr9S)!OIDh_ku);`H)&l{Lj^o zklrW~m(p{K0Rm*x(xe1l22|pPlpa+FA2KXGp`#x6+j?9JaEb(Bii$e;ZULWEWsK>a zq(U~K+srBiuQRU~A@~Dt!Iw`1dtx;vs`SN=UO-DRiY9J>aLRn~A)$MmrCY>^%I=+| zbRR2pE54_}mw1*kWCR^3BWS6Npkk7_jG#^O%Lv-AjFyos#8r+CjFK#C{4A}>Ecf|Y z*fljeFhR0x@Uv`5W|>KrUucj$+d4Ez!!pK+w7PB?D|M|sC;0ME5F|G3wDt2{mcM7F zNG%W0T3$gdQ(ZvTHF{H1+=;J)gAwjKVF^6SeU|vF`vL3zurS91j7Al40OX@TDRa7k z*fQrYGR6FqmD3qKgk#66gLE>_m9bYgpu04dTz0mFxfPEddKsbA-p`y4FGsGmG5GoP z6Tdj>MX^0FJM~Hc^J9r_w!LnIwC9JXaouZwKI^hMfgLr$=9V1R3q$e2S;b8Rs<)U) z1CvrEI@8>Ap7L#cW$a3*z-{}0)Ga2SUViQrv8GU$*&k8i4I*O=GMs7>RYOHnEzg@DnfKbRy-%-;qLY zZu7IBDI38EZd~ zyQWpR`6lc67OGW^c$S(%MC6n%mE7j!z7Ql?(O~r#Q5D)y}4{TPZ>vUs&NGAnG)nbUml1K=z<$8F19P#HT@lU9->0kHWs%s*=rIG<}j zjRnKOlHq-8H#$p#BWid&q_&k+vphL3ZLd^i3J$>J-IniwAdPvWeHu>?+I-1rn4)b1 zeY&P5AxF6f*{Wnyxg^g%hkt_oxkc%WO5>v0Rb`>x1xit+@odi_X*~M?7F(XJ^g&)z zHb=!yOHqqi#qrP!NMp(WDfwpZ@bff9rCIj^Wi8ppbr7m&ZF-qL4@WJS@Qo%=a%CZO$bC`*Rr>I1?7e1v%guLxsR{H(1O$Kw^6B@=FEqRUa_&Yrwu1@L~bXw}3mCMA`QD%dG>P zGVZ0y!A6+?rQ|{^zN3I;1pVM_E%qY6)zkpmN%ew_axWIfe@BY|^Yv7%?y+Dt4*?jw zWNhME2)5-?*z9`+vImglZnC*|Ka(t4^qAP|?JtPJ434QX7lA~z*JLquDbNt zH8MQ4C&s`=2$`;;)(A#lD^j2BQ?&N|gb)?c2Y_r_V|EpF_&db@lWhbVFj7S(u4T*5 zaO&@%=6c_mEIPU^Em9OGFh@%jx}`FjXGFesqf58QQ|+g2 z>?WN=lr&G@&-HH9XAW&B`C(ddZHpVbrIlQ6$xZs>3}qjUqN*iyuvA^H(_L?S@_buv zns&YS+WheXcGI3=VMAo7Qs{5>wi@6;6^Fyfq+DYyH1`V2*R8?|fz~rcZv}%iX7SFp zJCgpZ96nm58MOF6mPS)N{*_{>!`L1K8>|n2JJ?tuSShIsZ)O0nV~clQm?(j7w&|4S zt!F9Cx3Ebep8Yz_lVDjUeL`T@OZ{*N*^epb?zyp(wTUoh`_e?=*yT1n!Qq7foEbT$ zVk6^{T=nkEKZ?XygPi__j1078Gjem^mzK@_JA9I<9^RQvGM4*}W?j2IjOn7Z+X zC!lY7*SRsZu?h7X`zxU9~JULur7w`PY+j1v{khP`JbL*hhXqP2&${m7SLZWtjfNbXb4Iwp@q zXa7#^tobgm`RZF3Y(sH-5L8g^rI>h?wCk0CiTe2;-h44Y)z#x=wS8&?;5weo1Af5{ z=b~m?cW3GDGZR0OX8j#WAxf5@nn6_apZ;RCEhC-ipcRw{{s8#Rwvdi?y8iFamwXL! zm=81>poy~K!M3y12OJW|1CA|!2gg(3&_Uw|NJ;u%RTeMh3nDT;Y0v37f#E^}0$DHO zVm`5z2@fon`$_yrjlstx%M#tl3iB3z%z+ja_b_XNCC-BPV58=CJ^|hlz?f&OLMz9g}E3D6gRC5~G1QTb0bl|G}mnBtM|M_q&Zp641R@Jf z2!G^o+9@4}5V+*cyyhX{*eg)KnrU;!XcB7DW`8Ej&WjUY)RhKgeGE z+}Loe={;m#LuPZrnG{RQo!?UG@{WYAmYGadL5(*ojLW#lS#s7ub{-36*CV2V*lv_@ zOt(rpOG@*ax8!wO;|=R&jw&TbOIZ;a^{kV6dEln39QY#r%p5sP8!@+deY9)>0aH~2 z?Rn+j+$GH=11P+a?9^!xY@h|6eLM-=8{oE8H4Ee#)FLR^6FJdYGIAg@+S3cyFr}T7 zUBgtZo3w5nm@>=(s5mz|t0<$k&5pZe1-4VFV3@2bsZUvv)ctts>3>`xQbX)eKO%$B zpd*RTDm%TniN6plc+%=~PKDGbax+bMo>oDc(2CORN$EAGBJVy%!;AvJ$`3(eUExVG zitk&MJ{5qn5mZOyw(kab!!4H+|sz?p>gmq{Wp7 zNXAq$xhi^bphje5YF&6q6-=9aI-kBPeAo5f=i!~gR(7k7G;Y^fMWL?T?@|43F!L+Z z^Ei}J=4AHob3XxMXt4!LR!&b$}dE+C%rh|3_OaImNM!hUj`YM zCx~EQz#yy#ylLv*`*;vyx**wJ&XVaU67Evw-ZugBJ}{XD@>^Eg*76(u??5XDEyKZ$ z6}4|obk4wx+RPP+LzzwdB0n()$uNWHSNU>G0VWtt@CZ%ddf(ddMn#};H^@vs=@VX7 z0NHTr#j)%xnb<2Fn~+~4?y>b`sVHv8j`+T5fdg+JDm ztaFB~3uk`rcAc5eIV&7aV3r>v?KpjGMdmhV$*^AKnT9Ubt7g!!-jNG&zHFNwK@7)I zX6;j8dY>(ag{{%unb(i!t%dUxyU@V1voiUcmDT)3PPZ0kNxK<8Sa~F1kqAnly~Z2W zt9X6l3WUb5*Q}i4^`=4cwUmt&W=UbwZuk2Mds+ihHR%GZU#EAG;3!~}E&Wk7R$ZJ( zTB22T(y#h=5WNE#&*)fl#qH9mbxW1sr6<;aF5ai@Z^$z!e>`W4C`?eLSOrfu{%{1XZqWtCQQY`mU21Rf+POkPp zny_G?evx4C+9TTrB>6`am%yLm!~fmF=a|gS@Hu9b!q;j~=my4obJ7ulv6jBOGtwK= zpdg*UA2Gm_i?(Zz^f2E_MR_wL1i!kkInFEbazGlgG$YwhM1Q2+FaH^}rqatM@@uth z8=Gj8(SNc!Dh5f7%T;SKK+K$pM#zbp%Os@*t=6w`KamJ_Nb-_L$X>qr`|kv0SCOdS z3-`FA=59^Wi^L<>OE32HqF-iN=BLx7h*zZF*wh%)bo05S`eQ*->^d}p){QWt!J9{i5S+-yO*^h$jM-VOua+d2xMn7B~`U4O^&oYqcZ zR8#2+f}AL*;`P32J|C<}yFWF4UwVe{+g@g_5G7*x@|CM1fleT6v=q4&eM>X&NrHnuYt@MNAoob2)I z3jBBKZvG-k-YQlHB9laFFJnhAhaJjAxUvasvzb`X-i{`%JxfD$B;_s&W$faFTGJ-1 zVi@~`Us*vpOZ(4eQw0!Ji|);I?rhqX9yM799Xj$Y@FBf?Z}_z0rq#nEgf$GGxx(&mAFVxnRHwxxmrBX}R*t!neec3O z^MICU7h-mR)WnaF+Su6NZ6wHozt>_8Bp)1b8eY*f#&gRO?r-oD>Pc8yz>D&%#ndZA zfzuH4GeqHXg&ZIJ(b6nUS{-Z*>cckk_+gY9-5spGlr7)oflU5}13jrb52FJ|^7o=Z zanR{m9w^{%I8el27FPLtQDBq_X(hIqk0?QG&(Q(5!;4;f8j?0j#4@>0PV|8fun2(0 zz4XSm*DSkNNJHLBYMU`-aKfL@bQ=HrxnA!;C(h;zXQkJPg(bbtX*i;buugiOQ-1)@ zA#ayXX4F?^#$vh1M0qMr;KotvvOFYFU6=HQ4@2tU3hQNZ0B>b{iM&YwWAAYMm@#9~ zKnH98#h=hS#Go#l+~$|HSC;IG3})a|nH5x7)Pfd^yq|K<|`h#d^}I^#QVt3c<~V|MruVb z`ID+X5NzkIZ^$U?H(5T;*kOo|wg*7hYCT^D6Y~&@Fn8m4#d{5SErOdtAOZI2j%=4S z;18zIVB=H3ikFL1D~Qr}rd(Cz6h;Wt zFPt5iAZb%|fqE$oR5xoH)BP`z{ID$Jh(MO%Hbu_6OJnYp?hzeCmceAUs_1~jMe|ry zG@tLL3&NOG;u5mvtD=|{G^e3Tki-Th75m%yl6|!f1?S5rZ?&l76G&FgRiI;< zoFbh}8nh)*EFdq@>wyU!gF}m%Eos>Dx(F&`xfZZk9%9`Cj1*z-M-2epW`c;47IhC_ zWefpTLD>6rEO5_kv)O8HAL2!AgMOu(L+&eLVG?V*f) zNN45fSs9#-Atz#(h;&uyvy*v{vly!NcboaQ{(fOj6`hJY`}e_;(KcvWIO`CqPM_{h zNUOAc(kIn%j-?Ftzjwj=?}LCJQb(TJb0w^xRD$y4RZfQJ%f0hW%!J#HO7<^s_6>13 zCwihwaDI6J&GeH~F9GwysvSP7Y9LCq#kw@%9*U8O2v7E;7p$ZJk(Ay15@+3Awbg*m z-KHl1Xp|EH>T#0*b%CR)t~cRA+6ey*-VwFIjO1S+qBxL-Qr?}+gYfP+{oQ76)!#47 zE@3XbyOqY5(&=37i6#840e+X+4fP^ht$wzNWNS-Tv@-^1Rd&;ff{kx!RcdPm5o~Br zTm_=EdXKP~_h{y~ZN2Mr$cU!A{{pSULDWGZlA3ZDFnZ8?8lEns!H#=i$NP%weQ<$e zti|#6UBAE~`Sql0sp+G%a-wHv{yx{=YNFZD3(_u%^xq&&{GN>FC~9rzPfVLWOOBCM zgyHw29l~CNO!LxoO2r!A0(pq>pJ}sP>Gc&-%HSI0x$oCqI&#$%y5 z-cj$xA9!}-Lpj>+BRruSz|Y$OvL)u2jP1PO(2jn*-7R@N(g!j!(7|r>=D==87*X?SMx*UcP?7Kml{-)xyu zF2M1I?PM+{B72Woo(*D6xXo>O=6je^>HS#g{ZQ%c4mE#S6lzZNL-w4-8`%{jPz1xQ z=l`{#W>etCvOnFVrzUbUfc13 zu(!L^S-g`YOb5Ee<%bE(*Pk`^r-`#2v4~s91`wouL0tICaJLqDa=UGI{+i{nzXEn!2r8^UqjLjC5wq8~UFp&Pm0q=r6- z{h=NWa$g*3O^Iil<$QBiZw$wLX(7PkwRPqYSf|mj?dC0cj8!ZIZn}^et9X>hnIe4w zz>;Iqt@dSxH1DqfKo7`F|6}%fM9bV~WK^202wr zS#sxByqJ1Ar&i`HGTMA44f4fl(0eYbU(oIlyHiCFR%U)~ijvhh2$-<=07P_$xZ zrumROVuO!a(_w-;4LUQ6U%p|SJ&-nd$@tWHm2P~11!ozLShpG$U~tugUSqjfQ*g&Pepu zq;e{1-)|Gn>Hal1(GQ}9ZS9FN{#bjsk*D^=si}8W-Aw!1O(EGk{Nw6R>7@UnU*Ykr zT=-j>Pp1W<_6|fMRp;gMQ0cX(+RNm*L+!~qu&zw$f6RC0enGX|*goO-@7q-MRlJ1j zJ{#rG~5QWa022Y>v36}=0E5tgyYp{^)Hx~ng!@=XYuI139s2% zT;A6-f6VFwdzmEd3;XkB^T+w!S~;q@A*ys-w@`p8!9}#8j!&7tkn!s! zduJK9@@3^s?rOC21S-=AE|s^orD{(+A@2xid)wa^sNA(Z+#z3$dnEnO9q(oqnbXc2 zXjHkBz&UdpU+nxpdE7A3WU(wg>p`ZNNe{rm(n8+%I{xPJ+~Ez7{+HCLUr`@yoTO=7 zn=79-Ck^Kh`D&WUo;1*(A%WSw3JmtHuYtE=w`pt4wVx4QJL#u2d@sOe^LIfllmE+@ zQglrIDVx`h$v;B{4vtDZjAII%p5u$mr&Lx}53b->^!cZ>y(peelmAktfn%*{oAiH* z-6s4N*dibH31Dq|yz29RiMfNcwlB>PWIk;IW$m4g)qoqmT1dsxm|PzaW7@ZKbZ$x) zCR*dVkn%fH>v9Y)(Uw<+M7#bZl6~kI!f0_d$=eX#Tny`}^3uc$Ye&AGS|0uQ2qd-l z)S})TchQvTmY8V?sq!6KXotS7JqVj#=t|o3E38btXQomo(O0qTx$lV;Q~M`3o_!yW z49K}h(?V(o?FsfySybkhvJaAPX6dv_Re?Jb`__)V?B1FC1oC4 zyk4p2rsEytsafDPpOSTu95U%FZfZ{C1W)Z=ht*QDW7_AtT32B1zb?5TeKg$X_e42w z8&Wp%e9Q!!He@2dE;pf2odu+?Zj`~F`s}jxX-(GW-_+w>>hl`EuY;sHYP3E$L6%dW zbyA;!lqdBO${W}{Y8`i}@lE*cwZ{7NmKv_-h)|sM?3CRZ>4!5ho_!d}+P?pLy`)w< zQD;)C>+5Z;=IXDl)lD{S$e;NQ$8VHc*?O#g@&9wZ5~+HHi0q|a6DU#Yl{kw!rS$-< z&u%7$Lv}(EBmNCo+HgLOkBpKT1+IFU@AoX*(Nt+5rOY<`mv-j^*{RLV%Y~zl#*FARam5RyKCie&yb0#daLv%IoW|uB={(vE8+pNx&8&e$*a`RdJ>d zXPi}M5t)!xYB|$|b=lHbk(>FWcS`Zj8gJS@5*s!%C!^H4b2YD7yyUTp8GSR$f6LE^ zWYjFw51aPbmKalKik5LGUaGqlt?s7SIMBP&hqa^SM++(?ldJrfb! z6FCn4FzDm2$TO1!b8L`k*w_gHS7QJD{j-rH#dp}R!!1%fn*n2>&lbNunzweXoV3+o zI=GE*?W+3Z(ff!d-t`&bR9T_Scf*4?tY+Ga7QOjLvB>yE>;PjA2?x&E6|e3@LlDE4 zO{Vr%68YK`$yV`_k?W9d7@84kXj+-|2gkfxB-OMo{Csl}UzI1v&ZKJ*Dd}Psnd6EdV0Jd_lvy)!%v> zLU`=lNjsm3ZJgM=`v~UpCls!pv^wuNN~zvixFQv>H+kb_ZuLgDD{BDmE{y&S%>B=F zn}6&jNB5=VF!Mck(t3^M>&hBC_alH@MYRyufxtGmb#-@rBEssD*TXQY%`^9$sG~n! zfsNxS;hzTE3p&^yyqGRt%AzLYiS?g7bd-V}CXBuu$&oteXZq^{aD9>F$5HgrHOOz{ zIJhG5IDq4X`gEB5^x0IOL{<;7winEY*~oCJh%>Z^$Ung{87%sRIsMk;39-5NgGZ?W z*=-;*gMrX#TH5-UUB<`5B+*@BQT&%iP;*z@Yj$lvQtHO8$&)aVn@-Yd9oSM<0Lil0 zD#IqtuKTtuaa4l%*CRFK`PQ7;oJRIM{SqPifj&r~kl$UIFbRyBPXZdZRDdC>SV`c*?d~bWQeR`ffa@Mc4M56To3y_Zisli_o1@|Z5$Cz>-E^!t8C5@Dy3WP|f z{(R|1vfpVU55-N1%lYY8FHVnV`RzHvR5f+#nPpclxI3jGMQmXFnC1q?sem%H))jIf_)g)=w#@)K;ynhUE?L92^e zvTl?|lIGc@rp%UMt@7A1Om!DH=DZp94h?(LS!l0<>{1Zsh%G2dM}EW1u_Rs?st7xZ*o7m z8+EMo*n&(FPd-r}J_*4aikw9hOlZmMLp=guaXo^*|_$)Y_5OVn}>s~5I}oN#7B znz2+49UpAEbk(C#|3@>0yF!`y#q{eq1lyl}$u8m*at3z}7lLf~UX%xCvSijQC~j(7 zYu?Wk#g3Nm9WeWMk>_2eE5GWb|4~1-n;ra;`@S?|6nj(cHEimu#HOAUJFg!`_U~0#%V50u)f(zD}%?}hSk=Eu&Gq5DWU;|CQ8%PKc^ z7G1NK2>jZH^)puuI;Y^eCO1~-#zLg`zD*`5iwLPdmy@j+KHrUv5#f5^iGdP{I0h?D zrgO2{0s>&#iD)fj99~jhu+I}+Qs0TE{Pp)t{m#g=KJuI2vz+?h(cBCsd20C;>WjtG znqbX|w)m}fkTZe&cA(LcO_6x*yYwj`?W}a$M_^n$&3e0i$X6359DW ztr4RsT)ie(_ljOGL&Qwp`WR9m5A`qd;Bp`7r0q%%J_1WidHjR}6K(1Zt`n(H z^dA@Rq{k%7`0)r?yp>{FCpAei!NQe(8E(lp&Mj*JbDO{JTJh^?!RJ!lVCK6CPfLJb z4B|V6h&?0+`K0WjcSvI_e_)nBu$#!i*fCCuE>q3^f#^VF;U*Fj|AgVn|JYdrWv#3a zoD9bw3CI>Kn?9>Z`!TZ|v*G8xGH006miQW2+ivE7B)-!H--0AQ;ZemTqfAQKmAYL- zE7FAjQS1hh)@kLFzO>xjk!FKROYY+IH?6qd-FL@wdV^>ju|MX5pq|L%>-ptSQ=PRs z^)JYq^6*zhcknPQc^Y=sdb-(Jnuu_!H`?1C7J6u}wg~;8f+0$M2IpaWJ&_;bM%mFa z|5_jE5kfW#f>_+`>*ZUf{iglym*27?2gxud{VkH4f@|fxRN`G&%kEx*opa0fAI1K- zJc}7p?cALe8JUqS`*aZ@Q1xtK09Ajp8mz% z^#eCrCPq?5$a^<&8!b%zWPBT=1MsU8kUNP^Wxkr`)n)EtPNQvARa~iB^u$}Q7U`PF ziACnLJ$qG~Uc%>=GI8Idii>c;H|ZT8X5Mc7?(O1(`O`PB-P5V7Q!oBuop73H z0XPZk^rz_krGIfg)7O%DlezO~USrvZQ}C-9g#3YEv{^tk`Q`ld5D|=0s;vkz%X-~` zc95G)x)o|&?C(4$aT@lMa-u8yF$E&xll?S;#%|*1sTd+}n1MU@%5@hX@#9RN@=5 zppQy4Nk&%MU(1N+mX}aeyw6_d8#Yeq)84X>27o{Ao43DH)U$om!N#>9(1wtJsaGbc znG?_5Gf)w|03yY0?gNqRcSRONo;ih|9!MDc^So=+^dSfz4>_i%eaJI8_95T2(+D!# z+{JG~j!QMq@RVi%CjIe@C>jJS%Np?kw?RXdPW*1AdNOIjDH$KIR%x`d^Vzq1Ievxt zK}hBYsQdVU5BRJf8HPfIYs_*#OMzq&|5ALwu3uz%P_y(V(0_eob~rXIhj~b3eDOxC z69Qwp!RNGlkyd27gD%XOeuf*{562!GhO(MDvYbsPpSm$@`WUmIueE$xV_J>US%E)v zXn{FBSqRY6mdpKT@d2MF38C{JqTeypRRi3PsKiDU#9VvSt&+Wg+~(UIw#GT&M2v2k zPezm|q`L9Lu00J>dq_VBq3_B|{#bDRX=laDIW|Kbvt43tKXlwDF(%BLd>Vt$D4ET@ zNyGv+XKlF>SOG#mqq&w0;(CY=m;)i>Gv z8uJg}2?{+-P4s#J|5a7PXe6ns@7r7e_X=pfeo~IgBPjbpY_M^7Qt*gHcMI2@1Fa97 znvroX#14lVw#l0_C7KE0!ha+^qhUI9Cm!Wbs{ZZM`vn_^3aSFA;b!dV1(a}hjS_t} z__WaW>1>?pvwbQDuT9T0riap4kl32CN1+p63R}~ydut2`f{o=#5*0~`&Yh=NIv)g~ z(0O+f;qx8#sE_AL@CaWggNZO)p;0?Em3gx6o{As;6q#Z3JgUI;dJ^d(&!zoBp5V0p z8+O%ovT1V|wm?`G8$OWigJX00i_2qQod>Kg59~|)_g1>TgcjV{#6s|{4LTW3ErH8+ zmwfeKTYt?K6WJyT#qO68+>XVa6C2(?m2XAIez3^dx>iZ)6;hK@>j|APaM09(>rk8w z*IY5gN@jJ|qUi4S$iW>;b(w4ISh+73@f0_$Sm4S<(nR~xD&jHH`bx}oQlBl84>D3c zzZJ#xja^?{0)({J1R3X?`iFUq4Ifo9JkPoHE}kK6EQ38m%%I`<&W%x$)K{fF$NadT z4l`_pt{O`>I`Mx*`mzt_C)oHNSrIMgvUCV4=sM-iR@3D!IT^tg$r^E`2xxw+Y!vs- z=Seqi1v88-Vi)2>NN%s1Ae&GKPaehp6YT!h-`bxf{Kgl^%3RCvQYgrX9IV{u-lf>^ zeo_;5yUi$S-y(9BX5C4932c=c8#z;iYlKKrMQj*T7kAe;08hm|)9S{$fTOmTwxb&# zHIT*`C|D0=A-I+UD~AoFG2E76n1uu$*m0H2b@D3x!{0_Lnx4{TsloWYs;`Fw9~^IUWN@RjLFUaPjY@QFHe{3F=O#ys;OG_f?&kVpgTypXv91 zr#{w!1evmu(h4nL&T*J5o{bR z_2IDj6XmDRF_5g3A}{UJbJ|a>GWSx7mS9Jz+I!pnD(#%ce<>TM_6#O@=NEMr0IMJP zKAirbOS>(@wHYHl=pX%9^5&;BBa+i`Zb@v8s~ZV(Z)B*zRki06)mNqdzWvVVQ~IE* zH=`igKjHlpS2`)}B)!7CPg{jNbW&5~SZ)Ktn3a{j7URH^8gDFXsZGS`1ie!B%9WPF z5a}i~ev?dDQ)6+u{y`smdyL#{EW@TE<~lTsc8w8vYi3h6n)HIwsBvq&V4mzE53*Ny zjno9W;4kA~Qoq9=*_1ygUzmBQS`{EYxOiuKE6TK`EMKT%PeCuA59H9EcaSS@ zC~12)wV&EVzr^lZsqtiz1*`$km&(Kbi5hbI_NlikF_x@J`Tni?az>Dh&12ZJ=ki-+ z=1B!1@Aw*TVsB^3&)T_GnyKJnXrT&C5xBQSY$O~Qn~kjhvje@YtwTRM^>2X*o#523 zmIp=<&LxPA%=6A8j$vjFx3t}Ii+qrXla_sWg3rU~-%S#O#i0bl*pNMZX0(|D-Dc!? zBlFlxeW05;JYUAAgT2<`^`Twct%Auy!O#xpp+t(JKV(L7%~)JCFja<_1y+%Ll~iP( zxSrVmqRjx~QA71;C${Rfd2Z}_Wng!6%mMzG(AFrMEDlV->}|5B(9vI8g=DE;i#+^R z{ce>Hv3*f&qEjegAF19ot~ZqnNz&?f+W)WW^)PZ?lV3gj9Wn&hwk7NL@vrJfw3PJ= z&&X+;pQ>Ov^D#U2E|v-opv7$kf1^LhTs^`(;s^-^$(6%{Pd2*C{tzhAU{BukYFa%kX0RyR|O5auC1WFDbC&<@G^veS}h+kdIw`BMJ5jD-m2fx_IATmqx0 zBfmpMUJeu{D}$B0`*T*nmV;AS4&+h(i4+&RB`r+s2MxKL zTtpzr;I*F+8OuJE6tFzKh#v;0j(*~0|AnLuc@%oQA&=RlKcaI!$ zlO*}$!;tGbefNf3$-6h;5=rgU;dQ+7hFoZ~`}n;fXLovcqeHSt$cS`V!Fet50ojKM z>3hr;I47dpgL-`W4@o=hF!C||fkeGUPp8o!guI{t(Mv%{x{0 z%TMlIV%a#kYp8pGrL?a^wMbM=Q1*(xX#*Qr7w@ZgH`F&pN}a;`z@j{G7v3Cb(%(A* zt@?X^V2l1f64$a3yfvPp16 zsR%9ab>xz`wo%xfnC&NydjhDPc!>uVQC)rq%dbGVW{NbufL#=rYKDHqOS}&?v%UZ# zp)oSdS&}Rs&Pv%-wK=u0vn)eP%Kr3d(Cwllu{mhB#31b}F-UgBjvZIUP3OEQInUM0 z%FRVvn2yW4oPkxinlsXvCIzGI+0MMJ!p(S}qb}tx#Okc2Zf5Hl?OU)TFQb4C|4#5# z0S;BKQgp$Wl?ZX)4(>`1{-e+$Wt#6c?``Lf)-ane+1bLv3183UtAYVuUih_a2h(8F zuH;{7^OwhRKYj+{GBrc>PFcF)fZLr6JM@)M_0J%y^uA#&D8LSZ)lIAS#s*6Hba-8~GiWlq(iP$y;Dp1qQkMktUYgA2*v~ zP+3+bsYyafyb3`?;lM!di?k?`mqrpV4;W=P3TMg-jeC#GgReQivU=-M=4Tl-L%q=_ zOqG_z<#-FNA(M@}rh;?N0d5_aX27;;rHMG*)3W(z7j({h1{{PoL%9u;-`D zjEou6mdTzPj;`*jOcc&w4nH+?k0y^!(qnATBuB*Xhh*jsu4%gh{C(H zM$~o_+B;W(E0Q7q8<}!AWh-C>-CtPpAM^Ns8TuexgS|~?6SJCReQbNBwNnm^?bJlO zp%*laKG}6=X4Ia+?WhE`jB;y^jc9X3E5wWf3K2?avTajkB!l&hnv|1(8Ei;{l0fx|X6}YPT;N0%7zH z^9k!{ius=;Foy`oCuCYArI{8>A079dW$Z~|kDE=b-3EQfD1DpF7T6}V%@>sM0aZGg z+iccqa_xBSj8F_m`e3)gm-^55@LT6Ui&_z*%WbLG%NjC3 z8ulIuH2L4x$anAyMXi3?27c8z17-`)@=xH6eavV(w1)i%toup$E*l(Tv$HU{iMKhE z#uD}XATr48YNLeuHh)5f^1d?pb?Oh74DkW^u%Ng-)NPfiprQTNYY6c%u|&KZ>*)oF zR-VkAV6yWtnebvG1>6|hWQ<(-T`D#^zpt^Os+-f3Rj?5A*%5iQU9pG4v4g@ycB*T& z?e{ecLhMP4)0&kL2Tm=+0@^gli1lyRc$^2o|?=4*mG6d%3b zgyP}X4A{GbW0`L3+ML+c#D`~wVOMw85ITTYq8SNqnzH$xAdujw!J{IWm$17g(`GVX&vd z94)EVrF~LIOs_XNFX;>6x4<@7SwH>7D7HZcq8%FkBWwF@U#8|y8dOXVphWegN7(gJ zPJ0s-CbO9X*|UgDv#uMvj;@i_jPE;#urO)XTPH{_$rZqAOP|uFZ8rtXt2I5FIE6QBf zcsAVzZ%5lk%U@q+uOc{~6@004$M}Oc01{v@j*n}J-XOa8ftJ-3%9$jd|Qt60o zJ;67H{RtJc3zT{ldE>lR|L~uBsVwQU3W$+vZ*5yC?iMXy_XPMfu$U_cV|6NjVjf3B zN%?MUVvf0&HLPU$B^~9zqU9f|<&#tQKL`yW)MK8h0miz5k?Fc59jE~4csWhF?R=f7 zKam7Y5?#1&@miVYm(ohOs-jK#;gV+YYZu|yE*X_mYiLAiekSU+{eEjcE@LwyH-kny zzh9bfA}McG%cKWTarJo{x!YY-$e}K-P2U59C&pL2r3FHMho42{Rq&5=W86G-KKgAf z=V7YEW=5yv$d-uc@B&mI3nFisuiv)vpYA^yp3m3!wCKcD6m9GAOaJC^;yO4gc79Iu z$1~>~MPU*!?J*NP%{xCQtxg^M#V^_Pu0OwqKJ=dpJ=L4fB}vX_OWO^Hen`$OadYVOQl^y1DA=ZCZx8>% zl#(H>xQWj-dHlH;JyOm=FwT@U{J)))tBTyXy`+pCiOA^H@8s~n_Qb2#^YDi^B^$r* z@VkW%-}C<`e0-OWSHCSeKKFC5Q*(;3I5sAHJXf!i9AEQ4dmR;?R@(Tn1ub``uoKc2 z1L|!}WP7{DnFx|85HjTlp10JH3u4%oSnf=~FF0YlJgni9yzJ(8jbvFxegdi|t>8uf zO!)xR-{jN;ooU2G&rT`gaQl1oF1ujZ1_Lyy?uC8)wMr< z&P--9lbM_hBtU?G2L%lnaClK870JsanUIhSdBG@P5|Rmtgv>aZK(JQRq7(`$ZS`K- zs?BY+V%uBO7L``(jV~9mMNM1V%lBT}Qrq5(t^GDu+tO-tzMr-BK4)GM(A($tJimWD zc~17*+H0@9_S$Q&z4o3NB!D6I<6I=b;MgDWse|8PP^cvKb`JiHWr>P^K<*#L&~yo~ zOu!DfHFOM-XYqogKP@?n6+P#UcBrrln3W;=tUxb*TJ+AP4{X3mJ2tgVbj=c{iMX?0 ziqBtcE=67&G+X}uXDg8Itbpa(9l)+Euzw@VjXh z`~S0I|B2H5KPcV*R$%{I`;SxN<1!3*jb?tne>a`rRdw*{8}v2_2RfglU9iv2HF zEI(el0M|z+0_qN2h>rDZ${k9ZDWQa?h_!Lh~@>o{_WR^BHF7XArG6_|sgusZ!jHjXcFW)2IhTz_LZq|ee1`+pdu10S&Ag@EfU zNA3*5;{4^=;NlZ1z60Pa_!4^r;quY_$Dv1p`>$Sp)mZH9-`&e}eW3a|pZFg35R-B6 z*T@O^z>fIO&%z~t4*=;C$8p~T?=j7Me8Z-({Kc;QwaCv$ToC<2!1o@}{02U#m7cW@ zm=v+TvJDL%G=YBje8_`m;3## z(e{q*;duYD4yClWS6|ercST~m+GCx%EYNQn2oHoim8M9%y;qO->}he{h8D+1ipL}q1ab*;?oi1c;!Y(u|e zAR67?)*IQ{-mAnS1Jn~`$L`i>tY;@EZ`~f=&B=kSy*(XfsxQ(RZtdw*;sbrHJzah6 zJHjFwRd&P&6d;esBE79WQ7ama#NtX{INsVB-a4>N>5Xh_?E;GwPPX=jcZPdqyaSDH zi^O`u{YsHC(B8khuS4nWZRG(_Xuy5UM+&d!+9A8Fmu z9@|dc=;>18yQ5(x%3M+U+T)7kmxAism1sB|YZZmevhCq;w7s`yXP799>uT>H z5#@T6SsgM{>zkSp?Ih^Ba9rmB5E)rQGW%C6kSh{K#B|_TO|ZINi;kfp;aQCtQn<6H z9nr<2FoX^#Q>N=RW|t*$Of2fS-pC!7s4pWzvexfTVGraS%fmnNAXJm&$EL3(Wi#FYG z*%pvxP6f=3z;$({>#NI^#wJ*rflkx25?6zYT~UAP}?x_Lk$7{rP1HxCf2L5jZg z8btI>i~6_lK>+|$LJR+u>u(aVrd0+afTWD4Bt=?E*Japel7x^E{0yc2?^(_{(vqn$`> zM|+&eOsd}xnM(*{Qh`J)X0;xTM0zI|_Vh&u;zAcI<-L)9(tMLdUb!|FK{pcpg%&0t zkRh}|r_$NePh$Xm&hw=w-UHfih7ynT5!e8;pbrY8uOkfpCA4{O1e_E+7HkA`3IUjX z5?h#Oic(rj@&Z{<>Y8h7Y5b}sVlXDklP7r=4{%O%De#EqEvSZpKGO6^)07$i;%7gl zH#Rjimp3&xROsdP&2>$UBsO|QQ+Y^ljPQC!z(}p*Lqg5dI*Do3am_+mDTAghI1=P5wT*?%Oib#VOFsHdT&oZ34!Qq zGIdEMS+9S7_z%bKhK{Rms;FzKF0Iuu!D<8*uit-APohNci^ReFFouuVZ~&B-*RNk+ zQHLp4U0;VfWfhh64Hd2BKvCBm;za|axX8b%w|C(6y`Nc&Cy^4_3e7GZERVC?(ir!x zS%h!v=6qe>Kx5fvtYOcm8(X(j4 z#IEbT?J!4T=Pm6F(*lB-O(>GtZ}^e;W$Q~DYPiC(TWr@tTTR?_aOk;I+K%}or$b%kSkq1Z`~K_T`ki)q(Dn-WR8KuMq-ksZ+6nbwi8OaUqEV~8t+HbYEQO*OYEU%I4N6)|#a7FzmA2Pnx=darP=0X2c;nO9 zTwY$$*tl9R>*?%?2?a)5IAUE&KNqk?Mx>d%klb2&jpP*umPhbhtgvX6y`*MD>u^iKda;1OXuW==RgpTUY2R-h4uNbP*69*m{$X0t6{GSeqkfE2C;##H0;yM#jcI^Tlyu7`f>j&t-hozQ7*_AMBkHHoCGbq9y9OP>Zmhotdu%L%v^jv(gD<7nsV_D6 zmz`|-T6=Dt{0Ra~*;HO%S6N-9^HQ`$ug8{?rkNaRa(@tDmIcR4*cQFg@*VLeH4R)Z zG>sMPyv38&PUApF2ew~b1HHZI02;*{OhTe4P-A5Oi(NcRoCt0qv24SC0 z^uj5|fV`}GrSbFH7_3Fe(LfZvP957KeODy5 z9qu%?Sw4t-Oo7B2$prno&}4Y32AM!olpv^;4bWDhJ>PFe$~rpNk#hWx;K7>3dYY9l z`3&*=BY1=pPG?OgWT`zCYu`NuzTQY=`#?0Yj9?OA%G1VAFXY}}+gPM;rL~tSLvpd` zU?pobK`!YvF$*mRPa553J239eDyBm01o9sE9LZe)e+%g(daAdSh;iL(k645);h^P^WbSbD@>whT1v>gkMk1Ad@};QOg6OwdJ(kirz`>mV2D zz>fYRJs62nAvc#kuPnEh@LNgtqn(7DTWh4<|hiM_LEUu1WQWkLv&UKk5w-`*cz z;~!kqJGdA;=(qG)du-dl4h$GLGtkb`DO3!iY4jz$qSEolc#`O1n+DbiFM5KH48nNo z`>^0thjy;gd-^e;QS$jiFo;6<$ddaL;>o4}E1XDf^GKs0S_m4cpti-otr zxfEvnl21ArdvXIR*rlA;L8lk8ub>EoV}DmfWMMhvp-!|T^dE+dP^F7c(zu2D`iVJM z+WK{xI#R=v2`pHi#?OSaP$%bWFV{@MmsFl;S@tKzX=yq%vGVnA?}Om2WpXrTcHy*FMqyQ&@#?Vd-_6E9%^;E(o*qGEE zu*38w6~S3T)u?&)wV3OctY4l0D-LD>|jF0HDoZ>-oNyb%`h z)RSm;d%rZ$;61$OPJL4|7}Z)`2e)S(yr1ND)Fp!I#w~itgikn7lL(@YCOcSZi$Z)) zvIpU;>|m!9=`$)v4c_fZHwR39IPR=%h46W2oik zrInNvj^wcGi0sBtZw-S*u$b#6!cX}NkLU?c5#$OHpzL~2?$Xm(&RdrSSF|He-b?WBH~o& zec*V_W~}F-*HQ^$6E7&90=`L(o?(AHx|m<601T3Bm)`nr01 zwspr_`P7Z~SiIs3^Bg7$`)&ctr_->Z;bX;4X|>6j{_suMh3U{g;&i||!(QXZZVhS$ zF5S4kI~-pi3HgWd(Y8vz1~_-|4hzZ@tI>9S7vZPQkh8LX!8z$A!azRHAwe`e>b>nz zIN~Kf2_aMDipCnl`g&lQzMf~qYMorjbdVvulK{EtefouEBgp~Ew=!b1)G;C4rvWTc zIQ64j9tq*Lb|`FRrOlGAgjHq9h&gl4g-09^EM+A~=$2yWu{~V9C`$eV8KX{94)t>N zqCpmAq^XNMZVCF57rAAuWnif3xK|;!>Ezg)z@^*v>W_yq31V_xRHdmDO zK%lr?L1r7f?^%(Gx)yzw*@`127?fda+g_x@Gsq?rDnmHHs%U~%69ym8dL%4o0#K*Z1LGTHrCZ$+4vU*861)%xX|&V9 zISI@{it#))@h0F|oNwX^9|+!*b8;u2A3x~^ftXsuW5Or#jk4j^-kAb;4mcr=NgXud z&e6YEJl;wNlY$x4{(xTSU$%UQ*h4aZxqZO3@7#u)R1)%i;UwTW;BM@J<2Yuudd_xv zKbF5fP^=R+qW7`g_}a2d6O8Z zYA9WwG=6jzi-YS@Y%^Kk7l{+60eHiR9I^Kl`&sT!gf>}pcq=C)Z+Bo)GA-gnUtl-& z3XbitR%{E$p_9Y34b%&1btIi4^@F*uW&9li-kQ8POslP~3O2RM2{%P$t|z7y&Uwsb zZ&HV*nvb#*a;YR;5O<8!z~U@wV9R450@9-X_)bdWh|ZL)i?01eQjPnP`i z&~YAk>-3!_0hDzd=1ydwUk(F&Kgi}Wz`*fgzEuIo^`N3Cg$8r^1II9EN~ zgMhLY-j|+8Vu4}!R7nHX=m`WvkO_+i0#E&D@9z)q*orB39>Og<0Gnr8-NDxF;AJ1U z!lwknfeuFu-AKdJ46lIc3_-)vIvArXE6p>xQBp< z_GjXHfdzlgy%W`JP)p}!*w9(S0t&UrfBEESAV4~Pd4~&*@Wa1S0e>M^U0JVC`Hs}%E;1f6&G|w zdkMPuUJV@H+CFbN zh05jj-j819I2~8xiVZHZ;yOg?Bz(X634Y7|(iC7E2~vrWl=+5hm?2zZtVo(LtXs{A zfVoBv(;c|tnv});;rVBtHWN~vr=p4RedRVmuPGl=l6fR7pU?5p)!;(fva zP3Kh!_wfSU#G>0XY0AyqbAP}Ac)xyF7YQYSmDaj1<-=SYpz4#Zaim-iwDQHl3CtAq zi;lc*9x%;#g?gFf?|?H8N+=AmF(-tnhT*akQRWe@(ZjkgUX0`&paGH&+shfio^ z&8}^Qdl8*a;Od7kTbE{KgKX!Y*AHgOshBD}Uz6|CvK=Mvzk;1?oU%Wxa~qEMVb77D z7gX>*9(Q}{XtxmQ=wW{pLkmEL8|drB2b0KCwH3A}A7Fz;=Gk0-cY74-M%=zI`Nj46 z;RL1|rBF};Mr^c#>$o6=ER_(k|K&kwo2VVchAvoe+S#Ctzx;M zL*&FzT4(rZd@8uaXQIp-%UBWQ1v;lCL+=B?M+f@5X-am7+oi^r_~Ak92=|(YS_w8MolMAUC~>jFE@B*sh2tD} zQaoYQs&$>k!b7C98G@@zxaGsyH_U&Pu{YHDl#V9E*N;8|8{J92R z;S^y>J;yZc3 z0d?9FXYZN$K@!^5nfP$6}bSY*u4O_+z@WZ+0& z4zXB%1`Q|U+xu}K9EZ1$mUnSyLe^Pr_5s|!j5#i(r=Kiz$^afQNQCBm!_(Q*h3mLC zW1l4l5(zn2@?`7HeBCKc#cee5N(CTm7=S8kHgM= znmI_~*p5CAAr64Vu{|!2nHw<6Y(N{*WEQ6tw7|n{w~v}=?h};oG!=rp;!;);A?F76--F}JOz~|9$79nU~E{5GTQLtgJ--ONI;vP zYe@TCM-qUn$GZnuR1jx;{vxS-`HCx-`SG`0<`JFrn4uZR_W;q)D_Z?9`=jqU_WR^F z12D<2p``w8`)~J+cYI^pld-q^u3r78`iE|7&^8?Gc6{M$|7XtyvtK&BiLU8l5s>$% zvBdY89zCK2evCeR_O1ixjV2(L8~LpPt$fE;fLZ@dFmWGS+#|LM5lJnFQvl}Pxy!}q zB$w0OFTN2eGp)N|GTqbF%2!m)I#f;u4ZaS7A35HXEk8nTLW+q z4SgUAgaf{{v!@;RpdmP{rwKN#T-@YILXuiOxxcC9)Dx2ud^$*cjywsQqR_D!)|_Yr zoV9j2Nf4Hw2))7i5r1a|h~E(f?Opir7MBYo9XnBv)A9rp-gbQaQk+qlD3cCETd5pv z<0_I_D(g!>KAn)6C5#shAp_vLaAxgi?z~PYPQGa z47n9EgubrDdd}guu*%c?5t5(D&JN<61wLhYFJ#B$TO_^)2aKoB$Tq86(M8|nn@I< z*jLC(*fpYDq!Y6A{IFpR;yv?#VH`nt4DVsQq+>b<@LfIfIegit%03;q@}^hb9ewPf z|9b3=P0wz;>aA&SUH9N8)_&$EHxzvB@K-ZWshjppfBKH)3!nR#w>iG$>Da_Ke?IiE z^R+L;-}=Hc&-8rZ*L$m;{=@P6pUFA-FW!ZbqBoX)_4fF>*B%+!{Ga>&y0c-!HHUW` zUw-7oCH9dQZoBT^-u9e6UiImRf3l(D`_65P7w6rP^~5E`3+66+Z%5Jk-0b4Urv9w( zlUX6&vSdZ6anFK_65VfLBN{BWW3b3eV~a_yby@QuEi z&pbHW)qCaq+Fij*9(!tJ)wjI`SFQW%sk-{_-?!=Q$g=ML`-!{bk&cH3^9E1c?y|jb z@NdS`hkn-^dhjn_{_E3!9K7kcI@kV@=N*dj1o+W5FkzfU+;_`_p*s~tM_7z-6h9pt zEKrpD_e>b{d81z<%(zrh#u1*P^1TzrY1A9}`h=11Ruuog;Wzx{tMq6??XL&`S^VZ$MN<1^lK(<_(u7B{BDGfpAH#97)AIX z!qDrW6X7_1erFZFy8IA+HtiI`5&TS=o(nkq!rj#f$HpfNUmo~?pYHS{JcKZWaO9l{ zV;{m2{QmPhlt$>AfpYxv_0#ghEX^V<(FYjBJ{09J$$2o^h(T6gyRSgA@m0f<0yVBUBFp|Zs=nh=g79HHPG2kMGQGzfU1-%IUH=*AMM-je;a5x5hRNfDKm!KaA^AU#PhEaqtim(LXIDS0o z5W=yYhH(<1K4=)OLg2^m57Z*`f7CGUL8#n{@k2O-FmEyD(d~xuAVOuIVZ4KIY(K_( z3F_YsK49JsAq*lMMYtKE{}6N~!VtoP2uBbOBOF6`4B_yn4dYFOrx7Ye;M-@=4nqC2 z7%zmQ2=7C98sP|)-vj<53?V#&a0H=mDd@Qu{X^J>unFNX!fu4)2=75S_D>jZgronA z`Uw4pK|jJ0gsx?PN2ntlL%0f|{yFpm;UR==2uDAU_7R4@0DdEEL--oPD8g}sLkKf2 z13bcfgd+%x5RM`&K{$r638C*k!-yjEBfK493Btn&N4^L-@dNL_px+364}m`j#}S^S z{I5XX5RM^SxEy#N23-hCj-Y=C#}Gb`P=5sTit-VTBOF5LT><_fT!>KrD&z}c2w^S4 zVT6NJ{tfgCq3==ji}Dc`tOQ^2V7l|8-rS(5gFbbxH`8?pHX`L?$|CO`6a4SdZ-J<3Ai(WTQ70nN%S1FmumXnjB2fLk7J!StlGYrr4=FzCEZ z52~p@)x?7xS!PE9o`4mv@HA=pLCv?3aTKH4?Z9yeIDSPq>NVe;G`TPHYcQw z&ba|$sRr0gCt?lAX*F{$&OmH~%qatm?MY-%r8Wst2r`=Nn44doFg}Sm$ygI^^LA<1WeqPw%v0ic2}N#^bs)F)F7aE-X(H zEDSovEGc6Z&_#j!cHrJ6aUUdE-fOR5dODNnL3TM$97Q1=a0K;EqTX`|-*=qHUAB*D zXI-1MA$KLhQf=I2zjSIgt@GHv3Xn>GZk3=sF8K~cDS{pOJ)-lRIwwFnC!mFFH%~bR zRi1{a6j2*c4g&u{;D7vs=(OPsTa|VsqgETq*ov@B8_uu~IM8JIBqdia2a?AAHMDW& z=!Efg#KqV%uQB=eWK?NGs_j6svMKY>`1qicJ0F`c?j{|=vRgy4i(#~FOOjpNDXp+k z^KW5Q0uxUOqTW-FcpH+PC_9a^f5BWOI+FDgM1(Glc7qnI(?VN_jJ9g6 zWVaUFK*?aKR-#-D6oE|qdlI&PDn85wS_eY5r&8Hm$~{4^N_jTkIBJWb!PO`46NL>f18@Eg;lNBE2Dd0K_TwZ(|`NcG!&MDu#reZ0x zXR6xZdWg(AZ6CDHA-qwn&Vw;zRUj*XtU4{)KV^%ho<41`8jwM45JOh04OSqrgA=wJ zwZS^1HUP;wAPH!Pc?qi4qH!P#Y5q#B5DQ(%T&-##-^8C|kgZ#=Ppd?no&vllk#`Jv zF#Y7Zz0F#$yOH%K%1@yD+m;+wS$d7-uu2>D+N#pz5E^2icElUfM!Z-cy;vZe!&Uo;!}}PzlN@;43;gVay_Ytj93Ng&u3R^jN?Hwm`;i;OZE7S`A@L zfjjkFu$~Kmf$gv&$lh7tj8X>Mh0rni*J*maSrNJpMNNP!d1=CUQp(vubk?+qY(EgK zz#d)aiO_=S-yv2>E5F)fd&EivJlAT4b(+78DXD|NAW`X2bhPsn+Bpm#LMh@x=Z3SO zbgR)TSJiXqKeA5)=6S&UoM4!*m`Zy{4sAnLe@i`4VjbBdJ}>NZ{2a#Tr9E;N*ILu!@wT}{-f}7d>U&L*?Mr3SdQ(t%5}nO1`7HpX^N6ot+-6{*MbFw z!Q+}9JgMbZzohw^UnZ8=g4Dy4FTETj{Cgb-Gw!tCg#`vnXvq$fK#&x`o0pAwc51?y zO|rxGHtZj^-v%v~m3wSAS&8+Y8m+Kh^Vbui64+L-pHY>3K>P4pV~-=Qpj{gbViy$H z7?Oi1E5c8QHA_CL%uvH7yYAt12TZPsQU5ynAnJrpqqt+6n zb+Tm3lxn%kbL*7(K@X%lh=n!GD;%skbShnclzVQ}fS_soCJcUTsqU@ z@eTsE7C#g0lIw5so`?5pwUC#;ix~yYg%w0};1gPLqgKLf57ht!lWQXnIE;x7%@5s1 zB3R0UQwC+J6*uz&f|+5fMIllZP?{9B@xWGV#SK~s)*TEo=xTw?=lQU&`kx6y#afd( z4w#Che_++tvz+&xH%Z)1hPH2k6f-BVU-h(Wg$*^4=Z#7YG0e z{m`!!u48im@N$Tt=PEqCnC_ZC$ar>{alr57ICzOT@BlyXpzcj34B{4ia{N4X(f!G7 zou_VXQoGpWf}QlU((ymQCqnv78Dtf|N%Ma4@*TtwwlrvMo3-vrHiGSS zs@77YwNCuXVG%GNJ{g`mY>v-*eL_<($%&i%O zT`I2?*J{Cfn*06@sY%vTdE_hq%Y<>S)#sh)Ggi1J;d5Ap@(_IF1#*2qukH@nKF34V zDn_PaN_ENxM@t*-O27mo@$>+Ps_aoPB z@Y!6qKMi>zhFGg-orio9DOn(@{6BCLNHnlq5r>BZD1%rObbua2y(6f% zkn9egYhb$V=`044cEbo@j%FA}1NLvk_hkEw$C>RX+Ooy4@cCgLCyzGPc5J_BBiAmr zUwgH|5K=Xqife=ANK|s7NgHfMqF%r?h*U@$EYqUc&e5I?D3FLuoxn!V)}{^C0}cUF zQ41d`!G>oP70j>O@dL!st_kC3=#rvE6XqFO=l}xIs;x^KBvGnjbY!PJg?cWWMZH4& z;(a`?`{*!yTmLFpja9S86Sd-)#C=u*?p5~nWZ(?z5YDhR(R}9dvi2Uw0WAD=b)HtO zu+?0o>e!BeNs197Te?9YTCib1MsrNYQwc%|0jdE&Q zx(ZtGN$p5>R2#_-BE;4*8{3j2+1QC@V<(!8ooIGH!fpvbY2_BQ_bRnF%`pCh+JogV z$;JkCdz`iKOq8)J0;&lMgZ+LGKz3fTz(5y-wU&UjuzZtk%2GBop^XPLe~9-1=un7F zln|P1!UP%5gN#bs<}T9tQWrrW_c~Zc?f;Rkiy)nw(sU7aI$~}d0nYdG4TJ6;iMfGQ z06MuI|Ep>KKn6|%re!wHc(BKye%}ptokJ(B(}sNZ4$P1#R8N`5-U-#?gHyv-g%DcB zXX{5~12UkCFlCW(3=!xZU#o<$FS8-miyZ81xlTPo?5BNDJfcbz5$H3nLO55BWZdyyS)n3ANj(9Y(o;!LaS~Z9`@VnPx@%ETS3O(MMI7#F(sWlIRCp#&P}{ zUx;%d$;Z7=s$y?LB8*7{5w62Ihg4I_J>cs?oY9V=&R@wMoXTc_JV~3S7RLwn0u=`d z>u{h@tsR5v9aXQR+$W~yHm%6w_@NQd)qqAfp<9kX^^8Dw9D&jvR@<^<1|~%fqSvD= z2>5`6k01~80;_{K!k~I|q(Nz}pO(G}>2j1;BE-B=H>H(VBW<=%iOiBhKKS!WnttQp32zS}$z( zVLDV{ZvEH&3U=Aej!C61pI<2`_%~Kmo zvZ}Iw3Jxh4T3dN5B6bciqngYec={ZM&fNf1L2SvfBgclEX6!mfge?f{=@QVi560%z z%MD|O)t8T=D`e;9uh;Z2%OeH>XK)Q#e!Zr*3JFC{r6&Yivun$`L zLj;m`p~~4U%|68U0N)LG_F1F8j@LI2_AK(AMx1N__>oD`RC{i~f9&2CB6}5J{3~&1 zz=9#07}~25K?Qtx@XgWsv>9+G0Czd{DRHg^{VLD3s$g2Zfl*33*Q$qlcI?eKXus3O zbUp|?qpJ*K5w(Y>4ev4Jy@tFW6KCkKQ9Ld`DoU@S#1Q@WBb#AYcn{|KgK!{Nx!Wog2XYE!R-^o}r?ZIADj0CEt0R zz_Rk^lopiH{f!4v_Iqj*{gV6Q1kbR2hu?q}DQlsG2Z#g=?kFp(*0YIr?m7&DDh+zl zbv4kv3Eah3L5~q`UKi8kp4TOEzNM^zWS;Rj6yYw(S=2|s59!kqBr;ZGF3E9_=UE_+ z&w%+@gUEs?!4#?TkZ(ASI{HTp<5_F}aGtSivp+&(H~FNe+OtvXUav)Oq=S&QTHrki zyoc8qMx9)D?blXiw%k9C_Q{n_4KyEaLf8paWm2Vf=;gv0YT2?F`**zboTT z$3f?wO#A$dEL;~@XTsM4zPr*e?zZeGz^_k&ci0G?*K`_>TL6C|Xc&!>caz4N%sqRC zG!v|`O^16{%upakc7)toOZ$Vxm z@^-7pgr1(%f6@<+PZDvWphfP7EF2Rn}3=P8p1qfK>P z7s9?m-AbZ`>!#VLbfQH2^yG~O*Y3=>7$rI%2V@WV0KGUT_aJ@#Y^^IL(1E;JK&a1J12O zs=ak;tAvGv))cz`mDg+-A4Oc*Xx+U47a|s20T0fZaPmOOD*s6rg zIJ_U>GoEIMD_Z1iK}iMho3=JK+4C zhOvg=@Z{q?jJ(ar>!l2sPSUnuU2+s6zD%=L*a93S&R5eDDv(>9`^-ls((B3#*o*AxcSr~av$;w zw;P6E>Y6EZMU>`6%6eAq*`f{J2*Ux>9S$uS<96NzJ{RuV?xRL9*-5~Ori{g~N0HA4 z0n(J0kGxxu=S7?z$}2+NAo9$=jx1&lsrq^oY7uqjU zwX+xE7Su%>5SAgwHiAeSGHT3>@1Mh4!alSh?g`%)F^q@hSlvxNpGmf-Z1Z%6?Z34% z8J*fV?#Gy#inq_RCt2u#u4CuGin%L`yhQ9wZUkZ0u}CH(pbC$Ty$sp zCy3Jnu~1x>LSGCRMuakWj}BEN?edz zhtp>|+h&`6jM_t;J+i&z{fG@~rQC>E^O-7T?1J4#@OWrG<{_^Hd8YhQKFMYg@`K2~ ziZWO?^wUjY8Oi!xs8uG4&5P(r+JL;g|Zmmp3L<;9VA8hJ3)_#vL|L*9GHE2W$S zPtn({$t-1?<|tt4PW$oco1a^OP_e8_=+m;-HPqN*-K+LqI^&>=!Iy;7#VB3n2J z5zm(CXs>{rEz@m(6KNbF^F#YTdT>R6pKe)RAk${~pC-iCdW81xcx1D<7bDV65%A~L zD2nU*{2Y^j9+{?nC_T6amGVfmO7uNJA8otn8F!12_O(5|7Sr|j!Qa1zhC5( z$S@?sHW@}`I3&YEG8~rShzv(%I3~l>G8~toA|1y*8R|0h%dkX-AsN!=pXrIpa7c!S zWH>Ct5gCrka7>1$WjHQFWre`!lc6p{zYI%c7?NR|45Km}lHnm44$E*vhNChZli_I@ zj>}M4DchH!E>RMhNopXE<=SKnrL5!x(xj?ERkVIhHWy8%5X@A zhh#V`!x0&d%5Y4Er)4-UL*)v|e;MjB^vkeBh9McY$uKIzAsHT$;jj!xWH>5A(aHz^ z?^1+Ds46dCtrs?L#kczn=*w3wTe-}?^ojvauDEr@s%8FFi)A(+!-+~l`9#Y^bKj6U zYUCP`e$Lc2Y1EK=%BIxAQ7G#3xhe9V!S#Wu9sys8+u;I!e7k_!X!^m^Dhc>ApEcn_ ze0HiRzn7{$4V>L&Hs$umO!$&d35adygby z4QcS?{Zo-e`3;2@UNuZn|@UQdQ%<<#TkK!vl&mkY8|C^?n@S$Y_|Jr#1 z{}w4<)l)Yo$Fr-nPfA8HctA2rwfv^oO*pKdbY$65vah2##N z;t}w{K@(o-6!05FFsX)sfApg!d|OxmYL<$i2+Ep-JZZl=#mZ7J#^FA_6myn?ukx_LQT&Abv|#qJg8jw?U62Sx7p z(2Q$#-Ypbw26ES&yt^q*pGSAi&HDo4Gkh7(qLr+F2B-JA3;zxr)1uoI_u^Rr;>1x zuBOB)PQ+C^A-G)I46s3!K7#DNf)hhZ)-TX>n|r}RfUBRl3?&z3Q(RH6B-9I;99_|< z1)_|Ze}PC7*_>XhWKwS!h=}CO9FguZ(_SU(`(R9Amiq~0skxAgtSnChno`tP@h{8c zrr~p`yTS1+ueTTppZa64J1d(L`RZq>MB{|6WNih8W1ier@I$Shp(vgiv%iJ7G7aA( zsd)19ZoqtUsaHafJ#)FYK6N&@>X|o_h|Qli(5`s&yo+I=52~bsJQpzmL+TP#^jtj4 z0c!WD#TO!R36~sFZv*Q*i)Uw{>T}kwk=K$vi@K@0!I|v*tOY=!OzY}YvS%~JKI&xl9PVVk`W8yF=Q7K6 z^>)QS_teIX}m zRk}8reGw-@suvy3UdV|iCG!cQ^)a;8rp+Q|tG@R96sj-5K-6^i!+`dy_ki)*0`7XT`ZSeXl=od! zEm7O3&O$B;s{28pwulq8Y9o++2l{(KH#*a;=9H3b zsBvJ$~cBxAsG&vP>2SAQbosW5)6Py)AB42$LbmY{`jUdof`mj?@ z?Tq(;=ZJbSQ0CM#r$=}|avFF*j;U9m<(%euBz2?ebc{jHMoyeipFyv4TISKXjj4a4 z#C4oFrM^R`ujj;RbpqVa+02PEYB81E;Ps;0V;#ndP`pbvUT(qnz@qj;n~W zPcUS$>bRGvzFnJ!j$N%fbfWAIR*50iv3n6x2YJe1CC$7PBcDmiDvOry6TW#gdwGa` z^LZvKJgUA6cvM|9$$UBww@>{%IPY69?;EI*uYQsSeIZNdVf7g>(YJ^b!z>8Ci}P;= zz!7yeRI*R#l@WCgffX{?F`lNrCETG=B{K&|-L>G&v;tlwvtC3Gho(ROI*~U4Ql}qx zd@E#0w@?%G+O`uh|V zu%Ct1rFt(#$qE*5pZelrBvvvj@>M@ke+BngXVLdv#iKf`zJcNJt>(m+)Z3`dk1)p{ zoSrRz4nAY*%0y^%&^9fO@vzXUnJ70Coo-tgszcOm>^$-i29m1g(>keL2hIY zW1-2Uk;tS)Fq8P7^=HI_xl8C99a-LTFP%woMO_O0lUu|Im-vt0oZIbo9gsol9b^3zC+^vi{U;V#Wy>dIaL|3_;@GRe4OL=W;Whqqq$S#EkjV$qvd|G97hiTyQOl)mwpK#)2FI zRg}dueldi|!U*vGGK&oPg_k4!x`%V`hZOwEbBG|hIf`*}nYe`uyu)VNu4Lt1g0dMu z`!2H7t1t^^{Mt>;p$YGdR}opVbCoi44M(m}W>HP$Bh?{DLavLJboGYCFdp-!iB*EW zaMPQgNysvktPC`D%BzzF%DTt9fUQwQJ-QTN7iL|L0@pNr$-MU>R`x-)AG>s~Fz!yM zGteuqFr-eZ$KYf4Ud#%0Ov$8{dEL1YD7a^9m8|s`lSAIc4_M7DnMZL&rLPn5UdnB| zcyaL-aeF=`lj>ja2-wx4dN2DE)nwZIOq-%&52|>VXHh|kqXA05yMo2MM0Jqims$7`yEu z8w&7vRv?)#GlMeo8mLBfHt!hR_7W2^iZ0CY?n5QFz1Ykg1Lx*yv^co!elzn0%(ppj#+we%;L6 z4-yy2%p+#z9Q5#FnfaiZ`E!tXiNslAX8tF*xY%q+kqxy2XHh;)R=0iF%)An<7Zr-k zLuO_na4waQLuTeIFlgyw0U4EGU%KZwc7zn(H^pCT0e%-4Z9zl0IrOhqe5MED==?vFyIFzt#=0=XxpNGy%F5`$+hf>8Pd zU0+SK)q<*?6|<<}f48bq$CQ#gh}z{oqBQ>=0=x2cg5W0eW8lininl3)c%kH1f#{hf z8F|Pc4k@LJP;cfMXIaOknAS^F!SXamyn5erI3_KJ%>##v%F8_Qoamjs98SZd5?)nk zwYyYxd=mKWB`EO&WEo!PGZN(RV%nrMLz-`;fu?8n-*M(@mfIBaBP~@OFA|D{KoI~) z8D4un63vJ-Qo@Tw7?BRV0>l5v7HkTcZOc@L2Zl3a_!vMwikC6mg~&ll5QYa3xeu?B zP2I>{OHuUEict^gxk7bZPuQqSk0X5)uk!*4Zgr_GYIcdyU2mZ?Vg& z1flCnM|U6yqWd{ey+-I_>FDlHMfZ?Jof$LHRj7_CEUw(yKLXV_ zq5Eb!x)Z7B%yOGz#=t6ms#M2UOmt2#h$gD@WwUk25yU}VVN;vjcKtTNK%2V3=IXSm z4eI4`XjYa8WU6AuOls>@$Dd5}^HIHk(65!?*3kTCDz(QgbY{#%*R8q(Fmt){q_6yh z?nmk9j8t@HxlJ)+m`wcisO|?%bo2>D(r(VbOLS^V=MP(*Z{W^fhySwoW(AvK#!UR% zRX2TsJ(GI_aMQNHSy(C>PsM-Y-1wK66%;dOvSYRCZZz@l1nxNDze0jr-0e?g#~KTr z88gw9sqQbC=spEh`v_fiI=YcmbTt+_GiIXeRNZfx=pF#7`v~2&>F9o&iq0&zDP{~P z_zA1-8kn-o%x?kJ2%(Eebg9g2vzSSe3XjWKseMSZdTmm=N$*C0ktBST;`PdG($9Nk zcCq3$)y@x*eZS21E7KQBXwvuI)iOa#!ix-p=`v=j(CH1bn3fgq9Z9f%GGWhJu=gj! zo{V;b7C-cd0DRX^q*rewKfj@MlxVg%Y^g0}rO0csxSD&EBsl$OP)03|L> zzgFhcBI@0ql(<&{^@EeQ%Y0gYr{ABHaE{0Xt=Aw_^I;YtO$KBgwf2+87x$kHFL>@hL$GK<>h2STue+^elam+&OJWVT)v8& zQ*+3FrY2otBAKAIe@-{>*soG4J?CcFhKMsNCk7JnV&p4D zA0f$WqWn6la|a@}CjCtWi;y*Mc{^>5Mc}Q76 zInn$!l@b4*0y5S6x-dWNZ=i_0uyib$OK{DyDyjkMC)q6~R5u{n@Xn(AT$&^K>kz|Z zQ%dmvZ1&?iN-64^jndBp_8zm-Axg@n8l~7oV0rLqr z{ho{cHz;@&5I@3e|366l29aM;;$6ST*|B4g_(y=dEs|6*CXj70m{8iC1X#YpDp*>#x?5=aED1#g&{%#cEAgVWk|r%k=iZ9i1&>-twDK8MJi zc>TwaxE&w|0PFe=5+ zMCjimvE39S4;-oC+c`?75@)YH~^P!sVr%`$sJ^2h?*YA*c29d|``u~gs9q4=+u&%!#F^=3f@h-Pvc&vHx zV3mn_BY+>s{y4yS0H?zOq1!GzfOMX=fD)wGE=Ob~UY-}*hze3>>ycB17hL^666d++ zMT>+W7u1tz(VQ1yna}g$UYSUl7Z;KRcU^@b`e8Iq&(ALb5zA0OciINKOMn>0YrheR?;>&x?<@jxeH=NjA~lBBbr6Y}nGi|5 z66dcaPMh-205=vrV&dEgm?pf8vk#G8yt4>s1>sylxTHCdT}e@JK>0R`RW&>FV$>t$ zy%%-prx={mB}nS}eN5_B(lxX|h*iAZ`RNn4e#Hfa#Ky)&W>w`CV0Wn5>rCtq0P}r> zy->HZPdmOr);CfS|Z!+4>>VNUQ;Yd zk=B^VEspFcHKcZOrjmMzOt z@@71c`}%!%=#8AE)6YBaM!ghp@k`$+;N|?|-wE*C2c~6}n1*z~()ic7RJ#g*Eb;_hrV-JNw_ zJZl*Nh`Y1dba&QSSU`2^#NF9!x;yJ!GP9JR#4X)yx!CPZ zdCi=|*I%>A2*{kv*I%>gim>aav#4>|v1y2F7&;7)AfYSLAHTWF|p;w%zH6*^9MFln`hkE-WqCV!8QouK@+|U1= zs!iaZ`?#z|H?7<+WKn_5NjI(BC-SJypumw0CNYiy{Gur0p83@C5PHPY^Lo>0be8V{OnuEa?&*d&#&EU5eH!%V4lzOm$#`zCsO_@JNjkt*7LU< zqS)qKjKT1{n>QPY3}+pIP2^G)my$zLX$K!<)7N-s&@JV)bT5Ix*Y3o<1R_OgkoOV- zD0a$w31TSZy#&INq0FJ`1$0D!%L!j1SU$a9kWX=}0@%0Xaspl8aFyV4!bS6F*n&=Z zH-S2S!YS`23?OmRDeoo_%f=LUH7fFG)7@02c`d%&5Q`D+CeYSSw6e{M&`qImgD#)TZlVvDwT=!K9;7%yK#9wFK&70WQ&__;PVA zVa+Bq?Uc6?h!{nqTM28KFh$kqQbLKQfP;!nqdN(uS#2nH*)+P6P{!!lrqO+bAmcu2)95-vHKRLf*XTCFI*mr>dAmlJ5o);32|I)l z-zdq6lXfkL#ClGQ*|qIR)NukA5$1df)bqeaK_GJ|N4fkrXydGX!_(ADdA*w86pgM| zH?qi_vTJm^x{0}b+OE;%>Sku)8M{Vzt2c52yq-gt3tj=Gr?Qt<1GBRkW0k!!llrYV z=U_r)U*RSl>2kiAhs2ef@HzKjLSz?nBHy`=z^>wi?!217R&%1zc?NyW{s<@h&LcCB zxSA8i&aYC*8cvir?L8dzDq#r@fuI5DCnNM}rdA@)y3_7<^$@=M+BQfN>2NOKIE~g%ePdM9%oO%~+ zMD{qp1Ab(0$hifHeNOtR=j`jU9|qVV=YLaT(=6J19Cpqmu+6jSH?D`Bes}yuUdjG3&}o^opTmeW#R%J_ z+7&rqjC%{p-IUF;Kvc0TAd}XiD}Du<+#jb{E-<(cAjW_XnSi-a0f=8f8Sd{;>{0w{ zc3%zh+&{p-3;qr1D@zf}$d+ownM*A${2r7#RkjlU!WSV) zn2==FDT#9pkarqNP37GV6;9p`F`eH!^5xBD22fe?5AU=5jAY3Vpe@xcZy6FCf~5YN z;Y2?%|C4~)s^k#(p`fXdC37+vgmyQ%9wirTR>|ujF?DpDKDm}mLSjWT>=dd7zli!V zhn!^F{;O;opm5e5mhEp@Hqk4Bk~3j*;bTREAx5Fs^V2p}%>!#iNk@#R@S;UO&XK_t zzB}ciOMjA>H~;a-zoA#}hR&kjn6y0XAtJ5Z*+^T2oBe6^@j?S25>)b4(jF4h*KawRTR2OkSdRj*;pC0gA4IHSb?`SUcsFCl%=*J5Ee(&;Pfl-rT%;^Rg1*euET@?!e( zGAF?zJi?=?q4y#>|G?_ShzUOkK|{KBh4wr2nPk}__B>3FtQVozdI^mq54jteO3VuE zWHcMMKY)n6o;F#de$+ai4@yjvsE=FltLkChq4Rnjr#=@WrC;h9|EMHSRHb@|_6$kl zEi1AC*)6$WXuU{dFQkSZ1^=aMV?z)l!(H|Ha9BymiIaQ;`Lac&hV23ETrE;(Ens%B zmuvpvVF(X%w)+WH^ITm+m3-ge1cY|q;0VIGx-aASqRhFByBSZt&(#wc_ebD&Bea^g zM4hjr)caSUZy*GJ8i+B$YI3p=o+`_)S^JwXyz0_HN_`LZZxM71NCGt_ir~A-rmY@= z7SD4(cPyo!h)j06Iaq`Db+99~6fvU9cq-fZAC&FPQFbzv zxhGoY5hzZ~xM&@2wm%r=g?+bKX61X?aQ1;@RP4CzI}53={Pw(0?LysGBcl$ql-MwxcrFy@0f{b)2(w zU-KU5o4-gMp<8W-O+O;h4+xRzs3ZezVn@A(A$^{1I~l3yb^g=gdR2f2}9(If&v`gzo^$lv|cz-xe#Ag|!M&M6$=K zl?Rm>1!}7Hb7Comz6GgoQ1Yz(O5V0tvTxN|jA$a-5i01nqpHuXS z`xU*rr6Vq|OiFo>SN7Ai|1?h~^Q{ql*X>v4Cs~=&T|AYQ`8*oOVcP$kCx^$OizsKu ze&zg>l_UA}n6&aBFTc~ZzcpqVlHU%HS4Wv2?pJ1Bwjzm4k4Y;J@?_4?{-vJG0g%^^ zGSz-tQAtag9uvyRvLmVdW@`WAp3Dh|98Z~fmML2|>spFC&C(s^L7un;+Mg`4*`A5W z85DQHzT&#K6n9Ftb$gH}Zk6`W^29Ad@xDV@p*dkGOJha__X3knL>4 zCL>%+F2^b(*XCd2N*!#u&O$Gx!rVp)bH^ymjlymxqpujQW!2@w^sys0oQCV}1S{oq z)o|VaK_siZ0ArvtT#u3IZ6o=Y9hZT6DRnGpp=0E! zIVdYI=D4U&+*uoT8+=lsi&*Zn>}2-0R=2bM1@wZla;eZ=xFX?1{~83YNGi>WE0UZ^$(31Y z9)xNpzZ&f?fw>~NJ*2jy*r3FZFLQn}E0EK5}>&q}UN)ztZL zw6oEvprJ4xBJOraRx9TKJOZI01|#lpWW6#n ziDyO#b^k*3+U!IIK_b>TM;4rmaqmt?7Su`fBw>U@pQ(f4Dea8<0Ug}q-61K6r1v<9 z2azM59qEEFZNc1?%6Zd?TTzSaM#7diohpkjA9W}!ACrMjK8@J!*jfGN#gPe6zUUyj z2h~Gu0NXQ8`D>LxP6Xv@2eGHHX0NhDr7LfMJ{BoGl0?B-Cs~jPGg7d?LmpBh?d=p5z(34cu2csg<6X$01@X#gJgcw6V-qjN80> zE{0oUPe)7B>QCUm%1LbX1o2$`P6{Hy2&!)>NXuv*X$waTw-iUc0q(2uatXx@28E9y zd2(O(1QI~?`U!|~&$C(M23Dd{vgguW%6-LBxGd~pD8`*(U(K<0IpBVg!*pm%rjA*r zur-Ry-IbmW1YzN`L z=y=}fxZl&EB8dUm6r5~i`BWEp{4FPTKpQx@5tM(zSDz#33AxBHAU`4Y-=uT`!hSN0 zpff;f0klRap|I$5#0&;D03muLkSPETB61v%1ptmDvI@vr04F1qvKCx3+1TW$fe>?q zzn}`@**Y!;M>B#{0zS?8J%Z}O{%ArrjR$#?j_D^cIeVtt!F@B6vuAn?z@tRiGwlTM z41(_{D<-#RnrNDuDrJwfBCBUSZ2OJ>F$!mg^e&RWjZngP(*dlqye&GUE|l`VrRXda zF8c9ce{-t8tVRy503{EL0^S&_ z&jm6RKyM;zft(9qEkf{AIDg7vMu5&jUeS$k(rqa05^y~L_WKZgM_P71{E#e}J_;AJ zaGw`O9gR`?u9-%rqncpU7^h+u<(vcxx5J*KoQm0oh0k6*Ip`ctwb|ijKhM&7BK16$Je`kl6qZBJv)PCje|gC}Dc>`%_k=qdW*h zxct^QWmnc99sT|j()=62_ljlzHNPKL*9#pcgxA8d&h3Fn9G>i}(3}iTf zK}5y@IUK-Y2tl^{bAMyh>nwDjHRy0BoUVmI>;z5%`$`1q1kMItS0rEV6?FhblTYXq~C>6aF+q>NAMeSAO}UR+3WunHhGIo$lObRX__PIB_KMz=Z@?w^dHzXs2- z0FEK@Hy~#N;2V=N28C_&b=2cXy}*ANn;WYiU!J^zNjMR?7r;psCaU)t# z+9uTMP00ShDSEda^Y#}&(NExyiimySHu4MGLkzu+LqqC&h!L;X0%?uVhh7(Nf0#`- z6zLZDf24YPdo@h0l8Y4pP9VZuoB@DuqjX_EcDqfF zO#%ybvPLafjR0Io#965l3hnZaPYL71>iH$t2&RAZ$EobU-9AZk3g zHbTq|2zm&R2LSNB8{G@Yb^wnf_&%6!(!DT5d|`aBj+=l^leDxytTYWBwav~mq{2+F zO+qUVf;9QXosws104vNt5cw(99B$cvt-^@Rwb^FoL7vPir&VP~EAt0Len*+j|3&8L z&rslp&N5cbG5^#D5L3guv^sw;)nW6z&H;4xzUB?{B6RGPmS1B!hl=WiAE914Gt>%; zFa&XCIe=0kbY>j@-W%b&#wNDTGz*(w^`q~8%YJqr@jXXKGqS+(rXV(>6-QVLr`o;{ zRSss=I{7D~7D;331I4{*3A?ZZ01P9-YB&kNLYV(CD2IK~`H*ogg1GN009O#9`!)jL=j6qG z4`q$=p!uHrZlEZ-Z!?&0XKK3dVE_*y;0TUQ+R}ZIEdx+gM;IZFS_88>IW-H>UF#=7 z`7@F}g-}95bQfZ}RAMrR5PcoUDgeugdkZcY&qwas7cF z#f-yY-vf5>soX1b*p?bL&ZMz6-^+8S<>?Pmmm3~$0sl}|&{H`~54U7`++#{5Y@6h) z#a&<#iv7H0iX&|gq*AMMQ(TvmqN=Op)-&WePlubBYdlP`2ef3`m1XLUzMelaEojN~ zYL@BT9Ht9fGQE{$x+#b0o|a4>WSO?*F#V+^)1YOhvsLbgIZQvdWZJt+6F73O;Wel_ zoSoXuluxtj+U78gYRUAa$K)HD!;~ZC8;`+G6aH$;)lnYgwat2`W-BW%+k2ulb^;K5 zUt0DGI5uaX&92UTsp%#IJm&Qah9)R|7veH@oYz?hvljWi?Zk$5gHmp}S3qGImG-sl zEhkTnc0P!%HD~fe;kkJuCiW ze%ygmjL2`BFzJU#6rUNh_5{&mn107MZ`xj_EW^ip8C38(6rHl$38?!P!X~-=wm5lB z4RFgd;5rJX&O^`-134bRaYXI}ateSo2+@~;oCDx21Ygq1;;BpMmM5Rs)l;0`xy`$< zJW(>@-)(KgHa7a&JRLrj8ad)$4l%z&kP-h60B$705&td#n-P>ez;kU|MK@-lB5Qw< z4u42#e1NwV{0}0?1H727Nyxs-JYOWHWt}&{);8r1wp}TWI^BrkqeOR% zjSrPz_u9m}oJp(H<(9&yz3v|@LNm8pOSsRVAO6Vc?IKmihe>i$n~zXtj0E*(pXxRyj#Zyi!skIxAik2% zc$_nxMm}4rYS4&@HP3EP&g4LFMJpE_;*f}2@3Bo z#pKe!zgeW5s|;vt;GT{cwnla9o`OA&9N9b!Gt`cJI5fkl6$|)W$eH2vBGM6Wm4PsU zkCQ9;`T+<>@sYGV=URZIVV}23ZYca`fl@P_xLEZ%teRsUK^5|alcODZlwFuE;`W7{ zH?t0-6tOE$mC=}Pe};dC7~{Cy6yt{E8aKomxAeFZz&L^SsB}9hbiS7?Ifa;PSIGmf z?8t3e&&#RbIS}GP;-SxnFd`%c`S~IAVqY5S>@hF zVH~M#GAK%f_UAy#wf4~Hg=@yLSZ`$8842PL1lb+<%xZAdt(skSH6&ZCm_CZ9H{(Z>T#%z=aC)re5;S8a%r|ahboUFQ%_r}ImW^l zwEEqP>@?E@8LRIS5e|Lpxy{h^ROGF>9X;@1MyY!dx-x&w0~oav=rfF>Q<`VdDenV) z1EGBiQ5O~QbqB0b*R)^U0bNQl&&vCnFJDtS9vNSn^~iPb$W{I+(5IJy;ID#u1U(-} z1%NUl{3cB;fNBKasW$Dq=%TG>lsnf(u7_(*hcFQA*b!GYGYq3+Kx$lcS!7g5`x@Q32=9-$KM!6!QnmVdl=bdJO6LM8iGX z61b~s}=kQFkJUA0SS;T;64|ql#Xo`o! z^>WK&hU>M;J>3#HTtC*52qm~C&iZoSSq1LiF^@LwU3MyUo|R-;65lQizX8SRN6^7K z^G#38CzGM0^B9p~(T1*!6Yk96wrc5dM*tos-B5ZU>W4GMq~epckc{6`>PR(%&XgV^ z;Uo5nQ<^Bj3_w#3l=#=#c~6|U`||oVXM%`Q>9I)VRGW^JRn6$H?ja(lf>z&9gg2A&BYM!5YyA0N9mScuo5ue-3ajxF~H1-s=Whl(c_qg-GxarE+@@6 zNuz2HCtukX@Ue;-zB1>Ytn4y}??4&ZWk&X_kD%1|uH&$2`#71e%!A>Kks_((OHJ;R z)Xk+_)y$boftJ!5I4Vam{<5aT}C$akIkEU}}m z3hlm-oO2nlvlu6zY@0ZOituyRf7=AHe5}_GQo17OkAa*BUC^k=5pt$uTGI-&_#mjL8$E0Pm7vT~Sa^+tgkBnQH6EnxV zlA=xbtLqONdf@m2Mvce}8$RUV5i`Jb#1V6sE}ge*;lh=f#Y^Tcf~+GJFPb<1$jm(4 z?Ez!hr+o_(>)B41AhZcy?Z=n3>Qz0vq(f+Zo4YR})1WZCuz(#fvdeogB4hc-Tvt)d zmp#@-pXB{QF7KU)Zu1YsKjreplIYVB612;EC!*fH6H%IZKH}xtx@9WzGc3-lOnryw zV!3xBul3y^yQ>kASCt?uj-%zh{U(6+=B^0=d!jq}YxFb5n!6@`BxjVFW~7KusOV?F zNfA7V3nPH@E(^hZ_*6hUEQ|8qY=(=WKUiVaV27U@@fdCRD*am zM64jhD=%DL4G}9$nr!oGh*&x(!f+A>sdmRQkCBZ_xmZ=2uyVPAjJ1hu0}|?md1`g5 z(O@0vF2#t1&ymr@?JjSHh}Fu0&>b$9|FO0)W^NaTR*=MxuK<(e(lN%ZC8z7wSHa1&OPxD{ds6N+W^VwrML_PA#}LPAqG_g087 z7mN)eexwsNw?Z5PF5C(sW)T*%epaCb;Nl2+?@X-s4S2Tt4V8*m~Fba^X8Y@isU!sb>88m64ExfR0CLepV$D+E)7bT}XBhlu#J zZsM&Fv7zG6PC9IEg`nH(bvXA{h_Ja8g0k<{VRI`4#og@-n_D4RI#2q-b*SOqtq{oF z-diEUBY}9gLWCCp$=(Vf&fx}wI47Yxe1N8g3nBQ?FqgX*v4hHPVy42}Z#Dx%%04hnmQr_+>ej8F|#jB!_^R z@tRmUkc??91jV4%2Iu$1Y^4glPe;CrbeVd@hWZ04mMbR`-JU{Ca(U%M!d^My@?3MG zSD1ZL$mNw2iQa>@U62pq$f}OM6DoQ(`@I4?$xx8{B zVXvHUdF4dHUOD0N%87)%a>C`66A63egv%=@686domsd_C4h($^X{Wioaw0J?@hy;b zF0Y(O*efSoUOACCtVE-fFL!z6L}Gd=KRLL;<&_hO8Dh>Rmsd_C?3EKPubfECj3iMr z?{|6SM8aM<;qs7TVs5{i0O1UNGa)=UhIYf!M9HPWr4pCw*hp3gyA!_Avh+4TEqSjmv5!wa`DZY%JG%us` zb#~t}MEY3sTB$T=BB@Vwf}VMU#CrZAX8yDVs!~O1Yyn>*Yq)<46B3IAVN&UDK`*?; zyb7NVfwqMzC`G0C;(x){aaz(q5*3RHcs~cpk|&Dp86@4~rP|kkDyIaT$0Z~Iq@MGi zx!03>QG#dKXanE(-&eNDR|7npGOyx4OD2|%N-MPZRMIE6G`zbvI*n?Riu%M08l97H z`_|EBdQ_$P#(oNK>{Ci58G16S{G(EJkXclg&+p3)B}vL4>m}o=suYybE9ym2DL@tLEtA|l*Mg>ce}JU5z1xGK zdKj--NFP}J9#}$sk(J@RYN7BB9pl#yq`!pgEaQ9xc?TG z#HI!KzPpcqR7iH7d5uH?u90AE*y2f2DZY#pJG6+5&tzjqE=IL+{^h6E3y;Ge{Jc*; zJL`Wc!)6gLSNK;w4f!5f{2C!P3W~ojrKDChX!{5;4n04WGr=)HXCSos0$Gok*HJbB z-^jQdp)SwFJplYp#&t(r+{C>D{4WTJ*~oB(6Y-TJYt8ShO0)t`D<@JQ_~zA#Q$VkD z;vBJk&1+9?^A0Rp=tSA>s%p^?5Zdr`<1tPi-LMq+VF-x|*tE>V`I^_AoM;cZCzy1; z<_k|wTmpQJN5A~!PRGqXUY%lW`!~{mfl$CNU*@yBybH{2oH7n@*pEE9@rO2eXaiyg z=XuN;3c2Jf%EwjpV^U`S zW+dB$py`JD0o+Z5?$`m~St4}H8vtHG=uG!~2N~j$pAhpcg1E$8VZEhXbW-AycJ1IY z1aV1!0F6ZGl7j$@NAP#DsjN$a;*##hDW~DNo#zz7`#2@A%I1mw(b2JY&;t& zydb+K1(h&r6Q>b8PF(LKIZ;BzT$MPs1P`s8BqvCyBdfa9+tht*c3wn9>NH>Va8hi7 z%V6}e2yHodBzPFOr&Bf<1Z;GloMbW0w&|TL6tt3hJIR|MOp5GxkZ}ou^3SmRyuX9i z%06w_7dRfR0zYmGaFt{Vvh|4sAwvy?{;^K@Rt%U@kT*ft9}uJ-0=Sk4&3ypCeF%QHrMdrmQ!PuH`+<+caF zFd0Y!Kn%e@-KOP$47FijX|__ycS@3rz&$Ukz=I%Ee$$-T#Z+)9xY|Ho20@<%q#J;a zL{ijEANiAs!Gr#ta# z8O1iNO0uu_81eF?O@fuZ{LXN~Pa>7nxph!|CW6$ts{mX|1i0C(S6BDjTnd8p$tVAn}rE)gF=~P8l!D(ticz&yczk zVbni>30i5 zeu6OiX(01$`YuMOa=_JhJM}EG6r*RzK6;4CIC_~S_|#F*lXUz~QxB`%chK=ALf{_D zLhmdD6?V!-Gag&zc!;g|Ag7xOoMbI0`&Ivy-G7KJ)|S5irQ~`TJP;YX?0Az^pE?f; z7CGS?i)k<@T{>VcgP^AZ83SMhk+DFI0x$=mEtBN)5x^0iT4~jX;$&Xuv42yObVcvN+j3KQX48KJ}ukRu6))^1A|)X=-JI z=mohwD0`D-Z&_uxp1!xc;2fpsUsdStEGr%fp$1&##D=9YrkA6hX+H591#u$~v=7K3 z045={C2KyPfh_@cG(vuNAZG(O6Cv<`Clg-%3dXgl3LU);GqBsTaa)1wk-b#`mCL(3 z3QarkiDhJI^t6nKFI$&WN_Oz^SbfTa+F3_!aAJHjOdNF;th@rj?>oUzTRKXek#&?* zVcQdV>U?Sw3|a5Q_IUDchpbyE??!7;OL>jIkSBwySIKv|e; z^}Mr6mG!aCy#OuUKiDEv$_fvKD#Q(D+3_nt7G%e-$>5yX2)@?f%%b2))pa~dv{`mw z)G@{ZPq^m4v%Y->tESm_k-WJRw+8=(GUjVCrFWn;H1{EOL?^5S5K6g%ZywF4-vd31 zQAujNNj^S zT`=(1AoRN(>{oYz8aRJ>>=77$jZB}XgE$$XT|Y3~kk8$PSOY9a~yJ;H}U^OPLTX#EgyFr zSrBr{p2u;@Ig32|7?FsT+i)nprX+}5$;9y?D0~1xCXUYo*g=F7$2S4IhTy-$ru8O{ zGH}{s%4X9*jx1yH__p0Nz%yQ%w3T0n5n|3FPxaAIeSi3Hs(uE9JrMpWf_@lC6dP$_ z1bruvA^-&l{*!Fl%gvw?T&ZC)gx^Ug>krA17IZ) z4p&zJxD-M87usC?!e0evL)bU1Q8X{0XtqkJ^G%665n>TUJta{e1AP)fD#ETVD4lFY z_>)wGRhU36Mku%j^4eD-@pq^O&q`50jQBecQ~|%4vynvBgWW>>287R<@CDFjdkNn! z*#`c$-B3ReP)U~HFMd)}?aMnHSng-cIKB|&9T{^6FxWEV#W53@C+d9jh>Q+Gh! zpGvBbbEz4Vpk^Y1)Qoum<`7}cSO(x&1pi|;?f+-ZSZ8g*$8n(g@8Q#^nl&g$ zv1V)na03z6j7I@HfZ*R?(|R?7xjh-XZEO_)Z4L3bwE7%TpM{^K2G)>|Amd#MWexFl z$MahvtRYoEN)c3`qs<+i%J15-Rms&a?Bx7|Ej8Dnfl0Pfv9XpTjc!c}n1&7dRgj{+#tRNBY83Au(gRcvoAcQ6XpE| z=rl&L<2z+Ad%5L6k3s0RM4c*q+$JDbA{2CjW1h~S0%EIQogo$QWyHULpaRK-)QQOf zhN!nQCO_zG0=;d#JS2fV%%>Tm)G zcgNOkL*x%I;~NCY-LXBGyJQ25ML<@LldN1aVute}scgyA+14@mA(Qz}+a5i``&vXmGl-5RQP;h4 zzH&OoNkaDC0b3Pe?&%t~D#@O(Ra>@kKNmrCVZh<`QSiPzB5n9oqxHhMc&nhWo*57R zp85;>v514;NP;np7fGc_g4l89(;8O{<4#eKt1!2Hf%u^Tu6EnErZufp1vj?*WqkO< z0VjAf4E2{qNerG3MgFpqErhoTTr1Kmc(TmbhVdLqf;^_^YvTwXk0}D?Gs&QQ>a>kx z((tU0PmUjQt!mPkQ|9o2p-EF_)9|^Qeu3#Zj}5j#>F5_q@1Z?=kRkm-JJMS7 zsG)wL7vUg}8tPr8d@5IoqlWrLc~q+^%$HV~Ee`3yGXUtx89q{j4|p<3%L&3ifCzc` ztXYHe9C(cE2C>H^YH&=V@hr(*wm*6pto%9a*`3RF?NqdugAimRcR7G#iEyv}G5{A4 z;V%Be0PaJOrx$_ajF>UzpV=~f1JqX#WXm*TIkfs2eUFSax(B!s3it?AKxT(thkxeEeYNOpI27f7AVR|f_;Uvl@9hdbc z#tE$iinRApu%lJVhw81BnsAb_{Ij_EAMb_rpgEzHZ%%0Co5NZ8=5SWNIh+;d;VjpD zlPKRD&I@>iALbcc7 zUtkOV)ZT=lnHaHlCQ61&Z=5nfaaRkzr}JXRFn5P;x5;Z zVagt=6=Z|vxu;Ou^i-tZq)SnPp>`r*vo0fBov_`n|B2xu)FFBu1Z-7-K`^85tl((> z3RDF>n&ys4(R=71n5(gZg!Cb#j1weZuVxm<3zF8=m^%j#6eOe1W?4)Sq)tD|G!q4> z*8`a5AVC`S^Q24?q)DGmWU?S5^$fBdEXV}ip2!qIrmBLwAp7#*kk4o+-$V)yE&T$p z(hHG?;4sNvNN3P$gTn>M*AFub2PD1$TUu-C86lL6ewT)h6iS`ubs@n~LaEo?(T4>O z3G#$&qbi|W0xY)xt6{<0_%kb9RqaA8PcDV4V}zCF$)#{jtN}BA$te92SRzp=z>r>vdJ@UAnffzYdL$-DT3<{` z++<1>%!Y*fqXoQMMDtO4w5W6>U{!$=rz)B*=^{0KvueeoWdT~*>U|^+j3aapp+g8AMV}uIC@>Cc!|y_9UL^H95jETuJ%E{1wZ8_iVk zG+(HXbWa=fC&)vnuOQdyH5AiN`j8v+Le!a1e?e~4Z?W|b5M-n7#0EQ1kUwaC#ym7w zss-9L1q=~soAoqgBQ#WyyEIEJbbyrV{knl{BZRV5*Hgeqk@mPgn*GOUVcV{+V_z^v zkX`x{)cDX?VcV_w<=N0UQTmQPhk6c_O7^jSg`y`2vPU;Fa}x#mw(@XTeUQM)sT>Ju zlLQGlmAtokvLN|RhBHl$63$Pdhto{MISjLD%Avgd3r*8#?uZ0?XD@Z1lb|00X)@HfKxqPy?8Z{d$ssX%3+LQzJgcq z4;#Pv!#-Z1&Z;#xfbp3WMxD@tUv=VVQmz-B7m`ACMrUh&QYP6qkBK&uBmzfL{tbvy zgLnq0(4GMz?N4ON>hG+&@N(+;PLTNzqIU3WXwH166}{G#>yPdLWlrqh*Ur5f@N5S>0w;KDP2;nx;i{5k8#CSdI})cih9FT!Im zRU3ei<`uS_CWn0+?xGB|NIvi!fGXNV(Boa-8`h)fyiwL zbz7l%xRY9dIGnp#Q+F5o_Tf&o!8fcaW$wQ?Q{*e{0hI<oP(-*}0AJ&|z)Nn9Gu>@^_hCARLtsiK18Xg~#+;z*K* zpyDsLM$P-JwXrkkiyZ$Bvi$@?DOgGnd|v>m0nmoXhd{aj=!B4n+O)r|f+2Q?Z=y2@ zJ@OCM6KoYw#Ej)zW?v&TjC5l1`2jkl5u$ogHXSkqKodfQT#~WE+{AuHqfUu4#({5) zm+%k(2e(Kl9`Uq>JOJ%Xe(=cY=*Yz*vypBVg7HYL=aHe%1&{DE4C0Yvz_I{AJhB47 z2}J0TQvs|+NOai8BixxZ9x1aF;}NK0li0G(TEoLGqn%hW`ZHe%2p2)v*$B#=X+6ny z-UDR#+2K_M*zVNIebG|cFK{r=r9$)GI?soR+$zFdsdyWecct#|9uv6(t!Y$o**-#) zdvFf*o?lRJw^SPN{XW!RGhnI<#4-QL6|}E2!oFVCd?}QH zCQIu)pSZ{5$eQ+llQqD|y3%uxdqa+_jsG`U{f(^CJy}Cf%qgoc{%^7lGqV2b$#QSa zktOe;=G5)~;xC*HVI{uRlNG(!%DM=BkqU4!U-Td#_WUv%D^Mj90SCBdlX==n9wmXZ z8yKmJoMSL1%{tu_A-8V$bJjCf29_eH4+oZq&@AsnNOIv<3a(n3yPr?KX<83$06iu z#O3zh%6;BaIY#|$AFA|Kp4(B6_vzd5(2IT5tZd)D$I6nqILZu~bciqRIz6zOwiVKJ zWZYtqj*Mk19a)tsDFa+K0QK(~sefzNN(R&h^N$U-2z7?_@0kYHzfa+?HxQ)$Ju{T` zZ$KaPE(mQ{|DKu5`sYlH-9?#8IMqHLw4)GGNmRxivY&A;&`pdwsT4=sq@Vg8=%)yg zlTd)eur>dl^h>?^qB}!~oQddEe`t7L)=Io(V=O{yM;ZFdB$aLedO4$B&R~@!T#o{M z7y-ZGzeifNr6512x_(Y^BaGbJ$UI(`(P(7*W0Xea zF$N34h(^W7`ThzRqY62ZUvG8FstJwB&xYjZtPq(n#4zS#YAfwlV0PZKkM))Lv#}N{5+O)qMy>?p4|8ex{$mQg>o<&asIX*mx25~j{ z5>)O$Q0_l12gkTmLFO38fk#%8iHWD0((u+{9!17CuYmU*-*o7B8QwlV)3Ifl`5kl~ zU5LjaxG12R(B3n)yQ@!vwoxHdi-+b z_Rk@1F+?4jW0w)`q#Wulk17+HM&-`WA%3vF-KbED$S_q21^vL+?0#lm4mns z<{+bt3?7JdciMQ$p0}^;w{sG?dvZ80+=tU`v&uM?t>G^%iBjP_2mZ1_3^VgRdni@8 zlX4{0pkQ+9^na0rj}K$!xW|)}SeGN|f0r^wq-^q}s2-P9z=&$u+I6mnK|K#w?QTTH z?m1ia;{R#~`K@WquD&`9uvS1-wgFv6p==|2&!lfPK2py5t?1ukyzsBEl6$x3_s7x} zLFSx=JvfiO9_a5G#W`o;0ZhP~upU6@j=kaH$Ww^n=4$zi&{HChi15zinsROsm&x|9 zuld|H4P0S7b&^r+ctF4!QjvccrBs0D9SD94LAlpiZti2B53+4TsK#MmXS;=flE4u` z6ed+FcdJdpU2$GrN^i4f3lA>*I(LnV{@e0M;}1LvO|rAV*_aHrgVY$_)8d=%+yt7B zcGt+Uj_JJdUYwWYpKWNJvn(8KWW@XwUilb7#!`0xUW5g*cZSl+rc@qK zZbb-xCHTt_L{c{Zoe?ClO#i$zJ`d0~F-Fp_Ge}l}Kf{q^D1sSDyL$Q#jmStkfp&5v zJrFG85M(5s24E@?j-+z{%tlD`uxWoelGa#?9Z9RvY5orj!ExTrIz?){cSu96?|@mC zazb$o5dGwAMpx8lp3P{oN{+-<7=Jem#e*7iHlx6t%_wk#gCdADXEO@S*^D61W(3XI zi~@5uBgnHEL31{vzd4%`n&SnI8HX~@xW+awC;YNfMlqyFJ2xW)`d0|fQ z@$%CE2cE#6%merX#XPG~!H6Iilff5DQ0O?V082vV+(yOgjNl{NkU6{&A2=elr$ijl#sM0)DjqzFR)M&~37@Rb(z>KCNgjF1e z5u&Bi%=6=XM2t2LW72YzAX*+}W-^+)^wEk^Uh7h)kHcR)Relox>UA~T8f_hSA*)fh z!q#jwBS@1z2Gu`W75^3jM(VrKyrOLc8LK%7h*k?SLGxOQXpJC~RpJS7e+9C5GofO9 za6BuogeK|tAw4gh;>X&Rexw(W(z08Cg!C+s^UCw`kuYCB4{~0GAZh(DvYOXQkc=Jz zdS0ascas3)Ts>$yBOZs1WMAaSw$YjCY2LC z6tg8A}dyezauk<@8n#6+dCgX8~#M2QW$Z>;& zcicc~>_$(11V!)jlSVrIW39P#$*%l2r+^!Ug>>Bqdj+J_THrpM2XNK>dmE zj;Z9k5rKKhRPwLUV#f29spNanwp_y}*gY`TwvYrxkRo_cC8)TUhx>3tR6DpL`Q`*f zX+r9o;SZ?8%fggyqMf72c&7bZ=qaBh)G z2Pw-{G4>_9Q<)*?>f{hrswz!bY2Fc)Y7-d&Bov>&M5U@*vGhjjrN~Lj^dZ|dudhm( zM!G`|d8OLM=(JrbK+RHMhd_ilY>#KOpk1?%YOj8=YuS#``kkFK8uCH2xs3s@RTwg`;Bb_{+KIxJE2M}CeC1w#8 zvwl{A3jxO>XhNA(Z=U%yu4rsU7;O-_?~|ajLz?$jrTR)9D^%c1r0Znwui{$(`V}yx z28uN*&)i={%aoI6?ysV|aZ=CRU&S#2M`6tURTQ7rgLvX4HB@?lPC9Qly7gh=hkBi7 z?yq9zHtRfde-&llt@F(NRTOu(FYh3f&uHo5pY-L`p)HLOY1@79047X=?C{AeKjQ@1 z<&*D(j~C=6pXy}qs~QdEnwN&84l3h8T$N|;t784w?aMRwRnd#@`0|FKY8))?`q-Ce z?yI8j_V`pl-i{am+hSj%vW$#(V84o(f^{dO?cy9UXymi^m~3t%t#r@$PxmEKZ$9M-^`{gK2#J92M^&uBq3H z;f{Du(b*_NZoHRpHR<rK^-wYRr$e@r`0lG4HC!`dFQ>4NA-lr{u^3i6V-;GdEV6~rV>NN+0#B`$jM zRd6-jQ;_g+Lnk;L9w|sx{0uloxW1rZ8p!%nWT~J~U>x*7=@b-M%XmbvpjeQ6-2ti! zN(4#kdzmIJDl>XzcOa#Cyp5wy1!!M8xju((w7#4PTJSejsAIAGwSWVBBd^`1_~T=R zx4wHGN%K-M#st0u-0f1R32X#cH$Q4yU^AfDMikhD!iLWP#}_VCg*}Q`getyt?y;({ zrz9g{slz^Ho_`8xULB27_#aTlJ`FloEyrmfFS+s&la zFLH_2T_|}fIE`3?kN1Waxy3zWC~f@}h4&J6rTL|d;@*O26+D_&H2VHV_H=RIRb+pi z9Q~}`zqbO?-|GDfxd#Xm(r*(PX!Pp$i3}11P5YSns<=s16vpQqF;^827Ni(1rMMx! zQs{ws!+7XTcVgP%k`|8cPVEQy<%)@kn0gV>m_`4t*v?j1IC-bX9OA6OYlikUdm9 z?nknJiJ~kXpE6EAu?LU?1p)glls>`t7qX{|51N5mW-Od!-SZrMHCa@-`ev#+SddWs z_-?9riokjCP$^@k7uL>NXj`PvlGQravL_q#!s- z3wi0M#3A|d`Ntir(%bSmNlC@$9CNrzKP^asPS$~KyC8+CDwN)(w?b}Y7gN7jDDVb~ z{d4ju#J8DuoJzkGf0iuW82xhU1;Q7=-1IBOFOg+M_ns>KYT;{)KNd!(|5ExEtM9hD(oxF!f6RO?O9v$d9z@(-13}s!FFn*Si_}2;H}*pd(xv2{Pe74LpYM7Y06+ zDZeyuBlG!Hq3}OO_+RoV$;c&yzm`*oktKB3HwJ!@X}?XfxDlpZhKmM8d9ZSMza+#sh2NU_xWxg=yVn(W818?bxPJRam z8)ErhSIjQW$JL+8--13k{z{6Y5a-x3%&Ghs?9S^KWamAFv0P7@4m`gOO3LQRHrxqW zflDAtdU=&UAIpdGJCmm&=69rj0U5r7sE|x5pC>dc%n8kVv+0FtlhAp$U#qX<>~H@> zI{S2!v~$k&bCmVZ7UUY0e-y?tTt7!z9_BnbNxRGSbKT|ox%@gfyt0F^ae*YleQX^N z!F%#rmx;T$s4_Ge&rYiOB8SZR{iTZ9IA zPYjsmzZkRD7}I#REdWeZk+HOM>VQYQhkEKvZ~_y!p@m;Jo5opx3YMc% zXcL^)EHr*p<&c(spJn|%vI&*uF^C(rWWn(`%i*+U;`_jS2SVsAE1PxJ{hLMD32a0X zZp$wP)0Z}$y>rO5<;2FT++~(T_wg(9bcH=e>!{Ermdb8Bw8djZ!iHTIq25%nq?4y_ zp;{|`3%MFBLaxRfuH<}6@VxJ-6z_Xk|7BH}WW4{1R~7JP58CVKLRR7T^6AO?^TpM; zq|yAxnV%Xg>9H^NULCujci^;_5W4Vno%fo!c&!_Ro(4fGeGRz7zU|ieJ=w7SR!G6u zgX3a^USUiRzDlwI?*aM-Lhoj{M>`zfea*X8_kO%J0Eb&5{Qk)puGO8^j;y89C2b+f z+UTfLA?5o-KRng(_W)r@6E^S>{B=NX18^-u2Qrm$n-JFyuC5&e;BScDjnJyG{a$JQ ztXw!+eq$qVmq6GgFm)b`o7fQiBY-pl=!KBH*BZh>5CxCpS=O>lLLq#n>0kDoTYPJYfBm}tu=;fcn`aYaGO8x*~xAbpP8*f z>w5SSqnxda=hAXJ8s)aWbT9R=Ur@VRDjU+$tO~sJWaHWUg$7uJU7EYdB5YK<_mL+J z>q1+t_ib1@grnzpo|-w!F&2gH%~kSnj*{f3IZAS~^IsH969rA40=&P{4aIn{b)%!U zqHZM||2=F9Q$e{6rEm*^e=Lx#03IRI1Y`$*XAzPsY~u3}N&lN0A3}7#Ty}!bfZ$we z*f%pJ|&0Sr)3BbvSS%FZy1;_;e&LPVq!gBfQ+GhYJn*5b8V%DuCcvQ|9(K0os1JsRdUM#5yd0%rvszQW&z^ZAzu2U&4b1S zA03|mbJlx$DGop6A&8gC0Hle~OSJ&15mfT290%lNzKxf8G_HkER$z0f@zp6Lcfz}1 zm7n(lbcLAC2pvc$J1f_)oms=`LA$`ej%jFEAMp1^5W|K87)peOO#m<+LAhV$74rvMpk z4sx25TVvI5l_c9jsFa}z%I#<4xu&|`2#_-xywTO2ZHZj4eU?K+&GVkzV~}w0p}491 zb10{g?rNKeH9HEQ&|YuihWUREwY{b8ortT8j1M`Qxgm>iS~%XYih|ZQo(dN3E5bd{ zQaQZcun$$*j5lj*F}x}F$Q-GU?~_is>vN>Ws`eH_b}g`9sql*qeIPCI+jWkTpSvSR zQAaDv9u>q~`ZY_Har+&M$hhq_7iO$^pLD;TF__?sRGA6!I&WNcCtqxgp{zHpEU%3I zi!A&0nDUl3?qVy8#qoocl`T2Uu)QS6~Q*I(>#KPsS-irEN2Y5qHR-k^cKzHmTS0xA8 zB^`bBKj%${J{64>o<_44<}ymw!XZ_`1=zTa83?^K=5;Pxw5g`f`Xt7H@i_3}+*-W^ zan8X9p1}U-*3KJ=O)2LJ>^50}_2IkGx5t&5l;^hWu7Y;<3j;x?btVy~uqM&EY9S@=GhH?o17P$GGhNG?Ym7%gk$oYM3bEUI!x28p^F ziSJOND;M4BJaFJw2jls3);FS#bYbz8SJ9SpQ0}K8bU6>D zRnBRP+JZl~AoO5imXGJ2`rAPNjL>U4+*x6E28Jn>kC3wqvBcYj;I}Kx>4^d0=!uZ# z!n%(&#!<_mxsCrd2$RXlbZ|^VkjcrB0Ok_mEnp(6N4lHrpOW*bn=gk3{F-Ct|L6nJp_%ik33EO*Va}%}%=y$r&W9a+ z=6q_xoKKYxJNnG|)Gj$6cJ!I^sfnBqJNnG|RQa%@@AA^qpjtlc=(|D=rOHL2bOo1T zXbD|I!T(3vdw^G2WdGyyzVE%c_vY5*-ZYZH4G9o>=p6!x1nCeEEEEw0MLO`Um5x4bl`6M6`m{l++~(-h2B~tJqfZ;8%59E*ZIBw3yV`QPt;gDH zPeGs0=^<|l(Qz<_b9#rifI-maU2Qpi1W4Gtt1YLm0L3=%YRl;-K-%VAZ8`k~sJ8ji zFlT@OHTE5BoPh%LwRu-t&L9D5ZQj+EQ!7B7&AZxih6*sjem)Lhm;lpk-qn_KSm8a8 zbCz8}YKN!p2Qc5}U2QpaBJ~oRceUk=5@5Mq%rZxWxrJG2^RBiWb61Cu~z?F#!-0!J5Z2WErK?_hI|DftJ0jrLC@ zaIA=Pht0d%a%P0sWSeZ>)s{0e*FyK*Z1b+RoLM5<7MpjqPObD=% ztNx8Y-TvMhYuYt2#?cpPk{s72$=U!m7~+r+1K410m{rjRutBc@Y!FvdL$HKR1K40x z0PPDa7!x3^FB}ZD6sw!)H9@E}RPFcSSYgRYD%8Gc45G>&f?gNu7##>8Xjh=}p-$0> z0P5`jU~q=IMrQ+vP>ld{#cNZjd-PS5Uup+Yi%<^%mf3V!5b7zwa@!$+Ua=pM zZKXY$^GH?U3rW712E4iH z)K28m9>H?G9>H?k7V&Fb?GY^3>k%xseaUmcXpdmI9R%1Y9>H=u3ZOlL<#s7KGK9{m zO0@A_cp`-p>%H)#7SBOz%17(H@Z{pR(b78{AICpqG7(tYv`5Md z=R*Q*(;jIh8q+rIk+cBXrae*-`y5QPO?#xZ0NSQKQYnD8X^&J1P_F{C4cCV3(IP5a z4B4Z_`K5UvBZlnJk`}x*Cn$#O(Nfd@UjaH=X8QjVs93aI_kVjB#z(ZJ0NRi}nhxEI z+}e;m>NRAKR;IdwbgdY&N47xYLY5$7e6FWwLU3On$W<*AT=^pzJ5`{x<)g`V>@>p{@fhUz(C#Ad}bx%XfMkKx<{lOte(s6EtstvthIz*|x>YIeMju<1J+* zD{0kuD{0jrKOBjBy;#O8$`_-A_F@^YlHRGkSjO83puJee+ZO+bj-b6*#=TxF{urZ=SU6t*<`UA1*7+ZWB~@Pm zosSGE%nrbqkjItJq}$qsU0eM8_Xi?LZ1M9y4v`&LgbSu3u`REBehMjVVK!gHlBzq6 z=EKS0Su8`N`EV*vSCdc2;o<;^xkmHhG-pz2vv7sXs@gI=+&cF?AjD`sTq(_@jpp&; z4Q13u^I@;ie7LQ2lkF-%&Z4-l5HahMHkuE&PouMGb{)zY*GBW20T&4)V)KN$A1 ze2F%i4|hF{C27zft`XU^)qJ>HE)lgpTFr;M%QRGL`S{Ei?jaoNEV;)y+*6i`36>U( zONNNH4}N43*M{@qK3qJse0^o<5X1R!zc`hx4d=uCrJiLfuoihswBdYs5Z4j0oDUBc ziIk6)^Wh;HuzWO~57)|ErEDK<=fgu~Bn53BjpxI|gh#R6gVSQzwVwCUdOm!ZXr#vW z(R@BULTb6m_R)SmTqhhJvVAn5504U>4>>+s(1(wZ#(K{2(S$zi+R&pv0&qU09ur<7A{3 z+x&(oIY%m>zadJ_E&2ci^fyGwd3sWkZ-|oKZ-|l$1S8)NB~O&qS${*6Tv!suUR{4f zlw4Fa27vyCD7jd8u2g{sQGpWe)id6Oi;6h)jCU37m>H`^RvYcqGu~ZRDDBiU-b3ax z?bI{gTUsJ5YgfFVOv@X^sb{>u0NSZ%e1P;3?bI_qPyp@JGd@TF?bI_qSOD$RGd@&m zsGWMohY2<9)H6O@0PWN>ez^1@?bI_qQZQTW8cb*LI-#bWdd82CY}%=3e6#@Csb_qQ zWYbPP<70)XcIp`)FACF6J>wGu&`v$$69w4on~nY#pCka*J9_nuPZkI(9L-bX^#Wl{ zqhHVXRM9XTdj?KMhY4^i8le95R}{$(>^d^qk{wMq;#U;OPNo})oqlJjqW+2^*+l^T z6-BbE0QxJ6WQ_p&D~e>d*h8SKzoJNXkNgdQ{)!^mLvP>s6-BbANT1wKRW0WeFf#~RNz05E$}KjdnpO}$-*y>B!R~emCZK0a?jz&f~ALFQ6xtszCco7 zH~y6JY|YP+qf6!9id@ODl0kn(k(|ulD_>D0y^2>-o8ek#6j0kjK>~`!o0<>B!<#x=^U8M@}13y_yXCNX| zRY>*9d2 zK597=+?qssNPZvuZeqx)W_@;OzMAb(WqG2jcvg|I^Dgaq%54o@$jgsn2E zy=l){413n@Op<|?;5E`Eaj7-kj_KlkXysZAD_7>BeX59|Wl3o(*UOp8e&D~3f7l@U z&k_`o7~02U<$70EepU89B>p&Y9Wvv0E$YRe)o>-$T|iImANONhtvd`?pCA-;0R4~0 zlgoC1&mff3W|bEUg`Az{;JjVL`odp>Gb8&ypkRF|hZD+{x0PQB;IkJH^R)nQhyNC! zZvy)uTg?dQ9U;jh`fp`{nsvBRGZ2zIR{d2Lu!R8UBlN8`lGkX#)jDwP2UjXT7O=t2 zLY6ZTRC+1437dfHzp@&9ZL5@%^~FG4NOWim#`U{~lZ$55n2mB;8E5 z8-d-V{7Ni;J9KiX>p38|nk0K1kmQnVl5Qs3jkqLRSpG9yl2?J;l_WX#fFysHP14O| zyAiiZ%Pjvkm*njrcPmLwHzYGndUH0lIRQg6mzo=KsdcwPx4YE*b$CgLkn=%PYIPZEvO4W@sa=n;Ho)5H5=fzNKEi6Na(5yMTl-H1EYRav2acylN!ssx1!ijml;2THc?FZSp@Gl!O#td<*rNb+lE zg|2i7_Xg3PB;3{H&L+IcL-=eImI zhDPCm4ndRs*_3!q537)~G9zw1tuiLs!G72#EH>Hr*yNmM06t_b23c+Vq4I9@WXgNh z3pm$lF<4xcO-0*1zVlByX{i2(rv9hf)Q@*%Q&&O876^H{h7upc2Br+aCpA@e16pP7 zrj42eeW37XHJsMgbeg%{N$F@%8I2&%2p0hta@0e*OUnL!sqF7>Lyl_^WPg8_?C<{t z@KuELz2Ng@8aR3gSuW@B?T&z1G=kIjM&YXXgm)J5P#dd|KFOqWI9;pL#a@=f$vM{` zIh@|gMpEZAqM3vKRnMBZ(iB2Vxj5Az_!9w~37 z!SWH`x!RL;ktZwLH1BqUmAGfi`*3{rCT_2hKTS!vxX z+{buxp6SV1SlL7wmlz~Z0=j4yN;v~PlzuyvjY8!Pmx_{2 z4wo6(D+VR@(tQ`2Zg_ZOdfr(kokxw%pA5j$$dgQ_WyQ+*vq|Rx=6NPPI1QiAd(s*4d)Y@~GRgR{}jXs>X;zHol=P|88$ zy4^7|(hg4QSm}@3Go*^lPK&CkG^Dh|Ym`%IkX#G~Xe4*P&Ja(bX-x|)H%O}U@@(Y6 ztErruJTz}}i>aKqJk(fC%Jv(oIaR8;$*rayb{q#X>{6K0Y$Ez5tQ>w0@P*sXtI-iLyEZ#hZx7mhydvfr^xO?;E>GXv0^&`gBj~Y5AJ!Ztv(SlB2-!h#}e{|j2 z^w_y4FJ5|jdcxwx3)71hFHg@~I(P2zAW(UIg~?GrWn6l}qUCd!&YL}FuH>1saPcz9 zq$OB?2_zUke(cy0;|?2IKWh9qVKM0X0VHtYmFeNL7cNYnEPQ4z0iT)2&t0~B>EhF? z+ozA4J8$vQxx#e8q7%So+49+o=FA2E?$_6Ni^C9arm#h!<%`o2O=n4lGQR6!NK$zX zrrJvp@<(1j!jKpR>1QvWo1VSs`1Bk~Gk5u%B{SzNUbJZLoaGA^HAAD#%uhGs zK)3e#!T+CxmMxxh(%j`Um!gU*=0d;>6^(#Qeef2tGlDvGEZ(aqE4Z%=dv~#IUh61* zFS1$0?(Bwa`1Lyq%SQ9QcXR1`*PrEkS8SX8+O|3OIV@uS_9@J@YLLgy*{|)KbB`vv zQwfK%@yVMT!&2tgHqT)edlDf!9Dgj8%lni48(T1Y?p|z@{5Q2?d~mSsTlg3F41e0b zk3YsgZypnJw}MAbizIt}?y-!QCNF2aJ0uTytfB)RtLQ+B)OpNu(vyVn@y(s z3_9kH+yNkyaLgUK1d1JVM=pW1ikmxf$D?yPqi`&WJ96t0R|#6g;*Q)I0D_LWBbW6~ zIOdLAid~$*t_XMJw)Igvuyf!YxfEcHWA4cHqg^j{`nCq9onWqTR)+z!FUbXFgYzgl z8t%v?u+cGh`7NT%h;u}qaztIqiyB!sJDW*g%eSH}bdN5>Ms!#a<0?T@sOWGh8FaX{jE*Q(&`ZLhfmgJy=&K-`loq1V(WO)HFYVAmG&-iB z0=5HpIJ6Lrj*qe7HaSa)nN&Ck95y?&5RFbLr>?g+v=EI>6=0k5G&o16l{4FR=SKq5 z1=!)xLNt1m06QI8h(?bQV3$J+(ddjwH!$7f&_XmiOZe=K&_XnNe5?`@z=0|)M5A*B z@>vmDh(_lL6tp6=5RJ|kC}Kt8C=gv3E5g5o6`_S_^kjkZtq3hdql*MeSrJ-@Mi&cI zXhmot8eJk(imeDOM59XuDzhTA5RINHP}+*nLNt1sKvhG~R)iL!(K7|A zu_Ck(jh-tx`&toNh(^zk^+v@8T9Gs*yFjLq308y_qS3XvhXY3oQM!W*Oh^8>Sct~T z*_)+_V=bj;!}SzeHP%X6HJE^fXe=$wop89pj8&AshZ4okMW|J*N_yu8=V>T0)<%Gh z(h*{9i~Y!Ohr@f$V|tuza(K^qtXi^dc6iS@{9&?sTT~#9eDTjJq1t%xZ-_hH@!S)S zMYsegr=SWzJn#Py$4mG94N2q1kTikL2g}xH8N0w4sWcEb(g`FaA+q0ud-~CVy6awW4%S&X&H90e$t~h zI=rzu)?a{|9Nt(R8z8NHi>x5Afdbs>e84&k65uwc6Qvp~!0pa1)Fd`kRF4)Sfnh>z zlY^BX2H*lb;PA%k*x@o%H#@wsIyO=;TO1m<#p;CGGY)U8jvXP{wmH19IyPE>?at@u zXR$GoZHL1ft7Bt@=}zYo@)<8ZVVCn3Nly@9kF$=In<&8E$ZSeINdOF08n?wJ3xvT* z4z z(ALfFEHzFf=n2j4B0#=FkHL0V0a7qD0#GABp+k?scDLAbpj_+lnsx;$W<#H%I*{W0OeupMnBR4F2WTg=pzfC zEVF^XAu5&q8WCMtF?F*?B>s(*z_0jI5d(jp{LzJyfJGG2*r)Bu=Oe+{!rIl#)S#SKsDvrHX`K7g0H#*3#tEl0t9PU{d$Ed(v8p|T z)0abs_x4Pq`P0!t_AI0Mg`_sy%sRDg0URf!iya!P+H(Yx)_mp`vDVd^&phE%(sNg76_)6y94_~*&Wn5ucJ2h!jj>TbAod$hN!)$h>|UF=zfXR>K4Mto^bLB^cPtc)1H^mUtsh}L%#e%0TNCJu*xqo>YzX5{9<95c24gOpd>|3MpMj+ zR^N$)1biSz+ZV7?DrYXzqa9>Mt8?z)g40oEfC&kDM~-%qo<7YvikQwa9US94SqY$v z0LMCe(BRRo0?bfxakU)n@t(`3r)Hyx^%7!rGWAA#%di`x;;%r0Y0-XV(1%FY-&ss8X?EWa$cS7<{tV3A9Bt%vqm{r>qho75)qrp6bGJRjX|p zld0J6kl0#m8e5A^V{5T#Y%Mm8t;MFXwa2D0S?Z9A*fb_vO1BE!jfA#0;?K~e&vyfa zO$L20K*1f$5w}y8pIfxIfcJ4HN>gwv%B7M?&Ur!1Y`R(n zBXUsUeIeG8sU)Tf=)KeaLCExEDyJYdj0S%NF!&qEB$*A0&H=;N+-Xc8VO2y6$K2F{ zOrawB_O#DCg9$>r=wx&r`YlV?hlIAQvKJ~GgTDN2}cW8Kx@lfxE6)7P9&Z)1}-k9F3-qk<_nlAyad&ehLHs@ zjFhUoB}}m^!M$*JghD+|)YJU41CR>b1O{!HSVZf|{lZ6L&GEV&)X zkaLAO<_dA^Vmq>Rxd~Y|B80dHavWLz9tV6ELOz#HpCiLAI0kH)wj7^v>!jXD>WNTR zgo;cchs`BuDJPFh-9#XUBb2Duw1n4Ezxdskhm7x_5_wJmt9$`6ore&r41>DUf<0k9 z;7ggd3hkHF`5pj#4?;<6L$J3YxE2KS;W^xCL2_>(%WDYboDK3hi4{35N%Nmbd>?@o zD0W(Ma=2?OoM$5BACI&WomM&yErk#q`Z}e>Yb#U?hkd?vYgSX&!L`}x^5S-)le=#p z4*vKL`WOh-Uvn8)qAH#0H$mVEP`nsH1gg>kJqY;E2xaq-{bC&IwVaDy)WvB{X+y6d z-py&vy~3Nw^f!c12aKoQPS<~cV9t2Rf{=P_Bu*;drl1h>Oi+TCbb3(8`2dJCa+D$D zybfRzBI5{b18@Q&a}a_jnX<=152&W=*Z~H=6Z6(Ru=*++Rcg_zESRnerqO8jYMu<> z$8OAXd7gvP_p8-c`L8iJP8a_B48V!Xe!)}feN&1@zbIvYWN@5LeiWRzGPOT{Q*+u1 zPD5}4+Q>=HTiwnq=dEg`?hN87sjDLguG9Xg)08b!hmrYcL&@bn@~uWLw`Sp*;nG8M z*^uF~!9!{Hp-}3pDQ(YCT4maVGiNl#nj3!|_6q3o5`$$6c)jmZmv7`xCpj$+Et>Xmor{?HLxqk!yg}lU1G9P%D-z# ztX`&{v^6+dA_p5h%}mjBCViy-h}){TPukPOb`bA#;KXv~GSkB7Za=@S+flmPV8eh4 ztb=@1;4%nxf=TB}Jjoo?Xv%1P+y33sVxs3 zohQI@2O)GW(k|2a76LvFq3mr4aST>jSqrYTTX8M;6A~G)0y^hY2*TweAo1PK!@2=NJa$=T%f|gn zWciH!c)g*>K0(Xp#$`eIZ#6hR3D|!&z?d?et?P`O=YwCFbhm4GrY)E8{#|ovlXlV5 z0L7I`m#I9~tJSNh^a6X2;V>stY04m#USRiSrE@02ot9f^Jp(ASp4ovHbTL-&tLzF^ zmKfYM(6ApgQF-ldeT+dIpi(a3{VR21(@OP8w#7c*PVo_8$3~Nw zZ3WU=>3o+0zJzJ)32k*xxDW7k2>DBvFIC<3wAgMkCJ5&HCo0h2F6OrSXQX|NP_{0D z*CBXx%RheM>1w2&-Ye>H41yrLme$XjD&B^iBke-oWKzz!>{|LETOS1frO)VW+?m+z zOc}NkZI?aWFnF}V9iTC4fBUY*e!%b}iysXOcY=Aw;P^BiMcu$&I`_*>SnK>U>9}pP ze?K@v_k+mkde|AQ3^OdORnSBiyKpzylrt_`84isMMX*PDq~wiL9!2=;4NmrQ3!m5O z`~RmEd8WDKIn!W|K%8Uj(AZYynPxmB8jT>&H1iReM}W^Xry_C+Lhz5Kta+vhuTJX6 zmu0FoYIBw8_0;(SQ1#TtzQy2p9CMDwaZ})b!lZMG_P=I;T?GDR0O>J)qYN%syxW-z z)>+7uZ_=fBr2*tA>3;?gS|^*9Wj5P3m7ti3v=-Ct8ofNYPEBy{864YSg~55|zk_!X zUz4fA-eV{g_Q5_xQ=&5LuAWxjk;T24PB>F@*mkw0RYmGCXQ-JEg1FQAu`EkO@2vGPv==oxr)k|Id;I{%2(Q62ZRR@L&xu1a;5gsC>xacy7rrrh((N zFz~2k5LEEzS%pNwF2nt2CAhH7dXDS+wTFdEUh9Oii%!BSkJWBvwN>hItL6@^j46)( zZ#67Kx@h2Ws|__UYzo#P1ku2GK;j|6tAQuA23|y#2NCiYEj~>>WyvATY%8kpSn@Y;*kcv!gTVIUJ9S<7G@1kwN|a+6JOsPdRrUoY6B~;AFgBFw@WFCV zdo-p?Tewx8xYDpN52F4r4UY4c?HF0M0eDn0*7MZC9_Eqp zbwj}2+kb3u>@$2Oqnw_n*@MgZu9maTmDBEWmll|mPB4@_gYV#!Ue}a%xmMWrVnc}) zJ}-+B_M`^KM!8RLuv^@PC+q#&Cb*!9{(qA+FKTHvxY8)Q-lKoI;iZbqQ@Ve)!ExE? zJj2Mw^Y`F;9(6R9Xr}R>(99bTRAj@?(IR6mPvvn~wK@)sc)vBvY(yL9p^MtdJaoU+ zh4WDONIWeg$SAzu>hl)brz7BU1Q~_;GYs_!z~zwbZLr22iI@UQ@DA+K6(fDTq$TMX`w%#`ErB-LMS zb!PP+fczT~r24C^-mHGBX_&x~Ce<%M_Kc59xmGbHSyy@84 zAmA|hGE2@go(J?WLh9m?*fDR@z2ABotgo^B)2gu>`ZEyfC>+=$SI$iUA^>s`a;^bT zibw&1vj6phE=(;iM?sI4?e7haBYdsKaW7-X3`3p|-6H8coK*f6CY{?F`x*m~@XL}Z zGdtP$8yshgPXwnA=bkX>Y}WtjGI9>_l1V46lJ;6icWK}4!SymYcZSLNo30!M9VQqjzwb)->tu_Q!@2o0>Pcpc_b2?=$Jt$a=%UXt%QD|Fm{F z=iH-l@|bE*GYG2cr>sKFRPbgk*2S3$E;f|NKEI<@mD{+h4UUc2LF1$mpZ0KHZp!G+ z(hT=MYwlYz+~Y6m3bGzgW^r$Z(gm8*UUyFyoav#&5$0JA4&F#tXe!mNJbD+zsY7Pu zn9Ad<)2TC-qDj`Q&01C~Wd1i;eawUWB&(7S@ZS~+@ zYl3^B!?V)t2yu$u?(emJ(Py^I0QYd)Rg{|p;Y-~qn_3t z3Z>IDrL!`W=6fi;btsfpXiBGKDBbO$l*aQv*DKFn<={)kGEJ$@-C@|@dnlcFD3q3J zO6d%x0Z%pR>7hfRbc&|5H#2LV=b`lLp-{rDckEBwGnBS@DAn~k1U)U*lxAf#9@)}Z zyDJZc(n3w?j*Lw89!l>W3Z;`Yr8OB!4IWBudmlpWPSlj9Whi~@p|s>sC@s*GYBH3n zpKjFCUk-&5zL00zjd3*|JjO$*aX;3~EH_zGX>uCDU90SUb5$O8`D=eKXy z72{&px!3@5rZmR@6sE~6b#OuOl{5RotjvLyoGDTN(u#%nxC8M%9iuoc(gv~<9x?*> z^na`2wt=Q816Bo_vhrxWyhLb0YsG-ogC@7n0=^TWnAVB`YgiGQw$Cwm+(D2ge*{EA zPW8j4$$4E^sU?Pv^O0o&f}Gd3)8{QO0)7HP-a@@*B(hG3z(m;cKhh6vP0PB#u{fka zE_n+z2tXeMc?&fYk;w?kUSSHed0#`p#wJw$tp+DAfr=m2^%dKtQ3hbCV1KW^m3^GS zZA0zb2#!Y@=n%N3$$rBi*+`2`LC<-BTmSugOt5K>DSt%ELrRZji6DLN;FMsN#U|fI zn`!>+BMl{1=1oJ%eS|;FgZs7#?n#dX?FMKicpjS%C;@!vdMFOhDy8h`qgo`M1|2Op zc{OL3dD54e^ktB|#-vm7%bUqpradno=hs}zi+JyQJJNO2aVc+^v- zV4znI%Ff@cYeXq#X5kJlh1f^-(XF)CZKdEu4<&Ze<}@u-+G{EsT`Ky3f@4jFcSz-N z@OC*Fll0yt4{A|g)&KD3>Zd_4UgQg?y`4F(uf%})J%WtaoWUHgwPw6l-2e*zmG?1! zL5>Fys_Jk&`ims}1n>uhuE9E(3>Y>}9Y*W_t{Q|9*%isb8Hg~@Gh8VmB?O89bU>sE zAs9Bpao$+bv9s(|yqK%EYB{v~9$-!LQNIbA5@8IW(0 zE2FVJGBTE2VG2(+6`Vc<6CPixT_hH752D!J2>v@wK8|X8vj-TA0>=E!|C~wRg-re( z2H-~zs${Q$Ts}{`e6A8cJHTT*`Q-gs3nF~d9^f_)pH3!S_|zIe^Os&tf3ZK?9v2-H%|LGxZ@9_XD zJbZpJ>B1**uackUQ)3`Jz02>PwWdCQEu&q|aPSyHKD|sn9@F}V8bIhxF@UDG#6Ygx zqlOxK&r3TT1zM9x?{_Ajw8I7u&;Gh0kUKXg>%Mtsq74!T7`1O<}WoYpO8}z<~rYmti*do$2zO8%12*FQp{Chk= zWjjNJAMSjwOUW^M@EC(Qz(`zTM#=so@!TdOv0o16&f!Upwk3w%`I+I^=Wq;1ela|} zR^il5xr3_pwC)}JNNH@*ANm z1D^@9&m{AkrbGnuI9ty&D%EWv)tgZs$fWUJ9r*)JL#*RlU-oJjVIN#`&aKEm5@vYNU*bpN3M z^L^|@GpngR^#NUF5?X5rY39ukI$8+TU8#oxz9#b!deac{oZ1{*BJI&`V}{Vfh7eWt zZI(nT__c=#`|59!6t{Y#%F1P+>fUVwh4s(l1Chl~H##iu2Dm-p4$HeE+M7`s@cNzf zM)O##MvbXLneMq#lr{#ENiWi_ed7`Qgx=~YUx%rF+bi*2D3{;ZF1cN6+HA(L+2dT{ znO0_*X=U_sczx`U;s4V45es3Yl&#uyP-Kv0TeRJw6 zVA465%AJ1l&0x)J2h-W#E`0$Kd_C%IeoEMl4Zr7Zq~M1whWxCC zk5OKXJXg)aM>`01z_Wg>0oJ2yf5PCz$nh`(a3sBzl~Hu-c8~pai>JdZ-H!55MH99_ z*LhLP_XqtCUFWM&nER&y^#{m!2}0qi0A4`kDTEXY?KFkdOA%};?dU0Pk*|>B3xska z`mg zrx8d3Xh7s@g#JAMq)2nVp{c%tHt?~{f5w=se?_*3S&l^BM&wljB>y8KUlSnXR>#3= z1fiVe3rV&f(BTMUhXD8msaK8$rWU~Ok$NFQ;b;KYA@WB8M*?^Nk$VwR+{GOHx`d$@nWj?_2oPM}7ThkV> zg9EaAC7zw;K+dE7u1U4j|5V}eNc;j)>_UJTrx`K$sSQ7sMQ0NGgDXusKec(rq_05! z+YLR6{ecnNJ%rn4aI&d=+XFagA`%9H%Fj$Xjd9B)U4Ir}?=uKW!mn{%N%FR9(J9H8 zMnZOblTJzIYeE?_m&Xl`U6|k7Qn{YB&HcElsS=&s-MSm^++b;@!2t(vii1;mK~vf2 zQi0x%^fY(jSS^vUfeSA5NZZ&AWD+_!kH?x0xB;A_k3<;YUMf94bE))?_1Lc~EBHVP68`am%=2do`AuN9GQ*f>#xK2_>%Cj5eI@T4}2@hK1hp42d< zsc-_E;Ysa6#*HU6@`Yf$UARQwE*#D&fnY786fJyaJH%VH8jOyRZ#=BMgm??>VJ!(2 zWIU`n05TrdiUDLitW^WZcvvHl@vuf|Gal9mWIU`9$aq+TW*R-L5m=-0KSTz2SotT&?<$747IB69k9Y#gLtu#!r1s%CcN(B9S}r7`M2dt1XjyR1TSi&JN-NIJE^M@MKOCK0d|R0J4+nVvaJ0U7Do{I}z+sRJF2ybbw95(b{$cnO zBecg+e%85?zT5l_h~+ zJ^`|^a;;bK-4<&pfcD)6Ct6n`xAxr@s}NOa-)*tV)XN}U>&$}sVpW3CzT0AL1kk?Q zVr>P`zT0Be0@RD|wpe=srYZkzs7HJ4yDdJHniuaz@nO;mss(+w#fM8~?Yk{LqV$mv zo0PuW;&nwg0nonN;-gDB_|oFLEk35;JxHj1x5dXxH_*P@;*$zr14jF9i%%(Mn{E-` zZSkoBXy0w|Y30nOeYeG@3!r_s#g7s|`)-RLBY^hZ7M~IM3T3qKw)iaJvo}EBZSmt{ zKR}hr3akwRnk$gc3eb03e4ao-D^P~!jL#P+Vg=~CExs_e3&j#vfFm}3vOxJ(fWF(} ziv&tp0s3x>FBYiK3eb03e2GvgwgU9s7GEk*nH8Y#w)m+6rL6#cx5ZBrsLBe^cU$}n z8JN|U+yov!Q=l3vKo>*tb0ueAD?s0E@$+NfqOJq2K$?>V zYb}#(ROK5_aZe-3^%SSeK8|LAr?{;w>w1dgGPP2rSY8OxQ<)GtRppDjxJ0T7eNf!R zB?^i;ev~u264DjM+1IqYxI~cv+Fe|tSOD!VE>RM@9c5ywy>=Iu=t2_WE-ukkdWdP? z8X23~U0kBOjA!jGF403;Ub~A+^p*xr%Scc3lTNJN#U=U+pxwnK21p0f?&1;y1<>x| z5`zTL?&1=I1<>x|5<{i6wY#{)FrlX1#U+LdpxwnK4wulct&qkExnA0Io{kbThxS!1t-iH``H2r|o{0`{B zzGSOU*-U36Az2aMf;e&wzz9yBmCt4$lKij~-Ld zoD$kjdx)F-Z|WrgK4%=W{hDNvAin(vtJ@GYtS5cm7S9C994pA_rgVCHZ$~uE)m~=4Xoal&%6X_WvbD~= z8;D?w1xr-4QpQ4^vkZ!gR*A6NoC35(R4=P9Idn7>Z7cn4JFdh;Ng3pSMMUHsqVmT= z$Sb1lcW2mjC}$iap8JfB!aFFg8l# zE880-8t50NvV+b=m@cFJrJiNVe>C#8--ACpoamsXsD|?vg%~Unslew1hG@VF{ED`T z*2?(A;STS}jt-UeC};-~goX)^V!PfrhFyr-b+QAzBRhJSXr#st97$+|)N+#@xP&z8 zgu_F2U}ON$D53d~6W|@$(Icd>o^t}#5I;Iv%58Iy56~EaUUC9;gvJWA-3gpTXq-TA zVAzO*$5e-Q7%`%jRL4Tbv2(=VR3`zngU3{7nWGXdX!nuoB7k=AnCdEkcJP?05kNb5 zOm&NO0v+w(G1WaX6hK-WJf?cc=C!&796Y9aN;R~D$5b!jsU19~dP}Za@feuu6UCef z2akTXg`X>bD-!gPh3_VS%HIu9nVzN~qNk_uP~=XHNX$lxe;)p{T7f@4`J)S+3AmE} z7Q?rKMrv$gEwip;R-O^~ooWY)6lgU8g28`0&&!DDKs(fsKYVwTZ79XzIH3+aSI>!{RmLRvd`OwAEY zTJxD(#9C_ykEwaWM>}{-ogmq?gU8eY!PN4BBz2-ZkZ1>wsf8tXqr7(Tm|9ds$+UyV z)MDYeQu*08!uMllDG22&{F_o-5Dxu|RTzfxRS?O$4RIySRS*?E+QDN%OjkjL&qkjv zh&vA;U-%e|i-Nqe|015xcuhfaDrR1B@K}(NxDp4C1qDW*=^~UU6hJ$8EGRPScm(ZN zP%JFd;^48MBytjnRVzQ`YsI*964O(T1{|h?$53UU8A_|s~wn@fdfQ~(!EY#{DB z;{Hq=N3Et1eg!p-<;!EZe>YfE(!renN#v^ZV+i`Uu_XIPC4DCP-zE)i)O~#3z&l|? zWmV(l)G}3t)Kt9*EKJ3?!z&OUi3M1KuoV;^i3Q>#v4A!pz5?wdF?=I>NMWf%Dq-IH zT-Z`t#y=Gat;gWck@2&t;bd(?Vi>R&B0*PzC?B7CH7JO$L^AFcO$H zls|vTl#wy_6hP(gjx7FvF-B^=_$nh_l)DQFak>(W^$y&G_>U~gN5)1K`j$WiD*X~R zw#6Im7;{CqX&@Pu-dl|1yLECklZn^3cr*>V0|IQ3;Y0~t;_+b79&jhA>uE$ugWcj5 z^;CEju@~Zx@^ky!nz{W{KO`+oZpy$vC!A~Z>N$-?y6rW2X{Uy_)3=ugOi`PNEaFO)R^NFI$RJeF>CXI?oc_{U7sFi7Gw}6)vkyQQF;Zs&694z+Zs&$v_*n4YK7f zax6aCF()3GQKh0KLac(R(p?&dW_mrQlNQ%lan`MGW3i7=to)f6TV%4Nk_RCbzaOZU z_Y1|vL8;Wu(SM2xwCvYrA$2zC0U~Pp%2r@}vn4FcKLFK{s7wp13VQb} zoHdoHoGX2`{3D$s(?bO8t>X0VS$LGlcS=@%)rYs%e_;!1$v$wwkB*@Evl<#&qZ}Pg>P&*5$uI*oe`q%ps~KSW#>Bw@X<`` zi#Z|c$X4|Vz!xG^Jp?7fai@xIMRk9$<*;HK5RW62or`+?V#n?WI|n{7%hz$_NVznoiD(0+K^kE6Qb5I~B zL-%8$+wUjRT@K86kQt4jf^HrTpGeXaVE4yc2EOG{_TeUx&D|5#;Ohsx-mJG^%5b{D zecc0{U*qt85J=~&Z7BM&L9_o{msM2WT(}J=?^uSK&xXa|GN9e~ZMjM7TiJaBIz}NL zGnB+ops$LYYH;L2;dFX49DdU8MmD${RMijA(NAeK({pI1BBzv7=c&-qT!iRP=n4It z3O-dm1Nb3?szR)Q&p_AF4jphR=E&2YJr_NO1=yX2I~6?pszzE%gy=S;9j4Qc1U#8( zG{`#IX~iYvG{7e#ln=CZWzi(^$JF{>H=b|DLOes=qY;W#HO0jydG0xSE5o06#PAfb{<^SHqsq`DQ z(!0c{*vqsMV^rwnIu1<^v9x$()CIJ?3L0;4TyhWBI5FbEcQ{fdE{gMXx^LaCvvV*e z#81f82LA-goo&jk0Iyp;ysq`~s#W&W2FE3POEyhs)fR{~(dwq`9Ucnr8499kP`KGN zHKqC`n}SI7l)+P~RGHLN{1Lq4=^`~cU5|ax{L$bj)l`jhYwD3I;%WY+hJq{AKo9OR zFLlf;t2~W-SCevU4UW62XEaWvz1gI5`g&KVQxf=oFbMXuHs#)iJa|8oc_`oX=9}H# zyxUM>vk%ggq}g-*ja_BB;ULvSRSq*aa=$qX*9`X-n){jz_oF;qwirs7{Bix^8u;)>`y&>mSrQG;j^kKpUND~k(znJkkU&_GnDSv zlvdvAO5D>>;!u6VrKIdd9tJJ3i^`1P+GZGZ*9?|qRC1?>QoW(1`|-gkDf=mpSWB`> zL608XMXqehPJ33fSKVZ^u^8w#ZhH1#Gf!_S@_imkrRhVcd}mE*Z>Hbv@=%(4D3q2r zr8G0x*y8sYO3kTJMq-VoRO2>CBoS()lvxFuYu3}6P=R0AeM)}pIQbP?Nn&(?fs2JQ zgX>~&Vj=?EIi9)e2!nHXMQuHmyebQK@V+9Id|Zon;~APSr1MbvAWMQ~D8)3TJvX_O z-tkbX#vXzy)AekI(w9w)NbG8(cxvo0LrIztKDm$cG|FXJxMsL)*79z02Xt_Oq4a(| znjo|lf4J$FqndnSj{kt1F@9)tqAllFF<$Ys$d)Z| zY%uaHx8nM8_pI#U=*0{tuP_`gxU14aLX zrr)K*ai`9MBi{U9fxwy^VBMR$#nQ8N)FsoG`3$^~ll84hZp8|*9B1iwX8m@s@ zh4kV2iPeFPz7HGk&k>|w-40~P+2}r;b^`c?C4FGUJf)69Xo;5n(n|7F?{$DLGl>WL zU+HZB1N<$*QBR}GSVgu~{JCaaRt}-Qv7+~YB%Vi?mE8?^H?DO<7k1X|S{h})b?lZ; z0N?!t=no;vKI_wc_6WdrOxuIU{+RB&#{iy&Q2vL{G!r~r$!|tm3W{gjpk2;Uwj7x- ze)L0e$d2*-o3n1u(#W4pK|Vod_8e#VFyM*ivqmkRr(QY?Pf{kQrT87mua^IQ@W}Zd znDapR9E3KX0myk5f35;_1w!PU&$K+BVj{pY7+9vxQmrdd-hSj$jp0P}GAK1pX)3tK z;GTnyZO4#cMxKB%qs-Nqu{s*uCCJ#Wo#6B*7WT3Ts$idm>2H!eKTV^GmEGS%Y`89v zA@;Vx9SLF!1xJHMlHpeyc<90`FW#mG?$V-jGUFbc(odRFAhXuoC^as9oKj?B%2O%MJu;7Rl*>dnBuDva`!Vty%w{iH6F$;? z>+eQUR>L;TRE1oBUb3n=b#Ffb=UWIeUF`r89w^Lo)pE%a^|mFJH9hCU?G8fG*|nH; z3{kuo!O+`j`P-sc&Q-vii7d+yaxMmN3nC2&9hocfAX5GY=y`;i4H(ov{!5u3zX973 zy0rs_{8JqA58}_iknKZ+oZA7Y1$a^g5R87Ti|pn`!2aII!A5@?r9ETbt~Au=4h0>J zlhG&E%8^wD%l2t3C2h0WRKDqOvxBcTHJG+f^awBvI%p)Nf;Spm5KBU*e8Z0?vGa9C z`P!}11P|gI4TTa?#oRk1idn{QKiGgRf?_O=T}TJ4OUWG|7)$#Nk0AG zYKV73|KN9T4OS1HdbNY@OA!jW4QQ~&@(}Apz%!Uu1E9fL$lmuD;2W8?8ojTjgm1BFO4- z<~K%O#V;%$v-}@)LSNzP@gcIjkC4OFV-F(V5a24Z50U>NsG>J(kuO8xQc!r(@&~#i z-*>>YI0*|PLe8fErXw;Ip(Ar8^3a>E0<;#PrX>LXZqUQeQuG(`M09W$l3c;{8kvr@z}dr8Kv768@)E| z6n5~g>~3q{UNC2iSU|tPzLu3gSqaMWrp|2Jz8E%y$%g* z4XveSIK0bH^+E(0<|7dqL4d=2E+VrLg2$M$dYFIwjiy9_?*J9gD6@|@D&jETqH#R^ ziTDhK0}Sx$gI46RY)wJwKbzq})|FkeSr-|x_y%RD!BLM+ZW^CY&NA5kgVBdHRu0!* zH|fU@gR54Pz6zXL8G*^^QbWysgzRc?{7CawQ)U^;G|Z>T`qk)qdd^-BPU(3~Y5R4SZX&hkOC z_Gegr=3%)lixMuT{;qM=WvteP?zb^@_@nlOQzANN^z1LS777e;XVd zu~Xm^EjNK$JV!th{S|kCLGZ<`U1b2uyFlm4?2?Z$I1bbYvvAT4Tt)5Qhp*6$^hsu; zd9#Po{|<%H`I=H9vzh$LLun-1t5Ltr$aIdT)VLw<^r_YlYq!o&(u!<`(j}VGN>`@H zat|fS^P8w#tf|zxRP=s;T~Io5zDlvL9(^Htl@+xL*jf42l-0mlOJ2A}tpR-D8af&K zHFU&dV5NwhGq~WdLfU+ULa|n~PWk~={TA^1OcSF;YZZ#9NsD00git89i`J#w7~uI< z;k!-mrt=CjB;;jTo+W25w<61>2vJ&B7U_*a;bN>72xXIzR;|;Vb+@c8dlb8xE-rk> z>ax3l@9M($td35t#@0u}Q&GMip*;P8Zl8_%pZaGn5DrDKm$u9^?WWasjmgB<{2h=1 z>c?{%PukB$=N@XXe9th@seK8r;dr%DD-71xy0n)uvnu@n(v)e@GOJl z(?sxm1JE)c@}L3Sl}%5s(w$rt?mt+-lb@h&xz?R*Z!RbCS%>Y~!I98TXNuA!+6{Z{~8(!|w z`WS=bPU`m_Iqcvz-1lIR&j5LkMq>0p$LuiT|LY->gCp$?$zetsGECysfP)s=Cw%V7 z_lq|l{6Zn$9d5puX*bfV>L=}~M=m-S^4;U+YiIJ&(5Keq!?Y|i4e;QOG&qRR^?j`c zS~*=P$=F%%`Bf)^x*Q7e&vbc_IL>6J(r%LMjn)=(J-8>mIGlJqY;df>XNEf(cA_1u zk}5Q~Rd~rm#Od$p0X3&1W zv$7q0LOWAa+L;*!Jv{^Jzg|lE>E+;*jPKP=8A=O1ltv8DI`QnP4^AnjWolgg|86L; z`DPnRoaN9NgYOxfX!lj?5- zG#5C$DKWdizVBdLvOCJJ9_@9t{divaotzcLm*71XLe*VZsXxL>(`^BqczVlf%I3RFrKpa&wW!)oIg3jhiLN(tTMY|pp)cAk?HtU# z`6-ZmE<#(r+SxgioA7%8ZbT3jo{sET`;7{_EjWIq`dHpIy^kF4BG^MbmHs}fV#=Ok za6Fj^gA$kS6(}>)r1OZS(xhWak34SD-45fKBV7^pSI|GR6{H_XD7WaOP^DPqQKvvB z+qWQ=$I4sV;M9r#U$3^ z;hmTY>6*X|b-y+@AJ)e&DIzFw%P9jFw3x9Wd*0%I#k)32`~)$h=HUm&!l64no;4$4k} zc@}~&)Cc!l48wloLHQaHb{KLDM(B4lk~T=v(EyJ`sJaG2$OfNoC*$SupX891{!-)Qs3MX&ct3V|>|dEn zn^b008+6n~^C0yAxn6crr<+g@5qAX=F)Gb#g?8*`OJpk3y_9I_rNt`6@-wQC!Rip* z^SP)(z3u4#R>OEabA})65o!>|6+2Z+wjCGmTx(ppl*{v;_%Ih+%O_|wHg58326=c?BT3EM`wv=gM z@pAxOriCfPFGqZXXwSjQ=iOCAFfQ_321WV?wPpDM;(TgQPs)~8k9PA78YFqfu=wC4 zKQGC9MdID~flK#gXDDB7u2iM}$^_n-x3*@1jzh!myZ{z#r*$zCROj;%%>*>ODB9L7(gV3VBXneXG0V+bZu0U38iPs(4wO35By+qCLvhb|i`-&x2bd$= zv9SNJg2AlUQwKx8RGF|SFi4p-77 zVdIkOB8hBTR$VEPtCl3XBJvC}ZbV270I&e-*=&UBk&SC_*e z2VwR}0N&@MgF_Jt;$-Rw@CuFpTQkH6dC_?p$;{j*k=%>O2%KG0CXQU5hK zW<1vb?40c(FFUTzC>y*bW-@KsL7m*K`u+UI8!_Vfi@f8ZL@M(1s-HOzPK8dE(a-m~ zR8)_(=sQP1MK4Z3FQl6Wblp=DH1oO>db$B2p`f^L5&4in1i;wSu&g5_iUHh?$e##Q z0oa4cP6D*a>ah|HjgVLgU;-lJ5aihFogZ~2eCiaiKFJPM9)Zrm$$Kuc%t4T2uTv3O zMu3y~g@~Mwpn9ASa_6Aj_oE^51pu6No0baQb$c~kOI;8A>2~x?m+rMFxdB1w-iydx z1W0!qB3ltu@PfU%G_9)bHviTD`^QF5VV78i^j;>NAIUvu()F3_YW7mGfj-RSVQ<)} z^Ju4DIEY#4!Tn-zy6Kc%@r&lk&T%*@_nVvbJl(82ZZMt0p68)-g`tGLfdhbMy4l&9 z(j6H}zW-^NSeJVYCG#j7x#8DFc{3fkISwl|hxslCbsQJetwt?YCT8YbWnE>5hK)gE zv3vXj4YdP7n(+%nb`fAR{))&i2(bP%or_-?9EE~xIS%IEn{<9ic($a&V!f7aCT3BH z!~Lbn!>HQTI!;aLu&vRIUFF*SmdXy-_{C)cKR9B(*gc z9mpGpN&K|K`A?&$j~bS`Q(>3m!M$#9(yehQ*umgv*!ZPkumTM-$fWb@Rc9Qlu8*(B znsm;_rIM~MNBqd7b9l_v>A!969HXl|Ayegjh7vpVIbKRoY&&&-rC+Bd*tOAB`d1!G-Nx%?|4jq5K~vh8q14J9pwQMRO$p7X?0S<+re^L>2go?FiCcl+JSE?ZdIvh)Q77Eo9Pl(Hx`SOrv+E+7_46fCiU zEta)lY}i0!*C-klyGHD>#ctF{Y%#{@|9Re-b2*^-neYF8K6CE8W!`z`oj!ABj@MoU zMq5cdcQe#Tk_0dE#jwU7!>_eSr<)k2c_vM~?30w!^ViIFijk7_q$s!PD^p+QqcI8W zV}YZv`0=gPTFxlKd@3-$5R2Q!^l1}zsvItDJ%`A2L|^Dm@O{!f-OFngY*QxC|#% zXTb9txGX1ESx&67oK$5wp~`Y1mE{B~%gIxglcp@^M_JB`0;!)&Jgi#t5ECo3U2g5w z&C)n&J4*wR@tc7*$t{HioI$gRbyVZ$*I9{@MgyXJJ*Jtg?2IovQV zD{O;P^H4i@@#*_m&Z#~!jJ@!$93>Z@F0^M*jsudv<1fJU%nfdh@-H$phCg%pY0O++ z8Z#H8#>~a2F>@7am{*|&8cHzYR55cEYM57{1{y0+T~&>_3N<{1%O5?8cLyqbPy_tE zN=MVr`%nYD%Ll?AU5Up%aB)Ifb#)O1FFnn>4{-PpgmTIY*3-{RPlMTl8T9kM(_m@g zV)}XCX|SwtE&Ult4we^QMnCU64ZU1KxkwA|JB^w9P7}X#aWiJP@kVr?N!)81?q2dG zds0235y5&U-v!|6niPOu$$tW9)89jGxKA_JyV78vy7eK${HiTcSUC_h* z1vo|zB``pMCEB5YfhpG7<$7Ekz#suutHj&Db%bkPKt%eaKA_Yl=~sF%Mc0Ws)hfyu zsF@fF_nH!>+5(SI4pSpYDk(_ZYf7dP4^AlOVZaHw#xxQ=3V2*JksB1>^8q-KpfUM@_pOKUR)hZ#^n7Re|FpB1-1#VGk3H&O_YfRm2VGRIR zbJ@-~wPsev#uvQ@4X@V?tT+2g#%U7M%|< zvHb*iTt9?V$EH=1?RotTfdd41RewzZ2MX|x{t@)p!2*1&TS%Fn_zJk~`YDR;ka)fe z@#4|gtkkEFqjZQDkH%&T6x1PJJQ_P(Al#T&L4ijKl+YnwJQ|yuV)e@C5VzoB^90J* zAznNhn=eqI4)NmA*aCryb%+;_#ukc{tPb(w(b!^vDs*TQZM#&UY8~Rmqp@QJs?(u& zNjqMuQlk!qNIOBGW*r(r%}x@|79HZnqp>xq?||H0hpMUBT4^UH>JTp;jhz{DAq*Ff zI)8^*oC@$KuKLjJj>jk({3PQXgy8*cCHBa}&O+DMJ%gEL!Ya^+$V?^Wm!sKpy$KP=`$#@mD>h3Fa5cAcMoS4*!D-(7%f^jl2BFafUBy`V;XxB%Dbk71$sNUfqhFKiS3#WeZ-h0njGW9@a-Oi}x0`$Msdru5ki9uRlQn zijNnzS9LAZGeIJKN1wrX_LVIDSo5l=_(TD=>-9|BBmuq)9ZIby3xGPv>pkOB1VXL5 z0!206E)eS3v*g@QER5FNVJ1p1#73u#8LS+3JPxxXA(sWFdK?7BrA()K7SpdZFAGfd z62R4876IrjDb6H$rZCkcK)!wiI;Q#vP>54#0Gb6T*4#cy^-Xm^T2}7?`=$CNmIA2O zxavx!`b!tln8b!*YJe!)tQR01seuw_i(Z2Ql^P^mtx}*;gOkT2e4BEvh2{=B)-(kM z8AVX~PiHo~lGxMXF^LWHvcS}ynG1k%F2N&x10F$nm_VBVr+9Z?_!`JeO~`B^>!W0S ziLCN4tgm~l3ArpVHKiJ9(Oa0hcB%79KT9J_wOO;N8o+)vwY7MMCrL}&Hi(LttW3Z+_0JhMxf>P8dK;Sx`? z{*-1sLfBe#J9BG}P+HmTr;d_tzfEsLDNfBTeH-B?>O)XPQ}aux*+P8=fdvxha^$gW?t!S%CDt6gEHIswD692x{Q#6E zu7I#c1I);M zfSL1P<6y?z2N>pkfSGcKQo_6sFjFPQj|GEQ)M4v>3lxeDim-&91C}5MQ$ddEO?t0} zR;o~UgGxt)h`xqQd?<&FemSq0i)6PD%b|oxe?4!di)CZX<#OK4mFf5=IjD7Te?B;> zH4ll4V1p{;&0LuSC7yg3ZwJ5Xwhq%&9u^ssE}LWL~>WqqE54w?6S|AEL~R9@pumc&ZRE1 zB{2sBoJ`a`NciDWPR|Cony90II$G*P-~`<61yu3D8C1SBXnTToY^DjiG=bIt=S~J{ zxn%kVfEN=r9HhOGWhw4ACBqxi`;8jSt@=IR($CM{JKSzj7S+S zel{q8`M1GC%ns9uw8!llNB~`jds={7S=V1{BT$uQdmF}w6cyRc<`auJ@2G=ZzSbv4Q%UK#^m8w3l|F-Dzn|SQYHZ z#F=ovlDK)2xbM6*pGcmy9t9m?1sSb>MbI%KXrX7N$W))8&HopT+C@-XPS65hem-pl z^)n{P26xF%gZ~vx_mK#)UIeBVvi?Xd#K)^y&w5>h7EG5Hu2614RFQdVG#{&+;bseuvDnKfd2zr(O{rj1XZ*Q-XVEgSwSk- z+jSlm-$3#XHf&!d?=0tucCn82DrFa+An8zBta_Nsfv< z<%{E$ooN5hI0EjT63H80!7X{u7l|(sCU==9lDm~Ek9pU71{&Ilw(u0?vUNov-e{T& zQfL)+ePO~T@-4D_>J-}g!f>_6bqKg7!F3@aa)M=}C6^#RD$(Co-6wqIR9*zg(Ik~# zhp?+911@%9(Du03SrsFH^F{KSjl`=AvuzXTHEzDj@ZTf2S|VukB0xI6_eC)nNfl$N zl0N@`q+cY`U(HpuKJ0qErW#$B{B&nQ7oabPCC`Ry=4azShv!YWz6@}ZjapyI4A__y z_Mxj$N#VNO2xLF`)co%(A9LVatGR9YtFE>*W@s9-2BgZgxUc!rHO&zG-GbNK|2%7M zk+iMzESG)X7lS9A>3hG@EVyn$73?but`UrOYcML=ZbSSLZ47^-E`e@lZ8gdzO6TR0 zkwB--;%h&%bP5J8SfR*l0zuNEX78-6dP=;m<3dn zYp}r{#YfZ6b=P3;az+<#!($6vl8{#Y-EM>+l#8#GY(t`4a1CV(n1fL+xQ0p#&!nFV zuA#ERi|FTqYpA^NYWU5%VmOLr3$v~mj>WeCZ`KvV@hGD->x$t-g5y)Ot{6@VVAd7G zDFLeO+%VE33?*c480lF|znL3GdI@0Wh7mhAOmS`)@y`t-{<&eqKR1l@O~oP2%nc*` z64e0A+%VF=v>rfX3UkAVe{L8VC~=y(VPueSnYm$PaIy!2w5cG|9^3{kvlQqs3TF#I zjHclY@_wy2$y^&AFp>n`iH-WWXJ!l;#^I6W5nM+eTgVXX09?cgTl5-$kqMbaWL-wq zQ^+b0!+M6tYG#O$DSrk+W{8n?vA>xiMy86DU75K>_N$o@Rud%@8BgPeI1Z z3^6jp+Mnei(qZk-8Div65uMSTAw~|fxycz~WTsHe3^6jhgvmBD#K_?ikC`Dxju198 zLyXK3N^1%;#K=*Fd!ZVc8DeB^={kfrGsMXJl6^oiGsMUOiF3JK&~-}~NEUS6Z2q3; zy3K;FTUxd+0JEU$mP?q7eimf6!Ya)LUAIzzYFW^As{}9$x^8uJGq}xyu3KZ3=7O$U zTX+COx5|R9TPGB=pzGEPU>0=U1_8{1uG=VpSw%tqtU zbxaj!y3s`56!^_dH<}cCnVD`hC1NtzSBZfy?aTmQl(XAtUd8qBo0)F3z=5_h(~TC2 z-^_HQMUq-qbEX?D7QoDOqa^}lHD|iftVC&My3x`^7Qz};koslmceX$|d8nWZILeu> zo5*yBKiGsvb_gC0xm1+5-n;opHV(l~NGRg0H@G(#ia6^Hw!;@a1EVmvcL{BicoR+R zk+Ikiv^@G&l(<-;n0}@I1ol``09VgLh*-)j8nGzF^3ub>m6e6QSbj;R%L@M~xr&6V zQPvG&#nLV`>pW6QgwmqN637ZLRNq0MOf1l<4+t(<*6O zvx*--KmfCfA3sn4vx*--SOBw%AD^D+M5JaFKi(nnd>7^_e%xEd4|5ei?ycg7xr!h6 zR`J7J#gBWd_+j>*ac>nr%vJojw~8O;Dt_Es#Se28KklvKhq;O$_g3-4T*Z%jtN3BA z;>W#J{4iJX4U)?u#V$GuhjFjw*8Yf>8!V0Rs^re@wM zeweHH@iSw$f`%?3I2txIyN-#*%}9C*yN-$OCI5ui>^dfTCO-mTb{!MFl0N`2yN-!I z$pn&Ob{!MV0+?OLgn!pD;oo&k_;(!>{$0n!&by9@npY5!>^dfDlk}Ti$3&f|Q*Amc zY9_;kE(WIB0*_EZrbc=+Dk;dcfh#;Xp@M8;%|2nW;0fSmpD=P!t3B~LaCc8^VZT1P1Jp?fO zgvp))n0>-zQ|ZwtBb!wb_X&g4vWWYH!ENxFy_ZxaIm|kBm2fNBdr5VXy6C2`_kwQ? zwjoVs?qg*?UPfWcNimF?%m5qr2IANi_b~97%p<}CCa^*bcGD{%-&1p5pIae-b?1O(6R8Fy_d|^7zt+YCG&XUND!8*_*VRF z1zxglscJO4C8;JhD6(6E<@Ha&W7FL%EsfbNN%a$(o81zusM9)Tw2%x+0)k^tX@xm%K&EP&Es?v|vc2;}N8cS}<30%dfV zyCtdIZb^_i5v)P>25J8UcN!+f`=81nbLXn~fFh1BRqB}8i!jlZd}%XVUxTF68Lx`C zG8|-pEZbm*U5N^=hd2Hyl|7<5lG zw~;qPL~|R=#GK(bP~5>04n6*u3%Uh7_&g`1Mt*pfSjMNiAKw#*fDZpPhsu-@wYfNs z#YQ?2YGUS8#^DfJbWlN#Qp5{$>(0~KhtE){{UjX z@A4NgF+Ufp(++^ zm!5xvI9Hd6K|u;0h5U&>3m;XGN|I8Q{E&9A9cC$i80;V8^n%g-<1SmkN!>pY-Bo#4 zWYoPgNMEGx?UzgBy}Nmg_X%VEP0(hGj0%Sy39o)h=Xc`&38}zc@(+doDH#msQ}3t6 zi|B(8f9*9Ck2tUGk+atwK;Z&yYp>mY2T){OZvuA7=jQ3HR*EE#AtZSTRY`&68u6U< zIeZj-R&R4{ZUSYShnHuu#uq-ueyJoPA7qAP)@i%o>Ji-` zHYl5>-4Cz;+l74)Kcwhp6td?^HZC3hmY{^yCH(M&JG8gW+2SAD}GkS@YwXEV3 zw4_kBI2OxV*6QmG3a<VCK(kqUBYumw_LOIwL_pktZ{#5UXv>prMjM zSHldK!1bxNjLnwuFl2?~$A~gErrW^t6r9^+`Pdmm23deD@mK^vGPs}Oj<9$(cJ4$A zlz>U~>9CL&&y!v}dr3UsA&%{gXTIf=c$Qg!@oe(Nv&!Nno^=+Gc-*Tj#Qbp|v;Z4& z_ZbVYqi|og03}zyZvn=cTNWJt5bax#N26}H45w;iCEfWADrRr)E)?`+FI{sIS}C{@ zFt9F`nlc^WWH>3wA(XzTv-xflK2lU{JZy*0w5y;j1_Ad-71_@c*%ka=i0v#?bA0G~ zcc9l;G<%Y_4H}oZq>X$ODcR?`#K#nb=7SpVd?Jk%x(hf#cCG)iPP-J(YOm9I(JA*;2=ZWBl0oC)E?qdMz!%%7<3qnZ%EstmG zzQo|CJ3m6OPy(cLko~8_g^B>&0MAu$v1$NM!t*fPNJ{v@=2p&wk%0X4nxx425S;JA ziJb4@`5LZ}a;i%*CKEZ-L9Xg%X@bO>oAbQ4|tJuUW?_T&?6v~ zo(yBa#hwK)0iLmN?jAM(M|Y94Ex;D972za071?Cb%&+N!_LZH2&n)#9TfB9)QtVU$ zq{Ta5GVE?|^ijXwC#ZF%Do1tSieHB&l!}sQS8F$iCu(8 zW(}qRaPICl9EZ)3RTiMFehUr#C0JE^x%P{;@EZ=Anqu9NOh1+8cfM!eCP3(k4!GE4 z0G;q$0w+U&@ivH#pe{TYV8xyzJW zUFTLefONDaF~@DsrrZ~7;@RayKC}Qi#v)S76AFw-eEUo5%t!Bx^qT3()~A(x}AdR02liP zz%Y1*z|}C&zdR}2QvWz9+*3i^7p{W1LI#nV6Sh5ut_1q?kkp(dV4F`?;-u!_v#lnJ zZOwsloKtw+&9+=gycnaeP(4WJA^cfzp(X%-fagZI*bo4JfoB`so|MoVG3YOo4diNI zxC&wl$=7v1JX!#)hRoRh0Gv}X$)K3S05k%qgNw}rFbtj{1eOEX2cGc+P6jX?p8epu zo(*6$r0qdz=Kxp+dESC5O|B)wa9un=95-F2sugCPDAL z;M_|sj|}dvwg9V}8p|G?B?9Be6S^au((bKIxXnWLdAkQuwgYGK5Y3M(~c z<2Db>_%=o4BuGn{-P@Ge?oF9Z+)y(Fgc?c=U+DEXW(H;>IK=(iP>?k1NYy7!~@i4v(w4&_B#=xQ?i4$dJ&(H1rK!7DKPuI8uQ}2Ooxy#cv?jQkHt18YCJKP%gRYuF> zHEwN^ek=u1cAe-`ZLW5qYH21F$7>iR^%i)93Ntx^q?Urj@ftE!dT>I84urL$a|><( zy6U4^bl)-8okT_ZrBJ0)iE}`}0U6{|ES+~L{jjQeiT)u#14rT!FFXq&{-;khhq&q% zFLw^XUx=%2@hZ8YfB3>gVe~z~E+@~4q8Jl~4hY37Q5=5-{#N%em?BY9MD5z#?RX}# zaR!-aKE&`9ypqa@3T^ETYN>M#P~j+Yr{O2~MudKVgyjBZ<-p{{@F<=MzR=mkPAl(4 z#NmiA^dwd;lC!Huk*zPWj}Utwv4?k^LPUb$`r(nhpllA=SWb&4fg?14((Wodo`_H2 z4}SsW!w{gtEO=oKqQk>L4Ufe`?3dc-K6r~hguFn}#%8SF6qON`(k{<0aYAJAM@1T|60sXpVR+8i_3?N(ZD<6UYjS1Q(>Ktj26)rdvRnLMm zAdhYE;T8nuDNAuhH>5vN`BjcCzAr#g;TK4ENUw;7YFvb$_X(ZuBis(F`T~9 ze6;0!6W~+fZAf>RMhzG9@d+Q*cto<$ER%9F6m$#&T?A}k4IiiDp(3*pbtYyQF8?`0 z;B2xow2DkYPGGDwB^2t=4 zAuky#(AfMk<2FqH@+vdk(I%6z_2-PL+gWHLobtpu=z17g2YGmMK_qrj`A1^zj!lQLv7@YT4;~2L{rA)UOXy)6id>0e&<5nL#$YlJ{4w>%6}d9N$)N6 zw@4QzR%esc{C~mJ>Ai&hwMSR^=hma|8!d6A(E|hu`Pc}dI68^24Maxfp*&>%9gu7s zN`_st@f0%r%P`FTIfFkN=b;2=7MikkMvj%K+F^KAT}7^WPWW<c)Mk4^!Jjf)uWXeW<4=kp`ch4C2M$sZ|WM^%WdL!eY9BnIk^j?PzBq`V8R z2?Q0M1yNysBCPc~fRo6aGqee|3LMyFK-8(~popADE_tvDDe15yeaSG~7~?!LNJW$A zq-Ir*rBd~QFt>{WtbnSz7wS||PaVF8C_Yq}O?2dA%9)eYRq+ zVCn;j0ZC+}C+bV8A=r)9{DAz-K$ZUzifYj}5<>`;*)(WUm*#+s+o+iKY_Oi@svv^| zi=090PB2;7pJ-;Ks(y+2^QluYCWnf&Q9!=oJj_EI3sxLU_J@xlmJbzX|I}DWO&@o< zP-NtCCi5K~C%u!5qE-#RU*F&1i@(i1@xX73Jh`Ow07gaKkDh%T7<#inpL&{7E8vnJ zA`_ygh&ttD<6`D#zcN)KE%AF8%EGM>UkPpi7lT(TTr zlrCVef?JeUj=IvS(Z#AU6-xA&qeeJ+6f+4TCcr6Yt>ya;5zYe-PRH|VdFMQf=PMfP zbNJi^I=t+{@#44}JUmKc!t&5PG*YqcR>aKih^Xc`G@f^8TIl)i#zIrfA1w5J5~<_} z@eVzL7Mcgu4uwl{pm>L#N^9H%_;R@T6!6`n)69U+0KZS%^(Zy>=_G4R!EaG(;Ns^a zr?%)cE6FgxgW<9Vf$wRZWPJPrdqJP>Si|jM^w1N~F>I3~*1`RNpNare;DUPtI24{4 z1b79&e0b)`OYV2lTVJa*-trJeR5ojr<}KU$ca_> z@UdEd*^#kV3>72Y2BWvCnr|C0+mN!<+RbF%IVku1VTlZtsyl1La@|1xX~?K$aLF%` z_sjKAman$}KTBK-YSD5%fmNda8K_-w$(h1;ILq8>z>A5y4rOk+K91eSbAbN{mksyE zo6}lmOV0WmSH+(P&l+7w`L$=F5rd201D>@yLHUaTA4S{-@SS3C8vy@~xQXC9RVTMX z-{$~7LELY8L3v%oe(`I-AH!u|0^cP%ItTKk)-Rd2P+jT4SFeh*rMT9}u00EFK3seZ zn#SvNihXJe;C{r-fezOj++@J}!1bhU{{qi8IH?#Lt!)FNP%%!{H>FYhSup}c#7auFIKEdThF!UfdKh!(xLK<6;=oKt_;sw)&x&40uEhr&y&0I0|w4Sm1KhCLXk6sg?V^Sb4nL@|82* zvT<~DvX8A@4`Fp3CcMg7;A7*V8&4YEBqbZK_m8Z*Bzmmsipcm4 z1LgeHa&ugFK#p5E+b#Y*;E%ONFqzx*hn~9X@>QISWW15av#t zROZ*g-`rKmb^JEl>QE*aETTFev2Jm{~ zSWjE@_%9GLd=6F-h-1BP(X&{e#{<_2C-uHXFK2x|9qXWsW-gwo z_AvG2Z-750AM5X4rjC6J_)9ox3-&p5(+v9m>Mb{;V9-)rXNzO7I6nm+oEnsYh6JRDhhrmgNEv_}j)1Sh; zqxGp+4wDLdG8k6DNgcZoo^uJXj%|eJ8n{Hc4Z75;V^^+_I%X~glY8}o>mOf%iAlk; zP`JsmJKrLvahi*d!4H9d0J83-@HYUw2G2IQ(PS#w4h+8Fx}xL<@vK`_;$l|ktbb=k zNuhYQuara_|(027g3j~sx$;8d@h8_@wYSc`g|4kJrd>FCv%a@O7prdF`;4p;Yr zFNEWTKq}W|9|iIl1YZEx^lu-B&O^*iC1)_wu1MG#Fq{MzECz56JZBMz0k|5TE8!BiTH%~# zLxa%z%`48w*L1Mm>@9FeBL~h0E$69zPN?K~xyLE&pAa>~1lM0LWr+iowKj7&1OAI4 zb0gZh(BdBe{-+#XMv~iCGSW7c@bZ&$ZZ?g)rjs|<;U@(rVs+9LNcaNH&55u#C0Q34ec%FeX;d|Kdfo=%DQ2)^j{}*t)!XOO)cX&P{!0_M0^DSJWj}2;j zsKCl3Rg+fRt2OKpJ+{DL#IQ*J$BQ9(E}9iMi6IM5F#*QV6`pE1TsC8?1>5Ly45euS zZ&ava_gni(|M!dqr2l){0-UKI>zo!l z`aen=V%Zq!>pQXiyytswrE+ev{9L@qpn1rN^?JTHR!Gk$jncFb8lv-q%6Z3z;_V%y z{Gn39V73HJ|0iWoIY0W;Kgu6Mw@S%IB)nnNnPT&kUEWDKKIOP}L`3{0JMgi=7B9V= zbZ~6drGw-5yiK3Sc2iIpqW1g`nt$%==o++sgZGJ}4SEmw!Ed8`8O+YA&jwWbQk~)I zQJ-S?%d|}Q#w@`%pv!e3*MItOx>%u;lwo4&3!e;=OH_Renu9G-?X97HcsIO5>w;VVJ!7c!J7F;>^6CRS~d$i~) zhw$yeECfcKEq9xU3OPx8UFK+85a4dO!Zi^6Mv{~0PXNA2)HSfdhcaucI1eD*qX_u9 zOxi{O90FIlTz$=n-9hkAC48LvhVZfQFM=!I3fuf-XTr~~?7>&ml<7k+0C_!J9cy1h zmC;Rmo^D7Ie~(8`#kQ`r71x6KYB;Hhx52ZS0Bhp?@Z1Y$+KS`4SXuYMcyYbe3;zT- zwlWCYiWlK|fdIq*6`r@@O!(_;_`p*LpU@HP^h*4H2ghd&!tme2^Bn<(kDQN1ayV5t z9mdaA+xR`t5uot*r{qJFbt-rYz?}ydJOMy0Je33%0N4|r5pd1t0hnk-!S3?A3E^wc z2VoXCro;8U48UKYXUXO8IP0HYnK<5t;o=kPDnClzE)&y9Ts%OM>MaM?pbQ6s&a*l2 zO+5w&h=v4Kx3essv*<4kUS`p;%PnC!2+kcA;95>)g$d1piQF~oJY%Vxa1Rx#Z>s&i zC2}cn+D<{a)bWj_aw5LaQkMarv6)1X=UKezbaHd}Iv>kjhK1uaDwX5e*YZ37F(2o| z?=ToeVpP9*B}esaJr~*lTmj8uvlM1>)<2JK&Fe(cayK_JyT!ak5vHq{N0p^Sq;VfxV*6aQiM8r%y55)W~z(uijv)1r{Z&B-&&T zBT0&y=0+)g#7{SPYm=ytvdo59iL~TdJZ*Be#jgOq)Z%HAYb~BOsj+z4}RXkgZoC7SLw(V;0IoqD%qYdAMcCV$;wo7)R{de0c=UJb` zbvuPZZ|aly*iN+nm&CZ8;n6;CnNYl{)ahdJOxO22NmH@mmS+0bhme2lZls&TbrLT8 z^~ZO`Y=(VZb-BsmhjS}JcVJPZ^fvUq8~brv`FgZz=fah8adG1q_I0HfpmBvObzq+w@t9u5*oC+tc?zQk-PJpfMGw^JM zlUDa`8@xNx!e1G}k7cVXt?i{dTHD)KCEl>SUTbUGAa5}cffMU3hu7M!0#f=3x55}h zd!D@*8Gg4%KlL>J7&?7OCD~7W3(uDXsB!EbJQ9ihU49)W_ht)iYH4Y5#o#i$`EDRCkEDFE*E-?oN%1a;~zW*k_$%LSZloC7t_xaouR;$-TwU@n4q4WIgJI zV$z(T9g30irlCl~)ZgN%T?2~SjuiiQ?YIi$ns28+f4#|Q^4#hcM` zZhRQAb$~42do0zt(H=*Hjh2N&$nKc7m~ucCuNUCVm2zc3IMlK)2K)G*vs2=pmWAV> zS(b&Pnh8Gqi5AZiI@RJi3Oe87IodhI;+eTO<)Tu~YM-1(eDY88;otDdU+0tmwNL&< zKKY48FXbw6oeytog{q$ohEZ%*Hd`u&5%SZW?6UXbd{>X^#tE;Ux;IAzdem?>Gq@sr z+|4X#gQcKpF8yULBYkiK2LqYgh1kMrd1fu9n|korFCe*J|2b-?Y^e4de-GJrleYyy znJ|nYdL%X11pDK7axW=J{rdA9R8t<`QNcANd=RoWIk|B(dly=wk$JA0@znlYW@byb?pLdER3h&x( zLekCam)g8}sm+_0+PrzGeQ#dkCUYzcC~dCKDfGR0X>Tvr=FLllnFej;?MWwFFbQFb z*5V;=Pda6VN7FA$elM4dra<$?q&9C%7Ngl#Ps0iAC)}CZ7wmcW1A`Nf_C2k52aw^! zEJ3ce$iz87wla8gld1Xz@bjlT7Xy*x4nb=*8Qwqx@iJVNYcjfZ0LlLX{0*Gko!UC` zDzGIk!k`MSbhH(?9DGr zRHK`yaTsvZ;qs_Xqp0&6fG5DgLYE`Alf8{XyIF;*qrZrDlYtw3+>jF{5purQO1#vaYAyAivy;6R<;e>UlVpl%Cwwu*@7E-9oL!#v{ zYfVpitEGqjxt1Q~=URG{owR%z8orp*vUXo;=_d7a(1+O`FE9mwIg}9NM#4v_WIl^G ze|0Q&9oE2)8XVG;f4XFI{(1asufGC+A0U!9;T(<(8yM_(8_d%brSlZD1$^;A#TYV1 zDM9kbFGfX!3)~K1*Kol*fb0fp4P3Ve0GtE^1|NiHG%zFJf=>cC44#AG@DtO1VB>EU z6lNZ#Ti{bASK^kSY}^6$CyNwwBzwx zxGW)!t7p+Ygsv<*0#MYxicbGN?jY9FsC^Zks2JZtN1SX-E9ozlm!-q*=kSO4t~9Oz zqi7Z4yVBuw9*dESfbRZirU~<02)dZ^uPS&6II)0*}0kdyx{OtPb(YU|gj134}GO81)-W ze}GhZsMu?OSvjEu;^GEj;k<}qyW~TcIP#4+^L+JhjAWQh_W@!j&y74+DpgS+xH%j7I7+B-o z(i0GGFcd~A8 zLJ;Ss4*)LH<6erct{+VX!1aHF1@Nn`FEgIj`oB^HWU0xIfyqsePk)Sfd-B4DeWF)^ z(i7&~H_}eu(*FI_METZl&!vL~s7VP{TNPamS?S3R^)3At{zSUH9C<6YPwyxEN~&>s z{|to(Rq1I^wNaNI3AXNX;d7Z(a248AjRciv{|>=!s1~~EiWFnXbYFU?(v^h_kqtGo zoK%^jp<;ts07}5yth=&=u>j~=p{me0SU}g6urj)#lPIuWfJ|r!g)|6Ys=V$dN>qo= zXBbnmQNHFuWQ^&rdJW6bnd5clYUJ;iz?vG&xBmlQg080g0V4BX48!j4E{iq(oaK`C(LKU-Cyjj?qK$d?!mZGhDSFnMM~~pQPbZ zlLjDvPZU-6B8Mor!$(lXzJ}^m-(^v@ZVaSYN{%8cJ+_oQ2kWQjiNn%49_>m79!aPJlQxQ^pdpvodh#J2Wzp8q=2=QKNQa@8@jJ)a0 z0mwOL;W!pFPK3=*cQUgQXfd`r^=vU7#i;BdxX4+Svk)7yI~GZzKVgBrFGM}yNaPvI zbx2O$GIR{1AnyT(;`G!6nwSTizEu8A$bAiN$Uo5EJ>cw4Rz0cVtDcyPTRB>#p#Gnn z{9vLNwrs)tHC!+NpzIQ*3gNntqq-QFsSG*ThD5#tub-(XC$j_}4DNvpK}wt<+5qhV zC%+hTr7VTQeYZ)>_Pvd9uyrIq-Fbse%-uFIs_crcSe-HKt1bK79D8q!M`+8NoUTm# ze8hA(+)&QcHaRk246HvQ!-b2@PLh@Ke2~wDbMCXk{)}*4AciYa>yO}yVqX>h%o4xF zdWmZK1{!a0S}kr^F7~Tz>>Hd0#(o{dZh*_X8ntqR(~sn>fd53?7-ZoFXDo5=0)7i_ z$R`7dJBTZ66=pF=oGhDZoF!xCC4Kwf?)nt8bJEGz9rRO843 z3$Wp5UM_>U@Cg?AZ|JHDK85gc7!10M@lZ#GwDl0w1+L&n5P3}k=KhB{`R(8s5A-O; z^Qe`=PD@oxf@Qw7m>oW}a`Kz&L_dU-;6dOz7J-+-H8RM*b3r^`FB@cLQn*h6=Nd*A z9Ak{cWQCJ{px6&|@d1%;K7fq}Q?H!A**Mw4IY>B*13&P}rS`}TZ6=y9h(3Z83NOQC zLuua=45RE;AMMCi%l2Cg4sxH~!+06V9A6~3S_m&Xy=ST8ka1@ls@Xhq zd7~Aqo4BSOI`sIrt5zQz)m z`{BF&z!pF7gfG04H+F|@Z`>uSUor4*#=u$6z|JI}tbhLBWSwbbJ-^9jmh+HL*655e z0S!$P{EA*y|TXYbGAzgerLm4>snqY=bNA*b&4ym1_DH z{g&%&;cOniCv8!~!6=LY*f+aQFLo7|p=mo0F7Jgh^6$=Z)r){1hueMc(I(i5A_Hq_ zX#L%B5S%srLhLfsJ-C9QXr+6Ch*rAHDf$xZ-GJ^ww>L=AO;kD!>?ZaGvJI}Ge-pkw zV$$h?tbwwSR}2?9;uo}ofpVRUHPHSP+XLF@m=oo_W97^-lY$RyVbjX< zd9kIOP#Madq@WqGH8IA2TXw%aqR!nn?Z^^tKThVU6eB-mlZ=G|>+>v>c0%(#`E8Ir zhVrX^(Lx_v`Br9QPNwJcWac}ehdr4ckT;z&NB*MB#+=oq9C)S-sGDG*flf%$y&U0} z!Hr(KtEG{?vb7jp{V|YXmArCW|>P2hNGM8p)i`p8zIQC%ywCmlRfv+(9FL0P6o~7I&mk zM1`@wHf;7X^+Whi%! zAGpX5Z14e*jXnTvksZoCVe{%IbZgIY^$`@egZAsIoKGx~Yat(6;xX7MFZQyb58g5c z-W%0By)A+BgksE<*ygn=XPiZIp0Jysc}PL}v)nYn>99;(4r(`Hoz@X`%2{Cv%!Gwj zsJv7J4IlK;&a^Z(vdo~zElo1$ISVj@9A$Hhy(~}Vcuh0=G`v&kmBpP#smiIbp*WBE z2BC7P9$^X0jU-AsZHQ*knPKr%yt~0m4?yLXTbhjiR{H>_!sZi|JIjVL$^Gxj$q@P* zyzz+_KAXMvA>7+a5(5mdfEZx5FOGlgq}i{;@q~%P&BgHtD@kUw(wnnBOK+Z3m8|#E zu0uj}HV|Hbjz@QXSZ%uRY@mj1Mf3`#{(&N$HxKnS8|dDSDsnM!$G}PR@Gbapx1((y z+$X?R8z_7XY?%$1CS8e^q7F5yo54K;+#lfFQ~RNjHn`&7gBQ+ynN31K7D=Z99zoo9 zebLw&+?{}LA?`hdoo{d-0Dg_Q3kIPdHn?gm5LLj*^#4SI+XHYbT)_=URe$M*8r6jXYts!ve|EA+)?F zh~+hW6ywo%ARfE&#s>lUHYB|Xci>0>PeG;lD0sdA=5x5_I?R(>ZQa&6ABwg7zSeoc zCUE=+)*s-iTLA3AFw<-pRC)P*R8GEH(s`7+@91CPiSGeq@*1cB*Z34>tezAn=fluk zexDTuzXU@CILqLI9|GtNPfr4`1K1s&p>UBSttMPFMRm9D{J5=F5MERts>NT2I(aip zM<#i(E8w=WbzcFMyIY>iFmHcUc%zAjdXf9dRTgn0x`R?R+y=Uq5k1UB1rYUTM_tc0@y zMN$OP*COxWb`*ifZJ27y`AbD$R~{(>RS;7FCq=;HaFplUr3mx}XHPgO0>k0iodAo# z1bD{5MP9X<{Ffq7JPx_KX^1g&K&?f7)CEE-V58unpv-`XgD7)904Kw<3a$&eYUcuj zGnmV3my755{UqH;)i)!aE8)0jbCPam$qL$+_0qx`I{1S%1?iXShu|lQwWlJefW(&`~}v^oU{B%@HmwI-AbIsxXefSi=oKvN7wrBJduF5 zKZujAVHLT>M*)`lsJ?q5VM_;_9P7d4;ujwSWCv1uAXAGb_;edmn$q;Qb9O z@4`7@TaCDX{3x=S1@Rc*`&c}Cx%UL`>*buid{m7{*av!Rp~_ifsqDHY>_U~U%hTxR zUDq6QVDHEqZJM3?eX=gLvb^5*S7aS$WNr3jMPBr4?bp~W!O~jNaTTdbTDpv1wi#(! zn|Jydg+9sU#UNxTyPlD{J6oHwTTo5lWDYk{%NFrbfDeO9@Ku+QdNiAiivX`9-==B` zKj`le_$=TD;3R{_nhff?3F8Mi$;UB>3!gT&`8aI;f@4*?miZs|?}|A9o7LZFhL#Ey zcB&5jp%L|(gRcD{WeQwmj%CRWx;FDbstme9;Pc1<#e?Yk>CnfNPzuUogq{x89kMA5V5 zo<(oE;rA7;-7J-rcA1sNP$ybE3*E!Jgpz{dneXR??jTc8TD*c1KH17*m2}Sasq^_R zf>q=ZU$p*O@GDX7WukPwC`}1uK1&JASCuSZ!yiSTRHHeTtl*V;be5zeYLzoRrn%0u_4B`QG$kiK_iB} zM&!qIvB>AB44*e-^MSJq_dx2u^0F*-C>2G}>0blsQ?bwS7|?=vzT|wFlrMWx*`irX z)RzO;532!NLH=l8lA*;%O{_t6hb=u^{VhghP2GI;Ssq_0z?kx0JXpf*m~y~SMEuSY zEBT!!N>+!=McVZ%NpB^skRkEYot!1MvCDp?iPi59D3LeAwej`RS4I%E4d8QddqI;| zWodRhpufTG%@n^T?PX>&sxjQ?Iy>-U@k4%N8xslYe=r!Iso;2(1Dc{^4pq;L;tP;P z7<)XkH#l&WIEDz%%ZOA>KM1MUx5+Cv6PrxEy%RkA=}va@;~?R-ft1h_k#>U{2T8XL zqoh3mwZiR9iFb&^=>QLg8*#gpHcVt8O>@*18B@;#^=LTg+6i6fN!;8zr>^t*dAiOU z${3RJ^4z?M9QGtREYkDlieFxxn|HeSX;VG#Qd&^bcA;o8gI!)%j*=J2Ah~M_NnIi% z`L5fLM@v(D{i*BQP<@&4UWx2HR=hQJbJWSQg1{0mNBvGTM`1Y&GG-obm7O`5%Bucj zfgDju|L;IazDARd7)bT&kfc%ax-6x%TPXwiZcw0}3|xRoz6KQn^~D^uC%YkVpuUc; ziY1pLy@7feE~%x(o}HQR}w$S`Z+3AR_?k9d2j4p#ro&8C>V0}6k- zlPj>n>p@zJY&`+4`VRoAAH<`WAzrm1l)5b+DbmUFy#V)s`Bu0tB-ApLgX6VvhI||7 zzrabC;z@ASpTHQ_p)e(|OX+eebcc(4WFyISDZGkIx|A_bLEJWkn~y-XPfH}5SH)k2 zrxhWG!#V%9p*e*g2{w-7P6U2ZUz1qAZo*rkEk1IJ#oM~aaf)hSQ|74=P@f~lh%S*H zXkWxJ0S>?LIvZ35S%E^Ie@Sw%>{m)(o&ueAy0tSdL`G{>kB6e<^PkppmyU;K( z5=|&{^)9r{mPRvOWN0#^yW5A~Z1F3g_!b}jaf@d*Jn6&#)!?1=Z5Zpm;3F`V=zi5q z?}*qezScSv4olz%7h=w(wCnDU?&e6ST6qns7>`1%8)ut6w%+*N^&~Qh=d|$c^`U@W zb2OsAIrre2vkv&<*#g%blnBispEBnSeENBq0-s~22KgiLcp9#lkXEia(Ga$uU}qH#+fT4xL_e3{@Co*- z>E}rYe1d&5{K+SQZ#17^4-_OpjK!A%uL3WUGah9$Zs0hy68Ho=DnBmE-WCIp6d)To zkCc=E)hhWd($W^`5yW3$2`KmkJN+uq8_fwm!A`&p@VtZf33mB3oBaZN;1QVK`vSXM z>PYGl;4>GUYiS0$Z5GcCo$+ zJPQmyz)tJCflbu__N$o*Tqe+)iQHduEUS`?aCKz*$tXR6ELEIgt$!Sq=&;teA7E$3 zW&-vD>=d01*blIiQf=ayUBYBHns^SEc$x#B(wIkxZY_a!X4xE}wANyXa#Z0MVA=xP zkQjV_{cHrE7&rtP;rr|3Kv@_#gTMkw&2p8LVxkCov2>*E2q zfewhl_t&XrCh#nt`2M=l*?xbWKy`o{UHJYwfyMxjmEim9_XB7S@K_1Hzs{t!1bD0j z-(TMkqFVzU3{xkRwg8Wn;QQ-j8z11Y5`2H1z{CKLmEim91lj{UR)X)Z6PTt#w0DRl zJAA9gM96%9eGrcgoyAm*Lew}mG!cF!We>-OnDuVJ9vh;Vj0)TDuOAG)ust@!<|t{8 z4WXq{0eftSe!RC_1i?j;S~p;i4KeAN0Qwvr8zPVma3qB9uQST(fIT);1ObgIMEwfr zmlAJ_eF$(kiaf^m*Bjsu^~9rKkjJIM&(fCpNva*X7!pc&q$V^L3?)485}E`b8c3d6 z!G~ezgDqB=x&X*jA-GjaPOGHkv`R`&tEA3@-GV7|S|z*zmW-7ae z+x7k|7M*}EByLkR*EL45UA_gtW4FDS&m)@{32W#Q#ehRQHOs4{tB*QFE5Sq za`rT6$`2CnV={jGWRs6+Na0U+J^@XUIs14SuhM@&mF#EoaCB@Ld4M!?PT&j$E;S0`pryC&BS0IkZpvSl#u7V93+a-Jw`81Hy~o zc^WQyu;sWJ8QuUYYKu&tBS%{TYqCjpJ4BTDj8U8v=&6YiO2_dgGUgr}0;82cgWfuHU?3n_wKp6W%r z+>D5?fvabQd0y(v^8lZOYvA#M%fO7U)!0SHCN>qr#~Vv)&jS|uy`C(AR~n1$2>*9D zX)Jz#=X(NdEFyOyGvHM8<#9$1oBI9;h)kEgP2EpLn{6EI7f#%XCQE9bKC+7UwB6yv zu4lk~S>F7Sk6clw3QtE?v15S9pMwVzB?J1TDxx*I{c8}K6XtZ|B6VLM+9knqqVF5c zg3^Tz@dHvE`tWGvgEGWY-Ik+D-o~6osM~t%2zA@=T&O!Flp4klnd@u9x)R(*^firS zQic4Y`2}0{HKv#W41c=wcrZ#?y+HV?V6l9-;qQ5zprd?X-8L^_OFoNDUZn+CR8%Fu z)xJjho`p8tIFZj72Br`LN9=1_+0nN{`gpi{Cj3u11oIsxYTh47pY7rDra*`v_YUqw!`I1W0zd>XN4Fo0#EyPl2+5@TT~ zy{vl^qU}N*k2Rz2!uOFm3zQWBtH@7x@^dCNi_`)s<$7w(+&S~qg8m~x#adlqCwk>s zSMFo1J}DRIBLqU#nAMw^c`fw4oH~DC`8e_so1+Y(FiGL-umu%`r~(>K3#0#NWQR1Z z=TeC6vq&9KOkt{!UxA;z+KPfnx*+DsxqSWkgkmA1!(*joYdYXP@>LqTYIDE%OntM+%<^TSL5>XEsX^y zug(G-)iw9_QC>Bnq)&<*ZV9ZUJ48tZ^`iWF1>IdL=#`s|CbmLSPpObGRm9X(=Jmoz zP%^*67U+F)$>j&mU*=khBag_B4Ra@Z1Eay0Ro^Y$G=*C*yOf&%(SFOb;>?%kgLM z{0**}rt511>4_-j$A?~J2oC4J1;f{H(pIZ`F@qz(wmJ?V3Ktn^gYM_G)ol07i~P%= zLZrK;vo5f_6WNu8zuH!W9d>4OFN2*f5L^J)Jk;{A*J?5mNUPG;W(hk6J5%w}Ff;uK zxbEJF}9^~H&HZgv8CIsUGC5u99K44L)Cgjru4 z>=sISF$;zXv#?mOF9IaYVq(H~Csnwiq>U7_h8W@+Vz{w_%q_nAslq*q4c}+|B$};hPhrS|wRTuihALCK@7KNEr&H^GrJhu^k zq2wU?|B8^2SpH-17bw&$B=28z4w~6=bY&?XKE&8&ZM_V4=FP#1V}PT zAe4legdPY@1z|!@CQL$+>y?C#h6M0l3lInhmINV63tUt{45+B60Y$NaUPUaw_x;vd zd+&431ohtg{QvVj=gi)#e(PIbU*#|=fX*dQ%JLJCTrvv}Lp(hWRa4oz-?QpcluHj3 z@Ee~6mNurIq%{@%4PU9JwQOSx9z{m#nUamn2)G=P+E>fAF7Yx8S&kiS!Gmi* zAjWj@wMh4Z^?WIjm!jZhzLd&KDyW-*moj-N3#Rj>TwbbzPw=HeUTTBqS*KE78iUtB zIHgtcGBEf9bE@T~CAfhv4P`|AsGyV$G**5X&`k6)&tnkbZ;(;Tgm5LE#&H75YAbdk zp-SQ|RT6iplDJEi#9gXxM7^Ra6L-;!yOcGnEAUT#8nkS1&0ge>A5}InJqQR2mO+A* zP0FxEFX#fhmQAkz3SLsdL?FFvN}Bkn3JzcdWmDy)Huy8(ESn}Tjlq13plo_IVQlgA z-}rWjdJ1m?ds%E&1G~}ZGI(LmHo|yvA<<=2t5xG2j)f7zHnTilEjD20(jMPEV7TQ^DJy z!pcMBr7GZ$>Qv5a%GvTVG58#Kr?OpMW(4;zr$b)m z1vj&SdGfL-7|W*T%ggfMsY<*YDlc8ZFuojC-v&5O39@YMh}tQ5IV;%CP8SK(=LhY~ zSu8I-K_lyQmfnvcToRnfoMkmf;bmiR6C`Klk(H<6r7t*z;2f2jfz~z!UjaTUkFH#V zmurK8Y@oY*H;Qcu-sH>b2L3+JZ9zSYozQdwUhWM3n+=>O;CwEiPOLmh;-I^NxqLaf zqzw&xId~Vctnw6rZEvuH;GC8^6%9OzSUZ}lDsJM`wO_#2##Rig1Y*L`$Pbw;d`qb8 zY=>Dq5Bn)#3YYOIgBHT$@gxNqnU#VWPhX5_ub$R84UL4H=Gyi68aRQew^YdUw_5Rh zt9hOc(kMG#p2J62`d)l>2Pj$D{3!27m{?Vp z;af}H_xW#L-E}OovFb@olwb7(h80x(7jlZKHX$YDHOjqJnba&a9!$pQGZkeNk7yi{ zHB(vr5}s3@=IueXgKHiJ12&Ff{n{a?u*wEx*JdkO9jwCNv#(uW^Es57Q&syTeJhfO zp9ePmafv)mgUb6!>1UaG2ei&lOTWZ=Dat%13f6FW5bHBX-iy5ydws^eE3dJ3B*t0$ zgC8R)m#5e6Wmw|25zG=6)Y7FZ56$H1a zIWrOx(XS)ispfCsrOf0sdKtFeHX1b1Qxyyw&?c0hjTtI>P=00k zo2XHA0SXpgYGA6&vd`dL=^5!wTTZHf~&mt7fXT9>5G5q@f zu3+^nQ>C;tIsc2mX3bGU$0Iqs7>!Ig4KUQ7?z8MNmi;Ln1Q4(M6=v;`X4bf7yz)1I z&W1?>%4VkaVN?RI)EexSmk$NOzbyqA;VdE-c;zF&5{;)>ssRQPTPCK2c*P>|AE)G!8Les%J^s@lX&-j{|EhjJu zr!bWKgBksE*s2RQgU?Z97!iLu1l$Su47m{Tl19Ijn7$G3*WlAcr3UMsO6{9?f0Aj` zdV_t@dVj+E@0r$u23t(sx;-FBd?r2!iMJZP4LReZ-blZa?H-2odH4+BozHD1tsCzv z@M&5EaW=uEeF*Po;nVWMi3a|+%|CAn?3<>6=L`$8t(4*=*xm`mVO9bUye+Z2cY zelj<$PQ1dRw&M6ip%#!u)I?g{?eI}?r7c8s9A*j;Bw%EQgNq!Vdr1B5YmTA_Fi#s zqWAAbg}ed(WheVT2B6()u8h5i?UjQ24@b=R02sc8{PSXVCx~(kU>Jr^%@d&L7iW@A z7vgmRleQ!2rNLy-6Y$!_q=#FPG?hu~@cLmU{Q>rd;4n2VqkK;1}I|W~_r8vW`))VU$VEIWErQyrSdJ%O(cCC1?+@GZc@T)q&#Q}J*jKE;pb!dL3{#b3x@b36_| z?zr9?XbzG%fJ=LkW|9UXOrBN)9pM{bUUk6C1~9*_eAxkW9lE=g{S#St;o(z!Au!*@ z!?*A$e)|J~DFfF2F*L0)8u9y`Ct~hp3ah&96s`bN?`BR0y$Oo`f`0!@KnPX!<4|n) zqzP5=R9nSP-TwqNV`5;$4ir#U*>?Ri0Lpur4D2oeWjuNwi;sXZ4-a$rLQt0CVG%yX zy&nXUp{JQ{a^h(ky3zglyz>L01x-#Q~X8S&KFS^?2wDo|APVGH%m{% zuN!q!AV8NsguY*~T?Xy}@?ZYSeLac-=Xn%*6~OH$w0rULGd#ROXn$g>K5d}23gsfy zuK2MPoo_*!9FA5Z-o`3Q#jkB9SA9=1nG`@?g|-Avv+iTImZ&v%dyMaRsp1#5Z<>gA z*`nxqz=u~ELKZPD-W27;lvx1k@0H%j&&~uaPl*BM{}36a6z2X@lPJx-h4(_-`Fkt* z^4pcB9fu8n+ahj(@OOz>=5zDCsk>_=ikP&RxD|3u`NtP3jh3V^rULO z3n}}VQB(qd01khHPkjfHJ|~j7YAJo@Y~NXC`o-QCASZ^B^N)>@!uZ$MKGUAX*&A1kK~BVNN=AnSgO7N zFx)iHwg(L=fBrT`78_XUrg5ypo^L{XTPE6)ktMV3B$O1DxuuOI2kwO_jt@?H0f`@P zDQNjxwoC+ne7tLUA*TJBs)8{+#FCuSYlab4!Y~{P?~;ux4Bj|U{`uQzMhCewKL zMvmYVu56Mn+MvlwA0E$yS)8l!RsQjshUC-Vh>v(P#WL`hw~VsGI}&yH zSAp`ar{ehEm3XM^X+jvumhfK!lyl^F57Jj5-5W){ey+>?33BI^r>WD^R0N^`umfSQ z4f?tc(D;I3SG&f)YjgdbsD60W5lBxou3Y0^Mef4F#&O>rh9ewIa0P|qy^xN1NH4m2 z5b#lVzGe5%Mrd3N@M~TIkaf+RrpbHZ7~@mJJ(6{knY#?H3-CEguF$WWOO$TH`^ETV zPerQ@B}bwdMAGH;v}hW|ta=Q&U&g1t3niK)=>T58htG1Z-k*mmX|?Ms29SxoC}wyg zP6*U%!V(49izlNYqE{FnZ$<(`W^|x!!@mXH4sMh#zk?pW&0eCJEuNFx zm6oogBR{tz`-+YZagy2dj`<4&>xs6Bz&#*M{``^p4B$mIK~nr2-M)#BD#y#ac=#PY z)=YAc-UUd9*1p3kM9|+*;xG6lpiQ6POUo892ZMIRg$S(x{Dg+DzH+lw{k=xn3l@pC z^G%cBnR_iD^t)$cj)8jf3t0G#aa`NtCS2CvmRcmp_K1=gO zeKOh<_2dO!>Ngk&2}!6O!6asmyadKr(CX9ZRrC={i$Rn@Ya6>ekv*luvu zQTU8~6436(XQke*hF|E7t)Gct8b03ruz$Ip^{d0dg|eRYGNOuH&w9bSgROYx-`F3a zr+@rgD)#qN2ATCK`loj>&gDFK1f=+b0 z=5mx8(x^+*-^YV&z%8r33y)_1ZF%Vhcr@E@E7DzfuJVew`&L(~op>waj$2(l@LfE& z$nIO6N%3|)*?wD_k&E_Z_ibI-HPR9{-`2~s*?Zd{&t~gwqx5EW-Zqsn6f?@JBwSfO zYl0$Qh|%L6zcs@ZvRYoNd~d+a%~2`#<+U=v7$U%Ut4sH4&2Ci|zK@AgZYVF~_CFcE zz6MG7tC4RcZTl?}>dx{$IhhZznz=vtle1YHF4_Yvcv(is{G+|fpCPfB7c_6tMAH`A z))9E-pTF&7P&eAzGQzgSz0O;v-Nn4)N~uG(ER=?i9(I$h+b%VM^0U3I)r52!sBjV~ z5%&Bf-0>kjdA9T>TiW0DH}n*q<@F9_Pe-Ht;rN8-t?Ti6r*c9*f!98Ks;6Qu-U>jm zr_O?+s$}<1ApLQC%BS0AuL29ciZaUVy{f;`rYjrFYB(oR&=&HFd7Jim0^Y{c&?EkO z<(r6LivaJuVFd3r^z{-x0^WJk2wwRU=nbFYqXC|PcA{6&PfB%i|2q*V6Ap8+gWY}@vJ4zazayqN_C zkbYf8z>IU#&7VeE#eMktE2{nhpK*`iH2TDCr#w1URtBc>suWL7mCJLZ;=!p3 zd2aD)Q|=eX?0GQ?c?}`|9I9z)v!2^a^rwRgzP-t0HYs0T_@O~y#i}#RPzW~v{B1o* zDB?!Sg>8I%99Ve-pVISAJI7llpuUaQH}PqhXe&Dho*JNxC%BHPWQRphgXi#RoNdc} zi9Hk_nRp8vrIsUB;)S0gXTNTd?0C)Jwj1rH2+~ACD#{uy?Hd0s2 zg7a+atMSY~f7>@)>viMV`k`oL20jCpfPd-13jUe}FJ~kDOnjQ#KxpUKmedLq^oOL= zJl=O9a?isjy$CN?;b9YB=HlfOc=$Lzl@~Y&kQi`L0#Fp+U=v9J0GoUKDvpCaS6oM! zJey0ajDLtHpmGsut#~{!_enH-6Fz0cb*hPV9>D8P_ScZ#G&<#t2i`!tfsJTUtI=Qy zH?Z-oguB;B&n4Wt#tyteZsSu3|2+%Z+vt)%BUK~@RT1b3Dx%7@&fJ_FubhY}zY9&2j0DVUUO3wTbfp0U zLwpouD4W`A6{qwGmQ2><+TO?VQJ$4z9} zP3ZS>d<5ii3kdRO@On2s{;6J@!1p*_zQlynyfz+T@($qTH72aV&uuax{VZPiIUSo3 znJ^JABbac8*Ve#`79I8!qsj}co{FxGvREn zZ737o!^`iOaE{kDf(b2_DDki3&;>zEx1d%;y6o3@6iTcCM-Cm*Y1KW|ht^omsj# zGXoMWSnLIj8{i`;?M=!A4PQDGBDY9;i!)%_oWf8b;Ua&%-;12$O0P7VVwu#`xLUeC z(KtvU@Hhute?Wqs3qfL_Z?i_9z^3UG3KtcV+!zz6Kq7~)c5$bvjB zi5rZP8EUEwc6^%!abDwPlF;U0#*U2$d2YH(kI$yr@k9d>AMu+#AWDEanGXo`w0U!Z z{Et)+bpvK+LEBTS{oxgvQZ=M`$clz)zY0T{2I>Tcr`y?0Vb{kYf}R;8P+=yi<`Cr1 z%J`N#h0JCH^{He+dk$5B{5y*LIi;mw97AdZaE?rh1`?8C94@nMi($ulsnFHJ2;1O;QgRlQ zZ;VW!#dm@LUR)#ylwsL{1n}>O1L#bMJ{k!5w8` zCxOO09&d}tAt4b&6isk2n8uBgni!MstZb9Wf=Nz7*@0RKH93|#Qz(q58pK)Jg}ksr z*T_22RMVZ*Jp??TEiTO#CAogaVsE3Lq1K#9W`QV?S&JH+?ce}P%ZPCf$nkNzLq>8i z9r==SPQEyv3!p(5u{fR=CsYQQPdnXI@nuN@jj@Vc8dF*} zmW0b(tTw4*d6J^YCu@HihOJ%Y$VqgrJ zFdv^_Cor4Ab5~MK=Tbv=30ML81l19Kv1DY>2l84StHKi^?uaG$iDCc&u#=J%ai@_H z`lm#&pg~Tgkxi$PW@&<)mfIv`6dVXzPIgvKk2&n13c@IZBH^fnGSE(OSd)>cDHbk{ zm?RbHfwa`lmdC=pBt|rK4TfVZz%pm?mB&O7(?CTmn{j3dul!|rua{T#(r9}xrCPsB)r6ZEkGX{W+kko^g^0nT`B&g;f1k%0*y^Cb2l z(2O_O5`)MWXbWM=2<VOxICH4URVRZk0GRhLgjj1cSh_P7YIL6zIkAhCSfr#JXle43o@YQa(*|@+m2L zVPl$>lZj9ndDdowu{QI?G7bi?wm=LHgVh-)Sh0MFm9p6)4ht%lQg#M0>Zr%qy$~SA zpcj2YwKChy1;sgxKFn@=p`7c8)6nq|5jBBolGL;?$`FP!r5EKU<_bip0wShR8AK!~JX`8qxus49F3WAz$hsr* z_3BXvk!eDT4naU+jys%V{BmM&1l;<+5Ne!taf1j7>z#ycFg)7GMxCh^S+%8ka&v&i zy>adHZHDGtz(BTn*Rg@BuY#eT6ZlPF)H*-8c4b1JtkrGjEx{S6K>_Z zbEvZ!SOwXH5jURFy)D_k(ds625E;or6L6#5Sd%m|DHfD)sgrUKZBL2dahS9aO||xm z@USx@rU7??kL*zTV32(Iymm;TteO$as+mSs_2Y$Cl$rpDkbgUc6U<}lK4UP>s+toe zCS*&F|DBXX^90<;FP<;hiC&ZTF*@M*oxQ#wnlVzrVS+VFF*aNli$secQ~e4Fc^nZT z6_YGd3#&*`njqSyE;3fz;$#o7h;v7ogbem^Zcw46)WltI)td>MEQ_TbV-~Q9;{>2J z_WAn}f1J`>w?FdA6XGvd;Nbw8iMyq98LK4OKI}PXACwtxr@umF3B^=iAg}1^=LGj+ zPd|VBM!i%!fm!2ZStgd8way}|i=sb9`_>!Nu0iO+g(wmEb5o^rc(jSdoLC&-JXi`k zVF?)y#GH|#gQ7NMy5lgUi2({R#pZcZ-sPEh&US+lV#2DzA+1RSLB>T`5ngffau|ij z@PrXOLNEcpXQYcwj*4o+-iV@{qaB|oA_swN!FUtSLE+JJk(C=EidFw44dEiPLjP zz$PBz5+RaHj43vQ$V3Rh<(P(n=25ru)~PLIr(Or@%b%!$sO}Z z(TrWrFSOQ-6=x9<(Nxl-&oS9zp=HS=DOrw?F}vlB(m z#})aIA7)~VG!njpBaAtbk(HR?kQ~*5bvQ?(2$GU*t#KF_)kCpau(UADn1jRfeZCPQ zaI*rt_TIEJQ+|rz6G}N}9G<(o8Ut zW@4ZCSZm7tID}H0J;M zgniJEC=#=Iqo5UZoE&XaJc(xUGcUi{iGhKR2?rVbfuSlf0<8Rp?c?4VrB3RYmPo#5 z5e&pyhZ7a8&X^pUGyhoLFijaIGz0+q$6za&IKr?w7djHEXjFta$9xD|3tQ44DzIF} z*xJ&ttd%BNz)^d|xWr$+SR0?9<%E}KY_TLNA}h%T3Y@%{n4GcPr5vn`nAno@YRKWv z&oTmdig2_nsZtbAV+4$*kfp9{4YBUH*i3M~b2}rN0hmP=nEpi`_?kj^c2ek?2-`m! z;7VG+^9p6qe7cQ!UY&6d7DQMA(YaOA!z^`KI)rhADYo{Ki6rHkM8MEOL-brnP1q>T zJ6;_1Vj0Y|(kWDFtrV_C4 zz?E}SBo2f%IDWQ{oE3zKZ;=q2V$*0qzNBroh!OB9dI#o?60`tuMh2zcG0}H7TC2u} zIAPTija`V($%SMzK9;quMlcO^(sP)To;X`bpt-T5KoAwg+C`)T#?b{FKSrp}feN8z zgz~tEi#eX81D9uNAnJ~N9D*)sBwK6t6iv)SwT&Y6A81c<076hPsoPcBj5E-t_2=45 zr>Ob|LdngRk@={Q=dl^pFsnZ zGmv49z7kuM;Lo{Ku^f^$mK4rBoVwT|bvtyH#TMz2#v(nczopsbE<|D0XfYbD(V9JF z;2)Cbu}H|-wR2n!`=ZK%C$_ z!U}*Bow7J7NoEFh9LCAQ$_YhqO2mYocWMdPot?%DwybIP@v!!qm<%zJ57^@u34Uke zTG1w~L9;&073{^aGQkQ*H0_Zoo{ls_EI&(~k|>Mj%K3QZIdcO^TH!=nr4x`pF&uQbNOzQ_L90NW|0x9KY#y4d z(O%G`$tt2C$=1$nwbgTjBTx{|wB(?pT|6{Sqg6Vr%DO_A!N0`XL=;S(Wu zL8NRq9z+z4_)64d?%p(zb&`(VT;;FTB|wVz8x)eTqwd16bj$(=i>}C|INHGhsT`KV z?s`X}*n~#?Ugx+2Zkdtyb~@pj#n>d$8y)*JIrecYa-6c*q5w@hCQe9n@ycMt7&A(I zGG|(Wgb_N4s2Y@;oGlZ{wp&q61aN517_Ic{-xm||%LcQv0}#WY83}ua!yakOo>7AP zsCuR6X2dmbb5T2JIT>LRmk=8H=;5CIT_QgEAIDdo)EPhj_V6SlNh# zyydc7CY~!4=Jb!Th~^~(ph#G^yfi zl4DQD5l%8UxdF+^i7F{*F&l?%BCuqJ+|)+f)uSx{Cgc$9N)-WMVTt`6CnvCY1&n}n zWYs=$xtP-A;7ztr=<2vJn^LIf0DaP3lQgNQkW4P8iJYY%$ zLJ;c7B}Z;TN<_8L3|8)=$sQKbj?iDsp~G`ny`WVW=t<%}X>*T?G;BmGaGQX*1Sp0z z5<(~TFd=wEY?>nD3V^g8=XjwE(C@*-jGF_YEV~_^10~I4{hnL|4N1W~#i2>23qje$ z$ntzOhG}ya&}2^oZlISiRaV(RGK0T|I8w>p78vgWmSIBwSn?Au%IS%mC9lSRX~`=Y z$eBxVIFHKA?DumHl1RYhR6*D{lq@h-RwQg7YOFmZvuK1Lqc@4*-a?~b^CCBF(HZfJ zWynq-f&e=OD~SZNJ5>@0uIa~YPPL_Q0Y;%^mbU^Q8x4Vzme_n`z$;47e7=CooB3jr zLy9DqURp zh-gA1LwckW0ROaR%-3|GQ*hQOmd$I0nl9fwjtp(kP$Y@V1U(|eV>w8giRJ`8UP34( z9JNYksYb+-)TI4yaEqBG-jVC5%1TQvLyEYzq*(7JAvf&T;3%olQIc^5lc&|332la# z&l$~zqXtIpJI1qO-dWSp=tUYiMekfg!{}LZZ?y5<)r3NRHNXa!6)(Z3ufg>KgfI7;@*VA-7vDhQARf70GQiPixmqaX*eOc72ZH; zRDm&C%>E5QZp_bS%_1*xi32TJ{hy2U<$6HNsq&BRFZy>(gNyZ{4}yGbu6=fmFKgAZ zIl~DYaw%<&3xSv#^nqhfm-DR@@gT3 zXe-MJR?H!;{sV{S!t4Q|uA0C7Ti6wJ7cF;-^nxeEndZGGAXo`OJ{y8P#){G20=F4LGSOqqE zyqCqv`iv6+E_Nt1ogWf#wuVy-4bHoY&v1Yq4WW?$=vgH?2ajSupc4Qw7eQYXCJrRB z5P7lmW_T=rbmsJ59{&w-eF*=-9B~96tqBXum=l3fT>#gbPclP|$S*b`pV~mynPjt| zfjG(HBiOIA`bRoRmm`Z!?9ufJ4=Ul*Fb)_SZ-h*g-1s~$7k3!N z_`Km-r5n3cPRrP}rwPKGF-#L9G0G{NmT5AKDVF@l&`PI^sO)74C_L`z50CSkoorSH!w+MKZ=pqh?kT{8N!yQ9 zii}RTc5%><4;$yHLR@)g+{m=C)k+*oQy4{~$MSV7y~?9$$>H$|(lTiP#X`wjZ-cvojvX0VG-r%+Q)}!L6V-t!#-MLO*@oN(Fma8Epo`ha(c~%`i^OR5 z_)wXkHd|{}$95uU-%76_FVyHHA}jK(UV7+laO?#VbBxFl&Iki1qp~zC5q!% zDP^O>CfYzXGt3Fs;SMZYl5!?CdP$*1*d*wTT}B3OEcPgHtQ>Js4bZN;k^qYyCPX$i zDU~=-M2h>f%*N+3dD~QPVaCoNp~AvO#K%dIg-Z-fKs;XFa3aadDxANFNLu#Z-~fjl zO^%1n*@0ynyN4X|^gmA{UG}%e%_J7-7jZY*Cm=DMvX%9!wIc#Bk_U7YGk=Z9X7oEKOOKb-l>W z96LES%LqTLYbTRUB2FI5iQ{CBGs29qg;Ny?5sA59CiHF@2WKmsh0m?X`Lc95%R0Sz zv=FzgXr;h0kz5fvi5z}xOO6Q4_(7uBk4vHt_HIngIFxKQ?|ObL*8;;{I#%+^g@%e^ z3Lt%89gY96GbqV_hS!T7WA(dTfcHGaw2R=ApvMV2oQ6vfypg~zkBn57Q`#b>JeIo% zIz{YK85yKe@Ib_dtyS%K565|(KuUOGSVeZJv3VAmgkhfTksDATr1b;}SHn0p(@4r` za#585(L6@_0nsO;fCd(_E`FEZnHPf%7vl<;B>%NU{D&cmlyz1tEV(3Q7)Fdwe+bDt zUSLI-b$o?kXF^v-#75*hG6Fm%Kzl!ospiD06~U%y!x}lK+L8hbLe=?4IppYw&uqSx z@H6Iu@($X)aCRI~Ch0HVZkKSD-3m-n6it+!MK74MCN_X25JW?njitw#cIlCU(U^8^ zvHnRiqCFSbGE|&zwa3Rc3nv}F8iM{K%-6&;kUXv_vt4V5BHpi?5W4Z5MUv=ZOSqSW zbHgcbbW~}alw653z_Cem&OEUKpIrB`V#nBZgJMbJe98WB7sRqh<&L(<&Aqu^DjUW! z2|p2G47OrtspZNPJ1=QtFqM1|HRK5xBfsEpMlz&4p2q@eU_3iP4WOPX$L!UGvzeSe zGh4N}EF4`IkT8WgJ0eJWiR7C5v7m|AKT>XHhMMCUf;ztt*Me#M zR=_iO_I>|->|4M;NGuN@JPb*rHxE~$ddK6l5ueZFvkRZc@c9xx-^M5KhXj?)c(8x3 zJw z#jls~6@C|A#XrZF|KIpZ{heR(3v+t7mk!Q96dmJF-HxjZeXYYK8J)sIdH7|Wt}6ma z>Ps7Zt!j&WJv>xT`aaT1)T0|Zd%BR64%I$M^3@lmm@WzZU~G-add_A&T$uH|&ptA` z@j|q*LzhXH-Fx(q(7#Xnb$WEDcJ}T=YAUr%kNzkCd$-mC_U{_^B=UJJQa`5CwR$kh zm95onUQpz3(G{Vp+^2^jt$M9qX40ne-&&oRX3wdI$WZwaM>g(T%>D|P!%rH*73i~p;1%(Evt9lP$2y0~sX2e@D+&Gu6UIU-8(F zua~gpEqV(7t<}|Gx5f`3>a-e>YL6QSfP;|Q%tEOx{O-|yEt^>zjPO$#TwuOj5Zr`P z#A;bstp{y#k3vdU_jZC>TGe~r?o^G&=<8PLkyq-nJIq6mE##w6nfkNWrrWwD>8jp7 zBn?sTdtIIEvCT(sN3pj|M*3;ns)zL1qU?f24-lDZB8k{n-;T(Vq>S|Y4Rwd=r48(E zAQF0zzC%iXE5GzE5J4q2Qb>>Z)fF@us!hPKFiUHQ5dq{L-P(z71G5?HNDQM(*R8`a z1-z?!d(ayPx7)rGo;HAcUt$Cn#)m9VJs*K%*bU%6Y_pz=vQpd4z`h7jt1$&tJ@~iv z4LvmU-*L?FJ(TXBIzE6IFx6m;jN0DYmD)nG{v*cvPjWB%oRwPYJLo*EZt4vtxvJ_!&W)=) z7z8WTsi`19KWr!ky+J}h;NurLU|xa1(!s7d)>Qd?fPOfozWRJ(o?kZ7Tiv&zg-~he zGNdS!`nZ(RCDMbmAB>=hf+FwQBL7xU#J2GV-|yaW=S9-nc3a2{8?}E7(0~Np09kdR zPO*JTu63eT>-gFwue7KJ@pZQz;8L%aCU4De@+~XGZ_dy71^S|mAkC)QY&X?91!iNL zTk@N}KEH+E*{1(J%1GHkzJs=@qKBklhp@5KVrd`Nm@ZqThg^WSIn>Q**foFG`fh>! zs;C{?%=>7@(*HoV0yfoqL^egQZ@L0$$oEz>pAKOTtm-%QghVP$2Ts_H#;OUwArQR1 zK1oWDOg9FG|9=@}M8@dNHtVgztXn})w0Y3LGKvOYeKKcgNPh!EV-a6X?P9rOO}QKL z%l*ohLy@d0^4q9CVhQQjTR?sjWuz!>kh8_Y;j468OW=d>`Kv!4>~>^vjWgX2x)*dk z=x%Jphc3r#Qgp(8w&3@4K+_ZS zIg6>u-US*OblvT`;Z9w*5eeOyT5Fz@pt|(^+)k~HEGp$|AAsq`4mdm-A={-7 z!Ha@jHB0_u1k4OOb(8$>GVeyDk^12t5_LT-`nXUvZxN%{;Q0LeSc4OCoT`dZf4&)( zO$Io?u*}uDoT?;7WjHc^JFEB!ZQ5Neq=Hpq_!0UPWC}%xVb=~3@4o=sK%pQB{R~kz zt?xo|m3lkqBwq=3kx1xIN=z>_mJUzOO<>D)Fg0t>Kqs5qIHLJN;4+wA3o}rCQDJh>FWjTj ztj4Mmq21&m>6`tUM#S5=RPE#z_d;zs!P}E zfgFq^pJb9@8r`}cL~p#MmQbAqah;)o+y!T(0rraX{9h9sX;n2?5eGeAe_~SXVuu=(gJ(nthVsj*d!#yA#V_xW_xN)3&uLA zC+7`rr_F>17^?3DDUct!SRx>`U6030kWrx<&%qub!b+`A){RnY zljLu*`RiaGe|)`o(w{a|pD9XNjeH(Hb)$74Npy6&IrLCg5&@HDQ9ihMkT0+zTnXN$1Z5Dd3hVY|uAG}AmUWn=lDwWp)*;Oc^((M`D zpuTF{J7)kfIFbWvqWrsgE}*k8-Q7>T>+)PkwP!57kP6ZGeY$s z0Bi>68r)c+9yOrDk9Z2{5%DrqvPoX25e&p=x?-x{Y~@ZWD^y0AZp@GlH24M6;C2K7 zz7fFu(ilpGddPNziTG9^A*w`Yv<6Ky;QOa((I0AUPNNQ=WjDzQV(T(4sx*!1Hx0ZCJe`MxOo-X2F}^xO zV9=jNN15jK2-N4~11&g8t!3NW`IXwu?{+iib)18`7xS0nSDH5;vVYx5T;%MO0C8PBbI|qV1M`RC!&7`#SDG3AGCb~=(<+7ej+0F zbr>WV(0_jILIfqz(u;Y4w{8yY)~GL2X6s6H@utNQl5w z1JRaXHyCf=LVZztKLHFz?HMu>9>!qr=)Di+(KW(d!s_3(^A0wr35uN0V4{oQxv1}5 z;geaAbiKk*6}^tA>(s>#A<;vGqUb?jB2h#SE=!fd#4@1AsEt~355f3`-0`6;JJR?m z3?`Z}|0l^yRDJH4zqbKnmYIPoE`xT&jzMq12r*~ZDId-$P($T`whkgd(V|e!M=I3VMK2QNJ<>q8AsSia1N#(Ws%-)ADIGIED;dr~VUt zr`Cm-b4(C^nmgGY%z@fQ=`Rh|;=GU;LUqp-v}e-l6}4Rtx`TrX)n~8hNytBzv#!G{ z%Gq>Mxi3_ISs%XO})Gs%5>0tAQMCgnFvJ>$l9U6$W--A1|5q^HNzDsA-)-A7* z8G|`TL&VQPXh>vqFpEgS3_WgV=-UUGq5H@Qs=6zDLnd}nr{P?&n zaR&nYf<0O{S`cH03vaC3@D0(!X$W8XT)M8qM$ zb?TMy8hw!LlOWuc>QRvb=QZe+XbqO|6GlORzBw-)R$SaHl3a&N(Kv)nWcz-DS`FZV zNb1DCtleYQwK{;WE_JLAaH|zVl9=_07!iY?)%YI}8^L}PxKZ0MRS-U?0zMHLpf+s~ zG^XCc+(U4YK`=4}DVT~2J!T5^5LIFZ?&p)drdou0pCM3<>gz zM4XKPc}fJx9wR`WJcs}}2!jMiBm_tdAbv8{;o%)Vr36YUg9w!%e~e4Wx&g8U>91{o zqfr+65Y%cD(Y8+5Xy-xL=q0kzD$8r1KS-hd!jd29qWFqM=GSG!kC_pF?I0sI#$ut! zJX;WHr}z7S^HosTAI0>Zy|KG9YNGLt-FgPBdzIp1IYI-XufHUE3S5t@r;XjKc3(lk zI0NsyDG>4ANioL+k&rF{)3^_IF$^d)_l9MtYoys-k&R%3-`_$(`n-ClZk>(d9o^#A zV=^z zOEHpwR| z1e}TSq?W+KHL)#P&l<+-S6K%-j5t@5M1QI4i`ELFe|LFLkyb~&(`8_V@ni5P;{y6` zK=Y*#YLtMNVx+1>P@vw*hvSw!ID#=ofxa0PlnFqSx1%I2LFjha;?$1Ehpz%?Zq_L8 zbU^Pc09qE%)Q%$fbs99f>+<$|pbwyB=-NB+4-`*EDA(zeIWqNH3qiL|Qa z!EgrBC+^nW;qQf+m*S~PSKXkyFVI!37_kX$>Tt6F^=JfCibDcIp0McKQ;_qd&DmX$ z^K=oG8UTy-Cm^sVLR4KM)^K|eV0Gt_O0&B22v$O%e+oC16}#0PuI#*k)f2b66Ky7I zdK{^qe7(+AWNGIeuCu%^i!E4+iC1+Hoxzezyi+V*+Tkv<#QKgb=y35S+((QRLF13QYlt4 zV0U00(X0;}mkl;>dALOUdPY0AU_x?v&LHoEKDbSYj!xJvs~f($1mWVtT3Xt4N2pGN zYBha!u+KTV1AVq?aS<8U`(sX9boIGl8$rR@kq~~DsbZHt_7NUg5-kT5l>cUBq)TUM zUs!)f`vY{@830W8B965WrD&D~FtvKA0a8141>ccgcjIoxA=~Lew9}`UWA*k85(Q6{z4)kbCUt*8Ua z)Gxg_h79(4OcYk#n}7>eeqfV+!U&tKz$23k!<{%w>QW@kle1DxF8fIvu#ldp}NI7)2|o! z^b%f738uvU1V(nC1Blr^pbZ-x{0UK;_iP9z`)t(&B}HPO{HIYKBfpPxCxo2F>NPYK z-7S+KQ9ta?nSsg*OZxb&X7LS8Iz20>U^WbN%G@}*tG*A2p}hCO8bF4b{ht(!g2OCR zcVI_mJk3Adkeuc_03?G^W}4BeJl1#VK>%@)#sgNnWJb5jHl>5iXmdQH*m~3hsFG94 z4yx|d1HK%kj+9ZIt?81f{dxiap^!;70~bdf1D`BK1;0dPgG_w1C$%$F&tM1x+oRd| z$_BciX(aa~(qty>tUqgKy`M;qIEu#Wu!UbTvmP~d{{|^z)_%<+`=b{Ng?A51C&-l} z!4?@ueEW@CW1`kd7kB-M|n$SlhrC99(Caq47U2jYWr{MHh>PU(pNv+x9npT4%)TuRb?LjhT z;)f0*_Uo>(_yzDMNWjP6K{cT+!Lm0-WDvexLMsr>+CN6m;^vmb(Z_2`Xy)Eqr}7Qw=%P z1TF%yc6f#fHv_ZJnlk8C0-iGc+|@^4+HBf>LL{Tuz`h=b>Pj7FVn%8l>`0OULy1j5 zNWCsO0>haVHGoZdHWZNO42a;%u7TP!eO?(k~;@n(GPKQL-jGRK378jxM9DU-7BFU zR9yx*U~Eg!@*YrU+^yS0H0too%w`4>uti?BkJiKVrGCd=3XCsxr(yV^2d&VR^lva+Xcb})wj=*_sx-EU;wcbo zQud!?fLpFHx*(9yS#KF*MT0N+yD^~%g&ga6Q6ZGjbfG} z!OYm+ydDmsh`r7NvDb+VQnjy~*o#HkKw(W;nah`Dtbv7ejZmDdd!iTY3#6%H4G764AQFT+y$}RKn*hp6-o7X`DS3Mmsf3DD)-SYNJ*y|Q;v!dfkAv(53*88E!9cr%@xHNH?k6Qi7At!fgC`iykS-!8Kr>BTy=)M1I0;oR+qrpxqT9$zR0il6?1vCJbn8$rI|9{f}6lxh(Fk!6% z*spmAehW)|!Ah1d$C8B+12Ee@9xRd=>lfDFw^;<~CvD+3;=*?I>{A#$g*@t=)3r(v z&ZxHGUN(qMVOLAW_anAWwOPT)yLMCH#;BBq=bN_ruKbL*ZAR{%PG5ZoFrnKc zyJT;R>_@%%o20pbXU$O^NocG*~n8836 z;R!EKd~}`!Q#=XgjX*}xXYgcBeQ`^sqC>B_5i{g5uVVV`#dPC~&4I5K@Ya`Kj=K0$ z8B7Z|lDsS7v@BRJpwkn;vbqt;8=-fx%mvjFt#i2$3Bp)h)|YhIMQ6k;wqBU1+gi+% zm_zC;D!2|&lhC4~@cap&pxNk1sf%cwmh@;MAtATQ`Al z6m})1!{xboOurQJVOrR&E^dqS7?rO=++B<|?z)6{s}6=r0d*0A^?IhN;}Se^V0Nj^ z}`tf z;6EC|pQM3CrrDu~;(rI%a5jtAJq-u6#^Ws*mC@4>52b}`_RY>?Wh{cW+cYwuxE)Aq zLye^wUCa|jG`otcwXQSrnns7&W2<(9i>)()jRWgxSk*y=#h%#juo2Uw_0br@#+LOo zwv1kq060{|mVj$B#8EfAm!~%*);Msatv;hiVm2FJ)gxB|DA6IMA|B2Ls>P}oWQ;e+ zz>-pjd77=OCWx&93*jO2@^=Ih{6L%%wC&+Y0GH@MgRI-(kx7QzQg%YjrTo*H?t8ISD30h&IDL zv#YgU0g^vgHblnJI_#!V;1=wuy#OK#Hi5oEo!te}8qlH_ax9aLyGxC-Zni?81Gf&~!Wawb3) z(CK411*s7e77Ylsa5exkM{O%^)n%J?#UfB(xEKx#cDc$PXv0lkz>!ji9*nFRr*}n* zncRouz-gKKCio1l91(p00oeX{%?Zx`6-u%78=>MV^%jo42|^JI?R7iIcvOK3O{ouU z0g~zf5+@`~Jq1jt9_X|#a!)7sZyL$OS2)GA^RPuewN{@QJ}+b?d*^$$=rcl?9`iOE z(*vRjow}^$%sRzp(V=G6a`0pZar7kC%f+vT{HCtc;l&9utwHpndc5V-Es?rsFb1Mf zgg?N=HXv4=%)u~5eI`kAx7j&R55Q}?hzt(exc{pq;34Z2%rM)4Ok*dbrSI7Ob~@Eu z*gg-NHf`3!acnyb+7ROttN9{hq;f4n(2RrRP}(qpc8jAE+X0XIp~Uz|;5^?QtBiuT zI^zbNsZ)1gF3vP1yKF#llU-~{oh%Kd<~7DG!Hkhae%EkALNTqtQpRQ!ziK2zE1?<| zk&MbHqmqSd_-dY5Bol%F#5w0CUkPb~%XWe*@eld_NjO@087E*G#)cU~1;X>g-y16f%cF0a zr@`9C`8!Tb{4`GcubQ;enE}OxTN!ZVhi2`x@J%3-Tx#U3ZVHAsXg{?Shj#C`ITOO_ z7M@`#4q@`qzhK)EwdiaI7xHm&e;VJa!k@ZV z9N7{~989*~ZlF7M2)4o^I)bR+gp3K=yk*^ADMi~IjCKnatBmNoRsQ>GR2yzVSRLSQ z1r067Z5Fg^OqrV{!ucxO$+PJ{N4If?6gI~{b$A;rGOP@bNBwmm^9EgeDjt{Mv0mdB z%lXLAoeq~F$@-Smk1EYWRm@m|C8qjqcvxx~Lub+6A%&4PV` zZJ5I`ve~&6SchRbSg^Fz2I-+YIZI?~1>Ews2^=!oPW^LgJRl?dgK#%o;$XIwJlN>B z1PYz4hsWa^*?JLz&VJAViwL_#Nkx_hQX?25hdGcS3lo3E6qlce=Y6Kz3sIHO0pUFZA?=hnqJIx-#vm%78m4K_=;M5o) z635R-OWu+w_s}fpwgtF z+i4<)OPb)O$Q*=c!cH2vkGpszf7b?yb|DOHD7;J7NB$#+kytPo${;9s;KyjN3=2_2 zSOb?s=J5#!W8HBYgQXkfA^`?k%=-?(+OPtWVcUcsEw3`0_^{8j)~sJ(^vUy2CZIle zyRN3U&~1>@B`a4i~mtKf1!lyHB&g#t?A5 z4H#zdvx#PF^%6)^hxdt`W~njNN$hF`MK!G&_H=DQZLJV&{jR=)&P3}*$n zMgp-Ibq!7>JHT(26Urv{09e(fZ`(i(=+Y^c;pnv+9KZ|*5}c9$7MuVh7iH6V!s9!u z&y>$Sn=Bx`;>Ft_KHqyEhhP~3m-{#%LiKrzl2_mZL@~arFvXy&djZp#F)Ik2-U>tz z7G66dewYbrQMPkKo-9?6yIeBYvp65=)D7nF$;#YJBZjtX|7t}0(HCwfGD7an98O5J z+qf^bS6j&ys*Y66CW+YX0J>21St?wBC1To0HEd)90rKN(WRpkciTBFa-;5_25Ulx1TZ-@uu6z|58|u#_Ewe zA(-bNmsDf#rMM9c;JuSk&u&;7Lr>G*;FufhAUnVyh*!l0uxg}QQmzKnPG`!Tk`ZTt zI*Prhb*2NHyD;zR-M9w>nmo~v6Ik~F;BC1#5!11HDyg8MxPCBpoYDF_X46dqFG_W}*C7RmvLv9Qaq zfWvB2v40#6axeknBO(bgs0Eiq=#kecBNUg#-e z+Bu2tXT2W4#rCVMW_S-Ozb>aegO!uFqiiqC_1g$%CBbOzdOD>qCn~eQV z_zvIUBfV(x!?92^9y}0cTCioD(F3;E#rC>&*YSD;UhthovRNFdxk;yw#v3jt$S_Qo zu$-@xsTQeBQg9S-D-4>j8b=)MZoTwe-LOzEx>z^xlD!=3n{%gN?t?-}-c38qt^h7# ztP?A^u^T0P^Ue~f)uzN6l(^VZxGL#Pk_TiPFR}5j?!@*@2<{8EOH1YVo0=LnIaL$P^wsfjj+0%}c5jwK3=R8gR$G@e zusQ*tQyuDJk)G&tERMvf)>Mya$pB-V4hTmq@x0+}2eeM>VTC6(3~w7{l(dhG1vnw> z!HoIgkvct4`!}_~J4&6Es5j$!S%$f$*PKgu&pUudjz$`mXs8WkuRrwB3|JYmv=2MO z+`x#rztZ;~Wq;DdU*%j^0}e0A9YGVN4Q^>MZOAzX)VZ2`}%tcqGF}E}FI^W;pPs1pE z>LEVxIkY?*mj&IdF zK=U0LkJts{XCu@xoj|F*@PJXPMD5++PH5l`K51uPR2rLdrJXO?oM#GhzHD>28e&o2 zXX@;>IZsA8w2}Z6jw?ww@dhxrZS7H;^Yy5T%lWF!`C6P~LvK87$~k{L%CX(-wXDT# zj#9v~L+ADvX!gf8+-HHd2Kv{a*r^c(MY3fD?TTk06~Bg^l2Y-jI1Fb-YY`0-OrnRZ z7<3vl&J=w#-kfKHN>5mb_e2oO`EOw6Nt?rhZwT6x=3qO_!AZIureJuLuiI%8iW%cWLFS%2+(qO8pP0LfPh^!7k0%SaEzM!)UsUK;5Hmn1DDfK%;_+{GegMhazMzq zduN?NT9A$K4%%|rJ92C9vE$n1xa42V=D`3RK8V_Nx`y`0RhCK4&24CtebxRZTpuLz z0~>P034@Pf);?_N`R14};#o7KQvC3O2R{rX4%?m6Iz;=hg6z|o=4pJCh9?BMBwNB7 z;U{!Dm{GyN!aI)c)`=shPPaV;^JK4YFvI-|Cc(g+KG2xEybAi@<}OX#5BX>rOIEmJw;BR98!T~Opkk(;AY;`3DzEh6j#zM?MOzwTFI8VGENCo#%pYJ*vSinAkeT*dlFn2*2M9& z&R}9a+KQ?m8Ru)<{;%ZWSyY)+=$*->ROJ9H;nns`8W_UQ`QZ@VleC2SDFO|~!=CpC59uo{py@pBewAIHTXY<7u{ z4B%~o9s|7Xl-@$} zel~|!bUD`a2coO&qk7gm zj(emL)M4v5kdxDToz5ba=Z)}CfowHkdq#89Q8~QOECIX&saA?$HTYv)JutEb^E|3$ z0;HD!)shq}mtes#9^fICb`qyuE!bx&e)X}|>W<_kJCaUPJOIOxHfROq-3qlj4A&sB zWi`z*CGNKKgNaSMvHQXRaSU$E!~czrEK^`@=XLtTE@UY)7}%)Iozgov7Cr`RE}XHbsBDsK*&9=%)=Jbkk*z+lK{QF$MH$n2m;#y?O)CC zuR3w9O+YfDYqe1f1FK<1DIRa+t7?GAGf8SlfQ=5&M|0{s#dBZU9yh{62PO=Xdc@S6 z0+E1KENt+?42i00Gt#CF6PF_evE*d1dA~4#e`jQjUDl(gC|F2Q6H`nRQ}UXyvWoX+ zVP_7P5&~IS!mZLgwk{49uW-cy-KTuq+wD-dTh`1fkSIsZi6gaVgM?#D}1Rm*}n z*9sg8J3)zssY@*fzGnaLwFYyvfO-pP*jImwcGco$g?L-7df(h+>84G#y63=LRF&8>H44>ux?*EwENKUy!iklsuv zi2dR~u%S#f7L)7>EeTmsB>uwcc@){LdJEF>L=(9Q2kc%A*Y6*F9PV$!(nDN#~`Lo zPAG_kW-i1v5hp!e&}WXfcbPX_1;IpaPm()AaAy%Wiqmoxe-%*%IBo#6nSiSQ#x*C+ z>bfExUpZ79u4Y#4u$|9E5cZe2epl*I6yITHM73Zl2Anna&jy91t+suB(<~K-dP# zZLsv~nsJ83-S%{#0B`K}1Ht}i?zgR%*%FH;xijnsIF#4~N8wUz zkzT7SurhD2E3byY`G2gv37p+kdH;X!{m%DhW|GM^+1V0-u!QU}3z^A6GK3^U60^Vr zfy-pJjLgQ|JJ~D&5>TvdNmy!aHHliWtwG%C0$6tpqSm$+w_hs?Vr}hT3)Z&!YyH1J z&vU-tdvAa)zuzyfSLS|~^F7ORp7ZSIIaBEoi_+t6$Zlf&I3ARaQ$Dewo0U=&Gk|ip z>F&U`!~mLDUC1^SyT(KsewdgutFX@R`$G~-FDp|YrE4tnQmM1tz z_jbHj8eCGZ*cud!1 zjIve`gO5rs%YQm)Vwuoqe!Psydc^+vO6FSzX%4}?aox&ztoFYv|G0HHG7$q~KEyK` zjWLPZEXIZeSW$a6UY&20u0H`MIoEpUXVWo@qmTW_G<&1YSOB%<=yHk>?s4ur6gM};OWWe+dGYMlcu6U4_FO+J zc)3O^0v9>9-ne-ro=BF0MZ0)(+|-%oZjt=vD>#Todh1@xC1uJgaPGmHh8aZ$l^zr7 zU&9b`c^HOq`#k6gdRI?iMq&99QA|0H^oir2{|G>@ zR#-v2fe}TU$c)14x*x_1wV4VU>Fx;_b9qH!MaxEuvomoO8$^jTbbVwg)5tJ!4`5e5 zA1w6OKRy(e4slXpq5T$soEI&t&^m1S%#Tg~w!e?-qC@jEr&pSt527Ki0f z*c>mWipdK8Q$G2|c=GjJ_FxJi?p6KDa)8S582RcHuKK0B3cFXM zuVu6%Y#Br^988FugeLVAQ2lQPab9j)g%+3yOS!cZ1wyt-353QU^3miM?X%n(DzM$2 zGA~aj$i$f6J9(J6A*@`GZmH>_Xu^s3@}79{O@PS3YBLNH_?bR*yQ4$5qFd31^e zFkP75OwEwr>1;F8E~dHBKofhIChD!Ck+ada$Q5a_Cp~#@MU?P&52jWq-aJhBd=;>9 z2P~n!b5HoDW!9*H;@7zi*a4#p+;jL-#HLsD9M)BCXOYJ+36zuPP}^A2v!5<}Qr

    #EoRb8H97(A_JYs8ksUT8~eWu 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®4~eVsMLMNj>AD29W|-U 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 Ohf_`bTOAP`LG?etEE#?P diff --git a/tests/test_etcp_100_packets.c b/tests/test_etcp_100_packets.c index d3c6945c..0a576b31 100644 --- a/tests/test_etcp_100_packets.c +++ b/tests/test_etcp_100_packets.c @@ -149,6 +149,9 @@ static void check_received_packets_fwd(void) { struct ETCP_CONN* conn = server_instance->connections; if (!conn || !conn->output_queue) return; + // Disable routing callback to keep packets in output_queue for test verification + queue_set_callback(conn->output_queue, NULL, NULL); + struct ETCP_FRAGMENT* pkt; while ((pkt = (struct ETCP_FRAGMENT*)queue_data_get(conn->output_queue)) != NULL) { if (pkt->ll.len >= PACKET_SIZE) { @@ -178,7 +181,10 @@ static void check_received_packets_back(void) { struct ETCP_CONN* conn = client_instance->connections; if (!conn || !conn->output_queue) return; - + + // Disable routing callback to keep packets in output_queue for test verification + queue_set_callback(conn->output_queue, NULL, NULL); + struct ETCP_FRAGMENT* pkt; while ((pkt = (struct ETCP_FRAGMENT*)queue_data_get(conn->output_queue)) != NULL) { if (pkt->ll.len >= PACKET_SIZE) { diff --git a/tests/test_etcp_minimal b/tests/test_etcp_minimal index 2a0cd31f9dcdf950c1b0592ce37f7bacf4fd692a..1624fe537a857e008f0aabef431f0ddc0e73b122 100755 GIT binary patch literal 484256 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�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%0D=?CTbG7F*diAuPJ9Gi= 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 + // Disable routing callback to keep packets in output_queue for test verification + queue_set_callback(conn->output_queue, NULL, NULL); + // Check if there's any packet in output queue struct ETCP_FRAGMENT* pkt = (struct ETCP_FRAGMENT*)queue_data_get(conn->output_queue); if (pkt) { @@ -376,7 +379,7 @@ int main() { conn = conn->next; } printf("=== End Debug ===\n\n"); - + // Start monitoring and packet transmission printf("Starting packet transmission test...\n"); packet_timeout_id = uasync_set_timeout(ua, 500, NULL, monitor_and_send); diff --git a/tests/test_etcp_two_instances b/tests/test_etcp_two_instances index 6c1d7348f0a0cad49e127e3064fd6a5aa7590315..cc2c697c7f7a4c4c7a68aa3a76d363cc54e2af09 100755 GIT binary patch delta 231189 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 dTIe@yux<|`uPS2NH*m`tgq^H)4Z=)k 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 MN_$mNl@IdHNN*4n8{ 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

    $>tr$^$SW%-71U_LQ}=h868|RU1~y?&-tb+YYz4 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ΞVIX??V(W5gm$tD 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 KFJzHdr2h-}W;F!> delta 218763 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

    #5*RD2W8PbQ_ODatF|8v-GuvZHiG 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 diff --git a/tests/test_pkt_normalizer_etcp.c b/tests/test_pkt_normalizer_etcp.c index 6ae6f403..1056c814 100644 --- a/tests/test_pkt_normalizer_etcp.c +++ b/tests/test_pkt_normalizer_etcp.c @@ -469,10 +469,10 @@ int main() { if (global_timeout_id) uasync_cancel_timeout(ua, global_timeout_id); if (server_pn) { - pn_pair_deinit(server_pn); + pn_deinit(server_pn); } if (client_pn) { - pn_pair_deinit(client_pn); + pn_deinit(client_pn); } if (server_instance) { diff --git a/tests/test_pkt_normalizer_standalone b/tests/test_pkt_normalizer_standalone index 7243fdc400c36b12fc38ce82fbb536aea71de9ea..221b8ce124fbbd896c21e5ffcccd7eb55ae81e3a 100755 GIT binary patch delta 141703 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 dd^3N4F{ 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 RJrX_jxPpZt9_(yq{y%3B6GH$1 diff --git a/tests/test_pkt_normalizer_standalone.c b/tests/test_pkt_normalizer_standalone.c index 499489dc..0cb0fd96 100644 --- a/tests/test_pkt_normalizer_standalone.c +++ b/tests/test_pkt_normalizer_standalone.c @@ -198,7 +198,7 @@ static int init_mock_etcp(void) { // Cleanup static void cleanup(void) { if (pn) { - pn_pair_deinit(pn); + pn_deinit(pn); } if (mock_etcp.input_queue) {

    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 Pt0!psdm{)UoZ|ljXV{KP literal 311584 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