diff --git a/.drone.jsonnet b/.drone.jsonnet index 58aead638..0c76e9760 100644 --- a/.drone.jsonnet +++ b/.drone.jsonnet @@ -394,10 +394,10 @@ local docs_pipeline(name, image, extra_cmds=[], allow_fail=false) = { debian_pipeline('Debian sid/debug', docker_base + 'debian-sid', build_type='Debug'), debian_pipeline('Debian sid/debug [arm64]', docker_base + 'debian-sid', build_type='Debug', arch='arm64', jobs=4), - clang(17), - full_llvm(17), - clang(19), + clang(18), full_llvm(19), + clang(20), + full_llvm(20), debian_pipeline('Debian testing', docker_base + 'debian-forky'), debian_pipeline('Debian testing [i386]', docker_base + 'debian-forky/i386'), diff --git a/contrib/libsession-router_jank_test.cpp b/contrib/libsession-router_jank_test.cpp index 4740afba6..da0679c0e 100644 --- a/contrib/libsession-router_jank_test.cpp +++ b/contrib/libsession-router_jank_test.cpp @@ -6,6 +6,7 @@ #include #include #include +#include extern "C" { @@ -18,7 +19,7 @@ int main(int argc, char** argv) { if (argc <= 1) { - std::cerr << "USAGE: " << argv[0] << " {PUBKEY.sesh | PUBKEY.snode | ONS.loki}\n"; + std::cerr << "USAGE: " << argv[0] << " {PUBKEY.sesh | PUBKEY.snode | ONS.loki}[:REMOTEPORT]\n"; return 1; } @@ -32,6 +33,12 @@ int main(int argc, char** argv) std::string target{argv[1]}; + int port = 12345; // Default, but updated if target ends with :PORT + if (std::smatch m; std::regex_match(target, m, std::regex{"(.*):(\\d+)$"})) { + port = std::stoi(m[2]); + target = m[1]; + } + auto srouter = std::make_unique(std::filesystem::path{"jank.ini"}); std::promise prom; @@ -83,12 +90,12 @@ int main(int argc, char** argv) srouter->establish_udp( target, - 12345, - [&prom, &start](auto udp_info) { + port, + [&prom, &start, &port](auto udp_info) { std::cout << "\n\x1b[32;1mSession established (" << std::chrono::round(std::chrono::steady_clock::now() - start).count() - << "ms); UDP bound to port [::1]:" << udp_info.local_port << "\x1b[0m\n\n" + << "ms); remote UDP port " << port << " bound to local port [::1]:" << udp_info.local_port << "\x1b[0m\n\n" << std::flush; prom.set_value(); }, @@ -133,7 +140,7 @@ int main(int argc, char** argv) << " Ctrl-C -- shut down\x1b[0m\n\n\n"; /* - srouter.map_tcp_remote_port(std::string{argv[1]}, 12345, + srouter.map_tcp_remote_port(std::string{argv[1]}, port, [&](auto tunnel_info) { std::cout << "\n\nTCP bound to port " << tunnel_info.local_port << "\n\n"; }, @@ -151,12 +158,12 @@ int main(int argc, char** argv) { case SIGHUP: std::cout << "\n\n\n\x1b[33;1mHangup signal received; closing UDP tunnel\x1b[0m\n\n\n"; - srouter->close_udp(target, 12345); + srouter->close_udp(target, port); break; case SIGUSR1: { std::cout << "\n\n\n\x1b[32;1mSIGUSR1 received: (re-)opening UDP tunnel\x1b[0m\n"; - auto ti = srouter->establish_udp(target, 12345); + auto ti = srouter->establish_udp(target, port); std::cout << "\n\x1b[32;1mUDP bound to port " << ti.local_port << "\x1b[0m\n\n"; break; } diff --git a/external/oxen-libquic b/external/oxen-libquic index 9c813b93e..33805caeb 160000 --- a/external/oxen-libquic +++ b/external/oxen-libquic @@ -1 +1 @@ -Subproject commit 9c813b93e4bc9779f208989d3438b599506e61db +Subproject commit 33805caebe28d1b6ce02c21587aec184fd894f00