Paolo Tranquilli
918b0bfc53
Bazel: add experimental to codeql_pack
2024-11-19 12:48:36 +01:00
Simon Friis Vindum
23bfa8a9bc
Rust: Add local data flow edge for SSA definitons
2024-11-19 12:19:47 +01:00
Geoffrey White
c7c6924fda
Rust: Implement query, source/sink/barrier classes and concepts. All of this is framework, nothing is concretely modelled yet.
2024-11-19 11:09:43 +00:00
Geoffrey White
6a7fb06086
Rust: Add .qhelp and examples.
2024-11-19 11:09:42 +00:00
Simon Friis Vindum
bacc37d886
Rust: Add additional tests for intraprocedural data flow
2024-11-19 12:07:26 +01:00
Geoffrey White
2df565c84f
Rust: Add options.yml and sqlx 'query cache' (result of 'sqlx prepare') so that the query test can function.
2024-11-19 10:56:37 +00:00
Geoffrey White
28d0ad94d5
Rust: Add placeholder SQL injection query, linked in test.
2024-11-19 10:56:36 +00:00
Geoffrey White
3673c7c813
Rust: Add SQL injection test cases (complete and functioning).
2024-11-19 10:56:35 +00:00
Simon Friis Vindum
b3668f8183
Merge pull request #17971 from paldepind/rust-df-patterns
...
Rust: Include patterns as data flow nodes
2024-11-19 11:12:12 +01:00
Simon Friis Vindum
2307df41ed
Merge pull request #18010 from paldepind/rust-df-viable-callable
...
Rust: Include method calls in DataFlowCall and implement simple call target resolution
2024-11-19 11:10:34 +01:00
Paolo Tranquilli
e8677b46d5
Bazel: rename shortcut to install
2024-11-19 10:34:40 +01:00
Tom Hvitved
bb8d0b4881
Rust: Handle early returns in async blocks in CFG
2024-11-19 10:33:25 +01:00
Tom Hvitved
b6103e1ef4
Rust: Add CFG test for early return in async block
...
Also made the test comply with `cargo check`.
2024-11-19 10:32:43 +01:00
Paolo Tranquilli
40b8406d62
Bazel: use installer shortcut in docs and workflows
2024-11-19 10:32:21 +01:00
Paolo Tranquilli
6e33f979c7
Bazel: add an installer shortcut to codeql_pack
...
This makes the first `codeql_pack` in a package add an `installer` target
aliasing the `<name>-installer` one. This makes it so that one can for
example do `bazel run //rust:installer` instead of the stuttering
`bazel run //rust:rust-installer`. If a bazel package defines multiple
`codeql_pack` targets, the first one only will get the `installer` alias.
2024-11-19 10:25:31 +01:00
Tom Hvitved
ef9f3835e5
Merge pull request #18007 from hvitved/rust/cfg/and-let
...
Rust: Improve CFG for `let` expressions
2024-11-19 10:23:32 +01:00
Paolo Tranquilli
99494dd540
Merge pull request #18012 from github/revert-18011-revert-17937-redsun82/rust-cargo-options
...
Revert "Revert "Rust: allow to specify more cargo configuration options""
2024-11-19 09:03:52 +01:00
Tom Hvitved
46b4bad510
Rust: Update expected test output
2024-11-19 08:59:12 +01:00
Tom Hvitved
c85a5f9644
Rust: Run cargo fmt
2024-11-19 08:58:34 +01:00
Paolo Tranquilli
f7ee5f4bf5
Merge pull request #18003 from github/redsun82/rust-qltest
...
Rust: only accept `options.yml` in QL tests
2024-11-18 17:24:57 +01:00
Paolo Tranquilli
8377ee545f
Rust: fix reading lists from options.yml
2024-11-18 17:22:23 +01:00
Paolo Tranquilli
0943389ca1
Rust: add rust-specific deps updater script
2024-11-18 16:16:54 +01:00
Simon Friis Vindum
86672b7e8c
Merge branch 'main' into rust-df-viable-callable
2024-11-18 15:52:57 +01:00
Paolo Tranquilli
abd73e16d4
Revert "Revert "Rust: allow to specify more cargo configuration options""
2024-11-18 15:52:03 +01:00
Tom Hvitved
74b5ebe4bf
Rust: Improve CFG for let expressions
2024-11-18 15:51:16 +01:00
Tom Hvitved
8be1127e8c
Rust: Add more CFG tests
2024-11-18 15:51:15 +01:00
Paolo Tranquilli
04072591c4
Revert "Rust: allow to specify more cargo configuration options"
2024-11-18 15:36:06 +01:00
Simon Friis Vindum
58a1b004ab
Rust: Include method calls in DataFlowCall and implement simple call
...
target resolution
2024-11-18 15:27:21 +01:00
Simon Friis Vindum
4e97a9554a
Rust: Add interprocedural tests
2024-11-18 15:21:15 +01:00
Paolo Tranquilli
fa52d03194
Merge pull request #17937 from github/redsun82/rust-cargo-options
...
Rust: allow to specify more cargo configuration options
2024-11-18 13:24:39 +01:00
Paolo Tranquilli
b11388c49b
Rust: accept test changes
2024-11-18 12:06:25 +01:00
Paolo Tranquilli
8137419d93
Rust: only accept options.yml in QL tests
2024-11-18 10:40:29 +01:00
Paolo Tranquilli
0356cdc3cc
Merge pull request #18002 from github/redsun82/rust-ql-test-deps
...
Rust: add optional dependencies to ql tests
2024-11-18 10:32:09 +01:00
Simon Friis Vindum
1a198bfb3a
Merge branch 'main' into rust-df-patterns
2024-11-18 10:06:01 +01:00
Paolo Tranquilli
75375be7ac
Rust: add optional dependencies to ql tests
...
Also accept `options.yml` and `options.yaml` files as well for test options,
to get YAML syntax highlighting. In a follow up PR we might make the extension
mandatory.
2024-11-18 09:42:01 +01:00
Simon Friis Vindum
0e025abd13
Rust: Add custom toString predicate for path expression
2024-11-18 09:09:03 +01:00
Simon Friis Vindum
7cb9d07f59
Rust: Fix default source and sink in inline flow test
2024-11-15 11:59:48 +01:00
Simon Friis Vindum
9bf53f50fa
Rust: Get CFG scope and update expected results
2024-11-15 10:00:43 +01:00
Cornelius Riemenschneider
3fdd35cfdc
Merge pull request #17976 from github/criemen/rust-3rdparty
...
Rust: Vendor build files for 3rdparty dependencies.
2024-11-14 12:58:00 +01:00
Simon Friis Vindum
d3f5b479f6
Merge branch 'main' into rust-df-patterns
2024-11-13 16:22:07 +01:00
Tom Hvitved
2bb5603b30
Merge pull request #17949 from paldepind/rust-async-blocks
...
Rust: Handle async blocks in CFG and SSA
2024-11-13 13:51:20 +01:00
Cornelius Riemenschneider
a66f8209f9
Rust: Vendor 3rdparty dependencies.
...
We've been observing some performance issues using crate_universe on CI.
Therefore, we're moving to vendor the auto-generated BUILD files
in our repository. This should provide a nice speed boost, while
getting rid of the complexity of the "rust cache" job we've been using
when we had a lot of git dependencies.
This PR includes a vendor script, and I'll put up a CI job internally
that runs that vendor script on Cargo.toml and Cargo.lock changes, to check
that the vendored files are in sync.
2024-11-13 13:22:14 +01:00
Simon Friis Vindum
78edafc94c
Rust: Include patterns as data flow nodes
2024-11-12 18:43:06 +01:00
Simon Friis Vindum
274d9421a7
Rust: Cache getEnclosingCfgScope
2024-11-12 13:15:20 +01:00
Simon Friis Vindum
d9d3027667
Rust: Make improvements to getArgString based on PR comments
2024-11-12 09:45:33 +01:00
Simon Friis Vindum
03292310b6
Merge branch 'main' into rust-async-blocks
2024-11-12 09:36:04 +01:00
Simon Friis Vindum
63d84edfae
Rust: Fix minor issues from PR feedback
2024-11-12 08:37:56 +01:00
Simon Friis Vindum
cd2038a8f8
Rust: Setup inline flow test library
2024-11-11 16:41:59 +01:00
Paolo Tranquilli
5ef92a281b
Rust: fix integration test on windows
2024-11-11 13:37:25 +01:00
Paolo Tranquilli
34361b81eb
Rust: reorganize options integration tests
2024-11-11 13:11:10 +01:00