[ 
https://issues.apache.org/jira/browse/DIRSERVER-2292?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15643731#comment-15643731
 ] 

Emmanuel Lécharny edited comment on DIRSERVER-2292 at 8/13/22 3:27 AM:
-----------------------------------------------------------------------

cngaepasswordmethod is

 

{noformat}
public ChangePasswordResult changePassword( String clientPrincipal, String 
oldPassword, String newPassword ) throws ChangePasswordException

{noformat}


inside that method it calls

{noformat}
AbstractPasswordMessage reply = sendAndReceiveChngPwdMsg( req, channel );

{noformat}


from {{sendAndReceiveChngPwdMsg}} it calls below
{{ChangePasswordDecoder.decode( repData, chngPwdChannel.isUseTcp() );}}

from that decode method
{noformat}

return ChangePasswordReply.decode( buf );

{noformat}

from the above decode method it calls
{noformat}

return new ChangePasswordReply( protocolVersion, applicationReply, 
privateMessage );

{noformat}


from that reply message
it does below 
{noformat}

ChangePasswordReply chngPwdReply = ( ChangePasswordReply ) reply;

KrbPriv replyPriv = chngPwdReply.getPrivateMessage();
// the same subKey present in ApReq is used for encrypting the KrbPriv present 
in reply
byte[] data = cipherTextHandler.decrypt( subKey, replyPriv.getEncPart(), 
KeyUsage.KRB_PRIV_ENC_PART_CHOSEN_KEY );
part = KerberosDecoder.decodeEncKrbPrivPart( data );

ChangePasswordResult result = new ChangePasswordResult( part.getUserData() );

{noformat}


was (Author: jayamali):
cngaepasswordmethod is
   public ChangePasswordResult changePassword( String clientPrincipal, String 
oldPassword, String newPassword ) throws ChangePasswordException
inside that method it calls 
 AbstractPasswordMessage reply = sendAndReceiveChngPwdMsg( req, channel );
 from sendAndReceiveChngPwdMsg it calls below
ChangePasswordDecoder.decode( repData, chngPwdChannel.isUseTcp() );

from that decode method
 return ChangePasswordReply.decode( buf );

from the above decode method it calls
 return new ChangePasswordReply( protocolVersion, applicationReply, 
privateMessage );
from that reply message
it does below 
 ChangePasswordReply chngPwdReply = ( ChangePasswordReply ) reply;

            KrbPriv replyPriv = chngPwdReply.getPrivateMessage();
            // the same subKey present in ApReq is used for encrypting the 
KrbPriv present in reply
            byte[] data = cipherTextHandler.decrypt( subKey, 
replyPriv.getEncPart(), KeyUsage.KRB_PRIV_ENC_PART_CHOSEN_KEY );
            part = KerberosDecoder.decodeEncKrbPrivPart( data );
            
            ChangePasswordResult result = new ChangePasswordResult( 
part.getUserData() );

> org.apache.directory.api.asn1.DecoderException: 
> ERR_00001_BAD_TRANSITION_FROM_STATE Bad transition from state START_STATE, 
> tag 0x6F 
> ------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: DIRSERVER-2292
>                 URL: https://issues.apache.org/jira/browse/DIRSERVER-2292
>             Project: Directory ApacheDS
>          Issue Type: Bug
>          Components: changepw
>    Affects Versions: 2.0.0-M23
>            Reporter: Jayamali Chathurika Jayawardhana
>            Priority: Major
>             Fix For: 2.0.0-M23
>
>         Attachments: thirdPartyPatch-master.zip
>
>
> When i try to change the password it gives above exception and then returns 
> ChangePasswordResult with error code 4.But message returned by 
> ChangePasswordResult  is not a readable string 
> I need to see a meaningful error message



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to