From e9ef19dfebcad16bb1268b36c1f07c9882cc7341 Mon Sep 17 00:00:00 2001
From: floblanc <floblanc@localhost>
Date: Fri, 31 Oct 2008 10:45:08 +0000
Subject: [PATCH] The network group defines resource limits for maximum search size and maximum search time. These limits also exist at the directory server level.
---
opendj-sdk/opends/src/server/org/opends/server/api/ClientConnection.java | 16 ++++++++++++++--
opendj-sdk/opends/src/server/org/opends/server/core/networkgroups/ResourceLimits.java | 4 ++--
opendj-sdk/opends/src/server/org/opends/server/core/networkgroups/NetworkGroup.java | 4 ++--
3 files changed, 18 insertions(+), 6 deletions(-)
diff --git a/opendj-sdk/opends/src/server/org/opends/server/api/ClientConnection.java b/opendj-sdk/opends/src/server/org/opends/server/api/ClientConnection.java
index 8e4acc4..a9f8b5a 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/api/ClientConnection.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/api/ClientConnection.java
@@ -1102,8 +1102,14 @@
public void setUnauthenticated()
{
setAuthenticationInfo(new AuthenticationInfo());
- this.sizeLimit = DirectoryServer.getSizeLimit();
- this.timeLimit = DirectoryServer.getTimeLimit();
+ this.sizeLimit = networkGroup.getSearchSizeLimit();
+ if (this.sizeLimit == -1) {
+ this.sizeLimit = DirectoryServer.getSizeLimit();
+ }
+ this.timeLimit = networkGroup.getSearchDurationLimit();
+ if (this.timeLimit == -1) {
+ this.timeLimit = DirectoryServer.getTimeLimit();
+ }
}
@@ -1796,7 +1802,13 @@
// The client connection inherits the resource limits
sizeLimit = networkGroup.getSearchSizeLimit();
+ if (sizeLimit == -1) {
+ sizeLimit = DirectoryServer.getSizeLimit();
+ }
timeLimit = networkGroup.getSearchDurationLimit();
+ if (timeLimit == -1) {
+ timeLimit = DirectoryServer.getTimeLimit();
+ }
}
}
diff --git a/opendj-sdk/opends/src/server/org/opends/server/core/networkgroups/NetworkGroup.java b/opendj-sdk/opends/src/server/org/opends/server/core/networkgroups/NetworkGroup.java
index 3c4f11c..1ed8c0e 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/core/networkgroups/NetworkGroup.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/core/networkgroups/NetworkGroup.java
@@ -681,7 +681,7 @@
if (resourceLimits != null) {
return resourceLimits.getSizeLimit();
}
- return 0;
+ return -1;
}
/**
@@ -693,7 +693,7 @@
if (resourceLimits != null) {
return resourceLimits.getTimeLimit();
}
- return 0;
+ return -1;
}
/**
diff --git a/opendj-sdk/opends/src/server/org/opends/server/core/networkgroups/ResourceLimits.java b/opendj-sdk/opends/src/server/org/opends/server/core/networkgroups/ResourceLimits.java
index 6ed1ed7..e34dfd5 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/core/networkgroups/ResourceLimits.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/core/networkgroups/ResourceLimits.java
@@ -108,8 +108,8 @@
maxOpsPerConnection = 0;
maxConcurrentOpsPerConnection = 0;
- searchSizeLimit = 0;
- searchTimeLimit = 0;
+ searchSizeLimit = -1;
+ searchTimeLimit = -1;
minSearchSubstringLength = 0;
numConnections = 0;
connectionsPerIpMap = new HashMap<String, Integer>();
--
Gitblit v1.10.0