Skip to content

Commit e204100

Browse files
committed
Resolve conflict in Concepts.qll
1 parent 17210c7 commit e204100

File tree

1 file changed

+38
-0
lines changed

1 file changed

+38
-0
lines changed

ruby/ql/lib/codeql/ruby/Concepts.qll

+38
Original file line numberDiff line numberDiff line change
@@ -1251,6 +1251,44 @@ module LdapExecution {
12511251
}
12521252
}
12531253

1254+
/*
1255+
* A data-flow node that collects methods binding a LDAP connection.
1256+
*
1257+
* Extend this class to refine existing API models. If you want to model new APIs,
1258+
* extend `LdapBind::Range` instead.
1259+
*/
1260+
1261+
class LdapBind extends DataFlow::Node instanceof LdapBind::Range {
1262+
/** Gets the argument containing the binding host */
1263+
DataFlow::Node getHost() { result = super.getHost() }
1264+
1265+
/** Gets the argument containing the binding expression. */
1266+
DataFlow::Node getPassword() { result = super.getPassword() }
1267+
1268+
/** Holds if the binding process use SSL. */
1269+
predicate usesSsl() { super.usesSsl() }
1270+
}
1271+
1272+
/** Provides classes for modeling LDAP bind-related APIs. */
1273+
module LdapBind {
1274+
/**
1275+
* A data-flow node that collects methods binding a LDAP connection.
1276+
*
1277+
* Extend this class to model new APIs. If you want to refine existing API models,
1278+
* extend `LdapBind` instead.
1279+
*/
1280+
abstract class Range extends DataFlow::Node {
1281+
/** Gets the argument containing the binding host. */
1282+
abstract DataFlow::Node getHost();
1283+
1284+
/** Gets the argument containing the binding expression. */
1285+
abstract DataFlow::Node getPassword();
1286+
1287+
/** Holds if the binding process use SSL. */
1288+
abstract predicate usesSsl();
1289+
}
1290+
}
1291+
12541292
/**
12551293
* A data-flow node that encodes a Jwt token.
12561294
*

0 commit comments

Comments
 (0)