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/localbackend/LocalBackendBindOperation.java | 31 +++++++++----------------------
1 files changed, 9 insertions(+), 22 deletions(-)
diff --git a/opends/src/server/org/opends/server/workflowelement/localbackend/LocalBackendBindOperation.java b/opends/src/server/org/opends/server/workflowelement/localbackend/LocalBackendBindOperation.java
index 576425f..16df4c8 100644
--- a/opends/src/server/org/opends/server/workflowelement/localbackend/LocalBackendBindOperation.java
+++ b/opends/src/server/org/opends/server/workflowelement/localbackend/LocalBackendBindOperation.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.localbackend;
@@ -52,21 +52,7 @@
import org.opends.server.core.PasswordPolicyState;
import org.opends.server.core.PluginConfigManager;
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.AttributeValue;
-import org.opends.server.types.AuthenticationInfo;
-import org.opends.server.types.ByteString;
-import org.opends.server.types.Control;
-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.LockManager;
-import org.opends.server.types.ResultCode;
-import org.opends.server.types.WritabilityMode;
+import org.opends.server.types.*;
import org.opends.server.types.operation.PostOperationBindOperation;
import org.opends.server.types.operation.PostResponseBindOperation;
import org.opends.server.types.operation.PreOperationBindOperation;
@@ -621,15 +607,15 @@
{
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());
+ 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.
@@ -816,7 +802,8 @@
{
if ((resultCode != ResultCode.SUCCESS) ||
(saslAuthUserEntry == null) ||
- (! DirectoryServer.isRootDN(saslAuthUserEntry.getDN())))
+ (! ClientConnection.hasPrivilege(saslAuthUserEntry,
+ Privilege.BYPASS_LOCKDOWN)))
{
throw new DirectoryException(ResultCode.INVALID_CREDENTIALS,
ERR_BIND_REJECTED_LOCKDOWN_MODE.get());
--
Gitblit v1.10.0