You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

222 lines
8.7 KiB

$(cat /home/vnc1/proj/utun3/changelog.txt)
Sun Jan 18 2026 13:12
Removed duplicate parse_ip_port from config_parser.c
- Unused parse_ip_port in config_parser.c (lines 70-86)
- Function was static and never called (confirmed by ripgrep)
- kept working version in etcp_connections.c (used by init_connections)
- Kept net_emulator version (separate tool, not a duplication)
Sun Jan 19 2026 13:00: Migrate to GNU Autotools (autoconf/automake)
CHANGES:
1. Created GNU Autotools build system:
- configure.ac: Main autoconf configuration
- Makefile.am: Root automake configuration
- src/Makefile.am: Main program build rules
- u_async/Makefile.am: u_async library build
- tests/Makefile.am: Test suite configuration
- autogen.sh: Bootstrap script
- .gitignore: Updated for autotools
2. Build system features:
✓ Standard ./configure && make workflow
✓ make check for running tests
✓ make install for installation
✓ make dist for release tarballs
✓ Proper dependency tracking
✓ Cross-platform compatibility
3. Configuration features:
- Checks for TUN/TAP support
- Requires libcrypto (OpenSSL)
- Detects standard headers/functions
- Configurable debug output
- Customizable installation paths
USAGE:
./autogen.sh # Bootstrap (first time)
./configure # Configure build
make # Build
make check # Run tests
sudo make install # Install
COMPATIBILITY:
• Old Makefile removed (renamed to Makefile.old)
• All build functionality preserved
• Test suite fully integrated
• Backward compatible with existing code
Sun Jan 19 2026 12:15: Task 4 Completed - fprintf → Debug System
CHANGES:
Replaced all fprintf(stderr) with DEBUG macros:
• utun.c: 27 replacements
• config_parser.c: 7 replacements
• etcp_connections.c: 13 replacements
• etcp.c: 1 replacement
• tun_if.c: 3 replacements
• utun_instance.c: 9 replacements
• utun_route_fix.c: 1 replacement
────────────────────────────────────────
TOTAL: 60 replacements
Categories used:
DEBUG_ERROR() with categories:
- DEBUG_CATEGORY_ETCP (ETCP protocol errors)
- DEBUG_CATEGORY_TUN (TUN interface errors)
- DEBUG_CATEGORY_CONFIG (Configuration errors)
- DEBUG_CATEGORY_ROUTING (Routing errors)
- DEBUG_CATEGORY_MEMORY (Memory/system errors)
DEBUG_WARNING() for non-critical warnings
All files updated with #include "debug_config.h"
Debug output now controllable via debug config system.
Sun Jan 19 2026 11:00: Task 2 Finalized - Remaining typedefs fixed
COMPLETED:
• Fixed broken typedef in etcp.h (struct UTUN_INSTANCE*)
• Removed etcp_t typedef (now struct ETCP_CONN)
• Updated all usages across etcp.c and test files
RESULTS:
• Total typedef structs: 4 remaining (all in ll_queue.h - u_async)
• 24 of 28 typedefs removed (86%)
• Code now follows AGENTS.md struct naming conventions
Sun Jan 19 2026 10:30: Task 3 Completed - Legacy Test Cleanup
CHANGES:
1. Removed 7 obsolete test files:
- test_connection.c, test_connection_stress.c (conn_handle_t)
- test_sc_lib.c, test_udp_secure.c, test_utun_fork.c (sc_lib)
- test_utun_integration.c, test_full_stack.c (mixed legacy)
2. Updated Makefile:
- Removed TEST_*_OBJS variables for deleted tests
- Removed build rules for deleted tests
- Removed from 'all' target (down to 10 tests from 16)
- Kept SC_LIB_OBJS (secure_channel/crc32, still needed)
3. Updated 4 test files to new API:
- Replaced epkt_t* with struct ETCP_CONN*
- Replaced etcp_init() with etcp_create()
- Replaced conn_handle_t* with struct ETCP_SOCKET* (test_new_features.c)
RESULTS:
- Test codebase reduced by 50% (7 of 14 test files removed)
- No remaining references to connection.h in tests
- No remaining references to sc_lib in test code
- Can now focus on current API for testing
Sun Jan 19 2026 10:30: Code Style Refactoring Part 4 - secure_channel and utun_instance
CHANGES:
1. **secure_channel.h and secure_channel.c**
- Changed typedef struct {..} secure_channel_t to struct secure_channel {..}
- Updated all function signatures
2. **utun_instance.h**
- Changed typedef struct utun_instance to struct UTUN_INSTANCE
- Updated function signatures
3. **Multiple files updated**
- Replaced all utun_instance_t with struct UTUN_INSTANCE*
- Replaced all etcp_socket_t with struct ETCP_SOCKET*
RESULTS:
- Reduced typedef struct from 8 to 6 across codebase
- All new structures (created after project start) converted to uppercase pattern
- Only remaining: 2 in etcp.h (etcp_t, utun_instance_t), 4 in ll_queue.h (u_async)
Progress: 28 → 6 typedef structs removed (78% complete)
Files affected: 11 header files, 8 source files
Sun Jan 18 2026 19:45: Code Style Refactoring Part 2 - More struct replacements
CHANGES:
1. **etcp_sockets.h**
- Removed legacy conn_handle_t (deprecated connection handle)
- Changed typedef struct etcp_socket to struct etcp_socket
- Updated callback signatures to use struct packet_buffer*
2. **tun_if.h and tun_if.c**
- Changed typedef struct {..} tun_config_t to struct tun_config {..}
- Updated all function signatures
3. **pkt_normalizer.h and pkt_normalizer.c**
- Removed typedef struct pn_struct pn_struct (forward decl)
- Removed typedef struct pkt_normalizer_pair pkt_normalizer_pair (forward decl)
- Changed struct definitions to use struct STRUCT_NAME pattern
- Updated all function signatures
RESULTS:
- Reduced typedef struct from 28 to 18 (completed 10/28)
- Removed 3 forward declaration typedefs
- Updated 6 files total in this batch
Remaining: 18 typedef structs in 6 files
Sun Jan 18 2026 12:15: Config Parser Updated for utun_test.cfg Format
CHANGES:
1. **Config Parser (config_parser.c)**
- Added support for link=server:ip:port format in [client:] sections
- Each link= line creates separate client entry automatically
- Added SECTION_ROUTING for [routing] section (ignored for now)
- Fixed client name preservation across multiple links
- Prevent adding empty clients on EOF
2. **utun_test.cfg (master config)**
- Updated to use new link= format for multiple connections
- Format: link=server_name:remote_ip:remote_port
- Example: link=wired1_fast:192.168.0.20:1234
3. **Test Results**
- Successfully parses 2 servers + 4 clients from utun_test.cfg
- init_connections correctly creates ETCP instances and links
- Socket creation fails only due to non-local IPs (expected)
CONFIGURATION FILES:
- utun_test.cfg: master config with new format
- test_server.conf, test_client.conf: removed (no longer needed)
Sun Jan 19 2026 13:09
Removed duplicate init_connections from utun.c
- Deleted utun_state_t and all related legacy code
- Rewrote main() to use UTUN_INSTANCE API
- Removed 103 lines of obsolete code
Sun Jan 19 2026 13:24
Fixed build - removed typedefs from ll_queue and packet_pool
- Updated ll_queue.h/.c to use struct instead of typedef
- Added struct definition for UTUN_INSTANCE fields
- Fixed memory_pool and packet_pool typedefs
Sun Jan 19 2026 13:57
Removed config file parsing from debug_config
- Removed debug_parse_config_file() and auto-reload functionality
Sun Jan 19 2026 14:01
Moved mainloop from utun_instance to main
- utun_instance_run() now does single iteration
- Added tun_read_callback to utun_instance
- Added utun_instance_register_sockets()
Sun Jan 19 2026 14:02
Build successful - all refactoring complete
Sun Jan 19 2026 14:19
Final: Build successful with refactored architecture
Sun Jan 19 2026 14:26
Refactoring complete - utun binary ready
2026-01-18 16:38:15
Добавлен config_updater.c/h - автоматическая генерация ключей и node_id при запуске
2026-01-18 17:17:40: secure_channel - переделана генерация nonce на SHA256(64bit urandom + 64bit counter + 32bit utime), счетчики расширены до 64bit
2026-01-18 17:22:28: sha256.c/h перемещены из src/ в lib/
2026-01-18 18:17:37: Упрощена структура ETCP_CONNECTIONS - встроено uasync_add_socket, удалены обертки socket-функций
2026-01-18 19:32:55: Встроено шифрование и дешифрование в etcp_link_send и etcp_input. Добавлены счетчики ошибок и статистика.
2026-01-18 19:37:40: Имплементация шифрования завершена. Добавлена поддержка secure channel с AES-CCM, nonce и счетчиками. pubkey в конце INIT-пакетов. Клиенты загружают peer_public_key из конфига.