From 7486ef2bb077feb489a55db86707d96e69d12265 Mon Sep 17 00:00:00 2001
From: ludovicp <ludovicp@localhost>
Date: Fri, 30 Jul 2010 12:44:12 +0000
Subject: [PATCH] Implements a disk space thresholds feature, preventing the server from crashing or exiting of disks full.
---
opends/src/server/org/opends/server/workflowelement/ndb/NDBBindOperation.java | 24 ++++++++----------------
1 files changed, 8 insertions(+), 16 deletions(-)
diff --git a/opends/src/server/org/opends/server/workflowelement/ndb/NDBBindOperation.java b/opends/src/server/org/opends/server/workflowelement/ndb/NDBBindOperation.java
index eb0f50c..90117f4 100644
--- a/opends/src/server/org/opends/server/workflowelement/ndb/NDBBindOperation.java
+++ b/opends/src/server/org/opends/server/workflowelement/ndb/NDBBindOperation.java
@@ -22,7 +22,7 @@
* CDDL HEADER END
*
*
- * Copyright 2008-2009 Sun Microsystems, Inc.
+ * Copyright 2008-2010 Sun Microsystems, Inc.
*/
package org.opends.server.workflowelement.ndb;
@@ -31,22 +31,13 @@
import java.util.List;
import org.opends.messages.Message;
+import org.opends.server.api.ClientConnection;
import org.opends.server.api.plugin.PluginResult;
import org.opends.server.core.BindOperation;
import org.opends.server.core.DirectoryServer;
import org.opends.server.core.PasswordPolicyState;
import org.opends.server.loggers.debug.DebugTracer;
-import org.opends.server.types.AccountStatusNotification;
-import org.opends.server.types.AccountStatusNotificationType;
-import org.opends.server.types.Attribute;
-import org.opends.server.types.AttributeType;
-import org.opends.server.types.AuthenticationInfo;
-import org.opends.server.types.ByteString;
-import org.opends.server.types.DebugLogLevel;
-import org.opends.server.types.DirectoryException;
-import org.opends.server.types.DN;
-import org.opends.server.types.Entry;
-import org.opends.server.types.ResultCode;
+import org.opends.server.types.*;
import org.opends.server.workflowelement.localbackend.LocalBackendBindOperation;
import static org.opends.messages.CoreMessages.*;
@@ -173,14 +164,15 @@
if (pwPolicyState.passwordMatches(simplePassword)) {
setResultCode(ResultCode.SUCCESS);
- boolean isRoot = DirectoryServer.isRootDN(userEntry.getDN());
- if (DirectoryServer.lockdownMode() && (!isRoot)) {
+ if (DirectoryServer.lockdownMode() &&
+ (! ClientConnection.hasPrivilege(userEntry,
+ Privilege.BYPASS_LOCKDOWN)))
+ {
throw new DirectoryException(ResultCode.INVALID_CREDENTIALS,
ERR_BIND_REJECTED_LOCKDOWN_MODE.get());
}
setAuthenticationInfo(new AuthenticationInfo(userEntry, getBindDN(),
- simplePassword,
- isRoot));
+ simplePassword, DirectoryServer.isRootDN(userEntry.getDN())));
// Set resource limits for the authenticated user.
--
Gitblit v1.10.0