diff --git a/src/main.c b/src/main.c index a9e1d87..0cf69e8 100644 --- a/src/main.c +++ b/src/main.c @@ -503,8 +503,8 @@ int socket_name_random(char *out, size_t out_len); /* Version information (auto-updated by build/version tooling) */ #define NSIGNER_VERSION_MAJOR 0 #define NSIGNER_VERSION_MINOR 0 -#define NSIGNER_VERSION_PATCH 38 -#define NSIGNER_VERSION "v0.0.38" +#define NSIGNER_VERSION_PATCH 39 +#define NSIGNER_VERSION "v0.0.39" /* NSIGNER_HEADERLESS_DECLS_END */ @@ -1626,9 +1626,7 @@ static int prompt_transport_selection(void) { (selected & TRANSPORT_QREXEC_BRIDGE) ? "x" : " "); printf(" [%s] 3. TCP listener (FIPS mesh or local network)\n", (selected & TRANSPORT_TCP) ? "x" : " "); - printf(" [%s] 4. Qrexec one-shot (legacy, one request per invocation)\n", - (selected & TRANSPORT_QREXEC_ONESHOT) ? "x" : " "); - printf("\n [a] select all (except 4) Enter = confirm\n"); + printf("\n [a] select all Enter = confirm\n"); printf("> "); fflush(stdout); @@ -1651,15 +1649,6 @@ static int prompt_transport_selection(void) { printf("At least one transport must be selected.\n"); continue; } - /* Qrexec one-shot is mutually exclusive with persistent listeners */ - if ((selected & TRANSPORT_QREXEC_ONESHOT) && (selected & ~TRANSPORT_QREXEC_ONESHOT)) { - printf("Qrexec one-shot cannot combine with other transports. Deselecting it.\n"); - selected &= ~TRANSPORT_QREXEC_ONESHOT; - if (selected == 0) { - selected = TRANSPORT_UNIX; - } - continue; - } break; } @@ -1674,10 +1663,8 @@ static int prompt_transport_selection(void) { selected ^= TRANSPORT_QREXEC_BRIDGE; } else if (input[0] == '3') { selected ^= TRANSPORT_TCP; - } else if (input[0] == '4') { - selected ^= TRANSPORT_QREXEC_ONESHOT; } else { - printf("Invalid input. Type 1-4, 'a', or Enter to confirm.\n"); + printf("Invalid input. Type 1-3, 'a', or Enter to confirm.\n"); } } @@ -1982,30 +1969,24 @@ int main(int argc, char *argv[]) { return 1; } - /* Qrexec one-shot: use existing single-listener path */ - if (transport_mask & TRANSPORT_QREXEC_ONESHOT) { - listen_mode = NSIGNER_LISTEN_QREXEC; - listen_mode_explicit = 1; - } else { - /* Persistent listeners — configure from menu selection */ - multi_listen = 1; + /* Persistent listeners — configure from menu selection */ + multi_listen = 1; - /* Unix socket (with or without bridge-source-trusted) */ - if (transport_mask & (TRANSPORT_UNIX | TRANSPORT_QREXEC_BRIDGE)) { - /* Use fixed name "nsigner" for scripted access */ - socket_name = "nsigner"; - socket_name_explicit = 1; - listen_mode = NSIGNER_LISTEN_UNIX; - listen_target = socket_name; - if (transport_mask & TRANSPORT_QREXEC_BRIDGE) { - bridge_source_trusted = 1; - } + /* Unix socket (with or without bridge-source-trusted) */ + if (transport_mask & (TRANSPORT_UNIX | TRANSPORT_QREXEC_BRIDGE)) { + /* Use fixed name "nsigner" for scripted access */ + socket_name = "nsigner"; + socket_name_explicit = 1; + listen_mode = NSIGNER_LISTEN_UNIX; + listen_target = socket_name; + if (transport_mask & TRANSPORT_QREXEC_BRIDGE) { + bridge_source_trusted = 1; } + } - /* TCP listener */ - if (transport_mask & TRANSPORT_TCP) { - /* Will be started as a second listener */ - } + /* TCP listener */ + if (transport_mask & TRANSPORT_TCP) { + /* Will be started as a second listener */ } }