feat(http): put --http and the plugin fully on the thinclient#40
Merged
Conversation
- CLI --http: replace the hand-rolled run_http_mode (own queue + manual routes) with IDAHTTPServer + statement_executor (use_queue=true; run_until_stopped on the main thread for Hex-Rays affinity). Old body retained as run_http_mode_legacy (unused; cleanup follow-up). - Plugin: replace the legacy whole-script query_fn with a single-statement executor that marshals each statement to IDA's main thread via execute_sync (query_request_t); non-queue + serialize_requests keeps requests serialized. - IDAHTTPServer sets serialize_requests = !use_queue for non-queue servers. - Pin libxsql v1.0.8 -> v1.0.10 (serialize_requests + stop() concurrency fix). All idasql HTTP paths now run through libxsql's thinclient + run_script: continue_on_error/include_sql/format work everywhere. Tested live (--http): status, auth 401, continue_on_error, format=tsv, and graceful /shutdown (exits 0). Plugin compile-verified (GUI not testable headless).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Completes idasql's HTTP convergence onto
xsql::thinclient::http_query_server(libxsql v1.0.10).--http: replaces the hand-rolledrun_http_mode(its own queue + manual routes) withIDAHTTPServer+statement_executor(use_queue=true;run_until_stoppedon the main thread for Hex-Rays affinity). Old body kept asrun_http_mode_legacy(unused; cleanup follow-up).execute_sync(query_request_t);use_queue=false+serialize_requests=true.IDAHTTPServersetsserialize_requests = !use_queue.serialize_requests+stop()concurrency fix).Tested live (
--http)status, auth 401,
?continue_on_error=1,?format=tsv, graceful/shutdownexits 0 (no more double-join abort). Plugin compile-verified (in-process GUI not testable headless).