Commit Graph
202 Commits
Author SHA1 Message Date
Evgeny e39979bfac Config: Added [allowed_keys] section for client public key authorization on server
- Added CFG_ALLOWED_KEY struct with binary key storage (64 bytes) for fast memcmp comparison
- Implemented parsing of [allowed_keys] section with allow_all flag and per-key entries
- Added key validation in etcp_connections.c server handler (errorcode=8 for rejected keys)
- Default behavior: deny all if [allowed_keys] section is missing or allow_all=0 with no keys
- Added proper memory cleanup and debug logging for allowed_keys configuration
- Updated all test configs to include [allowed_keys] allow_all=1 for backward compatibility
2026-04-24 00:16:30 +03:00
Evgeny a3063ea47a NODEINFO: Add nat_addr/nat_port fields, use interface_addr for addr/port 2026-04-23 23:21:12 +03:00
Evgeny 57dba26e7c GUI: поле действия и кнопка Send для отправки команд в utun
- Добавлен ETCPMON_CMD_ACTION в протокол (32 байта текст)
- В GUI добавлено поле ввода и кнопка Send правее блока Sockets
- Добавлен etcpmon_client_send_action для отправки команд
- Обработка action 'nat' в control_server: запускает NAT check для всех линков
- Сделана route_bgp_start_link_nat_check не-static
- Добавлена route_bgp_request_nat_check_all
- Исправлен баг route_ping.c (request_id -> nonce)
- Исправлена линковка tests/Makefile.am
2026-04-22 20:52:30 +03:00
Evgeny 0984ea749a Исправлен byte order для IP адресов в NAT detection flow
- etcp_connections.c: парсинг NAT IP через memcpy (сохраняет NBO)
- route_bgp.c: убраны ntohl() для IP в NAT detection и route_bgp_send_nat_info
- route_ping.c: убран htonl() для IP в ping request
- тесты: обновлены ожидания NBO для nat_ip
2026-04-22 18:23:32 +03:00
Evgeny cbde38d52a Remove accidentally committed binaries and temp files 2026-04-22 11:45:54 +03:00
Evgeny c136db5666 Fix: round-robin link selection + byte order fixes + local_node update 2026-04-22 11:39:50 +03:00
Evgeny 77fd7c19de WIP: debug byte order diagnostics 2026-04-22 02:14:47 +03:00
Evgeny d74ab1c1c6 Add name parameter to uasync_set_timeout for timer identification in dumps 2026-04-21 19:06:45 +03:00
Evgeny 54982f2dfb ping 2026-04-14 19:19:41 +03:00
Evgeny 7cdb84c7a2 Add NAT detection with burst ping, test timing, fix port conflicts
- route_ping.c: burst mode - send next ping immediately on response
- route_ping.h: add target_ipv4/target_port/pubkey to BGP_PING_REQUEST
- test_nat_detection.c: add test for ping without embedded pubkey
- test_etcp_simple_traffic.c: use dynamic ports + fix timebase units
- Makefile.am: show test execution time in ms
2026-04-14 14:25:36 +03:00
Evgeny 31eb4a5d26 Add NAT detection with STUN-like ping and integration test 2026-04-14 12:02:43 +03:00
Evgeny b613e3a8e0 serializer 2026-04-14 02:03:59 +03:00
Evgeny 5dc8ad6784 1 2026-04-13 23:56:19 +03:00
Evgeny 2903b82941 Add test_serialize to Makefile and include serialize in libuasync.a
- tests/Makefile.am: add test_serialize to check_PROGRAMS
- lib/Makefile.am: add serialize.c/h to libuasync_a_SOURCES
2026-04-13 23:50:32 +03:00
Evgeny dba092d88b Add serialize library for binary serialization with dynamic allocation
- serialize.h/c: universal binary serialization for structures with
  variable-length fields (ASCIIZ, ARRAY) using pointers
- Auto allocation via u_malloc during deserialization
- Support for header (arbitrary bytes at buffer start)
- serialize_encode(): serialize structure to buffer
- serialize_decode(): deserialize from buffer (without header)
- serialize_free(): free structure and all its pointers
- tests/test_serialize.c: unit tests
2026-04-13 23:08:54 +03:00
Evgeny 3b31821316 Add test_route_ping.c test file 2026-04-13 20:42:47 +03:00
Evgeny ffbc0da86f add ping 2026-04-13 20:12:13 +03:00
Evgeny 389124d327 Fix test_bgp_route_exchange: correct IP byte order constants and platform_compat.h endian include 2026-04-13 14:05:32 +03:00
Evgeny 05323ded60 WIP: backup before debugging test_bgp_route_exchange 2026-04-13 13:55:21 +03:00
Evgeny 07306e378b backup: state before full initialization for ping test with real links 2026-04-13 02:09:53 +03:00
Evgeny feb8024506 1 2026-03-31 13:37:49 +03:00
Evgeny 9f13cf5459 route redesign + tests 2026-03-30 18:26:56 +03:00
Evgeny be6058c642 backup: before plan 1 fix for route_lib test (non-overlapping subnets) 2026-03-30 18:25:47 +03:00
Evgeny 27618217cc fix: update tests for new NODEINFO routing API
- Added route_node.o to test linking
- Simplified test_route_lib to avoid old API calls
- Minor fixes to build system

Branch: feature/nodeinfo-routing
2026-03-29 20:55:40 +03:00
Evgeny 097e1acc6d queue: add variable size hash
bgp: add to headers new node info
2026-03-28 21:52:46 +03:00
Evgeny 9517454ee6 firewall + random init pkt size 2026-03-26 22:42:22 +03:00
Evgeny 46b62e2e77 1 2026-03-25 23:33:11 +03:00
Evgeny 98f886b8a8 test fix, log update 2026-03-25 22:49:57 +03:00
Evgeny 12ba3b9719 backup: before adding inflight bytes limit to loadbalancer 2026-03-23 14:28:32 +03:00
Evgeny 7261e596eb fix: improve test_routing_mesh and fix duplicate init_connections in test_etcp_two_instances
- Refactored test_routing_mesh to use proper ETCP + normalizer flow
- Removed duplicate init_connections() calls that caused 'Address already in use'
- Improved error reporting in etcp_link_new()
- Test now respects single mainloop architecture
2026-03-23 01:56:17 +03:00
Evgeny 0d9c18c653 conn fix 2026-03-13 11:28:24 +03:00
Evgeny ef75d20d0f 1 2026-03-13 00:19:43 +03:00
jeka e8b6153297 bugfix 2026-03-12 04:36:45 +03:00
jeka aa5171bcd1 route improvements 2026-03-12 02:57:38 +03:00
jeka 167b3b36da routing + bgp big update 2026-03-11 15:30:45 +03:00
jeka 79f027a3d3 1 2026-03-10 00:06:46 +03:00
jeka 473190281a routing базово работает 2026-03-09 23:07:38 +03:00
Evgeny f9bdb2733f 1 2026-03-08 20:43:53 +03:00
Evgeny 83a21fee1b 1 2026-03-08 20:36:27 +03:00
Evgeny e876437c69 1 2026-03-08 20:20:39 +03:00
jeka 7abe8d320c 1 2026-03-08 17:41:11 +03:00
Evgeny 119e3960e4 1 2026-03-08 17:40:05 +03:00
jeka 5816fbea70 1 2026-03-08 17:19:38 +03:00
Evgeny 4352041416 1 2026-03-07 15:28:12 +03:00
Evgeny 4656f87f98 Test: add etcp_conn_reinit stub to fail standalone test if called 2026-03-07 15:15:21 +03:00
jeka 1811764f6d +queue names 2026-03-06 21:01:24 +03:00
Evgeny 55828da328 c 2026-03-06 16:19:30 +03:00
jeka 066a9aa89e +memory check module
fix double free @routing
2026-03-06 15:55:16 +03:00
jeka 15c7968c8c mem 2026-03-06 01:36:57 +03:00
jeka 388fa6a1e1 add normalizer reset from etcp connection reset 2026-03-05 19:59:11 +03:00