| | |
| | | super("OpenDJ", 1.0D, "OpenDJ LDAP security provider"); |
| | | this.defaultConfig = defaultConfig; |
| | | AccessController.doPrivileged(new PrivilegedAction<Void>() { |
| | | @Override |
| | | public Void run() { |
| | | putService(new KeyStoreService()); |
| | | return null; |
| | |
| | | * |
| | | * Copyright 2016 ForgeRock AS. |
| | | * Portions Copyright 2017 Rosie Applications, Inc. |
| | | * Portions Copyright 2026 3A Systems, LLC. |
| | | */ |
| | | package org.forgerock.opendj.rest2ldap; |
| | | |
| | |
| | | return router; |
| | | } |
| | | |
| | | @Override |
| | | Promise<RoutingContext, ResourceException> route(final Context context) { |
| | | final Connection conn = context.asContext(AuthenticatedConnectionContext.class).getConnection(); |
| | | final SearchRequest searchRequest = namingStrategy.createSearchRequest(dnFrom(context), idFrom(context)); |
| | |
| | | * |
| | | * Copyright 2016 ForgeRock AS. |
| | | * Portions Copyright 2017 Rosie Applications, Inc. |
| | | * Portions Copyright 2026 3A Systems, LLC. |
| | | */ |
| | | package org.forgerock.opendj.rest2ldap; |
| | | |
| | |
| | | return router; |
| | | } |
| | | |
| | | @Override |
| | | Promise<RoutingContext, ResourceException> route(final Context context) { |
| | | return newResultPromise(newRoutingContext(context, dnFrom(context), resource)); |
| | | } |
| | |
| | | * information: "Portions Copyright [year] [name of copyright owner]". |
| | | * |
| | | * Copyright 2016 ForgeRock AS. |
| | | * Portions Copyright 2026 3A Systems, LLC. |
| | | */ |
| | | package org.opends.server.discovery; |
| | | |
| | |
| | | /** |
| | | * Finalize all service discovery mechanism for shutdown. |
| | | */ |
| | | @Override |
| | | public void finalize() |
| | | { |
| | | for (ServiceDiscoveryMechanism<?> service : serviceDiscoveryMechanisms.values()) |
| | |
| | | * information: "Portions Copyright [year] [name of copyright owner]". |
| | | * |
| | | * Copyright 2013-2016 ForgeRock AS. |
| | | * Portions Copyright 2026 3A Systems, LLC. |
| | | */ |
| | | package org.opends.server.extensions; |
| | | |
| | |
| | | public class PBKDF2HmacSHA256PasswordStorageScheme |
| | | extends AbstractPBKDF2PasswordStorageScheme |
| | | { |
| | | @Override |
| | | public String getStorageSchemeName() { |
| | | return STORAGE_SCHEME_NAME_PBKDF2_HMAC_SHA256; |
| | | } |
| | | |
| | | @Override |
| | | public String getAuthPasswordSchemeName() { |
| | | return AUTH_PASSWORD_SCHEME_NAME_PBKDF2_HMAC_SHA256; |
| | | } |
| | | |
| | | @Override |
| | | String getMessageDigestAlgorithm() { |
| | | return MESSAGE_DIGEST_ALGORITHM_PBKDF2_HMAC_SHA256; |
| | | } |
| | | |
| | | @Override |
| | | int getDigestSize() { |
| | | return 32; |
| | | } |
| | |
| | | * information: "Portions Copyright [year] [name of copyright owner]". |
| | | * |
| | | * Copyright 2013-2016 ForgeRock AS. |
| | | * Portions Copyright 2026 3A Systems, LLC. |
| | | */ |
| | | package org.opends.server.extensions; |
| | | |
| | |
| | | public class PBKDF2HmacSHA512PasswordStorageScheme |
| | | extends AbstractPBKDF2PasswordStorageScheme |
| | | { |
| | | @Override |
| | | public String getStorageSchemeName() { |
| | | return STORAGE_SCHEME_NAME_PBKDF2_HMAC_SHA512; |
| | | } |
| | | |
| | | @Override |
| | | public String getAuthPasswordSchemeName() { |
| | | return AUTH_PASSWORD_SCHEME_NAME_PBKDF2_HMAC_SHA512; |
| | | } |
| | | |
| | | @Override |
| | | String getMessageDigestAlgorithm() { |
| | | return MESSAGE_DIGEST_ALGORITHM_PBKDF2_HMAC_SHA512; |
| | | } |
| | | |
| | | @Override |
| | | int getDigestSize() { |
| | | return 64; |
| | | } |
| | |
| | | * information: "Portions Copyright [year] [name of copyright owner]". |
| | | * |
| | | * Copyright 2013-2016 ForgeRock AS. |
| | | * Portions Copyright 2026 3A Systems, LLC. |
| | | */ |
| | | package org.opends.server.extensions; |
| | | |
| | |
| | | public class PBKDF2PasswordStorageScheme |
| | | extends AbstractPBKDF2PasswordStorageScheme |
| | | { |
| | | @Override |
| | | public String getStorageSchemeName() { |
| | | return STORAGE_SCHEME_NAME_PBKDF2; |
| | | } |
| | | |
| | | @Override |
| | | public String getAuthPasswordSchemeName() { |
| | | return AUTH_PASSWORD_SCHEME_NAME_PBKDF2; |
| | | } |
| | | |
| | | @Override |
| | | String getMessageDigestAlgorithm() { |
| | | return MESSAGE_DIGEST_ALGORITHM_PBKDF2; |
| | | } |
| | | |
| | | @Override |
| | | int getDigestSize() { |
| | | return 20; |
| | | } |
| | |
| | | // @formatter:off |
| | | // Extended log format standard fields |
| | | ELF_C_IP("c-ip") |
| | | { Object valueOf(HTTPRequestInfo i, String tsf) { return i.getClientAddress (); } }, |
| | | { @Override Object valueOf(HTTPRequestInfo i, String tsf) { return i.getClientAddress (); } }, |
| | | ELF_C_PORT("c-port") |
| | | { Object valueOf(HTTPRequestInfo i, String tsf) { return i.getClientPort(); } }, |
| | | { @Override Object valueOf(HTTPRequestInfo i, String tsf) { return i.getClientPort(); } }, |
| | | ELF_CS_HOST("cs-host") |
| | | { Object valueOf(HTTPRequestInfo i, String tsf) { return i.getClientHost(); } }, |
| | | { @Override Object valueOf(HTTPRequestInfo i, String tsf) { return i.getClientHost(); } }, |
| | | ELF_CS_METHOD("cs-method") |
| | | { Object valueOf(HTTPRequestInfo i, String tsf) { return i.getMethod(); } }, |
| | | { @Override Object valueOf(HTTPRequestInfo i, String tsf) { return i.getMethod(); } }, |
| | | ELF_CS_URI("cs-uri") |
| | | { Object valueOf(HTTPRequestInfo i, String tsf) { return i.getUri().toString(); } }, |
| | | { @Override Object valueOf(HTTPRequestInfo i, String tsf) { return i.getUri().toString(); } }, |
| | | ELF_CS_URI_STEM("cs-uri-stem") |
| | | { Object valueOf(HTTPRequestInfo i, String tsf) { return i.getUri().getRawPath(); } }, |
| | | { @Override Object valueOf(HTTPRequestInfo i, String tsf) { return i.getUri().getRawPath(); } }, |
| | | ELF_CS_URI_QUERY("cs-uri-query") |
| | | { Object valueOf(HTTPRequestInfo i, String tsf) { return i.getUri().getRawQuery(); } }, |
| | | { @Override Object valueOf(HTTPRequestInfo i, String tsf) { return i.getUri().getRawQuery(); } }, |
| | | ELF_CS_USER_AGENT("cs(User-Agent)") |
| | | { Object valueOf(HTTPRequestInfo i, String tsf) { return i.getUserAgent(); } }, |
| | | { @Override Object valueOf(HTTPRequestInfo i, String tsf) { return i.getUserAgent(); } }, |
| | | ELF_CS_USERNAME("cs-username") |
| | | { Object valueOf(HTTPRequestInfo i, String tsf) { return i.getAuthUser(); } }, |
| | | { @Override Object valueOf(HTTPRequestInfo i, String tsf) { return i.getAuthUser(); } }, |
| | | ELF_CS_VERSION("cs-version") |
| | | { Object valueOf(HTTPRequestInfo i, String tsf) { return i.getProtocol(); } }, |
| | | { @Override Object valueOf(HTTPRequestInfo i, String tsf) { return i.getProtocol(); } }, |
| | | ELF_S_COMPUTERNAME("s-computername") |
| | | { Object valueOf(HTTPRequestInfo i, String tsf) { return i.getServerHost(); } }, |
| | | { @Override Object valueOf(HTTPRequestInfo i, String tsf) { return i.getServerHost(); } }, |
| | | ELF_S_IP("s-ip") |
| | | { Object valueOf(HTTPRequestInfo i, String tsf) { return i.getServerAddress(); } }, |
| | | { @Override Object valueOf(HTTPRequestInfo i, String tsf) { return i.getServerAddress(); } }, |
| | | ELF_S_PORT("s-port") |
| | | { Object valueOf(HTTPRequestInfo i, String tsf) { return i.getServerPort(); } }, |
| | | { @Override Object valueOf(HTTPRequestInfo i, String tsf) { return i.getServerPort(); } }, |
| | | ELF_SC_STATUS("sc-status") |
| | | { Object valueOf(HTTPRequestInfo i, String tsf) { return i.getStatusCode(); } }, |
| | | { @Override Object valueOf(HTTPRequestInfo i, String tsf) { return i.getStatusCode(); } }, |
| | | |
| | | // Application specific fields (eXtensions) |
| | | X_CONNECTION_ID("x-connection-id") |
| | | { Object valueOf(HTTPRequestInfo i, String tsf) { return i.getConnectionID(); } }, |
| | | { @Override Object valueOf(HTTPRequestInfo i, String tsf) { return i.getConnectionID(); } }, |
| | | X_DATETIME("x-datetime") |
| | | { Object valueOf(HTTPRequestInfo i, String tsf) { return getUserDefinedTime(tsf); } }, |
| | | { @Override Object valueOf(HTTPRequestInfo i, String tsf) { return getUserDefinedTime(tsf); } }, |
| | | X_ETIME("x-etime") |
| | | { Object valueOf(HTTPRequestInfo i, String tsf) { return i.getTotalProcessingTime(); } }, |
| | | { @Override Object valueOf(HTTPRequestInfo i, String tsf) { return i.getTotalProcessingTime(); } }, |
| | | X_TRANSACTION_ID("x-transaction-id") |
| | | { Object valueOf(HTTPRequestInfo i, String tsf) { return i.getTransactionId(); } }; |
| | | { @Override Object valueOf(HTTPRequestInfo i, String tsf) { return i.getTransactionId(); } }; |
| | | // @formatter:on |
| | | |
| | | private final String name; |
| | |
| | | * |
| | | * Copyright 2006-2008 Sun Microsystems, Inc. |
| | | * Portions Copyright 2014-2015 ForgeRock AS. |
| | | * Portions Copyright 2026 3A Systems, LLC. |
| | | */ |
| | | package org.opends.server.types; |
| | | |
| | |
| | | * |
| | | * @return A string representation of this writability mode. |
| | | */ |
| | | @Override |
| | | public String toString() |
| | | { |
| | | return modeName; |
| | |
| | | * |
| | | * Copyright 2008 Sun Microsystems, Inc. |
| | | * Portions Copyright 2012-2014 ForgeRock AS. |
| | | * Portions Copyright 2026 3A Systems, LLC. |
| | | */ |
| | | package org.opends.server.snmp; |
| | | |
| | |
| | | * Getter for the "DsApplIfProtocol" variable. |
| | | * @return an OID representing the connection handler:port |
| | | */ |
| | | @Override |
| | | public String getDsApplIfProtocol() { |
| | | String portNumber = (String)this.monitor.getAttribute |
| | | (this.connectionHandlerName, "ds-connectionhandler-listener"); |
| | |
| | | * Returns the ObjectName of the SNMP entry MBean. |
| | | * @return ObjectName of the entry |
| | | */ |
| | | @Override |
| | | public ObjectName getObjectName() { |
| | | if (this.entryName == null) { |
| | | try { |
| | |
| | | * @param notification received |
| | | * @param handback The handback |
| | | */ |
| | | @Override |
| | | public void handleNotification(Notification notification, Object handback) { |
| | | if (notification instanceof MBeanServerNotification) { |
| | | MBeanServerNotification notif = (MBeanServerNotification) notification; |
| | |
| | | * |
| | | * Copyright 2008-2009 Sun Microsystems, Inc. |
| | | * Portions Copyright 2014 ForgeRock AS. |
| | | * Portions Copyright 2024 3A Systems, LLC. |
| | | * Portions Copyright 2024-2026 3A Systems, LLC. |
| | | */ |
| | | package org.opends.server.snmp; |
| | | |
| | |
| | | * Getter for the "DsServerType" variable. |
| | | * @return a Byte[] representing the Ds Server Type |
| | | */ |
| | | @Override |
| | | public Byte[] getDsServerType() { |
| | | try { |
| | | String value1 = (String) this.monitor.getAttribute( |
| | |
| | | * Gets the object of the entry. |
| | | * @return ObjectName of the entry |
| | | */ |
| | | @Override |
| | | public ObjectName getObjectName() { |
| | | if (this.entryName == null) { |
| | | try { |
| | |
| | | * Gets the name of the acl. |
| | | * @return the name of the acl as a String |
| | | */ |
| | | @Override |
| | | public String getName() { |
| | | return "OpenDS"; |
| | | } |
| | |
| | | /** |
| | | * {@inheritDoc} |
| | | */ |
| | | @Override |
| | | public boolean checkReadPermission(InetAddress address) { |
| | | if (this.allManagers) { |
| | | return true; |
| | |
| | | /** |
| | | * {@inheritDoc} |
| | | */ |
| | | @Override |
| | | public boolean checkReadPermission(InetAddress address, String community) { |
| | | if ((this.checkReadPermission(address)) && |
| | | (this.checkCommunity(community))) { |
| | |
| | | /** |
| | | * {@inheritDoc} |
| | | */ |
| | | @Override |
| | | public boolean checkCommunity(String community) { |
| | | return this.communities.equals(community); |
| | | } |
| | |
| | | /** |
| | | * {@inheritDoc} |
| | | */ |
| | | @Override |
| | | public boolean checkWritePermission(InetAddress address) { |
| | | // WRITE Access are always denied |
| | | return false; |
| | |
| | | /** |
| | | * {@inheritDoc} |
| | | */ |
| | | @Override |
| | | public boolean checkWritePermission(InetAddress address, String community) { |
| | | // WRITE Access are always denied |
| | | return false; |
| | |
| | | * {@inheritDoc} |
| | | * @return the list of traps destinations |
| | | */ |
| | | @Override |
| | | public Enumeration getTrapDestinations() { |
| | | Vector<InetAddress> tempDests = new Vector<InetAddress>(); |
| | | for (String dest : this.trapsDestinations) { |
| | |
| | | * {@inheritDoc} |
| | | * @return the list of communities |
| | | */ |
| | | @Override |
| | | public Enumeration getTrapCommunities(InetAddress address) { |
| | | Vector<String> trapCommunities = new Vector<String>(); |
| | | trapCommunities.add(this.trapsCommunity); |
| | |
| | | * {@inheritDoc} |
| | | * @return an empty enumeration |
| | | */ |
| | | @Override |
| | | public Enumeration getInformDestinations() { |
| | | Vector<String> informDests = new Vector<String>(); |
| | | return informDests.elements(); |
| | |
| | | * {@inheritDoc} |
| | | * @return an empty enumeration |
| | | */ |
| | | @Override |
| | | public Enumeration getInformCommunities(InetAddress address) { |
| | | Vector<String> informCommunities = new Vector<String>(); |
| | | return informCommunities.elements(); |
| | |
| | | return Subject.doAs(this.subject, new PrivilegedAction() |
| | | { |
| | | |
| | | @Override |
| | | public Object run() |
| | | { |
| | | try |
| | |
| | | } |
| | | |
| | | /** {@inheritDoc} */ |
| | | @Override |
| | | public String getName() { |
| | | // ACL Name |
| | | return "OpenDS"; |
| | | } |
| | | |
| | | /** {@inheritDoc} */ |
| | | @Override |
| | | public boolean checkReadPermission(String user) { |
| | | // Test if clone user |
| | | if (user.equals(DEFAULT_USER) || user.equals(ADMIN_USER)) { |
| | |
| | | /** |
| | | * {@inheritDoc} |
| | | */ |
| | | @Override |
| | | public boolean checkReadPermission(String user, String contextName, |
| | | int securityLevel) { |
| | | // Special check for the defaultUser |
| | |
| | | * {@inheritDoc} |
| | | * @return true if the context is correct, false otherwise. |
| | | */ |
| | | @Override |
| | | public boolean checkContextName(String contextName) { |
| | | return this.contextName.equals(contextName); |
| | | } |
| | |
| | | * @param user to check the write permission. |
| | | * @return true if the user has the write permission, false otherwise. |
| | | */ |
| | | @Override |
| | | public boolean checkWritePermission(String user) { |
| | | return user.equals(ADMIN_USER); |
| | | } |
| | | |
| | | /** {@inheritDoc} */ |
| | | @Override |
| | | public boolean checkWritePermission(String user, String contextName, |
| | | int securityLevel) { |
| | | return checkWritePermission(user) |