evgeny
546e0c185d
Fix WITHDRAW removing nodes with surviving paths
3 days ago
evgeny
4503bdfa7e
diagnostics: explain and rate-limit rejected ETCP session data
3 days ago
evgeny
c63e93715f
fix: accept invite public keys with a leading zero byte
3 days ago
evgeny
904a9fbda1
docs: refresh development guides for current architecture
3 days ago
evgeny
01fcefdec5
docs: clarify core, group and chat header contracts
3 days ago
evgeny
72fee9e245
Separate core, UTUN and chat lifecycles with owned asynchronous work
3 days ago
evgeny
5838e63cde
Use shared group requests for config and chat connection planners
3 days ago
evgeny
0756a6e020
Serialize group topology lazily through a cancellable backpressure sender
4 days ago
evgeny
792776a1f6
Negotiate group sessions and scope topology messages to peer epochs
4 days ago
evgeny
52ef7a4b3c
Own recovery attempts in group sessions and require restored routes
4 days ago
evgeny
66c59501fc
Track topology exchange readiness per group and peer
4 days ago
evgeny
bce17d9cfc
Route UTUN configuration and group ownership through NCD
4 days ago
evgeny
9745a987ac
Define join contract and require committed CHAT membership for BGP
4 days ago
evgeny
1a8072e9b2
Release group NCD ownership when destroying peers
4 days ago
evgeny
26e6c05313
Apply fresh BGP addresses to shared NCD connections
4 days ago
evgeny
ec51b2d61f
Version signed node snapshots with persistent timestamps
4 days ago
evgeny
7374d1648c
Support 8 KiB member owner tags without signature or serialization truncation
4 days ago
evgeny
de714f5023
Add bounded Merkle pull lifecycle and terminal error handoff
4 days ago
evgeny
3e25bcef02
Refactor Merkle sync into bounded bidirectional rounds with atomic member updates
4 days ago
evgeny
1b92b4885b
Restrict dynamic auto socket test to Linux
4 days ago
evgeny
10d3ecfda4
Record final root transport and full suite validation
4 days ago
evgeny
03f71fd94e
Bound ETCP receive window and fix timestamp and allocator UB
4 days ago
evgeny
59f4802904
Fix autosocket ownership and exercise interface churn under load
4 days ago
evgeny
3131dcbb7c
Fix ETCP session recovery and router lifecycle; confirm chat invites before publishing
5 days ago
evgeny
018c8e795d
android: фикс UAF AudioTrack при переключении группы рации (start → releaseLocked)
5 days ago
evgeny
0209bcf5d3
android: рация — единый режим per-канал, не гаснет при выходе/заходе в группу
5 days ago
evgeny
44d4265084
ll_queue: queue_waiter_cancel отменяет отложенный call_soon при internal==NULL (фикс UAF waiter_defer)
5 days ago
evgeny
f6e6e2c73f
stcp: write-error закрывает conn отложенно (фикс UAF keepalive/etcp_tcp_send)
...
Синхронный send-путь (stcp_link_send → queue_data_put → tx_queue_cb →
flush_pending → try_send) при ошибке сокета вызывал stcp_conn_do_close →
on_close → tcp_link_close_cb → etcp_link_close внутри стека вызывающего,
освобождая ETCP_LINK под keepalive_timer_cb/etcp_tcp_send (use-after-free,
SIGSEGV в keepalive_timer_cb:210).
Теперь write-error планирует отложенный close (uasync_call_soon) с отменой
handle в stcp_conn_do_close; первый err сохраняется; flush_pending не работает
вне STCP_STATE_DATA. Мёртвый hook on_write_error удалён.
5 days ago
evgeny
8aaac45020
ll_queue: отложенный первый запуск автозабора (callback_defer) + тест
...
queue_set_callback_defer(q, 1) переносит первый запуск callback из
queue_data_put* в uasync_call_soon (очистка стека производителя).
Повторные запуски (queue_resume_callback) и так всегда deferred.
5 days ago
evgeny
cc2d2b5f78
etcp: фикс UAF teardown (двойное закрытие линка) + вытеснение down-линка при коллизии адреса
...
- tcp_link_close_cb (серверная ветка): убрать преждевременный огонь link_status/on_link_down,
etcp_link_close сам снимает линк из списка и стреляет коллбэки в безопасном порядке
(устраняет двойное закрытие линка — UAF из callring 45502)
- etcp_connection_close: при callbacks_running откладывать закрытие через uasync_call_soon
вместо *(int*)0=0
- callbacks_running: uint8_t-флаг -> int-счётчик вложенности (++/--)
- etcp_fire_conn_status / etcp_fire_link_status_cbk: поднимать callbacks_running вокруг огня
- insert_link_queue: при коллизии адреса с чужим conn — ERROR при одинаковом pubkey,
отказ при up-линке, вытеснение (etcp_link_close) при down-линке
Попутно: доки/комментарии в etcp_router, ACK-интервал 100мс->10мс (ROUTER_ACK_INTERVAL_TB).
5 days ago
evgeny
265421eb96
tun proxy: фикс TCP-суммы (нечётный pbuf), FIN до дренажа to_lwip, tcp_bind/rexmit_fast/active_pcbs_changed + нагрузочный burst-тест
6 days ago
evgeny
a20d73d2be
proxy/tun: добавить DEBUG-логи диагностики застревания keep-alive (lwIP IN/OUT/RECVED/RTO/PERSIST + per-conn DIAG)
6 days ago
evgeny
4353daf913
freebsd: уникальный dst-адрес per-interface (tunN -> 192.0.2.(N+1))
6 days ago
evgeny
3a4daf6e77
etcp: строгая последовательность коллбэков при закрытии (NEW→UP↔DOWN→DELETE)
...
- close: финальный per-connection DOWN только если был UP, до state=2
- etcp_cbk_fire / etcp_fire_conn_status / etcp_link_ready_callback / etcp_on_up: guard state==2
- документация контракта в etcp_api.h / etcp.h
6 days ago
evgeny
ab5d1c5f91
topo_group: диагностика senders_list (new_conn/remove_conn) для локализации UAF
...
- new_conn: DEBUG_INFO ADD с conn/peer/state/ch
- remove_conn: state в enter-логе, детали в !found_in_list WARN, REMOVED-лог
6 days ago
evgeny
08e8b2f1cc
route_connectivity: фикс UAF при удалении узла с влётными пробами; отмена TCP-пингов при teardown
...
- topo_nodeq_remove_node: единый хелпер удаления nq (cancel проб + free paths/subnets + remove + free), заменяет все free-сайты
- route_connectivity_cancel_all: итерация по всем группам + зануление ctx->nq + отмена standby-defer
- etcp_send_tcp_ping: out_cli — хендл stcp_client для досрочной отмены; conn_probe_ctx.tcp_cli
- conn_mgr: cand_tcp_pings[] — отмена влётных candidate TCP-пингов в conn_mgr_destroy
6 days ago
evgeny
3f7b4351cd
stcp: фикс UAF log_dump, дренаж очередей при закрытии, защита pre-closed серверной ветки, логирование тихих сбросов rx
6 days ago
evgeny
ceaf466b1c
chatgui-android: входящий звонок поверх блокировки (inline-оверлей) + вибрация всегда кроме silent
1 week ago
evgeny
fb4343fca6
transport: reality-релей idle-timeout (конфиг, дефолт 5с) + warn при >64 релеях; убрать лимит FD_SETSIZE; проверка socket_id в stcp_server
1 week ago
evgeny
cc269e810c
Звонки: надёжность отмены (INVITE-кодограмма + watchdog) и вибрация входящего по ringer-режиму
1 week ago
evgeny
b90dc752d2
call: две фазы исходящего вызова — индикация + разные гудки (desktop/Android)
1 week ago
evgeny
7198154106
chatgui: клик по медиа с отсутствующим файлом — сброс пометки и перекачка
1 week ago
evgeny
d237dfec7c
diag: кольцевой трейс вызовов teardown + дамп при SIGSEGV (размотка UAF link close)
1 week ago
evgeny
4f29839de5
chat: инвайтер шлёт CONNECT_RESULT(0) после приёма джойнера
...
- chat_join_process_request: постить CHAT_EVT_CONNECT_RESULT(result=0) в GUI инвайтера
(иначе диалог «Пригласить в канал» висел на «ожидание ответа»)
- cs_handle_join_request: снять pending_invite_* и погасить invite_send_timer после join
1 week ago
evgeny
b46fd599fa
chat: push-invite join key + запрет флагов на плейсхолдере
...
- CHANNEL_INVITE теперь несёт join_key (регистрируется инвайтером локально),
джойнер шлёт JOIN_INFO_REQ с валидным ключом — чинит автоjoin chatserver-узлов
- ask-путь сохраняет join_key для chat_sync_accept_invite
- chat_member_tags_commit отвергает установку флагов на source!=0 (плейсхолдер)
- member_sync_apply_record: defensive ERROR при adm_tags на плейсхолдере
1 week ago
evgeny
0e625da109
call: ретрансмит INVITE каждые 2с + fail-fast при отсутствии маршрута (6с)
1 week ago
evgeny
93becd36e6
keepalive: TCP-линки без ретраев/ACK; не пинговать спящих пиров, bg-ping цикл ≤ 1/мин
1 week ago
evgeny
a3e890b711
keepalive: раздельный sleep-код (announce+ACK-ретраи в окне, dead-link) + без flagless в спячке
1 week ago
evgeny
a3df1720b4
keepalive: симметричный sleep-протокол (без is_server) + отдельный ACK-бит
1 week ago
evgeny
331c7849f0
keepalive: убрать периодический keepalive в standby (обе стороны молчат, только фазовые анонсы + один ack)
1 week ago