Alexandre Boulgakov
621761b289
Swift: Use absl::bit_width to calculate TRAP label size.
...
It's not much cleaner due to arithmetic to convert truncating division to a ceiling, but has two advantages:
1. It doesn't suffer from rounding issues with large TRAP labels. This is largely theoretical, but does let us handle `undefined` uniformly.
2. It should be much faster (using LZCNT/BSR instead of floating point arithmetic). This is probably not a performance bottleneck, so *shrug*.
2023-04-24 22:31:11 +01:00
Paolo Tranquilli
14706b42fa
Swift: strip parameters from lazy function decl trap names
2023-04-24 17:04:41 +02:00
Paolo Tranquilli
e84bdf5bed
Swift: use hashing for lazy decl trap file names
...
It turns out mangled names can sometimes be too long. While this code
will eventually be replaced by our own mangling, we need to use hashing
to cut down the names.
Module and decl names are preserved in the trap file names for
debuggability.
2023-04-24 14:36:36 +02:00
Paolo Tranquilli
95ef7fb3f1
Revert "Swift: route compiler diagnostics through our log"
2023-04-24 13:57:24 +02:00
Michael Nebel
8ade7247a1
Merge pull request #12885 from michaelnebel/mergepathgraph3
...
Dataflow: Introduce param module for merging three path graphs.
2023-04-24 12:49:28 +02:00
Geoffrey White
1f126b60ff
Swift: Touch UnsafeWebViewFetch.qhelp.
2023-04-24 09:35:32 +01:00
Paolo Tranquilli
1ed5f6ac96
Swift: flush log files on log flushing
2023-04-24 10:08:37 +02:00
Paolo Tranquilli
c04ac9c04e
Swift: demote wrong assertion
2023-04-24 09:57:51 +02:00
Paolo Tranquilli
55f23ffa6f
Merge branch 'main' into redsun82/swift-logging-assertions-and-prints
2023-04-21 09:18:48 +02:00
Geoffrey White
bfbd45a220
Swift: Fix CSV field sinks.
2023-04-20 18:14:34 +01:00
Geoffrey White
d317ad80e5
Swift: Convert to CSV sinks.
2023-04-20 17:53:00 +01:00
Nora Dimitrijević
1f861fda25
Merge pull request #12736 from d10c/swift/capture-flow
...
Swift: Closure Capture Helper APIs
2023-04-20 18:45:56 +02:00
Geoffrey White
380bf21a38
Swift: Update InsecureTLSExtensions.ql sinks to not depend on AssignExpr.
2023-04-20 17:15:48 +01:00
Geoffrey White
c1a95d57bb
Swift: Add some test cases.
2023-04-20 17:15:47 +01:00
Michael Nebel
656d8d2451
Sync files.
2023-04-20 11:29:51 +02:00
Paolo Tranquilli
60c723e7cc
Swift: aggregate default output directories
...
In case the extractor is run in isolation for debugging/testing, this
will avoid littering the current working directory with artifacts, and
instead having a single `extractor-out` directory to inspect or clean
up.
Also extractor logs have been nested into a `swift` directory, as the
log directory provided by the `codeql` cli is actually shared between
languages.
2023-04-20 09:20:11 +02:00
Geoffrey White
7285704807
Merge pull request #12876 from geoffw0/extensiondecl
...
Swift: Improve ExtensionDecl.toString
2023-04-19 16:41:48 +01:00
Geoffrey White
e895cac569
Merge pull request #12877 from geoffw0/deprecated
...
Swift: Delete deprecated classes
2023-04-19 16:41:25 +01:00
Geoffrey White
3779d8423f
Swift: Autoformat.
2023-04-19 14:57:17 +01:00
Geoffrey White
4484574301
Swift: Rename clashing CleartextStorage modules.
2023-04-19 14:29:25 +01:00
Geoffrey White
10c222e7e2
Swift: Remove deprecated classes from queries.
2023-04-19 14:26:03 +01:00
Geoffrey White
a3c66b6032
Merge pull request #12833 from geoffw0/addmodels
...
Swift: Add some sink models
2023-04-19 14:18:29 +01:00
Geoffrey White
49dccaa89d
Swift: Fix other tests.
2023-04-19 14:16:24 +01:00
Geoffrey White
e9ffefaa96
Swift: Improve ExtensionDecl.toString.
2023-04-19 13:38:04 +01:00
Geoffrey White
c092851c28
Swift: Add a test for ExtensionDecls.
2023-04-19 11:50:49 +01:00
Mathias Vorreiter Pedersen
8d62d5916e
Merge pull request #12807 from MathiasVP/dataflow-for-keypaths
...
Swift: Dataflow for keypaths
2023-04-19 10:00:49 +01:00
Geoffrey White
c7ea08aa73
Swift: Fix inline expectations.
2023-04-18 17:32:38 +01:00
Nora Dimitrijević
7f675d8c3b
Swift: more CapturedDecl test cases
2023-04-18 16:50:38 +02:00
Nora Dimitrijević
96f06f8eca
Swift: refactor the public API wrt captures
...
This exposes capture- and access-related methods under different names.
2023-04-18 16:50:37 +02:00
Mathias Vorreiter Pedersen
231b0fcab2
Swift: Add more tests.
2023-04-18 12:01:08 +01:00
Paolo Tranquilli
4b40471f7b
Swift: reconfigure default logging in qltest.sh
...
Route all logging to console by default, which ends up in the qltest.log
file.
2023-04-18 12:48:59 +02:00
Paolo Tranquilli
61bb6c912a
Swift: replace or remove assertions in translators
...
Assertions before fetching a non optional label are not needed as
the dispatcher will replace those with unspecified elements (and
properly log those instances).
2023-04-18 12:16:22 +02:00
Paolo Tranquilli
df84ed5953
Swift: error printing in SwiftInvocationExtractor
2023-04-18 12:16:22 +02:00
Paolo Tranquilli
a1cec3e970
Swift: replace assertions and prints in the file library
2023-04-18 12:16:22 +02:00
Paolo Tranquilli
f965495ddf
Swift: replace assertions and direct prints in SwiftDispatcher
...
Also added opt-in logging of undefined trap labels for all emissions
outside the `SwiftDispatcher`.
2023-04-18 12:16:22 +02:00
Paolo Tranquilli
dbfd85c505
Swift: replace assertions and prints in main and SwiftExtractor
2023-04-18 12:14:46 +02:00
Paolo Tranquilli
f42975f132
Swift: add assertion and expectation macros
2023-04-18 11:48:45 +02:00
Tom Hvitved
f6d000eb20
Merge pull request #12805 from hvitved/remove-queries-xml
...
Remove all `queries.xml` files
2023-04-18 10:52:14 +02:00
Paolo Tranquilli
b8c55612e5
Swift: route compiler diagnostics through our log
2023-04-18 08:46:31 +02:00
Paolo Tranquilli
901db73d55
Merge pull request #12745 from github/redsun82/swift-logging
...
Swift: introduce usage of binlog
2023-04-17 15:23:29 +02:00
Paolo Tranquilli
cbe247e123
Merge branch 'main' into redsun82/swift-logging
2023-04-17 10:27:14 +02:00
Paolo Tranquilli
3f139bd93b
Swift: address logging review comments
2023-04-17 10:27:01 +02:00
Paolo Tranquilli
edb355b47f
Swift: add QLdoc for generated Raw and Synth modules
2023-04-17 09:38:26 +02:00
Geoffrey White
d94ed1b4a3
Merge pull request #12824 from geoffw0/modernsec4
...
Swift: Add CryptoSwift sinks in swift/weak-sensitive-data-hashing
2023-04-14 19:56:37 +01:00
Geoffrey White
706fdce527
Swift: Downgrade swift/unsafe-js-eval to precision medium.
2023-04-14 18:16:16 +01:00
Geoffrey White
2adc4c0feb
Swift: PredicatUpgrade predicate injection sources from RemoteFlowSource to FlowSource. Even local input should be in parameters rather than concatenated into the predicate.
2023-04-14 17:50:57 +01:00
Geoffrey White
7b8606d411
Swift: Delete unnecessary import.
2023-04-14 16:36:22 +01:00
Geoffrey White
9ecba6a94d
Swift: Add missing imports in ExternalFlow.qll.
2023-04-14 14:58:24 +01:00
Geoffrey White
619d572d50
Swift: Add RNCryptor hmacKey encryption-key sinks.
2023-04-14 14:58:15 +01:00
Geoffrey White
46da73cc11
Swift: Add realm path-injection sinks.
2023-04-14 14:50:50 +01:00