summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/broker/AclModule.h
diff options
context:
space:
mode:
authorCharles E. Rolke <chug@apache.org>2012-06-11 02:09:38 +0000
committerCharles E. Rolke <chug@apache.org>2012-06-11 02:09:38 +0000
commit9cf12d2df4edb6d2df5f75f0f719c88553b6fa46 (patch)
treeae2391200615b39c1525707976bf2eba72cd13c9 /cpp/src/qpid/broker/AclModule.h
parent76f9fb4077321f08893dafddbbedbeceeafaaeec (diff)
downloadqpid-python-9cf12d2df4edb6d2df5f75f0f719c88553b6fa46.tar.gz
QPID-4022 C++ Broker connection limits by host ip and by user name.
Rework the strategy to deny connections based on configured limits. All limits checked in one function from points in broker when the user's authenticated name is known. Denied connections receive the AMQP exception instead of getting the socket closed. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1348707 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/broker/AclModule.h')
-rw-r--r--cpp/src/qpid/broker/AclModule.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/cpp/src/qpid/broker/AclModule.h b/cpp/src/qpid/broker/AclModule.h
index ff9281b6fc..7c180439cf 100644
--- a/cpp/src/qpid/broker/AclModule.h
+++ b/cpp/src/qpid/broker/AclModule.h
@@ -113,6 +113,7 @@ namespace acl {
namespace broker {
+ class Connection;
class AclModule
{
@@ -139,6 +140,11 @@ namespace broker {
// Add specialized authorise() methods as required.
+ /** Approve connection by counting connections total, per-IP, and
+ * per-user.
+ */
+ virtual bool approveConnection (const Connection& connection)=0;
+
virtual ~AclModule() {};
};
} // namespace broker