On Mon, 4 Nov 2024 19:46:07 GMT, Xue-Lei Andrew Fan <xue...@openjdk.org> wrote:

>> Martin Balao has updated the pull request with a new target base due to a 
>> merge or a rebase. The pull request now contains eight commits:
>> 
>>  - Remove -Xdebug from commented-out debug command
>>    
>>    This is unnecessary, see 842d6329cf5a3da8df7eddb195b5fcb7baadbdc3.
>>  - Merge 'openjdk/master' into JDK-8315487
>>    
>>    Resolved conflicts:
>>      src/java.base/share/classes/java/security/Provider.java
>>      src/java.base/share/classes/javax/crypto/Cipher.java
>>      src/java.base/share/classes/sun/security/jca/ProviderList.java
>>      src/java.base/share/conf/security/java.security
>>      
>> src/java.security.jgss/share/classes/sun/security/jgss/wrapper/SunNativeProvider.java
>>    
>>    Additional fixes:
>>      src/java.base/share/classes/java/security/Security.java
>>        Import sun.security.jca.ProvidersFilter, since the sun.security.jca.*
>>        import was removed in c6f1d5f374bfa9bde75765391d5dae0e8e28b4ab.
>>      src/java.base/share/classes/sun/security/jca/GetInstance.java
>>        Adjust GetInstance::getCipherServices return type to 
>> Iterator<Service>.
>>      src/java.base/share/classes/sun/security/jca/ProvidersFilter.java
>>        Rename CipherServiceList to CipherServiceIterator in comment.
>>  - Minor changes to align with the JEP.
>>    
>>    Co-authored-by: Francisco Ferrari Bihurriet <fferr...@redhat.com>
>>    Co-authored-by: Martin Balao <mba...@redhat.com>
>>  - ProvidersFilterTest extended to cover all JCA service types.
>>    
>>    Co-authored-by: Francisco Ferrari Bihurriet <fferr...@redhat.com>
>>    Co-authored-by: Martin Balao <mba...@openjdk.org>
>>  - Support for cipher transformations and JEP alignment
>>    of the java.security documentation.
>>    
>>    Co-authored-by: Francisco Ferrari Bihurriet <fferr...@redhat.com>
>>    Co-authored-by: Martin Balao <mba...@redhat.com>
>>  - Copyright dates update.
>>  - More clear text in invalid pattern exception.
>>  - 8315487: Security Providers Filter
>>    
>>    Co-authored-by: Francisco Ferrari Bihurriet <fferr...@redhat.com>
>>    Co-authored-by: Martin Balao <mba...@redhat.com>
>
> This update is really too big to review in details.  There are 5512 lines 
> changed, 4881 ins and 631 del per the webrev data.  If I read the description 
> and code right, there are three types of update in this PR:
> 1. bug fixes of the current OpenJDK code.
> 2. A provider filter API design to check if a service is allowed in a certain 
> circumstances.
> 3. A provider filter implementation in java.security to perform the service 
> checking.
> 
> I may use multiple PR for this purpose:
> 1. Multiple pull requests to fix bugs.
> 2. Design a public API to check if a service is allowed and update the JDK 
> code accordingly.  A public API design will allow third party to define their 
> own service restriction policy, without depends on the java.security.
> 3. Implement the provider filter with java security property.
> 
> The 1st and 2nd one should be small enough, straightforward to implementation 
> and easy to integrate.  The 3rd one could big, but it will be an 
> implementation details, and it can even be optional.  As would make it easy 
> to review and backport.
> 
> Just for your reference.

Hi @XueleiFan,

Is not a goal of this proposal to allow different filter implementations, for 
this reason, there isn't a pluggable filter API design. The only publicly API 
exposed by the filter is the `jdk.security.providers.filter` security property, 
overridable through a system property with the same name. Any other APIs are 
for JCA internal use only. More details can be found in the [proposed JEP 
draft](https://openjdk.org/jeps/8325511).

We agree that this pull request is too large to review, and for this reason 
@martinuy has created [JDK-8345139: Fix bugs and inconsistencies in the 
Provider services map](https://bugs.openjdk.org/browse/JDK-8345139) and 
[JDK-8345221: Replace legacy with new Provider APIs in 
SunNativeGSS](https://bugs.openjdk.org/browse/JDK-8345221). We already moved 
changes from this pull request to 
[JDK-8345221](https://bugs.openjdk.org/browse/JDK-8345221 "Replace legacy with 
new Provider APIs in SunNativeGSS") (#22461), and we'll be moving changes to 
[JDK-8345139](https://bugs.openjdk.org/browse/JDK-8345139 "Fix bugs and 
inconsistencies in the Provider services map") in the coming days.

Unlike [JDK-8345221](https://bugs.openjdk.org/browse/JDK-8345221 "Replace 
legacy with new Provider APIs in SunNativeGSS"), 
[JDK-8345139](https://bugs.openjdk.org/browse/JDK-8345139 "Fix bugs and 
inconsistencies in the Provider services map") will be a dependency for this 
pull request. In order to minimize future conflicts, we'll wait for #15539 to 
be integrated. Then, we'll base 
[JDK-8345139](https://bugs.openjdk.org/browse/JDK-8345139 "Fix bugs and 
inconsistencies in the Provider services map") on HEAD code including it.

-------------

PR Comment: https://git.openjdk.org/jdk/pull/15539#issuecomment-2508434358

Reply via email to