Hi, Max,

KrbAsRep.java
=> 1) the javadoc of its decrypt method only documents the first two arguments which seems incomplete. You meant to emphasize that there two are user-provided? Maybe you can just enhance the method description. In addition, only one of the keys and password arguments is used. Would it be clearer to separate this into two methods, one uses keys and the other uses password? => 2) one thing that I find somewhat confusing is the values of "creds". The old model sets all of its fields in the constructor. With the new model, creds is null until decrypt(...) is called.
KrbKdcReq.java
=> 1) for the if-block between line 229 and 232, is it possible for the KRB_ERR_RESPONSE_TOO_BIG when 'useTCP' is true? And don't you have to check ibuf again after line 231? => 2) I am open for a name change since the current naming seems to imply an inheritance relationship which you've changed.
KrbAsReqBuilder.java
=> 1) line 72 "one and only is non-null" may be clearer as "one of them must be null". => 2) keys(..) and pass(..) are initialization methods which must be called before getKeys(), right? Can you rename them so it's clearer? There is no checking in getKeys() and if called out of sequence, it looks to me that it'll error out w/ NPE since eType is still null.

Thanks,
Valerie

On 07/21/10 12:32, Valerie (Yu-Ching) Peng wrote:
On 06/13/10 08:02, Weijun Wang wrote:
Hi Valerie and Andrew

Please review the following webrev:

   http://cr.openjdk.java.net/~weijun/6960894/webrev.00

The major enhancement is KrbAsReqBuilder which generates AS-REQ, sends it, 
parses any response, and returns a Credentials object. The other big change is 
KrbKdcReq, it's no longer base class for KrbAsReq and KrbTgsReq, but mainly a 
vehicle for both kinds of KDC-REQ messages. Maybe it needs a name change?

Most other changes are about removing duplicate lines.

Thanks
Max

Begin forwarded message:

*Change Request ID*: 6960894
*Synopsis*: Better AS-REQ creation and processing


=== *Description* ============================================================
The current AS-REQ creation and processing implementation:

1. spread into multiple source files and have duplicate codes
2. cannot deal with PA-DATA in AS-REP
3. only use a single salt, and write it into PrincipalName permanently
4. generate too many secret keys and have no consistent way to clear them
5. does not handle the preferences of PA-ETYPE-INFO2, PA-ETYPE-INFO correctly



Reply via email to