8290368: Introduce LDAP and RMI protocol-specific object factory filters to JNDI implementation

Reviewed-by: dfuchs, rriggs, jpai
This commit is contained in:
Aleksei Efimov 2022-10-19 14:41:28 +00:00
parent 21aeb9e794
commit d37ce4cdd1
22 changed files with 1263 additions and 355 deletions

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 1999, 2021, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1999, 2022, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@ -27,12 +27,13 @@ package com.sun.jndi.ldap;
import javax.naming.*;
import javax.naming.directory.*;
import javax.naming.spi.*;
import javax.naming.ldap.*;
import java.util.Hashtable;
import java.util.StringTokenizer;
import com.sun.jndi.toolkit.dir.SearchFilter;
import com.sun.naming.internal.NamingManagerHelper;
import com.sun.naming.internal.ObjectFactoriesFilter;
/**
* A context for handling referrals.
@ -116,8 +117,8 @@ final class LdapReferralContext implements DirContext, LdapContext {
Object obj;
try {
obj = NamingManager.getObjectInstance(ref, null, null, env);
obj = NamingManagerHelper.getObjectInstance(ref, null, null,
env, ObjectFactoriesFilter::checkLdapFilter);
} catch (NamingException e) {
if (handleReferrals == LdapClient.LDAP_REF_THROW) {