On Mon, 2 Nov 2020 21:33:31 GMT, Weijun Wang <wei...@openjdk.org> wrote:

>>> 
>>> 
>>> Just curious, can the Java files be generated during the build process?
>> 
>> Hmm, maybe, by the java files, do you just mean PKCS11Constants class or 
>> more? I am not familiar with how to generate Java files during the build 
>> process, can you share some pointers? I can look into them for possible 
>> future enhancement.
>
>> > Just curious, can the Java files be generated during the build process?
>> 
>> Hmm, maybe, by the java files, do you just mean PKCS11Constants class or 
>> more? I am not familiar with how to generate Java files during the build 
>> process, can you share some pointers? I can look into them for possible 
>> future enhancement.
> 
> Well, any file that was a rewrite of its C sibling.
> 
> SunEC's finite field arithmetic code is generated in the build process. The 
> generation tool is 
> https://github.com/openjdk/jdk/blob/fd28aad72d3a13fbc2eb13293d40564e471414f3/make/jdk/src/classes/build/tools/intpoly/FieldGen.java#L35
>  and it's called by 
> https://github.com/openjdk/jdk/blob/1cb7df63e7015da568b67c55a7a4468500ea564d/make/modules/java.base/Gensrc.gmk#L113
>  and the files are generated in the `$BUILD_OUTPUT/support/gensrc` directory. 
> These files will be automatically merged with the human-written sources files 
> in `src` of the same package at build time.

I cannot add comments to unchanged lines in PKCS11Constants.java (there's no + 
sign on the line numbers), but the class-level comment (starting from line 50) 
can also be enhanced a little.

1. CK_SESSION_HANDLE appears twice.
2. The following appears in pkcs11t.h and I wonder if they can also be added 
here:
typedef CK_ULONG CK_OTP_PARAM_TYPE;
typedef CK_OTP_PARAM_TYPE CK_PARAM_TYPE; /* backward compatibility */
typedef CK_ULONG CK_GENERATOR_FUNCTION;
typedef CK_ULONG CK_JAVA_MIDP_SECURITY_DOMAIN;
typedef CK_ULONG CK_CERTIFICATE_CATEGORY;
typedef CK_ULONG CK_PROFILE_ID;
typedef CK_ULONG CK_PRF_DATA_TYPE;
typedef CK_MECHANISM_TYPE CK_SP800_108_PRF_TYPE;
typedef CK_ULONG CK_SP800_108_DKM_LENGTH_METHOD;
typedef CK_ULONG CK_X3DH_KDF_TYPE;
typedef CK_ULONG CK_X2RATCHET_KDF_TYPE;
typedef CK_ULONG CK_XEDDSA_HASH_TYPE;
I also found 2 bugs in pkcs11t.h. `CK_GCM_MESSAGE_PARAMS_PTR` and 
`CK_CCM_MESSAGE_PARAMS_PTR` are not defined as `CK_PTR` of their corresponding 
data types. Maybe you can report this to upstream?

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

PR: https://git.openjdk.java.net/jdk/pull/917

Reply via email to