diff --git a/python/ql/src/experimental/semmle/python/Frameworks.qll b/python/ql/src/experimental/semmle/python/Frameworks.qll index 40bb588c455..554e102021a 100644 --- a/python/ql/src/experimental/semmle/python/Frameworks.qll +++ b/python/ql/src/experimental/semmle/python/Frameworks.qll @@ -9,6 +9,7 @@ private import experimental.semmle.python.frameworks.Werkzeug private import experimental.semmle.python.frameworks.LDAP private import experimental.semmle.python.frameworks.NoSQL private import experimental.semmle.python.frameworks.Log -private import experimental.semmle.python.libraries.FlaskMail private import experimental.semmle.python.frameworks.Django private import experimental.semmle.python.frameworks.Sendgrid +private import experimental.semmle.python.libraries.FlaskMail +private import experimental.semmle.python.libraries.SmtpLib diff --git a/python/ql/src/experimental/semmle/python/frameworks/Django.qll b/python/ql/src/experimental/semmle/python/frameworks/Django.qll index 1674203fbd6..b5808230407 100644 --- a/python/ql/src/experimental/semmle/python/frameworks/Django.qll +++ b/python/ql/src/experimental/semmle/python/frameworks/Django.qll @@ -8,7 +8,7 @@ private import semmle.python.frameworks.Django private import semmle.python.dataflow.new.DataFlow private import experimental.semmle.python.Concepts private import semmle.python.ApiGraphs -import semmle.python.dataflow.new.RemoteFlowSources +private import semmle.python.dataflow.new.RemoteFlowSources private module PrivateDjango { private module django { @@ -112,7 +112,7 @@ private module PrivateDjango { * * `getFrom()`'s result would be `"from@example.com"`. * * `getSubject()`'s result would be `"Subject"`. */ - private class DjangoSendMail extends DataFlow::CallCfgNode, EmailSender { + private class DjangoSendMail extends DataFlow::CallCfgNode, EmailSender::Range { DjangoSendMail() { this = djangoMail().getMember("send_mail").getACall() } override DataFlow::Node getPlainTextBody() { @@ -152,7 +152,7 @@ private module PrivateDjango { * * `getFrom()`'s result would be `none`. * * `getSubject()`'s result would be `"Subject"`. */ - private class DjangoMailInternal extends DataFlow::CallCfgNode, EmailSender { + private class DjangoMailInternal extends DataFlow::CallCfgNode, EmailSender::Range { DjangoMailInternal() { this = djangoMail().getMember(["mail_admins", "mail_managers"]).getACall() } diff --git a/python/ql/src/experimental/semmle/python/frameworks/Sendgrid.qll b/python/ql/src/experimental/semmle/python/frameworks/Sendgrid.qll index 7d467501877..797f7030e8d 100644 --- a/python/ql/src/experimental/semmle/python/frameworks/Sendgrid.qll +++ b/python/ql/src/experimental/semmle/python/frameworks/Sendgrid.qll @@ -83,7 +83,7 @@ private module Sendgrid { * * `getFrom()`'s result would be `"from@example.com"`. * * `getSubject()`'s result would be `"Sending with SendGrid is Fun"`. */ - private class SendGridMail extends DataFlow::CallCfgNode, EmailSender { + private class SendGridMail extends DataFlow::CallCfgNode, EmailSender::Range { SendGridMail() { this.getFunction() = sendgridApiSendCall() } override DataFlow::Node getPlainTextBody() { diff --git a/python/ql/src/experimental/semmle/python/libraries/FlaskMail.qll b/python/ql/src/experimental/semmle/python/libraries/FlaskMail.qll index c8b44ac01f0..e4fe2e7f357 100644 --- a/python/ql/src/experimental/semmle/python/libraries/FlaskMail.qll +++ b/python/ql/src/experimental/semmle/python/libraries/FlaskMail.qll @@ -67,7 +67,7 @@ private module FlaskMail { * * `getFrom()`'s result would be `"from@example.com"`. * * `getSubject()`'s result would be `"Subject"`. */ - private class FlaskMail extends DataFlow::CallCfgNode, EmailSender { + private class FlaskMail extends DataFlow::CallCfgNode, EmailSender::Range { FlaskMail() { this = [flaskMailInstance(), flaskMailInstance().getMember("connect").getReturn()]