Files
codeql/ruby/ql/test/library-tests/frameworks/action_controller/ActionController.ql
2022-11-16 13:46:51 +13:00

49 lines
1.6 KiB
Plaintext

private import codeql.ruby.AST
private import codeql.ruby.frameworks.ActionController
private import codeql.ruby.frameworks.Rails
private import codeql.ruby.frameworks.ActionView
private import codeql.ruby.Concepts
private import codeql.ruby.DataFlow
query predicate actionControllerControllerClasses(ActionControllerClass cls) { any() }
query predicate actionControllerActionMethods(ActionControllerActionMethod m) { any() }
query predicate paramsCalls(Rails::ParamsCall c) { any() }
query predicate paramsSources(ParamsSource src) { any() }
query predicate httpInputAccesses(Http::Server::RequestInputAccess a, string sourceType) {
sourceType = a.getSourceType()
}
query predicate cookiesCalls(Rails::CookiesCall c) { any() }
query predicate cookiesSources(CookiesSource src) { any() }
query predicate redirectToCalls(RedirectToCall c) { any() }
query predicate renderCalls(Rails::RenderCall c) { any() }
query predicate httpResponses(Http::Server::HttpResponse r, DataFlow::Node body) {
body = r.getBody()
}
query predicate actionControllerHelperMethods(ActionControllerHelperMethod m) { any() }
query predicate getAssociatedControllerClasses(ActionControllerClass cls, ErbFile f) {
cls = getAssociatedControllerClass(f)
}
query predicate controllerTemplateFiles(ActionControllerClass cls, ErbFile templateFile) {
controllerTemplateFile(cls, templateFile)
}
query predicate headerWriteAccesses(
Http::Server::HeaderWriteAccess a, string name, DataFlow::Node value
) {
name = a.getName() and value = a.getValue()
}
query predicate loggingCalls(Logging c, DataFlow::Node input) { input = c.getAnInput() }