Skip to content

Commit 2a33a86

Browse files
committed
C#: Merge ExternalFlow.qll and ExternalFlowExtensions.qll, and move to internal
1 parent aa521ec commit 2a33a86

34 files changed

+66
-82
lines changed

csharp/ql/lib/semmle/code/csharp/dataflow/ExternalFlowExtensions.qll

Lines changed: 0 additions & 34 deletions
This file was deleted.

csharp/ql/lib/semmle/code/csharp/dataflow/ExternalFlow.qll renamed to csharp/ql/lib/semmle/code/csharp/dataflow/internal/ExternalFlow.qll

Lines changed: 34 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -87,27 +87,45 @@
8787
*/
8888

8989
import csharp
90-
private import ExternalFlowExtensions as Extensions
91-
private import internal.AccessPathSyntax
92-
private import internal.DataFlowDispatch
93-
private import internal.DataFlowPrivate
94-
private import internal.DataFlowPublic
95-
private import internal.FlowSummaryImpl::Public
96-
private import internal.FlowSummaryImpl::Private::External
97-
private import internal.FlowSummaryImplSpecific
90+
private import AccessPathSyntax
91+
private import DataFlowDispatch
92+
private import DataFlowPrivate
93+
private import DataFlowPublic
94+
private import FlowSummaryImpl::Public
95+
private import FlowSummaryImpl::Private::External
96+
private import FlowSummaryImplSpecific
9897
private import codeql.mad.ModelValidation as SharedModelVal
9998

100-
/** Holds if a source model exists for the given parameters. */
101-
predicate sourceModel = Extensions::sourceModel/9;
99+
/**
100+
* Holds if a source model exists for the given parameters.
101+
*/
102+
extensible predicate sourceModel(
103+
string namespace, string type, boolean subtypes, string name, string signature, string ext,
104+
string output, string kind, string provenance
105+
);
102106

103-
/** Holds if a sink model exists for the given parameters. */
104-
predicate sinkModel = Extensions::sinkModel/9;
107+
/**
108+
* Holds if a sink model exists for the given parameters.
109+
*/
110+
extensible predicate sinkModel(
111+
string namespace, string type, boolean subtypes, string name, string signature, string ext,
112+
string input, string kind, string provenance
113+
);
105114

106-
/** Holds if a summary model exists for the given parameters. */
107-
predicate summaryModel = Extensions::summaryModel/10;
115+
/**
116+
* Holds if a summary model exists for the given parameters.
117+
*/
118+
extensible predicate summaryModel(
119+
string namespace, string type, boolean subtypes, string name, string signature, string ext,
120+
string input, string output, string kind, string provenance
121+
);
108122

109-
/** Holds if a neutral model exists for the given parameters. */
110-
predicate neutralModel = Extensions::neutralModel/6;
123+
/**
124+
* Holds if a neutral model exists for the given parameters.
125+
*/
126+
extensible predicate neutralModel(
127+
string namespace, string type, string name, string signature, string kind, string provenance
128+
);
111129

112130
private predicate relevantNamespace(string namespace) {
113131
sourceModel(namespace, _, _, _, _, _, _, _, _) or

csharp/ql/lib/semmle/code/csharp/dataflow/internal/FlowSummaryImplSpecific.qll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ private import DataFlowImplCommon
1212
private import FlowSummaryImpl::Private
1313
private import FlowSummaryImpl::Public
1414
private import semmle.code.csharp.Unification
15-
private import semmle.code.csharp.dataflow.ExternalFlow
15+
private import ExternalFlow
1616
private import semmle.code.csharp.dataflow.FlowSummary as FlowSummary
1717

1818
/**

csharp/ql/lib/semmle/code/csharp/security/cryptography/HardcodedSymmetricEncryptionKey.qll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
*/
55

66
import csharp
7-
private import semmle.code.csharp.dataflow.ExternalFlow
7+
private import semmle.code.csharp.dataflow.internal.ExternalFlow
88

99
module HardcodedSymmetricEncryptionKey {
1010
private import semmle.code.csharp.frameworks.system.security.cryptography.SymmetricAlgorithm

csharp/ql/lib/semmle/code/csharp/security/dataflow/CodeInjectionQuery.qll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ private import semmle.code.csharp.security.dataflow.flowsources.Remote
77
private import semmle.code.csharp.security.dataflow.flowsources.Local
88
private import semmle.code.csharp.frameworks.system.codedom.Compiler
99
private import semmle.code.csharp.security.Sanitizers
10-
private import semmle.code.csharp.dataflow.ExternalFlow
10+
private import semmle.code.csharp.dataflow.internal.ExternalFlow
1111

1212
/**
1313
* A data flow source for user input treated as code vulnerabilities.

csharp/ql/lib/semmle/code/csharp/security/dataflow/CommandInjectionQuery.qll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import csharp
66
private import semmle.code.csharp.security.dataflow.flowsources.Remote
77
private import semmle.code.csharp.frameworks.system.Diagnostics
88
private import semmle.code.csharp.security.Sanitizers
9-
private import semmle.code.csharp.dataflow.ExternalFlow
9+
private import semmle.code.csharp.dataflow.internal.ExternalFlow
1010

1111
/**
1212
* A source specific to command injection vulnerabilities.

csharp/ql/lib/semmle/code/csharp/security/dataflow/LDAPInjectionQuery.qll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ private import semmle.code.csharp.security.dataflow.flowsources.Remote
88
private import semmle.code.csharp.frameworks.system.DirectoryServices
99
private import semmle.code.csharp.frameworks.system.directoryservices.Protocols
1010
private import semmle.code.csharp.security.Sanitizers
11-
private import semmle.code.csharp.dataflow.ExternalFlow
11+
private import semmle.code.csharp.dataflow.internal.ExternalFlow
1212

1313
/**
1414
* A data flow source for unvalidated user input that is used to construct LDAP queries.

csharp/ql/lib/semmle/code/csharp/security/dataflow/LogForgingQuery.qll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ private import semmle.code.csharp.frameworks.System
88
private import semmle.code.csharp.frameworks.system.text.RegularExpressions
99
private import semmle.code.csharp.security.Sanitizers
1010
private import semmle.code.csharp.security.dataflow.flowsinks.ExternalLocationSink
11-
private import semmle.code.csharp.dataflow.ExternalFlow
11+
private import semmle.code.csharp.dataflow.internal.ExternalFlow
1212

1313
/**
1414
* A data flow source for untrusted user input used in log entries.

csharp/ql/lib/semmle/code/csharp/security/dataflow/SqlInjectionQuery.qll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ private import semmle.code.csharp.security.dataflow.flowsources.Remote
77
private import semmle.code.csharp.security.dataflow.flowsources.Local
88
private import semmle.code.csharp.frameworks.Sql
99
private import semmle.code.csharp.security.Sanitizers
10-
private import semmle.code.csharp.dataflow.ExternalFlow
10+
private import semmle.code.csharp.dataflow.internal.ExternalFlow
1111

1212
/**
1313
* A source specific to SQL injection vulnerabilities.

csharp/ql/lib/semmle/code/csharp/security/dataflow/UrlRedirectQuery.qll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ private import semmle.code.csharp.frameworks.system.Web
99
private import semmle.code.csharp.frameworks.system.web.Mvc
1010
private import semmle.code.csharp.security.Sanitizers
1111
private import semmle.code.csharp.frameworks.microsoft.AspNetCore
12-
private import semmle.code.csharp.dataflow.ExternalFlow
12+
private import semmle.code.csharp.dataflow.internal.ExternalFlow
1313

1414
/**
1515
* A data flow source for unvalidated URL redirect vulnerabilities.

0 commit comments

Comments
 (0)